========================
Welcome to Freeciv 2.4.4
========================

The changes in the 2.4.x series are summarised below.
For changes prior to 2.4, see NEWS. For more detailed changes,
see the ChangeLog file.


CHANGES FROM 2.4.3 to 2.4.4
---------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.4>)

   2.4.4 is a bug-fix release. Notable bugs fixed include serious issues
   in East Asian locales on Windows, occasional inability to switch
   governments in the Gtk client, research in games with teams, and
   premature nuclear explosion.

Server / General

Changes affecting players (supplied rulesets)

     * Numerous fixes to research in games with teams:
          + With team_pooled_research enabled:
               o Technology cost now takes into account effects from all
                 players in the team; previously it was picking a random
                 player for penalties such as the Novice AI science
                 penalty. GNAPATCH#5098
               o Similarly, tech upkeep now takes into account all players
                 in a team. GNAPATCH#5099
               o If a technology is lost, all team members share the
                 effects (such as losing their government), and all
                 clients can see that the tech is lost. GNA#21935
               o All clients are kept up to date with accurate progress of
                 current research. GNAPATCH#5100 GNAPATCH#5185
          + With team_pooled_research disabled: only one player per team
            was getting the free techs given at the start of the game
            (e.g., with the 'techlevel' setting). GNA#22522
     * Other fixes to tech loss:
          + The server's count of a player's technologies was not reduced.
            This could cause technology cost to be too high and have other
            bad effects. GNA#22579
          + Ruleset effects that survived the global loss of a technology
            (such as wonder obsoletion) did not survive a save/reload
            cycle. GNA#22909
     * Tech upkeep cost was slightly larger than intended. GNA#22912
     * When following orders into fogged territory, a unit will now abort
       its orders if it runs into an unexpected unit or city on its last
       step (rather than blindly attacking, etc). GNA#20618
     * Transported units or those in cities could fail to be revealed when
       entering an alliance. GNA#20726 GNA#22851
     * 'unitwaittime' now applies to exploding nuclear units in place as
       well as to regular attacks. GNA#22838
     * Investigating an empty city that was previously known to contain
       units mistakenly displayed the former units as still
       present/supported. GNA#22498
     * When the 'foggedborders' server option was enabled, border
       information was not included in map transfers between players.
       GNA#22497
     * Fix a possible server crash when a diplomat is killed after bribing
       a unit. GNA#22762
     * Fix some assertion failures when changing player (for instance in
       edit mode). GNA#19848
     * Fix bugs with taking AI players and entering/leaving AI or 'away'
       mode: GNA#22716 GNAPATCH#5046
          + Taking an AI player could leave the player with invalid tax
            rates.
          + Putting a player who'd previously been /away under full AI
            control could leave them with the conservative 'away' skill
            level rather than a proper AI skill level.
          + AI state was not set up and cleared correctly when changing
            '/away' mode. For the classic AI, this could lead to incorrect
            defense calculations.
          + 'autotoggle' and 'aitoggle' now work for barbarian players (as
            'away' did before). GNA#22724
     * In the multiplayer ruleset, ensure notifications are sent out about
       new technologies gained from Philosophy or Darwin's Voyage.
       GNA#22783 GNAPATCH#5355 GNAPATCH#5358 GNA#22827
     * Prevent diplomacy with barbarian players in the civ1 and civ2
       rulesets (in civ1, it was possible to attempt treaty with pirates
       but not barbarians). GNA#22727 GNA#22728
     * Prevent team-mates from withdrawing shared vision from each other.
       GNA#22992
     * Remove spurious assertion failures about MAP_MAX_LINEAR_SIZE when
       generating large maps. GNA#19429 GNA#22640
     * For the purposes of credit in the rank log, any user detaching from
       a player (even an observer) was resetting the username used for
       ranking. For now the ranking rules have been reverted to those used
       up until 2.3.2. GNA#22458
     * Fixes to voting:
          + Do not call votes which will immediately pass (for instance if
            a user is alone on a server). GNAPATCH#5181
          + Fix incorrect vote information displayed in a client which
            connects while a vote is in progress. GNA#22566
     * The 'surrender' command now does additional sanity checks.
       GNA#22622
     * Fix display of team names. GNA#22394

Changes affecting other rulesets / modders

     * Fixes to rulesets with root requirements in their technology tree:
          + Fix general slowness (sometimes extreme) in such rulesets.
            GNA#22159 GNAPATCH#5357 GNA#22876
          + Research could fail to pick the next technology toward a
            faraway goal. GNA#22789

Changes affecting server operators

     * Patch CVE-2014-5461 in Freeciv's embedded Lua 5.1 interpreter. This
       could conceivably allow a malicious modpack or script to escape the
       sandbox. GNA#23031
     * Fix a possible server crash on quit. GNA#22996
     * Creating a player midgame (with /create or Lua script) didn't
       initialize city style and gender correctly. GNA#22832
     * The /create command now validates the AI type argument better.
       GNA#22697
     * When built without readline support, the server could stop
       accepting input after an empty line. GNA#18254
     * More robustness against loading invalid savegames. GNA#22523
       GNA#21327

