Freeciv

Freeciv 3.0.5

WHAT'S CHANGED SINCE 3.0.4​

3.0.5 is a generic bugfix release.

Server / General​

  • Improvements to savegame error diagnostics osdn#45341 osdn#45343
  • Silenced some unused entry warnings when loading saved games osdn#45671 osdn#45856 osdn#46143
  • Limit players to current max tax rates after loading a savegame from a time they were higher osdn#44186
  • Reduced the cases where player loses bulbs when they have leftover bulbs from tech finished previous turn change, and caravan provided bulbs on top of that, and they switch between various techs to research next osdn#45685
  • Disallowed barbarians from creating more than one unit of a type expected to be unique osdn#44863
  • Improvements to when worklist item get postponed and when completely purged osdn#46029 osdn#45982
  • Sea units that regularly need supplies, or die, now automatically save themselves to the coast when possible osdn#45948

Changes affecting players (supplied rulesets)​

  • civ2civ3/sandbox
    • Homeless units (e.g. starting diplomat) can no longer bribe other units. It made it possible to get armies of homeless, and thus free of maintenance, units. osdn#45070

Changes affecting other rulesets / modders​

  • Improved error diagnostics in inifile (e.g. rulesets) loading osdn#45573
  • Lua functions unit_move() and unit_teleport() now check legality of the move osdn#44769

Changes affecting server operators​

  • Removed unnecessary padding from the savegame files osdn#45855

Low-level changes​

  • Fixes to the directory creation
  • Robustness improvements to low-level fallback functionalities used, e.g., in Windows builds osdn#45905
  • Fixed city culture value overflow on server/client communication osdn#46014

General​

AI​

  • Fixed AI evaluation of value of tech parasite buildings (e.g. Great Library on most rulesets) in case of pooled research being turned off between team members, and dead opponents osdn#45588
  • Properly update AI's information when continents get renumbered (merged or split) osdn#45767
  • Fixed erroneously high want for a Martial Law unit as a defender when there actually isn't need for defensive capacity osdn#45595
  • Make AI to count logarithmic trade revenue bonus correctly when evaluating if trade route is worth the effort osdn#46049
  • Fixed a bug in bodyguard selection when the want for military units is high, but not an actual emergency osdn#46091
  • Fixed a crash when hunter cannot attack its target. Now it doesn't waste time hunting such targets at all osdn#46176

Clients​

  • Client is now aware if someone's research details are not updated any more, and doesn't show such outdated informatio any more osdn#45076
  • Fixed client crash on unfortunate timing of menus updating exact moment worker finish tile changing activity osdn#45781
  • Display (opponent) score of 0 as Unknown as that's what the server indicates with it (this logic will improve in freeciv-3.1) osdn#45970
  • Fixed which version of the wall graphics are shown about opponents' cities osdn#46092
  • gtk
    • Fixed "Gtk-WARNING gadget with negative dimensions" warning in most cases it occurred osdn#42263
    • Added tootip for the nationdlg rows osdn#45512
    • Fixed <ctrl> + <shift> + key combinations to work on edit mode osdn#45802
    • Fixed an infinite loop in editor mode osdn#45874
    • gtk3 and gtk3.22: Added Battle Groups menu osdn#45924
  • qt
    • Menu entry for targetless revolution is now insensitive if current rules do now allow it osdn#45782
    • Nations dialog Relations and Techs panes can now be toggled on or off osdn#45048
    • Made it possible to toggle one's own Away state from the nations display AI menu osdn#44858
    • Pop down possibly remaining older tile info before opening a new one. This avoids popups that were left on screen until client was closed osdn#44177
    • Fixed Classic theme syntax osdn#44857
    • Graphics for extras shown in the help browser osdn#44859
  • sdl2
    • Fixed unused entry: file.gx warning from theme loading osdn#45031
    • Fixed the Patrol Here functionality from the tile menu osdn#45925
    • Improved client launch time initialization checks osdn#46000
    • Fixed renaming cities to take effect osdn#45986
    • Fixed the Paradrop Here functionality from the tile menu osdn#45981

Tools​

Ruledit / Ruleup​

  • Save trade settings section comment to game.ruleset osdn#45386


Help / Documentation​

Translations​

  • Updated translations:
    • Complete translations: Catalan, French, Polish
    • Incomplete translations: Finnish (100% core, 93% nations, 100% ruledit)
  • Fixed fetching translations of the names of the nations from the core nationset, for the game to actually show translated names osdn#45761
  • Marked more strings for translations osdn#45989
  • Fixes to translator comments osdn#45835

Build/portability​

See NEWS for older lists of changes.

WHAT'S CHANGED SINCE 3.0.3​

3.0.4 is a generic bugfix release.

Server / General​

  • Prevent player from starting research a new Future Tech, when they have lost ability to research them while researching the previous one osdn#44592
  • Silenced some unused entry warnings when loading saved games osdn#45526 osdn#45527
  • Units lost due to missing shield upkeep are now included to player's lost units count osdn#44887
  • Fixed memory corruption issue when number of continents change due to land to ocean transformation osdn#45768

Changes affecting players (supplied rulesets)​

  • Fixed illegal range definitions in supplied rulesets osdn#45262
  • Legality of the activities of the units in the surrounding tiles are checked also when city in the tile gets destroyed osdn#45408
  • sandbox
    • Attackers have 50% chance of moving to killed unit's tile after the combat osdn#45154

Changes affecting other rulesets / modders​

  • Killing gameloss unit by any means now gives loot on rulesets where gameloss_style set so osdn#44672
  • Server now detects invalid requirement range definitions and warns about them. They will be hard errors on a future version osdn#44710
  • Fixed potential crash after an error loading nations ruleset osdn#45537

Changes affecting server operators​

  • Fixed loading savegames from freeciv versions older than 3.0 with Defending Unit Win events in event cache osdn#44809
  • Loading older savegame versions with known research count problems produce less warnings osdn#45344
  • Fixed loading base building orders from savegames older than freeciv-2.3 osdn#45692

