It is nice to see that the game has been changed back so that, when you conquer a core world that has a shipyard, the ownership of the shipyard switches to the conquering civ. However, it exposes an old issue with respect to where the enemy ships that were in the shipyard go. Apparently, the logic does not look to see what is in the cell to which it is going to move the ships. If you have ships already on the target cell, the logic stacks the enemy ships in the same cell (which is the same issue I recently described with subspace gates).
The first screen snapshot below was taken right after I conquered Brachium II. Notice that I have a fleet of 6 ships to the right of Brachium II with the red icon above it indicating that there is a stack of ships on that cell.
The second screen snapshot shows that the other ship in the stack is a Torian ship which was ejected from the shipyard when I conquered Brachium II. This results in ships from 2 different civs that are at war with each other occupying the same cell.
I suggest that the logic that ejects the ship(s) from the shipyard be modified to verify that the target cell is empty (no planets, shipyards, starbases, enemy ships, etc.). If it is not, then check the next cell moving clockwise around the shipyard. Continue with this logic until an empty cell is found or all 6 cells have been checked and found to not be empty. If an empty cell has not been found, then move out one cell and continue checking in a clockwise manner. This should eventually allow the logic to find an empty cell in which to place the ejected ships.