General

     * Several fixes to pathfinding, used for client goto and for the AI:
          + Units which will be unable to move next turn but still have
            move points this turn (for instance due to tech loss) are now
            handled correctly. (This could lead to premature nuclear
            explosion in rulesets where nuclear units require extra
            technology to move, such as the civ2civ3 add-on.) GNA#22569
          + A collection of general fixes which, together with
            client-specific fixes, we hope will resolve a client crash
            observed on Windows (GNA#21774), and probably fix other bugs
            too. GNAPATCH#5190 GNA#22693 GNA#22756 GNA#22755
          + Other minor fixes and speed improvements. GNA#22636 GNA#21938
     * Already-built wonders are now dismissed when considering what
       players can ever build. This affects the client city UI and may
       also affect AI behavior. GNA#22667
     * Fix a bug which could cause strings to contain invalid/truncated
       UTF-8 sequences. GNA#22885
     * Fix/improve diagnostic messages in error cases, notably including
       network failures. GNA#22481 GNA#22503 GNA#22462 GNA#22706 GNA#22729
       GNA#22282
     * Fix a possible crash when an --enable-debug build tried to print a
       very deep backtrace. GNA#22854
     * Minor speed optimization. GNAPATCH#5154
     * Memory savings and leak fixes. GNA#21552 GNA#22582 GNA#22583
       GNA#22587 GNA#22589 GNA#22626 GNA#22627 GNA#22629 GNA#22630
       GNA#22631 GNA#22632 GNA#22670 GNAPATCH#5123
     * Various internal changes which should only affect developers.
       GNAPATCH#5111 GNAPATCH#5167 GNAPATCH#5182 GNAPATCH#5192 GNA#22824
       GNAPATCH#5381 GNA#22781 GNAPATCH#5298 GNAPATCH#5299 GNAPATCH#5297
       GNAPATCH#5296 GNA#22955 GNAPATCH#5473 GNA#22977

AI

     * The AI was undervaluing units defined as good defenders in the
       ruleset, and overvaluing 'OK' defenders. GNA#22617
     * The AI could continue trying to build worker units in inappropriate
       situations, such as where the population cost would cause a city to
       disband. GNA#22972
     * The AI now considers the effect of the 'diplcost' setting when
       evaluating the value of a gold transfer clause in a treaty.
       GNAPATCH#5399

Clients

     * The Windows Gtk client is built against a different Gtk version,
       fixing major problems in East Asian locales, including inability to
       use the chatline and other text boxes, and failure to display the
       online help. GNA#21038 GNA#22607
     * Fix a longstanding bug in the Gtk client that could make it
       impossible to select a new government. GNA#18764
     * The client now supports loading a save file from the command line
       directly, with the --file command line option. GNAPATCH#3180
     * The 'Explode Nuclear' command is now more careful; previously, if
       the nuclear unit was unable to reach the specified destination (or
       move at all), it would explode regardless (this could happen due to
       'unitwaittime', due to another bug). Also, the command now supports
       setting waypoints. GNA#21934 GNA#22624 GNA#22722
     * Various fixes to client goto. (Some of these may resolve a client
       crash observed on Windows: GNA#21774.)
          + Ignore duplicate waypoints in client goto, and attempts to go
            nowhere. GNAPATCH#5271 GNAPATCH#5191 GNA#22610
          + Improve behaviour if a unit moves or is lost while the user is
            in the middle of specifying a goto. GNAPATCH#5193 GNA#22577
     * Fix client error messages when manipulating units with a zero move
       rate. GNA#22571
     * Some fixes to spy and caravan action dialogs:
          + Some buttons were active when the relevant action was not
            available. GNA#22565 GNA#22592 GNA#22593
          + (Gtk) When multiple spy action dialogs were active at the same
            time, orders could end up being issued to the wrong unit.
            GNA#21636 GNAPATCH#4502 GNA#22595
     * Fix a cause of the client starting a server which it then could not
       connect to. GNA#22463
     * Fix error messages and possible instability when the city governor
       is working on a city that has been destroyed. GNA#16438
     * Fix some graphical glitches when moving units. GNA#19946 GNA#22770
     * Fix an error message when observing a player who is building a
       spaceship. GNA#22933
     * Map editor fixes and improvements:
          + Fix bugs in tile copy and paste:
               o Tiles were pasted in completely the wrong place.
                 GNA#21655
               o Copying units could cause assertion failures. GNA#22558
               o The client could remember possibly-invalid tiles from one
                 game to the next. GNA#22553
          + Prevent setting normal players to barbarian and other
            unsuitable nations. GNA#22742
     * (Gtk) With the 'Help' box checked in the science dialog, technology
       help would pop up randomly at turn end and other times. GNA#19882
     * (Gtk3) Fix a bug causing the chat window to be minimised after
       reconnecting, and assertion failures. GNA#21639 GNA#22673
     * (Gtk3) Various display issues:
          + Fix problems with flag display. GNA#21373 GNA#22457 GNA#22517
          + Fix fog-of-war in some tilesets. GNA#21601
          + Miscellaneous cosmetic tweaks. GNA#22671 GNA#22672
     * (SDL) Fix client crash when attempting industrial sabotage of a
       city with no buildings. GNA#22495
     * (SDL) Fix incorrect background color on some dialogs. GNA#22511

Tilesets / Art

     * The Cimpletoon tileset now includes graphics for a Migrant unit,
       like other supplied tilesets. This is used for instance in the
       civ2civ3 add-on. GNA#20029
     * The Crusader nation was using a large flag by mistake in small
       tilesets such as Trident. GNA#22653

Help / Documentation

     * Miscellaneous improvements to in-game text and user documentation.
       GNA#22513 GNA#22623 GNAPATCH#5314 GNA#22825 GNA#22823 GNA#22846
       GNA#22869 GNAPATCH#5388 GNAPATCH#5389 GNA#22847 GNAPATCH#5452
     * Miscellaneous changes to developer/ruleset docs. GNA#22444
       GNAPATCH#5183 GNA#22793 GNAPATCH#5356 GNAPATCH#5374 GNA#22848
       GNAPATCH#5423

Translations

     * Updated translations:
          + Complete translations: Catalan, French, Polish, British
            English, Spanish, Russian.
          + Incomplete translations: Finnish (97.1%).

Build/portability

     * Fix compilation with Glib older than 2.32. GNA#22467
     * Fix failure to build twice in a row due to missing mkinstalldirs.
       GNA#22773
     * Fix inability to compile with Python 3. GNA#22705
     * Fix some compiler warnings. GNA#22886 GNA#22895 GNA#22894 GNA#22915
     * New configure options --with-desktopdir and --with-appdatadir for
       finer control of installation locations. GNAPATCH#5047
     * Add search keywords to .desktop files. GNA#21573


CHANGES FROM 2.4.2 to 2.4.3
---------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.3>)

   2.4.3 is mostly a bug-fix release.

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


CHANGES FROM 2.4.1 to 2.4.2
---------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.2>)

   2.4.2 is mostly a bug-fix release; it includes an important fix to air
   unit pathfinding, as well as fixes for server and client crashes.

