## Build 20

### Animations, Icons and Overlays

  - New wheatfield graphics by fraang
  - Shorten a soldier's last evade_failure animation if the soldier is about to
    die to prevent overlooping.
  - The health bar of a soldier now falls gradually during an attack instead of
    one-shot.
  - New graphics for field selectors and field action tabs
  - Special field selector for road building mode
  - Added missing call to get_rand_anim when a soldier is dying
  - Added missing working animations for barbarians big inn and wood hardener
  - Each tribe now has individual resource indicator graphics
  - Added util to rename animation files in bulk.
  - Fixed bug #1639253: Add missing walkload animation to Atlantean smoker


### Sounds and Music

  - New music tracks "Scotty the Scout", "Hypathia's Theme", "We Work in the
    Vineyards" and "Running out of Coal" by Stuart Marshall
  - New music tracks "Silkweaver's Song" and "The beauty of the flatlands" by
    Klaus Halfmann
  - Added new sound files for Barbarians Inn + Big-Inn, Empire Inn,
    Atlantean Mill, Toolsmith, Smelting-Works, all Weaving Mills, Atlantean
    Woodcutter, Sawmill, Stonecutter, Goldspinner.
  - Modified smithies sounds to dimmer versions; added tree-falling sounds,
    substituted Timber shouting with tree-falling.
  - Allocate 32 mixing channels instead of the default 8.
  - Never play the same song twice in a row
  - Improvements to sounds and the sound mix


### Tutorials and Campaigns

  - 2 new missions for the Empire campaign
  - 2 new missions for the new Frisians tribe
  - Tweaked timings in tutorials and scenarios
  - Updated the Economy tutorial to match the new, enhanced encyclopedia
  - Add roads to p2 in warfare tutorial because the AI is empty
  - Fixed reveal_campaign in bar_01
  - Fixed bug #1639514: Barbarian campaign, scenario 2: yellow brother bails out
  - Fixed bug #1656192: Economy tutorial assumes window is open


### Scripting

  - Updated Eris to version 1.1.2 (Lua 5.3.4)
  - Changes and additions to Lua methods and objects:
    - New method player:get_produced_wares_count()
    - New object LuaMap  -> LuaEconomy.
    - Added option to Lua function player:hide_fields to mark them as unexplored
    - New scripting functions for random and concentric revealing/hiding of
      fields
    - New attribute 'is_stopped' in LuaProductionSite
    - New method 'toggle_start_stop()' in LuaProductionSite
    - Added Lua method to get the type of the current game, i.e., single or
      multiplayer.
  - Changes to territorial win conditions:
    - Pulled out common code for Territorial Lord and Territorial Time.
    - Ensure that check_player_defeated is called before points are calculated.
    - New function to check whether a field is buildable.
    - Check if a player still exists before making it the winning player.
      Player will also win if there are no other players left.
    - Fixed desyncs
    - Updated documentation not to use some functions for multiplayer games
    - More precise calculation of conquerable fields to make territorial win
      conditions playable on all maps
  - Various fixes for win conditions:
    - Unified some functions for wood_gnome and collectors
    - Removed duplicated code and moved it to win_condition_functions
    - Notify only every hour, 10 minutes in the last 30 minutes
    - Move _game_over function out of the main loop.
    - Don't show points when game ended by military defeat
    - Main loop ends when time is over or only one faction is left
    - Check every second for defeated players
    - Refactor initialization of win conditions:
    - Shift calculations for territorial functions and Wood Gnome to C++
      to improve performance
    - Add immovables to the table for territory calculation
    - Expose port spaces and max caps to Lua interface
    - Fixed bug for Wood Gnome in which a destroyed player would gain infinite
      points. Also, no longer calculate score for a defeated player.
  - Remove unused parameters of message_box_objective.
  - Removed unused parameter 'req_suitability' from function
    place_building_in_region in infrastructure.lua
  - Added capability to add custom scenario buildings
  - Allow writing and loading of campaign data, so that some scenario state can
    be transferred from one scenario to the next in campaigns.
  - Do not broadcast Lua coroutine error messages to empty player slots.
    Also, use richtext_escape on them.
  - Orthogonal design for mapobject program names
  - Fix unpersisting of LuaImmovableDescription for tribe immovables.
  - Safeguard to avoid desyncs when using send_message() from ui.lua
  - Add parameter to send_message() to avoid an error
  - Fixed a memory leak in persistence.cc
  - Fixed bug #1670065: Random tree growth can block building sites needed to
                        progress in scenario
  - Fixed bug #1688655: lua func "place_building_in_region" not work for mines
  - Fixed bug #1815283: Nil value in Territorial Lord
  - Fixed bug #1790456: The final message in collectors doesn't show the points
                        of all players anymore


### Maps

  - Map tags: Added "1v1" to Firegames, Islands at war and The Pass through
    the Mountains. Removed "unbalanced" from The Pass through the Mountains.
  - Moved hint texts from map descriptions to hints for the Last Bastion and
    Rendez-vous maps.
  - Increased maximum number of players from 8 to 16, to be used for testing
    purposes.
  - Minor fixes to Last Bastion map where a player's expansion could become
    completely blocked across the sea
  - Fixed bug in Crossing the Horizon map where an artifact couldn't be
    conquered by a player
  - Fixed desyncs in Smugglers scenario
  - Allow random player tribes in scenarios


### Saveloading

  - Old scenario save games will no longer work due to changes to the map
    scrolling functions.
  - Broke savegame compatibility in version bzr8747
  - Savehandler: Avoid reading config more than once per game
  - Corrupt zip files now appear as "incompatible" on game loading/saving
    screens. This fixes stack-buffer-overflows.
  - Fixed bugs with missing files/folders in savegames by creating a temporary
    map save on game start
  - Improved error checking in filesystem functions
  - In Load/Save menu for games/replays:
    - All deletion errors are caught, player gets a message.
    - When deleting multiplayer replays, also the corresponding syncstream file
      is deleted.
    - After deleting replays, the table now respects the Show Filenames setting.
  - In Save menu for maps:
    - Errors when trying to create a directory are now caught, player gets a
      message.
    - Directory creation now doesn't allow names with map extensions, because
      the game would just try to interpret them as maps and not show as
      directories. A tooltip is shown.
    - Directory creation can now also be triggered by pressing Enter in the name
      edit box.
  - Other file errors are caught and logged:
    - Syncstream deletion in SyncWrapper destructor
    - In Map::get_correct_loader
    - File deletion/renaming in GameClient::handle_packet
  - Introduced a new class to robustly handle saving of files (incl. dealing
    with backups, handling errors, etc.) and using it whenever maps/games are
    being saved.
  - Remove superfluous "postload" call from replay
  - Added validity checks for S2 map headers to avoid crashes when preloading
    invalid S2 map files
  - Shift calculation of map fields relevant to win conditions from Lua to C++.
    This gives us a huge performance boost during saveloading those win
    conditions.
  - Fixed bug #1678987: Endless autosave cycles when a save takes longer than
                        the autosave interval, and inefficient statistics saving
  - Fixed bug #1746270: Unable to rename rolling autosave
  - Fixed bug #1798812: Saving a game from replay does not show up in load game
                        menu


### AI

  - The AI now uses a genetic algorithm. The genetic parameters are trained and
    then kept in .wai files.
  - New command line switch --ai_training: Dumps new AI files in home folder and
    uses higher mutation ratios
  - New command line switch --auto_speed: Activates auto-speed in multiplayer
    games
  - Various refactorings of AI hints
  - Multiple changes to the logic
  - Improvements to training sites
  - Add support for productionsites that are also supporting site to the AI.
    One productionsite can now support multiple wares/productionsites.
  - Allow resetting of teams via LUA during game
  - Improved selection of which fields to build something on
  - Improved identification of unconnectable regions based on walking algorithm.
    Used to keep AI from wasting attempts to build something there.
  - AI now splits and counts mineable fileds per resource/mine type and uses it
    for decision making, ignoring inaccessible fields in the process
  - When looking for the nearest buildable spot, the AI will accept mineable
    fields also. This affects willingness to expand when there are no buildable
    spots nearby, but some mines can be conquered by a new militarysite.
  - AI now calculates military strength based on the actual init.lua files
    rather than hard-coding the values. This also removes the tribe name
    restriction for modders.
  - When considering a quarry, the AI makes sure there is at least one rock in
    the vicinity. Same for fishers and fish.
  - Improved ship exploration decisions for AI.
  - AI now considers whether possible sea direction leads to unknown territories
  - AI also continues exploring when the last port is lost to prevent crashes.
  - Since the AI can handle only 1 expedition at a time, any extra expeditions
    are canceled
  - Prohibit seafaring buildings for AI on non-seafaring maps. AI can still
    handle ships and shipyards that already exist when a map does not allow
    seafaring at the moment.
  - AI now scans entire map for portspaces
  - Fixed endless loop in DefaultAI::dispensable_road_test
  - Added one well to the atlantean basic economy, as water is needed
    for crucial spidercloth production
  - Replaced logic_rand() with std::rand() in seafaring code of AI to fix
    desyncs in network gaming
  - Fixed bug #1724073: AI crashes when some AI slots are empty


### Gameplay

  - New Frisian tribe
  - New "Village" starting condition
  - New "Barracks" (casern) building for recruiting soldiers. Soldiers are no
    longer created by warehouses. Production sites can now have workers as input
    to consume.
  - Started implementing new "Market" building with a Barbarian prototype.
    Not functional yet.
  - Balancing: Halved needed experience for Barbarian brewer and blacksmith
  - Balancing: Buffed Barbarian and Empire soldiers
  - Balancing: Added more trainers to headquarters at game start
  - Balancing: Removed meat default target quantity for Barbarians and
               Atlanteans
  - Balancing: Lowered productivity threshold for lumberjacks to 60%.
  - Balancing: Depleted Atlantean crystal (and iron) mines work slightly better
               when depleted
  - Balancing: Improvements to various production sites' logic
  - The worker program "plant" no longer takes "tribe:" as a parameter;
    immovables are now identified via their attributes only, and both world and
    tribe immovables are searched. As a side effect, tribe immovables can now
    have terrain affinity.
  - Forester/Ranger now prefers good soil, and is thus more efficient
  - Make the scout aware of nearby military sites. The scout now switches
    between random walking and doing an excursion to enemy military sites
  - When a Fish Breeder's fishing grounds are full, display a special tooltip
    instead of sending an "Out of Resources" message
  - When a warehouse is destroyed, the maximum number of fleeing units is now
    limited to 500 per unit type
  - Only cancel expedition if there is a reachable portdock. Show a warning
    message to owner.
  - Shifted ware hotspot definition from WorkerDescr to CarrierDescr
  - Fixed a bug where higher-level workers wouldn't occupy lower-level workers'
    working position slots in productionsites
  - The port now conquers every location where its military influence is higher
    than the influence of other players. This fixes a segfault when all
    potential portdock fields are owned by another player, but there is a
    portdock location available where the player owning the port has highest
    influence.
  - Fixed bug in collectors script where a broken message was sent after the
    game ended
  - Check for visibility of military buildings before permitting attack. This
    solves a problem with impregnable castles.
  - Improved algorithm for promotion and demotion of roads
  - Removed hardcoding for resources
  - New return value no_stats for work programs
  - Tweaked production programs for shipyards
  - Balancing: All Smelting Works, Furnaces, Smokeries, Recycling Center,
    Atlantean and Frisian Toolsmithies, Taverns, Inns and Drinking Halls no
    longer waste time if a ware is missing and they have to skip a program
  - Balancing: Tweaked programs for Weapon/Armor producing buildings
  - Balancing: Imperial Armor Smithy produces 1 more Helm per run to balance the
    amount of armor types for training
  - Balancing: Changed the order of programs in the Atlantean Toolsmithy
  - Balancing: Gave the Barbarian Deep Gold Mine the same stats as the Deep Iron
    Mine
  - Increased the area where the map is recalculated after conquering by 1.
    This prevents buildings from sitting between borders.
  - Fixed heap-use-after-free in fleet while processing
    EditorGameBase::cleanup_objects() when ship has already been deleted
  - Allow return on dismantle values without buildcost
  - Fix desyncs caused by floating point arithmetic in terrain affinity
  - Reset economy serial in Game constructor. This fixes desyncs in replays.
  - Stop ware dropoff when the target building has been destroyed. This fixes a
    crash when the enemy conquers a militarysite near a warehouse.
  - Cancel Worker::fetchfromflag when the building is destroyed/dismantled/
    enhanced to prevent crashes
  - Fixed bug  #963799: shortsighted shipwright (ship in pond)
  - Fixed bug #1611323: ships can be built in non-floating spaces (shipyard)
  - Fixed bug #1636966: Segfault in battle
  - Fixed bug #1637386: Militarysites warn about allies
  - Fixed bug #1639444: Workers with wares inside ships can crash the game
  - Fixed bug #1643209: No-cost workers are not removed correctly
  - Fixed bug #1643284: Ships of a fleet can have the same name
  - Fixed bug #1656671: Wares are not always transported to construction site
  - Fixed bug #1658456: Imperials: Soldier target quantity not changeable
  - Fixed bug #1749586: Fish breeder can't breed fish if the game is loaded
                        after all fish is caught


### User Interface

  - Maps can now be zoomed using the mouse wheel or keyboard keys: CTRL+, CTRL-
    to in-/decrease, and CTRL+0 to reset. This also removes 0 as a possible
    landmark number.
  - All map transitions like jumping in messages and in the buildings menu are
    now animated. New command line option "animate_map_panning".
  - Moved smooth animation of cursor and MapView from Lua into C++. This fixes
    the transitions in tutorials, which were broken when zoomed.
  - Show census information on destroyed building with the former building's
    name.
  - Added supplementary warning to enhancement message for military sites.
  - Fixed statistics label overlap. Ware statistics now update their plot range
    correctly.
  - Removed quick navigation with '.' and ','.
  - The game summary window now restores the original desired speed when it's
    closed.
  - Productionsites no longer close their window when the stop/start button is
    pressed.
  - Minimized construction windows no longer get maximized when the construction
    is finished.
  - Window is no longer closed on enhance or dismantle.
  - Let the user select multiple entries in a table using Ctrl/Shift + Click
    (multiple/range selection) and Ctrl+A (select all) where appropriate.
  - Implemented textual and pictorial dropdown menus. Dropdowns are used for win
    condition and multiplayer tribe selection in the launch game screens.
  - Fullscreen background images are now tiled rather than stretched.
  - Stopped fullscreen toggle from flickering.
  - The following menus now relayout themselves when fullscreen mode is toggled:
    main, multiplayer, single player, about, map selection, options, load game,
    save game.
  - For multiplayer game setup, use dropdowns instead of buttons to select
    player options
  - Improved scrollbar and table header layout.
  - Remove buttons from economy options window for spectators
  - Improvements to StoryMessageBox, keyboard navigation and UI focusing
  - Updating all ware priorities of a building when CTRL is pressed while
    clicking
  - Sorting IRC users behind the players in the lobby
  - Replaced get_key_state with SDL_GetModState() to fix keyboard mappings.
  - Actionconfirm now uses Box layout and resizes according to text size.
  - Display loading times on the console while loading the tribes.
  - Simplified the UI::Align enum and various alignment-related cleanup and
    fixes.
  - Replaced booleans in UI::Box::add() with enum classes for better readability
  - Converted all text to new font renderer. Formatting functions for the new
    renderer live in data/scripting/richtext.lua
  - A more principled fix to dangling object pointers in the UI using Optr<>
  - Building Statistics now only show relevant buildings
  - Building Statistics now show "under construction" navigation for buildings
    being enhanced
  - Show in-game clock in release builds too
  - In multiplayer games, scroll to starting position when a game is loaded
  - New Ship Statistics window
  - Bugfixes to multiplayer dropdowns
  - Use Lua to define background and button styles
    - Background images and colors are now defined in data/templates/default
    - Combine common background graphics with color overlays
    - Added StyleManager class to load and access backgrounds
    - Downscale background images (e.g. campaign maps) on small screens
    - New graphics for ui_fsmenu
    - Darker background for wui elements
  - Fixed keyboard navigation after "remove game" dialog has been displayed
  - Modified row selection/display in tables and message list
  - Remove focus from editbox in gamechatpanel when it minimizes
  - Added tooltip to file save and make directory edit boxes if illegal filename
    is being entered
  - Added a checkbox to toggle filenames when loading a replay
  - Fixed scenario title and tooltip during game setup
  - Preselect player names and tribes for non-scenario maps in single player
    mode
  - Set AI from selection in UI when saveloading
  - Missing wares (and workers) are indicated differently in InputQueueDisplays
    if the ware is on the way to the building than if it's really missing
  - Redesigned and fixed the showing of workarea overlays
  - Tweaks for the multiplayer game setup screen: less empty spaces and more
    space for important content
  - Very large amounts in WaresDisplays are shortened as "10k", "10M", "10G" to
    prevent text from flowing over on the left
  - When dismantling a building, the building window closes automatically
  - Added a dialog for the host when the connection to a client is lost. Allows
    the host to select whether to replace the client with an AI or to exit.
  - Setting focus to edit box when opening the game save menu
  - Don't provide the filename for the standard background image in the progress
    window. This fixes image positioning when starting multiplayer games.
  - Make dismantle button independent of buildable/enhanced. This fixes missing
    Dismantle buttons in Empire scenario 4.
  - Improve formatting for user status in the lobby
  - Allow hotkey usage while windows are open
  - Fixed memory leak in network UI
  - Fixed bug #1191295: Seafaring: builder not listed in expedition list in port
  - Fixed bug #1635808: Display of worker in training sites is not updated.
  - Fixed bug #1653254: Action window of Road stays open under some
                        circumstances
  - Fixed bug #1653460: UI::Panel::get_inner_h() const: Assertion `tborder_ +
                        bborder_ <= h_' failed
  - Fixed bug #1658489: Expedition tab in Port window messed up some times
  - Fixed bug #1644553: Crash when buildhelp icon is clicked twice
  - Fixed bug #1687043: Memory leak in Multilineeditbox
  - Fixed bug #1695701: Crash when a militarysite window is open while the
                        enemy conquers it by sending a notification.
  - Fixed bug #1672059: Selection is not cleared when new message arrives
  - Fixed bug #1691336: Building window suddenly appears after construction has
                        finished
  - Fixed bug #1658668: Menu Launch Game: Switching AI player on/off changes AI
                        setting
  - Fixed bug #1656245: Scrolling with mousewheel is slow in some places
  - Fixed bug #1769344: High processor load single player launch game screen
  - Fixed bug #1785404: Chat does not autoscroll
  - Fixed bug #1794063: Extra message arrival sound
  - Fixed bug #1801208: Message boxes with long unbreakable strings show empty