Low-level changes​

  • Fixed potential crash on specfile error handling osdn#45008
  • Fixed crash when handling an error from deeply included data file osdn#45418
  • Fixed problems in transferring users' ping times to the clients osdn#45499
  • Fixed network protocol problems when there's more than 255 connections to the server. This fix works only if both the server and client have been updated. osdn#45501
  • Fixed buffer overflow on creating savegames, e.g., on Windows osdn#45682
  • Improved boundary checks in constructing text strings osdn#45719

General​

AI​

  • Improved accuracy of AI calculations osdn#45278
  • Fixed restricting AI to max tax rates when they change osdn#44188
  • More correct max tax rates restroctions applied to the new player from Civil War osdn#44187
  • Fixed AI to select techs when in a team in a game without pooled research osdn#45397
  • When AI is currently researching Future Tech and regular tech becomes available (e.g. when formerly known one is lost), AI switch to researching that regular one osdn#44419
  • Fixed AI diplomats targeting cities that have a id higher than 64k osdn#45116

Clients​

  • Fixed crash when changing ai_manual_turn_done client option osdn#45310
  • Make sure that the transport selection dialog does not show transports unsuitable for the cargo osdn#45331
  • Fixed editor crash with terrains with no resources defined for them osdn#45390
  • Make sure editor gui opens immediately when server enables edit mode osdn#45456
  • Fixed editor handling of scenario reserved player property osdn#45491
  • Make sure no negative ping time is ever shown osdn#45500
  • gtk
    • Added tooltips to worklist build targets osdn#45257
    • Added tooltip telling the nation the endgame score display row is about osdn#45461
  • qt
    • Improved client initialization sequence to match Qt recommendations osdn#43873
    • Fixed installation of cities icon on NightStalker theme osdn#45451
    • Fixed client behavior when the target city gets destroyed before spy finishes stealing a tech osdn#45411
  • sdl2
    • Display intelligence information about Wonders osdn#44992
    • Fixed adding Gold clauses to a treaty osdn#45032
    • Fixed installation of CJK fonts osdn#45433
    • Fixed selection of buildings for which icon is shown in the happiness dialog osdn#45577
    • Place luxury icon correctly on happiness dialog osdn#45578
    • Fixed chatline functionality osdn#45702

Tools​

Ruledit​

Manual Generator​

  • Made to work correctly on NDEBUG builds again osdn#45508

Tilesets, Art, etc​

Help / Documentation​

Translations​

  • Updated translations:
    • Complete translations: Catalan, French, Polish
    • Incomplete translations: Esperanto (32% core, 18% nations, 33% ruledit), Finnish (100% core, 93% nations, 100% ruledit), German (83% core, 99% nations, 5% ruledit), Russian (99% core, 100% nations, 97% ruledit)
  • Marked more strings for translations osdn#45525

Build/portability​


See NEWS for older lists of changes.

WHAT'S CHANGED SINCE 3.0.2​

3.0.3 is a bugfix release.

There's a vulnerability fixed in modpack installer. All users of older versions are advised to upgrade.

Default metaserver connection URL and URL used to fetch default modpack list have been updated to use https -protocol. This should cause no problems if https has been working for you all the time. However, if it was already broken (e.g. you couldn't download modpacks located on https even with earlier freeciv version), this makes the problem worse for you. The most likely cause for any problems with https is that root certificates (cacerts) are not set up properly. From freeciv side, building with the configuration option --with-cacert-path may help. In case everything else fails, we provide, for now, a .project file that you can use to build freeciv so that metaserver and modpack list default URLs still use http:

--with-project-definition=<freeciv srcdir>/bootstrap/http.project

We won't support that on freeciv-3.1.

Server / General​

  • Sanity check, and fix, player researched techs count loaded from the savegame. Older versions may have saved miscounted value osdn#44595
  • Disallowed creation more than one unit of a type expected to be unique
  • Fixed IPv6 LAN announcement handling HRM#912661
  • Fixed some "unused entry" warnings when loading saved game osdn#44958
  • City worker gets removed from a tile that gets fogged for the owner HRM#697685
  • Default metaserver access is set to use https-protocol osdn#44806
  • Disallowed creation more than maxplayers players from the editor osdn#44811

Changes affecting players (supplied rulesets)​

  • Legality of the activities of the units in the surrounding tiles are checked also when the tile terrain changes because of climate change osdn#44155
  • civ1/civ2

Changes affecting other rulesets / modders​

  • Improved handling of lua-script initiated unit owner change. osdn#44778 osdn#45056
  • Animals are initially placed further away from the players HRM#697677
  • Added sanity check that resources defined for the terrains really are resources osdn#45099
  • Fixed client end problems in receiving requirements of type NationGroup osdn#45109
  • Fixed potential issue with modpacks with multiple city wall graphic types and fogged tiles osdn#45063

General​

AI​

  • Fixed AI want for techs providing paradropping units osdn#44926
  • Fixed crash when a unit without homecity has waited for a ferry too long osdn#44987
  • AI no longer revolts to get rid of Senate, if it would not help osdn#44847

Clients​

  • gtk
    • Log initialization failures instead of just quitting osdn#44118
    • Numpad '+' and '-' now work for controlling zoom osdn#44846
    • Allow setting worker tasks also when the governor is active HRM#697695
    • Fixed memory handling problem in server list display osdn#44944
    • Transport selection dialog will show up when loading unit with L)oad key osdn#43950
  • qt
    • Fixed font selection problems osdn#44389 osdn#44906
    • Raise dialogs when they are accessed again. On macOS they often ended behind the main window before this osdn#43943 osdn#44851
    • Fixed changing color options from the options dialog osdn#44947
    • Display intelligence information about Wonders osdn#44990
    • Stopped flags on map from shrinking after user visited nations report HRM#857120
    • Make diplomacy dialog UI adjustments for disabled trading_gold server setting more sane osdn#45149
    • Made intelligence information display higher by one line of text, in case leader title wraps to two lines osdn#45191
    • Fixed potential memory problem after using scaled tileset osdn#45130
  • sdl2
    • Fixed size of the scaled unit icons osdn#44892 osdn#44891
    • Intelligence dialog can now be always opened, as it has some information even when players have no contact osdn#44991
    • Fixed memory handling issues when selecting action from small diplomacy dialog osdn#45046

