Freeciv Changelog

New in version 2.4.3

August 18th, 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 edit 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
  • AI:
  • 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 editor caused spurious/mangled tile labels to appear. GNA#21656
  • The editor 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 version 2.4.1 (November 30th, 2013)

  • Server / general:
  • Changes affecting players (supplied rulesets):
  • If the 'revealmap' server setting was set to show the initial state of the map to players on game start, loading a savegame of that game would freshly reveal the current state of the map to all players. GNA#21172
  • Fix some bugs in Freeciv's inferences about ruleset effects in the absence of complete information. These are low-level changes whose effects are hard to quantify, but should be more correct; they are most likely to affect client behavior and the AI. The bugs affected:
  • A particular ruleset definition ('negated' requirements) which is not used in any of the supplied rulesets. GNA#21144
  • Requirements for the presence of a certain building. GNA#21147
  • Autosettlers could erroneously believe that by building irrigation or a mine, specials of the other kind would be removed. This is true of the supplied rulesets, but may not be true of other rulesets. GNA#21192
  • In rulesets such as civ1 where chains of adjacent cities can create 'channels' allowing sea units inland, if a city is lost (cutting off the channel), any units now landlocked are correctly destroyed. GNA#21219
  • Quell some warnings when loading the civ1 ruleset. GNA#20770
  • Bug fix: random connection loss could occur due to disagreement between client and server about the interpretation of certain compressed network packets. This only affects a very few exact packet sizes, so you'd have to be quite unlucky to run into it; it is most likely to manifest when the client first connects to the server, in which case only the server needs upgrading to avoid the issue. GNA#21300
  • The server sent incorrect information to the client about wonders which have been built by players and then lost. This is not known to have any adverse effects. GNA#21096
  • Changes affecting other rulesets / modders:
  • Consider bases when automatically determining a unit's Move_Type when not explicitly specified by the ruleset author. GNA#21022
  • Do not emit errors for rulesets with no nation groups defined. GNAPATCH#4300
  • If a ruleset defined too many nation groups/sets, this error was not reported clearly. GNAPATCH#4299
  • Changes affecting server operators:
  • The server could crash if '/remove' was used in the pre-game. GNA#21202
  • Fail more gracefully if a map is generated with no land for players to start on. GNA#21068
  • In the case where the game cannot start due to there being insufficient nations for all players, ensure everyone is notified. GNA#21207
  • '/mapimg colortest' caused assertion failures and a possible server crash. GNA#21159
  • Fix a harmless warning in the verbose log 'unused entry: savefile.specials_size' when loading a savefile. GNA#19836
  • Fix some recent regressions in the 'freeciv-manual' utility. (Note, however, that it still has large gaps and is of limited use outside the development team.)
  • Broken server settings documentation. GNA#21063 GNA#21099
  • Potential trouble finding the default ruleset definitions. GNA#21086
  • Bring the included Lua 5.1 up to date with the latest patch (patch 2). GNAPATCH#4068
  • Various internal changes which should only affect developers. GNA#21015 GNA#21206 GNA#21232 GNA#21238
  • AI:
  • Fix bugs in the AI's 'ferry' system (for handling boats and similar transports):
  • A bug which could possibly lead to AI boats left in an unusable state, and overproduction of boats. GNA#20978
  • General contradiction within the code about which units use the ferry system, which could cause trouble with unusual transports, such as non-seagoing ones (Triremes in the experimental ruleset, which can navigate rivers) and transports which cannot carry non-land units (such as Carriers). GNA#21154
  • Fix bugs in AI's evaluation of which attacker units to build:
  • The logic for determining whether they would be built as veteran was wrong in many ways, including treating veterancy-granting buildings in a city as a downside rather than upside, and not handling veterancy-granting wonders. GNAPATCH#4014
  • When planning to attack a city, units which could occupy cities only had that ability taken into account, not any ability to destroy enemy units; now both are taken into account. As a result, the AI may now prefer building land units rather than ships. GNAPATCH#4015
  • The AI's logic for deciding when to try bribing units was flawed. It would give up if the enemy's cities were unbribable, and would not take into account whether the unit (or all the enemy's units) were unbribable. GNA#21064 GNA#21136
  • Ensure that AI never considers a ruleset effect with zero value as a reason to build an improvement. (Should not affect most rulesets, but may sometimes occur when testing a new ruleset.) GNAPATCH#4289
  • Fix AI behavior in the presence of negative Size_Unlimit effects in the ruleset. It could consider buildings with such effects a bonus rather than a liability, and if a city ended up with a net negative value for this effect, the AI would never go for buildings which could increase the city size limit. GNA#21240
  • For AI developers: the 'unit_got' callback could be called with the wrong owner when a unit's home city changed. (This does not affect the default AI, as it does not use this callback.) GNA#21200
  • Clients:
  • National borders would disappear from the map when the local settings dialog was opened for the first time. (Unit background colors would also be wrongly displayed, if enabled.) GNA#21116 GNA#21151
  • The client could crash if the user accepted a tileset suggestion made by the ruleset. GNA#21231
  • In the Nations report, show a status even for disconnected players (including whether they are blocking turn change). GNA#21023
  • Fix minor bugs in the handling of CMA settings. Unlikely to have a functional effect on most platforms (beyond slightly smaller savefiles). GNA#21295
  • (Gtk) Fix a possible crash when pressing the Tab key in the chatline, and some other issues with non-ASCII characters and tab completion. GNA#21293
  • (Gtk) Stop the 'Number of Players (including AI)' control's state for single-player games from getting out of sync with the spawned server. GNA#21179
  • (Gtk2, Windows) If additional Gtk themes are installed, the Freeciv theme no longer leaks through in places. As a side effect, the modpack installer is no longer themed. GNA#21163
  • (Gtk3) Activating (double-clicking) a row in the city report would sometimes randomly fail to pop up the city dialog. GNAPATCH#4294
  • (Gtk3) Fix selling buildings from the city dialog. GNA#20984
  • (Gtk3) The end-game score list and the citizen nationality list were both drawn too small. GNA#21108
  • (Xaw) Client now identifies itself as 'gui-xaw' on its startup screen. GNAPATCH#4064
  • Tilesets / Art:
  • New nuclear explosion graphics for the Amplio2 and Trident rulesets. GNAPATCH#4003
  • Help / Documentation:
  • Minor improvements to user documentation and in-game text. GNAPATCH#4092 GNAPATCH#19452
  • Miscellaneous improvements to developer/ruleset docs. GNAPATCH#4187 GNAPATCH#4267 GNAPATCH#4275 GNA#20872
  • Invisible changes to assist translation. GNAPATCH#4290
  • Translations:
  • The language code 'no' is no longer listed in the Windows installer, since it was just a copy of the language 'nb' (Norwegian BokmÃ¥l). GNAPATCH#4134
  • The Windows installer now lists languages by name rather than obscure language code. GNA#21060
  • Updated translations:
  • Complete translations: Catalan, Polish, British English.
  • Incomplete translations: French (>99.9%).
  • Build/portability:
  • Fix a build failure when building from scratch in the presence of automake 1.8, and document the minimum requirement of automake 1.9. (This did not affect normal building from the distributed tarballs.) GNA#21216
  • Install documentation as part of 'make install'. GNAPATCH#4072
  • A Windows installer can now be built for the Gtk3 client as well as the Gtk2 client. GNATASK#7681
  • If just the Gtk3 client was installed, it was accompanied by a non-working .desktop file. Fix this, and add a .desktop file for the SDL client too. GNA#21243
  • Fix potential trouble when building for BeOS. GNA#21153
  • Fix trouble building a distribution without localization. GNA#21139
  • Fix a compiler warning on builds without --enable-debug. GNA#21237
  • Build is now warning-clean on GCC 4.8 -O3. GNAPATCH#4255

New in version 2.4.0 (September 16th, 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
  • 2.4 map image examplemapimg replay
  • JTNAdded by JTN
  • 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 editor. 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
  • (See also How to update a ruleset from 2.3 to 2.4.)
  • 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 edit.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 version 2.3.4 (February 18th, 2013)

  • Server / General:
  • 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 version 2.3.3 (December 12th, 2012)

  • Server / General:
  • 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
  • Clients:
  • 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 / Art:
  • 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. GNAPATCH#3455
  • Gameplay / Rules Changes:
  • Supplied rulesets:
  • 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
  • AI:
  • 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.
  • Help / Documentation:
  • Government-wide effects on unhappiness caused by military units were not mentioned in the online help. (In many of the supplied rulesets, the Republic government type suppresses unhappiness caused by one unit per city.) GNA#17905
  • The shipped FAQ has been updated from the wiki version. GNAPATCH#3420
  • NEWS in the distribution now contains a change list between major versions, rather than just being a pointer to wiki; a new file NEWS-2.3 lists differences between recent minor versions. GNAPATCH#3488
  • A manual page is now included for the 'freeciv-manual' utility. GNA#19227
  • Other minor improvements to user documentation and in-game text. GNA#19860 GNA#19908 GNAPATCH#3368 GNAPATCH#3398 GNAPATCH#3431 GNA#20019 GNA#20021 GNAPATCH#3500
  • Miscellaneous improvements to developer/ruleset docs. GNA#18015 GNAPATCH#3359
  • Invisible changes to assist translation. GNA#19870
  • Translations:
  • New translations: Serbian (33%), Bulgarian (31%).
  • Updated translations:
  • Complete translations: Spanish, Catalan, Scottish Gaelic.
  • Incomplete translations: Dutch (72%), Irish (56%).
  • Build/portability:
  • The configure script could fail to detect SDL_mixer, for instance on Fedora with hardened build options set. GNAPATCH#3519
  • The embedded Lua build now respects the --without-readline configure option, fixing a possible failure to build on systems without readline. GNA#20219
  • Autoconfiguration macros for X now avoid non-portable '=='. GNA#20002
  • The material used to build Windows installers is now included in the distribution. GNA#19088 GNAPATCH#3357 GNAPATCH#3365
  • Warning fixes on various platforms. GNAPATCH#3466 GNA#20013

New in version 2.3.1 (February 15th, 2012)

  • Server / General:
  • 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.) GNA#18472
  • Bug fix: the server could crash when units were set to auto-explore. GNA#18796
  • Bug fix: the server could crash when starting the game on a map without special resources. GNA#18533
  • Fix a server crash associated with ocean cities; this showed up with the Alien World modpack. GNA#18557
  • Bug fix: games started with identical parameters including random seeds could allocate start positions in varying orders. GNA#13679
  • Bug fix: turn timeouts greater than about 60 hours were not being displayed correctly in the client, although they took effect correctly on the server. Both client and server must be upgraded for this fix to be effective. GNA#18687 GNA#19004
  • Prevent starting games with map areas greater than the maximum supported (128,000 tiles) -- this was causing trouble when such games were saved. GNA#18537
  • Prevent generation of maps with odd ysize with iso/hex topology -- this was causing assertion failures while the game was running. GNA#18875
  • Bug fix: if /remove was used, the server could crash on saving/or loading a game, and some players' explored territory could be forgotten. GNA#19007
  • Bug fix: bases were not being saved or loaded with playerless scenarios. GNA#18930
  • Bug fix: a scenario saved after the start of a game could have an invalid format. GNA#18652
  • Bug fix: if a game saved after a player had been removed was reloaded, the order in which players' turns took effect could be incorrect for that turn. GNA#18886
  • Robustness fixes when loading invalidly formatted savegames. GNA#18546
  • Make Freeciv generally more tolerant of Unix/DOS line ending differences in rulesets, save files, etc. GNAPATCH#2843 GNA#18434
  • Fix assertion failures when server LAN announcements were disabled with "-A none". GNA#18511
  • Bug fix: misplaced '/' in unknown command response from server to client. GNA#18678
  • Allow server settings to be specified in rulesets with similar syntax to the server command line. GNA#18328
  • Improvements to the checks made when a ruleset is loaded. GNA#18514 GNAPATCH#2925
  • Bug fix: units on sentry duty could sometimes fail to wake up when an enemy unit moved into a neighbouring city. GNA#18388
  • Bug fix: remove lingering effects from bases when a city replaced them on the same tile GNA#18529 or when the underlying terrain was transformed GNA#18513.
  • Bug fix: move/disband units on a tile when their native base is pillaged, and they have no other means to remain in that tile. GNA#18528
  • Bug fix: disband boats when surrounding terrain changes would leave them trapped in a landlocked city. GNA#18613
  • Bug fix: don't allow a unit to move from a transporter into a city where it should not be able to exist. GNA#18675
  • Fix various inconsistencies with when the roads built in to a city were and weren't removed from a tile. GNA#18553
  • Limit the maximum amount of calculation the citizen governor will do for a city. This could cause the server to spend many minutes between turns, particularly with large city radii, for instance when auto-arranging citizens after city growth. This is only a partial solution; in this situation, the governor will not make an optimal decision. GNA#18407
  • Cosmetic improvements to the freeciv-modpack utility:
  • Add icons on platforms other than Windows, and .desktop files for Unix desktop environments. GNAPATCH#2810 GNAPATCH#2948 GNAPATCH#2928
  • Add a window title. GNA#18589
  • Add --help/--version command-line options. GNAPATCH#2808
  • Add a man page. GNAPATCH#2890 GNAPATCH#2928
  • Various internal changes which should only affect developers. GNA#18491 GNA#18464 GNA#18418 GNA#17846
  • Clients:
  • Changes to science dialog:
  • The "turns/advance" display is based on the total number of bulbs for the current advance, as in 2.2.x, rather than the number of bulbs remaining. GNA#18499
  • When calculating the number of bulbs required before the long-term goal will be complete, discount progress already made on the current advance, if it is a prerequisite of the goal. GNA#18547
  • Add an option controlling combat animation speed. GNA#18770
  • Bug fix: in rulesets containing immobile units, the client could crash if an attempt was made to give such a unit a go-to order. GNA#19001
  • (Gtk) Bug fix: clicking Previous/Next City buttons as a player observer could cause a crash. GNA#18608
  • (Gtk) Bug fix: crash when started with no usable theme. GNA#18952
  • (Gtk) Bug fix: the text cursor misbehaved when changing the Scenario Description in the editor. GNA#18536
  • (Gtk) Bug fix: keyboard shortcuts for buttons in the Messages dialog clashed, rendering them non-functional. GNA#18500
  • (Gtk) Bug fix: on Windows, reordering items in the worklist by dragging should work again. (This is actually a function of the Gtk version, so the issue may still be seen on other platforms.) GNA#18517
  • (Gtk) Workaround to make various menu bars (including ones essential for diplomacy) not disappear when using Ubuntu's Unity window manager. (This workaround has been included in standard Ubuntu packages since 2.2.7.) GNA#18260
  • (Gtk) Remove various 'Address' fields from the editor in non-debug builds, as they are only of interest to developers. GNA#18584
  • (Xaw) Rewritten connection dialog, restoring metaserver and authentication support. GNAPATCH#2813
  • (Xaw) Bug fix: the unit count in the city report was incorrect. GNA#18486
  • Tilesets / Art:
  • Bug fix: the hex2t tileset would not load due to a spurious dependency on the removed amplio tileset. GNA#18458
  • Bug fix: tiny glitch in one of the Amplio/Amplio2 city graphics. GNA#18935
  • Gameplay / Rules:
  • Supplied rulesets
  • Multiplayer ruleset: fix a script error when researching future tech. GNA#18710
  • Changes to the experimental ruleset:
  • Rule changes to make the effects of plague more bearable in the early game GNA#18535, GNAPATCH#2998:
  • Aqueducts now reduce illness by a further 20% until Industrialization is researched.
  • Temples now reduce illness by 20%.
  • Triremes no longer move at triple speed along rivers. GNA#18590
  • Updated earth-160x90-v2 scenario with more start positions and a few terrain tweaks. GNAPATCH#2949
  • AI:
  • Autosettlers were miscalculating the worth of tiles with resources, leading to them not working valuable resources. GNAPATCH#2840
  • Autosettlers never considered improving city centre tiles. GNA#17767, GNAPATCH#2866, GNA#18549, GNAPATCH#2957
  • Help / Documentation:
  • Add Freeciv client version and name to built-in help. GNA#18198
  • Bug fix: the "Strategy and Tactics" help menu item was broken in some locales. GNA#18425
  • Other minor improvements to documentation. GNA#18512 GNA#18552 GNA#18424 GNA#18677 GNA#18897 GNA#18920
  • Invisible changes to assist with translation. GNA#18451 GNA#18934
  • Translations:
  • Updated translations:
  • Complete translations: British English, Catalan, French, Polish, Spanish, Scots Gaelic.
  • Incomplete translations: Finnish (95.4%), Ukrainian (82%).
  • Many typo fixes in English strings. GNA#18416
  • The Windows installer now lets you choose the interface language at installation time (so you don't have to set it by hand). GNA#19019
  • Build/portability:
  • Fixes for portability to OpenBSD on sparc64 (and probably other platforms):
  • Fix crash on launching server. GNA#18482
  • Fix network header inclusion order. GNA#18468 GNA#18501
  • Compilation fix for platforms where AI_NUMERICSERV is not defined (such as Mac OS X 10.5). GNA#18871
  • Compilation fix for platforms which define min() and max(). GNA#18963
  • Remove spurious requirement for C++ compiler. GNA#17488
  • Add a configure option --with-mysql-libdir. GNAPATCH#2867

New in version 2.2.5 (March 7th, 2011)

  • Fix bug where a game saved while a civilization was in revolution would not save the target government correctly.
  • Fix server crash with invalid arguments to "/show" command.
  • Forbid meaningless negative values for the 'endturn' option.
  • Fix for building with IPv6 support on OpenBSD.
  • Declare IPv6 support as no longer "work in progress".
  • Make "maintainer-clean" build target cleaner.
  • Apply latest lua-5.1.4 patches (7 and 8).
  • Windows: display meaningful message for winsock error #10060.
  • Stability improvements.
  • Fix incomplete list of buildings in Spy sabotage dialogue.
  • Better handling of the situation where multiple Settlers are selected and the "Build city" order is issued.
  • Do not save "gameseed" or "mapseed" settings in client config file (this would cause the user to get the same game/map every time they started the client).
  • (Gtk) In diplomacy dialogue, remove current diplomatic status from list of allowed proposals.
  • (Gtk) Allow type-to-search when picking a nation.
  • (SDL) Avoid a crash when an attempt is made to use a missing sprite.
  • Fix a few memory leaks.
  • Improve alignment of fixed-width tables in some character sets.
  • Added "Electric Age" city graphics to the Trident-based rulesets.
  • The effects of notradesize / fulltradesize are now calculated separately from the normal corruption calculation; this gives a more consistent effect, and prevents building Courthouses to circumvent those settings.
  • Fix bug where civil war rebels never got a capital city.
  • Remove misspelled Aztec ruler title.
  • Allow non-military paradroppable units to drop into peaceful territory.
  • Make the SaveSmallWonder flag actually have an effect; previously, all small wonders would be rebuilt if lost. This didn't matter for the default ruleset (where the Palace is the only "small wonder" and this effect is desired), but it does affect the "rewonder" ruleset.
  • gold_upkeep_style=2: when gold runs out, buildings and units are alternately sold (rather than selling all buildings before selling any units).
  • Fix trouble with technologies with a "root_req" specification.
  • If the server setting 'citymindist' was changed from its default, the AI was not taking this into account when planning its cities.
  • Minor improvements to in-game text.
  • Minor improvements to comments in ruleset files.
  • Fix contact details in man pages.
  • Several invisible changes to assist with translation.
  • Updated translations: Complete translations: Polish, Catalan, Spanish, Japanese, French, Italian. Incomplete translations: Danish (99.9%), Brazilian Portuguese (99.6%), Finnish (93%), Ukrainian (92%).

New in version 2.2.1 (June 3rd, 2010)

  • Stability fixes and refactoring.
  • client-sdl: Push the maximal resolution to 3200x2400 in options.
  • Make impossible to change the server settings trademindist when the game is running.
  • Fixed the display of workable tiles when investigating foreign cities.
  • Improved server logging.
  • client-gtk2: Canceling server logon takes you back to the main menu.
  • Fixed a bug where you were unable to initiate diplomatic meetings with other players under certain circumstances.
  • Internationalization and string fixes.
  • Fixed bugs with voting.
  • client-gtk2 Use city id instead of name in the goto dialog.
  • Fixed a bug where air bases wouldn't work on certain tiles.
  • Improved city illness.
  • Do not show new city dialog if city cannot be built
  • client-gtk2: Made the unit info label scrollable to prevent the map view to resize.
  • Do not show team name in victory message in the case there's only one team member.
  • Improved documentation.
  • Fixed goto turn time calculations.
  • Fixed a bug where the -M command line parameter was ignored.
  • Improvements to Lua scripting.
  • Fixed configuration and compilation warnings.
  • Added a column for plague risk in city report.
  • Fixed bugs with loading saved games.
  • Fixed the display of global warming / nuclear winter in the client.
  • Disallowed paradrops inside peaceful foreign borders.
  • Give a palace to nations split off by civil war.
  • Fixed editor UI bugs.
  • client-gtk2: Made 'Work' menu adapt to terrain for multiple units on single tile.
  • Introduced Lake terrain in more scenario maps.
  • Fixed minor issues with isotrident and amplio tilesets.
  • client-gtk2: Made the pregame player context menu stay open with one click.
  • Disallowed transporter units to load into themselves.
  • Don't close client dialogs when switching tileset.
  • client-gtk2: Made client work with GTK versions older than 2.6.
  • client-gtk2: Added tooltips for columns in the city report.
  • Made improvement upkeep visible in "Info" column of worklist editor.
  • Fixed mangled server "help options" output.
  • client-gtk2: Improved the "Start Scenario Game" page.
  • client-gtk2: Center map view at start of first game.
  • Show pillage activity in middle-click map popup.
  • Create ruins for disbanded cities.
  • Avoid getting migrants that starve to death instantly.
  • client-gtk2: Improvements diplomacy dialog.
  • client-gtk2: Sort the science dialog technologies in alphabetical order.
  • Do not require an extra endline at the end of ruleset files.
  • client-sdl: Fixed bug where popups were not displayed.
  • Fixes to freedesktop.org file.
  • Avoid transforming a city tile to a terrain that won't support the city.
  • Fixed a bug with the France scenario that caused trouble building improvements the first few turns.
  • Fixed bugs with the CMA UI.
  • Reworked pillaging.
  • Changed the build system to work better with shared libraries.
  • Fixed typos in civil war nations.
  • Made linking work with binutils-gold.
  • Updated translations: Ukrainian, Korean, Catalan, French, Spanish, Russian, Italian