### Internationalization

  - Removed building names from confirmation messages, as they cause grammar
    problems in some languages.
  - Production program descnames can now be fetched by pgettext as well as plain
    gettext.
  - Deleted unused networking messages and unified the "Something went wrong"
    message.
  - Added a Python script to do automated glossary checks for translations. It
    enlists the help of Hunspell and 'misuses' the Transifex note field in order
    to reduce noise.
  - Implemented glossary generation for the Transifex glossary with help from
    the Translate Toolkit (http://toolkit.translatehouse.org/).
  - Show translation stats next to the language selection menu and invite
    translators if a translation is incomplete, with the help of the Translate
    Toolkit. New utils script "update_translation_stats.py" that will write
    translation statistics to data/i18n/translation_stats.conf and is called
    on every translation pull.
  - Fixed various string issues and added some translators' comments
  - Completed the switchover to the new font renderer
  - Fixed translation of trainingsite program names
  - Fix undefined / unexpected behavior in case LANG environment is empty
  - Fix fetching of translations when user locale is set to C. If the desired
    Widelands locale does not exist, try to fall back to en_US.utf8 to make
    libintl happy.
  - Adapted buildcat.py to get translations for resources
  - Add an extra key to get a translatable author-value in the developers list
  - Fixed bug #1636586: Inconsistent localization of player names in Editor
                        player menu


### Help and Documentation

  - Convert editor/game tips to Lua and display them in the in-editor/in-game
    help. Added new tips.
  - Restructured, enhanced and added to the Lua scripting reference for Tribes.
  - Added/Improved documentation for animations, worker programs, worker
    helptexts, AI hints, World units and the Richtext system
  - Added immovables to in-game help
  - Fixed some wrong indentation for the documentation in the website.
  - Added toptopple sound documentation in .ods spreadsheet format (LibreCalc)
    into 'doc' folder
  - Fixed and improved documentation for LuaMapObjectDescription::get_type_name.
  - More cross-linking between map object classes and their description objects.
  - Fixed some miscellaneous bugs in the LuaMap documentation.
  - Use mathjax for latex in docs instead of imgmath
  - Enable building documentation with warnings as errors on Travis
  - Constructionsites' help button now points to the help for the building being
    built
  - Documented metaserver command line options
  - Added lua_path.cc to the documentation
  - Add tribe-specific ware purpose texts to web encyclopedia
  - Fixed bug #1792297: Advanced buildings report wrong worker experience in the
    encyclopedia


### Editor

  - Overhauled the selection menu for critters to give them categories
  - Added an option "items per row" and rearranged the terrains and immovables
  - Display of bobs, immovables and resources can now be toggled individually
  - Fixed drag and drop
  - Removed dead code for make infrastructure tool that was never finished
  - Fixed keyboard navigation with escape and enter for save map and save game
    screens. If the editbox is focused, escape will reset the text if changed,
    and close the window if unchanged.
  - Refactored Editor Player Menu to use Box layout. Show dismissable warning if
    more than 8 players are selected.
  - Map Editors now can choose "Random" tribe in the player menu
  - Converted editor infotool to new font renderer and added some layout tweaks
  - Enable OK button in map options when tags have changed.
  - Use temporary container in cleanup_port_spaces to prevent invalid iterators
  - Limited the editor undo stack to 500 items to prevent boundless growth of
    memory use
  - Fixed bug #1627537: Release mouse button does not work when placing things
                        and mouse gets under a window
  - Fixed bug #1738641: Resources can be replaced only once in editor
  - Fixed bug #1749146: MultilineEditboxes: Entering text not possible
  - Fixed bug #1736086: Saving a map with no player set shows up as having one
                        player:
                        - Initialize new maps with 0 players
                        - Disable selection of maps with 0 players
                        - Automatically add first player to editor player menu
  - Fixed bug #1741779: Description is cut in map options multilineeditbox
  - Fixed bug #1782593: Segfault in random map generator
  - Fixed bug #1783878: Saved random map does segfault on load if no tribe is
                        explicitly set
  - Fixed bug #1815613: Editor crash when setting new 0,0 coordinates


### Graphics Engine

  - Renamed "sub" tag to "div" in new font renderer.
  - The new font renderer now sets the width properly and supports player color
    for images. Added width property to img tag
  - The new font renderer now creates a set of textures that will be blitted
    separately by the new class RenderedText. This avoids issues with texture
    sizes exceeding the maximum size supported by graphics drivers when
    MultilineTextareas get arbitrarily long.
  - Fixed incorrect layout of divs with width=fill when the previous div is
    wider than 50%
  - Fixed superfluous space characters at beginning and end of lines
  - Implemented text floating around images
  - Messages try to render with the new font renderer first, then fall back to
    the old font renderer for layouting messages that haven't been converted yet
    (and from savegames).
  - All images with player color now receive their color by a common
    playercolor_image function. Available player colors are kept in an array.
  - Replaced raw pointers in the font renderer with shared_ptr
  - Split graphics into multiple Cmake libraries.
  - Got rid of EdgeOverlayManager and FieldOverlayManager and shifted their
    functionality to local draw() functions in individual classes. Gave the
    Interactive* classes their own draw() functions.
  - Refactored Tcoords, Fcoords and TriangleIndex
  - Force integer precision for overlays. This fixes fuzzy overlay images when
    the player hits Ctrl+0 to reset the zoom.
  - Show a basic SDL error message box to the user if the shading language
    can't be detected or is too old.
  - Print the shading language as double to console
  - Fix shading language version detection for system locales that don't
    use . as a decimal separator
  - Fail with SDL messagebox if SDL_BYTESPERPIXEL != 4
  - Fixed bug #1674243: Assign owners to neighbors in Player::rediscover_node.
                        The lack of owners was causing crashes with the road
                        program, which no longer knew which texture to pick.
  - Fixed bug #1711816: Black terrains on fullscreen switch.


### Networking

  - Replaced SDL-Net with Boost.Asio
  - Added IPv6 support
  - Implemented a relay server. Opening a router port is no longer necessary
    for the host of internet games
  - Improved the online login code by adding semi-constant user ids that are
    valid for 12 hours, allowing to reclaim a username after a disconnect
  - Increasing password security by no longer storing and transmitting it in
    plaintext
  - Improvements to Metaserver protocol
  - Fixed memory leak in LanGameFinder
  - Fixes on the communication between widelands and the metaserver:
    - Permit answering PING requests even while logging in
    - Print current time to console when logging in
    - Ease finding the corresponding log entry on the metaserver when debugging
    - Re-enabled and fixed unused code for whisper message to nonexisting player
    - Handle error message when trying to join a non-existing game
    - Avoid hanging client even after being notified about the non-existing game
    - Removed no longer needed error messages
  - Fix crash in NetClient when host changes their mind about a custom map in
    mid-transfer
  - Fixed bug #1691335: Multiplayer client crashes when the host hasn't selected
                        a map yet
  - Fixed bug #1794339: Segfault joining game
  - Fixed bug #1805325: Crash on late joins of LAN games, and display of map
                        name in LAN lobby.


### Build System

  - Windows builds now have a unique app id for every build. This allows
    parallel installation of several versions.
  - Added support for gcc7 and llvm8.
  - Removed "redundant-decls" flag for Windows builds due to conflict between
    SDL and MinGW.
  - New Macro FALLS_THROUGH; for use in switch statements.
  - Let Travis build each commit on MacOS in addition to our Linux builds. Note
    that the regression test suite is only run for Linux.
  - Allow compiling with AddressSanitizer, and choosing between gcc and clang on
    the first compile.
  - Deactivated the rich text testing project, as it's currently unmaintained.
  - Move website related binaries to base dir in compile.sh
  - Do not build website tools on appveyor, this saves 20 minutes on x64 debug
    builds
  - Check for minor version of CMake
  - Only export ICU_ROOT if CMake version is lower than 3.12
  - Support for glbinding 3 and new Boost version
  - Fix revision detection
  - Fixes for handling different Cmake policies
  - Use MacOSX.sdk if an appropriate versioned SDK can't be found.
  - Add linker flags to please Ubuntu 18.10
  - Use more processing units when using the compile script. Defaults to: max.
    Processors -1. Can be set with the -j switch.
  - Copy the version file instead of moving it, so that the update script can be
    run twice in a row.
  - Use compile.sh when running update.sh
  - Added tags for Flatpak to appdata.xml
  - Modernized how Mac OS X releases are done:
    - Add CFBundleShortVersionString to Mac builds
    - The script for building on macOS uses gcc-7 now. Also it checks whether
      the SDK10.7 is installed or not and uses the latest installed version if
      it cannot find the old one.
    - Choose between compiler clang or gcc, specify build type: debug or release
    - Set build target to 10.9 if macOS 10.9 or newer is found
    - Append macOS target version to dmg filename
    - Fix the dependency fixer to not be confused by library id's
  - Fixes for Debian-based software centers:
    - Add stock icon to appdata.xml
      (c.f. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857644)
    - Change icon definition in .desktop to be a generic one
    - Content ratings are now accepted by the validator, so we've activated them
    - Validate .desktop file on translation updates. Removed deprecated category
      from .desktop file.


### Other Issues

  - Moved utils/fix_lua_tabs.py to utils/fix_formatting.py and added calls to
    clang-format and pyformat.
  - Cleaned up Windows utils
  - Removed unused images
  - Fixed a series of compiler warnings for clang, gcc and Windows.
  - The ProductionSiteDescr constructor still contained some checks from the
    time when they used to inherit from MilitarysiteDescr. Removed this obsolete
    code and made working_positions and programs mandatory.
  - Used the Notification system to reduce some code interdependency.
  - Various code cleanups to make the code more readable.
  - Fixed diverse crashes and memory leaks with the help of AddressSanitizer
  - Diverse refactorings to use composition over inheritance and to get rid of
    multiple inheritance
  - Replaced SyncCallback through a std::function<void()>.
  - More widespread use of smart pointers
  - Untangled MapView and InteractiveBase.
  - Cleaned up map handling in EditorGameBase
  - Removed some dead code and reduced dependency cycles
  - Options screen now saves immediately so that the changes are persistent even
    if Widelands crashes afterwards.
  - Added 2 new functions to Lua interface: list_directory and is_directory
  - Split new function cleanup_portspaces() from allows_seafaring(), and
    refactored port spaces checks.
  - Only recalculate whether a map allows seafaring when something has changed
  - Economies are now mapped to global serials and kept as unique_ptr in the
    Player objects
  - Exit gracefully if user specifies a datadir that doesn't exist
  - More strict sanitizing of chat messages
  - Print a welcome message on joining the metaserver
  - Write Windows log output to homedir instead of the program dir
  - Widelands is now installed into local appdata on Windows
  - Copy translation validation results into maintainers' and translators' views
    to make them easier for translators to navigate
  - Use std::cout for logging when calling terminate on shutdown, because the
    logger might not exist any more
  - Remove test logging output from production_program.cc
  - Use internal names rather than descnames for log messages and workarea IDs
  - Refactor website binaries to use a real tree data structure for writing JSON
  - Print more information in syncstreams. Create additional smaller syncstream
    files containing the last few seconds leading to a desync.
  - Added a suppressions file for Valgrind to mask memory errors caused by
    backend libraries
  - Fixed bug #1648178: Fatal Exception: Bad Cast
  - Fixed bug #1743086: ASAN memcopy overlap on Ubuntu Budgie from libSDL
                        2.0.6+dfsg1 by disabling sound as a workaround to a bug
                        in the backend
  - Fixed bug #1724145: Crashes in master-2511_release_x64 on save, caused by
                        economy merges making Lua variables go nil
  - Fixed bug #1776603: ASAN: wl_map_object_info leaks memory


## Build 19

### Animations, Icons and Overlays

  - New animations for Barbarians buildings: Wood Hardener, Farm, Fisher's Hut,
    Gamekeeper's Hut, Lumberjack's Hut, Quarry, Ranger's Hut, Taver, Inn,
    Big Inn, Warehouse, Scout.
  - New animations: Imperial Vintner, Blackroot Field.
  - New menu icons: All workers, Blackroot, Pitta Bread, Snack, Ration, Meal,
    Spidercloth, Options Menu, Warehouse stock policy, Messages window
  - New road textures to improve visibility on all terrains
  - Better coloring for workarea pics.
  - Fixed hotspot for Babarian Brewer walk animation.
  - Fixed bug #1453528: Buildings missing menu icons
  - Fixed bug #1408712: Waves are rolling in different speed /rolling angle is
                        different
  - Fixed bug #1407799: Fatal exception:  Image not found:
                        tribes/empire/soldier/untrained.png
  - Fixed bug #1324642: Playercolor mask has wrong size
  - Fixed bug #829984:  Tweak the duck animation
  - Fixed bug #672248:  Duplicated animations


### Sounds

  - Added sounds for Fox, Elk, Wolf, Stag, Boar, Smelting Works, Weapon
    Smithies, Ax workshop, Lime Kilns, Taverns, Breweries, Winery,
    Wood Hardener.
  - Replaced sound for Sheep and Mills.
  - Fixed bug #1592692: No production sounds on some maps
  - Fixed bug #1536053: Widelands without sound on win
  - Fixed bug #1500531: Random corrupted audio (loud garbled noise) when
                        ox breeder is working for Barbarian tribe.
  - Fixed bug #1304638: Wrong sound played


### Tutorials and Campaigns

  - Split tutorial into "Basic Control" and "Warefare" and added encancements.
  - New "Seafaring" and "Economy" tutorials"
  - Redesigned Barbarian campaign to remove topcs that are covered by the
    tutorials.
  - Fixed bug #1424950: Strange character relationships in the empire campaigns
  - Fixed bug #1349378: Get_soldiers doesn't return a table in Island Hopping
  - Fixed bug #1311244: Atlantean Mission Trigger fail
  - Fixed bug #1298411: No necessity to conquer all military buildings in the
                        third Barbarian Campaign
  - Fixed bug #1286576: Tutorial fails if player is in road building mode when
                        military building finishes
  - Fixed bug #1088222: Barbarians Campaign: small suggestions for improvement
  - Fixed bug #674839:  Some issues of barbarian tutorial 3


### Maps

  - New maps: Archipelago Sea, Dolomites, Wide World
  - Removed maps: Dry Riverbed, Long long way, War of the Valleys
  - Overhauled maps: Comet Islands, Full Moon, Glacier Lake, Kings and Queens,
    Last Bastion, River Explorers, The Nile, Twin Lagoons, Volcanic Winter
  - Added "hint" to the json file created by wl_map_info for use on the website.


### Saveloading

  - Older savegames can no longer be loaded.
  - Older maps can be loaded, but new maps can't be loaded with previous
    versions of Widelands.
  - User maps are now saved in a 'My Maps' subdirectory to prevent overwriting
    of official maps
  - No longer write replay files for scenarios
  - Implemented rolling autosave
  - Disallow changing player slots in single player scenarios.
  - Added checks for illegal file names during map saving.
  - Fixed a crash where a leaked remnant of the game session would still be
    subscribed to the 'changed resolution' event if a savegame failed to load.
  - Fixed crash with identical autosave filenames when LAN game is run with
    multiple instances of Widelands on a single computer. Also, more informative
    error messages in disk_filesystem.cc.
  - Fixed bug #1548932: Editor fails on save with zip filesystem
  - Fixed bug #1526514: player 2 in "" section [player_2] not found
  - Fixed bug #1509172: Editor gives error on saving maps in Windows.
  - Fixed bug #1428396: Savefile broken when enemy deafed
  - Fixed bug #1413734: Savegame does not load
  - Fixed bug #1388028: Unable to load saved game
  - Fixed bug #1375915: Scripting files get deleted when a map is resaved
  - Fixed bug #1332832: Warning when starting a new game Unused key "name" in
                        LuaTable.
  - Fixed bug #1311716: Segfault when loading a game with nightly build
  - Fixed bug #1303669: Reduce size of campaign savegames
  - Fixed bug #1302577: Wrong minimap in load dialog when the save game has been
                        overwritten
  - Fixed bug #1254116: Crash on saving game: unprotected error in call to Lua
                        API (table index is NaN)
  - Fixed bug #1228811: Observers savegame contains no minimap.
  - Fixed bug #1227984: Autosave should not trigger while game is paused
  - Fixed bug #992829:  Console output: WARNING: There are 73 unloaded objects.
  - Fixed bug #979995:  Game crashes with large map when saving


### AI

  - AI can now build and use ships
  - Improved placing, upgrading and dismantling buildings
  - Improved placing and destroying roads.
  - AI no longer runs out of wood
  - Enhanced military and soldier training strategy
  - Reworked the way how AI stores some data in Player object
    (GamePlayerAiPersistentPacket)
  - Fixed bug #1388255: Widelands crashes when loading a multiplayer game
  - Fixed bug #1344288: Segmentation fault - AI building enhancement
  - Fixed bug #1342554: [defaultai.cc:2406] Help: I do not know what to do with
                        a outpost
  - Fixed bug #1330070: AI crashes
  - Fixed bug #1311790: Assertion error Widelands::StreamWrite::Coords32 shortly
                        after starting a new game


### Gameplay

  - Collectors win condition now reports team scores as well as player scores.
  - New win condition: Artifacts
  - Added New starting condition "Trading Outpost" that will periodically give
    the player some wares if needed (cheat mode)
  - Other tribes' buildings that have been conquered can now be dismantled
  - Balancing: Added gold to building cost for Atlantean training sites.
    Made Barbarian attack stronger.
  - When an expedition ship places a port, a bit of land is cleared of trees to
    make room for a few buildings.
  - Ports can be affected by terrain changes up to 3 tiles away from their original
    position, so we recalculate as much when changing a terrain tile.
  - New tree/terrain affinity values.
  - Forcing a constructionsite properly conquers the area that the finished
    building will occupy.
  - Reworked find_portdock.
  - "Out of resources" messages are now be triggered by productivity
  - Engine change: all tribes can now use any building/ware/worker etc.
    Use Lua instead of finf file for initialization.
  - Ontology cleanup: Internal unit names now match their display names.
    Renamed worker program "geologist-find" to "geologist_find" and "playFX" to
    "play_sound" and removed unused option "setdescription".
  - Added Description objects for all tribe and world entities to Lua interface.
  - Removed LuaBaseImmovable::get_size. The corresponding functions now return
    strings instead of ints.
  - Added LUA interface to ship - RO property shipname
  - Updated Eris to version 683ac97476a8634d9e5c17f0dec8dff8b7f3e595 (Lua 5.3).
  - Fixed bug #1554552: Wounded attacking soldiers failing to retreat
  - Fixed bug #1551578: Fortified Village crashes when building can't be placed.
  - Fixed bug #1542703: Crash during battle in editor_game_base.cc:677: Only
                        allow building a port if all fields can be conquered.
                        Also added a test for this issue.
  - Fixed bug #1525395: Atlantean mines failing to extract all resources
  - Fixed bug #1509220: Atlanteans campaign keeps counting 0 ships
  - Fixed bug #1504948: Performance issue when "no use for ships on this map"
  - Fixed bug #1502458: Carrier hiding in Warehouse/HQ is hardcoded
  - Fixed bug #1490116: Fully promoted soldiers remaining in training sites
  - Fixed bug #1457425: Fight never ends (also not 2h later)
  - Fixed bug #1451078: Labyrinth malfunctions full report
  - Fixed bug #1451069: Collectors win condition doesn't count wares in ports
  - Fixed bug #1442945: Atlanteans ship construction much faster
  - Fixed bug #1442869: Stopped production sites should produce something from
                        their consumed wares before they stop
  - Fixed bug #1434291: Collectors game over message
  - Fixed bug #1423468: After reload, all percentages are blue until they are
                        updated again
  - Fixed bug #1420521: Reset target quantity is overwritten easily
  - Fixed bug #1407418: Multiple hunters hunt for same animal
  - Fixed bug #1402392: Widelands crashed with SIGSEGV in
                        LuaGame::LuaPlayer::get_buildings()
  - Fixed bug #1402231: Wl crashes when saving after port is reduced to
                        warehouse
  - Fixed bug #1395238: Soldiers getting stuck
  - Fixed bug #1389211: Port without a portdock (game crashing)
  - Fixed bug #1387801: Crash when expedition port is destroyed while wares are
                        unloaded
  - Fixed bug #1344179: Granite mines should check if their output is needed
  - Fixed bug #1341662: Remove the animals out of the Barbarian directory
  - Fixed bug #1332842: Remove support for different flag and frontier 'styles'.
  - Fixed bug #1332455: Productivity of the Atlantean farm does not drop to 0
                        when it does not work
  - Fixed bug #1332452: Crop does not grow
  - Fixed bug #1302635: Random tribe selection always gives the same result
  - Fixed bug #1302593: Result screen not shown in loaded game when a player was
                        already defeated in saved game
  - Fixed bug #1290123: Delete barbarian stronghold
  - Fixed bug #1251914: Soldier stuck in battle animation loop
  - Fixed bug #980287:  Productivity drops on game load
  - Fixed bug #978138:  Ship is under fisher's hut
  - Fixed bug #902807:  Stopped production sites do not have their reserves
                        filled
  - Fixed bug #861761:  Improve production prioritisation
  - Fixed bug #849896:  Heal the highest level, healthiest soldier first
  - Fixed bug #653308:  The attack dialog is not updating the number of possible
                        attackers
  - Fixed bug #580923:  Production of carrier does not respect building costs


### User Interface

  - Display Widelands version for each client in Internet lobby.
  - Overhaul of diverse menu screens and windows: map and game loading,
    in-game Building Statistics, main menu Options and "About Widelands"
  - Messages can be filtered
  - Added Win condition descriptions as an Objective
  - Remember map location markers in singleplayer savegames.
  - Ships now have individual names and show their states in the statistics
    string
  - Added census/statistics strings to ships and ship construction.
  - Hide wares which do not need prerequisites and therefore are produced
    'endlessly' from configure economy
  - Watchwindow fixes: Fixed some oddities such as view duplication:
    - Possibly fixed bug #1553699 (probable cause: std::erase used on invalid
      position, which results in undefined behavior).
    - Highlight the current view button.
  - Editor CategorizedItemSelectionMenu no longer grows excessively wide when
    multiple items are selected.
  - Shifted chat overlay up so it won't overlap with the menu buttons.
  - Most UI elements now use the new font renderer
  - Various scrollbar-related fixes.
  - Fixed handling of Alt key in Linux
  - Fixed bug #1566441: String "Saving Game" appears too late
  - Fixed bug #1559729: Port space not shown.
  - Fixed bug #1542214: Inconsistent ordering of OK/Cancel buttons.
  - Fixed bug #1526916: When selecting a map, the parent directory now has a
                        lower sort order than all other directories.
  - Fixed bug #1480937: Escape key doesn't work in all dialogues
  - Fixed bug #1451147: Game crashes when headquarters is taken over
  - Fixed bug #1426654: Only list compatible .wmf files in the load game dialog
  - Fixed bug #1422072: Private message improvements
  - Fixed bug #1419537: Allow Observers to show building spaces
  - Fixed bug #1413226: Spaces in attack box disappear
  - Fixed bug #1412242: Multiplayer save game selection does not show the
                        filename
  - Fixed bug #1371062: Add confirmation dialog to exit game
  - Fixed bug #1344350: Constructionsites/dismantlesites only show a dot instead
                        of building image
  - Fixed bug #1342563: When choosing random tribe and castle village, the tribe
                        can be guessed
  - Fixed bug #1339861: Remove the "Military settings" option
  - Fixed bug #1322741: Text issue: fps statistics overlaps with xz coordinates
  - Fixed bug #1306728: Crash when info window opened if statistics window has
                        been opened
  - Fixed bug #1300359: Installation dialog shows old screenshot
  - Fixed bug #1298301: Do not show scenario messages when player is in road
                        building mode
  - Fixed bug #1296655: News window crashes when building has not been seen in
                        the game
  - Fixed bug #1283693: Crash after very long chat message
  - Fixed bug #1252625: Plot areas now update their data less often.
  - Fixed bug #1247384: Newly conquered building should prefer heroes
  - Fixed bug #1232392: Allow tabbing in forms
  - Fixed bug #1191556: The "Cancel Expedition" button in Port windows will now
                        toggle and remove the tab.
  - Fixed bug #1167242: Ctrl+destroying a flag with a building does not destroy
                        the whole road
  - Fixed bug #998544:  Replay name should contain Widelands version
  - Fixed bug #988831:  Remove message expiry feature.
  - Fixed bug #965633:  Set default AI to random tribe
  - Fixed bug #964541:  Closing building window closes (child) help window
  - Fixed bug #744749:  Training sites should either show statistics as a
                        military or as a productionsite
  - Fixed bug #736404:  Cannot switch from Widelands in full screen on Linux
                        (alt+tab)
  - Fixed bug #682351:  Wishlist: Fullscreen toogle also in Menu
  - Fixed bug #571796:  Stop the rounding to full 10ths for productivity
                        percentages
  - Fixed bug #566729:  Add gametime display to replays
  - Fixed bug #536230:  Building icons in menu are shown without correct
                        playercolor


