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.4.2
2.4.3 is mostly a bug-fix release.
Server / General
Changes affecting players (supplied rulesets)
- When units were moved in the aftermath of a broken alliance, the client could crash when manipulating those units. The server no longer sends unhelpful information which could trigger the crash in old clients, and the client is robust against this behaviour from old servers.
- The server could leak information about how many units were in an enemy city, which a modified client could use to cheat.
- Some players could be accidentally given free technologies at game start due to uninitialized memory. This was more likely to be noticeable with multiplayer games; it did not generally happen to the human player in a single-player game.
- In team games with the server setting 'team_pooled_research' disabled, the server could crash, and team members' research goals still affected each other.
- A player unfortunate enough to lose their first city before acquiring their second would not get a free Palace in their second city. Also, non-barbarian players now get their free buildings if they acquire their first city by conquering or diplomacy rather than founding it themselves.
- Games with large numbers of units and/or cities in their history (tens of thousands) could crash.
- When a caravan arrived in a coastal city on a ship, the caravan arrival dialog was not being popped up.
- When an attack can't be carried out, a reason is now given.
- A unit could not conquer a city while carrying other units (this could happen with a Mech. Inf. carrying missiles in the experimental ruleset).
- Fix assertion failures from a rare case of first contact between AIs triggered by unit movement from alliance breakup.
- When a trade route is canceled due to a better one being established, the player whose action initiated this is now notified.
- Diplomats/Spies could not steal Future Tech.
- The multiplayer ruleset now defaults to an isometric topology, to match the client default.
- civ1/civ2: Veteran Diplomats were vastly overpowered. Reduced their relative strength back to the level they had in 2.3.x.
- civ2: Food upkeep for Settlers reduced from 3 to 2 under Communist and Fundamentalist governments.
- civ2: Barbarian players without a capital no longer suffer from crippling (or any) shield waste.
- Prevent Nuclear units in supplied rulesets from gaining useless veteran levels from Airports.
- Barbarian and civil war leaders are now reported with the correct title for their gender (previously they were always created as female).
Changes affecting other rulesets / modders
- Fixed suppression of veteran information for units with the 'NoVeteran' flag. This could affect rulesets with units which can be trained as veteran but can't gain veterancy through experience.
- Fix trouble loading a savefile from a ruleset where the maximum number of veteran levels for a unit has decreased in more recent versions.
- Enable display of mines on all kinds of terrain in all supplied tilesets, to support modpacks with different mining rules from the supplied rulesets (for instance civ2civ3, where Tundra can be mined).
- In rulesets with self root_req technologies, technology loss due to tech upkeep can no longer cause loss of such technologies.
- Rulesets containing unit classes other than land units which are subject to zones of control could cause erroneous assertion failures.
- The TerrainClass, Base, and CityTile requirement types with Adjacent/CAdjacent ranges were not checking the center tile. Now they do, for consistency with other requirement types. This has no effect on the supplied rulesets.
- Units could be left stranded in non-native terrain such as ocean, if they moved onto a tile containing a suitable transport that was itself being transported (loading onto such transports not being permitted). For instance, in the civ2civ3 ruleset, troops moving onto a Helicopter on a Carrier on the ocean could be left dangling over the ocean when the Carrier moved on.
- All attempts to enforce restrictions on the depth and type of nested transport units have been removed, as they were broken. 2.5.x will enforce these restrictions properly.
- In a ruleset where a nation's first city is granted a free great wonder, clients would not be reliably updated with its effects.
- If city removal caused removal of infrastructure (such as roads in a disbanded ocean city), this would not reliably be sent to clients.
- A base added to a tile via Lua script would not reliably be sent to clients.
- Calling (Tile):has_base() in Lua with a nonexistent base name could crash the server.
- Fix trouble with changing an existing tile label on a tile.
- Fix trouble loading a pre-2.3 savefile from a ruleset which has since had citizen nationality enabled.
- Fix trouble in the client help for nations with an explicit rule_name.
- Extra sanity checking when loading rulesets.
Changes affecting server operators
- A game with alternating movement (via the phasemode setting) could, when saved and reloaded, give some players a second chance to move within the same turn.
- Loading xz-compressed savegames could fail.
- The '/write' command wrote out scripts some of whose settings did not take effect, because the 'rulesetdir' command at the end reset settings set earlier in the script.
- A server started with the -e option erroneously sent a message to its metaserver claiming that it would restart soon rather than shutting down.
- Failure to set up the multicast socket for LAN game announcements could cause trouble later.
- When the server was in edit mode, detached clients could receive unwanted packets and emit warnings.
- The script for creation of MySQL authentication databases no longer uses syntax incompatible with recent MySQL/MariaDB.
- Newly created savegames contain information to speed up creation of a scenario list in future versions.
- Fix a very minor memory leak in the island-based map generator.
- Some optimization for speed, particularly on the server, some as a result of profiling analysis.
- Fix logging in a rare situation.
- Various internal changes which should only affect developers.
- Fix a crash related to AI diplomacy in a game with alternating phases, and possibly other similar issues.
- Fix broken AI evaluation of government benefits.
- The AI now fears transport units which can carry any units which can take over cities (such as Carriers which can carry Helicopters), rather than land units.
- Fixes to the AI's ability to find a beachhead to land troops.
- When the AI lost control of a cargo unit, any ferry unit assigned to it could fail to be freed for another purpose, possibly stimulating excessive AI boat production.
- The AI now counts the pillaging of any fortress it owns against the responsible player, even if that caused it to lose the territory on which the fortress stood.
- The default AI no longer attempts to read the mind of its ally concerning intentions to declare war -- this could go wrong for human allies, or in principle for custom AI implementations.
- Fix a case where an AI sea bodyguard could abandon its charge after meeting it. This doesn't affect the supplied rulesets.
- Allow the AI to consider building-specific benefits with some ruleset constructs (which are not used in the supplied ruleset).
- Some fixes to the AI's evaluation of benefits in rulesets using negated requirements. Does not affect the supplied rulesets.
- The AI's evaluation of improvement benefits was broken in the presence of ruleset effect clauses with zero value. (Should not affect most rulesets, but may sometimes occur when testing a new ruleset.)
- Goto pathfinding no longer treats transports with orders as potential refuel points -- for instance, an aircraft will not plan to land on a Carrier that's en route to somewhere else and will likely not be there any more when the aircraft arrives.
- Fix some possible goto/pathfinding issues for units with more than one turn of fuel, such as bombers.
- Research rates that are negative (due to tech upkeep) or very large were not sent to the client correctly and could cause warnings. Both client and server must be upgraded for this fix to be fully effective.
- Improvements to the breakdown of city output in city dialog info popups:
- If a city's trade is restricted by the 'notradesize'/'fulltradesize' settings, this size penalty is now displayed separately, instead of being lumped in confusingly with regular corruption.
- If the client can't correctly account for city output (may happen with modpacks), it now acknowledges this rather than displaying sums that don't add up.
- The client no longer overrides link text in messages from the server, avoiding nonsensical messages like "You already had a city called Helsinki. The city was renamed to Helsinki."
- Preparing the list of scenarios can take a while, so the client now displays a message while that's going on.
- Menu music wasn't being played after leaving a game and returning to the main menu.
- Copying and pasting in the editor caused spurious/mangled tile labels to appear.
- The editor spuriously prevented setting the veteran level of units with the NoVeteran flag.
- (Gtk) The apostrophe key now focuses the chatline in pregame (as it already did during play).
- (Gtk) The client now quits more cleanly in some circumstances.
- (Gtk) Fix an assertion failure on quit after opening the Lua console.
- (Gtk2) Minor improvement to error reporting when loading graphics fails.
- (Gtk3) Clicking on specialists in the city dialog did the wrong thing.
- (Gtk3) Fix some causes of slowness with the Gtk3 client and its default theme.
- (Gtk3) Client erroneously claimed to support XPM format, meaning it could potentially choke with modpacks containing XPM files (although it's unlikely such modpacks exist).
- (Gtk3) Fix some minor cosmetic issues.
- (SDL) Display real names of veteran levels instead of always saying 'veteran'.
- (SDL) Fix unclean shutdown.
- The modpack installer could become unstable due to incorrect thread usage.
Help / Documentation
- The documentation of the --scenarios option was completely wrong.
- Fix generated help text for negated requirements; these were incorrect, for instance for the Aqueduct buildings in the civ2civ3 ruleset.
- Autogenerated help for governments now documents non-integer upkeep factors, and documents veteran bonuses better.
- Miscellaneous other improvements to in-game text and user documentation.
- Miscellaneous changes to developer/ruleset docs.
- Invisible changes to assist localization.
- Updated translations:
- Complete translations: French, Polish, British English, Spanish, Russian.
- Incomplete translations: Catalan (>99.9%), Finnish (97.3%), Scottish Gaelic (95.8%), German (95.8%).
- Building with --enable-shared could create an executable which failed for lack of a readline symbol. This trouble could also show up at build time using the 'gold' linker.
- Building could fail to link against libintl when needed.
- Building with a recent libtool could fail with Lua errors.
- Add a configure check for _setjmp(); without this, building failed for the Haiku platform.
- configure now correctly checks for a minimum Curl version of 7.9.7.
- Clarify configure's error message when no client can be built.
- Fix various compiler warnings, many detected by the Clang toolchain.
See NEWS for older lists of changes.