Tools​

Modpack installer​

  • Default modpack list accessed by https-protocol osdn#44807
  • Vulnerability related to handling potentially crafted modpack URLs fixed osdn#45299

Tilesets, Art, etc​

Help / Documentation​

Translations​

  • Updated translations:
    • Complete translations: Catalan, French, Polish, Russian
    • Incomplete translations: Finnish (100% core, 91% nations, 100% ruledit)
  • Marked more strings for translations osdn#44957

Build/portability​

  • Added configure option --with-localedir osdn#44525
  • Windows msys2 environment updated to 220529 (29-May-22) snapshot osdn#44056
  • Warn when building gtk3-client instead of gtk3.22-client when dependencies of latter would be available osdn#44792
  • Fixed some clang analyzer warnings osdn#44679 osdn#44617 osdn#44856 osdn#44937 osdn#44833 osdn#44897
  • Fixed build on systems with unsigned time_t osdn#44886
  • Fixed build when Qt headers require PIC, but user has enabled PIE osdn#44917
  • Flatpak safety improvements
    • Give permissions only to .freeciv subdirectory, not entire home directory osdn#44925
    • Prefer wayland osdn#45103
  • Replaced strncat() call with a portable fc_strlcat() one osdn#44919
  • Provide http.project configuration osdn#45071
  • Fixed detection of cross-MagickWand-config osdn#45009
  • Fixed compiler warnings on x32 platform osdn#44920
  • Updated bootstrap files from gnulib upstream osdn#45025
  • Added autoconf cache variable for gettimeofday detection, to make it possible to set it when cross-compiling osdn#45050

See NEWS for older lists of changes.

WHAT'S CHANGED SINCE 3.0.1​

3.0.2 is a generic bugfix release.

Server / General​

  • Savegame integrity check improvements osdn#44211
  • Improved the way lua variables are included to the savegame osdn#44447

Changes affecting players (supplied rulesets)​

  • Also unit's further orders are cancelled, not only the current one, when it turns illegal osdn#44370 osdn#44504 osdn#44519
  • Unit upgrade is disallowed when it's in the process of converting osdn#43328
  • Activities illegal for the new unit type are cancelled after unit upgrade and conversion osdn#44410
  • When a city is disbanded to an unit, and that unit cannot stay at the spot, it now can escape to neighboring tile HRM#692482
  • Supplied scenarios have been refreshed to match how 3.0.1 saves them osdn#44152
  • Destroyed cities are now removed from the maps of players seeing them through Reveal_Cities' effect, like the one civ1 ruleset Apollo Program gives osdn#444028
  • Fixed generated team names like Team 1 to be consistent which team they refer to in all situations osdn#44382
  • Corrected the number of "other units killed" when the attacked tile has also unreachable units osdn#44416
  • Fixed bookkeeping of number of techs known, when one is about to receive a tech but fails to do so. This affects research cost of later techs osdn#44593
  • Prevented startunits setting from creating multiple units of a type that is supposed to be unique osdn#44685
  • Fixed the player created by a civil war to have as many future techs as the original player osdn#44737
  • experimental
    • Upkeep of Engineers is now switched to gold once the player knows The Corporation osdn#43848
  • Europe 1900 WWI scenario
    • Added missing information for tex AI module osdn#44445

Changes affecting other rulesets / modders​

  • Check that resources have "extra" defined now works correctly osdn#44191
  • Fixed zombies appearing on the client side when unit was created by lua upon receiving "unit_lost" signal HRM#867958
  • Made lua city creation methods to not allow illegal city placement osdn#44508
  • Improved ruleset load time checking against illegal city_size values for units for which it's relevant osdn#44730
  • Log messages about ruleset errors are less likely to get cut. They can now be as long as other log messages osdn#44704

Changes affecting server operators​

  • Fixed /create command used midgame not to assume that there's a dead player's slot for it to take when there is not osdn#44495
  • maxplayers setting can now be changed also after the game has started osdn#44567
  • /create command used midgame now respects maxplayers setting osdn#44185

Low-level changes​

  • Improved freeciv's idea of what are the minimum and maximum values an effect can ever reach in a given ruleset. This allows both gui and AI to adjust better to the ruleset osdn#44303
  • Fixed chance for a diplomat to win a battle sometimes being over 100% osdn#44291

General​

Clients​

  • Client now sends the governors data to the server just before it requests saving the game, so more up-to-date data will be saved osdn#44304
  • freeciv-3.1 development version scenarios are no longer listed as compatible with freeciv-3.0 osdn#44452
  • Fixed potential crash when unit awaiting details of its orders dies osdn#44757
  • gtk
    • Added tooltip for the "Size" line in the city dialog osdn#44515
  • qt
    • Added tooltip for the "Size" line in the city dialog osdn#44409
    • Fixed memory handling problem in server list display osdn#44421
    • Fixed option dialog crash osdn#44484
  • sdl2
    • Fixed memory handling problem when the diplomacy dialogs are being closed osdn#44687

Tools​

Ruledit​

  • Have the "same name" toggle consistenly toggled initially in all tabs osdn#44140
  • Made the initial size of the window bigger HRM#721403

Ruleup​

  • Fixed rare case of some resources not loading correctly from a 2.6 ruleset osdn#44190
  • Fixed upgrading activities of units doing terrain transforming Irrigation on Mine activitity in a 2.6 ruleset osdn#44591

Tilesets, Art, etc​

Help / Documentation​

Translations​

  • Updated translations:
    • Complete translations: French, Polish, Russian
    • Incomplete translations: Catalan (99% core, 100% nations, 100% ruledit), Finnish (100% core, 91% nations, 100% ruledit), German (76% core, 85% nations, 5% ruledit)
  • Marked strings for translations where they erroneously were not. osdn#44556

Build/portability​