### Internationalization

  - Big string overhaul to improve translations
  - UI redesigns to make translated strings fit
  - Automatic font selection and support for Arabic script
  - Fixed escaping of special characters in messages
  - Richtext and rt_render can now handle &nbsp;
  - ngettext and pgettext are now available in Lua
  - Fixed bug #1341990: Map names cause confusion in internet play
  - Fixed bug #1289698: Sorting maps by name sort by original instead of
                        translated name
  - Fixed bug #1289586: Let tree descriptions use the same size scheme as
                        buildings
  - Fixed bug #1290066: Sort languages by their native names
  - Fixed bug #978175:  Localization not yet loaded in command line
  - Fixed bug #973714:  Fonts are different between daily PPA and bzr repository


### Editor

  - Merged the four worlds into one, so any entity can be placed on any map now.
  - New forested mountain terrains
  - Editor now starts with the Info tool instead of the Set Height tool
  - The user can choose to display map or filenames when loading or saving a map
  - Overhaul of all main menu subenus
  - Stopped the infotool from painting and gave it size 1.
  - Fixed various cashes in editor when loading a map or using the Set Origin
    tool.
  - Fixed bug #1535065: Editor crashes with random map regarding player
                        positions.
  - Fixed bug #1532417: Complete indicators for resource water
  - Fixed bug #1504366: Editor crashes unexpectedly
  - Fixed bug #1426276: Editor Player Menu doesn't update tool overlay when
                        player is removed
  - Fixed bug #1402786: "Set origin" should be in the tools menu
  - Fixed bug #1392406: Confirmation dialog when leaving the editor although
                        Ctrl has been pressed
  - Fixed bug #1392215: Secondary and Third Alternative Tool no longer working
                        in the Editor
  - Fixed bug #1378801: Random map: Wasteland % change not reflected in
                        Mountains %
  - Fixed bug #1341112: Editor line abruption in Noise height tool
  - Fixed bug #1289575: Dialog for selecting immovable bobs in editor lacks
                        tooltips
  - Fixed bug #1281823: Setting resources via LUA API broken in Editor
  - Fixed bug #1174075: Clarify meaning of icons in editor terrain preview
  - Fixed bug #1171231: Size of minimap in the editor not changed when new map
                        is loaded
  - Fixed bug #977980:  Fish and mountain ressources cannot be removed when they
                        are on grass
  - Fixed bug #821553:  Increase maximum number of terrain types
  - Fixed bug #768826:  Show altitude level in the editor


### Help and Documentation:

  - Generic in-game and in-editor help system driven by Lua scripts. All values
    except for performance are now read from the current Lua configuration
    files.
  - Added some performance values for the buildings help text
  - Improved documentation: Started adding Tribe and World information to our
    online Widelands Scripting Reference.
  - Created a new executable 'wl_map_object_info' that will generate JSON files
    for updating the encyclopedia on the website.


### Graphics Engine

  - Fixed line drawing by replacing the broken use of GL_LINES with a
    tessellation algorithm for drawing lines.
  - Decoupled UI update frequency from game update frequency (which is now 15
    times per second).
  - Removed graphic::update() and Panel::update() and always redraw at maxfps.
  - Changed default maxfps to 30 (instead of 25).
  - Filter all textures linearly instead of near. This looks nicer and texture
    bleeding has been taken care of.
  - Added a new undocumented command line argument --debug_gl_trace which will
    log every OpenGL call that is made, together with arguments, return values
    and glError status. This requires that Widelands is build using
    -DOPTION_USE_GLBINDING:BOOL=ON. It is a NoOp for GLEW. This will help
    debugging non-reproducible OpenGL errors that are reported. Tested with
    glbinding 1.1.0.
  - More logging when OpenGL is initialized.
  - Correctly crop destination and source rectangle while blitting.
  - Fixed memory leaks in UI::Table::draw and around code found using the Leaks
    tool in Apple's Instruments.
  - Fixed bug #1562071: Visual glitch in chat overlay as well as chat overlay
                        transparency.
  - Fixed bug #1535569: Messages window slows down game speed
  - Fixed bug #1480928: Lumberjack animation glitches
  - Fixed bug #1447333: Crashes on main menu under Windows 7. Mouse movement
                        seems to trigger this.
  - Fixed bug #1424408: Graphics become all white in tutorial
  - Fixed bug #1409267: Graphic errors with text on Windows
  - Fixed bug #1408707: Water should be dithered as land terrain
  - Fixed bug #1397302: Fullscreen Toggle Text Overlay
  - Fixed bug #1397301: Screenshots black
  - Fixed bug #1393547: Flashing black background when autosaving
  - Fixed bug #1389346: Disabling opengl results in black screen
  - Fixed bug #1378797: When playing fullscreen mode Unity locks the screen
  - Fixed bug #1370144: Playercolor mask is sometimes black
  - Fixed bug #1302565: Screenshot shows wrong image when a game is chosen with
                        the mouse pointer
  - Fixed bug #1257476: Crash when attempting to load a game after toggeling
                        opengl rendering
  - Fixed bug #1257320: Strange vertical lines during gameplay
  - Fixed bug #1243700: Statistic window displays graph incorrectly when in
                        hour-mode
  - Fixed bug #1215412: Graphic artifacts
  - Fixed bug #1203006: Increasing resolution in fullscreen results in the right
                        and bottom sides not being updated properly
  - Fixed bug #1202133: Dialogs (and list of maps) have white background and
                        repetition
  - Fixed bug #1041436: Game jerks and stops after playing awhile. Bzr6421
  - Fixed bug #731987:  Mouse does not work in full screen on virtual machines
  - Fixed bug #647456:  Options: colors of the main WL menu changes when changing
                        the language
  - Fixed bug #536559:  Fullscreen must not change physical screen resolution
  - Fixed bug #536500:  Can not toggle fullscreen with Alt+Enter or resize with
                        w.m.
  - Fixed bug #536317:  Graphics libraries still in memory when no longer needed


