See the full ChangeLog in the source for a comprehensive list of all changes.
Download links for older releases can be found in the download archive.
WHAT'S CHANGED SINCE 2.5.1
2.5.2 is a bugfix release. In particular, there have been many improvements and bugfixes to the new Qt client.
Server / General
Changes affecting players (supplied rulesets)
- A spaceship part would be lost if the relevant player was not logged into the server during the turn when it was completed. The part would still count towards the maximum, so this could prevent spaceship completion.
- Map generation would frequently fail ("Cannot create suitable map with given settings") even with the default settings and not be retried. After the fix it's still possible for the retry to fail, but it should be much less likely.
- Loading a previously saved game in 'xz' format could fail due to low memory usage limits.
- In the multiplayer ruleset, Darwin's Voyage gave 4 techs instead of 2, and would yield more techs if destroyed and rebuilt.
- The names of the free advances granted from certain buildings (e.g., Darwin's Voyage) or technologies (e.g., Philosophy) were not announced. Also, embassies are now more consistently notified of such free techs.
- Fixed causes of spurious 'ghost' units visible in the client in certain circumstances:
- After an alliance is canceled, if a third nation's units were visible in cities.
- If a unit ever 'teleported' across the map.
- Fix minor bugs when automatically canceling alliances with two allies whose mutual ceasefire had run out:
- A senate could spuriously prevent the automatic cancelation of an alliance with one of the players.
- Your resulting armistice with one of the players could be one turn shorter than the other.
- With the setting 'citymindist' set to 1 (as it is by default in the civ1 ruleset), units whose location was no longer tenable due to loss of an adjacent city (such as boats relying on that city for access to water) were not being correctly disbanded, leading to assertion failures.
- Fixes to historian's reports:
- The report could be truncated for a large number of players.
- First report occurs at turn 20, not 21.
- In games with 'phasemode' set for alternating movement, city workers could fail to be auto-arranged often enough.
- Immediately after loading a savegame, some city properties whose value was affected by trade partners could possibly be incorrect, although this would quickly correct itself. In particular, in rulesets with illness, the client's display of illness could be slightly inaccurate after loading a savegame. Gameplay was not affected in this specific case.
- Loading a game with multiple units of a type that is supposed to be unique now gives a warning. Such savegames can exist due to bugs in previous versions.
- Nations that ceased to exist with a revolution in progress could later be announced to have completed that revolution, causing trouble.
- Fixes to automatic nation and leader name selection:
- A barbarian player could end up with a blank leader name in rare circumstances.
- Slightly reduced the chance that an automatically created player ends up with a placeholder name like "Player no. 3".
- When a nation is assigned to a player based on their username, choose randomly if more than one nation is eligible.
Changes affecting other rulesets / modders
- Scenarios containing generated huts no longer acquire more and more huts every time they are loaded and re-saved.
- Fix "error restoring 'generator'" message when loading some scenarios.
- Random number generator state is no longer added when re-saving a scenario which didn't save it (such as any of the supplied scenarios). Newly created scenarios still save randomness state unless the file is edited by hand.
- Do not save an empty description string if the scenario has none.
- Fix a case where a Lua script destroying a city could lead to a crash.
- Fix possible trouble with city-building units that were not also workers.
- A line at the end of a ruleset file without a final newline is completely ignored. Warn when this happens.
- In rulesets with units with large movement rates, and/or a large number of move_fragments, such units could appear in the client to have fewer moves than expected. Both server and client must be upgraded to benefit from this fix.
- The editor now permits units to be given more moves than their base move rate. Previously, this could have prevented editing units that had extra moves from effects or veterancy.
- Extra sanity checking when loading rulesets.
Changes affecting server operators
- The server now prints the network port it's listening on when it starts up.
- Fix incorrect memory management in builds that don't use getaddrinfo() (such as the standard Windows builds). This may fix some crashes and other weirdness in such builds.
- Fix some warnings like "Trying to put 0.000510 with factor 1000000 in 32 bits; it will result 0.000509 at receiving side."
- Better error messages for network errors when starting the server.
- Some optimizations for speed.
- Minor memory leak fixes.
- Various internal changes which should only affect developers.
- An AI player will now look more unfavorably on a declaration of war from a player with whom they have ever had a peace or alliance. (Code was already present but ineffective due to a bug.)
- AI now considers another player with an armistice to be peaceful where it didn't before. This affects diplomacy and city placement.
- The 'Novice' AI level was unintentionally less generous when negotiating treaties than the default 'Easy' level.
- The AI no longer assigns an unbounded number of units to defend a city. Previously there could be escalation where each AI would build more and more military units and assign them as defenders to counteract the perceived threat from the other's units built in the same way.
- Allied passengers on an AI transport could be activated during that transport's turn. This could lead to units acting out of turn, and to worse trouble, particularly if the cargo and transport were of different AI types.
- The AI now values Marco Polo's Embassy more, and takes into account the number of new contacts it would give rather than just the total number of players.
- A threaded AI player's autosettlers could build terrain improvements that it had no use for (such as Fortresses).
- Improve handling of failure to start a server:
- Don't hang forever if it can't bind any ports for some reason.
- Better error reporting.
- The city dialog's pollution breakdown was inconsistent with the overall figure for cities in disorder -- it would erroneously claim there was no pollution.
- The city size on the main map is now drawn in a color that contrasts with the player color. This should improve visibility with colors like yellow, particularly in the Qt and SDL clients.
- Unit upkeep icons in city dialog were truncated / unclickable in some tilesets, such as Trident, in some clients.
- Fix sensitivity of "cancel pact" buttons in situations such as after the player had died. (It wasn't really possible for a dead player to cancel a pact.)
- Messages about errors with a player's selected nation are now displayed by default. This change will likely not take effect on existing installations, where the previous defaults have been saved into the client's configuration file.
- The client's UI now more accurately reflects when the server is still busy with turn and phase change activities (hourglass, sensitivity of Turn Done button, etc).
- (Gtk) Avoid a client crash on startup if no tileset is suitable for the selected ruleset, or if a tileset has errors.
- (Gtk) Fix an issue where the 'Airlift' button could be sensitive in the unlikely event of the player having no cities.
- (Gtk) Fix some minor resource leaks.
- (Gtk) Fix "GtkDialog mapped without a transient parent" warnings on the console.
- (Gtk) Avoid console warnings from vote bar on small screens.
- (Gtk3) When loading the Freeciv theme, or switching to another, parts of the old theme (initially, the system theme) could still be used, leading to incorrect display.
- (Gtk3) Make the government menu icons visible with more versions of Gtk.
- (Gtk3) Remove the option "Better fog-of-war drawing", as it did nothing in this client.
- (Gtk3) When the client was run for the first time, a changed setting for "Popup tech help when gained" was not migrated from the Gtk2 client.
- (Gtk3) Tweak city dialog when on very small screens.
- (Qt) There have been too many improvements and bugfixes to the Qt client to list them individually. Highlights:
- Add mouse + modifier shortcuts to main map view similar to Gtk client: append focus unit, quickselect land/sea units, wake up sentries, show/hide/adjust city workers, copy/paste city production.
- Ctrl+left-click on a city changes production from the map map; Ctrl+Shift+left-click additionally buys it immediately.
- Ctrl+Space now brings up a dialog to select between units on the tile under the mouse cursor. This allows quick selection of a unit in a city.
- Add keyboardless goto.
- Add controls to choose ruleset, number of players, and AI level when starting a game.
- More control over when client options are saved.
- Hovering over an item when choosing city production now shows help in a tooltip.
- The Science report now has tooltips describing advances and what they enable. Right-clicking on an item will take you to the full help for it.
- Right-clicking on a player in the nations report now starts a meeting with them.
- After closing a diplomacy dialog with a player could prevent ever meeting with that player again.
- New unit selection filter option to choose only units with both full hitpoints and movement points.
- The unit selection filter for full MP could omit units with movement bonuses.
- Double-clicking a governor preset in the city dialog now enables the governor.
- Add missing option to explode nuclear unit without attacking.
- Fix fogged tiles not being drawn in certain tilesets, such as hex2t and isophex.
- Fix connecting to network games which require authentication.
- Various other fixes for network games.
- Information about other players' technologies displayed on the Players report could be wrong.
- "Go And Build City" order was unavailable if a unit could not build a city at its current location.
- The client could crash while the 'disband' dialog was displayed.
- Fix trouble with overview map when changing view (disconnect/reconnect, observing a different player, etc).
- Fix various crashes with certain dialogs/views open during a turn change.
- Fix trouble when observing or connecting to an ended game.
- Selecting multiple units could focus the wrong unit.
- Chat and messages could be delayed or wrong in some circumstances.
- Player names in chat output could be displayed incorrectly.
- The chat widget did not use the configured font.
- The chat and message widgets can now be minimized by right-clicking on their buttons.
- Chat and messages view proportions are now saved and restored, and other tweaks.
- Chat window now always scrolls to bottom on new input.
- Tweak layout of main map view: display research progress and turn/gold at top left, move minimap to bottom right.
- The City and Player reports now default to more sensible column widths.
- Miscellaneous other fixes: crashes, assertion failures, visual glitches, other robustness.
- (SDL) Fix a crash when a research target is not set.
- (SDL) Fix some possible assertion failures / crashes.
- (SDL) Stop inviting player to end turn once they have done so and are waiting for others.
- (SDL) Make count of items in city worklist consistent with worklist display.
- (SDL) Don't display "0%" progress for Coinage in worklist view.
Tilesets / Art
- Minor updates to trident tileset: glacier and tundra blend better, plus minor glitch fixes.
- Maglev graphics are now actually displayed in the isophex tileset.
- Amplio2 Fort now looks more like a wooden structure.
- All supplied tilesets now have a distinct unit activity icon for the 'convert' action (added to hex2t, isotrident, and isophex).
Help / Documentation
- The help for units in the supplied rulesets didn't always describe special-case combat bonuses between specific units; for instance, the help for Pikemen didn't explain why they are better than Phalanx. This was a regression from 2.4.
- Miscellaneous improvements to in-game text and user documentation.
- Miscellaneous changes to developer/ruleset docs.
- Tidy up licensing statements.
- Invisible changes to assist localization.
- Updated translations:
- Complete translations: Russian, French, Catalan, Spanish, British English.
- Incomplete translations: Finnish (100% core, 87% nations), Polish (96.4% core, 100% nations).
- Fix various compiler warnings, including warnings from Clang 3.7 and GCC 4.2.
- Disable some compiler warnings from normal builds without --enable-debug that remain unfixed due to coding policy.
- Fix spurious error 'unrecognized command line option "-Wno-tautological-compare"' from GCC when other errors occurred.
- Try using pkg-config to find MagickWand. Fixes auto-detection on Debian Stretch.
- Fix a cause of configure bombing out when cross-compiling.
- Fix a possible issue cross-compiling the Gtk2 client.
- Fix a possible issue picking up the wrong version of SDL headers, or not finding them at all.
- Revert a change that 2.5.1 made to Qt5 detection ( ); it was unnecessary, and introduced breakage.
- Correctly detect if the system Curl version is too low.
- Windows installer builds now include the fc_config.h that was used to build them, to record how they were built.
See NEWS for older lists of changes.