See NEWS for older lists of changes.
3.0.1 is a generic bugfix release.

Server / General​

  • Fixed "turn_begin" lua signal, affecting especially 32bit Windows builds. This, e.g., makes various welcome messages to show up osdn#41662
  • Fixed some problems in builds where asserts are not enabled. More work remains. osdn#43871 osdn#44129 osdn#44019 osdn#44020
  • Fixed error messages sometimes appearing when a city has been removed but units remain (e.g. in case of Sentried Helicopter) osdn#44057
  • Correctly convert it, when savegame with AI level "Experimental" is loaded to a non-debug build osdn#44165
  • Don't kill the nation when client requires removal of a gameloss unit in editor mode osdn#44274
  • Fixed a bug that updated city info was in some cases sent to owner when it was supposed to get sent to everyone else osdn#44158
  • Correctly set resources on player's Fog-of-War map, for tiles which they don't currently see, when loading a saved game osdn#44176
  • If scenario lua script uses direction variables, value of those is no longer stored to savegames at all. Current freeciv version can't load that information, and such savegames generated by earlier versions only crashed the server at savegame loading time. Lua direction objects will function properly in freeciv-3.1 HRM#880895

Changes affecting players (supplied rulesets)​

  • Start area is revealed also for the start city osdn#43652
  • alien
    • transform_result and transform_time consistent on all terrains osdn#43625

Changes affecting other rulesets / modders​

  • Added deprecation warning about insensical singlepole and alltemperate requirement combinations osdn#44181
  • Fixed crash in lua tile:is_enemy() method when there's no city on that tile HRM#943039

Changes affecting server operators​

  • Metamessage is no longer resetted on ruleset load osdn#43759

General​

AI​

  • Alight cargo unit immediately when transport reaches destination osdn#43639

Clients​

  • Always properly initialize output streams for forked server osdn#42471
  • Enable better audio quality when possible osdn#43549 osdn#43999 osdn#44018
  • Client's return value now correctly indicates an error when it fails osdn#43780
  • gtk
    • Fixed drawing citizens for cities over size 30 osdn#43823
  • qt
    • Fixed memory corruption issues when detecting which gfx formats client supports osdn#43755
    • Worked around MacOS behavior of removing "Options" submenu osdn#43944
    • Renamed menu item "Players" as "Nations" to match naming in left pane osdn#43946

Tools​

Modpack Installer​

Ruledit​

Tilesets, Art, etc​

Help / Documentation​

Translations​

  • Updated translations:
    • Complete translations: Catalan, Polish, Russian
    • Incomplete translations: German (76% core, 85% nations, 5% ruledit), Finnish (100% core, 91% nations, 100% ruledit)
  • Marked strings for translations where they erroneously were not. osdn#43980 osdn#44029
  • Include core domain translations to Windows ruledit installer osdn#43981

Build/portability​

  • Updates from the gnulib upstream: osdn#43588 osdn#43636
  • Fix lua compile for AmigaOS osdn#43571
  • Fixed problems in Windows snapshot builds being flagged as "modified" in their version number even when they are not.
  • Detect pthreads as thread implementation also when they require "-lpthread" osdn#43561
  • Support also such C11 thread implementations that are not built on top of pthreads HRM#852950
  • Added configure option --without-iconv osdn#43572
  • Updated Crosser environment to use to version 2.3 osdn#44047 osdn#43921 osdn#44110
  • Fixed libcharset configure check osdn#43600
  • Updated default Appdata/Metainfo installation directory osdn#44091

Server / General​

Changes affecting players (supplied rulesets)​

  • civ2civ3 is now the default ruleset GNAPATCH#4739
  • Alien ruleset, and related Alio tileset, are included in Freeciv distribution. They have been separately available already for earlier versions.
  • Hex topology is the default in new installations. Old installations may have saved preferences that make them still to use iso topology. GNAPATCH#7915
Miscellaneous rule changes affecting all or most rulesets:

  • Number of the first turn is now T1. T0 refers only to pre-game. GNAPATCH#6599
  • Attempt to steal a tech causes incident also if it fails because of lost diplomatic battle. In earlier versions there was no incident if diplomat died already in the battle. GNAPATCH#6101
  • First default team name is "Team 1", no longer "Team 0" GNAPATCH#7506
  • Attack and following automatic move when occupychance is above zero no longer have double move cost GNA#20945
  • Caravans can no longer help build Palace in supplied rulesets HRM#705580
  • Map is revealed to a team when all members have died REVEAL_MAP_DEAD is set. Old behavior was never to reveal map for a teams with multiple members. HRM#658081
  • Possibility to set game start year in editor has been removed. It always was a broken feature HRM#767130
  • One now gets to know culture value of another player, if there's an embassy HRM#820730
  • Supplied scenarios can now be played with any compatible ruleset, not only with the default one HRM#821962
  • Editor has rudimentary support for owned extras HRM#851220
  • There's no longer move cost for an attempt to do an illegal action when it was clear beforehand that it's illegal, i.e., when user request an action by accident HRM#879104
  • Intelligence gained from an embassy is shared between team members HRM#878898
  • Ransom is given for each barbarian leader when there's more than one in the same tile (but no other units to defend them). The old behavior was not to give ransom at all as they were considered to be defending each other. osdn#42020
  • Bombarding is disallowed when target tile is known not to contain any units that would be affected HRM#848555
  • New / Changed game settings
    • There's a new fracture map generator GNAPATCH#6882
    • New caravan_bonus_style and trade_revenue_style server settings HRM#765978
    • Tech leakage rate can be controlled by new techleak server setting HRM#764944
    • New multiresearch server setting can be used to enable mode where switching research target does not move bulbs to new research, but they will be there when researching that original tech again HRM#769897
    • Global Warming and Nuclear Winter accumulation rates can be adjused by new globalwarming_percent and nuclearwinter_percent server settings HRM#770804
    • Spaceship Travel Time can be adjusted with the new spaceship_travel_time server setting HRM#800950
