WARNING: This is a tentative list, by no means exhaustive. 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.3.2
Server / General
- Bug fix: players' endgame scores could be too high due to the future techs state not being initialised correctly at the start of the game; this could lead to incorrect ranking. The fix will only help with games started with a new version of the server; in-progress games will continue to have incorrect scores.
- Bug fix: allied victory (enabled by default) never occurred.
- Freeciv now infers that ruleset effects are possible in more cases where incomplete information is available. This is a low-level change whose effects are hard to quantify, but should be more correct; it is most likely to affect client behaviour and the AI.
- More types of units are now permitted to auto-explore - only those with fuel or which lose hitpoints are prevented. In particular, Triremes in the 'experimental' ruleset can now auto-explore.
- Bug fix: goto planning could erroneously consider it impossible for a unit to move to a city on non-native terrain. It was still possible to make such a move with the cursor keys. (Does not affect supplied rulesets.)
- Bug fix: following on from 2.3.2, more assertion failure fixes when many autosettlers try to work on the same project.
- Bug fixes in unit destruction:
- Many more cases of unit loss now contribute to the final score, notably including units on board a transport unit when it was lost.
- The "unit_lost" scripting signal was not emitted for units on board a transport unit when it was lost. (This bug had no effect on the supplied rulesets.)
- Bug fixes for border sources such as fortresses:
- When a border source within range of a city was invaded, tile ownership from the first source did not change hands correctly.
- When a border source changed hands and the new owner did not know all the territory in range, the old owner could erroneously retain some tiles.
- When a border source is occupied by a unit of a nation other than the owner at the time a treaty between the two players breaks, ownership now transfers to that of the occupying unit. (partial fix for )
- Bug fix: with foggedborders enabled, tile ownership could appear to change back to an old owner when it went out of sight.
- Fix possible trouble when upgrading a highly-veteran unit to a type with fewer veteran levels.
- Bug fix: in tech loss situations, future tech would fail to be removed from a player, with an assertion failure.
- Bug fix: the full range of the 'trademindist' setting (1-999) could not be transmitted over the network to the client. This caused a cosmetic problem in the help for the 'civ2-3' ruleset.
- Bug fix: server-side AI assertion failure in rulesets with paratroopers and ocean cities.
- Security fix: malformed network packets could cause denial of service (memory exhaustion or CPU-bound loop). CVE-2012-5645, CVE-2012-6083 ,
- Bug fix: if the server was started with one ruleset and then another with a different number of governments was loaded (e.g., 'default' then 'multiplayer'), it could crash.
- Bug fix: ordinary save files from a game started from a scenario file could themselves be saved as scenario files, and thus be listed as unwanted options when starting a new scenario game.
- When a scenario is saved, scenario information is included earlier in the file, to speed up the 'Start Scenario Game' dialog.
- It is now possible to save games with names containing dots - previously, everything after the first dot was stripped.
- Bug fixes to scorelog/ranklog:
- Player deletion was logged incorrectly in scorelog, causing warnings when resuming the game from a save file.
- When a new user took over a player from another user, the old username could persist in the ranklog file.
- Taking over a dead AI player no longer changes their username in the ranklog.
- Tab-completion on the server command line has been improved; notably, enumerated and bitwise options are now completed.
- Fix a possible crash when the '/cmdlevel' server command is issued.
- More robustness against malformed network packets.
- Minor performance improvements in certain specific situations.
- Various internal changes which should only affect developers.
- Bug fix: assertion failure in get_internal_string_length() on client start on some platforms.
- Fix a couple of issues with units with a zero move rate (no such units exist in the supplied rulesets):
- The 'exhausted' icon was always shown for such units; now it is never shown.
- Such units are now not skipped when focusing on the next unit.
- Reduce memory usage after game start with large tilesets.
- The default metaserver URL has been updated in line with future plans. (The old URL will continue to work for the foreseeable future.)
- Saved configurations now correctly save the default metaserver URL as "default", so that future changes to the default will be picked up.
- (Gtk) Fix migration of chat/message window arrangement settings from 2.2.x. (This will not help you if you've ever run a previous 2.3.x version; you'll have to restore your preference manually, if you haven't already.)
- (Gtk) Fix possible colour inaccuracy.
- Additional robustness in the face of odd server behaviour.
Tilesets / Art
- Bug fix: in the hex2t tileset, the fogged parts of the minimap were far too dark.
- In the supplied Amplio2 tileset, the 'Refugee' graphic has been enabled, for the benefit of custom modpacks such as civ2-3.
Gameplay / Rules Changes
- The supplied earth-80x50-v3 scenario could not be loaded at all in a release build.
- In rulesets with a 'watchtower' vision bonus for fortresses, the bonus now only applies to ground units in the fortress, not to air units flying over it.
- Bug fix: in the 'multiplayer' ruleset, players could gain free techs multiple times by rebuilding Darwin's Voyage (fixed by ).
- Bug fix: in the 'experimental' ruleset, Triremes could not attack outwards from a city.
- The script.lua files for the civ1/civ2 rulesets had been accidentally omitted from the distribution, although this had no functional effect.
- Ruleset tidy-ups with no functional effect.
- A custom ruleset effect can now have both Oceanic and Land requirements in a single list.
- The give_technology() Lua script function now returns 'nil' if the player already has the technology, as documented; previously it returned the Tech_Type 'None'.
- The total Max_Rates effect value is now clipped to its legal range, so it's no longer necessary for custom rulesets to take care to keep the total value below 100% to avoid server misbehaviour.
- The MinYear effect now allows years earlier than -4000.
- Fixes for a couple of server crashes (division by zero):
- In rulesets with tech upkeep, when evaluating the value of 'Tech_Parasite' effects (e.g., Great Library), players who are losing bulbs are no longer considered.
- Division by zero could occur when evaluating poor city locations.
- AI behaviour is likely to change as a result of . For instance, it might be more likely to research a tech to allow it to build a kind of building without being certain that that building's other prerequisites will ever be fulfilled.
Help / Documentation
- Government-wide effects on unhappiness caused by military units were not mentioned in the online help. (In many of the supplied rulesets, the Republic government type suppresses unhappiness caused by one unit per city.)
- The shipped FAQ has been updated from the wiki version.
- NEWS in the distribution now contains a change list between major versions, rather than just being a pointer to wiki; a new file NEWS-2.3 lists differences between recent minor versions.
- A manual page is now included for the 'freeciv-manual' utility.
- Other minor improvements to user documentation and in-game text.
- Miscellaneous improvements to developer/ruleset docs.
- Invisible changes to assist translation.
- New translations: Serbian (33%), Bulgarian (31%).
- Updated translations:
- Complete translations: Spanish, Catalan, Scottish Gaelic.
- Incomplete translations: Dutch (72%), Irish (56%).
- The configure script could fail to detect SDL_mixer, for instance on Fedora with hardened build options set.
- The embedded Lua build now respects the --without-readline configure option, fixing a possible failure to build on systems without readline.
- Autoconfiguration macros for X now avoid non-portable '=='.
- The material used to build Windows installers is now included in the distribution.
- Warning fixes on various platforms.
See NEWS for older lists of changes.