WARNING: This is a tentative list, by no means exhaustive. See the full ChangeLog contained with 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.3.4Edit
2.3.5 is a bug-fix release; among other things, it includes fixes for server and client crashes.
Server / GeneralEdit
Changes affecting players (supplied rulesets)Edit
- Pathfinding (goto) fixes:
- Aerial units would stop to refuel at any city or airbase they passed through, regardless of need.
- Aerial units could take unnecessary detours in the presence of refuel points.
- Pathfinding now tends to take a more direct route for the last step of a path when it doesn't matter how many move points are left (e.g., an attack). Previously it could prioritise movement points and leave the attacker in a vulnerable position. The previous behavior can be forced using waypoints, if desired.
- Auto-settler units would revert to manual control when moving between adjacent landmasses through a transport.
- Nuclear units no longer autoattack.
- If an undisbandable unit was teleported to safety from a destroyed transport and immediately died (for instance due to auto-attack), the server could crash.
- 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.
- In rulesets with gold upkeep for units, in an extreme financial crisis, the server could crash due to attempting to sell a transported unit after its transport had already been sold, drowning it. Now the cargo will be sold first.
- When a city chose food-consuming units to disband due to starvation, it could choose units not actually consuming food currently, for instance due to government-type related free upkeep. For instance this could lead to cities disbanding all their units in the 'civ2-3' ruleset.
- If a city becomes landlocked due to terrain change, its ocean-requiring buildings should now correctly be sold.
- Bug fix: during long activities, such as a single Engineer unit transforming land to or from ocean, a network value could overflow, causing the client's display of remaining time to become too large. Both client and server must be upgraded for this fix to be effective.
- When 'tinyisles' was disabled, the map generator was overenthusiastic about removing 1x1 islands from the map; it could also remove peninsulas from continents in some circumstances.
- Bug fix: random connection loss could occur due to disagreement between client and server about the interpretation of certain compressed network packets. This only affects a very few exact packet sizes, so you'd have to be quite unlucky to run into it; it is most likely to manifest when the client first connects to the server, in which case only the server needs upgrading to avoid the issue.
- The multiplayer/experimental rulesets could fail to load if a development version of Freeciv was already installed.
Changes affecting other rulesets / moddersEdit
- Prevent units being spawned to terrain to which they are not native:
- Settlers and mercenaries from huts
- In rulesets with ocean cities, fix a bug where those cities could not claim oceanic territory adjacent to land.
- Fix a bogus sanity check warning for units transported over non-native terrain.
- Ruleset sanity checking could erroneously emit warnings about valid effects combinations if negated requirements were used (such as a base that could not be built on either mountains or hills). In addition, warnings are now emitted if a requirement and its exact negative are simultaneously specified, as this is probably a mistake in the ruleset.
- 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.
- Remove some facilities that have never worked from the map editor:
- The player vision control in the tile edit dialog.
- The "+/-" buttons in the city dialog.
Changes affecting server operatorsEdit
- Do not prohibit loading a savegame where the number of surviving players has fallen below the server's 'minplayers' setting.
- Bug fixes to the 'maxplayers' setting:
- When near the limit of 128 total players, there could be trouble at the point of needing to create a new civil war or barbarian player.
- 'maxplayers' could be set incorrectly when loading a saved game, leading to errors later.
- In the case where the game cannot start due to there being insufficient nations for all players, ensure everyone is notified.
- The server could crash if '/remove' was used in the pre-game.
- Bug fix: enabling 'scorelog' twice (for instance by loading a game with it enabled to a restarted server) caused an assertion failure.
- Fix some possible trouble when loading a new ruleset after the server has started.
- Fail more gracefully if a map is generated with no land for players to start on.
- 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.)
- 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.
- Stop an internal counter in savefiles increasing needlessly for sentried units. This should have no functional effect.
- Bring the included Lua 5.1 up to date with the latest patch (patch 2).
- Fix some recent regressions in the 'freeciv-manual' utility. (Note, however, that it still has large gaps and is of limited use outside the development team.)
- Broken server settings documentation.
- Potential trouble finding the default ruleset definitions.
- 'freeciv-modpack' and 'freeciv-manual' now report an error for unknown command-line options.
Changes that could affect any part or use of Freeciv:
- Fix some bugs in Freeciv's inferences about ruleset effects in the absence of complete information. These are low-level changes whose effects are hard to quantify, but should be more correct; they are most likely to affect client behaviour and the AI. These only manifest in the presence of a particular ruleset definition ('negated' requirements) which is not used in any of the supplied rulesets.
- Stack usage has been reduced in some circumstances.
- Various internal changes which should only affect developers.
- When assessing the threat from enemy units near cities, fear any unit that can take over a city (such as helicopters), rather than just land units.
- Remove some assumptions about units' ability to attack from/to non-native terrain. Most likely to make a difference with unusual rulesets.
- When evaluating units' defense ability, all units were assumed to get a defense bonus from terrain, rather than just units with the TerrainDefense flag.
- The AI no longer hardcodes a food_cost of 2 when assessing potential city sites. This makes no difference to its behaviour with the supplied rulesets.
- Fixes for some server crashes:
- The server could crash if an AI caravan became homeless. Such caravans now look for a new home city before they do anything else.
- The server could crash when a barbarian leader died.
- When declaring war on you to due to your provocation, the AI sent you an inappropriate chat message.
- 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.
- Speed up movement drawing of city-building units (the client was redrawing more than necessary).
- 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.
- Fix a possible crash that could occur in circumstances such as viewing the terrain activity popup.
- Bug fix: on new installations, the client could fail to pick the highest-priority tileset; for instance, if both 'amplio' and 'amplio2' were installed, it could pick 'amplio' instead of 'amplio2' despite the latter's higher priority.
- (Gtk) Fix several possible crashes associated with pressing the Tab key in the chatline, and some other issues with non-ASCII characters and tab completion.
- The Gtk clients could fail to wait for their internal game server to start fully after front page buttons like 'Load Saved Game' were pressed, leading to symptoms such as '/load: Name "./citizens.sav.gz" disallowed for security reasons.'
- Bug fix: if for some reason the client couldn't gain full control of its locally started server, it would fail to shut that server down.
- The client now performs stricter validation of filenames received from the server.
- Fix a minor memory leak.
- (Xaw) It was not possible to direct a spy to sabotage the first building in the ruleset (Airport in the default ruleset).
Tilesets / ArtEdit
- Fix some minor glitches in the Amplio2 city graphics.
Help / DocumentationEdit
- 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.
- Updated translations:
- Complete translations: Polish, Russian.
- Incomplete translations: Finnish (98.6%).
- Freeciv programs could be built with the wrong main(); programs would build but do the wrong thing. Originally reported on Mac OS X.
- Fix some build failures building from pristine source (e.g., svn; these do not affect normal building from the distributed tarballs):
- Fix failure in the presence of automake 1.8, and document the minimum requirement of automake 1.9.
- Failure to run libtoolize before autoconf could cause trouble.
- Fix a complaint from automake-ng.
- Fix compiler warnings, which could prevent building with --enable-debug due to -Werror.
- Fix some compiler warnings from the clang toolchain. (Other such warnings remain.)
- Fix a build warning in non-debug builds.
See NEWS for older lists of changes.