Freeciv Changelog

What's new in Freeciv 2.5.7

May 19, 2017
  • Server / General:
  • Changes affecting players (supplied rulesets):
  • The score list shown when the game is over now includes dead players. GNA#17248
  • Fix a server crash when the AI could not find a suitable ferryboat unit type. (This was observed with a modified ruleset.) GNA#25628
  • Fix a typo'd city name in the Newfoundland nation. HRM#658528
  • Correctly diagnose failure to load a ruleset needed by a saved game. HRM#659503
  • Improved behavior after failing to write a file such as a saved game. GNAPATCH#8048 GNA#25391
  • Improved robustness against reading broken savegames. GNA#25416
  • General:
  • Tiny optimization for speed. HRM#658612
  • Fix a tiny memory leak. GNA#25246
  • Various internal changes which should only affect developers. GNA#25319 GNA#25508 HRM#655305 GNA#25430
  • Clients:
  • The "Manual Turn Done in AI mode" client option now does something useful. HRM#657412
  • (Qt) Player dialog now shows whether given nation shares vision to other nations. GNAPATCH#8115
  • (Qt) In pregame, pressing Enter on the username text box will now initiate a connection. GNAPATCH#8118
  • (Qt) The player dialog sometimes did not show new players, e.g. after a civil war. GNA#25506
  • (Qt) Focus might be set incorrectly to map after the selected unit changed. GNA#25505
  • (Gtk3) Fix some Gtk warnings on the console. GNAPATCH#7163
  • Help / Documentation:
  • Update docs to reflect move away from gna.org. HRM#637952 HRM#652494 HRM#655380 HRM#637953 HRM#656595
  • Refresh some links in INSTALL. HRM#656476
  • Update the FAQ a bit.
  • Miscellaneous changes to developer/ruleset docs. GNAPATCH#8109
  • Translations:
  • Updated translations:
  • Complete translations: French, British English, Russian.
  • Incomplete translations: Finnish (100% core, 92% nations), Ukrainian (100% core, 79% nations).
  • Build/portability:
  • Fix warning seen with Clang 3.9. Freeciv builds cleanly with Clang 4.0. GNA#25314
  • Fix warnings seen with GCC 7, with which Freeciv builds cleanly. HRM#657309 HRM#657332

