Freeciv Changelog

What's new in Freeciv 2.6.0

Sep 13, 2018
  • Changes affecting players (supplied rulesets) Edit
  • A new ruleset, sandbox, is included (as of beta2). This is a place for developers to experiment with and demonstrate new engine features, without regard to game balance or savefile compatibility; sandbox games started in this version may not load into future releases (even minor 2.6.x releases). HRM#696004
  • Miscellaneous rule changes affecting all or most rulesets:
  • In most supplied rulesets, non-military units and some air units no longer impose a zone of control (ZoC). GNAPATCH#4818 GNAPATCH#4935
  • classic, multiplayer, experimental: Mines on Desert and Glacier are now Oil Wells, and can only be built once Construction and Refining are known respectively. If the underlying terrain changes between one supporting regular mine and one supporting oil well, the improvement is lost. (civ2civ3 is different, see below.) GNAPATCH#4391
  • Buoys no longer claim territory, and so can no longer be used to block travel during peace. GNAPATCH#3878
  • The size of barbarian uprisings, and the effect of the 'barbarians' setting, have changed. (It's not clear what the old code actually did.) GNAPATCH#5909
  • When 'autoattack' is enabled, now the best attacker goes first, not the worst. (This makes target-specific strength factors work to the attacker's advantage rather than the defender's, but does make it easier to lure out strong attacking units.) GNAPATCH#7942
  • (as of RC2) Bribe cost for damaged units has increased. Previously (due to a bug) it was halved if the unit had lost any hitpoints at all. Now it depends on how damaged they are (up to at most a discount of half, as before). HRM#763896
  • "Industrial Accident" disaster, where a Mfg. Plant can cause population loss and pollution. GNAPATCH#5014
  • When a Spy sabotages another diplomatic unit, there is no longer a diplomatic battle (which could lead to the elimination of the victim, rather than just a reduction in hit points). GNAPATCH#6103
  • "SDI Defense" now works against allies' nukes. GNAPATCH#6693
  • In rulesets where the Great Library grants techs known by other civilizations, it now grants a random tech of the eligible ones, rather than a predictable one. GNAPATCH#5104
  • Ruins are removed whenever the underlying terrain is changed. GNA#20898
  • Rule changes to specific rulesets:
  • civ2civ3 has had many changes.
  • Units and combat
  • 'Tired attack' is enabled: units that attack with less than one movement point have reduced attack strength. GNAPATCH#7160
  • Units which cost population (Settlers, Migrants, and Fanatics) no longer pay shield or gold upkeep. Instead, they count towards the per-city food upkeep limit. (Changed because the AI no longer mishandles this combination.) HRM#681977
  • Naval units are now generally cheaper, to make the ratio of strength to cost more similar to land units. GNAPATCH#8124
  • Airplanes (fighters and bombers) can spend an extra turn in the air, allowing more air-to-air battles. They lose 10% of hitpoints every turn when in the air, like Helicopters. GNAPATCH#4812
  • Cruise Missiles have increased range, and can target aircraft.
  • All aircraft can use Airports to travel between cities.
  • Carriers can now transport Land units (non-wheeled, and non-merchant). (Because Carriers could already transport Helicopters which can transport Land units. However, not all land units can freely enter or leave Helicopters while on board a Carrier.) HRM#681866
  • Only "Big Land" class units (tanks, artillery etc) kill citizens when attacking a city; "Land" class units (infantry etc) no longer do. GNAPATCH#7078 GNA#24616
  • Triremes are subject to ZoC when traveling on rivers, and can no longer move diagonally between river tiles.
  • Explorers can establish embassies and investigate cities, like Diplomats. They are slightly more expensive, but do not become obsolete.
  • The actions Establish Embassy and Investigate City can be done directly from a boat.
  • Diplomat and Spy can fortify (this provides no defensive bonus, but means they don't wake up as they would when sentried). GNA#25151
  • Reworked merchant units (Caravan and Freight) and trade. GNAPATCH#7137
  • No longer require river or roads to move.
  • Subject to ZoC.
  • Cannot establish trade routes or help build wonders without movement points.
  • No one-time trade bonuses when they enter a city.
  • When war is declared between two players, existing trade routes are canceled, and new ones can't be established while a state of war exists.
  • Can help building allies' or team-mates' wonders.
  • The default start units include a Worker instead of Migrants. GNAPATCH#6368
  • Terrain and terrain alterations
  • Changes to defensive bases:
  • New 'Fort' and 'Airstrip' bases, which must be built before 'Fortress' and 'Airbase' respectively. They provide some defense; airstrips provide a refuel point.
  • Fortresses and Airbases no longer prevent a whole unit stack from being lost when one defender dies GNAPATCH#5998; but they now provide some defense bonus against all kinds of attacking unit.
  • Airbases provide extra vision, like Fortresses after Astronomy; and provide more hitpoint regeneration (equivalent to a city without an Airport).
  • City centers once again always get automatic roads, even on rivers without knowledge of Bridge Building. HRM#676162
  • City center tiles are no longer guaranteed a minimum of 1 food. The only effect is that city center desert tiles no longer give any food if a mine is built on them. HRM#681856
  • Mountains now get an extra production point from mining (changed from +1 to +2).
  • Desert and Glacier tiles can now have an oil well built on top of a mine once Refining is known, for an extra production point. The mines available from the start of the game are drawn with the same sprites as on other terrains. GNAPATCH#5915
  • In order to get a bonus with Offshore Platform, deep ocean tiles now require the new extra Oil Platform, rather than Buoy. Offshore Platforms now give a bonus from lake tiles too.
  • Added Maglevs (with Superconductors), which supplement Railroads and give infinite movement to certain units.
  • Forest, Jungle, and Swamp tiles now give the advertised defense bonus of 25% (in 2.5 it was rounded down to 20%).
  • Forest and Jungle tiles can now suffer pollution and fallout, like most other tiles. HRM#681860
  • Adjusted terrain transformations (that can be done once Fusion Power is known). Designed so that all useful alterations can be finished in 1 or 2 steps, and all global warming effects can be reversed with Transform. GNAPATCH#5596
  • Adjusted effects of climate change. Ocean can no longer become Deep Ocean. GNAPATCH#5475
  • Buildings and wonders
  • Great Wonders are now only obsoleted when the owner learns a certain technology, not when any player does. GNAPATCH#5542
  • A new building, the Ecclesiastical Palace (available with Theology), acts as a second center of government. GNAPATCH#7159
  • Spaceship part cost approximately doubled. GNAPATCH#5996
  • It's no longer possible to build a Harbor next to a lake (since it gives no benefit to lake tiles). GNA#25070
  • Conversely, Lighthouse and Magellan's Expedition can be built next to deep ocean. GNAPATCH#7742
  • The suppression of Super Highways trade benefits by a farmland bonus no longer applies to city center tiles. HRM#695978
  • Technology
  • 'Holes' in the tech tree (knowing a tech without knowing its prerequisites) are no longer allowed (previously they could arise through tech trading, tech loss, and so on). GNAPATCH#4967
  • Construction now requires Iron Working, rather than Currency (so that Iron Working is a prerequisite for Frigates and Ironclads). GNAPATCH#5999
  • Population pollution can now occur even without knowledge of Industrialization. (This was a corner case that would likely never have been encountered.) GNAPATCH#5015
  • Government
  • The Tribal government gives one content citizen per city instead of martial law.
  • Tribal governments get an extra unhappy citizen at a slightly smaller empire size, and Monarchies at a slightly larger.
  • Each city in a Federation gets 2 extra luxury points.
  • The 50% science loss from Fundamentalism is now additive with other science bonuses, rather than multiplicative. (It's equivalent to losing a building such as a Library.)
  • Similarly, the luxury loss from Anarchy is now additive rather than multiplicative.
  • Other
  • Certain buildings (and all wonders) generate culture points every turn, which accumulate in a city (and change hands with it); each nation can also get one-time culture boosts from achievements such as mapping the entire world or launching a spaceship. Culture affects score, and city culture drives migration, if enabled. A cultural victory is also possible (but not enabled by default, as these effects have not yet been tested and balanced); a player must have culture above a certain threshold, and a convincing lead over other players, to win. GNAPATCH#5997
  • The outer ring of tiles worked by a city can be stolen by an enemy border source. (The inner ring is permanently owned by the city owner.) GNAPATCH#7096 HRM#651450
  • Adjustments to AI bonuses: HRM#681976 GNAPATCH#6006
  • Hard AIs are no longer favored by other AI players, but Cheating AIs are favored more.
  • Cheating AIs no longer get any bonus to defense (they used to get one against land attacks); but their units do now cost more to bribe, they don't pay unit food upkeep, they get a bonus to population pollution, and their existing bonuses to veteran chance and city incite cost are increased.
  • Tweaked the startup defaults. (These are almost all server settings that can be customized to taste.) HRM#650801
  • Grant a diplomat start unit ('startunits').
  • 6 players by default, not 12 (and a smaller map).
  • Tweaked map generation: smaller poles, less shallow ocean.
  • Revolutions tend to become quicker the more times any player has used the target government type ('revolentype').
  • Halved the chance of building destruction when a city is conquered ('razechance').
  • multiplayer ruleset:
  • 'Tired attack' is enabled: units that attack with less than one movement point have reduced attack strength. GNA#22395
  • Darwin's Voyage now only gives one free tech, not two. HRM#692110
  • Buoys have been restored, now that they no longer claim territory. GNAPATCH#3874
  • Borders are now enabled by default; the 'foggedborders' option has been set so that you can't deduce enemy movements through their border changes; you can always see your own territory. GNA#17304
  • experimental ruleset:
  • One player policy, 'Personal Freedom', which allows trading off science against military unhappiness.
  • Culture sources (fewer than civ2civ3: Palace, Colosseum, Library, University). Cultural victory is enabled by default.
  • Explorers can establish embassies once Writing is known. GNAPATCH#5132
  • Spies can bribe and sabotage units which are not alone on their tiles. GNAPATCH#5295
  • Caravans and Freight can opt to not to establish (or displace) a trade route when arriving at a destination city, instead receiving just the one-time bonus ("Sell Goods").
  • Workers and Engineers can fortify.
  • Various achievements. They are only available to the first player to reach them, and have no gameplay effect.
  • AI traits are somewhat randomized. GNAPATCH#5226
  • The fourth city radius on square topologies is slightly larger. GNAPATCH#5983
  • civ1 and civ2 rulesets (to improve their fidelity):
  • A tile with both a river and a fortress now has a higher defensive bonus, as the bonuses are now multiplied rather than added (restoring the 2.4 behavior). GNA#23143
  • In the civ2 ruleset, Diplomats and Spies can now perform their actions directly from a ship on the ocean. GNA#23604
  • Player colors are by default tied to specific nations. GNAPATCH#3927
  • The civ1 ruleset no longer has Farmland (previously it existed despite being impossible to build, due to engine limitations). GNAPATCH#4342
  • New/changed game settings:
  • A new option 'revolentype' controls how the period of anarchy during a revolution is determined. New options include a random period with a maximum other than 5 turns, and a period that decreases the more times anyone has switched to the target government. GNAPATCH#4700 GNAPATCH#5338
  • The 'diplcost' setting has been split into 'diplbulbcost' and 'diplgoldcost'. GNAPATCH#5386
  • The 'huts' setting is now relative to map size (it was a count). Old scenarios will retain their behavior, but old server scripts will not. GNAPATCH#6669
  • The 'happyborders' setting has a new value which allows your units to be inside allies' borders without causing unhappiness. GNAPATCH#5001
  • The 'spacerace' and 'alliedvictory' options have been replaced by a new bitwise option 'victories'. A third flag has been added to this option to enable 'cultural victory' in rulesets which support it (currently 'civ2civ3' and 'experimental'). GNAPATCH#4017 GNAPATCH#4018
  • 'citymindist' now goes up to 11. GNAPATCH#5572
  • The settings 'sciencebox' and 'killstack' can now be changed in the pregame of scenarios which have players defined (such as Europe 1901).
  • 'startunits' can now include a ferryboat unit ('f'). GNAPATCH#4861 Also, this setting can now be empty if 'startcity' is set. GNAPATCH#5887
  • Map generation:
  • The previous hard-coded behavior that non-wrapping maps had only a single pole has been replaced by a new setting 'singlepole' which controls this behavior. GNA#23261
  • The previously hardcoded suppression of relief at the poles is now controlled by a new setting 'flatpoles'. GNAPATCH#6919
  • Narrower borders around edged maps (restoring 2.2.x behavior). GNAPATCH#6917
  • Map generation now tries a bit harder before giving up. GNAPATCH#4900
  • Game limits:
  • The maximum number of regular players has increased from 126 to 150 (160 including barbarians). GNAPATCH#4254
  • The maximum number of cities and units in a game (added together) has increased from 65535 to 250000. GNA#21950
  • Supplied scenarios:
  • A new scenario, Europe 1900 WWI, is included. This is a Europe map with the cities and units of the Great Powers prior to the outbreak of the First World War. (A previous version was available for 2.5 via the modpack installer, as "Europe 1901".) GNAPATCH#6434
  • The large Earth scenario now has 52 more start positions (for a total of 91), and players start with their first city built. Thanks to Rhue. HRM#688280 HRM#702265
  • Changes affecting other rulesets / modders Edit
  • We've tried to make it a bit easier for people not experienced with modding to add new nations to their local installation, with the 'override' directory. How to use this is documented in doc/README.nations. GNAPATCH#3926
  • Both client and server have a new command-line option --warnings, designed for modders, which warns about deprecated modpack constructs that may disappear in future releases. If you port a modpack to 2.6, it's a good idea to run with this option to check for old constructs.
  • Ruleset authors can control much more of the game behavior. Comments in supplied ruleset files give some documentation and usage examples of new features; you can also browse the forum thread where most features were announced as they were added.
  • Existing rulesets need changes to work with 2.6; see How to update a ruleset from 2.5 to 2.6 for a minimal recipe (not all required changes are listed below). Once you've updated to 2.6 format, the next major version after that is planned to contain a tool to upgrade rulesets automatically.
  • Extras
  • Most additions to base terrain -- roads, bases, and specials -- are now unified as "extras"; only resources remain separate. The properties and graphic representations of extras are now somewhat less tied to their category, although roads and bases continue to exist as subclasses with unique properties.
  • The previously hardcoded set of terrain specials -- mine, irrigation, farmland, pollution, fallout, hut -- is now fully under ruleset control.
  • Production bonuses and penalties formerly caused by terrain specials are now governed by new effects (Irrigation_Pct, Mining_Pct, Output_Tile_Punish_Pct), so can depend on more and different requirements. GNAPATCH#3965 GNAPATCH#3967 GNAPATCH#3974
  • The set of events that can cause extras to appear and disappear (for instance user actions like "mine", "irrigate", and "clean fallout") is still fixed, although their mapping to extras is not. If the ruleset allows the same cause to create or remove multiple extras, the player can choose.
  • Any kind of extra (including roads and bases) can fall into any of the new extra categories (Infra, Natural, Bonus, or Nuisance). (This mainly affects how they are presented in the help and user interface.) For instance, it would be possible to have a base generated at game start like a hut (Bonus category).
  • The total limit on extras of any kind is now 64 (previously there were limits of 32 base types and 8 road types).
  • New features:
  • Bases on a tile in unclaimed territory can now have an owner distinct from the border owner of the tile they are on. This only has an effect for bases providing vision. For example, this allows buoys to provide vision to a player without also providing territory (and blocking peaceful units). Unlike territory-providing bases, such bases do not change hands, unless another base is built on the same tile. GNAPATCH#3630
  • Extra removal (cleaning and pillaging) can now have additional requirements (rmreqs).
  • The time taken to remove an extra can be extra-specific (removal_time) or terrain-specific (via existing clean_fallout/pollution_time or new pillage_time).
  • Extra build/removal time can now also depend on both extra and terrain to some extent (build_time_factor, removal_time_factor).
  • Extras can optionally disappear when the underlying terrain changes even if they would be valid on the new terrain -- 'TerrChangeRemoves' extra flag. GNA#20898
  • Optional defense layers -- 'Natural' and 'Fortification' -- with multiplicative defense bonuses. Allows rulesets to fix a regression in 2.5 when rivers were turned into road types. GNA#23143
  • The move_mode of roads can now affect whether a move is legal, not just its cost. For instance, a river-native unit can be prevented from moving between two rivers on diagonally adjacent tiles. GNA#16383
  • Integrating roads, allowing move bonus / legality between two tiles with different types of roads. Graphics are drawn appropriately. GNAPATCH#3829
  • Roads can have additional requirements on where they are started (building road on a tile where no adjacent tiles have the same or an integrating road) -- 'first_reqs'. GNAPATCH#4688
  • Extras can now be native to units without also being refuel points for them ('Refuel' extra flag). GNAPATCH#4106
  • The names of menu options for building the two categories of base with their own keystrokes are now under ruleset control, rather than being fixed as "Type A / B base". GNAPATCH#2721
  • The extras used for pollution, fallout, and huts can be terrain-dependent and/or chosen randomly from a set.
  • Actions
  • Some actions performed by units -- in 2.6, just the special diplomat/spy/caravan actions -- can now be configured by the ruleset. The consequences of actions are still largely hardcoded, but the circumstances in which units can perform these actions are now specified with the requirements system using 'action enablers'. Many previously hard-coded rules are now under ruleset control. See doc/README.actions.
  • Some examples of newly possible things (this is not an exhaustive list):
  • Helping to build a wonder in a foreign city.
  • Sabotaging a unit with 1 hitpoint can kill it.
  • Poisoning a size 1 city can destroy it.
  • Acting against units not alone on a tile (the player is prompted to choose a target unit).
  • Acting against units inside cities (but you must be able to see inside the city, implying at least Alliance).
  • Hostile actions against players you're not at war with, or yourself.
  • Establishing embassies with No_Diplomacy nations.
  • Units don't have to have a Diplomat/Spy flag to perform what have traditionally been diplomatic actions. (However, these flags do still control the ability to survive actions, defense against such actions, and city resistance to tech stealing.)
  • One new spy-type action, "Steal Gold", which steals a random amount from the target player's treasury. New effects control the maximum amount stolen ("Max_Stolen_Gold_Pm") and how much is lost to both players ("Thiefs_Share_Pm"). GNAPATCH#5274
  • "Enter Marketplace" (one-time revenue from caravans, now called "Sell Goods" in most rulesets) can now be an independent action from "Establish Trade Route", with its own rules.
  • It's now possible to allow only targeted sabotage and tech stealing, without offering the option of a randomly chosen target.
  • Many new requirements have been added to express conditions that were previously hard-coded in these actions. See "requirements" below.
  • A Lua signal 'action_started_*' is emitted when an action is about to take place, allowing additional behavior to be added.
  • Since it's now possible to construct a ruleset where an action is illegal due to some restriction that is unknown to the player, a new effect "Illegal_Action_Move_Cost" allows movement points to be deducted if such an action is attempted. This is intended to avoid the information leak from such attempts being entirely without penalty (which would reward tedious action scrubbing by players).
  • Culture
  • New feature: the ruleset can award culture points points that accumulate over time ("history") or points that only last as long as a condition holds ("performance"); each can be accrued on a per-city or per-nation basis.
  • Rulesets control the numeric criteria for cultural victory (which is optionally enabled with the 'victories' setting).
  • Requirements can test the total culture of cities or players.
  • Lua scripts can test or modify culture.
  • City culture can boost migration.
  • See the civ2civ3 description above for an example of what can be achieved.
  • Achievements
  • The game can track track whether players meet certain conditions (see doc/README.achievements), and award 'achievements' either to the first or to each player that meets the requirements. Achievements can simply be trophies with no further effect, or can affect gameplay by granting culture points, through the effects system, or through Lua scripting.
  • Policies
  • Rulesets can define a set of 'policies', sliders which the player can adjust once per turn and which affect the game via 'multipliers' in the effects system. These can be used to implement custom trade-offs similar to the built-in tax rates.
  • Disasters
  • A new disaster effect "ReducePopDestroy"; this is like "ReducePopulation" except that it can destroy a city of size 1.
  • A new Lua signal 'disaster_occurred' (replacing 'disaster') tells a script whether the disaster had some effect inside the game engine. The default script does not implement any additional effects, so prints a message if there was no net effect from a disaster. GNA#22082
  • Terrain
  • Terrain defense bonuses that aren't a multiple of 10% now work as expected (previously they were rounded down to the nearest 10%). GNA#25432
  • Map generation:
  • A new 'Frozen' terrain flag, which can apply to land and water. Frozen terrain is generated near the poles; terrain changes will try to preserve frozenness; and rulesets can specify that freezing/thawing terrain transformations require a certain threshold of surrounding frozenness. These changes are intended to allow rulesets to define 'sea ice' terrains.
  • Better support for multiple lake terrains: each lake picks a consistent terrain type (rather than a patchwork), and the NotGenerated flag is now honored for lake terrains. GNAPATCH#6918
  • Units and movement
  • There have been a lot of engine changes, particularly in path-finding and AI, to support units with complex or unusual movement restrictions. If you tried to create an unusual type of unit or terrain restriction in a previous version and it didn't work very well, it's worth trying again. There are too many changes to list individually, but here are some of the more notable ones:
  • The 'shore bombardment' combat rule, where both attacker and defender firepower are reduced to 1, now applies to any situation where each unit couldn't move to the other's tile. GNAPATCH#3830
  • Path-finding through unknown terrain makes different decisions. GNAPATCH#3903
  • Auto-explore works better with units other than pure land/sea units. GNAPATCH#4853
  • Unreachable target units are handled better by path-finding. GNAPATCH#4985
  • As part of this, the old 'move_type' ruleset parameter has been completely retired; the engine infers what it needs from other unit properties. GNAPATCH#4865
  • Units no longer have to impose zones of control (ZoC); this can be disabled with the 'HasNoZoc' unit type flag. GNA#21507
  • The hardcoded rule that units may only impose a zone of control (ZoC) on land has been replaced by the 'NoZoc' terrain flag. GNAPATCH#4597
  • Ability to airlift a unit is now controlled by a unit class flag 'Airliftable', rather than being hardcoded to units the game thought were land units. GNAPATCH#3871
  • The hardcoded rule that units may fortify on land but not water has been replaced by the 'NoFortify' terrain flag. GNAPATCH#5075
  • A unit type may now both fortify (F) and build fortress-type bases (Shift+F). The new unit type flag 'Cant_Fortify' replaces the previous hardcoded rule that 'Settlers' type units could not fortify. GNAPATCH#5072
  • A new ruleset option 'pythagorean_diagonal' allows diagonal moves in square topologies to cost more than orthogonal moves. GNAPATCH#4819
  • The maximum paradrop range has been increased from 255 to effectively unlimited. GNA#24349
  • Rulesets now have better control over which unit types can be granted via 'startunits', with the '*StartUnit' role flags. GNAPATCH#4625
  • The maximum number of ruleset-defined unit type flags has increased from 16 to 32. GNAPATCH#4904
  • Cities
  • Rulesets can now control how many of the tiles initially claimed by a city are immune from later border stealing, via 'radius_sq_city_permanent'. GNAPATCH#6036
  • A new tech flag 'Claim_Ocean_Limited' which allows cities and bases to claim water tiles only if they themselves are in water (unlike 'Claim_Ocean', which also allowed land cities to extend claims over water). GNAPATCH#4629
  • The effect where city disorder spills over into national revolution now works at city resolution, as does the number of turns of sustained disorder required, which is now under ruleset control (new 'Revolution_Unhappiness' effect replacing 'Revolution_When_Unhappy'). GNAPATCH#4021
  • Building obsolescence is now defined with a list of any requirements (rather than restricting buildings to being made obsolete by tech and replaced by other buildings), with any fulfilled requirement making the building obsolete. GNAPATCH#3941 GNAPATCH#1341
  • The "Visible_Walls" effect is no longer boolean; with the cooperation of the tileset, it allows up to 7 different wall graphics to be selected (which don't actually have to be wall-related). GNAPATCH#4393
  • Trade
  • Trade route legality / bonus can now differ depending on whether foreign trade routes are with an enemy, ally, or team member. GNAPATCH#4499
  • Whether trade routes give a one-time bonus to gold and/or science is now configurable. GNAPATCH#5248
  • The new 'Traderoute_Pct' effect allows ongoing trade route revenue to be adjusted. GNAPATCH#3249
  • Technology
  • Rulesets can control whether 'holes' in the tech tree (techs without their prerequisites) can ever appear due to various causes (tech trading, tech loss, etc). GNAPATCH#4415 GNAPATCH#4789
  • The "Tech_Parasite" effect (traditionally used for the Great Library) now grants a random tech from those eligible, rather than the one defined first in the ruleset. GNAPATCH#5104
  • Nation styles
  • The 'city styles' that players selected when picking a nation have been replaced with 'nation styles'.
  • The graphics used for cities can still depend on these (via the new "Style" requirement), but don't have to; the sprite used for the city can depend on other properties of the city. (For instance, this can be used for ocean cities, so oceanic_graphic definitions have been removed.)
  • Music styles (see "Sound" later) can also be influenced by nation styles.
  • Barbarians
  • A new barbarian type, "Animal", is available for use by rulesets.
  • One Animal Kingdom AI "barbarian" player is created at game start to manage the animals.
  • Each terrain type has just one characteristic animal (or none); so for any given terrain there's one kind of animal that'll spawn there, but a given animal can call multiple terrains home (so if both Hills and Mountains have animal="Mountain Lion", then wild lions will roam inside any contiguous region of uplands, but will never step/attack outside). Animals cannot conquer cities.
  • Animals' movement restriction to terrain is a property of the owner, not the unit; so if an animal-type unit can be captured it can then be moved anywhere, subject to the usual rules.
  • The map is randomly populated with animal units according to map size and terrain availability at game start (controlled by the new 'animals' setting).
  • Animals do not respawn, and once they're all gone, they're gone (as is the animal player).
  • The behavior of barbarian units -- when they 'retire' (disappear) -- is now more under ruleset control. A new effect, 'Retire_Pct', influences this.
  • The 'barbarians' setting is automatically adjusted and locked if the ruleset does not define any barbarian nations. GNAPATCH#7192
  • Effects and requirements
  • New requirements:
  • Requirements that depend on properties of a specific unit, not just the unit type and location. These were introduced mainly for use in action enablers, but can be used in other situations (e.g. 'Veteran_Combat' effect).
  • Whether a unit is currently being transported (UnitState = Transported) or can exist independently at its current location (OnLivableTile). GNAPATCH#4983, GNAPATCH#4894
  • The unit's veteran level (MinVeteran). GNAPATCH#4902
  • The unit's remaining movement points (MinMoveFrags). GNAPATCH#5033
  • The unit's remaining hit points (MinHitPoints). GNAPATCH#5135
  • 'DiplRel' requirement, allowing testing relationships between the two players in some effects. Includes regular diplomatic states (war, peace, alliance, team etc) as well as shared vision, embassies, casus belli (reason to cancel treaty), and whether they are in fact different players. GNAPATCH#4051
  • The 'MaxUnitsOnTile' requirement allows testing the total number of units currently on the tile. GNAPATCH#4224
  • New requirement 'Age' allows testing how many turns a unit, city, or player has existed. GNAPATCH#5305 GNAPATCH#5380
  • 'NationGroup' allows testing whether a player is one of a particular subset of nations. Rulesets can define nation groups which don't appear in the nation selection UI, for use with this requirement. The supplied rulesets define a 'Barbarian' nation group for this purpose. GNAPATCH#5383
  • 'Topology' tests properties of the game's map topology ('WrapX', 'WrapY', 'Iso', or 'Hex'). GNAPATCH#6193
  • A new value 'Claimed' for the 'CityTile' requirement allows testing whether a tile is inside any player's borders. GNAPATCH#5929
  • 'BaseFlag', 'RoadFlag', and 'ExtraFlag', allowing testing whether extra has certain properties rather than just its type. GNAPATCH#3832 GNA#24445
  • The new requirement 'Extra' replaces 'Special', 'Base', and 'Road'.
  • New requirement ranges:
  • 'Alliance' and 'Team' allow testing whether any player in these sets has a particular property. GNAPATCH#4231 GNAPATCH#4388
  • 'Traderoute' allows testing whether any city with which this one has a trade route has a particular property. GNAPATCH#4459
  • The maximum number of requirements has increased from 10 to 20 (to allow room for nreqs to be converted to present="FALSE" reqs; nreqs are now deprecated).
  • Effect changes not listed elsewhere:
  • The new 'Victory' effect allows the ruleset to add any win conditions that can be expressed with the requirements system. GNAPATCH#4151
  • 'Unit_Bribe_Cost_Pct' allows bribe cost to be adjusted. Bribe cost reduction for settler-like units is now under ruleset control. GNAPATCH#3412 GNAPATCH#4121
  • The 'Nuke_Proof' effect can now depend on diplomatic relationship. GNAPATCH#6693
  • 'Pollu_Pop_Pct_2' replaces the tech flag 'Population_Pollution_Inc' for adjusting the pollution caused by city population, so that population pollution can be entirely independent of technology. GNAPATCH#5015
  • Calendar
  • Rulesets can now define sub-year divisions in their calendar. The new 'Turn_Fragment' effect controls how many fragments pass each turn. GNAPATCH#5249
  • Documentation
  • A long description file can be included in a ruleset, and is displayed in the client help.
  • Ruleset authors now have more control over when autogenerated help is displayed, via the 'quiet' attribute on requirements, actions, and combat bonuses. This allows suppression of autogenerated help text where it's inaccurate or misleading or the author would prefer handwritten text. GNAPATCH#4723 GNAPATCH#7046
  • Unit classes can have custom help text. GNAPATCH#5834
  • Rulesets can contain a version number field, which is reported in help, on the metaserver, saved in savegames, etc. GNAPATCH#4734 GNAPATCH#4761
  • Lua scripting
  • While old scripts should mostly continue to work, see how to update a lua script from 2.5 to 2.6 to avoid deprecated constructs. See the Events Reference Manual for full documentation.
  • Below are additions which are not covered in other sections:
  • Updated scripting engine from Lua 5.2 to 5.3.
  • Lua access to AI trait values. GNAPATCH#6557
  • (Terrain):class_name() ("Land" or "Oceanic") GNAPATCH#4746
  • (Direction):next_cw(), next_ccw(), opposite() GNAPATCH#5415
  • (Unit):kill()
  • give_tech(), giving control of penalty and notification; old give_technology() is deprecated.
  • New "pulse" signal, which is called every so often during a game. GNAPATCH#6286
  • Utilities for team pooled research: notify.research() / notify.research_embassies(), for notifications involving every one of a group of players that share research (possibly a team) GNAPATCH#6545 GNA#24056; and (Player):research_name_translation()/research_rule_name(), to name that group GNAPATCH#6603.
  • New 'city_transferred' signal, which is triggered whenever a city changes hands for any reason. 'city_lost' is deprecated in favor of this one. GNAPATCH#6673
  • New 'city_size_change' signal, superseding 'city_growth' and allowing script reaction to famine, etc. GNA#24115
  • Methods to test some city properties: (City):is_happy(), is_celebrating(), is_unhappy(), is_gov_center(), and is_capital(). GNAPATCH#6804
  • Methods to navigate unit transport stacks: (Unit):transporter(), (Unit):cargo_iterate(). GNAPATCH#6845
  • (as of RC2) find.role_unit_type() can now find a unit with a given flag, as well as a given role. HRM#700906
  • Sound has had some major changes.
  • Musicsets are now separate from soundsets, which now just cover sound effects. Clients can select and disable the two independently.
  • Musicsets can specify soundtracks for pregame, victory, defeat, and in-game according to 'music styles' defined by the ruleset. In-game music is further divided by mood (currently 'peaceful' or 'combat'). Ruleset Lua scripts can also cause specific music to be played. Supplied rulesets define music styles corresponding roughly to city styles ('Babylonian', 'Renaissance', 'Industrial', etc).
  • Tileset authors have a few new facilities. Existing tilesets need changes to work with 2.6 at all; see How to update a tileset from 2.5 to 2.6 for a minimal recipe.
  • As noted in the ruleset section, with the ruleset's cooperation, a tileset can have different graphics for different cities in a nation, and several different kinds of city-wall-like variants.
  • Can have different mine/irrigate activity icons for transforming terrain (unit.plant, unit.irrigate) and building extras (conventionally unit.mine, unit.irrigation). GNA#24329
  • Activity icons for removal of pollution/fallout type extras can be specific to the extra type. GNAPATCH#4235
  • Can specify an alternative layout for unit upkeep sprites ('unit_upkeep_small_offset_y'), for better display in the SDL clients. GNAPATCH#6564
  • Various elements now have configurable offsets, allowing more condensed graphics files.
  • Can specify seperate pixel_border_x/y. GNAPATCH#5786
  • Tilesets can have a summary and description, which are displayed in the client in "About Current Tileset". GNAPATCH#6350
  • Scenario creators also have a few new features available. (Scenarios created with previous versions should continue to work in 2.6.)
  • Scenario property "Prevent New Cities"; players cannot build cities in such scenarios. Ruleset authors can give certain units a flag 'NewCityGamesOnly', which prevents those units from being built in such scenarios, if that wouldn't make sense. (However, none of the supplied rulesets set this flag; in principle Settlers can be used for other things, although they cannot build cities in these scenarios.) GNAPATCH#5678 GNAPATCH#6424
  • Saltwater ocean flooding freshwater lakes can be disabled for specific scenarios. GNAPATCH#6994
  • There's an optional 'authors' property. GNAPATCH#6450
  • Scenarios can be marked as 'handmade', causing a warning about data loss when modifying them in the built-in editor. GNAPATCH#5608
  • It's now possible to set a player's government type in the editor. GNAPATCH#3300
  • Scenarios saved from the editor tended to be saved with fixed game/map random seeds which affected play. This no longer happens. GNA#24319
  • Scenarios are now saved with the version number of Freeciv that created them. When several scenario files with the same name are on the path, the client shows only the newest one that is still compatible with the client version.
  • A new server command '/scensave' is included as standard, to create a savegame suitable for use as a scenario. Previously this was only included in debug builds; it does the same as "Save Scenario" in the editor GUI. GNAPATCH#5755
  • Changes affecting server operators Edit
  • It's now possible to /create an AI player with specified AI type but random name/nation. GNAPATCH#5259
  • New/changed server settings:
  • 'persistentready' allows control of whether a new player joining in pregame resets everyone else's "Ready" status (previously it always did). With the new setting 'connected', a player's "Ready" status will persist as long as they remain connected to the server. GNAPATCH#5978
  • The 'autosaves' option now has a value 'TIMER', allowing a periodic backup even if the turn has not changed. Frequency is controlled by a new setting 'savefrequency'. GNAPATCH#4379
  • 'scoreloglevel' controls whether AI players are included in the scorelog. GNAPATCH#5727
  • The server now tracks whether a setting has been explicitly set (even if to the same value as the default). This status can be reset with the new '/default' command. Its main effect is that savegames do not include default settings, allowing changes in engine defaults to affect existing games.
  • General Edit
  • The implementation of research has been substantially reworked. This should have little visible effect, but may have fixed bugs, particularly with team pooled research.
  • There have been a lot of changes to path-finding to support more complex unit movement rules. There are quite likely to be behavior changes but, again, hopefully these only make things better.
  • Improvements to persistence across network disconnection and save/load cycles:
  • Open treaties still under discussion are now saved in savegames. GNA#22712
  • Demographic/score information from the start of a turn is now saved, so that it does not change after a save/load cycle mid-turn. GNA#22710
  • The history report is now saved, and sent to players who join mid-turn. GNAPATCH#6195
  • Whether a player has ended their turn is saved; this can avoid an extra turn delay when 'turnblock' is disabled, players disconnect between turns, and the game is reloaded. GNAPATCH#6192
  • Various dotfiles that lived directly under the user's home directory now live under the ~/.freeciv/ directory -- notably client settings (.freeciv-client-rc-*) GNAPATCH#4387 and server command-line history (.freeciv-server_history) GNAPATCH#5413.
  • The FREECIV_PATH environment variable is now deprecated; it will stop working entirely in the next major version. Use more specific variables like FREECIV_DATA_PATH instead. GNAPATCH#6279
  • Loading saved games from Freeciv before 2.0.x is no longer supported. GNAPATCH#3858
  • AI Edit
  • There is a new AI level, 'Handicapped'; this has the same inherent behavior as 'Novice', but is intended to suffer from additional ruleset-defined penalties. In most of the supplied rulesets it suffers penalties to science, defense, unit and city bribe cost, migration, and trade routes (but in civ2civ3 it instead only suffers trade and shield penalties).

New in Freeciv 2.5.5 (Nov 14, 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.3 (Feb 8, 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 RC2 (Mar 9, 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 21, 2015)

  • Server / General:
  • 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.
  • 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:
  • 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
  • Memory leak fixes. GNA#23169 GNA#23171 GNA#23170 GNA#23174 GNA#23173 GNAPATCH#5740 GNA#23221 GNA#23208 GNA#23209 GNAPATCH#5741 GNAPATCH#5749 GNA#23226 GNA#23234 GNA#23257
  • Various internal changes which should only affect developers. GNAPATCH#5429 GNA#22850 GNAPATCH#5460 GNAPATCH#5473 GNA#22977 GNAPATCH#5453 GNAPATCH#5491 GNAPATCH#5579 GNA#23089 GNAPATCH#5653 GNAPATCH#5682 GNAPATCH#5659 GNA#23292 GNA#23167 GNAPATCH#5711 GNAPATCH#5722 GNA#23172 GNAPATCH#5752 GNAPATCH#5775 GNAPATCH#5780 GNAPATCH#5779 GNAPATCH#5777 GNAPATCH#5817 GNA#23268
  • AI:
  • 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:
  • 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:
  • 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:
  • 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
  • Help / Documentation:
  • The help for the civ2civ3 ruleset has been substantially reworked and expanded. GNAPATCH#4936 GNA#23255 GNAPATCH#5831 GNA#23278 GNAPATCH#5799
  • Unit help is now more specific about which terrain improvement actions units can do. GNAPATCH#5774 GNAPATCH#5783 GNAPATCH#5006 GNAPATCH#5797
  • Miscellaneous improvements to in-game text and user documentation. GNA#23039 GNAPATCH#5645 GNA#23197 GNAPATCH#5515 GNA#23074 GNA#23204 GNAPATCH#5751 GNAPATCH#5759 GNAPATCH#5761 GNA#23239 GNA#23240 GNAPATCH#5782 GNA#23241 GNA#23214 GNA#23252 GNAPATCH#5809 GNA#22294
  • Miscellaneous changes to developer/ruleset docs. GNAPATCH#5128 GNAPATCH#5477 GNA#23163 GNA#23145 GNA#23144 GNA#23200 GNAPATCH#5723 GNAPATCH#5744
  • Invisible changes to assist localization. GNAPATCH#4762 GNAPATCH#5758 GNAPATCH#5807 GNA#23280 GNA#23274
  • Translations:
  • Updated translations:
  • Complete translations: French, Russian, British English.
  • Incomplete translations: Polish (97.7% core, 100% nations), Catalan (96.3% core, 100% nations), Finnish (93% core, 87% nations), Japanese (84% core, 92% nations).
  • Build/portability:
  • Fix failure to build twice in a row due to missing mkinstalldirs. GNA#22773
  • Improve diagnostic if configure fails to find pkg-config (previously it was erroneously warning about libcurl). GNA#23133
  • The shipped Windows installer Makefile is now compatible with the environment that is used to build the Windows installers. GNA#23246 GNAPATCH#5845

New in Freeciv 2.4.3 (Aug 18, 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 Freeciv 2.4.1 (Nov 30, 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 Freeciv 2.4.0 (Sep 16, 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 Freeciv 2.3.4 (Feb 18, 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 Freeciv 2.3.3 (Dec 12, 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 Freeciv 2.3.1 (Feb 15, 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 Freeciv 2.2.5 (Mar 7, 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 Freeciv 2.2.1 (Jun 3, 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