Server / general

Changes affecting players (supplied rulesets)

     * Pathfinding (goto) fixes for aerial units:
          + Units could fail to refuel and die -- this bug was introduced
            in 2.4.0-RC2. GNA#21359
          + Units could take unnecessary detours in the presence of refuel
            points. GNA#21461 GNA#21523
          + Possible slowdown in rare circumstances where no route was
            possible. GNA#21369
     * Large map updates (such as at game end, or when gaining the Apollo
       Program) could lead to cut connections, particularly on Windows. To
       avoid this, map updates are now compressed over the network; as
       well as fixing cut connections, this may speed up network play,
       although the visual effect of the update is now choppier. GNA#18532
       GNA#19452 GNAPATCH#4314
     * Fix a server crash if a transport died due to its passenger's
       action (this could happen in the civ1 ruleset). GNA#21462
     * If one of your diplomatic units was on the same tile as an allied
       player's unit/city and a second diplomat of yours acted against
       your ally, your two diplomats would do battle with each other.
       GNA#21596
     * A player's view of fogged borders could fail to be updated
       correctly in rare circumstances, such as paratroopers dropping to
       their doom. GNA#21393
     * Fix unlikely possibility of loot from a very large conquered city
       causing the victim's treasury to go negative. GNA#21389
     * The multiplayer/experimental rulesets could fail to load if a
       development version of Freeciv was already installed. GNA#21576

Changes affecting other rulesets / modders

     * Various fixes on server and client to handle rulesets with
       'negated' requirements better (the supplied rulesets don't use
       these). This mainly corrects misleading online help for buildings,
       notably in the 'civ2civ3' ruleset. GNA#21424 GNA#21430
     * Some improved handling of rulesets using technology root_reqs
       (although problems remain):
          + Players can now select technology goals requiring reachable
            but not-yet-known root_reqs. GNAPATCH#4395 GNAPATCH#4399
          + The default AI now understands this. GNAPATCH#4410
          + The built-in help no longer claims that such technologies are
            unreachable. GNA#21480
          + The "Show All" button in the client technology tree now
            toggles visibility of technology trees that the player can't
            reach (such as those rooted at nation-specific technologies).
            GNAPATCH#4398
     * Fix a bogus sanity check warning for units transported over
       non-native terrain. GNA#21456
     * The map editor vision tool now always refreshes a player's
       knowledge to match reality. GNA#21392
     * The "+/-" buttons that appear in the city dialog in edit mode have
       been removed, as they have never worked. GNAPATCH#4465
     * Fixes and improvements in ruleset checking:
          + Allow requirement lists to refer to multiple nations.
            GNA#21421
          + Fix possible random spurious rejection of improvement
            requirement lists. GNA#21418
          + Check whether 'survives' requirement flags are valid.
            GNAPATCH#4396
     * Fix minor bugs in support for Continent/City-ranged building
       requirements. It's not clear what exactly was affected, but it's
       likely to be client help and the AI rather than the game engine.
       GNA#21471
     * Warn when loading a ruleset that uses the 'negated' field in
       requirements in effects.ruleset, as Freeciv's handling of such
       constructs is known to be buggy. This does not change Freeciv's
       behaviour. None of the supplied rulesets use this construct.
       GNAPATCH#4413
          + Nevertheless, a few of the known bugs with these constructs
            have been fixed. More remain. GNA#21417 GNA#21425

Changes affecting server operators

     * Clients connected to an active server but not to any player could
       crash, due to the server erroneously sending them information about
       combat. As well as the crash, this was an information leak; the
       server no longer sends this information. GNA#21279
     * Removal of a player (or, occasionally, quitting the server) could
       cause client crashes due to old references to that player in
       private maps. GNA#21384 GNA#21524
     * A malformed building sabotage request from a client could cause a
       server crash. (No standard version of the client is known to send
       such malformed requests.) GNA#21558
     * Nation names sent to the metaserver could become corrupted.
       GNA#21511
     * Reduce the amount of network-related spew in the -d 2 logging
       level. GNA#21506
     * Fix spurious error messages when LAN announcements are disabled
       with -A none. GNA#21527
     * Fix an unlikely possibility of network buffer overflow leading to
       cut connections in the absence of congestion. This was most likely
       to occur if the server was run with FREECIV_COMPRESSION_LEVEL=0 for
       some reason. GNA#21297