Rule changes to specific rulesets:

  • civ2civ3 ruleset
    • Agents investigating cities survive the mission HRM#683542
    • Future techs cost less as a result of ruleset now using Linear tech cost HRM#731498
    • Culture victory values tweaked. You now need only 33% more culture points than second best player, but a minimum of 20000 points, to win by culture victory. Culture victory is not enabled by default. HRM#830181
    • Ships with zero attack power no longer cause unhappiness, fighters with fuel over one turn do osdn#42078
  • All of classic / multiplayer / experimental rulesets
    • Fighters' defense has been doubled against bombers HRM#922015
  • multiplayer ruleset
    • Buy cost of Small Wonders doubled, like they were in freeciv-2.5. The difference to freeciv-2.5 is that Palace is handled like regular building, not a wonder HRM#767397
  • experimental ruleset
  • civ1 / civ2 rulesets
    • There is only one barbarian type that attacks both from land and sea in new games started with 3.0 GNAPATCH#5522
    • (civ2) Added Plant Nuclear Device diplomat action GNAPATCH#5627
    • Triremes may leave coast temporarily, but will sink if not at coast on turn change GNAPATCH#7350
    • (civ2) Airbase hides units inside from non-allied players GNAPATCH#7983
    • Units cannot be upgraded HRM#741525 osdn#43404
    • (civ2) Fighters have defense bonuses against Bombers to mimic civ2 scramble mechanics HRM#865085
    • Savepalace server setting is disabled by default osdn#42266
  • sandbox
    • Barbarians have been enabled. There is one barbarian type that attacks both from land and sea GNAPATCH#6532
    • Battleships and Carriers are disbandable under some governments only GNAPATCH#6596
    • Nukes for which upkeep is not met, explode GNAPATCH#6637
    • Learning Electricity will give vision everywhere within ones borders when the borders setting does not give it from the beginning of the game GNAPATCH#6782
    • Spies can Steal Maps GNAPATCH#6783
    • Green Paratroopers cannot land on Forest or Jungle tiles. More experiences one still can. GNAPATCH#6982
    • Airlifting heavier units requires more advanced technology GNAPATCH#7045
    • Infantry and mounted units can expel foreign civilian units within ones borders GNAPATCH#7117
    • Leader unit can Destroy own cities GNAPATCH#7204
    • There's extra Hermit's Place appearing spontaneously during early game, and can give tech when entered GNAPATCH#6616
    • There's several Goods that traderoutes can carry. Some of them are chained so that a city can export certain good only if it imports something else. GNAPATCH#7687
    • Republic corruption increase by the distance from capital depends on total map size GNAPATCH#7597
    • Fortress and Airbase hide units inside from non-allied players GNAPATCH#7984
    • Buoys are visible only to players who know Radio HRM#658922
    • City conquest is no longer guaranteed to give a tech. After University is known, techs are not got from conquest. Before that the chance is 50% HRM#732488
    • 25% of the citizens of the conquered city are immediately converted to the nationality of the conqueror HRM#733781
    • Combat lasts 15 rounds at max, even if neither party dies in that time HRM#735849
    • Chance of gaining veterancy levels from combat reduced HRM#804128
    • Caravel needs to visit some safe coast at least every third turn to get supplies, or to be lost HRM#732562
    • Bulbs are not carried from a research to another when changing it, but are kept towards the original until one switches back to it HRM#820915
    • Chance of Plague from trade route has been doubled HRM#877397
    • Fortresses can be updated by building Castle as their administrative center, to claim terrain osdn#41433
    • A Spy can Steal Gold after Banking is discovered osdn#41609
    • Culture victory values tweaked. You now need only 33% more culture points than second best player, but a minimum of 20000 points, to win by culture victory. Culture victory is not enabled by default. HRM#830181
    • Paradropping to a transport is made possible osdn#41740
    • Added Mechanic unit that can fix certain other units osdn#41845
  • british isles scenario
    • Scenario now uses nationset all, so the correct nations from the isles are available and get placed, instead of completely random nations from the core nationset osdn#42939