### Other Issues

  - Added build instructions for OpenBSD
  - Ships get debug window. Also its content are extended.
  - Removed --logfile command line flag - use redirects instead.
    Added an SDL2 aware logger that replicates writing a stdout.txt on windows.
  - Removed --remove-replays and --remove-syncstreams. We now always delete
    them if they were autogenerated and older than 4 weeks.
  - Added --write-syncstreams option which defaults to true for now.
    This will give us more debug information for future desyncs.
  - Remove --dedicated commandline option and associated code.
  - Added Widelands version to log output
  - Moved all data-related directories into a new "data" directory.
  - Fixed bug #1581828: Desync while testing bzr8001[bug-1418154-collectors-teams]
  - Fixed bug #1562332: Crash with playing chat sound in Internet lobby
  - Fixed bug #1522290: Gameplay suddenly gets very slow
  - Fixed bug #1503949: Excessive CPU usage and loading time seemingly related
                        to length of the game
  - Fixed bug #1438611: Widelands is leaking memory
  - Fixed bug #1413326: Current trunk on Linux cannot join a game that is hosted
                        on Windows
  - Fixed bug #1404478: Windows installer puts string "Widelands" into the
                        version field
  - Fixed bug #1278050: Login problems with metaserver
  - Fixed bug #1274279: Metaserver entry in config gets deleted
  - Fixed bug #1169445: Commandline options 1/0 &lt;=&gt; true/false on win32
  - Fixed bug #1096453: Massive memory leaks



## Build 18
- Added a preview for the costs of a building and the resources gained
  through the dismantling of a building.
- Added a button to productionsites for evicting a worker.
- Added control to exchange stationed soldiers of a militarysite
  with soldiers of a higher resp. lower level.
- Added seafaring expedition and colonization.
- Added new win condition: Territorial time similar to territorial lord.
- Added a game result screen showing a summary of the game once the game is over
- Added support for a "message of the day" to Widelands and the Widelands' dedicated server.
- Added new game tips.
- Improved start up time through on demand loading of graphics.
- Improved Widelands' rich text rendering engine a lot and improved
  all kind of text in different places..
- Improved OpenGL rendering leading to a huge speed up.
- Improved the handling of solders inside trainingssites:
  Soliders that did not receive training for some time are now evicted automatically
- Improved the old stock charts and added some new ones.
- Improved graphics and animations on many places.
- Improved graphics used in road building mode to indicate the steepness.
- Improved multiplayer scenario "Smugglers".
- Improved Empire Inn to be backward compatible.
- Improved the handling of game saving
- Improved Widelands' translations and added some new ones.
- Fixed a bunch of memory leaks.
- Fixed a bunch of compiler warnings.
- Fixed an editor crash when trying to save a map inside a subdirectory.
- Fixed bug #535806:  Loading images takes a tremendous amount of time
- Fixed bug #536110:  Some Map Editor tools (Resources) are not translatable
- Fixed bug #536161:  Widelands bundles internal copy of unzip.cc
- Fixed bug #536482:  Downgrade skilled workers when possible
- Fixed bug #536507:  Autosave after reaching objective
- Fixed bug #536548:  Allow control of stationed Soldiers in Military Buildings
- Fixed bug #536571:  Empire Inns should be able to produce rations.
- Fixed bug #537194:  Unable to see full list of bobs on debug
- Fixed bug #566970:  Unable to attack castle
- Fixed bug #576347:  show game results screen
- Fixed bug #580905:  write building status in a different font color for construction sites
- Fixed bug #657285:  Multiple tooltips may be shown when opening building information
- Fixed bug #674600:  Long titles in message inbox overlap with time sent
- Fixed bug #674930:  Rare bug in soldiers code
- Fixed bug #704637:  Does not start (could not set video mode) using too large resolution in fullscreen mode
- Fixed bug #706284:  Default save file name is always the first in list
- Fixed bug #714036:  Add evict worker button to productionsites
- Fixed bug #706284:  Default save file name is always the first in list
- Fixed bug #714036:  Add evict worker button to productionsites
- Fixed bug #722087:  hard to empty warehouse
- Fixed bug #723113:  Weird green granite in the editor on Blackland maps
- Fixed bug #726139:  Numeric wares display in warehouses not updating correctly
- Fixed bug #732142:  Please choose lighter blue player color
- Fixed bug #738643:  Pause game while in 'save'-dialog
- Fixed bug #738895:  Show a message when the game is autosaving
- Fixed bug #740401:  Preview required building costs before building or upgrading
- Fixed bug #744595:  clang llvm 2.9 compiler widelands crash
- Fixed bug #751836:  Loading games memory usage
- Fixed bug #763567:  Sort Messages in Message Inbox to be most recent on top
- Fixed bug #787217:  editor crashes on map load
- Fixed bug #787464:  Hard to tell the difference between actual flags and possible flags for
                      the yellow player
- Fixed bug #796673:  Roads "light up" in the fog of war
- Fixed bug #796690:  Atleantean resource signs have a red tint
- Fixed bug #802432:  wreck sail is blue instead of white
- Fixed bug #803284:  While building, show range of the building on construction site
- Fixed bug #818823:  Multiplayer game kicked out players after being paused for a while (Broken pipe)
- Fixed bug #825957:  Warnings at compile-time (GCC)
- Fixed bug #846409:  Improving the load game dialog
- Fixed bug #858517:  Counter for 50% of the land in territorial lord doesn't reset
- Fixed bug #861840:  building near shoreline
- Fixed bug #898129:  Workarea color policy
- Fixed bug #900784:  Screen resolution can be set too large in windowed mode
- Fixed bug #902464:  Upgrading building: number of wares in stock window not updated
- Fixed bug #902558:  Workers returning to a building being dismantled will attempt to enter it
- Fixed bug #913369:  Warnings at compile-time (clang/llvm)
- Fixed bug #923702:  soldier "lost" if the building he is returning to has been destroyed
- Fixed bug #933747:  Text refers to bug #1951113
- Fixed bug #939026:  Sea expedition and colonization
- Fixed bug #939709:  Make OpenGL terrain rendering less demanding on hardware
- Fixed bug #955908:  Open stockstatistics with a button
- Fixed bug #957750:  Add Portspace tool doesn't use the toolsize.
- Fixed bug #960370:  Atlantean Ship Shows "flashes" on the Hull
- Fixed bug #961548:  widelands executable links against boost_unit_test_framework in Debug mode
- Fixed bug #963697:  Port build help icon shown, though no port can be build
- Fixed bug #963802:  Add option to burn a ship
- Fixed bug #963963:  Game crashes when ship construction site cannot be cleared for a new ship
- Fixed bug #965052:  Cannot see which map I am currently playing
- Fixed bug #970264:  Missing SDL_* libraries lead to rather useless messages
- Fixed bug #970840:  new graph: availability of wares
- Fixed bug #972759:  barbarian beer icons misleading
- Fixed bug #974679:  Inconsistent behaviour in soldier creation leads to irregular economy state
- Fixed bug #975091:  Ship freezes loaded with wares upon destruction of destination port
- Fixed bug #975495:  lua bug in "Together we are strong" map
- Fixed bug #975840:  test_routing.cc:97 Same expression on both sides of '-'
- Fixed bug #975847:  increase and decrese resource tool has methods with multiple consecutive returns
- Fixed bug #975852:  lua_map has a statement after a return which will never be executed
- Fixed bug #976077:  x\y axis in ware statistics are wrong
- Fixed bug #976551:  ftbfs with gcc 4.7 if not including <unistd.h>
- Fixed bug #976698:  Atlantean saw has misleading description
- Fixed bug #978123:  Small icons for wares on ships
- Fixed bug #978169:  Global militarysites icons not updated
- Fixed bug #979937:  Coal can be replaced by other ressources in the editor
- Fixed bug #982364:  Editor in Windows XP suffers high CPU, memory leak
- Fixed bug #982620:  "no use for ships on this map" blocks building ships in first Atlantis campaign
                      (atl01.wmf)
- Fixed bug #983448:  Improve OpenBSD support
- Fixed bug #984110:  memory leak in src/ai/defaultai.cc:1439
- Fixed bug #984165:  Make the increase/reduce wares buttons repeatable
- Fixed bug #984197:  Suggestion: Confirmation window for dismantling production building
- Fixed bug #985109:  Decreasing vision for node that is not seen
- Fixed bug #986526:  Clarify "X player teams" map filter
- Fixed bug #986534:  Improve in-game checkboxes
- Fixed bug #986910:  Multiplayer game setup does not show team suggestions for maps
- Fixed bug #988498:  Suggestion: remove cppcheck related stuff from build
- Fixed bug #988870:  Barbarian weaving mill produces endless cloth
- Fixed bug #989483:  Widelands host crashes if a client connection breaks
- Fixed bug #989489:  After leaving an internet game, Widelands freezes in the lobby
- Fixed bug #990623:  Checkboxes should react when hovered by the mouse cursor
- Fixed bug #992466:  dedicated server regression: not able to choose map
- Fixed bug #993293:  EnsureDirectoryExists() does only work with a path deepth of 1.
- Fixed bug #994712:  GPL Text should maybe not be translateable
- Fixed bug #995011:  They can attack me but I can't attack them
- Fixed bug #996965:  Fail to build on amd64
- Fixed bug #998828:  Only coal can be placed in the editor
- Fixed bug #1005955: Start using C++11 features in Widelands sources
- Fixed bug #1008861: Massive memory leak after closing stats window when OpenGL rendering enabled.
- Fixed bug #1016104: The stock plot is quite wrong
- Fixed bug #1019585: Building window background "jumping" when previewing upgrade build cost
- Fixed bug #1020736: CrossPlatform Path fix: remove ":" in path names on Windows
- Fixed bug #1022267: stock chart counts wares in every building
- Fixed bug #1023264: Scouts explore consistently to the west
- Fixed bug #1024549: Crash in Build Cost Preview in Observer Mode
- Fixed bug #1025014: segmentation fault in widelands
- Fixed bug #1025848: --version prints more and less than it should
- Fixed bug #1027058: Connection lost after some time if all players pause in multiplayer
- Fixed bug #1033213: Assertion in nethost is always true
- Fixed bug #1033216: Undefined identifiers used
- Fixed bug #1033615: Consider checking for more warnings when compiling Widelands
- Fixed bug #1044933: Branch condition evaluates to a garbage value in io/filesystem/filesystem.cc
- Fixed bug #1044935: Assigned value is garbage or undefined in graphic/render/terrain_sdl.h
- Fixed bug #1044939: Dead assignment or increment (variables which have values assigned,
                      but are then never read again)
- Fixed bug #1050431: Worker icons should not contain letters for levels
- Fixed bug #1063233: Starting game while savegame is still being transferred
- Fixed bug #1074655: FPS slowly drops when playing with stock screen open
- Fixed bug #1074979: r6433 has an economy mismatch after building a third port
- Fixed bug #1090433: dedicated server module not working on windows
- Fixed bug #1090887: buildcosts and "wares that get recycled" preview moves the window
- Fixed bug #1093848: Remove ware removes wares without placing them outside the building
- Fixed bug #1094711: Fisher runs out of fish even with double breeders
- Fixed bug #1094750: Usability Suggestion: move economy configuration button to a more obvious location
                      / clarify its location in documentation and tips.
- Fixed bug #1095022: Division by zero in ui_basic/slider.cc
- Fixed bug #1095028: Called C++ object pointer is null in ui_basic/table.cc
- Fixed bug #1095034: Called C++ object pointer is null in network/nethost.cc
- Fixed bug #1095695: Middle-clicking in any window will crash the game (assertion error)
- Fixed bug #1095702: Game crashed with OpenGL ERROR: out of memory
- Fixed bug #1096362: Crash when increasing speed in a internet game as observer
                      (only happens on dedicated servers)
- Fixed bug #1096632: Open windows cause game to stall after several hours
- Fixed bug #1096651: Windowed graphics resolution change does not resize window
- Fixed bug #1096786: Indicate direction of steepness in road building mode
- Fixed bug #1097420: Window tabs in map editor cause exception
- Fixed bug #1098263: Widelands does not start if PC has OpenGL problems
- Fixed bug #1099094: Tutorial description bug
- Fixed bug #1100045: Carriers can/can't be removed from Warehouses
- Fixed bug #1101788: Atlantean stone economy target too low
- Fixed bug #1104462: Untranslatable strings
- Fixed bug #1108083: Construction site window does not display specific building name
- Fixed bug #1115664: Extremely slow framerate/performance with OpenGL
- Fixed bug #1121396: Assertion error upon starting WL (regression after latest opengl changes)
- Fixed bug #1125539: Roads not rendered in road building mode
- Fixed bug #1128114: segmentation fault when running with --dedicated
- Fixed bug #1130469: Textarea does not place cursor correctly on mouse click (map description in the editor)
- Fixed bug #1130905: OpenGL switch to Software Rendering crash
- Fixed bug #1132238: Open buildingwindow after closing of constructionsitewindow when
                      construction has finished
- Fixed bug #1132466: Evicted workers will become stuck if the are away from home and the building is
                      not conencted to the road network
- Fixed bug #1132469: List of workers in building window not updating properly
- Fixed bug #1132473: soldier hangs at one point
- Fixed bug #1132476: change yellow color in white(?) - building menu % is unreadable
- Fixed bug #1132774: Assertion in image cache while loading first barbarian campaign
- Fixed bug #1137765: displaying tooltips in fullscreen causes crash
- Fixed bug #1139666: New buildcap allows larger buildings in smaller spaces
- Fixed bug #1142781: Current BZR version leads to compiler errors on Windows
- Fixed bug #1144465: Builder gets "lost" after dismantling site
- Fixed bug #1145376: Dark box when hovering over buildings
- Fixed bug #1150455: Dedicated servermode segfaults on non-existing maps
- Fixed bug #1150517: Crash when closing widelands
- Fixed bug #1153361: OpenPandora patch for FAT FS
- Fixed bug #1159000: Building WL should check whether gettext is installed
- Fixed bug #1159432: Warnings at compile-time in GCC 4.8
- Fixed bug #1159968: Crash in opengl fonthandler_cc:99
- Fixed bug #1162918: Workers exiting warehouse do not follow flag
- Fixed bug #1162920: Shovel icon is unclear
- Fixed bug #1162936: After eviction of a worker, a worker of the same level is requested instead of
                      the original worker type
- Fixed bug #1167234: Terrain preview in editor shows nothing
- Fixed bug #1170086: Imperial sentry returns more wares when dismantled than it needed
- Fixed bug #1171131: Revision 6559 FTBFS on GNU/Linux due to compile_assert failing
- Fixed bug #1171233: Opening a Widelands file makes all strings appear in English
- Fixed bug #1172197: Seefaring doesn't work on nightly Build
- Fixed bug #1174066: Setting the origin of a map disrupts it
- Fixed bug #1178327: Empire does not have economy target for marble
- Fixed bug #1181132: Random Map: Randomize positioning of start positions
- Fixed bug #1182010: fish breeder does not work
- Fixed bug #1183479: Evict Worker code possibly incomplete
- Fixed bug #1184151: Cant load a saved game after update
- Fixed bug #1186906: Remove entries from the message list that have become obsolete
- Fixed bug #1189615: WL crashes down while ship makes expedition
- Fixed bug #1191554: Game crashes when ship with open window is loaded for expedition
- Fixed bug #1191556: Port window not updated ("Cancel the expedition" starts a new one)
- Fixed bug #1191568: Expedition feature does not work properly in replay mode
- Fixed bug #1191889: Ship loads ware but does not transport it
- Fixed bug #1194194: Show build progress of the current ship
- Fixed bug #1195639: Ports build into water
- Fixed bug #1196194: Game freezes when exploring coast when not at coast
- Fixed bug #1197429: Fail to build in Ubuntu 12.04 LTS
- Fixed bug #1198624: A player should be considered defeated in Autocrat after losing all warehouses,
                      rather than all buildings