Tools

     * The GUI toolkit of the 'freeciv-modpack' utility in the Gtk Windows
       installer is now consistent with the client version. This should
       make little difference beyond a possibly smaller installer size.
       GNA#21474
     * Bugfixes and small improvements to the 'freeciv-manual' utility.
       (Note, however, that it remains of limited use outside the
       development team.)
          + Add a minimal help page about governments. GNAPATCH#4442
          + Handle negated improvement requirements. GNA#21432
          + The --ruleset option was ignored; documentation was always
            generated for the default ruleset. GNA#21438
     * 'freeciv-modpack' and 'freeciv-manual' now report an error for
       unknown command-line options. GNA#21538

Low-level changes

   Changes that could affect any part or use of Freeciv:
     * Stack usage has been reduced in some circumstances. GNAPATCH#4326
       GNA#21551
     * Various internal changes which should only affect developers.
       GNAPATCH#4313 GNA#21349 GNA#21143 GNAPATCH#4384 GNAPATCH#4402
       GNA#21516 GNAPATCH#4443 GNA#21529 GNA#21544

AI

     * The AI now only proposes a ceasefire on first contact if they're at
       war with you (they could start at peace due to mutual alliances).
       GNAPATCH#4365
     * Fix AI evaluation of desirability of buildings affecting maximum
       city size; it could mistakenly prioritise buildings which would
       reduce the maximum size when already at the size limit. Does not
       affect supplied rulesets. GNAPATCH#4380
     * When declaring war on you to due to your provocation, the AI sent
       you an inappropriate chat message. GNAPATCH#4370
     * For AI developers: fix possible trouble on first contact between
       two AIs of different types. (This doesn't affect games which only
       use the default AI.) GNA#21401

Clients

     * The client could fail to start a local game if another client was
       running one, or an old server was still running. The client was
       failing to correctly choose a free port for its spawned server.
       GNA#19720 GNA#21546 GNA#21547 GNAPATCH#4471
     * Locally started games are no longer announced on the local LAN
       (since they would not be connectable). There's some hope that this
       will also reduce the number of prompts from the Mac OS X firewall.
       GNAPATCH#4438
     * The "Diplomat/Spy Actions" action (against an allied victim on the
       same tile) usually did not work at all. GNA#21595
     * Units could remain in the focus queue after having been given
       orders. GNA#20842
     * Middle-clicking on a unit with "connect" orders now displays its
       path correctly. GNA#21412
     * An attempt to set a goto path with the end point also being a
       waypoint was silently ignored. GNA#19932
     * Minor optimisation in the City Governor. GNAPATCH#4327
          + It is hoped that this will fix reported stack overflows in
            Windows clients (GNA#20940), although we're not positive this
            is the root cause.
     * The Cities report now explains what the number in parentheses in
       the trade route column means (it's the total trade revenue).
       GNA#21472
     * (Gtk) Pressing the Tab key in the chatline could cause the client
       to crash in games where players had been removed. GNA#21395
     * (Gtk) The Units report now has explanatory tooltips on its column
       headers, and includes the total number of upgradable units.
       GNAPATCH#4426
     * (Gtk3) Fix a resource leak. GNA#21534
     * (SDL) Clicking on a link in the help for an improvement with a
       'negated' requirement could cause the client to crash. (The
       supplied rulesets have no such requirements, but the 'civ2civ3'
       ruleset does.) GNA#21433
     * (Xaw) It was not possible to direct a spy to sabotage the first
       building in the ruleset (Airport in the default ruleset). GNA#21560

Tilesets / Art

     * City specialists (entertainers/scientists/taxmen) now have distinct
       icons in the city dialog and the tax rate display. GNAPATCH#4422
     * Fix some minor glitches in the Amplio2 city graphics. GNA#21387

Help / Documentation

     * The generation of online help for governments has been reworked to
       fix missing and misleading information with some rulesets. In
       particular, the civ2 ruleset had incorrect information about food
       upkeep (and many other rulesets simply omitted this information),
       and the Alien World ruleset's help for tax rates and civ2civ3's
       help for corruption was incorrect. GNA#20521
     * Correctly describe the behaviour of the FREECIV_*PATH environment
       variables in the man pages. GNA#21517
     * Miscellaneous improvements to developer/ruleset docs. GNAPATCH#4414
       GNAPATCH#4431 GNAPATCH#4430 GNA#17558

Translations

     * Updated translations:
          + Complete translations: Spanish, Russian, Catalan, Polish,
            British English.
          + Incomplete translations: German (95%).

Build/portability

     * Freeciv programs could be built with the wrong main(); programs
       would build but do the wrong thing. Originally reported on Mac OS
       X. GNA#21399
     * Some files related to Windows installer builds were omitted from
       the 2.4.1 tarballs. GNAPATCH#4319
     * Added Appdata files for Freeciv programs. GNAPATCH#4280
     * Fix a complaint from automake-ng. GNA#21453
     * Do not distribute the generated Qt client file meta_fc_client.cpp,
       as it is unlikely to be compatible with everyone's system. (Only
       affects the experimental Qt client.) GNA#21526
     * Fix a build failure building from pristine source (e.g., svn; this
       does not affect normal building from the distributed tarballs):
       failure to run libtoolize before autoconf could cause trouble.
       GNA#21452
     * Fix some compiler warnings from the clang toolchain, and suppress
       others. (Other such warnings remain.) GNAPATCH#4373 GNAPATCH#4421
       GNA#21494


CHANGES FROM 2.4.0 to 2.4.1
---------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.1>)

   2.4.1 is mostly a bug-fix release; it includes fixes for server and
   client crashes, and some AI improvements.

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


CHANGES FROM 2.4.0-RC2 TO 2.4.0
-------------------------------

   For those who've been trying the betas, the only change since RC2 is
   the addition of a missing embedded language code to some of the
   translation files. This will probably make no difference to users.
   GNA#21092