Changes affecting other rulesets / modders​

  • Maximum number of achievements defined in a ruleset has been increased to 40 GNAPATCH#7097
  • New barbarian type LandAndSea makes it possible to define just one barbarian nation in a ruleset instead of separate Land and Sea barbarians. GNAPATCH#5521
  • Have_Embassies effect has been split to two; new Have_Contacts provides contact with all the nations, reworked Have_Embassies provides embassies only with those nations the owner has had contact with. GNAPATCH#5832
  • Techs can have requirements for them to become available for research. Only such requirements that are not switching during the game are supported; such as player's nation. GNAPATCH#5944
  • What actions provide Casus Belli is now more under ruleset control, with new Casus_Belli_Caught and Casus_Belli_Success effects. GNAPATCH#6099 GNAPATCH#6107
  • For a number of actions, ruleset can now control success odds with new Action_Odds_Pct effect. GNAPATCH#5642
  • Buildings can be made immune to disaster effects with a new DisasterProof flag GNAPATCH#5819
  • Some actions can require any buildings of a given genus instead of specific building as a target by new BuildingGenus requirement type GNAPATCH#6341
  • New requirement type MinTechs can be used to track how far player or world has proceeded in the tech tree GNAPATCH#6460
  • New requirement type MinCalFrag can be used to change things depending on current calendar fragment, such as seasonal changes GNAPATCH#7751
  • With a new BeachLander unit type flag some units can be made immune to slow_invasions setting. GNAPATCH#6212
  • Extras can be defined to appear or disappear with a random chance GNAPATCH#5730 GNAPATCH#5888 GNAPATCH#5941 GNAPATCH#6243
  • Tile Resources are now extras, having all the configurability of extras GNAPATCH#6624
  • Extras default to "buildable = TRUE" only if they have a build cause, "buildable = FALSE" otherwise GNAPATCH#6770
  • Extras can be defined to be invisible to player until s/he has required tech GNAPATCH#4392
  • New Unit State properties for requirement vectors to rely on
    • OnDomesticTile to check if unit is within owner's borders. GNAPATCH#6323
    • Transporting to check if the unit has cargo GNAPATCH#6975
    • HasHomeCity to check if the unit has a homecity assigned GNAPATCH#7062
    • OnNativeTile to check if unit is on Native Tile GNAPATCH#7267
  • New Border_Vison effect can be used to enable vision of all tiles within ones border when borders setting is enabled GNAPATCH#6331
  • More ruleset control over immediate unit wiping on unmet upkeep GNAPATCH#6632 GNAPATCH#6633
  • Some units can be given ability to escape stack death. This is controlled by CanEscape and CanKillEscaping unit type flags GNAPATCH#6104
  • User defined ruleset flags are supported for unit classes too GNAPATCH#6957
  • User defined ruleset flags are supported for extras GNAPATCH#7055
  • Requirement for sea units to visit coast regularly can be created by new Coast unit type flag and setting fuel for the unit GNAPATCH#6979
  • Techs can belong to ruleset defined tech classes GNAPATCH#7354
    • Class can define cost percent adjustment for the techs belonging to it GNAPATCH#7497
  • With the new Stealings_Ignore effect one can adjust the number of techs diplomats can steal from a city before it becomes impossible, and how difficult it is for Spies GNAPATCH#4787
  • For the ruleset to better adjust to different map sizes, some things can now be controlled relative to map size
    • New Output_Waste_By_Rel_Distance effect defines waste by distance relative to map size GNAPATCH#7566
    • New tradeworldrelpct server setting tells how much map size affects trade between cities GNAPATCH#6884
  • Cities can have limited unit slots for acting as a homecity with the new Unit_Slots effect. Ruleset defines how many slots each unit type takes GNAPATCH#1936
  • New Attack_Bonus effect. It differs from a negative Defend_Bonus in that requirements are about attacking unit and player GNAPATCH#7894
  • Extras can be defined to hide units inside them from non-allied players GNAPATCH#4101
  • Ruleset can depend on boolean server settings with the new ServerSetting requirement type HRM#648804
  • Ruleset can control how likely city conqueror is to get tech from the victim by new Conquest_Tech_Pct effect HRM#699156
  • Added new Linear tech_cost_style HRM#695972
  • Ruleset can define certain percentage of the inhabitants to convert to conqueror's nationality when city is conquered HRM#657145
  • New ruleset effect Combat_Rounds can define maximum number of rounds combat lasts, even if that means that neither party dies HRM#729194
  • Granularity of Output_Waste_By_Distance has been increased 100 fold HRM#733815
  • Buy costs can be adjusted by new effects, especially useful in defining Wonder (Small and Great) buy cost rules
  • Caravans can now be allowed to help any production, not just Great Wonders GNAPATCH#6362
  • Effects of some of the former base flags have been made configurable, and thus the base flags have been removed. One can still reimplemtent them as user base flags
  • NoStackDeath base flag has been reimplemented as extra flags, making it available for any extra type GNAPATCH#7209
  • Ruleset can make Poison City actions to empty food stock via poison_empties_food_stock setting GNAPATCH#7241
  • New unit flag Provoking makes unit target to autoattack even when autoattack would not otherwise be executed. Supplied rulesets use this for diplomats, transports, and GameLoss units. GNAPATCH#7943
  • Action_Odds_Pct effect can now control also chances of Tech Stealing actions HRM#764943
  • Extras have new generated property. It can be used to prevent map generator for generating extras that have a cause like Resource or Hut to get other properties of that cause HRM#775424
Action Enablers

Traderoutes

  • Traderoutes can be directional, in which case source and target city are not considered equal
  • Traderoutes now carry ruleset defined Goods GNAPATCH#5971
  • Goods can act as requirements GNAPATCH#6888
  • Hardcoded Enter Marketplace action trade reduction removed. Ruleset can implement equivalent, or adjusted, penalty via Trade_Revenue_Bonus effect.

Changes affecting custom scenarios​

  • Scenarios can be made not to lock on to specific ruleset, but to be usable with any compatible ruleset GNAPATCH#5787
    • Lua functions game.rulesetdir() and game.ruleset_name() can be used to get current ruleset
  • New player flag ScenarioReserved can be used in a scenario to mark players that are not supposed to be picked by human player. This rule is not very hard - clients do not list such players in the beginning, but it's possibly to /take them regardless GNAPATCH#6688
  • Individual units can be given boolean stay property that prevents AI from moving them. They defend the spot where scenario author has placed them. HRM#661437
  • Other new lua functions
  • New lua signals
  • Changed lua signals
    • hut_enter gives name of the extra entered as second parameter HRM#780730
  • Max length of map label increased HRM#722788

Changes affecting server operators​

  • Default savegame compression method is now xz GNAPATCH#6087
  • FREECIV_PATH environment variable has been obsoleted. It no longer does anything. Use FREECIV_DATA_PATH and friends instead. GNAPATCH#6279
  • Game can now be set to proceed in parallel to compressing savegame and writing it to disk, to minimize the wait while saving. This is controlled by a new server setting threaded_save GNAPATCH#6802
  • Metaserver message is now set by a new server setting metamessage GNAPATCH#6876
  • Log levels can be given by their name, and that's recommended over use of old numeric levels. Numbers may refer to different levels at different freeciv versions GNAPATCH#6947
  • Remaining turn timeout gets saved to savegame, and restored when savegame is loaded. It used to always give full timeout after loading a savegame. HRM#662023
  • database.lua API has been improved a bit
    • Functions should raise exception instead of returning FCDB_ERROR. Most functions should not return anything. HRM#769078
    • New user_delegate_to() can be defined to control when player delegation is allowed HRM#766520
    • New user_take() can be defined to control when player can be taken HRM#778018
    • Moved some formerly hardcoded login logic to database.lua; user_load() removed and new user_exists() and user_verify() to be used instead. user_save() is expected to actually save the user, not only check if it succeeded HRM#802523
  • Deprecation warnings mode now shows also suggestions for action enabler improvements HRM#879228