- Fixed bug #1198921: Returning null reference in scripting/lua_game.cc
- Fixed bug #1198930: Use-after-free in wui/building_ui.cc
- Fixed bug #1199653: Unseen port crashes the game when saving
- Fixed bug #1199808: Use-after-free in wui/shipwindow.cc
- Fixed bug #1199812: Use-after-free in economy/economy.cc
- Fixed bug #1199957: Segmentation fault during combat
- Fixed bug #1200952: Make error: /wui/buildingwindow.cc
- Fixed bug #1201081: Building with boost 1.54: "Boost.Signals is no longer being maintained and is
                      now deprecated. Please switch to Boost.Signals2."
- Fixed bug #1201330: Dangerous variable-length array (VLA) declaration in map_generator.cc
- Fixed bug #1202040: Soldier preference button graphics
- Fixed bug #1202133: Dialogs (and list of maps) have white background and repetition
- Fixed bug #1202146: With opengl enabled, screenshots display edges in terrain strangely
- Fixed bug #1202228: Better controls for specifying preference of strong and weak soldiers
- Fixed bug #1202499: Can't open directory with maps
- Fixed bug #1203121: Latest trunk FTBFS on Ubuntu 12.04
                      (src/helper.cc:82:8: error: 'mt19937' in namespace 'boost::random' does not name a type)
- Fixed bug #1203329: Possible to trigger a crash by saving between story dialogs
- Fixed bug #1203337: Map name appears untranslated in save dialog, even when translation exists
- Fixed bug #1203338: According to save dialog, campaign maps have 58 players
- Fixed bug #1203439: Crash on saving with no human player
- Fixed bug #1203474: Ingame README needs review
- Fixed bug #1203492: Fail to build in Ubuntu 10.04 LTS
- Fixed bug #1204008: Suggestion: widelands-daily should incorporate recent translations
- Fixed bug #1204144: Cursor Key Navigation in table not complete
- Fixed bug #1204171: Can't select ware in ware statistics window
- Fixed bug #1204199: Buildings and building statistics have different color groups for productivity
- Fixed bug #1204226: FTBFS on Ubuntu 13.04 fixed.
- Fixed bug #1204462: Suggestion: widelands-daily should not only include bzr revision,
                      but also date/time in the package name
- Fixed bug #1204481: Militarysite initialization
- Fixed bug #1204612: FTBFS on Ubuntu Precise and Lucid ('unique_ptr' is not a member of 'std')
- Fixed bug #1204756: REVDETECT=BROKEN-PLEASE-REPORT-THIS(Release) in PPA builds
- Fixed bug #1205010: segfault on dismantle on conquered enemy building or starting buildings in campaigns
- Fixed bug #1205149: Crash on Ubuntu 12.04 when clicking to open a building window
- Fixed bug #1205457: Fisher produces fish without decreasing resources
- Fixed bug #1205609: Wincondition scripts reloaded too often
- Fixed bug #1205806: Ware statistics window too small for empire warelist
- Fixed bug #1205882: Typo in license text
- Fixed bug #1205901: Value stored to unread variable in map_io/widelands_map_buildingdata_data_packet.cc
- Fixed bug #1206211: "Follow" function in watch window crashes in replays or when playing as a spectator
- Fixed bug #1206441: Autosave leads to crash on replays
- Fixed bug #1206563: Error when loading savegame saved in replay
- Fixed bug #1206712: Endless loop in Layout::fit_nodes
- Fixed bug #1206917: Pausing during save dialog behaves different in replays and games
- Fixed bug #1207069: Seafaring: cancel expedition button on ship
- Fixed bug #1207412: Authors button ingame leads to crash
- Fixed bug #1207477: Assertion `it != end()' failed in message queue
- Fixed bug #1208130: Desync error after clicking "Prefer rookies/heros" buttons in military buildings
- Fixed bug #1208229: Segmentation fault in Widelands::Soldier::attack_update
                      (this=0x99f1ea0, game=..., state=...) at src/logic/soldier.cc:1003
- Fixed bug #1208440: Some messages directly expired and still play sound
- Fixed bug #1208474: Need a nice compatibility safegame from b17.
- Fixed bug #1209125: FTBFS trunk/6705 on Debian Wheezy
- Fixed bug #1209256: Saving a game not working because of minimap.png code
- Fixed bug #1209283: Crash at end of game (game statistics window)
- Fixed bug #1211248: Add map tag "seafaring" and handle in the UI
- Fixed bug #1211255: Show workarea doesn't work
- Fixed bug #1211898: bzr 6718 segfault building expedition port
- Fixed bug #1212191: 100% training site production without any soldier
- Fixed bug #1212192: Evict worker doesn't work for the second worker
- Fixed bug #1213330: Called C++ object pointer is null in wui /shipwindow.cc
- Fixed bug #1215075: Terrains not translateable - feature not a bug???
- Fixed bug #1215134: Hint text inherited by new map
- Fixed bug #1216278: Assertion failed when making a port at top left position in this safegame
- Fixed bug #1216305: It is possible to place ports via expeditions where players can not build them
                      via normal expansion
- Fixed bug #1219388: Port spaces missing after change of map origin
- Fixed bug #1219390: Wine farmer missing in description of shovel
- Fixed bug #1219507: Savegame crashes Widelands
- Fixed bug #1219524: Empire bakery drops from 100% to 0% very quickly when no wares are available.
- Fixed bug #1219526: Last received chat message never vanishes from main in game screen
- Fixed bug #1220546: segfault on dismantle a building on ubuntu 12.04
- Fixed bug #1228518: Chat announces defeat of all network players although only one is defeated
- Fixed bug #1228529: Defeated player can see_all, but can only use fieled_action_window on prior seen fields
- Fixed bug #1228592: Internet lobby chat is blocked once another UI part was used (one of the lists, etc.)
- Fixed bug #1228596: Important system messages are not forwarded to ingame chat


## Build 17
- Diversified heal rate for military buildings - the bigger, the quicker.
- Improved and remodelled a lot of the buildings' animations.
- Improved and remodelled a lot of the bobs' animations.
- Improved and remodelled a lot of terrain graphics.
- Improved dedicated server functionality:
    * now runable as daemon and thus via init.d script on servers
    * added possibility to write server statistics to html files
    * added functionality to save the game on the server via chat command.
    * added functionality to set up a password for the server.
    * added functionality to set a custom message of the day (motd).
    * improved client side handling / setting up of dedicated servers.
- Improved a lot of icons and button appearence.
- Improved statistics window.
- Improved the Widelands code to use less resources.
- Improved OpenGL rendering which is now active by default.
- Improved (slightly) the computer player through use of the new
  dismantle feature.
- Replaced the old libggz based metaserver support with our own ggz
  independed solution, which brings some new features as well:
    * The metaserver is now checking whether a game is connectable
      if it is not, it sends an error message to the client to
      inform it.
    * System messages on the metaserver like global announcements
      motd changes or Error-Messages are now imported to running
      games and shown there as well.
    * The metaserver does now check whether a client is still online
      regulary and disconnects it, if it isn't.
    * If the client gets disconnected from the metaserver during a
      running game, the client is able to reconnect silently.
    * Games can now have more than 7 connected clients
    * The Version of Widelands used in a game is now shown as hover text
      in the game list. If a game is connectable, but uses a different
      version, a "?" icon is shown to visualise that difference.
- Added a new piece of music to Widelands
- Added new states and animations for unoccupied buildings and empty mines,
  to better indicate the current state of a building.
- Made road textures world dependend and improved the style of the roads
  for each world.
- Added basic seafaring functionality:
    * Ports, ships and shipyards are already working as they should.
    * Loading of settlers 2 seafaring maps is supported
    * (Scouting and colonization *NOT* yet implemented)
  yet implemented.
- Added port buildspace tool to the editor.
- Added a new feature to list maps in the map selection menu in categories
- Added a new feature "dismantle building" allowing to recycle some of
  the resource used to build the building.
- Added a new win condition "endless game (no fog)" with completely
  visible map from the beginning on.
- Added two multiplayer scenarios.
- Added a big seafaring map, playable as scenario.
- Added feature to play as a random tribe or against a random tribe or
  random AI.
- Added click animation for the mouse pointer
- Added automatic release of second carrier (oxen, donkey, horse), if
  the road traffic is not that strong anymore, that a second carrier
  would be needed.
- Added a new undo/redo feature to the Editor.

- Fixed a bug that disallowed to connect to different servers (via
  metaserver) without prior restart of Widelands.
- (Re)Fixed bug #536149: miner/master miner mixed up after enhancing
  to deep mine.
- Fixed bug #565406: focus for save window
- Fixed bug #570055: Open house window on doubleclick even when minimized
- Fixed bug #590528: add more details to a replay
- Fixed bug #590631: All workers die, when warehouse/hq is destroyed
- Fixed bug #594686: Roads not rendered correctly in opengl mode on
                     some systems
- Fixed bug #601400: Request::get_base_required_time:WARNING nr = 1 but
                     count is 1, which is not allowed according to the
                     comment for this function
- Fixed bug #649037: Many menus are not repainted in OpenGL mode
- Fixed bug #657266: Unoccupied helmsmithy animation contains a person
- Fixed bug #671485: Aged barbarian ware icons
- Fixed bug #672085: New stock menu layout too high for small resolutions
- Fixed bug #672098: The priority buttons can be deactivated
- Fixed bug #674848: The fight against red player in barbarian tutorial 3
                     can be won in just one fight
- Fixed bug #683716: Better handling of "no ressources"
- Fixed bug #691928: Message icon is not updated in some cases when
                     receiving focus
- Fixed bug #695035: Adjusted hotspots of buildings to fit into their space
- Fixed bug #702011: Messages in multiplayer are translated by host
                     before they are sent to client
- Fixed bug #722196: OpenGL terrain renderer does not dither between
                     adjacent fields
- Fixed bug #722793: Ducks on land on Three Warriors
- Fixed bug #722796: Minimap not shaded by terrain height in OpenGL
- Fixed bug #723112: The name is not shown for resource coal in the
                     resource dialog in the editor
- Fixed bug #726699: Make the wares priority buttons in production sites
                     more intuitive
- Fixed bug #734409: campaign texts about enhancing metalworks
- Fixed bug #731474: Barbarian buildings looking strange when covered
                     by fog of war
- Fixed bug #738888: Two sentences in game tips are only partly translatable
- Fixed bug #741142: Empire Tut 2 - missing event when barbarians
                     are detected
- Fixed bug #768828: Fixed the random height tool window in the editor
- Fixed bug #768854: Messages for win condition "Territorial Lord" is not
                     translated, even though translations exist
- Fixed bug #771962: Alphabetically sorted ware help in translations
- Fixed bug #772003: Bakingtray use the peel icon
- Fixed bug #775132: build-16 Failed to initialize SDL, no valid video driver
- Fixed bug #779967: Text alignment on "Host a new game"
- Fixed bug #786243: Add extra column to stock windows, if size would be to
                     big for the current screen resolution
- Fixed bug #787365: Constr.Site & Prod.Site: Dim House Picture In
                     The Background
- Fixed bug #787508: Remove use of barbarian stronghold
- Fixed bug #791421: Editor: Map Options Editbox Keyboard Input
- Fixed bug #795457: focus in chat window
- Fixed bug #799201: New tab icon for workers list
- Fixed bug #805089: Check client in chat commands, when first mentioned.
- Fixed bug #808008: Delete outdated data when updating Widelands on Windows
- Fixed bug #817078: "Watch window" should centre more suitably
- Fixed bug #818784: display player names in status messages when playing
                     collectors
- Fixed bug #842960: Original building site graphic is visible during
                     construction sequence
- Fixed bug #852434: no game tips on loading screen as host
- Fixed bug #853217: start multiplayer game with all slots closed
- Fixed bug #855975: Atlantean bakery jumping up, when start working
- Fixed bug #859079: Warning about files (pngs) not found when
                     starting a new game
- Fixed bug #859081: Dialog briefly shown when clicking in the fog of war
- Fixed bug #865995: Allied soldiers fight when they meet on the battlefield
- Fixed bug #870129: highlighted message can not be marked
- Fixed bug #871401: WaresQueue stock level configuration is ignored
                     when work fails in Productionsites
- Fixed bug #877710: [windows] window title shows "not responding"
                     when loading a map
- Fixed bug #884966: Not able to prioritize top row (pita bread) in
                     battle arena
- Fixed bug #886493: Default AI is set to none
- Fixed bug #886572: After a while, increasing game speed makes the game
                     lag even at lower speeds
- Fixed bug #887093: Make OpenGL the standard renderer
- Fixed bug #902765: Show buttons in the bottom toolbar in the same
                     order, also for spectators
- Fixed bug #902823: Show "increase/decrease capacity" buttons only
                     in "soldiers" tab
- Fixed bug #912486: Maximum FPS button overlaps language list in options
                     on higher resolutions
- Fixed bug #914462: possible bug in void BulldozeConfirm::think()
- Fixed bug #924140: assertion failed if you press "up/down" button in
                     an empty message window
- Fixed bug #924768: Rework barbarian barrier's statistics
- Fixed bug #927110: font color not adapted to map color



## Build 16
- Many new graphics, new sounds.
- Added a dedicated server function for terminal use.
- Improved and refactored font handler.
- Removed barbarian Stronghold from list of buildable military sites as
  it did not have a real purpose.
- Added a help button + window function (e.g. to explain the multi player
  menu).
- Play a fanfare when a military site gets occupied and another fanfare
  when the player is under attack
- Reworked the multi player launch game menu - now different clients can
  control the same in game player together (share the kingdom) and other
  starting positions can be "shared" in as second (third, fourth, ...)
  starting position of a player.
- Add a new Atlantean campaign map.
- Add rudimentary support for ships (you can build them, but they are not yet
  useful)
- Add support for multiplayer scenarios. No scenario is shipped yet though.
- Added column for the maximal number of players to the map selection menu.
- Reordered wares and workers in logical groups (e.g. food production, ...).
  Also fix the Economy Preferences Menu to be similar to the new Warehouse
  windows.