CHANGES FROM 2.4.0-RC1 TO 2.4.0-RC2
-----------------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.0-RC2>)

   This release fixes a couple of crashes:
     * The server could crash when a unit moved at a point where a new
       connection had attached to the server but not yet chosen a player
       or observer. GNA#21019
     * The client could crash when another civilisation's Settler unit
       moved out of visibility range. GNA#21044

   and some other issues:
     * Windows-specific issues:
          + It was not possible to install the (partial) Indonesian
            localisation from the Windows installer. GNA#21058
          + The installer did not offer the option to use the US English
            (en_US) translation of Freeciv on a non-English version of
            Windows (although it was possible to use British English,
            en_GB). GNA#21059
     * In rulesets with ocean cities, fix a bug where those cities could
       not claim oceanic territory adjacent to land. GNA#21035

   In addition, the source tarball has been updated with changes made to
   the Windows installer build for 2.4.0-RC1. GNAPATCH#4095


CHANGES FROM 2.4.0-beta2 TO 2.4.0-RC1
-------------------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.0-RC1>)

Server / General

Gameplay

     * City centre 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.
     * Fix a pathfinding bug where aerial units would stop to refuel at
       any city or airbase they passed through, regardless of need.
       GNA#20786
     * Cities were erroneously enjoying martial law benefits from
       unlimited numbers of units, even under governments with a
       Martial_Law_Max specified (such as Monarchy and Communism in the
       default ruleset). GNA#20971
     * Auto-settler units would revert to manual control when moving
       between adjacent landmasses through a transport. GNAPATCH#3904
     * When a city chose food-consuming units to disband due to
       starvation, it could choose units not actually consuming food
       currently, for instance due to government-type related free upkeep.
       For instance this could lead to cities disbanding all their units
       in the 'civ2civ3' ruleset. GNAPATCH#3902
     * Unit transport related fixes:
          + Fix assertion failures and similar problems associated with
            loaded transports of allied players (with whom you don't have
            shared vision) going out of sight. GNA#20774 GNA#20727
            GNA#20837
          + Prevent units in nested transports (which can't disembark)
            from being chosen to attempt to defend a tile. GNA#20747
     * Fixes for undisbandable units in destroyed transports:
          + If such a unit was teleported to safety and immediately died
            (for instance due to auto-attack), the server could crash.
            GNA#20626
          + Such cargo on non-boat-like transports are now saved in more
            circumstances (this does not affect the supplied rulesets).
            (part of GNAPATCH#3856)
     * If a city becomes landlocked due to terrain change, its
       ocean-requiring buildings should now correctly be sold. GNA#20902
     * When 'tinyisles' was disabled, the map generator was
       overenthusiastic about removing 1x1 islands from the map; it could
       also remove peninsulas from continents in some circumstances.
       GNA#20847

Clerical

     * Do not prohibit loading a savegame where the number of surviving
       players has fallen below the server's 'minplayers' setting.
       GNA#20835
     * When loading a savegame with automatic 'mapimg' image saving
       enabled, do not overwrite an image created previously at the start
       of a turn with a new one. GNA#20079
     * The Windows packages now include support for saving map images in
       formats other than PPM (such as PNG and JPEG). GNAPATCH#4095
     * When a unit is created in the editor, assign it a homecity
       appropriate for its type more often. (part of GNAPATCH#3856)
     * Fix a possible infinite loop when logging character encoding
       conversion errors. GNA#20721
     * Fix a possible crash when sending server details to the metaserver.
       (part of GNA#20778)
     * Fix a minor memory leak. GNA#20788
     * Various internal changes which should only affect developers.
       GNAPATCH#3891 GNA#20777 GNA#20903

Clients

     * Speed up movement drawing of city-building units (the client was
       redrawing more than necessary). GNA#20905
     * Fix a possible crash that could occur in circumstances such as
       viewing the terrain activity popup. (part of GNA#20778)
     * Fix a minor memory leak. GNAPATCH#3896
     * (Gtk3) Fix an assertion failure / crash when closing the unit
       selection dialog. GNA#19486
     * (Gtk3) Refactoring which should have no visible effect.
       GNAPATCH#3550
     * (SDL) In tilesets with unit orientation (such as Cimpletoon), do
       not use randomly-oriented unit sprites in the unit orders or
       production display. GNA#20998

Tilesets / Art

     * Use correct small flag for Liberia. GNA#20838

Gameplay / Rules Changes

Supplied rulesets

     * Remove technology root_reqs from the experimental ruleset for now,
       due to bugs hindering their use. GNAPATCH#3912
     * In the civ1 and civ2 rulesets, the Oracle bonus was too generous in
       the rare case where the player gained the Oracle by conquering
       without knowing Mysticism; it should (and now does) double the
       effect of Temples, which in this case means +1 content citizen
       rather than +2. GNA#20616

Other rulesets

     * Prevent units being spawned to terrain to which they are not
       native:
          + Partisans GNAPATCH#3869
          + Settlers and mercenaries from huts GNAPATCH#3895 GNAPATCH#3909
     * Ruleset sanity checking could erroneously emit warnings about valid
       effects combinations if negated requirements were used (such as a
       base that could not be built on either mountains or hills). In
       addition, warnings are now emitted if a requirement and its exact
       negative are simultaneously specified, as this is probably a
       mistake in the ruleset. GNAPATCH#3835
     * The Lua definitions const.TRUE and const.FALSE (new in 2.4.0-beta1)
       have been removed; the const module remains. GNAPATCH#3937

AI

     * When assessing the threat from enemy units near cities, fear any
       unit that can take over a city (such as helicopters), rather than
       just land units. GNA#20785
     * Reduced the weighting of the AI's assessment of defence strength,
       so that it defends its own cities more convincingly, and is less
       fearful of its enemy's defenders when attacking their cities.
       GNAPATCH#3960
     * 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
     * Remove some assumptions about units' ability to attack from/to
       non-native terrain. Most likely to make a difference with unusual
       rulesets. GNAPATCH#3837
     * Military land units with nothing to do were seeking coastal cities
       to defend rather than just the nearest, for no good reason. (part
       of GNAPATCH#3856)
     * The AI no longer hardcodes a food_cost of 2 when assessing
       potential city sites. This makes no difference to its behaviour
       with the supplied rulesets. GNA#20856
     * Fix a possible crash when starting the (experimental) threaded AI.
       (part of GNA#20778

Help / Documentation

     * Remove some redundant information from online help for ocean-going
       units. (part of GNAPATCH#3815)
     * Miscellaneous improvements to developer/ruleset docs. GNAPATCH#3883
       GNAPATCH#3929

Translations

     * Updated translations:
          + Complete translations: Catalan, French, Polish, British
            English.
          + Incomplete translations: Scottish Gaelic (95%), German (91%),
            Finnish (84%).

Build/portability

     * Fix a pthread-related build failure observed on MinGW. GNA#20950
     * Windows builds using the Crosser framework will no longer use
       pthread even if it appears to be present. GNAPATCH#4001
     * Fix a build failure on OpenBSD due to failure to find intptr_t.
       GNA#20946
     * Fix a build warning (which could prevent building with
       --enable-debug due to -Werror). GNA#20973
     * Fix a build warning in non-debug builds. GNA#20750


CHANGES FROM 2.4.0-beta1 TO 2.4.0-beta2
---------------------------------------

   (from <http://www.freeciv.org/wiki/NEWS-2.4.0-beta2>)

   This is mostly a bugfix release, although there are one or two new
   features. Notably, there have been a number of improvements in AI
   behavior.

Server / General

Gameplay

     * Bug fix: if the server had to retry map generation, no resources
       would be generated. GNA#20171
     * Bug fix: various trouble with unloading transports if the server
       had been built without assertions enabled (--disable-debug option
       to configure). GNA#20084 GNA#20498
     * Bug fixes in unit destruction (GNA#19821):
          + When a transport unit was lost, loss of nested transports and
            their cargo was not handled correctly, leading to assertion
            failures and other misbehavior. GNA#20442 GNA#20699 GNA#20700
            GNA#20744
          + A loaded transport lost to causes such as autoattack could
            cause an assertion failure. GNA#20663
          + 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
          + Cases where a unit was killed due to a custom script could
            have led to crashes/instability. GNA#20678
     * In complicated cases of nested transports, it was possible for
       non-allied units to occupy the same tile. GNA#20720
     * Bug fix: when a unit was automatically moved to a transporter to
       save it from drowning or running out of fuel, other players could
       continue to see the transporter as empty. GNA#20454
     * Nuclear units no longer autoattack. GNAPATCH#3803
     * 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: during long activities, such as a single Engineer unit
       transforming land to or from ocean, a network value could overflow,
       causing the client's display of remaining time to become too large.
       Both client and server must be upgraded for this fix to be
       effective. GNA#20495
     * Bug fix: quell spurious "No diplomat action possible" message when
       an ordinary attempt to move a diplomatic unit failed. GNA#20150
     * Bug fix: assertion failure when many autosettlers try to work on
       the same project. GNA#20240
     * Bug fix: when a border source such as a fortress is occupied by a
       unit of a nation other than the owner at the time a treaty between
       the two players breaks, or 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
     * It is now possible for bulb count to become negative, due to tech
       loss. GNA#19973
     * Bug fix: in tech loss situations, future tech would fail to be
       removed from a player, with an assertion failure. GNA#20220
     * 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
     * Fix assertion failure when city radius changes. GNA#20077
     * 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 'civ2civ3' ruleset. GNA#19977
     * Bug fix: assertion failure during map generation when no unit in
       the ruleset satisfied the first role in 'startunits'. GNA#19886
     * 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 behavior and the AI.
       GNA#20304

Clerical

     * 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 GNA#19814
       GNA#20517
     * Bug fixes and improvements to the '/delegate' function
       (GNAPATCH#3743), including:
          + If a previously detached user used '/delegate take' to
            temporarily control a player, the server would crash when they
            relinquished control. GNA#20490
          + Admins can now forcibly '/delegate cancel' an active
            delegation (previously an attempt would cause a crash).
          + A user observing a particular player then using '/delegate
            take' to take over control of that player now works.
          + More documentation.
     * Changes to scorelog/ranklog:
          + The ranklog format has changed; it now includes individual
            players' scores, and can be parsed more unambiguously.
            GNAPATCH#3346
          + A ranklog is now generated when the game ends without a
            victory condition (due to reaching endturn or /endgame, for
            instance); in this case the player or team with the highest
            total score is considered to have won. GNAPATCH#3346
          + 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
          + Bug fix: enabling scorelog twice (for instance by loading a
            game with it enabled to a restarted server) caused an
            assertion failure. GNA#20621
     * Bugfixes and improvements to map image support ('/mapimg'):
          + Automatically generated images are now saved to the savegame
            directory, rather than the current working directory.
            GNA#19168
          + Bug fix: attempting to save a map image before the map has
            been generated no longer crashes the server. GNA#20579
          + Better error reporting. GNAPATCH#3765
     * An internal 64kbyte limit on string length has been removed. Among
       other things, this allows longer Lua scripts in scenarios.
       GNA#20086
     * 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
     * Bug fixes to the maxplayers setting:
          + When near the limit of 128 total players, there could be
            trouble at the point of needing to create a new civil war or
            barbarian player. GNA#20693
          + The /create command in mid-game did not honour the maxplayers
            setting. GNA#20690
          + maxplayers could be set incorrectly when loading a saved game,
            leading to errors later. GNA#20689 GNA#20751
     * Bug fix: assertion failure when loading a pre-2.3 savegame with a
       unit on an allied transport. GNA#19160
     * When a scenario is saved, scenario information is included earlier
       in the file, to speed up the 'Start Scenario Game' dialog.
       GNAPATCH#3497
     * Give an error when the --auth (-a) option is given without also
       specifying --Database (-D), since it will do nothing useful.
       GNA#20006
     * Stop an internal counter in savefiles increasing needlessly for
       sentried units. This should have no functional effect. GNA#20641
     * More robustness against malformed network packets. GNA#20107
       GNAPATCH#3685
     * Fix some minor memory leaks. GNA#20229 GNAPATCH#3646
     * General robustness improvements not known to be related to specific
       symptoms. GNA#20493
     * Various internal changes which should only affect developers.
       GNAPATCH#3528 GNA#20458 GNAPATCH#3658 GNA#20007 GNAPATCH#3676
       GNA#20519 GNA#20494 GNA#20565 GNAPATCH#3772 GNAPATCH#2908

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
            color in their local options (you may need to start a local
            game in order to access the configuration dialog).
     * Fixes to the notification of new Freeciv versions:
          + The client could crash when checking the latest version on the
            metaserver (shortly after clicking "Connect to Network Game").
            This is likely to start manifesting in existing 2.4.0-beta1
            clients now that 2.4.0-beta2 has been released. GNA#20680
          + 2.4.0-beta1 would erroneously consider itself to be newer than
            2.4.0, when that is released. 2.4.0-beta2 and later will get
            this right. GNA#20698
          + The latest version from the metaserver is always logged if
            verbose logs are enabled. GNA#20056
     * The Gtk clients could fail to wait for their internal game server
       to start fully after front page buttons like 'Load Saved Game' were
       pressed, leading to symptoms such as '/load: Name
       "./citizens.sav.gz" disallowed for security reasons.' GNA#17354
     * 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
     * The client could fail to keep track of transported units correctly,
       leading to issues such as a unit still appearing to be on a boat
       when in fact it was not. GNA#20085 GNA#20682 GNA#20542
     * Fix a possible assertion failure when an enemy unit occupied one of
       your cities. GNA#19989
     * Pathfinding (goto) now tends to take a more direct route for the
       last step of a path when it doesn't matter how many move points are
       left (e.g., an attack). Previously it could prioritise movement
       points and leave the attacker in a vulnerable position. The
       previous behavior can be forced using waypoints, if desired.
       GNA#20361
     * Add a client option to automatically accept a tileset suggestion
       for the current ruleset. GNAPATCH#3599
     * Bug fix: after loading a new tileset, viewing the map with terrain
       disabled would not display correctly and cause numerous assertion
       failures. GNA#20694
     * Bug fix: on new installations, the client could fail to pick the
       highest-priority tileset; for instance, if both 'amplio' and
       'amplio2' were installed, it could pick 'amplio' instead of
       'amplio2' despite the latter's higher priority. GNA#20008
     * Bug fix: for tilesets which specify both orientation-specific and
       "icon" sprites for units, the orientation-specific ones were
       ignored. GNA#20553
     * Fix possible instability when loading some tilesets. GNA#20055
     * Bug fix: when the 'native tiles' map view option was selected, the
       forbidden tiles for the selected unit would be shown on the city
       map, which was confusing. GNA#19609
     * In the Gtk clients, when using a tileset with rotatable unit
       sprites such as Cimpletoon, the worklist would show units with a
       random orientation, changing on mouse-over. Now a fixed orientation
       is displayed. GNAPATCH#3779 GNAPATCH#3786
     * In the editor, the player vision control in the tile edit dialog
       has been disabled. It had never worked, and caused numerous
       assertion failures while using the editor in 2.4.0-beta1. GNA#19825
     * Bug fix: if for some reason the client couldn't gain full control
       of its locally started server, it would fail to shut that server
       down. GNA#20555
     * The client now performs stricter validation of filenames received
       from the server. GNA#20589
     * Sources for the old win32 client (which has not built for years)
       are no longer included in the distribution. GNAPATCH#3814
     * Various fixes to the new Gtk3 client:
          + Font styles were not being applied in several places; for
            instance the city dialog did not correctly use a fixed-width
            font when configured to. GNAPATCH#3558
          + The initial state of the chatline toolbar is set correctly.
            GNA#20000
          + The origin of the unit popup menu in the city dialog has been
            moved to not cover the unit icon. GNAPATCH#3348
          + A batch of changes to use more modern features of the Gtk3
            toolkit and remove deprecation warnings when compiling. These
            mostly do not affect functionality, although the appearance of
            some parts of the client has changed since beta1.
            GNAPATCH#3469 GNAPATCH#3382 GNAPATCH#3543 GNAPATCH#3561
            GNAPATCH#3564 GNAPATCH#3565 GNAPATCH#3566 GNAPATCH#3572
            GNA#20706

Tilesets / Art

     * The Cimpletoon tileset now has sprites for Elephants and Crusaders,
       making a complete set of sprites for units in the supplied
       rulesets. GNA#19998
     * The 'native tiles' map view option now has a new graphic in all
       supplied tilesets. GNA#19609 GNAPATCH#3681
     * Some internal SVG format fixes in some of the supplied flags to
       allow their use in web browsers; this has no effect on Freeciv
       itself. Note that not all flags have been fixed in this release.
       GNAPATCH#3574

Gameplay / Rules Changes

Supplied rulesets

     * The supplied "Earth (classic/small)" (earth-80x50-v3) scenario
       could not be loaded at all in a release build. GNA#20050
     * 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
     * The default map topology for new games has been changed to
       isometric, to match the default Amplio2 tileset. GNAPATCH#3764
     * Bug fix: in the 'multiplayer' ruleset, players could gain free
       techs multiple times by rebuilding Darwin's Voyage (fixed by
       GNA#19852).
     * Quell some warnings when loading the civ2 ruleset. GNA#20507
     * Various fixes to leader titles. GNA#16976 GNA#19871

Other rulesets

     * 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 downloadable 'civ2civ3' modpack has thus been updated to
            disable tech upkeep (as of version 2.4-3). If you had
            downloaded this modpack previously, you should probably fetch
            the new version when upgrading to 2.4.0-beta2 or later.
     * 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
     * Remove impediments to rulesets having a start year other than -4000
       GNA#17862:
          + The MinYear requirement can now be a year before -4000.
          + A hardcoded start year of is no longer sent to the metaserver
            in pregame.
     * Some previously accepted badly-formatted ruleset constructs now
       cause hard errors, to make typos and other errors in rulesets more
       obvious to ruleset authors:
          + Unknown effect requirement types (previously these were
            silently interpreted as "None"). GNA#20462
          + Errors in requirements lists. GNAPATCH#3691
          + Unknown unit type/class and improvement flags. GNAPATCH#3732

AI

     * 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 GNA#18767 GNA#18040
     * 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 GNA#20511
     * 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:
          + 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
          + 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
     * 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
     * Fix bugs with evaluation of units' defense ability:
          + The additional defense bonus of CanFortify units (e.g. land
            units in the default ruleset) over other units was not
            considered when evaluating units as city defenders.
            GNAPATCH#3672
          + All units were assumed to get a defense bonus from terrain,
            rather than just units with the TerrainDefense flag. GNA#20484
     * 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
     * Fixes for some server crashes:
          + In rulesets with tech upkeep, division by zero could occur
            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
          + The server could crash if a caravan became homeless. Such
            caravans now look for a new home city before they do anything
            else. GNA#20652
          + The server could crash when a barbarian leader died. GNA#20728
     * Fixes for some assertion failures:
          + In rulesets with paratroopers and ocean cities. GNA#20230
          + When the server 'phasemode' setting was set to an
            alternating-move mode. GNAPATCH#3532
     * Value logic was considering effects with negative value as enabling
       boolean effects when choosing between governments. GNA#20039
     * AI behavior 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

     * The online help for each terrain type now shows which types of
       units can traverse it. GNAPATCH#3815
     * A new file doc/README.AI_modules describes how to configure and use
       the new AI modules feature. GNAPATCH#3750
     * A new file NEWS-2.4 in the distribution lists differences between
       minor revisions. 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.
       GNAPATCH#3500 GNAPATCH#3530 GNAPATCH#3592 GNAPATCH#3593
       GNAPATCH#3594 GNA#20049 GNAPATCH#3634 GNAPATCH#3662 GNA#20488
       GNA#20501 GNAPATCH#3720 GNAPATCH#3802 GNAPATCH#3823
     * Miscellaneous improvements to developer/ruleset docs. GNAPATCH#3575
       GNAPATCH#3595 GNA#20054 GNAPATCH#3602 GNAPATCH#3603 GNAPATCH#3609
       GNAPATCH#3640 GNAPATCH#3649 GNAPATCH#3650 GNAPATCH#3660
       GNAPATCH#3712 GNAPATCH#3741 GNA#20560 GNA#20691 GNAPATCH#3855
       GNAPATCH#3863
     * Invisible changes to assist translation. GNAPATCH#3531
       GNAPATCH#3717 GNA#20545

Translations

     * New translation: Traditional Chinese (40%) (GNAPATCH#3503)
     * Updated translations:
          + Complete translations: Polish, Catalan, French, British
            English.
          + Incomplete translations: Spanish (99.2%), Scottish Gaelic
            (93%), German (79%).
     * In the Finnish localisation, sentences now start with capital
       letters in more cases. GNAPATCH#3028 GNA#20664

Build/portability

     * Use intptr_t, fixing an issue on LLP64 platforms such as Windows
       native 64-bit builds. GNA#20392 GNAPATCH#3606
     * 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
     * No longer unconditionally try to use pthread; this was causing
       './configure' to fail on MinGW. GNA#20575
     * Include correct header for basename(). GNAPATCH#3534
     * Fix some possible SQLite configuration errors. GNA#20607 GNA#20608
     * Fix a PostgresQL build failure. GNA#19030
     * Fix a Lua-related build failure on Mac OS X. GNA#20095
     * Fix failure when cross-compiling with MagickWand support. GNA#20149
     * Fix a warning leading to build failure when compiling with MySQL
       and --enable-debug=yes, seen on OpenSUSE 12.3. GNA#20585
     * Future-proof against automake versions which ignore
       ACLOCAL_AMFLAGS. GNAPATCH#3585
     * Some fixes to the supplied Debian packaging material. GNA#20446
     * Fix various compiler warnings. It's now possible to build Freeciv
       with GCC 4.7 optimisation level -O3 without any warnings.
       GNAPATCH#3590 GNA#19386 GNA#19385 GNA#20057 GNA#20443 GNA#20413
       GNA#20447 GNA#20444 GNA#19384
     * Miscellaneous autoconf build system / portability fixes. GNA#20375
       GNAPATCH#3583