Low-level changes​

  • New major version 3 of the savegame format has been introduced. Saving always happens with that format, older savegames can still be loaded. GNAPATCH#4928
  • Made codebase generally more robust when strings contain multibyte (international) characters GNAPATCH#3930

AI​

  • AI's want for various things is now tracked with much higher resolution. This affects especially situations where the want is very low, and used to round to zero. GNAPATCH#4999
  • Hard and Cheating level AI may bribe also Workers and Settlers GNAPATCH#6255
  • Novice and Handicapped AI levels suffer penalty to production change GNAPATCH#7342
  • There'a new tex AI module/type GNAPATCH#7380
  • Handicapped AI suffers attack penalty in all supplied rulesets GNAPATCH#7924
  • AI builds only limited number of units with gold upkeep, if ruleset has those HRM#696007
  • AI is more likely to choose building up offensive instead of just defensive buildings HRM#825079
  • AI now considers boats able to make multiple trips when estimating their lifetime value HRM#869673
  • AI builds units just to chase enemy diplomats HRM#877541

Clients​

  • Xaw-client has been dropped GNAPATCH#6164
  • Sdl-client has been dropped. Use newer sdl2-client instead of it GNAPATCH#6245
  • Units wanting user action decisions have a graphical marker showing it GNAPATCH#7049
  • New client option for the messages display to show messages also from the previous turn and not only from current turn. This should help when one was not logged to server at the end of the turn and missed messages when they first appeared GNAPATCH#7498
  • New client event type Beginner Help for showing beginner friendly messages that experienced players can turn off from Messages settings GNAPATCH#7601
  • Maximum number of rulesets listed at the client end increased to 63 (from 16) HRM#854627
  • Gtk-client improvements
  • 'gtk3 & gtk3.22 New Wonders List Intelligence Dialog shows all the wonders of any foreign player HRM#883354 osdn#43043
  • Qt-client improvements
    • User configurable shortcuts for Go And Build City and Go And Join City HRM#743990
    • New -- --shortcutreset command line option can be used to clear corrupted shortcuts HRM#905784
  • sdl2-client improvements
    • City Size and Production Text font sizes are configurable HRM#760428

Tools​

Ruledit​

Modpack Installer​

  • Added support for new modpack type Group that can be used for sort of meta modpacks that just install set of other modpacks GNAPATCH#6899
  • Modpack file suffix has been changed from .modpack to .mpdl GNAPATCH#7641
  • New modpack installer that uses gtk4 gui added GNAPATCH#7846

Ruleup​

  • New tool to update ruleset from the format of previous freeciv version to current one GNAPATCH#7171

Manual generator​

Tilesets, Art, etc​

  • Improvements to handling of tileset and map topology compatibility
    • Tileset topology is no longer considered incompatible with map topology if one is overhead one and one is isometric one HRM#653727
    • Former client settings for Overhead and Iso tilesets are combined to one Square setting HRM#776792
  • Tilesets with orientation units no longer show units with random orientation in dialogs. Tileset author must provide what sprite is used in those cases. GNAPATCH#7243
  • Hex tilesets with oriented units are no longer required to provide orientation sprites for directions not present in the topology GNAPATCH#7431
  • Tileset can tell which ruleset it is for, and the client will start the server with that ruleset. This removes the need to work around the incompatibilities of custom tilesets, such as that of ancients modpack, and default ruleset, by starting server manually. GNAPATCH#7577
  • Tileset can now define the drawing order of the graphics layers GNAPATCH#7667
  • Tileset has offsets for more sprite types
  • River outlet sprites for all directions are now mandatory HRM#657130
  • Improved specialists graphics tags support HRM#738278
  • Graphics for number of extra units not used by any of the supplied rulesets provided for the benefit of custom rulesets on some supplied tilesets
  • Number of alternative music tracks for the same style and mood increased to 25 HRM#905821

Help / Documentation​

  • Added new README.scenarios document to describe scenario file format HRM#822122

Translations​

  • Updated translations: Catalan, Esperanto, Finnish, French, Polish, Russian, Traditional Chinese

Build/portability​

  • Msys2 is now the official Windows build environment. Support for msys1 has been dropped GNAPATCH#7631
    • 64bit builds in addition to 32bit ones
    • IPv6 supported
    • Latest toolchain and components
    • Installers for gtk3.22-, Qt-, and sdl2-clients and ruledit
    • Windows 7 as minimum requirement
  • Support for experimental Crosser-based Windows installers cross-compiled in linux GNAPATCH#7905
  • gtk3.22-client is now the client built by default GNAPATCH#7970
  • Source code is now distributed in xz compressed tarball instead of bzip2 compressed one. Gzip and zip compressed ones remain in use as well. GNAPATCH#3301
  • Tinycthread can be used as the threading implementation freeciv uses. It's in use in official Windows builds. GNAPATCH#5703
  • Freeciv can be built to use json based protocol between server and client. Such a build is incompatible with normal builds. GNAPATCH#5737
  • libicu is a new requirement GNAPATCH#3838
  • To support projects that fork freeciv, support for a project definition file containing things like metaserver URL of the project added. This obsoletes --with-modlist configure option. GNAPATCH#5746 GNAPATCH#6056
  • Inability to build IPv6 support is now considered an error by default. If you really want, you can still explicitly request build without IPv6 with --disable-ipv6 GNAPATCH#7185
  • C11 threads support added, and it's used as the threading model by default HRM#852681

WHAT'S CHANGED SINCE 2.6.5​

2.6.6 is a bugfix release.

Server / General​

Changes affecting players (supplied rulesets)​

  • Fixed server crash when number of cities and units in the game is larger than 65535 HRM#927510
  • Units restricted to being next to coast can now enter cities on 1x1 tile islands osdn#42600
  • Fixed a bug that in some cases trade partner city was not revealed to the player of the destination city when traderoute was established osdn#42968
  • Consider it land bombardment (for reduced firepower) when a ship attacks from a city against another land tile osdn#42960
  • Fixed a bug that shield stock given changes from editor were nullified when production was changed osdn#42685
  • Fixed an errnously sent message about city being building an obsolete building, after it has already been upgradet HRM#921933
  • civ1
    • All units occupy tiles osdn#42923
    • Remove infra from city center tile when city destroyed osdn#43039
  • italy scenario
    • Wrap map from the correct point so that leftmost part of the map is connected to the rest HRM#691812 osdn#42908

