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.1[edit | edit source]
2.4.2 is mostly a bug-fix release; it includes an important fix to air unit pathfinding, as well as fixes for server and client crashes.
Server / general[edit | edit source]
Changes affecting players (supplied rulesets)[edit | edit source]
- Pathfinding (goto) fixes for aerial units:
- Units could fail to refuel and die -- this bug was introduced in 2.4.0-RC2.
- Units could take unnecessary detours in the presence of refuel points.
- Possible slowdown in rare circumstances where no route was possible.
- Large map updates (such as at game end, or when gaining the Apollo Program) could lead to cut connections, particularly on Windows. To avoid this, map updates are now compressed over the network; as well as fixing cut connections, this may speed up network play, although the visual effect of the update is now choppier.
- Fix a server crash if a transport died due to its passenger's action (this could happen in the civ1 ruleset).
- If one of your diplomatic units was on the same tile as an allied player's unit/city and a second diplomat of yours acted against your ally, your two diplomats would do battle with each other.
- A player's view of fogged borders could fail to be updated correctly in rare circumstances, such as paratroopers dropping to their doom.
- Fix unlikely possibility of loot from a very large conquered city causing the victim's treasury to go negative.
- The multiplayer/experimental rulesets could fail to load if a development version of Freeciv was already installed.
Changes affecting other rulesets / modders[edit | edit source]
- Various fixes on server and client to handle rulesets with 'negated' requirements better (the supplied rulesets don't use these). This mainly corrects misleading online help for buildings, notably in the 'civ2civ3' ruleset.
- Some improved handling of rulesets using technology root_reqs (although problems remain):
- Players can now select technology goals requiring reachable but not-yet-known root_reqs.
- The default AI now understands this.
- The built-in help no longer claims that such technologies are unreachable.
- The "Show All" button in the client technology tree now toggles visibility of technology trees that the player can't reach (such as those rooted at nation-specific technologies).
- Fix a bogus sanity check warning for units transported over non-native terrain.
- The map editor vision tool now always refreshes a player's knowledge to match reality.
- The "+/-" buttons that appear in the city dialog in edit mode have been removed, as they have never worked.
- Fixes and improvements in ruleset checking:
- Allow requirement lists to refer to multiple nations.
- Fix possible random spurious rejection of improvement requirement lists.
- Check whether 'survives' requirement flags are valid.
- Fix minor bugs in support for Continent/City-ranged building requirements. It's not clear what exactly was affected, but it's likely to be client help and the AI rather than the game engine.
- Warn when loading a ruleset that uses the 'negated' field in requirements in effects.ruleset, as Freeciv's handling of such constructs is known to be buggy. This does not change Freeciv's behaviour. None of the supplied rulesets use this construct.
- Nevertheless, a few of the known bugs with these constructs have been fixed. More remain.
Changes affecting server operators[edit | edit source]
- Clients connected to an active server but not to any player could crash, due to the server erroneously sending them information about combat. As well as the crash, this was an information leak; the server no longer sends this information.
- Removal of a player (or, occasionally, quitting the server) could cause client crashes due to old references to that player in private maps.
- A malformed building sabotage request from a client could cause a server crash. (No standard version of the client is known to send such malformed requests.)
- Nation names sent to the metaserver could become corrupted.
- Reduce the amount of network-related spew in the -d 2 logging level.
- Fix spurious error messages when LAN announcements are disabled with -A none.
- Fix an unlikely possibility of network buffer overflow leading to cut connections in the absence of congestion. This was most likely to occur if the server was run with FREECIV_COMPRESSION_LEVEL=0 for some reason.
Tools[edit | edit source]
- The GUI toolkit of the 'freeciv-modpack' utility in the Gtk Windows installer is now consistent with the client version. This should make little difference beyond a possibly smaller installer size.
- Bugfixes and small improvements to the 'freeciv-manual' utility. (Note, however, that it remains of limited use outside the development team.)
- Add a minimal help page about governments.
- Handle negated improvement requirements.
- The --ruleset option was ignored; documentation was always generated for the default ruleset.
- 'freeciv-modpack' and 'freeciv-manual' now report an error for unknown command-line options.
Low-level changes[edit | edit source]
Changes that could affect any part or use of Freeciv:
- Stack usage has been reduced in some circumstances.
- Various internal changes which should only affect developers.
AI[edit | edit source]
- The AI now only proposes a ceasefire on first contact if they're at war with you (they could start at peace due to mutual alliances).
- Fix AI evaluation of desirability of buildings affecting maximum city size; it could mistakenly prioritise buildings which would reduce the maximum size when already at the size limit. Does not affect supplied rulesets.
- When declaring war on you to due to your provocation, the AI sent you an inappropriate chat message.
- For AI developers: fix possible trouble on first contact between two AIs of different types. (This doesn't affect games which only use the default AI.)
Clients[edit | edit source]
- The client could fail to start a local game if another client was running one, or an old server was still running. The client was failing to correctly choose a free port for its spawned server.
- Locally started games are no longer announced on the local LAN (since they would not be connectable). There's some hope that this will also reduce the number of prompts from the Mac OS X firewall.
- The "Diplomat/Spy Actions" action (against an allied victim on the same tile) usually did not work at all.
- Units could remain in the focus queue after having been given orders.
- Middle-clicking on a unit with "connect" orders now displays its path correctly.
- An attempt to set a goto path with the end point also being a waypoint was silently ignored.
- Minor optimisation in the City Governor.
- It is hoped that this will fix reported stack overflows in Windows clients ( ), although we're not positive this is the root cause.
- The Cities report now explains what the number in parentheses in the trade route column means (it's the total trade revenue).
- (Gtk) Pressing the Tab key in the chatline could cause the client to crash in games where players had been removed.
- (Gtk) The Units report now has explanatory tooltips on its column headers, and includes the total number of upgradable units.
- (Gtk3) Fix a resource leak.
- (SDL) Clicking on a link in the help for an improvement with a 'negated' requirement could cause the client to crash. (The supplied rulesets have no such requirements, but the 'civ2civ3' ruleset does.)
- (Xaw) It was not possible to direct a spy to sabotage the first building in the ruleset (Airport in the default ruleset).
Tilesets / Art[edit | edit source]
- City specialists (entertainers/scientists/taxmen) now have distinct icons in the city dialog and the tax rate display.
- Fix some minor glitches in the Amplio2 city graphics.
Help / Documentation[edit | edit source]
- The generation of online help for governments has been reworked to fix missing and misleading information with some rulesets. In particular, the civ2 ruleset had incorrect information about food upkeep (and many other rulesets simply omitted this information), and the Alien World ruleset's help for tax rates and civ2civ3's help for corruption was incorrect.
- Correctly describe the behaviour of the FREECIV_*PATH environment variables in the man pages.
- Miscellaneous improvements to developer/ruleset docs.
Translations[edit | edit source]
- Updated translations:
- Complete translations: Spanish, Russian, Catalan, Polish, British English.
- Incomplete translations: German (95%).
Build/portability[edit | edit source]
- Freeciv programs could be built with the wrong main(); programs would build but do the wrong thing. Originally reported on Mac OS X.
- Some files related to Windows installer builds were omitted from the 2.4.1 tarballs.
- Added Appdata files for Freeciv programs.
- Fix a complaint from automake-ng.
- Do not distribute the generated Qt client file meta_fc_client.cpp, as it is unlikely to be compatible with everyone's system. (Only affects the experimental Qt client.)
- Fix a build failure building from pristine source (e.g., svn; this does not affect normal building from the distributed tarballs): failure to run libtoolize before autoconf could cause trouble.
- Fix some compiler warnings from the clang toolchain, and suppress others. (Other such warnings remain.)
See NEWS for older lists of changes.