New in Freeciv 2.5.6 (Nov 25, 2016)

  • Server / General:
  • Changes affecting players (supplied rulesets):
  • Disbanding a caravan-type unit with the "Disband" action (Shift-D) in a city that's building a wonder no longer contributes 100% of that unit's production cost towards the wonder. You must explicitly use the "Help Build Wonder" action (B). This change was made because this allowed rules to be bypassed -- it allowed adding shields to foreign cities' wonders. GNA#23911
  • If autoattack is enabled, cargo now preferentially attacks before its transport. GNA#25259 GNAPATCH#7985
  • Air units could fail to return to refuel automatically and be lost, despite having enough movement points. GNA#25294
  • A spurious enemy land unit could be shown in the middle of the sea on the client if the client's player saw its transporter being sunk, in games with 'killstack' disabled. GNA#24921
  • Borders were sometimes not adjusted after tiles changed from land to water. GNA#23179
  • It was possible to launch a spaceship that was not entirely connected (in a specific way). GNA#24979
  • The server could emit assertion failures when a barbarian leader could not or did not want to move. GNA#24929
  • The server could emit assertion failures shortly after creating a new barbarian player. GNA#24545
  • The server now gives a clear error message if it fails to parse a saved game file. GNA#24972
  • After selecting a specific nation to play and then reverting to random selection, it was possible to end up with previously selected nation anyway, due to the leader name persisting. GNA#24170
  • Removed duplicate city 'Orange' from Texan ruleset. (This was harmless.) GNA#25003
  • Changes affecting other rulesets / modders:
  • Remove init_government from the Lycian nation. This prevented using the standard nation set nationlist.ruleset in a ruleset not containing a 'Despotism' government type. GNA#24904
  • Extra sanity checking when loading rulesets. GNA#24905 GNA#25137
  • Changes affecting server operators:
  • When reducing command permissions (cmdlevel) on game start to 'basic' for connected players, new connections after game start still got 'ctrl' permissions. GNA#24774
  • General:
  • A tiny optimization for speed. GNAPATCH#7567
  • Various internal changes which should only affect developers. GNA#25007 GNA#25301
  • AI:
  • The building advisor will no longer automatically build (and hence move) 'small wonder' buildings of any kind. (Previously it only refused to move the Palace.) GNA#7598
  • The AI could send caravans toward foreign cities in the mistaken belief that (a) they could help build a wonder there, (b) this would be somehow useful. GNA#24662
  • Clients:
  • Sound is no longer disabled by default for fresh installations, unless it was not compiled in. GNA#24280
  • If a sound set with menu music was in use, a brief snatch of it would be played when quitting the client. GNA#24844
  • The 'Turn Done' button is now disabled for dead players. (It did not do anything useful.) GNA#24945
  • (Gtk3) Fix misdrawing of the scenario choosing page. GNA#24882
  • (Gtk3) Fix warnings about use of Pango font syntax seen with newer versions of Gtk. GNAPATCH#7162 GNA#25226
  • (Gtk3) Fix various other trouble when using the newest Gtk (3.22). GNAPATCH#7845 GNA#25160
  • (Qt) Fix constantly blinking research text the turn when the tech tree is complete. GNA#25071
  • (Qt) Added the option to show which tiles are native to a unit, as in other clients. GNAPATCH#6445
  • (Qt) Added the 'Default' option to theme selection. GNAPATCH#7666
  • (Qt) Fix artifacts on minimap: a vertical line of bright (unfogged) pixels was shown in hex topologies, and more unfogged pixels could be left after unit movement. GNA#24370 GNA#24861
  • (Qt) Now shows any startup message set on the server with 'connectmsg'. GNAPATCH#7537
  • (Qt) Now displays information about new releases of Freeciv from the metaserver, like other clients. GNA#24935
  • (Qt) Trying to start the game very quickly after loading a savegame or scenario could fail. GNA#24859
  • (Qt) Picking a nation for another player in pregame could set that player's leader name to the client's username. GNA#24906
  • (Qt) When sending a chat message, the position in the chat history is reset to the bottom. GNA#24881
  • (Qt) Chat messages containing non-ASCII characters could be displayed incorrectly. GNA#24888
  • (Qt) Windows-specific fixes:
  • Some changes that may help with failure to start this client on Windows. GNA#24901
  • The map could fail to be drawn initially. GNA#24860
  • Fix possible networking trouble. GNA#24909
  • (SDL) It was usually impossible to cancel a treaty. Opening the diplomacy dialog when it would have been possible would usually crash the client. GNA#25245 GNA#25085
  • (SDL) With hex topologies, the city map was drawn over other parts of the city dialog. GNA#25251
  • (SDL) The goto/airlift dialog had a hardcoded limit to the number of cities it could display, making some inaccessible. GNA#25024
  • (SDL) Fix possible trouble when entering or leaving the main game view. GNA#23992
  • (SDL) Fix possible trouble on theme change. Theme changes are not applied until a restart. GNA#25117
  • Tilesets / Art:
  • Minor fixes to civ2civ3 wonder graphics. GNA#25009
  • An invisible fix to improve hex2t performance slightly. GNAPATCH#7953
  • Help / Documentation:
  • Documented the FREECIV_OPT client environment variable. GNA#25165
  • Miscellaneous changes to developer/ruleset docs. GNA#24941 GNA#24996 GNAPATCH#7688
  • Translations:
  • Updated translations:
  • Complete translations: Russian.
  • Incomplete translations: Finnish (100% core, 92% nations), German (100% core, 87% nations), Ukrainian (99.1% core, 79% nations).
  • (We're looking for a new primary maintainer for the German translation. See Translations if you can help.)
  • Build/portability:
  • Fix portability issues when building for 64-bit Windows. GNAPATCH#7558 GNAPATCH#7588 GNA#24902 GNA#24900
  • Fix some compilation warnings on OpenBSD. GNA#24948 GNAPATCH#7634
  • Fix use of deprecated types in the Qt client, causing warnings. GNAPATCH#7704
  • Some incomplete changes aimed at enabling compilation with tcc. GNAPATCH#7509 GNAPATCH#7519 GNAPATCH#7526
  • Fix generation of the configure script with the (rather old) autoconf 2.64. This would not affect building from our release tarballs. GNA#24907
  • The FREECIV_LABEL_FORCE variable is now cached between runs of 'configure'. GNAPATCH#7987

New in Freeciv 2.5.5 (Aug 3, 2016)

  • Server / General:
  • Changes affecting players (supplied rulesets):
  • A city containing a Leader unit will now never defect in a civil war. Previously this could cause the rebels to end up with both Leaders. GNA#24724
  • Units without a home city are no longer forced to acquire a home city when transferred to another player. GNA#24746
  • Barbarians no longer spawn in Lake terrain in all rulesets which have it. GNA#24458
  • Bug fix: it was impossible to change production in a city after disbanding a unit there the same turn the city was built. GNA#24714
  • The win chance of a boat in a city defending against attack was erroneously displayed as 0%. GNA#24799 (A new client connecting to an old server running a custom ruleset may still display an incorrect defense value, this time too optimistic.)
  • The client's display of city population could be out of date after international migration. GNA#24464
  • The 'Plague' random disaster in the classic ruleset has been renamed to 'Pestilence' to avoid confusion with the unrelated game concept of plague. GNA#24688 Other text changed to mitigate this confusion. GNA#24689
  • Bug fixes and improvements to Latvian, African, and Texan nations. GNA#24670 GNAPATCH#7240 GNA#24726
  • Correct descriptions of server options 'techlost_recv' and 'techlost_donor' to make clear that they apply to technology theft as well as trading. GNA#24609
  • Bug fix: a non-zero 'techlevel' setting (or a ruleset which grants initial techs) along with certain 'plrcolormode' settings could give a (harmless) assertion failure at game start. GNA#24614
  • Bug fix: a player observer can no longer cause the game to start on behalf of a player. GNA#24678
  • Changes affecting other rulesets / modders:
  • Adding a base in the editor was not taking care of side-effects, such as removing conflicting bases on the same tile, granting vision and borders, etc. GNA#23106
  • In the editor, the "Nation Start Positions" property could be disabled when changing other values on the Game tab of the property editor. GNA#24627
  • Changes affecting server operators:
  • New 'persistent' metaserver connection mode, where one failure to talk to the metaserver does not prevent future attempts. Enabled with the '--keep' server option or the '/metaconnection persistent' server command. GNAPATCH#7300
  • General:
  • Minor memory leak fixes. GNA#24634 GNA#24468
  • Some optimizations for speed. GNAPATCH#7176 GNAPATCH#7202 GNAPATCH#7189
  • Various internal changes which should only affect developers. GNAPATCH#7206 GNA#24669 GNA#24636 GNA#24651 GNAPATCH#7433 GNAPATCH#7432
  • AI:
  • AI players could occasionally be subject to the penalty for changing production type. They are supposed to always be immune to this penalty. GNA#24760
  • Clients:
  • It's now possible to create an all-AI game from the client, by becoming an observer and starting the game. (You also need to set 'minplayers' to 0 and set a turn timeout.) GNAPATCH#7334
  • Fix drawing artifacts with oriented tilesets such as Cimpletoon:
  • A unit could be drawn with two superimposed random orientations. This showed up in the Gtk unit select dialog and the Qt help. GNA#24772
  • Unit orientation in these circumstances could change randomly on redraws. GNA#24771
  • Fixes to disconnecting from servers and cleaning up spawned servers. In particular, the Gtk and Qt clients now disconnect cleanly from the server when you quit the client. GNA#24629 GNA#24872 GNA#24823
  • For global observers, fixed display of city map outline and grid coloring. GNA#24791
  • Fixed a potential buffer overflow in some clients in the presence of extremely long tileset or soundset names. GNA#24877
  • (Gtk) Make Prev/Next City buttons insensitive for global observers, since they do nothing. GNA#24059
  • (Gtk3) On very small screens, the balance between happiness and nationality areas in the city dialog has been improved. GNA#24265
  • (Gtk3) Silence Gtk warnings on console by default with newer Gtk3 versions; this is necessary as it's not possible to construct a theme which works across the full range of Gtk3 versions we support without warnings. They can be re-enabled with freeciv-gtk3 -- --gtk-warnings.
  • (Qt) Simplified the network page, so that local and Internet servers are on the same page. GNAPATCH#7392 Scans for local servers are now stopped once a connection is chosen. GNA#24833
  • (Qt) There's now a button to lock the messages and chat window geometry, so that a mis-click doesn't accidentally disarrange them. GNAPATCH#7467
  • (Qt) The '5' key on the numeric keypad now selects the previous unit, as in the Gtk clients. GNA#24516
  • (Qt) Allied chat (chat messages are sent only to allies, not all players) is now the default. GNAPATCH#7368
  • (Qt) The default leader name defaults to the player name (often the system user name) rather than a leader name from a selected nation. GNAPATCH#7367
  • (Qt) Added an option to change the theme. GNAPATCH#7471
  • (Qt) The '', and '&' characters are now handled correctly in chat; they are no longer interpreted as HTML. GNAPATCH#7263 GNA#24829
  • (Qt) When there's a problem loading a tileset, an error message explaining it is now displayed. GNA#24832
  • (SDL) The display of shields in the city dialog immediately after changing production could be overly pessimistic. GNA#24807
  • Tools:
  • Minor fix to freeciv-manual tool's output. GNA#24778
  • Minor fix to modpack installer's error reporting. GNA#24637
  • Help / Documentation:
  • The 'Chatline' help is now more comprehensive. GNA#24841
  • The tutorial scenario now has a message for when you build your first military unit. GNA#24874
  • Miscellaneous other improvements to in-game text and user documentation. GNAPATCH#7119 GNA#24682 GNA#24720 GNA#24650 GNA#24753 GNA#24784 GNAPATCH#7303 GNA#24828 GNA#24838 GNA#24858
  • Miscellaneous changes to developer/ruleset docs. GNAPATCH#7384
  • Invisible changes to assist localization. GNAPATCH#6908
  • Translations:
  • Updated translations:
  • Complete translations: Catalan, French, British English, Spanish, Russian.
  • Incomplete translations: Finnish (100% core, 92% nations), Japanese (94% core, 95.4% nations).
  • When localized into Finnish, the last character was stripped or corrupted in all messages. GNA#24754
  • Build/portability:
  • Package builders can now override the version label used with FREECIV_LABEL_FORCE. GNAPATCH#7196 GNAPATCH#7217
  • 'nonnull-compare' warnings from GCC 6 are now silenced. GNA#23810
  • The included Lua now uses fseeko() instead of fseek() where available. This is unlikely to make a difference in practice. GNAPATCH#7322
  • Update some of the libraries shipped with the Windows packages. GNA#24321

New in Freeciv 2.5.4 (May 17, 2016)

  • Changes affecting players (supplied rulesets):
  • Numerous fixes to research in games with teams:
  • With team_pooled_research enabled:
  • Technology cost now takes into account effects from all players in the team; previously it was picking a random player for penalties such as the Novice AI science penalty. GNAPATCH#5098
  • Similarly, tech upkeep now takes into account all players in a team. GNAPATCH#5099
  • If a technology is lost, all team members share the effects (such as losing their government), and all clients can see that the tech is lost. GNA#21935
  • All clients are kept up to date with accurate progress of current research. GNAPATCH#5100 GNAPATCH#5185
  • With team_pooled_research disabled: only one player per team was getting the free techs given at the start of the game (e.g., with the 'techlevel' setting). GNA#22522
  • Other fixes to tech loss:
  • The server's count of a player's technologies was not reduced. This could cause technology cost to be too high and have other bad effects. GNA#22579
  • Ruleset effects that survived the global loss of a technology (such as wonder obsoletion) did not survive a save/reload cycle. GNA#22909
  • Tech upkeep cost was slightly larger than intended. GNA#22912
  • When following orders into fogged territory, a unit will now abort its orders if it runs into an unexpected unit or city on its last step (rather than blindly attacking, etc). GNA#20618
  • Transported units or those in cities could fail to be revealed when entering an alliance. GNA#20726 GNA#22851
  • 'unitwaittime' now applies to exploding nuclear units in place as well as to regular attacks. GNA#22838
  • Investigating an empty city that was previously known to contain units mistakenly displayed the former units as still present/supported. GNA#22498
  • When the 'foggedborders' server option was enabled, border information was not included in map transfers between players. GNA#22497
  • Fix a possible server crash when a diplomat is killed after bribing a unit. GNA#22762
  • Fix some assertion failures when changing player (for instance in edit mode). GNA#19848
  • Fix bugs with taking AI players and entering/leaving AI or 'away' mode: GNA#22716 GNAPATCH#5046
  • Taking an AI player could leave the player with invalid tax rates.
  • Putting a player who'd previously been /away under full AI control could leave them with the conservative 'away' skill level rather than a proper AI skill level.
  • AI state was not set up and cleared correctly when changing '/away' mode. For the classic AI, this could lead to incorrect defense calculations.
  • 'autotoggle' and 'aitoggle' now work for barbarian players (as 'away' did before). GNA#22724
  • In the multiplayer ruleset, ensure notifications are sent out about new technologies gained from Philosophy or Darwin's Voyage. GNA#22783 GNAPATCH#5355 GNAPATCH#5358 GNA#22827
  • Prevent diplomacy with barbarian players in the civ1 and civ2 rulesets (in civ1, it was possible to attempt treaty with pirates but not barbarians). GNA#22727 GNA#22728
  • Prevent team-mates from withdrawing shared vision from each other. GNA#22992
  • Remove spurious assertion failures about MAP_MAX_LINEAR_SIZE when generating large maps. GNA#19429 GNA#22640
  • For the purposes of credit in the rank log, any user detaching from a player (even an observer) was resetting the username used for ranking. For now the ranking rules have been reverted to those used up until 2.3.2. GNA#22458
  • Fixes to voting:
  • Do not call votes which will immediately pass (for instance if a user is alone on a server). GNAPATCH#5181
  • Fix incorrect vote information displayed in a client which connects while a vote is in progress. GNA#22566
  • The 'surrender' command now does additional sanity checks. GNA#22622
  • Fix display of team names. GNA#22394
  • Changes affecting other rulesets / modders:
  • Fixes to rulesets with root requirements in their technology tree:
  • Fix general slowness (sometimes extreme) in such rulesets. GNA#22159 GNAPATCH#5357 GNA#22876
  • Research could fail to pick the next technology toward a faraway goal. GNA#22789
  • Changes affecting server operators:
  • Patch CVE-2014-5461 in Freeciv's embedded Lua 5.1 interpreter. This could conceivably allow a malicious modpack or script to escape the sandbox. GNA#23031
  • Fix a possible server crash on quit. GNA#22996
  • Creating a player midgame (with /create or Lua script) didn't initialize city style and gender correctly. GNA#22832
  • The /create command now validates the AI type argument better. GNA#22697
  • When built without readline support, the server could stop accepting input after an empty line. GNA#18254
  • More robustness against loading invalid savegames. GNA#22523 GNA#21327
  • Freeciv
  • On the Wiki
  • Wiki Activity
  • Random page
  • Videos
  • Images
  • Top content
  • Browse by category
  • community
  • help
  • Contribute
  • Watchlist Random page Recent changes
  • NEWS-2.4.4
  • 656pages on
  • this wiki
  • Edit Talk0
  • 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.4.3
  • 2.4.4 is a bug-fix release. Notable bugs fixed include serious issues in East Asian locales on Windows, occasional inability to switch governments in the Gtk client, research in games with teams, and premature nuclear explosion.
  • This wiki is built by fans like you
  • Help out
  • Server / General Edit
  • Changes affecting players (supplied rulesets) Edit
  • Numerous fixes to research in games with teams:
  • With team_pooled_research enabled:
  • Technology cost now takes into account effects from all players in the team; previously it was picking a random player for penalties such as the Novice AI science penalty. GNAPATCH#5098
  • Similarly, tech upkeep now takes into account all players in a team. GNAPATCH#5099
  • If a technology is lost, all team members share the effects (such as losing their government), and all clients can see that the tech is lost. GNA#21935
  • All clients are kept up to date with accurate progress of current research. GNAPATCH#5100 GNAPATCH#5185
  • With team_pooled_research disabled: only one player per team was getting the free techs given at the start of the game (e.g., with the 'techlevel' setting). GNA#22522
  • Other fixes to tech loss:
  • The server's count of a player's technologies was not reduced. This could cause technology cost to be too high and have other bad effects. GNA#22579
  • Ruleset effects that survived the global loss of a technology (such as wonder obsoletion) did not survive a save/reload cycle. GNA#22909
  • Tech upkeep cost was slightly larger than intended. GNA#22912
  • When following orders into fogged territory, a unit will now abort its orders if it runs into an unexpected unit or city on its last step (rather than blindly attacking, etc). GNA#20618
  • Transported units or those in cities could fail to be revealed when entering an alliance. GNA#20726 GNA#22851
  • 'unitwaittime' now applies to exploding nuclear units in place as well as to regular attacks. GNA#22838
  • Investigating an empty city that was previously known to contain units mistakenly displayed the former units as still present/supported. GNA#22498
  • When the 'foggedborders' server option was enabled, border information was not included in map transfers between players. GNA#22497
  • Fix a possible server crash when a diplomat is killed after bribing a unit. GNA#22762
  • Fix some assertion failures when changing player (for instance in edit mode). GNA#19848
  • Fix bugs with taking AI players and entering/leaving AI or 'away' mode: GNA#22716 GNAPATCH#5046
  • Taking an AI player could leave the player with invalid tax rates.
  • Putting a player who'd previously been /away under full AI control could leave them with the conservative 'away' skill level rather than a proper AI skill level.
  • AI state was not set up and cleared correctly when changing '/away' mode. For the classic AI, this could lead to incorrect defense calculations.
  • 'autotoggle' and 'aitoggle' now work for barbarian players (as 'away' did before). GNA#22724
  • In the multiplayer ruleset, ensure notifications are sent out about new technologies gained from Philosophy or Darwin's Voyage. GNA#22783 GNAPATCH#5355 GNAPATCH#5358 GNA#22827
  • Prevent diplomacy with barbarian players in the civ1 and civ2 rulesets (in civ1, it was possible to attempt treaty with pirates but not barbarians). GNA#22727 GNA#22728
  • Prevent team-mates from withdrawing shared vision from each other. GNA#22992
  • Remove spurious assertion failures about MAP_MAX_LINEAR_SIZE when generating large maps. GNA#19429 GNA#22640
  • For the purposes of credit in the rank log, any user detaching from a player (even an observer) was resetting the username used for ranking. For now the ranking rules have been reverted to those used up until 2.3.2. GNA#22458
  • Fixes to voting:
  • Do not call votes which will immediately pass (for instance if a user is alone on a server). GNAPATCH#5181
  • Fix incorrect vote information displayed in a client which connects while a vote is in progress. GNA#22566
  • The 'surrender' command now does additional sanity checks. GNA#22622
  • Fix display of team names. GNA#22394
  • Changes affecting other rulesets / modders Edit
  • Fixes to rulesets with root requirements in their technology tree:
  • Fix general slowness (sometimes extreme) in such rulesets. GNA#22159 GNAPATCH#5357 GNA#22876
  • Research could fail to pick the next technology toward a faraway goal. GNA#22789
  • Changes affecting server operators Edit
  • Patch CVE-2014-5461 in Freeciv's embedded Lua 5.1 interpreter. This could conceivably allow a malicious modpack or script to escape the sandbox. GNA#23031
  • Fix a possible server crash on quit. GNA#22996
  • Creating a player midgame (with /create or Lua script) didn't initialize city style and gender correctly. GNA#22832
  • The /create command now validates the AI type argument better. GNA#22697
  • When built without readline support, the server could stop accepting input after an empty line. GNA#18254
  • More robustness against loading invalid savegames. GNA#22523 GNA#21327
  • General Edit:
  • Several fixes to pathfinding, used for client goto and for the AI:
  • Units which will be unable to move next turn but still have move points this turn (for instance due to tech loss) are now handled correctly. (This could lead to premature nuclear explosion in rulesets where nuclear units require extra technology to move, such as the civ2civ3 add-on.) GNA#22569
  • A collection of general fixes which, together with client-specific fixes, we hope will resolve a client crash observed on Windows (GNA#21774), and probably fix other bugs too. GNAPATCH#5190 GNA#22693 GNA#22756 GNA#22755
  • Other minor fixes and speed improvements. GNA#22636 GNA#21938
  • Already-built wonders are now dismissed when considering what players can ever build. This affects the client city UI and may also affect AI behavior. GNA#22667
  • Fix a bug which could cause strings to contain invalid/truncated UTF-8 sequences. GNA#22885
  • Fix/improve diagnostic messages in error cases, notably including network failures. GNA#22481 GNA#22503 GNA#22462 GNA#22706 GNA#22729 GNA#22282
  • Fix a possible crash when an --enable-debug build tried to print a very deep backtrace. GNA#22854
  • Minor speed optimization. GNAPATCH#5154
  • Memory savings and leak fixes. GNA#21552 GNA#22582 GNA#22583 GNA#22587 GNA#22589 GNA#22626 GNA#22627 GNA#22629 GNA#22630 GNA#22631 GNA#22632 GNA#22670 GNAPATCH#5123
  • Various internal changes which should only affect developers. GNAPATCH#5111 GNAPATCH#5167 GNAPATCH#5182 GNAPATCH#5192 GNA#22824 GNAPATCH#5381 GNA#22781 GNAPATCH#5298 GNAPATCH#5299 GNAPATCH#5297 GNAPATCH#5296 GNA#22955 GNAPATCH#5473 GNA#22977
  • Freeciv
  • On the Wiki
  • Wiki Activity
  • Random page
  • Videos
  • Images
  • Top content
  • Browse by category
  • community
  • help
  • Contribute
  • Watchlist Random page Recent changes
  • NEWS-2.4.4
  • 656pages on
  • this wiki
  • Edit Talk0
  • 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.4.3
  • 2.4.4 is a bug-fix release. Notable bugs fixed include serious issues in East Asian locales on Windows, occasional inability to switch governments in the Gtk client, research in games with teams, and premature nuclear explosion.
  • This wiki is built by fans like you
  • Help out
  • Server / General Edit
  • Changes affecting players (supplied rulesets) Edit
  • Numerous fixes to research in games with teams:
  • With team_pooled_research enabled:
  • Technology cost now takes into account effects from all players in the team; previously it was picking a random player for penalties such as the Novice AI science penalty. GNAPATCH#5098
  • Similarly, tech upkeep now takes into account all players in a team. GNAPATCH#5099
  • If a technology is lost, all team members share the effects (such as losing their government), and all clients can see that the tech is lost. GNA#21935
  • All clients are kept up to date with accurate progress of current research. GNAPATCH#5100 GNAPATCH#5185
  • With team_pooled_research disabled: only one player per team was getting the free techs given at the start of the game (e.g., with the 'techlevel' setting). GNA#22522
  • Other fixes to tech loss:
  • The server's count of a player's technologies was not reduced. This could cause technology cost to be too high and have other bad effects. GNA#22579
  • Ruleset effects that survived the global loss of a technology (such as wonder obsoletion) did not survive a save/reload cycle. GNA#22909
  • Tech upkeep cost was slightly larger than intended. GNA#22912
  • When following orders into fogged territory, a unit will now abort its orders if it runs into an unexpected unit or city on its last step (rather than blindly attacking, etc). GNA#20618
  • Transported units or those in cities could fail to be revealed when entering an alliance. GNA#20726 GNA#22851
  • 'unitwaittime' now applies to exploding nuclear units in place as well as to regular attacks. GNA#22838
  • Investigating an empty city that was previously known to contain units mistakenly displayed the former units as still present/supported. GNA#22498
  • When the 'foggedborders' server option was enabled, border information was not included in map transfers between players. GNA#22497
  • Fix a possible server crash when a diplomat is killed after bribing a unit. GNA#22762
  • Fix some assertion failures when changing player (for instance in edit mode). GNA#19848
  • Fix bugs with taking AI players and entering/leaving AI or 'away' mode: GNA#22716 GNAPATCH#5046
  • Taking an AI player could leave the player with invalid tax rates.
  • Putting a player who'd previously been /away under full AI control could leave them with the conservative 'away' skill level rather than a proper AI skill level.
  • AI state was not set up and cleared correctly when changing '/away' mode. For the classic AI, this could lead to incorrect defense calculations.
  • 'autotoggle' and 'aitoggle' now work for barbarian players (as 'away' did before). GNA#22724
  • In the multiplayer ruleset, ensure notifications are sent out about new technologies gained from Philosophy or Darwin's Voyage. GNA#22783 GNAPATCH#5355 GNAPATCH#5358 GNA#22827
  • Prevent diplomacy with barbarian players in the civ1 and civ2 rulesets (in civ1, it was possible to attempt treaty with pirates but not barbarians). GNA#22727 GNA#22728
  • Prevent team-mates from withdrawing shared vision from each other. GNA#22992
  • Remove spurious assertion failures about MAP_MAX_LINEAR_SIZE when generating large maps. GNA#19429 GNA#22640
  • For the purposes of credit in the rank log, any user detaching from a player (even an observer) was resetting the username used for ranking. For now the ranking rules have been reverted to those used up until 2.3.2. GNA#22458
  • Fixes to voting:
  • Do not call votes which will immediately pass (for instance if a user is alone on a server). GNAPATCH#5181
  • Fix incorrect vote information displayed in a client which connects while a vote is in progress. GNA#22566
  • The 'surrender' command now does additional sanity checks. GNA#22622
  • Fix display of team names. GNA#22394
  • Changes affecting other rulesets / modders Edit
  • Fixes to rulesets with root requirements in their technology tree:
  • Fix general slowness (sometimes extreme) in such rulesets. GNA#22159 GNAPATCH#5357 GNA#22876
  • Research could fail to pick the next technology toward a faraway goal. GNA#22789
  • Changes affecting server operators Edit
  • Patch CVE-2014-5461 in Freeciv's embedded Lua 5.1 interpreter. This could conceivably allow a malicious modpack or script to escape the sandbox. GNA#23031
  • Fix a possible server crash on quit. GNA#22996
  • Creating a player midgame (with /create or Lua script) didn't initialize city style and gender correctly. GNA#22832
  • The /create command now validates the AI type argument better. GNA#22697
  • When built without readline support, the server could stop accepting input after an empty line. GNA#18254
  • More robustness against loading invalid savegames. GNA#22523 GNA#21327
  • General Edit
  • Several fixes to pathfinding, used for client goto and for the AI:
  • Units which will be unable to move next turn but still have move points this turn (for instance due to tech loss) are now handled correctly. (This could lead to premature nuclear explosion in rulesets where nuclear units require extra technology to move, such as the civ2civ3 add-on.) GNA#22569
  • A collection of general fixes which, together with client-specific fixes, we hope will resolve a client crash observed on Windows (GNA#21774), and probably fix other bugs too. GNAPATCH#5190 GNA#22693 GNA#22756 GNA#22755
  • Other minor fixes and speed improvements. GNA#22636 GNA#21938
  • Already-built wonders are now dismissed when considering what players can ever build. This affects the client city UI and may also affect AI behavior. GNA#22667
  • Fix a bug which could cause strings to contain invalid/truncated UTF-8 sequences. GNA#22885
  • Fix/improve diagnostic messages in error cases, notably including network failures. GNA#22481 GNA#22503 GNA#22462 GNA#22706 GNA#22729 GNA#22282
  • Fix a possible crash when an --enable-debug build tried to print a very deep backtrace. GNA#22854
  • Minor speed optimization. GNAPATCH#5154
  • Memory savings and leak fixes. GNA#21552 GNA#22582 GNA#22583 GNA#22587 GNA#22589 GNA#22626 GNA#22627 GNA#22629 GNA#22630 GNA#22631 GNA#22632 GNA#22670 GNAPATCH#5123
  • Various internal changes which should only affect developers. GNAPATCH#5111 GNAPATCH#5167 GNAPATCH#5182 GNAPATCH#5192 GNA#22824 GNAPATCH#5381 GNA#22781 GNAPATCH#5298 GNAPATCH#5299 GNAPATCH#5297 GNAPATCH#5296 GNA#22955 GNAPATCH#5473 GNA#22977
  • AI Edit:
  • The AI was undervaluing units defined as good defenders in the ruleset, and overvaluing 'OK' defenders. GNA#22617
  • The AI could continue trying to build worker units in inappropriate situations, such as where the population cost would cause a city to disband. GNA#22972
  • The AI now considers the effect of the 'diplcost' setting when evaluating the value of a gold transfer clause in a treaty. GNAPATCH#5399
  • Clients Edit:
  • The Windows Gtk client is built against a different Gtk version, fixing major problems in East Asian locales, including inability to use the chatline and other text boxes, and failure to display the online help. GNA#21038 GNA#22607
  • Fix a longstanding bug in the Gtk client that could make it impossible to select a new government. GNA#18764
  • The client now supports loading a save file from the command line directly, with the --file command line option. GNAPATCH#3180
  • The 'Explode Nuclear' command is now more careful; previously, if the nuclear unit was unable to reach the specified destination (or move at all), it would explode regardless (this could happen due to 'unitwaittime', due to another bug). Also, the command now supports setting waypoints. GNA#21934 GNA#22624 GNA#22722
  • Various fixes to client goto. (Some of these may resolve a client crash observed on Windows: GNA#21774.)
  • Ignore duplicate waypoints in client goto, and attempts to go nowhere. GNAPATCH#5271 GNAPATCH#5191 GNA#22610
  • Improve behaviour if a unit moves or is lost while the user is in the middle of specifying a goto. GNAPATCH#5193 GNA#22577
  • Fix client error messages when manipulating units with a zero move rate. GNA#22571
  • Some fixes to spy and caravan action dialogs:
  • Some buttons were active when the relevant action was not available. GNA#22565 GNA#22592 GNA#22593
  • (Gtk) When multiple spy action dialogs were active at the same time, orders could end up being issued to the wrong unit. GNA#21636 GNAPATCH#4502 GNA#22595
  • Fix a cause of the client starting a server which it then could not connect to. GNA#22463
  • Fix error messages and possible instability when the city governor is working on a city that has been destroyed.
  • GNA#16438
  • Fix some graphical glitches when moving units. GNA#19946 GNA#22770
  • Fix an error message when observing a player who is building a spaceship. GNA#22933
  • Map editor fixes and improvements:
  • Fix bugs in tile copy and paste:
  • Tiles were pasted in completely the wrong place. GNA#21655
  • Copying units could cause assertion failures. GNA#22558
  • The client could remember possibly-invalid tiles from one game to the next. GNA#22553
  • Prevent setting normal players to barbarian and other unsuitable nations. GNA#22742
  • (Gtk) With the 'Help' box checked in the science dialog, technology help would pop up randomly at turn end and other times. GNA#19882
  • (Gtk3) Fix a bug causing the chat window to be minimised after reconnecting, and assertion failures. GNA#21639 GNA#22673
  • (Gtk3) Various display issues:
  • Fix problems with flag display. GNA#21373 GNA#22457 GNA#22517
  • Fix fog-of-war in some tilesets. GNA#21601
  • Miscellaneous cosmetic tweaks. GNA#22671 GNA#22672
  • (SDL) Fix client crash when attempting industrial sabotage of a city with no buildings. GNA#22495
  • (SDL) Fix incorrect background color on some dialogs. GNA#22511
  • Tilesets / Art Edit:
  • The Cimpletoon tileset now includes graphics for a Migrant unit, like other supplied tilesets. This is used for instance in the civ2civ3 add-on. GNA#20029
  • The Crusader nation was using a large flag by mistake in small tilesets such as Trident. GNA#22653
  • Help / Documentation Edit:
  • Miscellaneous improvements to in-game text and user documentation. GNA#22513 GNA#22623 GNAPATCH#5314 GNA#22825 GNA#22823 GNA#22846 GNA#22869 GNAPATCH#5388 GNAPATCH#5389 GNA#22847 GNAPATCH#5452
  • Miscellaneous changes to developer/ruleset docs. GNA#22444 GNAPATCH#5183 GNA#22793 GNAPATCH#5356 GNAPATCH#5374 GNA#22848 GNAPATCH#5423
  • Translations Edit:
  • Updated translations:
  • Complete translations: Catalan, French, Polish, British English, Spanish, Russian.
  • Incomplete translations: Finnish (97.1%).
  • Build/portability Edit:
  • Fix compilation with Glib older than 2.32. GNA#22467
  • Fix failure to build twice in a row due to missing mkinstalldirs. GNA#22773
  • Fix inability to compile with Python 3. GNA#22705
  • Fix some compiler warnings. GNA#22886 GNA#22895 GNA#22894 GNA#22915
  • New configure options --with-desktopdir and --with-appdatadir for finer control of installation locations. GNAPATCH#5047
  • Add search keywords to .desktop files. GNA#21573

New in Freeciv 2.5.3 (Feb 9, 2016)

  • Build fixes:
  • Re-generating the configure script could fail on recent OS distributions due to a clash with the system supplied glib-gettext.m4. This did not affect most users, who would build with the configure script supplied in the tarball. GNA#24379
  • configure could spuriously output "-lncurses: not found" and fail to find readline on some systems (seen on OpenBSD). GNA#24372
  • Qt client fixes:
  • The menu options and keyboard shortcuts to save games were disabled when there were no active units. GNA#24371
  • The Qt client could create a directory called literally '$HOME'. GNA#24359
  • A few strings in the Qt client were displayed unlocalized. GNA#24339
  • Increase the size of some buffers that were causing truncated strings in some localizations, such as Russian. GNA#24328
  • Change a couple of flag files to address auto-detected licensing conflicts. GNA#23814 GNAPATCH#6855
  • Some corrections to the Finnish and Russian translations. GNAPATCH#6902

New in Freeciv 2.5.0 (Mar 16, 2015)

  • The main changes in Freeciv 2.5 are the inclusion of the 'civ2civ3' ruleset, a new Qt client, and much more flexibility for those creating their own rulesets. The AI has also had some improvements.
  • As is usual for major releases, 2.5 clients cannot interoperate with pre-2.5 servers, and vice versa. Pre-2.5 savegames can however be loaded into 2.5, and in most cases, the supplied rulesets have not changed so much as to make it difficult to complete a game started with 2.4.x's rules.
  • Server / General Edit:
  • Changes affecting players (supplied rulesets) Edit:
  • A new ruleset civ2civ3 is included, an evolution of the civ2_3 ruleset by David Fernandez (bardo). This has some elements from Civ3, and is also designed to reduce the gap between inexperienced and optimal play, and for the AI to play well. It is suitable for single-player and multiplayer games. See doc/README.ruleset_civ2civ3 for more information. GNAPATCH#3366
  • This version of the ruleset is similar to previous versions available as modpacks, but does have some changes, including taking advantage of new facilities in the game engine. civ2civ3 or civ2_3 games started in previous versions of Freeciv cannot be continued with this version.
  • civ2civ3 is planned to become the default ruleset in a future release. The current default ruleset has been renamed to 'classic' and will continue to be available. From now on the name 'default' will refer to whatever ruleset the running version of Freeciv defaults to. GNAPATCH#3216
  • Rules changes affecting all or most rulesets:
  • (not civ1/civ2) City tiles are no longer an exception to the rule that the 'Bridge Building' technology is required to build roads over rivers. Cities on river tiles no longer automatically get roads until the technology is acquired. GNAPATCH#3007
  • (not civ2/multiplayer) Cities suffer random disasters such as loss of population or buildings. A new server setting 'disasters' controls their frequency, or disables them entirely.
  • (not civ1/civ2) 'Barracks' buildings and 'Sun Tzu's War Academy' are now cumulative: if you have both, new units are created at the Hardened veteran level. GNAPATCH#3062
  • Bombarder units (such as bombers and helicopters in civ2civ3) no longer gain veterancy from bombardment. GNAPATCH#5835
  • The maximum number of trade routes per city is now ruleset-dependent. In the classic and (of as RC1) experimental rulesets, the limit on trade routes now depends on what technology you have. You start with 2 per city, and can add one more with each of 'Magnetism' and 'The Corporation'.
  • In rulesets with nationality tracking (classic, experimental, civ2civ3):
  • Citizens now gradually convert to the nationality of the city owner over time, at a ruleset-defined rate. GNAPATCH#2365
  • Units now have their own nationality, which remains the same even if they are bribed or captured. Settler units add citizens of their own nationality when founding or adding to cities. GNAPATCH#3625 GNAPATCH#3635
  • Changes to what happens if research points go negative (due to transfer costs or tech upkeep):
  • A new server setting 'techlossforgiveness' controls whether technologies can be lost at all, and if so, how much debt triggers tech loss. Previously this was controlled by the ruleset; of the supplied rulesets, only the experimental ruleset had this behavior. GNAPATCH#3193
  • When technology is lost, half the bulb cost of the lost technology is now added on to the current bulb balance (this may not be sufficient to make it positive). The proportion is controlled by the new server setting 'techlossrestore'. The old behavior, where any bulb debt was completely cancelled, can be restored by setting this to -1. GNA#21623
  • A tile with both a river and a fortress now has a lower defensive bonus, as the bonuses are now added rather than multiplied.
  • When a freshwater terrain (lake) and an oceanic terrain type become adjacent due to terrain change, the ocean now floods the whole lake. GNAPATCH#3478 In rulesets with lakes, transforming a swamp bordering a lake now results in lake, not ocean. GNA#20043
  • In games where 'startunits' includes a k)ing unit, such units are also given to new players created as a result of civil war. GNAPATCH#3812
  • Rule changes to specific rulesets:
  • classic:
  • Tracking of citizen nationality is now enabled. See the help for what this means. GNAPATCH#3624
  • experimental:
  • New road type 'Maglev', requiring 'Superconductors' and giving unlimited movement to 'Land' units. Regular railroads now give fast but limited movement (each tile takes 1/9 of a movement point). GNAPATCH#3295 GNAPATCH#4008
  • Citizens of your enemies in your own cities cause unhappiness, with the amount depending on your government type. GNAPATCH#3628
  • Partisan appearance now depends on how many of the conquered city's citizens had the nationality of the defeated player, rather than the original city owner. GNAPATCH#3762
  • Paratroopers can now paradrop directly to a transport in the ocean. GNAPATCH#3805
  • (as of RC1) Caravans are no longer obsoleted by Freight, since they can travel on more terrain. GNAPATCH#5791
  • Most technologies now have 'root_req' requirements, preventing acquisition of the technology by any means (such as trading) unless some key earlier technology is known.
  • By default, it is possible to sustain a small research point debt without losing a technology. However, if a technology is lost, the debt may not be completely cancelled.
  • civ1 and civ2 (to improve their fidelity):
  • Maximum number of trade routes per city reduced from 4 to 3.
  • When a free tech is granted, it's now chosen randomly, rather than being whatever the player was researching.
  • New game options:
  • 'killstack', which controls whether all units on a tile die simultaneously, is now a server setting (previously it was controlled by the ruleset). GNA#18698
  • 'killcitizen' is now a boolean setting rather than a bitfield; exactly which units can reduce city population is now controlled by the ruleset. GNAPATCH#3613
  • Two new values for the 'diplomacy' setting: "NOAI" which allows diplomacy except between AIs, and "NOMIXED" which only prevents human/AI diplomacy. GNAPATCH#4213
  • A new setting 'startcity' causes players to start with their first city already founded. GNAPATCH#3495
  • (as of beta2) New map generation features ported from warserver: a 'fair' island map generator ('generator=fair'), which creates an identical island for each player or team, and 'teamplacement', allowing control of whether team-mates start near each other on the map. GNAPATCH#5146 GNAPATCH#5145
  • Other changes:
  • Nations:
  • Added 16 new playable nations to standard rulesets, bringing the total to 555.
  • The set of 50 'core' nations introduced in 2.4 are now by default the only nations that will appear in games. To play with the full ('extended') set of nations (which might not be translated into your language), change the nation set in the 'pick nation' dialog, or with the server 'nationset' option. GNAPATCH#3448
  • The pirate and barbarian flags be swapped, so that pirates now have the Jolly Roger, as they should. GNA#22236
  • In the classic and civ2civ3 rulesets, maps are now generated with scenic tile labels on a few random tiles. These have no effect on gameplay. GNAPATCH#3147
  • Minor changes to transport units:
  • Units may now load onto and unload from transports that are themselves inside another transport. GNA#22050 GNA#22190
  • While there is still no way to choose which transport is used if there are several on a tile, cargo units will now prefer the transport with more move points. GNA#22189
  • Goto / pathfinding:
  • You can now set waypoints for groups of units starting on different tiles. GNAPATCH#4418
  • Improved route planning across 'pontoon bridges' (units bridging water). GNA#21871
  • Multiple units working on overlapping connect-with-road or similar projects no longer interrupt each other's work. GNAPATCH#2206
  • Changes affecting other rulesets / modders Edit
  • Ruleset authors can control much more of the game behavior. Existing rulesets need changes to work with 2.5; see How to update a ruleset from 2.4 to 2.5 for a minimal recipe, and comments in supplied ruleset files for documentation and usage examples of new features.
  • Movement:
  • Rulesets can now define new types of paths, replacing hard-coded road, railroad, and river behavior. Up to 8 distinct road and/or river types can be defined. Many previously hardcoded behaviors are now configurable. GNAPATCH#2521
  • Granularity of movement points ('move_fragments') is now specified by the ruleset, rather than being hardcoded at 1/3. Move rate of 'IgTer' units is also configurable. GNAPATCH#3990
  • The 'Relaxed' orthogonal move mode for rivers (now also available for roads) no longer gives a movement bonus for diagonal moves unless the path actually links the two tiles. GNA#20472
  • Rulesets can allow units to paradrop directly onto transport units. GNAPATCH#3805
  • Rulesets have more control over when units can enter and leave 'unreachable' transports (usually air transports). By default, cargo of such transports can no longer embark/disembark unless in a city or a base native to the transport, but exceptions can be made for individual units. GNAPATCH#3804
  • The game now enforces that no transport unit may contain a unit which could transport it, and that units can be nested no more than six deep, even if the ruleset would allow these situations. This may simplify defining complex transport relations in rulesets without defining many unit classes. GNA#22050
  • (Some versions of 2.4.x had attempts to enforce this, but they merely caused error messages rather than preventing the situation from occurring.)
  • Terrain and alterations:
  • More flexible bases:
  • Rulesets can now define bases which are allowed on city tiles, or automatically added to cities. GNAPATCH#3826
  • Ability and time to build bases can now be terrain-dependent. GNAPATCH#3152
  • Owned bases can now display their owner's flag. GNAPATCH#3450
  • Rulesets can now use effects to change when any of the built-in terrain alterations and transformations can be performed by units (in 2.4, it was only possible to affect irrigation). The full set is:
  • Irrig_Possible: is building irrigation possible?
  • Mining_Possible: is building a mine possible?
  • Irrig_TF_Possible: is changing terrain type with "irrigation" action possible?
  • Mining_TF_Possible: is changing terrain type with "mine" action possible?
  • Transform_Possible: is "transform" action possible?
  • Terrains can now be marked with the 'NotGenerated' flag, so that the map generator will not use them (for use in scenarios, etc). GNAPATCH#415
  • Units:
  • The unit 'convert' action is no longer instant; it takes a ruleset-defined time (at least one turn) for suitable units to convert into another type. GNAPATCH#3110
  • The 'Veteran_Build' effect (used for 'Barracks', etc) can now cause units to gain multiple veteran levels. GNAPATCH#3062
  • Rulesets are now permitted to contain no city-founding units. GNAPATCH#3352
  • Combat:
  • Added a general framework for combat value modification based on unit type. The old hardcoded 'AEGIS', 'AirUnit', 'Horse', 'Pikemen', 'Helicopter', and 'Fighter' flags are gone; it's now possible to add similar bonuses with different numeric values, and more of them. GNAPATCH#3548
  • Whether conquering units reduce city population is now defined by the ruleset, per unit class ('KillCitizen'). GNAPATCH#3613
  • Units defending while on non-native terrain (that is, ships in harbor) can have a defense penalty applied in this situation, via the unit class flag 'non_native_def_pct'. (This is distinct from the existing 'BadCityDefender' unit flag, which affects firepower.) GNA#20544
  • Sea units' ability to attack neighboring land is generalized as ability to attack non-native terrain, and controllable at unit class and type level ('AttackNonNative' and 'Only_Native_Attack' respectively). GNAPATCH#3264
  • Sea units' ability to attack from harbor is generalized as unit class ability to attack from city or transport in non-native terrain ('AttFromNonNative'). GNAPATCH#3333
  • Cities:
  • Cities can suffer ruleset-defined random disasters, whose effects can be mediated by the requirements system, and whose effects can be implemented by Lua script.
  • The limit on trade routes per city can now vary during gameplay (up to a maximum of 5). GNAPATCH#3178 Bonuses, ability to establish based on whether route is international and/or intercontinental, and what happens if a trade route becomes invalid are all now ruleset configurable. GNAPATCH#3444
  • As well as the changes to nationality listed in the gameplay section:
  • Rulesets can use the "Nationality" requirement in effects to test whether cities contain citizens of a specific nationality. GNAPATCH#3623
  • Rulesets can control whether and how much enemy citizens cause unhappiness with the "Enemy_Citizen_Unhappy_Pct" effect. GNAPATCH#3684
  • Rulesets can choose whether partisan appearance depends on the original city owner or the current nationality of the citizens, and if so what proportion is required for partisans. GNAPATCH#3762
  • The 'Inspire_Partisans' effect can now depend on properties of a specific city, not just player-wide requirements. GNAPATCH#3763
  • Specialists can now define a fallback graphics tag, so that rulesets with custom specialists can be played without tileset support. GNAPATCH#4239
  • The image to display for a city (City_Image) is now calculated on the server side, allowing ruleset authors to use requirements for it that the client may not have reliable access to. GNA#19952
  • The way city size is converted into a (cosmetic) population number is now more configurable. GNAPATCH#3406
  • Technology:
  • New effect 'Not_Tech_Source' prevents players from having technology stolen from them. GNAPATCH#3546
  • When a player gets a free technology, the method used to choose it is defined in the ruleset in 'free_tech_method'. Instead of the previous behavior of giving the player their currently researched technology, the ruleset can now specify the cheapest or a random technology. GNAPATCH#3552 GNAPATCH#3553
  • New tech_upkeep_style 'Cities', where tech upkeep scales with number of cities.
  • A player will no longer lose a technology (due to tech upkeep, etc) if it's a root_req for another technology the player knows. GNA#19176
  • The ruleset can request that technology help be popped up in the client when a new technology is acquired, via 'popup_tech_help'. (This can be overridden by the user.) GNAPATCH#3480
  • Nations
  • Nations can have an associated color; if the server setting 'plrcolormode' is set to the new value 'NATION_ORDER', players' colors will depend on their nation. GNAPATCH#3443
  • Rulesets can now define playable subsets of their nations ('nation sets'), one of which can be picked by players during game setup. This could be used for instance to define a number of different balanced sets of nations which have unique traits, perhaps tailored to different numbers of players. GNAPATCH#3448
  • The list of supplied nations has been split out to a new 'nationlist.ruleset', so that rulesets can use these nations while changing other aspects of 'nations.ruleset'. nationlist.ruleset has its own lists of governments, terrains, etc, so that it can be used by rulesets that are slightly different without errors.
  • Effects and requirements
  • 'Resource' added as requirement to effects system. GNAPATCH#3322
  • City effects can now depend on the presence of terrain with certain properties within the city's workable radius, by specifying 'Terrain', 'Resource', etc with 'City' range. GNAPATCH#3740
  • City effects can now place requirements on the city's own tile. GNA#19874
  • Expanded the ability to group ruleset objects into sets for requirement purposes with custom flags:
  • Terrains and technologies now have custom flags, as well as units, enabling limited disjunctive ("or") requirement definitions for these types. GNAPATCH#3487 GNAPATCH#4074
  • Requirements can test these flags. GNAPATCH#3395 GNAPATCH#4069
  • User flags now have ruleset-defined help text.
  • The maximum number of user flags for unit types has increased from 4 to 16 (as these are used for the combat bonuses framework). GNAPATCH#3393
  • For boolean effects, negative values are now evaluated as 'false', to ease ruleset development. GNAPATCH#3396
  • Lua scripting
  • Updated scripting engine to Lua 5.2. GNAPATCH#3230
  • Scripts can now set tile labels. GNAPATCH#3136
  • Scripts can now run on a new 'map_generated' signal. GNAPATCH#3135
  • Misc:
  • It's now possible to have multiple centers of government for the purposes of calculating waste and corruption, through the 'Gov_Center' effect. The distance to the nearest determines waste. GNAPATCH#3342
  • When a 'GameLoss' unit is killed, instead of the player's assets (units, cities, etc) just disappearing, the ruleset can cause some of them to be transferred to the conqueror, barbarians, and/or a new AI player ('gameloss_style'). GNA#20577
  • Rulesets can specify that start positions must be surrounded by a minimum area whose terrain is native to starting units ('min_start_native_area'). GNAPATCH#3614
  • Rulesets can completely disable civil war ('civil_war_enabled'). GNAPATCH#3818
  • Technologies with the 'Claim_Ocean' flag lift the normal restrictions on borders claiming ocean tiles. GNAPATCH#3355
  • The ruleset can define a 'preferred_soundset' which will be suggested to clients. (Only Gtk2/3 clients can ask the user; with other clients the user has to have enabled auto-accept for this to take effect.) GNAPATCH#3226
  • Tileset authors have a few new facilities. Existing tilesets need changes to work with 2.5 at all; see How to update a tileset from 2.4 to 2.5 for a minimal recipe.
  • When a unit is building a base or road, tilesets can now display an icon specific to that base/road. GNAPATCH#3305
  • The layer that darkness is drawn at is now configurable ('darkness_layer'). GNAPATCH#4461
  • Tilesets can now supply icons for unit upkeep greater than 2 to be displayed in the city dialog. GNAPATCH#3824
  • In the supplied tilesets, government and specialist icons have been split to separate files, so custom tilesets can replace them while continuing to use other graphics from the standard small.spec. GNAPATCH#4076 GNAPATCH#4422
  • Scenario creators have a couple of new features available. (Scenarios created with previous versions should continue to work in 2.5.)
  • Most of the supplied rulesets now include an 'Inaccessible' terrain type, for use by scenario authors to shape the map area. See the France scenario for an example of its use. GNAPATCH#4159 GNAPATCH#4158
  • Scenarios can now restrict the set of available nations (to those with start positions). GNA#21268
  • Changes affecting server operators Edit:
  • Failure to load a ruleset no longer causes the server to quit; it now reverts to the previously loaded ruleset, or failing that the default ruleset. GNAPATCH#1449
  • On Windows, the server no longer sets the socket option SO_REUSEADDR on its listening socket. This may fix some issues with clients connecting to the wrong server. GNA#21583
  • The default database backend for authentication has changed from MySQL to SQLite. GNA#19909
  • There's no longer support for attempting to save games in formats compatible with previous major releases of Freeciv. The 'saveversion' server option has been removed. GNAPATCH#3188 GNAPATCH#3026
  • AI Edit:
  • There have been some improvements to the standard AI's behavior:
  • Defense:
  • Autosettlers are smarter about spotting danger: GNAPATCH#3854
  • Sea and air units are now considered threats, not just land units.
  • Military units which can't attack are no longer considered threats.
  • Cities needing defense are less prone to building walls before units. GNAPATCH#4798
  • The AI now considers non-land units that can conquer cities (such as Helicopters) a threat to continents it controls. GNA#22225
  • The AI should more correctly account for travel time when assessing danger to cities from enemy units; previously it treated them as its own, which could be wrong for ZoC, restrictinfra etc. GNAPATCH#3729
  • (as of RC1) The city the AI has nominated to build wonders is now permitted to build defensive units instead if necessary. GNAPATCH#5588
  • (as of RC1) The AI now treats players it has never met as potentially hostile; this should make it harder for human players to sneak forces into place before first diplomatic contact. GNAPATCH#5441
  • Unit handling
  • Some fixes to AI's handling of boats as transports.
  • Terrain improvement:
  • The AI and autosettlers' relative weightings have been tweaked to give slightly better behavior with typical rulesets. In particular, production is now valued less compared to other outputs. GNAPATCH#3692
  • The AI and autosettlers can now decide to build bases, if they provide any direct output bonus to a nearby city, or enable another base which does so. (Bases are still not built for purely strategic purposes.) GNAPATCH#3341 GNAPATCH#3833
  • Economy:
  • When the AI is on a war footing, it now prefers diverting taxes to science rather than luxury. GNA#21640
  • The AI now considers keeping units in cities for their martial law effect, although it will not yet build units specially for this. GNAPATCH#3959
  • The AI values coinage less, to balance it compared to gold-producing buildings. GNA#21796
  • The AI may now create trade routes between continents. GNAPATCH#2963
  • Research:
  • The AI now considers more combat bonuses when deciding what technology to research. For instance, it may now work harder towards AEGIS Cruiser when defending against air units. GNAPATCH#3555 GNAPATCH#3563
  • The AI no longer chases technologies to gain units that are already obsolete. GNAPATCH#4013
  • The AI no longer remembers its past desire for long-obsolete technologies indefinitely. GNA#22260
  • Ruleset tolerance:
  • In rulesets which support ocean cities, the AI now considers building them. GNAPATCH#3533
  • The AI no longer builds sea-only worker units if the ruleset has them. This is a temporary solution to a previous issue where AI would build only sea worker units when they became available, and not land ones. GNAPATCH#4610
  • AI behavior is also now somewhat more configurable by rulesets:
  • The new traits framework allows AI behavior to be parameterized (current traits are Expansionist/Trader/Aggressive). Traits can be set in rulesets (globally or for specific nations), or by Lua script. GNAPATCH#3001
  • The 'Cheating' level AI no longer intrinsically ignores tax rate limitations. This is instead left up to the ruleset. The supplied rulesets give cheating AIs this bonus, so there is no functional change. GNA#18232
  • The following changes are only relevant to AI developers:
  • 'Default' AI logic, which was previously tied to the 'classic' AI type, can now be used selectively by custom AI modules, each with their own instance data.
  • The default AI type can be chosen at configure time. GNAPATCH#3666
  • Some progress has been made on the 'threaded' AI variant. It is now functional, but does not yet offer much advantage over the 'classic' AI. The only difference is that cities can make specific requests of worker units. The 'threaded' AI is not included in standard builds.
  • Clients Edit:
  • (as of beta2) The Qt client is now substantially complete, and a Windows build is available. A Qt version of the modpack installer is also available.
  • The city map size in the city dialog now adapts to the ruleset. This means that the city dialog in the SDL client is no longer unusably small with the classic and similar rulesets. GNAPATCH#4389
  • The client now only lists scenarios for "Start Scenario Game"; previously it could include ordinary save files that happened to be on the scenario path. GNA#22209
  • Client options to control whether tileset and soundset suggestions made by the ruleset are automatically accepted. This allows clients other than the Gtk clients to make use of these suggestions. GNAPATCH#3599 GNAPATCH#3605
  • (Gtk) The pregame nation selection dialog has been rewritten, fixing many small bugs. GNAPATCH#4347
  • (Gtk) The client can now optionally pop up help for a new technology when it's acquired. GNAPATCH#3608
  • Modpack installer Edit:
  • The modpack installer now keeps track of versions of packages it has previously installed. (It does not track changes made manually.) GNAPATCH#3163
  • A command-line tool for downloading modpacks, freeciv-mp-cli, has been created for use on headless servers. GNAPATCH#4436
  • The modpack installer can be built into multiple GUI flavored executables simultaneously. As a result, the executables have been renamed.
  • Modpacks can now have descriptions GNAPATCH#3645 and a 'subtype' field (e.g. to distinguish iso/hex tilesets) GNAPATCH#4394.
  • Tilesets / Art Edit:
  • The activity icons shown near units building roads and bases in Cimpletoon, Amplio2, and Trident are now small versions of the extras themselves. GNAPATCH#4059 GNA#20032 GNAPATCH#5856
  • (as of RC2) The Trident tileset has been updated for various recently added game elements, including lake and maglev. GNAPATCH#5856 GNAPATCH#5877
  • Improve colors for global warming / nuclear winter progress indicators. GNAPATCH#4827
  • The icons for entertainers, scientists, and tax collectors now have both male and female versions. GNAPATCH#4506
  • Made a few specialist icons available for custom rulesets (worker, farmer, merchant) for use by modpacks. These are not used in the supplied rulesets. GNAPATCH#4467
  • The Cimpletoon and Amplio2 (as of RC1) and Trident (as of RC2) tilesets have 'outpost' and 'airstrip' graphics for use by modpacks. GNAPATCH#5027
  • Translations Edit:
  • Updated French, Polish, Catalan, Russian, Korean, Scottish Gaelic, British English, traditional Chinese, Spanish, German, Japanese, Finnish, and Irish localizations.
  • Build/portability Edit:
  • A real thread implementation is now a hard requirement. GNAPATCH#2996
  • The SDL client now requires SDL_gfx and SDL_ttf libraries. Copies are no longer included with the Freeciv source. GNAPATCH#4088 GNAPATCH#4386
  • Clients other than the SDL client can now be built against SDL2_mixer. GNAPATCH#4189
  • (as of beta2) The build is now Clang-clean (with 3.3, 3.4, and 3.5).
  • See doc/README.packaging for more information.

New in Freeciv 2.5.0 RC2 (Mar 8, 2015)

  • When autosettlers were considering improving terrain, their thoughts could accidentally be sent to the client, so the client would display tiles with the wrong terrain temporarily. GNA#23286
  • Various bugfixes to the Qt client:
  • Changing ruleset caused the Qt client to crash. GNA#23322
  • Changing tileset could cause the Qt client to crash and other misbehavior. GNA#23326 GNA#23327
  • Fix some black-text-on-black-background tooltips. GNA#23325
  • Avoid scrollbars in the city production popup on Windows. GNA#23032
  • Clients failed to display unit nationality. GNA#23311
  • Fix a remaining crash in the Gtk2 client if the tileset is changed with the science dialog open. GNA#22625
  • An empty 'startunits' setting will now be rejected rather than causing a crash. GNA#23346
  • The Austrian nation was not being localized. GNA#23309
  • Updated Trident tileset with support for new game elements: lake, maglev, unit upkeep >2, unit activity icons, plus extras for modpacks (outpost, airstrip, aluminum, uranium, saltpeter, elephant). GNAPATCH#5856 GNAPATCH#5877
  • Fix minor misalignment of some city food/production/trade numbers in many supplied tilesets. GNA#23332
  • Other very minor tweaks to Cimpletoon and Amplio2 graphics. GNAPATCH#5855
  • Correct comment about gnuwin package used for Windows builds to match actual RC1 build. GNATASK#7887
  • Minor update to README.ruleset_civ2civ3 description of defense bonuses. GNAPATCH#5860
  • Invisible changes to assist localization. GNAPATCH#5854
  • Updated translations: Catalan (complete), Finnish (95.6% core, 87% nations).

New in Freeciv 2.5.0 RC1 (Feb 23, 2015)

  • Changes affecting players (supplied rulesets):
  • Changes to the civ2civ3 rules:
  • The Tribal government no longer gives a bonus to movement (this was too powerful, and confused the AI). Instead it increases the chances of gaining veterancy from combat, and martial law that pacifies 2 citizen per unit. GNA#22621 GNAPATCH#5763
  • Sun Tzu's War Academy no longer increases the chance of veterancy from combat. GNA#23206
  • Changes to terrain-related rules: GNAPATCH#5564 GNA#23275
  • Forest can be mined to Grassland; transformation now yields Hills.
  • Irrigation time for Swamp reduced.
  • Deep Oceans now produce 1 food rather than none.
  • Harbors and Offshore Platforms can now be built adjacent to Lake and Deep Ocean tiles, as well as Ocean.
  • Transports can no longer gain veterancy by cleaning pollution. Engineers' chances of veterancy from work are reduced. GNA#23290
  • Cities now get their extra defense bonus at size 9 rather than 8, thus requiring an Aqueduct. The risk of fire starts at size 9 also. City map icons updated to match. GNAPATCH#5764 GNAPATCH#5800
  • Explorers and Partisans see an extra tile; Partisans are now granted based on citizen nationality rather than city's original owner. GNAPATCH#5544
  • Crusaders no longer cause military unhappiness (to match Fanatics). GNAPATCH#5543
  • A.Smith's Trading Co. now has no effect during a Communist government; previously in this situation, buildings with upkeep 2 were free of upkeep. GNA#23205
  • Simplify production waste rules: the unlikely case of a Communist or Federation government without knowledge of Trade no longer leads to extra waste. GNAPATCH#5814
  • Changes to bombarder units (such as bombers and helicopters in civ2civ3):
  • Rule change: neither attacker nor defender can gain veterancy from bombardment. GNAPATCH#5835
  • Bug fix: attempting to move into an empty city with a bombarder now moves, rather than bombarding. GNA#20956
  • Changes to the experimental rules:
  • Caravan is no longer obsoleted by Freight; while slower, it can travel on more terrain than Freight. GNAPATCH#5791
  • Copy trade route rules from the classic ruleset (maximum trade routes varies depending on technology). GNAPATCH#5735
  • Fix trouble receiving future tech from Darwin's Voyage in the multiplayer ruleset. GNA#23264 GNA#23231
  • Cosmetic: the multiplayer ruleset (which doesn't support trade routes) no longer displays cities as having "0/4" trade routes. GNA#23253
  • In the civ2 ruleset, Fanatics are now free of upkeep under a Fundamentalist government; the free shield upkeep under that government has been reduced from 10 to 8. GNAPATCH#3505
  • Barbarian nations are no longer granted partisans from city capture in any supplied ruleset. GNAPATCH#5454
  • Changes to supplied scenario maps:
  • Various changes to small and large Earth maps, including more starting positions, increased player limits, and removal of non-default settings. GNAPATCH#5487
  • Reduce default number of players in France and North America scenarios so that nations matching the scenario start positions will be used with the core nationset. GNA#21350
  • Fix a terrain glitch in the France scenario. GNA#23273
  • With the new 'fair island' map generator, generated terrain resources were ineffective. Saving and reloading the game fixed this. GNA#22981
  • In rulesets where the maximum number of trade routes can vary, a city with more trade routes than the current maximum could not change them. Now, a single new trade route that would yield more than several of the current ones and bring the number of routes within the new maximum can be established. GNA#22243
  • Prevent team-mates from withdrawing shared vision from each other. GNA#22992 GNAPATCH#5472
  • Fix some bugs with visibility of unit movement: GNA#23030
  • If one of your nuclear units exploded over an enemy city, you could be left with an apparent immovable 'ghost' missile over the city.
  • Players witnessing paradrops through shared vision could fail to see the unit.
  • Fix some bugs with visibility of unit movement: GNA#23030
  • If one of your nuclear units exploded over an enemy city, you could be left with an apparent immovable 'ghost' missile over the city.
  • Players witnessing paradrops through shared vision could fail to see the unit.
  • When a technology or similar effect increased city vision radius (such as Electricity in civ2civ3), the benefit was not immediately applied to existing cities. GNA#23254
  • When an enemy pillages a vision-granting base such as a buoy, the base is now removed from the victim's view of the map. GNA#22863
  • When a disaster causes loss of production progress in a city, close some loopholes that allowed recovery in some circumstances. GNA#23218
  • Changes affecting other rulesets / modders:
  • script.lua is now evaluated before default.lua, so that rulesets can pre-empt signal handlers set by by default.lua (currently "hut_enter" and "city_lost"). GNA#23101
  • Previously, only completion of a mine would cause units on adjacent tiles to check whether they could complete their activity (because it could prevent new irrigation in supplied rulesets). This check has been extended to all terrain-altering activities. GNAPATCH#4656
  • Logic that picks a good defender unit for a city now looks at the ruleset's BadCityDefender flag, rather than assuming that sea units have that flag and others do not. GNAPATCH#4838
  • If a ruleset triggered an effect off the "disaster" Lua signal, the game engine would still emit the message "We survived the disaster without serious damages", which could be inappropriate. This message has now been removed. GNA#22082
  • Fix a few cases where a negative value for a boolean effect would erroneously enable it: 'Fanatics' (GNA#23142), 'Unit_No_Lose_Pop' (GNA#23180), and 'Tile_Workable' (GNA#23266).
  • Fix possible AI confusion in rulesets with sea units with native bases. GNAPATCH#4836
  • More robustness against invalid rulesets. GNA#23107
  • Apply patch 3 to the included Lua 5.2.3. GNAPATCH#5839
  • Changes affecting server operators:
  • The --identity option now affects LAN announcements as well as metaserver announcements. GNAPATCH#5436
  • The /mapimg delete all command did not always delete every definition. GNA#23095
  • Server tab completion for save file names did not allow .xz compressed savegames. GNA#23105
  • Log any failure to save a game. GNAPATCH#5739
  • Fix a possible server crash on quit. GNA#22996
  • General Edit:
  • Change the networking code on Windows to hopefully resolve "bind failed" errors when starting the server. GNA#22448
  • Fix a bug that could cause incorrect interpretation of non-ASCII characters in descriptions of nations in the extended set (nationset=all). GNA#23159 This is believed to be the root cause of client crashes on Windows in certain non-English locales with the extended nations. GNA#22638
  • Some optimization for speed, particularly on the server, some as a result of profiling analysis. GNAPATCH#5633 GNAPATCH#5632 GNA#23093 GNAPATCH#5778
  • AI Edit:
  • The AI now treats players it has never met as potentially hostile; this should make it harder for human players to sneak forces into place before first diplomatic contact. GNAPATCH#5441
  • The city the AI has nominated to build wonders is now permitted to build defensive units instead if necessary. GNAPATCH#5588
  • The AI could continue trying to build worker units in inappropriate situations, such as where the population cost would cause a city to disband. GNA#22972
  • AI players could be prevented from ever making any new treaties by failing to remove clauses from an existing failed treaty. This particularly affected diplomacy between AI players. GNA#20761
  • The AI now better understands worker/settler units that cost more than 1 city population to build (as in the civ2civ3 ruleset). GNAPATCH#5440
  • Fix possible AI crashes in rulesets with ocean cities. GNA#23046 GNA#23227 GNA#23230 GNA#23250
  • Changes to the 'Cheating' AI level:
  • It now costs 20% more to incite cities belonging to the 'Cheating' AI level to revolt. GNAPATCH#5743 GNAPATCH#4754
  • The civ2civ3 ruleset was missing some of the standard bonuses for the 'Cheating' AI. GNAPATCH#5811
  • In servers with the threaded AI built in but not in use, a message queue would silt up causing unbounded memory and CPU use. GNA#23146
  • With the threaded AI, terrain improvement tasks assigned by cities were never dealt with. GNA#23079 GNA#23081
  • For AI developers: a new configure option --with-ai-lib forces the default AI code to be built in for use by a custom AI, even if none of the supplied AIs are being built. GNAPATCH#5447
  • Clients Edit:
  • New features and bugfixes in the Qt client:
  • Added on-line help. GNA#23009 GNA#23052 GNAPATCH#5546 GNAPATCH#5747 GNAPATCH#5748
  • Add bulk selection criteria to the city report. GNA#23033
  • Added 'Save' and 'Leave game' options. GNA#23011 GNA#23097 GNAPATCH#5600
  • Ask for confirmation to exit. GNA#23062
  • Can now change government by clicking on the main map government icon. GNAPATCH#5762
  • Menu option for unit to help build wonder. GNA#23100
  • Bug fix: city names with non-ASCII characters were displayed incorrectly. GNA#23007
  • Bug fix: city dialog claimed city was celebrating when it was not. GNAPATCH#5552
  • Bug fix: changing tileset did not fully refresh the science dialog. GNA#22935
  • Replaced some icons to fix a licensing issue. GNA#23094 GNA#23213
  • Other minor cosmetic tweaks. GNAPATCH#5760
  • The Windows installer included some unneeded cruft and is now smaller. GNA#23057
  • The client could crash if the tileset was changed with the science dialog open. GNA#22625
  • Area selection mode for cities (right-click-and-drag) now works in games with national borders disabled. GNA#23058
  • Some speedups to map drawing. GNAPATCH#5449 GNAPATCH#5450
  • Improve diagnostics for unknown client-specific command-line options. GNA#23035
  • (Gtk2) On Windows, the Gtk2 client could crash whenever windows were moved or resized. GNA#23022
  • (Gtk3) Fix a consistent crash on some systems whenever a city dialog is opened (for instance, when founding the first city). GNA#21942
  • (Gtk3) The Turn Done button now blinks if you are the last player to finish a turn in a multiplayer game. GNA#23269 (This functionality has theoretically been present in all clients, but has been more or less broken forever. It now takes into account disconnected players. GNA#23277)
  • (Gtk3) Make opening page work better on small screens. GNA#21028
  • (Gtk3) Clicking "Show All Cities" in the Goto/Airlift dialog could cause all cities to be focused in turn. GNA#20624
  • (Gtk) Minor visual tweaks. GNAPATCH#5456 GNAPATCH#5455 GNA#20772 GNAPATCH#5776
  • (SDL) It was not possible to withdraw shared vision from someone you were at war with. GNA#23210
  • (SDL) Correct shortcut key label for transform (to 'O' instead of 'M'). GNA#23162
  • (SDL) Fix a possible crash if font loading fails. GNA#23195
  • The Xaw client is now considered unmaintained. GNAPATCH#5504 GNAPATCH#5793 GNAPATCH#5792
  • Tools Edit:
  • Fix several serious bugs in the Qt modpack installer that made it largely unusable, especially on Windows. GNAPATCH#5488 GNA#23067 GNA#23141 GNA#23029 GNAPATCH#5706
  • Fix error messages and possible crashes from modpack installers on Windows. GNA#22966
  • Fix possible bugs when closing the modpack installer. GNA#23055
  • Accept GUI-specific command-line arguments. GNA#23102
  • Tilesets / Art Edit:
  • Better support for the civ2civ3 ruleset:
  • Tilesets can now provide distinct graphics for Tribal and Federation governments and the Internet wonder. GNAPATCH#5804 GNAPATCH#5801
  • All supplied tilesets now have graphics for all civ2civ3 elements except the Internet. GNAPATCH#5486 GNA#20030 GNA#23134 GNAPATCH#5805
  • Extra graphics and fixes in the Cimpletoon and Amplio2 tilesets:
  • Icons for unit upkeep above 2, to support rulesets where that's possible. Notably, this makes more obvious the longstanding behaviour that the multiplayer ruleset's Fundamentalism government has food upkeep 3. GNAPATCH#4486 GNAPATCH#5784
  • Distinct icons for all unit activities. GNA#20032 GNAPATCH#5840
  • "Outpost" and "airstrip" graphics for use by third-party rulesets (intended for Fortress and Airbase precursors). GNAPATCH#5027 GNAPATCH#5816 GNAPATCH#5841
  • Minor glitch fixes. GNAPATCH#5282
  • The Trident tileset now has graphics for Maglev. GNAPATCH#5598
  • The Cimpletoon and Trident tilesets now have Inaccessible terrain graphics. GNAPATCH#4160 GNA#23135
  • The editor 'road' tool now has a proper icon. GNA#20536

New in Freeciv 2.4.4 Stable (Dec 8, 2014)

  • A bugfix release in the stable 2.4 series.

New in Freeciv 2.4.3 Stable (Aug 13, 2014)

  • 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. GNA#21899
  • The server could leak information about how many units were in an enemy city, which a modified client could use to cheat. GNA#22049
  • 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. GNA#22056
  • In team games with the server setting 'team_pooled_research' disabled, the server could crash, and team members' research goals still affected each other. GNA#21160 GNA#21161
  • 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. GNA#22271 GNA#22343 GNA#22340
  • Games with large numbers of units and/or cities in their history (tens of thousands) could crash. GNA#21950
  • When a caravan arrived in a coastal city on a ship, the caravan arrival dialog was not being popped up. GNA#22054
  • When an attack can't be carried out, a reason is now given. GNAPATCH#4445 GNA#21693 GNA#21728 GNA#21733 GNA#21767
  • A unit could not conquer a city while carrying other units (this could happen with a Mech. Inf. carrying missiles in the experimental ruleset). GNA#20789
  • Fix assertion failures from a rare case of first contact between AIs triggered by unit movement from alliance breakup. GNA#22245
  • When a trade route is canceled due to a better one being established, the player whose action initiated this is now notified. GNAPATCH#4526
  • Diplomats/Spies could not steal Future Tech. GNA#22057
  • The multiplayer ruleset now defaults to an isometric topology, to match the client default. GNA#22325
  • civ1/civ2: Veteran Diplomats were vastly overpowered. Reduced their relative strength back to the level they had in 2.3.x. GNA#22202
  • civ2: Food upkeep for Settlers reduced from 3 to 2 under Communist and Fundamentalist governments. GNA#21519
  • civ2: Barbarian players without a capital no longer suffer from crippling (or any) shield waste. GNA#21629
  • Prevent Nuclear units in supplied rulesets from gaining useless veteran levels from Airports. GNA#22164
  • Barbarian and civil war leaders are now reported with the correct title for their gender (previously they were always created as female). GNA#21853
  • 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. GNA#22171 GNA#22199 GNA#22201
  • Fix trouble loading a savefile from a ruleset where the maximum number of veteran levels for a unit has decreased in more recent versions. GNA#22172
  • 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). GNA#21559 GNA#22424
  • In rulesets with self root_req technologies, technology loss due to tech upkeep can no longer cause loss of such technologies. GNA#22161
  • Rulesets containing unit classes other than land units which are subject to zones of control could cause erroneous assertion failures. GNA#21777
  • 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. GNA#21470
  • 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. GNA#22389
  • 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. GNA#22050
  • In a ruleset where a nation's first city is granted a free great wonder, clients would not be reliably updated with its effects. GNA#22276
  • If city removal caused removal of infrastructure (such as roads in a disbanded ocean city), this would not reliably be sent to clients. GNA#22074
  • A base added to a tile via Lua script would not reliably be sent to clients. GNA#21738
  • Calling (Tile):has_base() in Lua with a nonexistent base name could crash the server. GNA#22341
  • Fix trouble with changing an existing tile label on a tile. GNA#21657
  • Fix trouble loading a pre-2.3 savefile from a ruleset which has since had citizen nationality enabled. GNA#20538
  • Fix trouble in the client help for nations with an explicit rule_name. GNA#22241
  • Extra sanity checking when loading rulesets. GNAPATCH#4682 GNAPATCH#4972
  • 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. GNA#21632
  • Loading xz-compressed savegames could fail. GNA#21603
  • 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. GNA#22447
  • A server started with the -e option erroneously sent a message to its metaserver claiming that it would restart soon rather than shutting down. GNA#21504
  • Failure to set up the multicast socket for LAN game announcements could cause trouble later. GNA#21781
  • When the server was in mode, detached clients could receive unwanted packets and emit warnings. GNA#21468
  • The script for creation of MySQL authentication databases no longer uses syntax incompatible with recent MySQL/MariaDB. GNA#21315
  • Newly created savegames contain information to speed up creation of a scenario list in future versions. GNAPATCH#4815
  • Fix a very minor memory leak in the island-based map generator. GNA#21553
  • General
  • Some optimization for speed, particularly on the server, some as a result of profiling analysis. GNAPATCH#4609 GNAPATCH#4563 GNAPATCH#4672 GNA#21972 GNAPATCH#4678 GNAPATCH#4694 GNAPATCH#4883 GNAPATCH#4934 GNA#22392
  • Fix logging in a rare situation. GNA#21658
  • Various internal changes which should only affect developers. GNAPATCH#4469 GNAPATCH#4483 GNAPATCH#4626 GNA#21895 GNAPATCH#4693 GNA#22106 GNA#22183 GNA#22277 GNAPATCH#4937 GNA#22345 GNA#22380 GNA#22364
  • Fix a crash related to AI diplomacy in a game with alternating phases, and possibly other similar issues. GNA#21616 GNAPATCH#4515
  • Fix broken AI evaluation of government benefits. GNA#21742
  • 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. GNA#21892
  • Fixes to the AI's ability to find a beachhead to land troops. GNA#21913
  • 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. GNAPATCH#4711
  • 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. GNA#22445
  • 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. GNA#21630
  • Fix a case where an AI sea bodyguard could abandon its charge after meeting it. This doesn't affect the supplied rulesets. GNAPATCH#4864
  • Allow the AI to consider building-specific benefits with some ruleset constructs (which are not used in the supplied ruleset). GNA#21852
  • Some fixes to the AI's evaluation of benefits in rulesets using negated requirements. Does not affect the supplied rulesets. GNAPATCH#4451 GNA#22399
  • 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.) GNA#22363
  • Clients
  • 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. GNA#20625
  • Fix some possible goto/pathfinding issues for units with more than one turn of fuel, such as bombers. GNAPATCH#4931
  • 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. GNA#21549
  • 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. GNA#21409
  • 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. GNA#21442
  • 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." GNA#21326
  • Preparing the list of scenarios can take a while, so the client now displays a message while that's going on. GNAPATCH#4814
  • Menu music wasn't being played after leaving a game and returning to the main menu. GNA#21635 GNA#22077
  • Copying and pasting in the or caused spurious/mangled tile labels to appear. GNA#21656
  • The or spuriously prevented setting the veteran level of units with the NoVeteran flag. GNA#22198
  • (Gtk) The apostrophe key now focuses the chatline in pregame (as it already did during play). GNA#22429 GNA#22453
  • (Gtk) The client now quits more cleanly in some circumstances. GNA#21806
  • (Gtk) Fix an assertion failure on quit after opening the Lua console. GNA#22431
  • (Gtk2) Minor improvement to error reporting when loading graphics fails. GNAPATCH#4478
  • (Gtk3) Clicking on specialists in the city dialog did the wrong thing. GNA#22366
  • (Gtk3) Fix some causes of slowness with the Gtk3 client and its default theme. GNAPATCH#4590 GNA#21726
  • (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). GNA#21604
  • (Gtk3) Fix some minor cosmetic issues. GNA#22078 GNAPATCH#4786
  • (SDL) Display real names of veteran levels instead of always saying 'veteran'. GNA#22170
  • (SDL) Fix unclean shutdown. GNA#22124
  • Tools
  • The modpack installer could become unstable due to incorrect thread usage. GNA#22168
  • Help / Documentation
  • The documentation of the --scenarios option was completely wrong. GNA#21713
  • Fix generated help text for negated requirements; these were incorrect, for instance for the Aqueduct buildings in the civ2civ3 ruleset. GNAPATCH#3841
  • Autogenerated help for governments now documents non-integer upkeep factors, and documents veteran bonuses better. GNAPATCH#4450 GNA#21624
  • Miscellaneous other improvements to in-game text and user documentation. GNA#21631 GNAPATCH#4733 GNA#22150 GNA#22152 GNA#22165 GNA#22246 GNAPATCH#4873 GNA#21446 GNAPATCH#4908 GNA#22281 GNA#22300 GNAPATCH#4125 GNA#21550 GNA#22405 GNA#22416 GNAPATCH#5012 GNA#22427 GNA#22430 GNAPATCH#4400 GNAPATCH#4507 GNA#21712 GNA#22127 GNAPATCH#5016
  • Miscellaneous changes to developer/ruleset docs. GNAPATCH#4689 GNA#22200 GNAPATCH#4907
  • Invisible changes to assist localization. GNA#21528 GNA#22322 GNA#22303 GNA#22415
  • Translations
  • 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%).
  • Build/portability
  • 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. GNA#22076
  • Building could fail to link against libintl when needed. GNA#22266
  • Building with a recent libtool could fail with Lua errors. GNA#21696 GNA#21897
  • Add a configure check for _setjmp(); without this, building failed for the Haiku platform. GNA#22320
  • configure now correctly checks for a minimum Curl version of 7.9.7. GNAPATCH#4716
  • Clarify configure's error message when no client can be built. GNAPATCH#4870
  • Fix various compiler warnings, many detected by the Clang toolchain. GNA#21495 GNA#21496 GNAPATCH#4492 GNAPATCH#4504 GNA#18872 GNAPATCH#4785 GNA#19307 GNA#21773

New in Freeciv 2.4.2 Stable / 2.5.0 Beta 1 (Jul 21, 2014)

  • Server / General
  • Changes affecting players (supplied rulesets)
  • A new ruleset civ2civ3 is included, an evolution of the civ2_3 ruleset by David Fernandez (bardo). This has some elements from Civ3, and is also designed to reduce the gap between inexperienced and optimal play, and for the AI to play well. It is suitable for single-player and multiplayer games. See doc/README.ruleset_civ2civ3 for more information. GNAPATCH#3366
  • This version of the ruleset is similar to previous versions but does have some changes, including taking advantage of new facilities in the game engine. civ2_3 games started in previous versions of Freeciv cannot be continued with this version.
  • This is planned to become the default ruleset in a future release. The current default ruleset has been renamed to 'classic' and will continue to be available. From now on the name 'default' will refer to whatever ruleset the running version of Freeciv defaults to. GNAPATCH#3216
  • Rules changes affecting all or most rulesets:
  • (not civ1/civ2) City tiles are no longer an exception to the rule that the 'Bridge Building' technology is required to build roads over rivers. Such cities no longer automatically get roads until the technology is acquired. GNAPATCH#3007
  • (not civ2/multiplayer) Cities suffer random disasters such as population loss and building loss. A new server setting 'disasters' controls their frequency, or disables them entirely.
  • (not civ1/civ2) 'Barracks' buildings and 'Sun Tzu's War Academy' are now cumulative: if you have both, new units are created at the Hardened veteran level. GNAPATCH#3062
  • In rulesets with nationality tracking (classic, experimental, civ2civ3):
  • Citizens now gradually convert to the nationality of the city owner over time, at a ruleset-defined rate. GNAPATCH#2365
  • Units now have their own nationality, which remains the same even if they are bribed or captured. Settler units founding or adding to cities add citizens of their own nationality. GNAPATCH#3625 GNAPATCH#3635
  • Changes to what happens if research points go negative (due to transfer costs or tech upkeep):
  • A new server setting 'techlossforgiveness' controls whether technologies can be lost at all, and if so, how much debt triggers tech loss. Previously this was controlled by the ruleset; of the supplied rulesets, only the experimental ruleset had this behavior. GNAPATCH#3193
  • When technology is lost, half the bulb cost of the lost technology is now added on to the current bulb balance (this may not be sufficient to make it positive). The proportion is controlled by the new server setting 'techlossrestore'. The old behavior, where any bulb debt was completely cancelled, can be restored by setting this to -1. GNA#21623
  • When a freshwater terrain (lake) and an oceanic terrain type become adjacent due to terrain change, the ocean now floods the whole lake. GNAPATCH#3478 In rulesets which support it, transforming a swamp bordering a lake now results in lake, not ocean. GNA#20043
  • In games where 'startunits' includes a k)ing unit, such units are also given to new players created as a result of civil war. GNAPATCH#3812
  • Rule changes to specific rulesets:
  • classic:
  • The limit on trade routes now depends on what technology you have. You start with 2 per city, and can add one more with each of 'Magnetism' and 'The Corporation'.
  • Tracking of citizen nationality is now enabled. See the help for what this means. GNAPATCH#3624
  • experimental:
  • New road type 'Maglev', requiring 'Superconductors' and giving unlimited movement to 'Land' units. Regular railroads now give fast but limited movement (each tile takes 1/9 of a movement point). GNAPATCH#3295 GNAPATCH#4008
  • Citizens of your enemies in your own cities cause unhappiness, with the amount depending on your government type. GNAPATCH#3628
  • Partisan appearance now depends on how many of the conquered city's citizens had the nationality of the defeated player, rather than the original city owner. GNAPATCH#3762
  • Paratroopers can now paradrop directly to a transport in the ocean. GNAPATCH#3805
  • Most technologies now have 'root_req' requirements, preventing acquisition of the technology by any means (such as trading) unless some key earlier technology is known.
  • By default, it is possible to sustain a small research point debt without losing a technology. However, if a technology is lost, the debt may not be completely cancelled.
  • civ1 and civ2 (to improve their fidelity):
  • Maximum number of trade routes per city reduced from 4 to 3.
  • When a free tech is granted, it's now chosen randomly, rather than being whatever the player was researching.
  • Other changes:
  • Nations:
  • Added 16 new playable nations to standard rulesets, bringing the total to 555.
  • The set of 50 'core' nations introduced in 2.4 are now by default the only nations that will appear in games. To play with the full set of (possibly untranslated) nations, change the nation set in the 'pick nation' dialog, or the server 'nationset' option. GNAPATCH#3448
  • The pirate and barbarian flags be swapped, so that pirates now have the Jolly Roger, as they should. GNA#22236
  • In the classic and civ2civ3 rulesets, maps are now generated with scenic tile labels on a few random tiles. These have no gameplay effect. GNAPATCH#3147
  • Minor changes to transport units:
  • Units may now load onto and unload from transports that are themselves inside another transport. GNA#22050 GNA#22190
  • While there is still no way to choose which transport is used if there are several on a tile, cargo units will now prefer the transport with more move points. GNA#22189
  • Goto / pathfinding:
  • You can now set waypoints for groups of units starting on different tiles. GNAPATCH#4418
  • Improved route planning across 'pontoon bridges' (units bridging water). GNA#21871
  • Multiple units working on overlapping connect-with-road or similar projects no longer interrupt each other's work. GNAPATCH#2206
  • Changes affecting other rulesets / modders
  • Ruleset authors can control much more of the game behavior. Existing rulesets need changes to work with 2.5; see How to update a ruleset from 2.4 to 2.5 for a minimal recipe.
  • Movement
  • Rulesets can now define new types of paths, replacing hard-coded road, railroad, and river behavior. Up to 8 distinct road and/or river types can be defined. Many previously hardcoded behaviors are now configurable. GNAPATCH#2521
  • Granularity of movement points ('move_fragments') is now specified by the ruleset, rather than being hardcoded at 1/3. Move rate of 'IgTer' units is also configurable. GNAPATCH#3990
  • The 'Relaxed' orthogonal move mode for rivers (now also available for roads) no longer gives a movement bonus for diagonal moves unless the path actually links the two tiles. GNA#20472
  • Rulesets can allow units to paradrop directly onto transport units. GNAPATCH#3805
  • Rulesets have more control over when units can enter and leave 'unreachable' transports (usually air transports). By default cargo of such transports can no longer embark/disembark unless in a city or a base native to the transport, but exceptions can be made for individual units. GNAPATCH#3804
  • The game now enforces that no transport unit may contain a unit which could transport it, and that units can be nested no more than six deep, even if the ruleset would allow these situations. This may simplify defining complex transport relations in rulesets without defining many unit classes. GNA#22050
  • (Some versions of 2.4.x had attempts to enforce this, but they merely caused error messages rather than preventing the situation from occurring.)
  • Terrain and alterations
  • More flexible bases:
  • Rulesets can now define bases which are allowed on city tiles, or automatically added to cities. GNA#3826
  • Ability and time to build bases can now be terrain-dependent. GNAPATCH#3152
  • Owned bases can now display their owner's flag. GNAPATCH#3450
  • Rulesets can now change when any of the built-in terrain alterations and transformations can be performed by units (in 2.4, it was only possible to affect irrigation). The full set is:
  • Irrig_Possible: is building irrigation possible?
  • Mining_Possible: is building a mine possible?
  • Irrig_TF_Possible: is changing terrain type with "irrigation" action possible?
  • Mining_TF_Possible: is changing terrain type with "mine" action possible?
  • Transform_Possible: is "transform" action possible?
  • Terrains can now be marked with the 'NotGenerated' flag, so that the map generator will not use them (for use in scenarios, etc). GNAPATCH#4158
  • Units
  • The unit 'convert' action is no longer instant; it takes a ruleset-defined time (at least one turn) for suitable units to convert into another type. GNAPATCH#3110
  • The 'Veteran_Build' effect (used for 'Barracks', etc) can now cause units to gain multiple veteran levels. GNAPATCH#3062
  • Rulesets are now permitted to contain no city-founding units. GNAPATCH#3352
  • Combat
  • Added a general framework for combat value modification based on unit type. The old hardcoded 'AEGIS', 'AirUnit', 'Horse', 'Pikemen', 'Helicopter', and 'Fighter' flags are gone; it's now possible to add similar bonuses with different numeric values, and more of them. GNAPATCH#3548
  • Whether conquering units reduce city population is now defined by the ruleset, per unit class ('KillCitizen'). GNAPATCH#3613
  • Units defending while on non-native terrain (that is, ships in harbor) can have a defense penalty applied in this situation, via the unit class flag 'non_native_def_pct'. (This is distinct from the existing 'BadCityDefender' unit flag, which affects firepower.) GNA#20544
  • Sea units' ability to attack neighbouring land is generalised as ability to attack non-native terrain, and controllable at unit class and type level ('AttackNonNative' and 'Only_Native_Attack' respectively). GNAPATCH#3264
  • Sea units' attack from harbor is generalised as unit class ability to attack from city or transport in non-native terrain ('AttFromNonNative'). GNA#3333
  • Cities
  • Cities can suffer ruleset-defined random disasters, whose effects can be mediated by the requirements system, and whose effects can be implemented by Lua script.
  • The limit on trade routes per city can now vary during gameplay (up to a maximum of 5). GNAPATCH#3178 Bonuses, ability to establish based on whether route is international and/or intercontinental, and what happens if a trade route becomes invalid are all now ruleset configurable. GNAPATCH#3444
  • As well as the changes to nationality listed in the gameplay section:
  • Rulesets can use the "Nationality" requirement in effects to test whether cities contain citizens of a specific nationality. GNAPATCH#3623
  • Rulesets can control whether and how much enemy citizens cause unhappiness with the "Enemy_Citizen_Unhappy_Pct" effect. GNAPATCH#3684
  • Rulesets can choose whether partisan appearance depends on the original city owner or the current nationality of the citizens, and if so what proportion is required for partisans. GNAPATCH#3762
  • The 'Inspire_Partisans' effect can now depend on properties of a specific city, not just player-wide requirements. GNAPATCH#3763
  • Specialists can now define a fallback graphics tag, so that rulesets with custom specialists can be played without tileset support. GNAPATCH#4239
  • The image to display for a city (City_Image) is now calculated on the server side, allowing ruleset authors to use requirements for it that the client may not have reliable access to. GNA#19952
  • The way city size is converted into a (cosmetic) population number is now more configurable. GNAPATCH#3406
  • Technology
  • New effect 'Not_Tech_Source' prevents players from having technology stolen from them. GNAPATCH#3546
  • When a player gets a free technology, the method used to choose it is defined in the ruleset in 'free_tech_method'. Instead of the previous behavior of giving the player their currently researched technology, the ruleset can now specify the cheapest or a random technology. GNAPATCH#3552 GNAPATCH#3553
  • New tech_upkeep_style 'Cities', where tech upkeep scales with number of cities.
  • A player will no longer lose a technology (due to tech upkeep, etc) if it's a root_req for another technology the player knows. GNA#19176
  • The ruleset can request that technology help be popped up in the client when a new technology is acquired, via 'popup_tech_help'. (This can be overridden by the user.) GNAPATCH#3480
  • Nations
  • Nations can have an associated color; if the server setting 'plrcolormode' is set to the new value 'NATION_ORDER', players' colors will take this color. GNAPATCH#3443
  • Rulesets can now define playable subsets of their nations ('nation sets'), one of which can be picked by players during game setup. This could be used for instance to define a number of different balanced sets of nations which have unique traits, perhaps tailored to different numbers of players. GNAPATCH#3448
  • The list of supplied nations has been split out to a new 'nationlist.ruleset', so that rulesets can use these nations while changing other aspects of 'nations.ruleset'. nationlist.ruleset has its own lists of governments, terrains, etc, so that it can be used by rulesets that are slightly different without errors.
  • Effects and requirements
  • 'Resource' added as requirement to effects system. GNAPATCH#3322
  • City effects can now depend on the presence of terrain with certain properties within the city's workable radius, by specifying 'Terrain', 'Resource', etc with 'City' range. GNAPATCH#3740
  • City effects can now place requirements on the city's own tile. GNA#19874
  • Expanded the ability to group ruleset objects into sets for requirement purposes with custom flags:
  • Terrains and technologies now have custom flags, as well as units, enabling limited disjunctive ("or") requirement definitions for these types. GNAPATCH#3487 GNAPATCH#4074
  • Requirements can test these flags. GNAPATCH#3395 GNAPATCH#4069
  • User flags now have ruleset-defined help text.
  • The maximum number of user flags for unit types has increased from 4 to 16 (as these are used for the combat bonuses framework). GNAPATCH#3393
  • For boolean effects, negative values are now evaluated as 'false', to ease ruleset development. GNAPATCH#3396
  • Lua scripting
  • Updated scripting engine to Lua 5.2. GNAPATCH#3230
  • Scripts can now set tile labels. GNAPATCH#3136
  • Scripts can now run on a new 'map_generated' signal. GNAPATCH#3135
  • Misc
  • It's now possible to have multiple centers of government for the purposes of calculating waste and corruption, through the 'Gov_Center' effect. The distance to the nearest determines waste. GNAPATCH#3342
  • When a 'GameLoss' unit is killed, instead of the player's assets (units, cities, etc) just disappearing, the ruleset can cause some of them to be transferred to the conqueror, barbarians, and/or a new AI player ('gameloss_style'). GNA#20577
  • Rulesets can specify a minimum area native to starting units that start positions must have ('min_start_native_area'). GNAPATCH#3614
  • Rulesets can completely disable civil war ('civil_war_enabled'). GNAPATCH#3818
  • Technologies with the 'Claim_Ocean' flag lift the normal restrictions on borders claiming ocean tiles. GNAPATCH#3355
  • The ruleset can define a 'preferred_soundset' which will be suggested to clients. (Only Gtk2/3 clients can ask the user; with other clients the user has to have enabled auto-accept for this to take effect.) GNAPATCH#3226
  • Tileset authors have a few new facilites. Existing tilesets need changes to work with 2.5 at all; see How to update a tileset from 2.4 to 2.5 for a minimal recipe.
  • When a unit is building a base or road, tilesets can now display an icon specific to that base/road. GNAPATCH#3305
  • The layer that darkness is drawn at is now configurable ('darkness_layer'). GNAPATCH#4461
  • Tilesets can now supply icons for unit upkeep greater than 2 to be displayed in the city dialog. GNAPATCH#3824
  • In the supplied tilesets, government and specialist icons have been split to separate files, so custom tilesets can replace them while continuing to use other graphics from the standard small.spec. GNAPATCH#4076 GNAPATCH#4422
  • Scenario creators have a couple of new features available. (Scenarios created with previous versions should continue to work in 2.5.)
  • Most of the supplied rulesets now include an 'Inaccessible' terrain type, for use by scenario authors to shape the map area. See the France scenario for an example of its use. GNAPATCH#4159 GNAPATCH#4158
  • Scenarios can now restrict the set of available nations (to those with start positions). GNA#21268
  • Changes affecting server operators
  • 'killstack', which controls whether all units on a tile die simultaneously, is now a server setting (previously it was controlled by the ruleset). GNA#18698
  • 'killcitizen' is now a boolean setting rather than a bitfield; which units reduce city population is now controlled by the ruleset. GNAPATCH#3613
  • A new server setting 'startcity' causes players to start with their first city already founded. GNAPATCH#3495
  • Two new values for the 'diplomacy' setting: "NOAI" which allows diplomacy except between AIs, and "NOMIXED" which only prevents human/AI diplomacy. GNAPATCH#4213
  • Failure to load a ruleset no longer causes the server to quit; it now reverts to the previously loaded ruleset, or failing that the default ruleset. GNAPATCH#1449
  • There's no longer support for attempting to save games in formats that might be compatible with previous major releases of Freeciv. The 'saveversion' server option has been removed. GNAPATCH#3188 GNAPATCH#3026
  • The server no longer sets the socket option SO_REUSEADDR on its listening socket. This may fix some issues with clients connecting to the wrong server, particularly, on Windows. GNA#21583
  • The default database backend has changed from MySQL to SQLite. GNA#19909
  • There have been some improvements to the standard AI's behavior:
  • Defense
  • The AI should more correctly account for travel time when assessing danger to cities from enemy units; previously it treated them as its own, which could be wrong for ZoC, restrictinfra etc. GNAPATCH#3729
  • Autosettlers are smarter about spotting danger: GNAPATCH#3854
  • Sea and air units are now considered threats, not just land units.
  • Military units which can't attack are no longer considered threats.
  • Cities are less prone to building walls before defending units. GNAPATCH#4798
  • The AI now considers non-land units that can conquer cities (such as Helicopters) a threat to continents it controls. GNA#22225
  • Unit handling
  • Some fixes to AI's handling of boats as transports.
  • Terrain improvement
  • The AI and autosettlers' relative weightings have been tweaked to give slightly better behavior with typical rulesets. In particular, production is now valued less compared to other outputs. GNAPATCH#3692
  • The AI and autosettlers can now decide to build bases, if they provide any direct output bonus to a nearby city, or enable another base which does so. GNAPATCH#3341 GNAPATCH#3833
  • Economy
  • When the AI is on a war footing, it now prefers diverting taxes to science rather than luxury. GNA#21640
  • The AI now considers keeping units in cities for their martial law effect, although it will not yet build units specially for this. GNAPATCH#3959
  • The AI values coinage less, to balance it compared to gold-producing buildings. GNA#21796
  • The AI may now create trade routes between continents. GNAPATCH#2963
  • Research
  • The AI may now consider more combat bonuses when deciding what technology to research. For instance, it may now work harder towards AEGIS Cruiser when defending against air units. GNAPATCH#3555 GNAPATCH#3563
  • The AI no longer chases technologies to gain units that are already obsolete. GNAPATCH#4013
  • The AI no longer remembers its past desire for long-obsolete technologies indefinitely. GNA#22260
  • Ruleset tolerance
  • In rulesets which support ocean cities, the AI now considers building them. GNAPATCH#3533
  • The AI no longer builds sea-only worker units if the ruleset has them. This is a temporary solution to a previous issue where AI would build only sea worker units when they became available, and not land ones. GNAPATCH#4610
  • AI behavior is also now somewhat more configurable by rulesets:
  • The new traits framework allows AI behavior to be parameterised (current traits are Expansionist/Trader/Aggressive). Traits can be set in ruleset (overall or in specific nation description), or by Lua script. GNAPATCH#3001
  • 'Cheating' level AI no longer intrinsically ignores tax rate limitations. This is instead left up to the ruleset. The supplied rulesets give cheating AIs this bonus, so there no functional change. GNA#18232
  • The following changes are only relevant to AI developers:
  • 'Default' AI logic, which was previously tied to the 'classic' AI type, can now be used selectively by custom AI modules, each with their own instance data.
  • The default AI type can be chosen at configure time. GNAPATCH#3666
  • Some progress has been made on the 'threaded' AI variant. It is now functional, but does not yet offer much advantage over the 'classic' AI. The only difference is that cities can make specific requests of worker units. The 'threaded' AI is not included in standard releases.
  • Clients
  • The city map size in the city dialog now adapts to the ruleset. This means that the city dialog in the SDL client is no longer unusably small with the classic and similar rulesets. GNAPATCH#4389
  • The client now only lists scenarios for "Start Scenario Game"; previously it could include ordinary save files that happened to be on the scenario path. GNA#22209
  • Client options to control whether tileset and soundset suggestions made by the ruleset are automatically accepted. This allows clients other than the Gtk clients to make use of these suggestions. GNAPATCH#3599 GNAPATCH#3605
  • (Gtk) The pregame nation selection dialog has been rewritten, fixing many small bugs. GNAPATCH#4347
  • (Gtk) The client can now optionally pop up help for a new technology when it's acquired. GNAPATCH#3608
  • It's now possible to play a game in the Qt client, although many features are still missing, so it's not yet a recommended client. A Qt version of the modpack installer is also available.
  • Modpack installer
  • The modpack installer now keeps track of versions of packages it has previously installed. (It does not track changes made manually.) GNAPATCH#3163
  • A command-line tool for downloading modpacks, freeciv-mp-cli, has been created for use on headless servers. GNAPATCH#4436
  • The modpack installer can be built into multiple GUI flavored executables simultaneously. As a result, the executables have been renamed.
  • Modpacks can now have descriptions GNAPATCH#3645 and a 'subtype' field (e.g. to distinguish iso/hex tilesets) GNAPATCH#4394.
  • Tilesets / Art
  • The icons for entertainers, scientists, and tax collectors now have both male and female versions. GNAPATCH#4506
  • The base building icons in Amplio2 are now small versions of the bases themselves. GNAPATCH#4059
  • Improve colors for global warming / nuclear winter progress indicators. GNAPATCH#4827
  • Made a few specialist icons available for custom rulesets (worker, farmer, merchant). These are not used in the supplied rulesets. GNAPATCH#4467
  • Translations
  • Updated French, Polish, Catalan, Russian, Korean, Scottish Gaelic, British English, traditional Chinese, and Spanish localizations.
  • Build/portability
  • A real thread implementation is now a hard requirement. GNAPATCH#2996
  • The SDL client now requires SDL_gfx and SDL_ttf libraries. Copies are no longer included with the Freeciv source. GNAPATCH#4088 GNAPATCH#4386
  • Clients other than the SDL client can now be built against SDL2_mixer. GNAPATCH#4189

New in Freeciv 2.4.0 (Sep 19, 2013)

  • Server / General:
  • Gameplay:
  • The maximum theoretical map size has increased from 128,000 to 2,048,000 tiles; the maximum linear map dimension has increased from 512 to 32,768. GNA#18087
  • If map generation fails (for instance the common failure to allocate start positions), it is now retried with a different random seed. GNAPATCH#2402
  • A couple of new server settings have been added to customise gameplay:
  • 'revealmap' allows the map to be shown to all players at game start, or to dead players. GNAPATCH#2379
  • 'first_timeout' allows the first turn to have a different timeout from subsequent turns. GNAPATCH#1967
  • Clerical:
  • Player authentication has been revamped. Database access is now mediated by a Lua script that can be customised by server operators, and uses Luasql, enabling a variety of backends: MySQL (the only backend supported previously), SQLite, and PostgreSQL. See doc/README.fcdb for details. GNA#13643
  • Support is included 'out of the box' for SQLite and MySQL databases. SQLite uses a simple file as a database, and is recommended as being entirely adequate for Freeciv authentication and much less hassle to set up than MySQL.
  • The Windows packages include SQLite support, so for the first time, it's possible to use player authentication on Windows without building the server yourself.
  • The server now supports a 'delegation' feature similar to that in Longturn, where one user can nominate another to temporarily take over control of the game. This is controlled by the '/delegate' server command. GNAPATCH#2121
  • There is a new "map image" feature to save an overview map as an image. This is a much expanded version of the previous --Ppm server feature, which has been removed. Compared to --Ppm, the new feature can distinguish units, cities, borders, terrain colors, hex tiles, and more. Saving images can be triggered automatically (turn-based) on the server, or on demand on the server or client. See the '/mapimg' server command. GNAPATCH#1391
  • A series of these images can be assembled into an animation to replay the progress of the game. A shell script 'mapimg2anim' is provided to help with this.
  • PNG/GIF/JPEG output is only available if built against the ImageMagick library; this is included in the Windows packages as of 2.4.0-RC1.
  • Player colors are now assigned centrally, and can be changed with the '/playercolor' server command. There is a new server setting 'plrcolormode' that controls how colors are assigned, including a mode where all players on a team have the same color. GNAPATCH#2062
  • The set of default player colors in the supplied rulesets has been reworked to enhance visibility of borders against terrain, etc. GNA#19778
  • The colors used to represent different terrain types on the minimap have been reworked. GNAPATCH#2069
  • The 'autosaves' setting gives finer control over when savegames are generated. GNAPATCH#2536
  • To disable autosaves entirely, instead of '/set saveturns 0', it's now necessary to use a command like '/set autosaves ""'.
  • The scripts 'ser' and 'civ' have been renamed to 'fcser' and 'fcgui' respectively. GNAPATCH#2830
  • A Lua script can be read from a file with the '/lua file' command. Direct Lua input is now via the '/lua cmd' command. GNAPATCH#2338 GNAPATCH#2869
  • New server option --Bind-meta to control which network interface the metaserver connection is made from. GNA#14106
  • The server can be built with support for .xz (LZMA) compression for saved games, etc. See the 'compresstype' option. GNAPATCH#1810
  • The freeciv-modpack utility supports more modpack types, more options (see --help), and uses the Curl library for network access so should be more robust.
  • (as of beta2) The ranklog format has changed; it now includes individual players' scores, and can be parsed more unambiguously. GNAPATCH#3346
  • Clients:
  • There is a new client, freeciv-gtk3, based on version 3 of the Gtk+ toolkit. This is fully playable and has largely identical UI and functionality to freeciv-gtk2. Currently it is experimental; however, it is expected that it will become the default client in the next major release.
  • The first time you run this client, it will copy any Gtk2 client settings you have set. Thereafter, Gtk2 and Gtk3 settings will remain separate.
  • Known issue in beta1/beta2: when compiled against some versions of Gtk3, there are assertion failures and crashes associated with the unit selection dialog. This is believed due to a Gtk bug (671939); however, it's been worked around in the Freeciv code as of RC1. GNA#19846
  • (In the code there is also the start of a Qt client. However, at this point it is just a stub and is unlikely to be of interest. Development will continue in 2.5.)
  • A server spawned by the client now only listens on the local network interface, so clients on other machines cannot connect to it. This improves security for single-player games, but means that a multiplayer game can no longer be hosted by the client; you must start a separate server instead (see the FAQ). GNA#18530
  • It's now possible to display a map overlay indicating which tiles the currently selected unit can enter ("native" tiles), with the Shift-Ctrl-N keyboard shortcut. GNA#13620
  • The research speed in bulbs per turn is now available with other research information from popups/tooltips on the main window. GNA#17685 GNA#16481
  • For rulesets where different nations have unique gameplay attributes (different initial governments, techs, units, or buildings), this information is now available when picking a nation in the pregame, and in the online help. GNAPATCH#3066
  • The client now displays the current stable version of Freeciv and whether that's newer than the running version (this information comes from the metaserver). GNAPATCH#2735
  • (Gtk) The client now has a Lua scripting console. GNAPATCH#2515
  • This is currently something of a proof of concept rather than a finished feature, as a comprehensive API suitable for the client-side has not been provided. Notably, there are not yet any signals from which client-side scripts can be triggered.
  • However, client scripts do have access to the client's view of most of the same game data that server-side ruleset scripts do (map, units, cities etc); see the Lua reference manual. This should be sufficient for some useful work. For example, it should in principle be possible to implement an on-demand optimal trade route calculator with these facilities (although we haven't tried).
  • (Gtk) The unit selection dialog has been revamped to allow browsing and selecting units by combinations of location and activity, anywhere in the world. GNA#17236
  • (Gtk) A bribe cost is now shown in the popup for units (for enemy units, this is estimated). GNA#17489
  • Tilesets / Art:
  • The orientation of units is now tracked, so tilesets can provide different graphics for different unit orientations. GNAPATCH#2719
  • A tileset making use of this, Cimpletoon, is included. It is based on Amplio2 but has a full set of oriented unit sprites for the default ruleset. GNAPATCH#2739
  • Known issue in beta1: Cimpletoon did not have sprites for all Fundamentalist units (it lacked Elephants and Crusaders), so for rulesets with these units, it would use fallback sprites (Chariot and Knights respectively). As of beta2, the tileset is complete. GNA#19998
  • Gameplay / Rules:
  • Changes affecting supplied rulesets:
  • Nations:
  • The number of playable nations has increased from 387 to 541.
  • Out of these, a subset of 50 "core" nations has been defined, based mostly on nations that have appeared in the Civilization series of games. For localised versions of Freeciv, these nations are more likely to be translated than the remainder. Players are initially presented with the core set, and it will be used for random nation selection if no nations are specifically selected; but players can still select nations outside the core set, and if some do, then the full range of supplied nations will be used for random selection of remaining players. GNAPATCH#3449 GNAPATCH#3432
  • The civ1 and civ2 rulesets now have their own separate nation sets, more closely matching the original games. GNAPATCH#2243
  • City center tiles now lose their automatic irrigation bonus if a mine is built on them, since mines and irrigation cannot coexist on a tile. GNA#20932
  • Similarly, in the supplied rulesets, cities on a tile with a mine can no longer get a farmland bonus.
  • The effect of veterancy on the cost of bribing a unit now depends on veteran bonuses, not numeric veteran level; bribe costs for veteran units have thus changed. GNA#19253
  • When the 'barbarians' server setting is disabled, huts no longer spawn barbarians.
  • When migration is enabled, citizens now consider the risk of plague when deciding whether to migrate. GNA#17740
  • In rulesets without tech upkeep enabled, if the bulb count goes negative (for instance due to 'conquercost'), technologies are no longer lost. This restores the behavior of previous versions of Freeciv. GNA#19487
  • Diplomats and Spies now have special names for their veteran levels, but behavior is unchanged from 2.3. GNA#19850
  • In the default, multiplayer, and experimental rulesets, years are displayed with CE/BCE rather than BC/AD notation. GNA#15090
  • (as of beta2) The default map topology for new games has been changed to isometric, to match the default Amplio2 tileset. GNAPATCH#3764
  • (as of beta2) In the 'multiplayer' ruleset, the ability to build buoys has been removed, as they do not work well with national borders disabled (the default for this ruleset). It is expected that they'll be re-enabled in a future major release. GNAPATCH#3541
  • Changes to the 'experimental' ruleset:
  • Citizen nationality is enabled; see below.
  • Workers and Engineers can now gain veteran levels by working the land; this in turn allows them to work faster. GNAPATCH#2370 GNA#19818
  • A Mech. Inf. unit can now carry up to three Missile units. GNAPATCH#2481
  • Galleons can now carry Big Land units, and Frigates no longer can. Old savegames are handled gracefully. GNAPATCH#2643
  • Changes and new features for rulesets/modpacks/scenarios:
  • New feature: optionally, the nationality of citizens can be tracked. For instance, when you conquer a city, its citizens retain their original nationality. Currently this affects the cost of inciting cities and the chance of migration (if enabled); more effects are planned for future versions. GNAPATCH#2265
  • The veteran system has been reworked:
  • Per-unit veteran levels have been generalised; all veteran properties can now be set on a per-unit basis; previously, the chances of moving between levels could not. This means that different units can now usefully have different numbers of veteran levels for the first time. GNAPATCH#2346
  • Diplomatic combat and spy mission survival chances are now derived directly from the 'power_fact' property of the veteran level, rather than being based purely on the numeric veteran level. GNA#19850
  • As noted above, the effect of veterancy on unit bribe costs has changed.
  • The maximum number of veteran levels has doubled from 10 to 20.
  • Units with only a single veteran level, or which can't become veteran, now do not have a veteran level displayed.
  • Information about veteran levels is now included in the on-line help. GNA#19851
  • Recursive transports are now supported (up to a depth of 5). GNAPATCH#2270
  • Two new tech_cost_styles: 3 with a new formula (early techs slightly easier, later techs much harder), and 4 which is similar to 2 (read from ruleset) but with the gaps filled with the new formula. GNAPATCH#2396
  • A new effect 'Irrig_Possible' and requirement range 'CAdjacent' (cardinally adjacent) have been added. The requirement for oceans or rivers for irrigation is thus no longer hardcoded and can be modified. GNAPATCH#2450
  • The 'CityTile' requirement now supports 'Adjacent' and 'CAdjacent' ranges, so effects can be triggered for tiles next to a city. GNA#18551
  • 'Surviving' requirements for wonders are now supported at Player range as well as at World range. GNA#17463
  • In ruleset definitions, specifying 'move_type' for a unit is now optional; if not specified it will be inferred from the native terrains/specials of the unit. GNA#13630 GNAPATCH#2991
  • A ruleset can now specify a 'default_government' for all its nations in nations.ruleset, rather than each nation being required to specify its initial government individually. GNAPATCH#3031
  • The supplied nations no longer include init_government="Despotism", so they can be used in rulesets which require a different initial government. GNAPATCH#3032
  • The image used for a city in the client is now set by the effects system (effect 'City_Image'), so it's no longer constrained to be a simple function of city size. GNA#17110
  • The experimental ruleset uses this to align city graphics with the city map radius.
  • Tile labels are supported. These are text labels that are displayed by all clients when they display a particular map tile. They can be added to scenarios in the or. GNAPATCH#2408
  • The colors used for players, and for terrains on the minimap and map images, are now specified by the ruleset on the server side, rather than the tileset on the client side. GNAPATCH#2060 GNAPATCH#2061
  • In rulesets with tech_leakage enabled, dead players are no longer taken into account in the calculation; so you cannot gain from their knowledge, but equally a dead, ignorant player no longer pushes up research costs. GNAPATCH#2956
  • The behavior where the senate of representative governments is bypassed has moved from the Any_Government to the No_Anarchy effect. GNA#19107
  • The 'min_dist_bw_cities' ruleset item has been retired; use the 'citymindist' option instead. GNAPATCH#2537
  • Many changes to ruleset Lua scripting -- for full details see the Lua reference manual. These are all backward compatible. Highlights:
  • Script-triggered climate change (GNAPATCH#2624) and civil war (GNAPATCH#2627).
  • Scripts can now move existing units.
  • A script can test whether tiles have a particular base. GNAPATCH#2672
  • Script facilities for reading and manipulating unit orientation. GNAPATCH#2823 GNAPATCH#2836
  • Scripts can now read server settings. GNAPATCH#2955
  • (as of beta2) An internal 64kbyte limit on string length has been removed. Among other things, this allows longer Lua scripts in scenarios. GNA#20086
  • AI:
  • (as of beta2) The city governor logic has been reworked, fixing various issues such as unexpected tax collectors in cities with many buildings, and a need to set minimal gold surplus to a lower target than expected. GNAPATCH#3620
  • (as of beta2) The AI's workers/settlers, and human players' autosettlers, will now automatically stop what they are doing and go elsewhere if threatened by an enemy unit and there is no defender on their tile. (Currently only threats from land units are considered.) GNAPATCH#3384
  • (as of beta2) Improvements to AI settler management:
  • The AI now considers worker units' food consumption (e.g. Settlers) to be less of a factor when deciding whether to build such units, to encourage it to do so. GNAPATCH#3693
  • Fix poor handling of rulesets containing boats which can only carry a single unit. Previously, the AI would generate settlers with the intention of sending them out on such boats, but then refuse to do so due to lack of room for a bodyguard, regardless of whether one was needed, often hurting expansion and leaving useless settlers. Now it only insists on room for a bodyguard if one is actually needed. GNA#19815
  • Improvements to AI city defense:
  • (as of beta2) Reduced the tendency of AI city defenders to be lured out of their city by nearby targets even in the presence of threats. GNA#20504
  • (as of beta2) Cities in grave danger of invasion with no defending units were tending to build City Walls, uselessly. They will now prioritise acquiring a defender. GNA#20559
  • (as of RC1) Reduced the weighting of the AI's assessment of defence strength, so that it defends its own cities more convincingly. (part of GNAPATCH#3960)
  • (as of RC1) The AI now tends to keep a unit constantly defending each of its cities even in the absence of an obvious threat, rather than relying on being able to acquire one when a threat appears. GNAPATCH#3958
  • (as of beta2) Improvements to AI caravan management:
  • Caravans in transit are now taken into account when a city is deciding whether to build more caravans. Previously, a city could end up building endless caravans if existing ones did not complete their trade route. GNAPATCH#3529
  • (as of RC1) The AI's new weighting of defence strength assessment means that it is less fearful of its enemy's defenders when attacking their cities. (part of GNAPATCH#3960)
  • The AI's management of its tax rates has been reworked to be more sophisticated; notably, it now takes tech upkeep into account. It also considers tech upkeep when determining the value of a tech. GNAPATCH#2251
  • AI planning for new cities has been improved slightly. GNA#19449
  • Autosettler planning for building railroads (GNAPATCH#2885, GNA#19560) and farmland (GNAPATCH#2889) has been improved. (Note that the latter is still only triggered by the existence of a Supermarket, so the AI still does not benefit, due to a chicken-and-egg situation.)
  • The extensive reworking of the AI code (see #Development), while not intended to introduce any functional changes (and extensively tested for this), may have changed behavior in some rare cases.
  • Translations:
  • New Indonesian translation.
  • (as of beta2) New Traditional Chinese translation.
  • Updated translations: Bulgarian, Catalan, Spanish, Scottish Gaelic, Korean, Polish, Dutch, Irish, French, German, Finnish, and British English.
  • Development:
  • The AI code has been heavily refactored, with a view to making it easier for people to start their own projects to write better Freeciv AI.
  • There's now a concept of AI type; different players can have different AIs. The type can be specified to the server /create command and the Lua function .create_player().
  • The server can be built to accept dynamically loadable AI modules with the --enable-aimodules option to configure. A module is loaded by starting the server with the --LoadAI option.
  • Alternatively, a fixed set of modules can be compiled in with --enable-ai-static.
  • In addition to the 'classic' AI, the standard Freeciv package ships with the 'stub' and 'threaded' AIs. These are both dummy templates for development and do not work as shipped. They are enabled with the configure option --enable-aimodules=experimental.
  • See doc/README.AI_modules for some more information.
  • Build/portability:
  • There is now a hard dependency on libcurl for HTTP access. This is used for metaserver communication and for freeciv-modpack. GNAPATCH#2320 GNAPATCH#2376
  • Efforts have been made to make the codebase compile without warnings with GCC 4.6 and (as of beta2) 4.7.
  • Use of some GNU make extensions has been removed from the build system, so it may now be possible to build with a POSIX 'make'. GNAPATCH#3378
  • freeciv-modpack can be built against either gtk2 or gtk3. GNAPATCH#2762
  • The configure option --enable-sys-lua allows use of a system-wide copy of Lua instead of the one shipped with Freeciv. GNAPATCH#2747

New in Freeciv 2.4.0 RC2 (Sep 16, 2013)

  • Missing embedded language code to some of the translation files

New in Freeciv 2.3.4 Stable (Feb 20, 2013)

  • Gameplay:
  • Bug fix: when a unit was automatically moved to a transporter to save it from drowning or running out of fuel, the transporter could continue to appear empty. GNA#20454
  • Bug fixes in unit conversion and upgrade GNA#20452:
  • Prevent cases where units could be converted or upgraded to a type only capable of carrying different cargo to the current cargo.
  • Prevent conversion of a unit to a type that could not exist on the current tile.
  • Units of types the owner cannot build are no longer prevented from upgrade. GNA#20460
  • Bug fix: quell spurious "No diplomat action possible" message when an ordinary attempt to move a diplomatic unit failed. GNA#20150
  • Following on from a fix in 2.3.3, when a border source such as a fortress is occupied by a unit of a nation other than the owner when a ceasefire runs out, ownership now transfers to that of the occupying unit. GNA#20348
  • When acquiring a technology such as Philosophy which gives further techs by an unusual route (such as through a hut), all progress toward the current research target was lost. Now it is preserved (although 'freecost' is applied). GNA#20362
  • Bug fix: when a city is traded and hence units change ownership, it wasn't checked whether those units provided diplomatic contact to a new nation. GNA#20431
  • Bug fix: assertion failure during map generation when no unit in the ruleset satisfied the first role in 'startunits'. GNA#19886
  • Bug fix: the tech upkeep with tech_cost_style 2 or 4 was much lower than intended; it only took into account a single tech rather than all preceding techs. As a result, tech upkeep in such rulesets will greatly increase. GNA#20063
  • The currently downloadable 'civ2-3' modpack (2.3-2c) thus has tech upkeep disabled. You may want to update your copy.
  • An unknown effect requirement type in a ruleset now causes a loading error rather than being silently interpreted as "None". GNA#20462
  • Clerical:
  • When a new nation is created in the editor, city style and leader sex are now set appropriately (previously they were always European and male). GNA#19313
  • A hardcoded year of -4000 is no longer sent to the metaserver in pregame, as it is ruleset-dependent. GNA#17862
  • One code tidy-up with no user-visible effect. GNA#20458
  • Clients:
  • The client could crash when your name was mentioned in chat but you had set the 'highlight your player/user name' setting to no color. This could also prevent any connection to a server with the event cache enabled if your player name had been mentioned in the past. GNA#20478
  • Older clients can work around this bug by setting a highlight colour in their local options (you may need to start a local game in order to access the configuration dialog).
  • Fix possible instability when loading some tilesets. GNA#20055
  • Tilesets / Art:
  • Some internal SVG format fixes in the supplied flags to allow their use in web browsers; this has no effect on Freeciv itself. GNAPATCH#3574
  • AI:
  • Fix some incorrect inferences about the ability of transported units or units in cities to defend; these are most likely to affect unusual rulesets (e.g., those with ocean cities). GNA#20483
  • Help / Documentation:
  • Minor improvements to user documentation and in-game text. GNAPATCH#3592 GNAPATCH#3594 GNAPATCH#3634 GNAPATCH#3662
  • Miscellaneous improvements to developer/ruleset docs. GNAPATCH#3575 GNAPATCH#3595 GNAPATCH#3602 GNAPATCH#3603 GNAPATCH#3640 GNAPATCH#3660
  • Translations:
  • The Spanish, Polish, and French translations are once more complete.
  • Build/portability:
  • Fix various compiler warnings. It's now possible to build Freeciv with GCC 4.7 optimisation level -O3 without any warnings. GNA#19386 GNA#19385 GNA#20443 GNA#20413 GNA#20447 GNA#20444
  • Future-proof against automake versions which ignore ACLOCAL_AMFLAGS. GNAPATCH#3585
  • Suppress warnings about use of deprecated declarations in debug builds, allowing compilation on for instance recent OpenSUSE. GNA#20428

New in Freeciv 2.4.0 Beta 1 (Dec 10, 2012)

  • Gameplay:
  • The maximum theoretical map size has increased from 128,000 to 2,048,000 tiles; the maximum linear map dimension has increased from 512 to 32,768. GNA#18087
  • If map generation fails (for instance the common failure to allocate start positions), it is now retried with a different random seed. GNAPATCH#2402
  • A couple of new server settings have been added to customise gameplay:
  • 'revealmap' allows the map to be shown to all players at game start, or to dead players. GNAPATCH#2379
  • 'first_timeout' allows the first turn to have a different timeout from subsequent turns. GNAPATCH#1967
  • Clerical:
  • Player authentication has been revamped. Database access is now mediated by a Lua script that can be customised by server operators, and uses Luasql, enabling a variety of backends: MySQL (the only backend supported previously), SQLite, and PostgreSQL. See doc/README.fcdb for details. GNA#13643
  • Support is included 'out of the box' for SQLite and MySQL databases. SQLite uses a simple file as a database, and is recommended as being entirely adequate for Freeciv authentication and much less hassle to set up than MySQL.
  • The Windows packages include SQLite support, so it's possible to use player authentication on Windows without recompiling for the first time.
  • The server now supports a 'delegation' feature similar to that in Longturn, where one user can nominate another to temporarily take over control of the game. This is controlled by the '/delegate' server command. GNAPATCH#2121
  • mapimg replay:
  • There is a new "map image" feature to save an overview map as an image. This is a much expanded version of the previous --Ppm server feature, which has been removed. Compared to --Ppm, the new feature can distinguish units, cities, borders, terrain colors, hex tiles, and more. Saving images can be triggered automatically (turn-based) on the server, or on demand on the server or client. See the '/mapimg' server command. GNAPATCH#1391
  • A series of these images can be assembled into an animation to replay the progress of the game. A shell script 'mapimg2anim' is provided to help with this.
  • PNG/GIF/JPEG output is only available if built against the ImageMagick library. The Windows 2.4.0-beta1 packages only support the basic PPM format.
  • Player colors are now assigned centrally, and can be changed with the '/playercolor' server command. There is a new server setting 'plrcolormode' that controls how colors are assigned, including a mode where all players on a team have the same color. GNAPATCH#2062
  • The set of default player colors in the supplied rulesets has been reworked to enhance visibility of borders against terrain, etc. GNA#19778
  • The colors used to represent different terrain types on the minimap have been reworked. GNAPATCH#2069
  • The 'autosaves' setting gives finer control over when savegames are generated. GNAPATCH#2536
  • To disable autosaves entirely, instead of '/set saveturns 0', it's now necessary to use a command like '/set autosaves ""'.
  • The scripts 'ser' and 'civ' have been renamed to 'fcser' and 'fcgui' respectively. GNAPATCH#2830
  • A Lua script can be read from a file with the '/lua file' command. Direct Lua input is now via the '/lua cmd' command. GNAPATCH#2338 GNAPATCH#2869
  • New server option --Bind-meta to control which network interface the metaserver connection is made from. GNA#14106
  • The server can be built with support for .xz (LZMA) compression for saved games, etc. See the 'compresstype' option. GNAPATCH#1810
  • The freeciv-modpack utility supports more modpack types, more options (see --help), and uses the Curl library for network access so should be more robust.
  • Clients:
  • There is a new client, freeciv-gtk3, based on version 3 of the Gtk+ toolkit. This is fully playable and has largely identical UI and functionality to freeciv-gtk2. Currently it is experimental; however, it is expected that it will become the default client in the next major release.
  • The first time you run this client, it will copy any Gtk2 client settings you have set. Thereafter, Gtk2 and Gtk3 settings will remain separate.
  • (In the code there is also the start of a Qt client. However, at this point it is just a stub and is unlikely to be of interest. Development will continue in 2.5.)
  • A server spawned by the client now only listens on the local network interface, so clients on other machines cannot connect to it. This improves security for single-player games, but means that a multiplayer game can no longer be hosted by the client; you must start a separate server instead (see the FAQ). GNA#18530
  • It's now possible to display a map overlay indicating which tiles the currently selected unit can enter ("native" tiles), with the Shift-Ctrl-N keyboard shortcut. GNA#13620
  • The research speed in bulbs per turn is now available with other research information from popups/tooltips on the main window. GNA#17685 GNA#16481
  • For rulesets where different nations have unique gameplay attributes (different initial governments, techs, units, or buildings), this information is now available when picking a nation in the pregame, and in the online help. GNAPATCH#3066
  • The client now displays the current stable version of Freeciv and whether that's newer than the running version (this information comes from the metaserver). GNAPATCH#2735
  • (Gtk) The client now has a Lua scripting console. GNAPATCH#2515
  • This is currently something of a proof of concept rather than a finished feature, as a comprehensive API suitable for the client-side has not been provided. Notably, there are not yet any signals from which client-side scripts can be triggered.
  • However, client scripts do have access to the client's view of most of the same game data that server-side ruleset scripts do (map, units, cities etc); see the Lua reference manual. This should be sufficient for some useful work. For example, it should in principle be possible to implement an on-demand optimal trade route calculator with these facilities (although we haven't tried).
  • (Gtk) The unit selection dialog has been revamped to allow browsing and selecting units by combinations of location and activity, anywhere in the world. GNA#17236
  • (Gtk) A bribe cost is now shown in the popup for units (for enemy units, this is estimated). GNA#17489

New in Freeciv 2.3.3 (Dec 10, 2012)

  • Gameplay:
  • 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. GNA#19745
  • Bug fix: allied victory (enabled by default) never occurred. GNA#17986
  • 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. GNA#20304
  • 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. GNA#17958
  • 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.) GNA#19611
  • Bug fix: following on from 2.3.2, more assertion failure fixes when many autosettlers try to work on the same project. GNA#20240
  • 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. GNA#20300 GNA#20301
  • 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.) GNA#20221
  • 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. GNA#19831
  • 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. GNA#19983
  • 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 GNA#20348)
  • Bug fix: with foggedborders enabled, tile ownership could appear to change back to an old owner when it went out of sight. GNA#18588 GNA#19627 GNA#19637
  • Fix possible trouble when upgrading a highly-veteran unit to a type with fewer veteran levels. GNA#19913
  • Bug fix: in tech loss situations, future tech would fail to be removed from a player, with an assertion failure. GNA#20220
  • 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. GNA#19977
  • Bug fix: server-side AI assertion failure in rulesets with paratroopers and ocean cities. GNA#20230
  • Clerical:
  • Security fix: malformed network packets could cause denial of service (memory exhaustion or CPU-bound loop). GNA#20003
  • 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. GNA#19800
  • 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. GNA#19919
  • When a scenario is saved, scenario information is included earlier in the file, to speed up the 'Start Scenario Game' dialog. GNAPATCH#3497
  • It is now possible to save games with names containing dots - previously, everything after the first dot was stripped. GNA#18781
  • Bug fixes to scorelog/ranklog:
  • Player deletion was logged incorrectly in scorelog, causing warnings when resuming the game from a save file. GNA#20069
  • When a new user took over a player from another user, the old username could persist in the ranklog file. GNAPATCH#3526
  • Taking over a dead AI player no longer changes their username in the ranklog. GNAPATCH#3547
  • Tab-completion on the server command line has been improved; notably, enumerated and bitwise options are now completed. GNAPATCH#3436
  • Fix a possible crash when the '/cmdlevel' server command is issued. GNA#19878
  • More robustness against malformed network packets. GNA#20107
  • Minor performance improvements in certain specific situations. GNA#19823 GNAPATCH#3334
  • Various internal changes which should only affect developers. GNA#19585 GNAPATCH#3205 GNA#15743 GNA#19564 GNAPATCH#3081
  • ClientsEdit:
  • Bug fix: assertion failure in get_internal_string_length() on client start on some platforms. GNA#17373
  • 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. GNA#20270
  • Such units are now not skipped when focusing on the next unit. GNAPATCH#3567
  • Reduce memory usage after game start with large tilesets. GNA#16995 GNA#19605
  • The default metaserver URL has been updated in line with future plans. (The old URL will continue to work for the foreseeable future.) GNAPATCH#3453 GNA#20014
  • Saved configurations now correctly save the default metaserver URL as "default", so that future changes to the default will be picked up. GNA#20015
  • (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.) GNA#19888
  • (Gtk) Fix possible colour inaccuracy. GNAPATCH#3344
  • Additional robustness in the face of odd server behaviour. GNA#13701
  • Tilesets / ArtEdit:
  • Bug fix: in the hex2t tileset, the fogged parts of the minimap were far too dark. GNA#16900
  • In the supplied Amplio2 tileset, the 'Refugee' graphic has been enabled, for the benefit of custom modpacks such as civ2-3. GNA#3455
  • Gameplay / Rules ChangesEdit:
  • The supplied earth-80x50-v3 scenario could not be loaded at all in a release build. GNA#20050
  • 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. GNA#19866
  • Bug fix: in the 'multiplayer' ruleset, players could gain free techs multiple times by rebuilding Darwin's Voyage (fixed by GNA#19852).
  • Bug fix: in the 'experimental' ruleset, Triremes could not attack outwards from a city. GNA#19828
  • The script.lua files for the civ1/civ2 rulesets had been accidentally omitted from the distribution, although this had no functional effect. GNA#19907
  • Ruleset tidy-ups with no functional effect. GNA#20020 GNA#19991
  • Other rulesets:
  • A custom ruleset effect can now have both Oceanic and Land requirements in a single list. GNA#19916
  • 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'. GNA#19852
  • 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. GNAPATCH#3343
  • The MinYear effect now allows years earlier than -4000. GNA#17862
  • AIEdit:
  • 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. GNA#20234
  • Division by zero could occur when evaluating poor city locations. GNA#20239
  • AI behaviour is likely to change as a result of GNA#20304. 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.

New in Freeciv 2.3.1 / 2.2.7 Stable (Nov 26, 2011)

  • Bug fix: when loading pre-2.3 savegames (including the supplied tutorial scenario), the server setting "onsetbarbs" was accidentally reset to 0, causing immediate barbarian uprisings which would tend to wipe out players before they could get established. (The default behaviour, which has been restored, is for barbarians and pirates not to appear for sixty turns.)

New in Freeciv 2.2.0 (Feb 25, 2010)

  • Built-in editor
  • Expanded ruleset format
  • Changes to gameplay with default ruleset
  • AI difficulty level: Cheating
  • New server options
  • Client interface changes
  • Scripting improvements
  • Event cache: messages from the last few turns can be replayed to clients on connection and saved in savegames
  • Featured text in Gtk client, including colour coding and clickable links to mentioned cities/units/tiles