Changes affecting other rulesets / modders​

  • When action success probability range to show is calculated, TerrainAlter requirements are known to be known for sure osdn#42512
  • Update city owner's info on clients when caravan helps finish foreign wonder HRM#908746
  • Sanity check that ruleset does not try to set nonzero upkeep cost for a wonder. It has no effect, and never had osdn#42994
  • Fixed lua players_iterate() to process all remaining players after some are removed HRM#883551

Changes affecting server operators​

  • Fixed a bug that GAMEOVER savegame was not created for an autogame with no clients connected osdn#42172

General​

AI​

  • AI can again build Fighters (units with fuel of one) HRM#658896
  • Fixed a problem causing fueled ferries to get stuck osdn#41970
  • Fixed a problem causing AI to think its income is lower than it actually is, when it plans for a balanced budget osdn#42193
  • Increased AI's want to conquer cities that have no buildings at all osdn#42778
  • Improved handling of caravans that can only enter marketplace, not establish trade routes osdn#42518
  • Corrected AI's estimate of immediate bonus of establishing a trade route when bonus type is not "Both" osdn#42641

Clients​

  • Consistently disable help links to space parts when spacerace disabled HRM#853869
  • gtk
    • Cleanly destroy toplevel Window on quit osdn#43072
    • Cleanly free widgets, that have been protected against destruction during the run, on quit osdn#43222
  • Qt
    • Fixed reversed leader sex selection osdn#42936
    • Show default ruler title for players whose government is not known. It used to show the Anarchy title in these situations osdn#42938
    • Fixed a crash before writing shortcuts information when quitting client without ever visiting actual game osdn#43019
    • Make explicit leader sex selection to work (sex used to be selected only when taking predefined leader) osdn#42964
    • Allow adjusting leader of the nation player has already selected in the nation selection dialog osdn#43024
    • Fixed nations dialog crash after a new player has been created as a result of a civil war osdn#42545

Tools​

Modpack installer​

  • Made gtk3- and gtk2- gui to quit cleanly osdn#43187
  • gtk3- and gtk2- guis free main window on quit osdn#43074

Help / Documentation​

Translations​

  • Updated translations:
    • Complete translations: Catalan, Spanish, French, Polish, Russian
    • Incomplete translations: Esperanto (34% core, 17% nations, 42% ruledit), Finnish (100% core, 91% nations, 100% ruledit)

Build/portability​

  • Fixed compiler warning with clang-13 osdn#42698
  • Avoid use of depracated 'which' command in scripts osdn#42769
  • Silenced false-positive gcc-12 compiler warning osdn#42885

WHAT'S CHANGED SINCE 2.6.4​

2.6.5 is a bugfix release. Notably it fixes regression in 2.6.4 gtk3-client that present units in city dialog had no overlays drawn at all.

Server / General​

Changes affecting players (supplied rulesets)​

  • Allow goto to a moving transport (but not through one) HRM#647612
  • Less predictable random seed supported on more platforms
  • Air unit goto avoids wait for refuel when it's not necessary HRM#923677 osdn#42029
  • Server does not send city info to clients in the middle of calculations where the info might be inconsistent osdn#41851 osdn#41975
  • Already built buildings are purged from the worklist. They used to be just postponed osdn#41925
  • Terrain changing unit activities are cancelled when climate change changes tile terrain. With the new terrain the target of those actions is not what was started HRM#899919
  • Avoid endless loop with scenarios having bad starting positions HRM#767127
  • Server correctly informs client when loading a savegame fails. It used to always claim that load was succesfull to the client osdn#42189
  • Game refuses paradropping to a tile with known enemy unit as that would only be certain death for the paradropping unit HRM#869995
  • Fixed a bug that when player providing shared vision was removed, the vision would remain for the other players HRM#883225
  • Corrected bribe cost of units with build cost not multiple of ten. Especially this makes bribe cost of units with build cost less than ten not to be zero. HRM#929034
  • Avoid server getting stuck when loading ruleset that has unit obsoletion loop osdn#42301
  • civ1
    • Made traderoute one-time-bonus gold only osdn#42317

WHAT'S CHANGED SINCE 2.6.3​

2.6.4 is a generic bugfix release.

Server / General​

Changes affecting players (supplied rulesets)​

  • Made automatic selling of coastal improvements from a city that gets landlocked to work better HRM#880455
  • Adjusted formula for barbarian band size. For nations with less than 32 cities there is no change, but bigger empires get bigger barbarian bands than they used to HRM#767126
  • Fixed postponing buildings from worklist. They were never really postponed HRM#912972
  • Combat messages show more detailed information about combatants HRM#913055
  • Fixed display of game years above 32768 HRM#918800
  • Players no longer need hack access to disable timeout any more than they need for enabling it HRM#647101
  • Fixed crash, seen on client side, when receiving extremely well compressed network packets HRM#918726
  • Send meetings initiated by AIs player is in contact with initially (thanks to dispersion server setting) to client when it is ready to handle them. Not only did the bug prevent those meetings from opening in the client, but it prevented player from ever opening a meeting with that AI. HRM#764968
  • Corrected check that the upgraded unit will fit to its transport before upgrading it HRM#921691
  • Clients connected to the server are no longer sent to the pre-game screen when there's an (failing) attempt to load a savegame when game is already running HRM#767358
  • Corrected calculation of nation's literacy value when number of citizens has changed during the turn, e.g., by losing cities HRM#880780
  • Update a city also on other player's clients when its size get reduced because of a nuke osdn#41810 osdn#41860
  • Made generated random seed less predictable on most platforms. Windows is a notable exception HRM#914184 osdn#41838
  • civ2civ3ruleset:
    • Fixed tile output penalties not to apply to Luxury or Science bonuses provided by wonders like Hanging Gardens HRM#908518
Oben Unten