- Barbarian lumberjacks now need a felling_axe which is produce in the metal
  workshop. The axe is now only produced in the war mill and the axe factory.
  This delays barbarian soldier production in the early game, giving the other
  tribes more time to equalize their military production. (bug #667286)
- Give Empire +1 basket so that two vineyards can be build right away to fully
  saturate the first marble mine.
- Buttons that represent a toggable state are now really toggable buttons in
  the user interface.
- Changed the way compressed files are generated (maps, savegames) and read.
  Now it is possible to rename maps and savegames but it is not possible
  to load maps from version after this change with versions before this change
- Added a dotted frame border to the mini map.
- Work area preview is now on by default.
- New maps: Desert Tournament, Swamp Monks.
- Improved and added many new animations for workers
- Improved and added fighting animations for soldiers
- Implemented teamview for allied players
- Implemented shared kingdom mode, where two or more players control the same
  player.
- Added two new maps.
- Added possibility to create and play multiplayer scenarios.
- Do not show building statistic informations of opposing players anymore
- Gave foresters more intelligence - now they do not remove young trees to
  replant another anymore and plant the trees that suit the terrain the best.
- Added host commands like /announce, /kick, ... (type /help in chat window
  to get a list of available commands).
- Improved defaultAI's behaviour.
- Added "real" work animations for builders and play "idle" animation, if
  the builder has nothing to do.
- Made Empire baracks more useful.
- Added player number user interface and automatic start position placement in
  random generated maps.
- Improved the heigth generation algorithm of the map autogenerator to produce
  more playable maps.
- Added notification messages for players, when military sites are occupied.
- Added teams (alliances can now be defined before start)
- Now the builder does nomore cause the finished building to see its vision
  range.
- Many improvements of the graphic rendering engine
- Implemented "stop storing", "out source", "prefare ware" settings for
  warehouses.
- Improved military site's and training site's user interface.
- Improved health bar and level icons for soldiers.
- Improved all exisiting campaigns to use lua.
- Added an interactive "start from no knowledge" tutorial.
- Added new music tracks.
- Added winning conditions (endless game, autocrat, collectors, land lord,
  wood gnome).
- Added basic opengl rendering support.
- Added many new and improved exisiting translations.
- Removed unused medic code.
- Reduced healing rate of soldiers.
- New keyboard shortcuts for the message window: N, G, Delete.
- New keyboard shortcuts for quick navigation: comma, period, and (Ctrl+)0-9.
- Experience required by workers per level is no longer random.
- Made the empire barracks a little more useful.
- Improved stock menu: Use tabs and add warehouse-only tabs.
- Changed the boss key from F10 to Ctrl+F10.
- Story Message Boxes are nomore closed by right clicking.
- Added command line option to tell Widelands where to search for translations.
- Improved some of the exisiting maps.
- Improved the "user friendly" compile script and moved it to compile.sh
- Fixed the translation system - users should now be able to select any
  compiled and installed translation of Widelands.
- Removed scons and replaced it with cmake.
- Fixed two potential security issues (internet gaming)
- Fixed bug #729772: Selection of Widelands.ttf via options menu
- Fixed bug #687342: No longer complain when a master miner is transferred to
  a mine to fill a junior position.
- Fixed bug #612348: Soldiers always move out of buildings to battle
- Fixed bug #670980: Cmd_EnemyFlagAction::Write handles disappeared flag
- Fixed bug #697375: Handle state.coords == Null() correctly in soldier attack code
- Fixed bug #691909: Compatibility with old savegames with barbarian battlearena
- Fixed bug #722789: Always flush animations before loading
- Fixed bug #724169: Military site window no longer changes size erratically
- Fixed bug #708328: infinite loop(s) in building_statistics_menu.cc
- Fixed bug #720338: Options show wrong resulution as selected if no
  ~/.widelands/conf exists
- Fixed bug #536149: miner/master miner mixed up after enhancing to deep mine
- Fixed bug #580073: Objectives menu update
- Fixed bug #695735: Scrollbar damaged in multiline textboxes in (unique)
  windows in FS menu
- Fixed bug #659884: Problem with network savegame loading under windows
- Fixed bug #683082: copy constructor should take const argument
- Fixed bug #669085: Wood Lance (Empire ware) is practically invisible
  in ware encyclopedia
- Fixed bug #680207: Economy settings missing ores
- Fixed bug #583985 and #573863: Scout did not work as it was supposed to.
- Fixed bug #618449: [fetchfromflag] - building dissappeared.
- Fixed bug #537392: Computerplayer does not adhere to currently allowed
  buildings.
- Fixed bug #547090: Make barbarian weaving mill not buildable.
- Fixed bug #577891: Make atlantean small tower less strong.
- Fixed bug #615891: Commandline parameters homedir and datadir parsing.
- Fixed bug #554290: GGZ game hosting on windows was not working before.
- Fixed bug #533245: Buildings statistics were not calculated correctly.
- Fixed some filesystem bugs.
- Fixed desync bug #590458 and allowed syncstream writing without replay writing
- Fixed replay bug when using recursive destroy (pressing Ctrl while destroying)
- Fixed remaining "tabard cycling" problem and cleanup related to recent economy
  changes.
- Fixed bug #577247: When constructionsite finishes, set builder's location to
  the new building.
- Fixed bug #580377: Member function defined in .cc file should not be declared
  inline.
- Fix bug with nosound option.
- Fixed language list, to only show the found languages - that way it should be
  clearer to the user, in case when translations were not compiled.
- Fixed directory browsing in Map save dialog of the editor.
- Fixed bug #568371: Stray numbers in player table in GGZ menu.
- Fixed bug #536373: Race between "transfer" and "cancel" signals.
- Fixed bug #569737: Failed assert when trying to overwrite save
- Fixed bug #568373: Removed flag display in the building statistic menu
- Fixed many other bugs.

## Build 15
- Removed registering functionality for metaserver. This is to be compatible
  with future changes to the metaserver.
- Small text tweaks and translation updates.
- New graphics for some buildings and menu pics.
- Fix for Multiline Editboxes that could lead the Editor to crash.
- Scout runs a little longer to make it more useful.
- Fixed descyns happening when a scout left his house in network games.
- Healthy soldiers defend while injured ones heal at MilitarySite (bzr:5084)
- Fixed bug when PM is send to the player hosting a network game.
- Fishbreeder no longer complains about no fish found.
- Conquered buildings now appear in statistics.
- Improvements in the build_and_run.sh script and cmake building in general.
- Sound & Music system is now thread safe.
- Win 32 bug fix: Mine symbols were not visible in VC++ builds.
- Fix defending soldiers making invisible and freezing battles.
- Support for building with Visual Studio
- New graphics for some buildings
- Added second carrier type for busy roads (donkeys, oxen, horses)
- Changed localization structure so that we can translate from launchpad.net
- Cmake is now a supported build system
- Lua support (preliminary)
- Fix bug that when a worker program had a createitem command where the
  parameter was not the name of a ware type in the tribe, the game would fail
  an assertion when the command was executed. Now throw an exception when the
  command is parsed. (svn:r4847)
- Implement a the "scout" command in worker programs. Add a worker type "scout"
  to each tribe. Such a worker type typically lives in a small house/hut
  (productionsite). The productionsite's work program typically consists of a
  sleep period, consumption of some food, and sending the worker out to explore
  nodes that have never been seen before or not seen recently. (svn:r4840,
  svn:r4841, svn:r4843, svn:r4844, svn:r4845)
- In the chat, doubleclicking a username will add @username so that the text
  that is written after will be sent as a personal message to that user.
  (svn:r4832)
- Implemented double size zoom mode for minimap (svn:r4820, svn:r4821)
- Added login/register menu for games via metaserver (svn:r4818, svn:r4819)
- Added a small scenario part to "The Green Plateau" map (svn:r4808, svn:r4810)
- Improve map select menu - now the "play as scenario" checkbox is only usable,
  if the selected map is playable as scenario (= if a file "trigger" exists).
  Further it shows a special icon for scenario maps for a direct indication.
  (svn:r4807)
- Added new event "seeall" allowing to switch see all mode of a player to
  on/off. (svn:r4804, svn:r4878)
- In productionsite programs: Generalize failure handling method to result
  handling method. Depending on the result of the called program, the calling
  program can now return failed, completed or skipped. It can also chose to
  continue execution or repeat the call. (svn:r4781)
- Added new loading screens for Desert, Greenland and Winterland. (svn:r4778,
  svn:r4816)
- Improved Battle code
    * Added support for soldier combat animations (svn:r4772)
    * Let soldiers retreat, when they are injured. Let the player configure in
      the game how injured they have to be to retreat. Make it configurable in
      scenarios and initializations to what extent a player should be able to
      configure this feature during the game. (svn:r4796, svn:r4812)
    * New attack user interface (svn:r4802, svn:r4803, svn:r4813)
- Fix bug that if a user sent a private chat message to himself, the nethost
  delivered it to him twice. (svn:r4764)
- Added a new map 'Atoll' (svn:r4755)
- Add the production program return condition type "site has" that takes a
  group (just like the consume command). Now it is possible to have a statement
  "return=failed unless site has bread,fish,meat:4". (svn:r4750)
- When parsing a consume group, check that the count is not so large that the
  group can not be fulfilled by the site. For example if a site has "[inputs]"
  "smoked_fish=6", "smoked_meat=6" and a program has a consume command with the
  group "smoked_fish,smoked_meat:13" it will give an error message (previously
  it was just accepted silently). (svn:r4750)
- Fix bug that prevented parsing of a negation condition in a production
  program return statement. (svn:r4748)
- Change some productionsites to produce even if the product is not needed, if
  none of the inputs nor the site's capacity are needed either, so that wares
  of a more refined type are available when they are needed in the future.
  (svn:r4746, svn:r4748, svn:r4751)
- Fix broken logic of productionsite program's return command's when-condition.
  (svn:r4745)
- Show in the statistics string why a building is not working. (svn:r4744)
- When a productionsite program has been skipped, do not start it again until
  at least 10 seconds have passed, to avoid slowing down the simulation. The
  drawback is that it may take longer time until the productionsite discovers
  that it should produce something (for example because the amount of a ware
  type dropped below the target quantity). (svn:r4743)
- Fix bug that 40 characters was read from a file into a buffer that was used
  as a 0-terminated string (the building statistics string). This worked as
  long as the file provided the 0-terminator. Now make sure that the buffer is
  0-terminated regardless of what the file contains. Previously the whole
  buffer was written (including the garbage after the terminator). Now only
  write the real content. (svn:r4742)
- Fix the editor's trigger time option menu. (svn:r4740)
- Fix the map Sun of fire so that there is no longer possible to walk (attack)
  along the coast between players 4 and 5.
- Improvements in replay handling to save diskspace (svn:r4719, svn:r4720)
    * Only write syncstreams in multiplayer games
    * Delete old (definable) replay files and syncstreams at startup
- Replace the event type that allows or forbids a building type for a player
  with 2 separate event types (for allow and forbid respectively). They can
  handle multiple building types in the same event and the configuration dialog
  is more complete, with icons for the building types. (svn:r4717)
- Implement event types to set the frontier/flag style of a player (can also be
  used in initializations). Also implement configuration dialogs for those
  event types. (svn:r4709, svn:r4715).
- Change the code so victorious soldiers conquer an opposing militarysite,
  instead of destroying it. (svn:r4706 - svn:r4711, svn:r4724, svn:r4727,
  svn:r4731, svn:r4732, svn:r4822, svn:r4839)
- Fix bug that caused undenfined behaviour, particularly segmentations faults in
  64-bit optimized builds. (svn:r4702)
- Improve player's message queue: (svn:r4698)
    * Add only important and not doubled messages.
    * Play a sound, if a new message arrives.
    * Play special sounds at special events (e.g. "You are under attack")
- Fix bug that a savegame, with a flag on a node that was not interior to the
  flag's owner, could be loaded. (svn:r4695)
- Fix bug that a scenario game could be started from a map, where a player did
  not have a starting position, causing a failed assertion when trying to
  center the view on the player's home location. (svn:r4694)
- Fix out-of-bounds array access bug in network game lobby code. (svn:r4676)
- Fix bug that panel_snap_distance and border_snap_distance were mixed up when
  initializing the spinboxes in the options menu. (svn:r4665)
- Fix crash when trying to use the editor to add an event, of type
  conquer_area, with the same name as an existing event. (svn:r4655)
- Fix a bug in ids of autogenerated maps and add automatic resource, immovable
  and critter placement to the automatic map generation feature. (svn:r4651,
  svn:r4679)
- Fix bug that a savegame, with flags on neighbouring map nodes, could be
  loaded, leading to errors later on (for example when trying to build a 1-step
  road between them). (svn:r4621)
- Fix bug that a savegame, where a flag was placed on one map node but later
  was given the coordinates of another map node, could be loaded, leading to
  errors later on. (svn:r4620)
- Added more stones to the Elven Forests map. (svn:r4612)
- Improved the selection of which warehouse a produced ware should be
  transported to. (svn:r4609)
- Add new music. (svn:r4602, svn:r4611)
- Change the reporting of an error that is found in game data (savegame,
  command log, world/tribe definitions) whenever such game data is read (for
  example when a replay or new or saved game is started or a new or saved map
  is loaded in the editor). Do not include source code filename:linenumber
  information (just explain what is wrong with the game data that the user
  tried to load). Return to where the user tried to load the game data
  (menu/shell). (svn:r4600)
- Fix bug that sometimes a warehouse did not provide a carrier to fulfill a
  request when it should. (svn:r4599)
- Change bob movement by eliminating a 10 ms pause before starting to move
  along an edge. The game logic could fail and throw an exception if a bob was
  moving along a road and the road was split during those 10 ms. Unfortunately
  this fix breaks each old savegame with a bob that happens to be in this
  state. (svn:r4597)
- Fix memory leaks. (svn:r4567, svn:r4671, svn:r4672, svn:r4673, svn:r4674,
  svn:r4675, svn:r4677, svn:r4681, svn:r4682, svn:r4756)
- Fix bug that when the editor's map options window was opened and the map's
  description was shorter than a certain length (different for different
  locales), the program would crash when a letter was typed in the description
  multilineeditbox. (svn:r4563)

## Build 14
- Fix bug that the Firegames map had no water. (svn:r4533)
- New tree and stone graphics for the Blackland world. (svn:r4525, svn:r4526,
  svn:r4527, svn:r4528, svn:r4529)
- Fix bug that the Atlantean and Empire Hunter's Houses were not shown as meat
  producers in the ware encyclopedia. (svn:r4521)
- Fix bug that in the new event/trigger dialogs, the Ok button was enabled even
  when an event/trigger type was selected, for which no options window is
  implemented. Nothing happened when the button was pressed. Now the button is
  disabled and a note is shown, explaining that an event/trigger of this type
  must be created by editing the text files (with a regular text editor instead
  of the Widelands editor). (svn:r4512)
- Fix bug that when a ware was waiting at a flag, and the next flag or building
  that the ware was waiting to be taken to was removed, anyting could happen
  (because of a dangling pointer). (svn:r4508)
- Fix usability problem that accidentally double-clicking on a road could
  remove it. (Previously, when clicking on a node that had a road, but a flag
  could not be placed there, the mouse cursor would be placed over the button
  to remove the road, in the dialog that was opened. Now place the mouse cursor
  over the tab icon instead in that case.) (svn:r4490)
- When entering automatic roadbuilding mode after creation of a non-connected
  flag, move the mouse cursor to the flag, to offer optimal conditions to
  either start building a road, in any direction from that flag, or directly
  click on the flag to stop building the road. (svn:r4489)
- Give more progress information during editor startup by showing a message for
  each tribe that is being loaded. (svn:r4488)
- When a progress indicator has been shown during animation loading, remove the
  message "Loading animations: 99%" afterwards, so that the user is not mislead
  to believe that animation loading is still going on, when in fact something
  else is taking time. (svn:r4486)
- Some "plastic surgeries" on editor menus.
  (svn:r4481, svn:r4482, svn:r4483, svn:r4484, svn:r4485)
- Fix bug that in the editor's event menu, the buttons to change and delete an
  event chain where enabled even when no event chain was selected in the list.
  This caused a crash when any of the 2 buttons was clicked. (svn:r4480)
- Make sure that every soldier battle property that is loaded from a savegame
  and is not compatible with the soldier's type's definition is adjusted to the
  nearest valid value. This makes changes to a soldier type's battle properties
  affect preexisting savegames when they are loaded with the changed game data.
  (svn:r4479)
- Fix bug that a soldier without hitpoints could be loaded from a savegame.
  (svn:r4478)
- Fix memory access error caused by a value read from a savegame being used as
  an array index without being checked. (svn:r4477)
- Fix null pointer dereference that could be caused by an invalid savegame.
  (svn:r4475)
- Fix bug that if a savegame contained a soldier with
  max hitpoints < current hitpoints, it was not detected as an error.
  (svn:r4474)
- Fix bug that when loading (from a savegame) a bob (such as a worker or wild
  animal) that was walking along an edge between 2 neighbouring nodes, it was
  not checked that the start time was before the end time. (Both times are
  stored in savegames.) (svn:r4470)
- Fix bug that when a military-/trainingsite was loaded from a savegame, it was
  not checked whether the configured capacity was within the range of allowed
  values, as defined in the site's type. Do not reject the savegame if the
  value is outside the range, since the definition may have changed and the
  user wants to load the game anyway. Just warn and adjust the variable to the
  nearest valid value. (svn:r4468, svn:r4469)
- Fix bug that the parsing of a worker type would allow
  max_experience < min_experience. (svn:r4467)
- Fix wrong calculation of the amount of experience that a worker needs to
  change its type. The value is chosen randomly in an interval, from
  min_experience to max_experience, specified in the soldier's type's
  definition. But the calculation had an off-by-one error that caused the value
  to never become max_experience, and worse, crash with a division by 0 when
  min_experience = max_experience. (svn:r4466)
- Fix bug that the game loading code would accept a soldier with
  max_attack < min_attack. (svn:r4465)
- Fix bug that the parsing of a soldier type would allow
  max_attack < min_attack. (svn:r4464)
- Fix wrong calculation of a soldier's attack value during battle. The value is
  chosen randomly in an interval, from min_attack to max_attack. But the
  calculation had an off-by-two error that caused the value to never become
  max_attack or max_attack - 1, and worse, crash with a division by 0 when
  min_attack + 1 = max_attack. (svn:r4463)
- Fix wrong calculation of a soldier's maximum hitpoints during its creation.
  The value is chosen randomly in an interval, from min_hp to max_hp, specified
  in the soldier's type's definition. But the calculation had an off-by-one
  error that caused the value to never become max_hp, and worse, crash with a
  division by 0 when min_hp = max_hp. (svn:r4462)
- Fix bug that a corrupt savegame could cause gametime to go backwards (a
  !GameLogicCommand could have a duetime in the past without being detected as
  corrupt during load). (svn:r4460)
- Fix invalid memory access bug (causisng random behaviour) when a section file
  inside a zip-archive was missing a newline at the end. (svn:r4443)
- Fix bug that trigger building could count large buildings sevaral times
  because they occupy several nodes on the map. (svn:r4441)
- Added Italian translation (svn:r4435, svn:r4436)
- Fix drawing of text with non-latin1 characters. (svn:r4421)
- When a soldier steps outside his territory during attack, he searches for
  militarysites with defenders. Previously he chose them from any other player.
  Now only choose defenders from the player whose territory the soldier steps
  on. (svn:r4410)
- Exit with an error when incompatible command line parameters are given,
  instead of ignoring it. (svn:r4406)
- Allow starting a replay from the command line by giving the --replay=FILENAME
  parameter. If just --replay is given, the program goes directly to the replay
  file selection menu. (svn:r4405)
- Fix display of multiline editoboxes when the text has more than one
  consecutive linebreak. (svn:r4395)
- Fix navigation in multiline editboxes. When the last line was empty and the
  text cursor was at the end of the line above, it was not possible to move the
  cursor to the last line with the down arrow key. (svn:r4394)
- Fix bug that the text cursor was not visible when at the beginning of a line
  (in a single- or multiline editbox). (svn:r4393).
- Give spectators (see-only) access to the building and economy configuration
  windows. Same for players with see-all right (debug builds). (svn:r4380,
  svn:r4399)
- When a soldier can not move to its opponent during an attack, do not give up
  and quit the program. Instead, let the soldier desert without punishment.
  Notify the 2 involved players by adding a message to their message queues and
  pausing the game. Also pause and give a message when a worker can not return
  home to his building and therefore becomes a fugitive. (svn:r4378)
- Fix bug that the in-/decrease buttons in the editor's noise height options
  menu were not repeating. (svn:r4459)
- Fix bug that the buttons in the editor's change resources options menu were
  not properly disabled. (svn:r4458)
- Fix bug that the traingingsite window soldier buttons (drop selected soldier,
  decrease soldier capacity and increase capacity) were not properly disabled
  and that the latter 2 were not repeating. (svn:r4373)
- Fix bug that the building window background graphic was not drawn with
  correct playercolour. (svn:r4369)
- Fix bug that buildings that were behind fog were not drawn with correct
  playercolour. (svn:r4367)
- Fix bug in buildcaps calculation. Sometimes it was possible to build a large
  building at location A and then build a large building at location B. But if
  a large building was built at location B first, it was no longer possible to
  build a large building at location A. (svn:r4366)
- Fix bug that the content of the interactive player data packet in a savegame
  was used without being checked properly, which could lead to a segmentation
  fault. (svn:r4353)
- Fix bug in the editor that it was possible to remove a player even though
  it was referenced by someting (such as an event or trigger). (svn:r4339)
- Fix bug that for a worker type, an experience value was read and used even
  though the worker type could not become some other worker type. (svn:r4328)
- Make the config file format somewhat stricter. Do not allow // comments and
  require a section header to be closed with a ']'. (svn:r4285, svn:r4298)
- No longer look for bmp an gif images when searching for animation frames.
  This should make animation loading a little faster. (svn:r4278)
- Added and improved some buildings and workers animations (different svn rev.)
- Many graphic system updates including experimental hardware improvements
  (many different svn rev.)
- Implemented very basic "dedicated" server (many different svn rev.)
- Improved chat system:
    * Added personal messages (use "@username message") (svn:r4186)
    * Added a time string in front of each message (svn:r4253)
- Implemented metaserver lobby for internet game (many different svn rev.)
- Implemented check of free diskspace to avoid segfaults (different svn rev.)
- Added new ware icons. (svn:r4152, svn:r4250, svn:r4471)
- Implemented versioning system to avoid that Widelands loads data of old
  Widelands versions. (svn:r4133)
- Implemented basic "generate random map" feature. (svn:r4113)
- Implemented basic messaging system to inform players of important events.
  (many different svn rev.)
- Improved computer player behaviour (many different svn rev.)
    * Computer player should now be able to build up a working infrastructure
      (including mining, tools and weapons production and soldier training) and
      to attack and defeat their enemies.
    * Users are now able, to select the type of a computer player. The
      available types are: Aggressive, Normal, Defensive and None. First three
      are based upon the improved AI and only behave different in case of
      attacking strength and expansion, while latter does simply nothing.
    * It is now possible to define the computer player type for camapign maps.
- Throw out the bundled version of scons. Scons is widely available by now and
  the bundled version caused more trouble than it was worth: many
  incompatibilities, where a distribution-supplied version would have worked
  (svn:r3929)
- Fix bug #2351257 - wrong game tips are shown. (svn:r3808)
- Some improvements of tribes economy and soldier balance (svn:r3793,
  svn:r3796)
- Added third barbarian campaign (svn:r3790) and improved the already existing
  ones (svn:r3775, svn:r3788)
- Added a new trigger for scenario maps: Player defeated (svn:r3789)
- In the editor save dialog; initialize the name box with the map name and do
  not react (for example by playing a sound) to clicks in the empty area below
  the last file in the listbox (affects all listboxes in the UI). (svn:r3783)
- Fix bug in build13 that the editor save dialog would use the name of the list
  item from the second last (instead of the last) click. (svn:r3781)
- Added an editor tool to set a new origin in the map. This will make it
  possible to get an island properly centered, instead of divided in 4 corners
  when a minimap is generated with an external tool, such as the one used in
  the [map download section](http://wl.widelands.org/maps/). The button that
  enables the tool is in the map options dialog. (svn:r3778)
- Allow longer text for a world's name and author (to avoid having it cut off
  like "The Widelands Development Tea"). (svn:r3777)
- Do not crash when writing an empty file. (svn:r3773)
- Added two new in game and one new menu song. (svn:r3758, svn:r3800)
- Make more configuration options configurable in the options menu. (svn:r2753)
- Fix bugs in the S2 map loader. Trying to load an invalid file could cause
  failed assertions in debug builds and probably other bugs in release builds.
  (svn:r3750)
- Added new loading screens for winterland and for barbarian campaigns.
  (svn:r3748, svn:r3797)
- Allow configuring which information about a building is shown in the
  mapview's building census and statistics displays and the building window
  title. (svn:r3741)
- Added colorized chatmessages. (svn:r3725)
- Added a lobby to the multiplayer launchgame menu. Now users are not
  automatically assigned to players. Users staying in the lobby when the game
  begins will become spectators. (svn:r3702, svn:r3703, svn:r3707, svn:r3709,
  svn:r3710)
- Fix the map Dry Riverbed so that the mountain pass is passable in both
  directions. (svn:r4335)
- Improved the map Plateau so that the players can reach the center even if
  another player is fortified there. This is achieved by allowing large
  buildings at a few more places in the valleys leading from the starting
  positions to the center. Also add some wiese1 (terrain type), which was not
  used at all on this map before. Make some small adjustments to the node
  heights in the small valley just east of player 1's starting position, so
  that the valley becomes more useful. (svn:r3713, svn:r4361, svn:r4362)
- Added two new maps "Twinkling Waves" and "The ancient sun of fire".
  (svn:r3689, svn:r4119)
- Fix bug that the editor toolsize menu was not updated when the toolsize was
  changed with the keyboard shortcuts. (svn:r3675)
- Implement feature request #1792180 - Allow user to change starting-position.
  (svn:r3666, svn:r3667, svn:r3668)
- Editboxes now support UTF8 (unicode) characters, so the players can use their
  locale language in game. (svn:r3662, svn:r4398)
- Improve the output of _widelands --help_. (svn:r3660)
- Add a new terrain type, corresponding to Greenland's bergwiese, to Desert.
  (svn:r3659)
- Workers that search for an object now prefer one of the nearest. Therefore
  they spend less time walking and more time harvesting. (svn:r3658)
- Fix bug that in the military-/trainingsite windows, the name (untranslated)
  of the soldier type was shown instead of the descname (translated).
  (svn:r3645)
- Fix bug that in the trainingsite window, the ware priority buttons were not
  updated. (svn:r3642)
- Fix bug that in the trainingsite window, the column _total level_ was not
  sorted correctly for 2-digit values (10 was sorted between 1 and 2).
  (svn:r3641)
- Fix bug that when the user typed in the editor's map description input
  fields, the world was reparsed on every keystroke, which caused a delay.
  (svn:r3640)
- Fix bug that when the loading of a tribe failed, the error message was
  insufficient. (svn:r3639)
- Fix bug related to land ownership and military influence when a soldier
  arrived to a trainingsite. (svn:r3701)
- Fix bug related to land ownership and military influence when an
  event_building was executed. (svn:r3636, svn:r3637)
- Fix bug that when a \_pc-file was missing for an animation frame, the program
  did not make it clear that it was the \_pc-file that was missing (the user
  was lead to think that it was the main file of the animation frame).
  (svn:r3623)
- Fix bugs in the maps _Mystical Maze_ and _Three Warriors_: update tribe name
  to _atlanteans_. (svn:r3609, svn:r3612)
- Change the Atlantean Weaponsmithy's program Produce Light Trident to consume
  iron (in addition to planks). This makes it necessary to mine iron ore to
  produce soldiers, which makes it more difficult to win against the other
  tribes (who also require iron for making soldiers) (svn:r3718)
- Fix bug in build13 that the Atlantean Labyrinth's program Upgrade Evade 1
  could consume bread and then fail. (svn:r3714)
- Add demand check to _Cloth_ production in _Empire_ _Weaving Mill_.
  (svn:r3604)
- Add a program that produces an axe to the Barbarian Metalworks. (svn:r3717)
- Simplify the stoppability rules of building types. Only productionsites are
  stoppable. A productionsite type is a stoppable if and only if it is not a
  militarysite type. Get rid of the config option to make a building type
  stoppable (many building types had "stopable=yes" in their conf-file). Also
  get rid of the config options to set custom stop/continue icons for each
  building type (this was not used in any of the building types that are
  included in the Widelands releases). It is no longer possible to stop a
  constructionsite so that the finished building will be set to stopped.
  (svn:r3723)
- Get rid of event numbers in event chains. This removes the maximum limit of
  99 events in an !EventChain. It also makes diffs much smaller when an event
  is inserted, because now the following events do not need to be renumbered.
  (svn:r3600)
- For the statistics string of a trainingsite (shown in the mapview near the
  trainingsite when S has been pressed), replace strings like "upgrade_evade_0"
  (untranslated) with strings like "Upgrade evade 0" (translated). (svn:r3595)
- Fix bugs that ware/worker types were identified by their temporary index
  value instead of their permanent name in some places in savegames. The
  temporary index values may not be the same when the game is loaded again,
  while type names should be the same. (svn:r3593, svn:r4343)
- Implement automatic recursive road removal. When a player holds down Ctrl
  when ordering (or confirming, if applicable) the removal of flag or road, do
  a recursive removal. If a road removal command is given with the recursive
  option, all roads between the start and end flags are removed. Then those
  flags that become dead ends are removed recursively. A flag is a dead end if
  it does not have a building and roads to at most 1 other flag. (svn:r3591)
- Make immovable animation times random. (svn:r3635)
- Implement natural reproduction for trees. Instead of just growing up and then
  idling forever, they seed new trees and eventually die. Dead trees disappear
  after a while. Different tree species have different advantages on different
  terrain types. This makes it possible for several tree species to survive by
  occupying different niches. Increase the working radius of
  woodcutters/lumberjacks from 8 to 10. This makes it easier to cover large
  areas with a few of them. This is now recommended to keep an area clear of
  trees. (svn:r3591, svn:r3610, svn:r3735, svn:r3786, svn:r3828)
- Forbid immovable programs to have transform commands that replace an
  immovable with one of the same type. (svn:r3647)
- Get rid of line numbers in immovable programs. (svn:r3591)
- In the worker list window of productionsites; if a worker is missing, show
  "(vacant)" if the request for it is open and "(coming)" if the request is in
  transfer. (svn:r3591)
- Create a few different player initializations and allow choosing one for each
  player when the game is configured. The default initialization is a
  headquarters with the usual set of wares/workers/soldiers, so the default
  behaviour is unchanged. There is another player initialization called
  castle_village that creates a castle (or citadell, depending on tribe) and a
  village around it with a warehouse loaded with some wares/workers/soldiers
  and some basic production and training buildings. (svn:r3629)
- Do not automatically create a headquarters for each player in scenarios. This
  must now be done explicitly with events. Change the existing scenarios
  accordingly (and use new headquarter graphics in some of them). (svn:r3591,
  svn:r3617, svn:r3737, svn:r4249, svn:r4299)
- Implemented logic for finding a suitable location for a building that will be
  created with an event. (svn:r3629)
- When a warehouse is created through an event, allow configuring exactly how
  many of each type of ware, worker and soldier that should be created with the
  warehouse. (svn:r3591)
- When a productionsite is created through an event, allow configuring exactly
  which of the wares and workers that should be created with the
  productionsite. (svn:r3591, svn:r3630)
- When a military-/trainingsite is created through an event, allow configuring
  exactly how many soldiers at each combination of strength levels that should
  be created with the site. (svn:r3628, svn:r3629)
- The builder does no longer enter the building and see the surroundings for a
  moment when he has completed the construction. Instead he leaves directly.
  (svn:r3590)
- Added new portrait pictures for the campaign maps (svn:r3581, svn:r3632)
- Allow multiple AI implementations (svn:r3574)
- Implement a debug console and add a "switchplayer" command (svn:r3573,
  svn:r4370, svn:r4371)
- Fix bug that the back buttons in the campaign selection UI had the wrong
  background. (svn:r3619)
- Improvements of full screen menu UI (svn:r3579, svn:r3581)
   * Make fullscreen menus dynamic resizable. Now the menus use the same
     resolution as the whole game. Still the resolution must be saved in the
     config, so it is not yet possible to resize via mouse.
   * Clean up menu design, make some menus more straight and intuitive and
     follow the same alignment in similar menus.
   * Add note to intro screen, so players are not confused anymore, whether
     Widelands is still loading.
   * Introduce config option and commandline parameter "ui_font". This option
     allows the user, to use a different font in the fullscreen menus, which
     can be quite important if the resolution is very low and the serif font is
     nearly unreadable. Besides a path to a TTF file relative to
     <widelands-data>/fonts/ the values "sans" and "serif" are accepted. If an
     invalid parameter was given Widelands falls back to UI_FONT_NAME.
- Made the minimap remember its display options during the session (svn:r3572)
- Implemented generation of browsable HTML from game data. (svn:r3548)
- Made it possible to define a default target quantity for a ware type and set
  target quantities in the game. (svn:r3543)
- Made Ctrl+S bring up the save game dialog in both gameplay and replay. Added
  save button in replay watcher. (svn:r3542)
- Fixed Trigger_Time (and replaced Trigger_Null with it). Introduced
  Event_Set_Timer. (svn:r3541, svn:r4485)

## Build 13
- Count casualties/kills, military/civilian buildings lost/defeated and present
  them in the general statistics menu (except for civilian buildings defeated,
  which is omitted from the user interface) (svn:r3395, svn:r3407).
- Improved map options menu (svn:r3328).
- Improved progresswindow use and added new loading screens (svn:r3249,
  svn:r3253, svn:r3275, svn:r3315, svn:r3316).
- Added menu for editor to the mainmenu (svn:r3248).
- Improved save game dialog (svn:r3185, svn:r3189).
- Improved mapselect and launchgame menu (svn:r3243, svn:r3246, svn:r3247,
  svn:r3283, svn:r3290).
- Improved ingame UI (svn:r3224).
- Implemented "/me" command for multiplayer chat (svn:r3223).
- Improved multiplayermenu (svn:r3218, svn:r3260, svn:r3261, svn:r3288,
  svn:r3289).
- Improved optionsmenu and added possibility to set autosave interval
  (svn:r3215).
- Implemented option for maximum FPS to reduce CPU-usage (svn:r3210, svn:r3213,
  svn:r3214, svn:r3215, svn:r3220).
- Improved editor new map dialog (svn:r3172, svn:r3331).
- Make automatic roadbuilding mode after creation of non-connected flag
  optional (svn:r3177).
- Improved production program handling (svn:r3373, svn:r3384):
   * Eliminate the need for line numbers in the programs.
   * Fix bug that the consume command required that all wares in a
     consume-group must be of the same type. For example the command "2=consume
     smoked_fish,smoked_meat 2" required 2 smoked_fish or 2 smoked_meat. Now it
     will also work if there is only one of each.
   * Change the syntax of a consume-group to ware1[,ware2[,...]][:quantitiy]
     (for example "smoked_fish,smoked_meat:2").
   * Extend the consume command to take any number of consume-groups (for
     example smoked_fish,smoked_meat:2 bread:2"). This means that unless all
     consume-groups can be satisfied, nothing is consumed when the command
     fails. This will fix many bugs in the game data where programs had for
     example "2=consume smoked_fish,smoked_meat 2" and "3=consume bread 2". If
     there was not 2 bread, it would consume 2 smoked_fish or 2 smoked_meat and
     then fail.
   * Get rid of the command check. It was only a work-around for the previously
     deficient command consume (and some programs forgot to use it).
   * Implement the new command return. It can return from a program. There are
     3 different return values; Failed, Completed and Skipped. Only programs
     returning Failed and Completed will affect statistics. A program that
     reaches the end will be considered to have implicitly returned Completed.
     The return command can optionally take a condition. Currently only two
     conditions are supported; "economy needs ware_type" and "workers need
     experience". The former will allow a program to have a command
     "return=skipped unless economy needs marblecolumn". It will prevent Game
     Over as a result of a production deadlock on marble when a user forgets to
     turn off a stonemason for a while. This fixes the huge problem with
     production deadlocks that hit every new player in their first games and
     every experienced player once in a while. The condition makes a query to
     the economy, which now simply checks if there is no warehouse supplies the
     ware type. This can of course be made much smarter later. The latter is
     used in the barbarian micro-brewery to let it practice making beer until
     the brewer has become a master_brewer even if the economy does not need
     any beer.
   * Extend the produce command to take any number of ware types with
     quantities.
   * Fix the call command to validate that the called program exists. This
     requires changing declaration order in some data files (for example if
     "work" calls "seed", "program=seed" must come before "program=work" in the
     "global" section of the productionsite definition. (However the definition
     order of the programs does not matter.) This fixes the bug that a call
     command may fail at run-time because the called program does not exist.
   * Extend the call command with an optional error handling specification
     (call=<program_name> [on failure {ignore|repeat|fail}]). It will make it
     possible to ignore a failure of a called program and continue the calling
     program, or repeat the failed program until it succeeds.
   * Extend the sleep and animate commands. If no duration is given as the last
     parameter, the return value from a previous action is used for duration.
     This makes it possible to for example let the mining command calculate how
     long the following sleep/animation should last, depending on ore
     concentration and mining depth.
   * Get rid of the set command and the associated catch and nostats flags.
   * Fix the mine command to parse and validate its parameters at parse-time
     instead of at run-time. This fixes the bug that the game engine could fail
     with the message "Should mine resource <resource_type>, which does not
     exist in world. Tribe is not compatible with world!!" at run-time the
     first time a mining command is executed.
   * Fix most other commands that had insufficient validation or did parsing at
     run-time (for example the consume command reparsed its wares at each
     execution).
   * Optimize the parsing by eliminating needless string copying.
- Rename the building property "enhance_to" to "enhancement" and validate that
  the given building type exists (svn:r3373).
- Improved editor handling of bobs and animals, so they can not be placed on
  invalid locations (svn:r3319, svn:r3321).
- Implemented loading of savegames in multi player (svn:r3266, svn:r3270,
  svn:r3271)
- Only allow attacking seen buildings (svn:r3173).
- Improved computer player behaviour (svn:r3209).
- Update and cleanup of tribes economies (svn:r3202, svn:r3203, svn:r3204,
  svn:r3205, svn:r3206, svn:r3207, svn:r3211, svn:r3237, svn:r3239, svn:r3241,
  svn:r3257, svn:r3258, svn:r3269, svn:r3272, svn:r3294, svn:r3307).
- Introduced automatic update of Campaign-list via campaign-menu (svn:r3197,
  svn:r3198).
- Added a new in game song
- Added global objects usable in every world (svn:r3308, svn:r3310, svn:r3311).
- Added 12 new maps (9 from map contest) (svn:r3226, svn:r3298, svn:r3305).
- Added atlantean building graphics (svn:r3278, svn:r3295, svn:r3300,
  svn:r3309, and many more).
- Added a lot of new sounds and integrated them in the game (svn:r3231,
  svn:r3232, svn:r3415, svn:r3419, svn:r3439).
- Rework of campaign missions (svn:r3228, svn:r3233, svn:r3236, svn:r3242).
- Fix bugs in parsing of building types's buildcosts and inputs. Check that the
  ware types exist and are not duplicated and that the quantities are within
  range (svn:r3373).
- Fix bug in parsing of productionsite types' outputs. Check that the ware
  types exist and are not duplicated (svn:r3373).
- Fix bugs in parsing of productionsite types', critter_bob types' and worker
  types' programs. If a program was declared twice, it was parsed twice and the
  memory used to store the first instance was leaked (svn:r3373).
- Fixed bugs with drop-soldier commands: If such a command was given and then
  the game was saved before the command was executed (because the game was
  paused), the command was saved incorrectly (svn:r3451, svn:r3456). And even
  if the savegame would have had such a command correctly saved, the loading
  code would not have recognized it (svn:r3456).
- Removed the trainingsite options window. The "Make heros" button was
  suspected of being able to cause desync in network games (svn:r3452).
- Fixed bugs that attack, change-soldier-capacity and set-ware-priority
  commands were not recognized when encountered in savegames (svn:r3454,
  svn:r3456, svn:r3455).
- Fixed bug that set-ware-priority commands were saved as enhance-building
  commands (svn:r3455).
- Change game rule: Forbid upgrading any building to any type of building. Only
  allow upgrading to one of the defined enhancements. This is the behaviour
  that was intended and that the user interface obeys. Now also the game logic
  enforces it. This prevents users from circumventing the user interface and do
  arbitrary building upgrades, which other players may consider cheating in a
  network game (svn:r3457).
- Fix program crash (or worse) when a worker type was declared to have an
  ingredient that had not been defined (svn:r3459).
- Forbid declaring that a building can be enhanced to its own type or the
  special type constructionsite (svn:r3460, svn:r3461).
- Do not let the constructionsite crash the game if a building type did not
  define a build animation. Use the idle animation instead (svn:r3462).
- Do not crash because of division by 0 when building a building without
  buildcost (svn:r3462).
- When building a building without buildcost, complete it immediately instead
  of never (svn:r3462).
- Check for mine and size mismatch when parsing building enhancement
  definitions. This prevents crashes at run-time (svn:r3463).
- Fixed bug #1792379 - little trees set with editor do not grow (svn:r3317).
- Fixed bug #1913902 - collosseum now trains evade 0 and 1 (svn:r3303).
- Fixed bug that upgraded worker were used in buildings instead of training new
  simple ones (svn:r3304).
- Fixed crossplatform network bug (win32 path on unix) (svn:r3293, svn:r3427,
  svn:r3429).
- Fixed disk_filesystem handling on win32(svn:r3284, svn:r3285, svn:r3286,
  svn:r3287, svn:r3291).
- Fixed strange, unwanted behaviour of multilined editboxes (svn:r3281,
  svn:r3282).
- Fixed loading of settlers 2 maps in widelands (svn:r3234, svn:r3235,
  svn:r3238, svn:r3250).
- Fixed bug that caused segmentation fault when executing./widelands
  --editor=nonexistent_file (svn:r3335).
- Fixed bug that caused segmentation fault when executing./widelands
  --scenario=nonexistent_file (svn:r3336).
- Fixed bug that caused invalid use of uninitialized memory when an animation
  configuration defined playercolor=true but a mask file was missing
  (svn:r3347).
- Fixed bug #1968196 - Scenario-maps are not loaded as one (svn:r3227).
- Fixed bug #1900477 - Objectives description are not translated and objective
  names are not included in PO templates (svn:r3225, svn:r3229).
- Fixed hotspots of animals (svn:r3170).
- Fixed editor height tool dialogs (svn:r3171).
- Fixed language-settings-menu for Linux - now Widelands sets
  system-language-variable correctly (svn:r3193, svn:r3252, svn:r3262).
- Fixed bug that prevented releasing the last soldier from a trainingsite
  (svn:r3179).
- Fixed memory access errors in the game logic, causing segmentation fault or
  any kind of strange undefined behaviour (svn:r3184, svn:r3365).
- Fixed bug that the game would abort if an attacking soldier could not find a
  path to the target (svn:r3382).
- Fixed memory access error in save game dialog (svn:r3185).
- Fixed many memory access errors when trying to read missing sections in
  configuration files (svn:r3195).
- Fixed bug that the computer player did not check if a planned large building
  would be completely inside his borders (svn:r3191).
- Fixed bugs that the empire wine bush and barbarian flax and reed lived
  forever, blocking the map (svn:r3190, svn:r3527).
- Fixed bug that it was possible to cheat when destroying an enhanceable
  building by first ordering and upgrade and then immediately ordering the
  destruction of the enhancement-constructionsite. This avoided the burning
  phase, which made the space available immediately. (svn:r3513)
- Fixed bug that replay was stopped before all commands had been executed.
  (svn:r3539)


## Build 12
- New feature: Additional scenario event types and trigger types.
- New feature: Flags are automatically placed when holding down Ctrl while
  building a road.
- New feature: Load maps directly into the editor from the command line
  (widelands --editor=<filename>).
- New feature: Navigation in edit boxes.
- New feature: Multiplayer games.
- New and greatly improved animations for a number of workers.
- New animals and new animations for existing animals.
- New singleplayer/multiplayer map.
- New tribe Atlantids.
- Improved the usability of scrollbars, listselects and tables.
- Improvements of Campaign UI (show only revealed campaigns/scenarios).
- Improvements of all single-/multiplayer maps (rebalancing resources).
- Improved the building statistics menu.
- Improved the scenarios to make use of new features.
- Improved the performance of terrain rendering.
- Improved usability of roadbuilding.
- Improved the handling of player colours.
- Improved recovery from bugs during gameplay.
- Improved the battle system.
- Fixed bugs: Several invalid memory accesses, which may have caused random
  bugs, such as [#1508297 (Needed images sometimes not saved with
  game)](http://sourceforge.net/tracker/index.php?func=detail&aid=1508297&group_id=40163&atid=427221).
- Fixed bug: Workers that become fugitives have a higher chance of finding back
  to a warehouse. A flag connected to a warehouse must be close to the worker.
- Fixed bug that the objectives menu was not updated when objectives were
  fulfilled during the game.
- Fixed bug that workers would enter a building before arriving at it (entering
  it when passing the flag in front of the building). This caused the worker to
  start seeing from the building too early.
- Fixed network support for direct IP and LAN games.
- Fixed many gamelogic bugs.
- Removed support for GGZ. Please use the forums and IRC channel to meet for
  multiplayer games.
- Many other bugfixes, optimizations and cleanups.

## Build 11
- New feature: Game Tips during loading
- New feature: Progress message windows (Loading-screens)
- New feature: Fog of war
- New feature: Autosave (and emergency-save)
- New feature: Visible Range for bobs and buildings
- New feature: Replay-function
- New feature: volume-sliders for sound and music
- New animations for animals
- New animations for bobs (few trees are falling after they are choped)
- Improvements of the transportationsystem (f.e. ware priority-buttons)
- Improvements of the S2-Map-importation-system.
- Improvements of Multiplayercode.
- Improvements of Campaign UI
- Improvement of "growing tree patch" (seperation of different steps)
- Improvement of single-line-edit-box handling (buttons are not locked anymore)
- Improvement of Ware-image visualisation program.
- Added 2 new multiplayer maps
- Fix of bug 1633431 (Attacking headquarters crashes game.)
- Fix of bug 1451851 (Upgrade building while delievering to/from cause
  crash/hang)
- Fix of bug 1690070 (ware: can not move from building A to B)
- Many other bugfixes


## Build 10
- Addition of new tribe "The Empire"
- Tribe "Barbarians" was completely overhauled
- New blender graphics for the Barbarians and the Empire by bithunter32
- New blender graphics for the Empire by !AlexiaDeath
- Addition of new worlds (Blackland, winterland and desert)
- Addition of few new maps
- Addition of two new Empire-campaign-maps
- Addition of three new ingame music-tracks
- A lot of localization-bugs were fixed and new strings for translation were added.
- Widelands now supports 14 languages (cz_CZ, de_DE, en_EN, es_ES, fi_FI,
  fr_FR, gl_ES, he_HE, hu_HU, nl_NL, pl_PL, ru_RU, sk_SK, sv_SE)
- New feature: Mouse-over-hover-help
- New feature: Tribe ware encyclopedia
- Mousewheel support integrated (textarea)
- Now using new fonts (!FreeSans and !FreeSerif) licensed under GPL
- Battlecode was reworked
- Menu-resolution set to 800x600 (before 640x480) and added new splash
- Work on ingame window-system
- Richtext-handler was overhauled
- A lot of menu texts and alignments were fixed
- A lot of new button-, icon-, background- and campaign-graphics added.
- A lot of code-cleanup
- Bug fixes, bug fixes, bug fixes


## Build 9half
- Updated Campaign Missions
- Added proper localization support (language selectable in options menu)
- Font renderer now renders multiple newlines correctly and in richtext accepts
  <br> as newline
- added localization patch by Josef + beginning of localization
- f now triggers fullscreen ingame
- added new maps from winterwind
- implemented new trigger system. This invalidates every scenario, campaign and
  map.
- save now changes into zip files, added option nozip for debugging reasons
- save changed to save into directory
- added trigger conditionals
- Patch to fix graphic problems:
   * Alpha instead of clrkey
   * Fixed all bugs with !MacOSx
   * Caching landscape renderer speeds things up
- Sound patch + Music
- RTF Renderer
- show workarea preview
- new font renderer


## Build 9
- Chat for multiplayer
- Global Stock, Menu structure reworked
- General statistics menu
- Building statistics menu
- Ware Statistics Menu
- Minor changes in barbarians conf files (Descnames mainly)
- added road textures
- Initial Version of game server. Only chatting.
- First version of barbarians tribe comitted
- Added training site/military patch by Raul Ferriz
- fixed "Worker Type 11 not found" bug
- new Tree Graphics from Wolfgang Weidner
- Added patch from Florian Falkner
   * new Option Dialog UIListselect can have now a selection-indicator
     !WatchWindow
   * functionality is user selectable
- Windows can be minimized (middle mouse or Ctrl+left mouse)
- fixed crash when using 32-bit fullscreen mode under win32


## Build 8
- some UI ergonomics (new mapselect dialog,
  double click function in listselects)
- resources and default resources support
- loading/saving of maps
- preliminary TT-Font support
- enhancing buildings support
- build animation support
- editor events/trigger
- editor player menu
- editor bob tool


## Build 7
- many new buildings
- improved in-game graphics
- improved in-game UI
- movement speed depends on slope of terrain
- improved watch window functionality
- improved the transport system
- added a 32 bit software renderer
- improved rendering quality
- added infrastructure for real-time in-game debugging and inspection
- various code cleanups and bug fixes


## Build 6
- graphics reworked
- added functionality for the first few buildings
- reworked transport code
- added multiselect option for editor's set texture tool


## Build 5
- added Immovable Tool in editor
- added Map_Loader support
- added support for multifield-fieldsels (for editor and to select areas)
- added height tools in the editor
- added item ware code
- added ware transportation (carriers stay on roads and can carry wares)
- construction sites are implemented
- added support for more (and most importantly: compressed) graphics formats


## Build 4
- added Warehouse options window
- added ware requests


## Build 3
- added !DirAnimations for convenience
- added Economy code
- added record/playback code
- added wares code
- added worker code
- use different background images for different menus


## Build 2
- options handling redesigned
- introduced System
- added keyboard input
- build symbols react to objects now (can not build next to stones etc...)
- only use 8 different types of trees (like Settlers 2)
- unique windows now remember their position
- improved fieldaction mouse placement for fast click-through
- new structure for tribe data
- new terrain textures
- added "fps" key to animations
- renderer uses player colors
- added flags
- added road building
- split of moving and non-moving objects in hierarchy


## Build 1
* First release

