Version 1.16.0
Campaigns
* Sceptre of Fire
* S06: Fix some WML variable handling causing autodefeat in S06 or rune-equip bugs in a later scenario
* Under the Burning Suns
* S05: Avoid village just taken by the player being re-assigned to the enemy
Lua API
* Fixed `wesnoth.audio.volume = N` always setting volume to 0.
Translations
* Updated translations: British English, Czech, Finnish, Italian, Japanese, Portuguese (Brazil), Spanish.
User interface
* Don't display the locale API identifier on the Language button.
Miscellaneous and Bug Fixes
* Fix the engine exiting immediately due to a corrupt .mo file
* When showing [message] with [options] but no default, highlight the first one
* Ensure that [modify_unit] has some expected side-effects of unstoring a unit
Version 1.15.18
Campaigns
* Northern Rebirth
* Give Eryssa’s side a consistent team color
* The Rise of Wesnoth
* Remove time-runs-out lose condition for final scenario
* Under the Burning Suns
* Avoid a few possibilities where the Dust Devil could speak
* Avoid dehydration status icon persisting into the next scenario
Editor
* Avoid rare crash situation after editing scenarios
Translations
* Updated translations: British English, Bulgarian, Czech, French, Italian, Portuguese (Brazil), Russian, Spanish.
* gettext plural forms now have caret prefixes stripped as well.
User interface
* Steam cloud file is no longer listed in the Load Game dialog.
* Redefine green text in dialogs and tool-tips so they are no longer ‘too dark’ with recent Pango versions
* Gave the main menu's Language button a label again, now displaying the current language.
* Tweaked margins around the main menu's bottom row.
* Difficulty no longer displayed in the Load Game dialog when it is not relevant to a save file
Miscellaneous and Bug Fixes
* Correct unit display adjustments on certain tiles when at zoom level other than 100%
Version 1.15.17
Campaigns
* World Conquest is re-enabled.
Translations
* Updated translations: British English, Polish
Miscellaneous and Bug Fixes
* Messenger MAI: fixed bug of own units sometimes blocking the path to a waypoint for the messenger
* A bug that would corrupt WML sent to the multiplayer and add-ons server was fixed.
Version 1.15.16
Campaigns
* Liberty
* S06: Enforce failure condition for allied team
* The South Guard
* S8b: Reduced difficulty
* Tutorial
* S01: Don't let the first Quintain chase the player to a village
* S01: Synchronise the choice of character dialog, so that replays don't get OOS
* S01: Fix some glitches on HDPI displays
* Secrets of the Ancients
* Synchronise the walking corpse recruitment dialog, so that replays don't get OOS
* Under the Burning Suns
* S09: Reveal the boss of the scenario at the end of part 1
* World Conquest
* Add campaign icons, campaign image and credits
* Update to new mushroom terrain from the deprecated mushroom terrain
Multiplayer
* If an add-on needs to be installed on all players' devices but doesn't specify a min version, assume it needs the latest
Terrain
* Fix transition between snowy mountains and castles
Translations
* Updated translations: British English, Chinese (Traditional), Czech, Finnish, French, Indonesian, Italian, Polish, Portuguese (Brazil), Russian, Turkish
Units
* Added and improved Naga animations
* Added Troll defense animations
User interface
* The names of the abilities used as specials appear in the attack prediction window with specials weapons
* In the Load Game dialog, list directories from previous versions in decending order
* Refined design of the Faction Select screen
* Made the campaign selection on bigger on HDPI screens
Miscellaneous and Bug Fixes
* Added a timeout when connecting to the wesnothd server
* Improved logging of deprecation messages, fixing duplication and missing timestamps
* Added `[era]` attributes to the schema
* Added to wmllint an automatic update of four terrain-graphics macros
* Removed wmllint's check for spaces in e-mail addresses
* Standardised the date line of copyright statements, and updated them to 2021
Version 1.15.15
Translations
* Updated translations: British English, Bulgarian, Chinese (Traditional), Czech, Italian, Portuguese (Brazil), Russian, Spanish, Turkish
User interface
* Added a prompt to allow migrating settings and redownloading add-ons used in a previous version of Wesnoth when starting a new versions for the first time.
Miscellaneous and Bug Fixes
* Fixed: keyboard input during the loading screen intermittently caused a crash
* AI: fixed custom synced commands not changing the game state
Version 1.15.14
Add-ons client
* Fixed: using the versions drop-down in small-screen mode returned to the title screen
* Fixed: keyboard input in small-screen mode returned to the title screen
Campaigns
* A Tale of Two Brothers
* S02: Dialog revisions.
* Sceptre of Fire
* Revisions to the last two scenarios.
* Tutorial
* S02: Mention the acceleration factor preference.
Lua API
* Pathfinding functions are now in a new wesnoth.paths module.
* Pathfinding in map generation now takes an options table as the third argument.
* New sync module that contains functions for multiplayer synchronization
* In particular, wesnoth.synchronize_choice is now wesnoth.sync.evaluate_single
* allow_end_turn and end_turn moved to the wesnoth.interface module
* wesnoth.message is now wesnoth.interface.add_chat_message
* Shroud and fog control are now in the wesnoth.sides module
* Shroud data strings and the special string "all" are no longer supported by place_shroud -
only a list of locations is supported
* wesnoth.map.parse_bitmap transforms a shroud data string into a list of locations
* wesnoth.map.make_bitmap builds a shroud data string from a list of locations
* There are now two different ways of altering shroud: place_shroud merges with existing shroud,
while override_shroud replaces the entire shroud with the new value.
* New schedule module for working with schedules and time areas
* wesnoth.map.get_time_area now returns the area's schedule object
* The global scenario schedule is available as wesnoth.current.schedule
* wesnoth.get_time_of_day is split into wesnoth.schedule.get_time_of_day (ignoring illumination)
and wesnoth.get_illumination (which considers illumination). Both functions now take the location
as the first argument.
* wesnoth.get_max_liminal_bonus() is now wesnoth.current.schedule.liminal_bonus
* wesnoth.replace_schedule is now wesnoth.schedule.replace
* wesnoth.end_level() and wesnoth.get_end_level_data() are now removed - instead, there's
an end_level_data field in wesnoth.scenario.that serves both purposes.
* wesnoth.get_traits() is now wesnoth.game_config.global_traits
* wesnoth.teleport moved to the units module
Multiplayer
* Added Isle of Mists, a new single player or coop survival scenario.
Networking
* Added support for encrypting connection using TLS to multiplayer/addon client/server
* Moved password hashing code from client to server, relying on TLS to avoid sending cleartext passwords
Packaging
Terrain
* Added some great tree variations
* Added 'icy cobbles' (terrain code `Rra`) - mostly useful for the transitions
Translations
* Updated translations: British English, Chinese (Traditional), Czech, Indonesian, Italian, Japanese, Scottish Gaelic, Slovak, Spanish
Units
* Added missing Seahorse graphics
* Revised Jinn (unit config and graphics)
* Fire Wraith added
* added LordBob's Jinn, Fire Guardian, and Fire Wraith portraits
* Moved Naga guardian line from UtBS to core, and made some revisions
* Dune Apothecary experience needed to level up changed from 100 to 65
* Dune Captain experience needed to level up changed from 86 to 75
* Dune Herbalist cost changed form 15 to 14
* Dune Horse Archer experience needed to level up changed form 70 to 65
* Naga Sicarius hp changed form 55 to 53 and melee damage changed form 9 to 6, new special "deflect" added to melee attack
* Fire Guardian can now level into Fire Wraith, experience needed to level up for Fire Guardian changed from 50 to 29
* Revised statistics of all animal horses, Bay Horse can now level into Great Horse
Wesnoth Formula Language
* The use of "side" on units and "owner" on terrain objects is now deprecated.
Instead, you should use "side_number" or "owner_side", respectively.
The old key returns 0 for side 1 and so on, so the new key is preferred.
* A unit object now has a "terrain" key that returns the terrain object the unit is standing on.
* Add new functions tod_bonus() and base_tod_bonus() to get the bonus on a specific location
WML Engine
* add 'unslowable' and 'unpetrifiable' status to immune to slow or petrifies
* Schema validation now checks whether string values are translatable or not, according to what the
schema specifies.
* Fix schema validation rejecting Lua AI goals
* Unit special notes are now read directly from weapon specials, abilities, and a few other places, meaning
the `[special_note]` tag is usually not required in `[unit]` or `[unit_type]`.
* A warning is now displayed when the next scenario is unknown.
* Changed the default duration for `[print]` to 5000 milliseconds, and added support for `duration=unlimited`.
Miscellaneous and Bug Fixes
* The unit description tooltip in the sidebar now includes the text from `[special_note]`s.
* Added a collection of item images
* AI: fixed crash when using attacks aspect with invalidate_on_gamestate_change=no
* AI: fixed crash when using custom_synced_commands
* Micro AIs: fixed unit variables getting lost when continuing from replay
* Fixed AI state initialization problem after reloading
Version 1.15.13
Add-ons client
* The details panel now shows the list of tags in each add-on.
* Added a filter based on tags.
Lua API
* Added `pango_color` to the `wesnoth.colors` table, for easy use in formatted text.
* Add new function `filesystem.resolve_asset` to convert `[binary_path]` relative paths to data-relative paths.
* Add new function `filesystem.have_asset` which can determine if an image or sound exists.
* `wesnoth.have_file`, `wesnoth.read_file`, `wesnoth.image_size` moved to new `filesystem` library
* Add a more advanced way of manipulating version strings via `wesnoth.version` constructor function.
* Add a `wesnoth.scenario` data module that consolidates everything there is to know about the current scenario. Much of this information was previously available through `wesnoth.game_config`, but there are some new details too.
* Fixed a regression introduced in 1.15.5 causing GUI2 widgets set to a hidden state to remain visible but not able to be interacted with.
* Fixed a regression introduced in 1.15.5 causing GUI2 listboxes to break when cleared and re-filled under certain circumstances.
Packaging
* Increased minimum required version of SDL to 2.0.8.
Translations
* Updated translations: British English, Czech, Dutch, Italian, Russian.
Units
* Horses added
* Seahorse added
* Zombie horse variation added
* Update piglet/boar graphics
User interface
* The multiplayer "turns over" dialog now uses each team's colors when showing teams' names.
WML Engine
* Modify implementation of overwrite_specials attribute for replace yes/no parameter by none/one_side/both_sides and select abilities used like weapons and specials who must be overwrited(owned by fighter where special applied or both)
* Add a `ability_id_active` attribute to `[filter]`
* `[terrain_mask]` now accepts `mask_file` as an alternative to an inline mask. The file is loaded from the same place as `map_file` in the `[scenario]` tag (ie, a maps/ subdirectory of your binary path). Anyone who prefers to keep masks separate from regular maps is free to make a subdirectory for their masks (or just keep all their masks inline).
* `[effect]apply_to=movement` now always affects vision too, except when given the `apply_to_vision=no` attribute
Miscellaneous and Bug Fixes
* More optimization in the UI drawing code, fixes the crash displaying the full credits.
* Made GUI.pyw compatible with Python 3.9.
* Removed workarounds for bugs affecting older SDL 2.0 versions, including an extra copy of the game screen made during gamemap scrolling.
* FPS values calculated when the :fps or :benchmark are now written to a file which can then be used to track FPS values over time.
* Removed old image optimisation scripts, as there's a rewrite in Python.
Version 1.15.12
Add-ons client
* When uploading or deleting an add-on, the game will now prompt for the required password if it is not present in the `_server.pbl` file.
AI
* Improved AI decisions about whether an attack with poison is better than one with higher direct damage.
* Added options to the Patrol Micro AI on whether to notice invisible units, and on attack range.
* Added a `[filter]` option to the Swarm Micro AI.
* Replaced several uses of Formula AIs with Micro AIs, and removed Formula AIs from demo scenarios.
* Removed experimental MP dev Formula AIs.
* Fixed a crash in the Lurker Formula AI.
Campaigns
* Descent into Darkness
* Buffed Malin.
* Eastern Invasion
* Dialogue changes in S07b.
* Legend of Wesmere
* S16: Replaced the Patrol Formula AI with the Patrol Micro AI.
* Secrets of the Ancients
* Reimplemented the zombie recruitment UI.
* The Rise of Wesnoth
* Balance changes.
* The South Guard
* Fix the new ally's upkeep when choosing the bandit branch.
* Tutorial
* Reimplemented the character-choice UI.
* Under the Burning Suns
* In S01, fixed one of the mystics spawning in the lake.
Lua API
* Fix issues with the wesnoth.map module.
Multiplayer
* Dark Forecast
* Difficulty rebalanced so that two-player-mode is hard rather than impossible.
* The weather now changes on side 1's turn instead of side 3's turn.
* World Conquest
* Many bugs have been fixed, however WC is still hidden while more bugs are fixed.
* Converted GUI2 dialogs to WML.
* Fixed an error in the destruction mechanic.
Packaging
* Removed the obsolete FindSDL2_ttf cmake module.
Terrain
* Improved transition between human castle ruins and sunken ruins.
Translations
* Updated translations: Chinese (Traditional), Czech, Italian.
Units
* New rock scorpion monster and scorpion zombie variation.
* Rename tusker/gorer references to boars and piglets, to avoid stepping on existing UMC.
* Dune Blademaster gold cost changed from 52 to 57.
* Dune Captain alignment changed from liminal to lawful.
* Dune Cataphract gold cost changed from 61 to 62.
* Dune Firetrooper gold cost changed from 50 to 41.
* Dune Harrier gold cost changed from 46 to 47.
* Dune Luminary gold cost changed from 53 to 38.
* Dune Maruder gold cost changed from 52 to 60.
* Dune Sky Hunter gold cost changed from 47 to 51.
* Dune Spearmaster gold cost changed from 51 to 57.
* Dune Wayfarer gold cost changed from 52 to 55.
* Dune Windbolt gold cost changed from 50 to 49.
* Dune Warmaster gold cost changed from 56 to 57, hp changed from 57 to 59, alignment changed from liminal to lawful.
* Naga Ophidian gold cost changed from 24 to 22, melee damage changed from 7 to 6, ranged damage changed from 10 to 12.
* Naga Ringcaster gold cost changed from 24 to 22.
* Naga Sicarus gold cost changed from 48 to 46, melee damage changed from 10 to 9, ranged damage changed from 12 to 13.
* Naga Zephyr gold cost changed from 50 to 46.
* Wose Sapling gold cost changed from 10 to 11.
* Wose Shaman gold cost changed from 40 to 27, movement points changed from 3 to 4, melee damage changed from 9 to 12, ranged damage changed from 10 to 11, hp changed from 50 to 56.
* Horned Scarab gold cost changed from 12 to 11.
* Fixed the Walking Corpses of some river creatures having poor movement in deep water.
* New descriptions for the Fire Ant, Roc and Sand Scuttler.
* Fixed the Giant Scorpion having an empty variation name.
User interface
* Improved the attack dialog's recommendation about whether an attack with poison is better than one with higher direct damage.
* Added logs folder path to the Game Version dialog on Windows.
* Added built-in Lua engine version to the Game Version dialog and `--report`.
* Made Accelerated Speed toggle announcement not stackable over itself or other announcements.
* Minor adjustments to the sidebar's minimap area in the default game theme to reclaim empty and uneven space back. Note that this WILL break custom WML themes that use the same sidebar graphics as the default theme.
* Minor adjustment to the placement of numerals on the debug clock.
* Players now receive an error message when attempting to save games using illegal file names.
* Fixed text labels containing only a single link becoming empty.
* Separated floating labels' duration from the speed of their eventual fade-out.
* Fixed font family leakage from GUI2 canvases to GUI1 elements such as the in-game chat overlay.
WML Engine
* In development builds, deprecation warnings are now shown in-game by default.
* Conditional WML's `[variable]` tag now expects exactly one comparison, and will warn if given none or multiple tests.
* `[store_reachable_locations]range=vision` now calculates vision, instead of using movement costs and max movement points.
Miscellaneous and Bug Fixes
* Fixed units with max movement set to zero being given one max movement point by `[unstore_unit]` or when loading a saved game.
* Fixed an intermittent crash on the loading screen.
* wmlunits (units.wesnoth.org) no longer incorrectly assumes that units with movement costs equal to their maximum movement can't move into the affected terrains.
* Fixed a bug where log domains' severity could accidentally be reduced.
* Changed the verbosity and error-handling of the `run_wml_tests` script.
* Made `run_wml_tests` automatically skip tests which need strict mode when running without strict mode.
* Made optimizations in the UI drawing code, these shouldn't have visible effects.
* Optimized the command-line `wesnoth_addon_manager` tool.
Version 1.14.17
Translations
* Updated translations: British English, Chinese (Traditional), Czech, Dutch, Indonesian, Italian, Japanese, Portuguese (Brazil), Scottish Gaelic, Spanish
Miscellaneous and Bug Fixes
* Fixed an intermittent crash on the loading screen
* Made GUI.pyw compatible with Python 3.9.
* AI: fixed crash when using custom_synced_commands
Version 1.14.16
AI
* Experimental AI: fixed a bug identifying hexes next to healers as healing locations
* Goto Micro AI:
* Fixed bug when the avoid_enemies parameter is set to very small values
* Fixed rare bug with blocked paths when ignoring enemies
* Protect Unit Micro AI: fixed bug when a unit is not on the AI side
* Multipack Wolves Micro AI: fixed error when a wolf is fully surrounded
Campaigns
* Dead Water:
* Fix some characters’ names, which hadn’t been marked as translatable.
* Son of the Black-Eye:
* S09: Name the enemy team.
* The South Guard:
* S06b: Fix some enemies’ ambush abilities.
Editor
* Re-enabled topics for the terrain editor in the in-game help browser
* Added help topics for the scenario editor’s tools
* Added documentation about the files written by the editor
Translations
* Updated translations: British English, Catalan, Chinese (Traditional), French,
Portuguese (Brazil), Spanish, Turkish
User interface
* Fixed color fringing issues with ClearType on Windows.
* Reduced font sizes for the unit HP/XP/MP/Vision/Defense displays on the sidebar at small resolutions to avoid overlaps.
* Rearranged the unit XP and vision displays on the sidebar to avoid running out of room for the XP display.
* Reduced font size for the ToD counter on the sidebar to avoid it being ellipsized too often.
* Gave the turn timer display the same icon as the system clock display.
* Anchored the Observers icon to the sidebar again in a way that does not allow it to overlap into it.
* Fixed the turn timer/system clock display on the top bar incorrectly using a larger font size at small resolutions.
* Rearranged the Defense display label on the sidebar slightly. It remains invisible in Wesnoth 1.14, however.
Miscellaneous and Bug Fixes
* Added support to wmlxgettext for double-quote characters in translatable raw strings
* Fixed an error message and the AI leader potentially not moving when it cannot reach a keep because it's occupied by an allied unit
* Fixed display zoom not being taken into account when using the `x`, `y`, `directional_x` and `directional_y` attributes in unit animations.
* Fixed `[terrain_defaults]` and `[resistance_defaults]`.
* Fixed an attack prediction assert that happened in rare combinations of the defender slowing and the attacker potentially leveling up, and a specific combination of standard and Monte Carlo attack evaluations
Version 1.14.15
Add-ons client
* Fix potential crashes when working with installed add-ons that have a corrupted _info.cfg file.
Campaigns
* Descent into Darkness:
* S11: fix low probability case of enemy being unreachable
* S11: recall ghosts if available and ensure the player gets one level 2 ghost.
* Eastern Invasion:
* S03: fix the initial keep being blocked at the start
Translations
* Updated translations: British English, Catalan, Czech, French, German, Italian,
Japanese, Polish, Portuguese (Brazil), Russian, Turkish
User interface
* Fixed formatting of hyperlinks when the same URL appears more than once in a block of text
Miscellaneous and Bug Fixes
* Fixed a rare issue on Windows that could result in wesnoth.exe sticking around waiting for console input after encountering an error despite not being launched with the `--wconsole` option.
* Removed documentation for network proxy-related command line options previously removed in version 1.13.1 along with libana.
Version 1.14.14
Add-ons client
* Add-on titles and descriptions translated to the current language are used when available.
The original English title is displayed in the UI and considered for search purposes in addition
to translations.
Add-ons server
* Made it possible to provide translations for add-on titles and descriptions at upload
time in the .pbl. Only clients running 1.14.14/1.15.4 or later can read the
translated values.
Language and i18n
* Updated translations: British English, Catalan, Chinese (Simplified),
Chinese (Traditional), Czech, Esperanto, French, Hungarian, Italian, Polish,
Portuguese (Brazil), Russian, Spanish, Turkish
Multiplayer
* 5p - The Wilderlands:
* Player 5’s units are sorted when cycling through them with the »n« key.
* Map tweaks (changes to some castles & villages, the northern river and embellishments)
User interface
* Do not list nameless abilities in the Abilities and Ability Upgrades lists in unit
descriptions in Help.
* Fixed disabled buttons using the pressed highlight color.
Miscellaneous and bug fixes
* Made wmllint recognize [remove_time_area] in order to avoid spurious warnings about
unit ids.
* Files created by the scenario editor include a boilerplate warning about hand-editing them.
Version 1.14.13
Campaigns
* The South Guard:
* S6b: Fixed enemy units triggering their own ambush events.
Language and i18n
* Updated translations: Chinese (Traditional), French, Portuguese (Brazil), Russian
WML engine
* Fixed OOS issues caused by select events triggered during events.
Miscellaneous and bug fixes
* Fixed a major memory leak in the display code affecting all graphics operations, dating back to
version 1.13.13.
* Include graphics settings and the list of installed add-ons in the Game Version dialog's clipboard
report and the command line --report output.
Version 1.14.12
Add-ons client
* Ensure the client doesn't re-download dependencies that have just been updated during an Update All
run by re-reading add-on versions after each update batch.
Add-ons server
* Don't send restricted attributes at all, rather than sending them as an empty string.
Campaigns
* General:
* Fixed instances of multiple [avoid] tags being used.
* Used more appropriate castle/encampment terrains.
* Descent into Darkness:
* S7: Correctly call Taylor a general.
* S9: Spelling fix.
* S11: Reduced boss difficulty and fixed ghost units not being correctly recalled.
* Heir to the Throne:
* S23: Clarify Bayar's dialogue.
* Northern Rebirth:
* Fixed enemy naga's triggering an event they shouldn't be triggering.
* Son of the Black Eye:
* S15: Fix the scenario not ending despite objectives being met in some circumstances.
* Under the Burning Suns:
* Fixed Sun Shydes dehydrating themselves at night.
* Dehydration only affects the player's side.
Language and i18n
* Updated translations: British English, Czech, Chinese (Traditional), Dutch, Esperanto,
Finnish, French, Hungarian, Italian, Japanese, Polish, Portuguese, Portuguese (Brazil),
Spanish, Swedish.
* Use <game dir>/translations instead of <process working dir>/translations to find core
translation catalogues on Windows.
Packaging
* Fixed an issue when building using scons and --config=force.
* Fixed creating the lockfile in scons when using python 3.
* Significantly improved the macOS packaging instructions.
Units
* Fixed the team color of the berserker idle animation.
* Fixed typo in Troll race description.
* Fixed the Red Mage using the Mage's idle animation.
User interface
* Fixed a crash on certain screen resolutions due to UI element padding not being able to fit.
* Fixed a crash when trying to preview an unplayable map.
Miscellaneous and bug fixes
* Fixed building with the 64-bit Visual Studio projectfiles.
* Added missing side controllers to two Micro AI scenarios
* Experimental AI retreat CA: bug fix for cure-only abilities
* Forest Animals Micro AI: excluded rabbit holes on map border
## Version 1.14.11
### Language and i18n
* Updated translations: Czech, German.
### Packaging
* Fixed data/dist information not being found on many platforms other than Windows (only
with the installer-created shortcut), as well as only the very first word being read instead
of the whole line.
* Added support for systemctl reload.
### Miscellaneous and bug fixes
* Silenced spurious warning about conflicting l10n-track files (issue #4716).
Version 1.14.10
AI
Experimental AI:
Spread poison: bug fix for units ignoring [avoid] tag
Castle switch: bug fix for units-on-keep check
Remove village hunt CA
Add ids for candidate actions
Fix bug crashing some AIs when units with chance-to-hit specials without id are on map
Fast Micro AI: fix re-adding default CAs when deleting the MAI
Bottleneck Defense Micro AI: fix bug of units not participating if too far in front of the bottleneck
Lua AIs: several other minor behind-the-scenes bug fixes
Campaigns
Descent into Darkness:
S1: reduced difficulty
Heir to the Throne:
Modify campaign starting date
Legend of Wesmere:
Fix various date inconsistencies in historical references
Sceptre of Fire:
S1: Fix reference to LoW events
The South Guard:
Change Halidel to be Deoran's great-grandfather
S7b/S8b: reduce enemy gold values and modify dialogue upon allied unit death
Tutorial:
S2: Make the first grunt cross the bridge, otherwise the scenario is too hard
Under the Burning Suns:
Sun Singer and Sun Sylph: modify faerie fire colors
Language and i18n
Updated translations: British English, Chinese (Simplified), Chinese (Traditional), Czech, Dutch, Esperanto, French, German, Italian, Korean, Portuguese (Brazil), Russian, Spanish, Turkish
Fix Rename Unit dialog having untranslated text.
Lua API
wesnoth.deprecate_api was fixed to correctly wrap tables with metatables.
Music and sound effects
Removed accidental silence of two seconds after the first track of each scenario.
Units
Add various new death, standing, and idle animations
User interface
Fixed some severe game rendering issues with SDL 2.0.10.
Draw ellipses during draw/sheath animations.
In the combat dialog and elsewhere, clicking the "Profile" button opens the help on the correct unit variation (e.g., Walking Corpse (Swimmer)).
Ensure enough space to display turn numbers in the hundreds.
The search box in the Campaigns menu now takes campaign abbreviations and descriptions into account.
Added the Private Replay checkbox to the Multiplayer Create Game screen. This separates whether observers are allowed from whether the replay will be publicly available.
In the recruit dialog and recall dialog, units that are too expensive to recruit/recall are grayed out.
Reworked styling of progress bars and the network transfer progress dialog.
Removed "Classic" in-game theme.
Textboxes now have a hover effect as well as an I-beam cursor.
Packaging
The Wesnoth client now looks for the data/dist file when logging into the multiplayer server. This file should contain one of the following values based on what distribution channel the package is for: Default, Steam, SourceForge, Flatpak, macOS App Store, Linux repository, iOS, Android, BSD repository
Miscellaneous and bug fixes
New build-dependency: Python3 is required to run the WML unit tests (on non-Windows)
80% of WML unit tests now run in a batch using a single instance of Wesnoth (non-Windows only)
New help topic outlining common (and less common) reasons for losing a scenario.
Add help text for some debug commands.
Make wmllint recognize [load_resource].
Make wesnoth_addon_manager not generate packet.dump files any more
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
Version 1.14.9
AI:
* Fixed a rare crash in attack prediction
* Experimental AI: fixed guardians being used for village actions
Campaigns
* A Tale of Two Brothers:
* S3: modify castle illumination tip on easy mode
* Dead Water:
* S3: modify starting dialogue
* Descent into Darkness:
* Update campaign description
* Update maps for S1 and S6
* S4: reduce difficulty on easy and normal modes
* S11: reduce difficulty just after Malin turns into lich
* Eastern Invasion:
* S9: add dialogue on victory
* Heir to the Throne:
* Remove 'Princess' as a direct address
* S15, S23: Add explicit hints on EASY.
* S15: Improve one branch of the victory dialog.
* Legend of Wesmere:
* S23: Landar's normal death dialogue now (properly) not used
* Northern Rebirth:
* Remove 'Princess' as a direct address
* Sceptre of Fire:
* S5: tell player that gryphon riders can now be recruited
* S9: objectives changed to be more accurate upon moving to the volcano
* Secrets of the Ancients:
* Fixed number of scenarios in campaign listing
* Son of the Black Eye:
* S10: add dialogue on victory
* The Rise of Wesnoth:
* Tweaked dialogue in various scenarios
* Fixed number of scenarios in campaign listing
* S17a: prevent time over defeat if player chooses to defeat remaining saurians
* The South Guard:
* Update campaign description
* Highlight narrator and gameplay explanations with colors
* S1: create Sir Gerrick if player skips scenario with debug
* S4: revise end of scenario dialogue
* S5: add narrator warning when siding with bandits and reduce difficulty
* S6b: create Urza Afalas if player skips S5 with debug
* S6b: kill elves on side 1 if player got to this scenario with debug
* S8b: fixed bug with shifted ToD schedules near campfires
* Under the Burning Suns:
* Various bugfixes (objectives, allied vision, unit spawns, event firing)
* Updated various maps
* Add additional animations to cutscenes and events
* S2: add dehydration explanation to objectives
Graphics
* Own portraits for higher level bats
* New Water Serpent and Cuttlefish portrait
* New Wolf, Great Wolf and Direwolf portraits
* Additional wolf/dog portrait for custom units
* Separate Mudcrawler portrait
* New Walking Corpse portrait for mounted variation
Language and i18n
* Updated translations: British English, Chinese (Traditional), Czech, Dutch,
French, German, Italian, Japanese, Portuguese (Brazil), Russian, Spanish,
Turkish, Ukrainian
* Changed the :help command's output to split over multiple lines
* Added translatable explanations of :droid, :help and :idle's arguments
Multiplayer
* A New Land:
* Help menu can be accessed in any turn and doesn't pause the game
* Bottleneck in the spider's caves removed
* Swapped positions of Gryphon and Drake
* Guards can't be tricked off position, leaders won't destroy buildings
* Guards and Spiders are loyal – AI income has been adjusted accordingly
* AI income increases gradually in lategame (very slowly)
* 5P Wildlands:
* fix default village_gold being too hight, disadvantaging player 5
Packaging
* added HighContrast icon
WML engine
* Fixed [music] ms_after= affecting the previous track instead of the intended one
Miscellaneous and bug fixes
* Update various references of mermen to merfolk or mer
* Adjust several maps to use different castle graphics
* OpenMP support has been removed
* Clarify descriptions of income and upkeep in the help and in tooltips.
Version 1.14.8
* Skipped due to need to reupload a broken 1.14.7 macOS App Store package as 1.14.8
Version 1.14.7
Campaigns
* A Tale of Two Brothers:
* S3: Changed castle to permanent chaotic ToD and rebalanced scenario accordingly
* S4: Added dialogue between Baran and Tairach when they engage in combat
* Dead Water:
* S3: Added event to make Storm Trident more obvious
* Descent into Darkness:
* Complete revision of all dialogue and story text
* Revised and rebalanced gameplay in all scenarios
* S3 and S11: New scenarios completely rewritten from scratch
* Eastern Invasion:
* S1: Removed early finish bonus for fleeing
* S2: Modified Dacyn's dialogue upon undead arrival
* S7a: Require Dacyn to cross the river
* S9: add snow to map
* S10: show objectives after defeating enemy leaders
* S11: show objectives after finding gold and releasing prisoners
* Legend of Wesmere:
* Disabled side shuffling in MP (checking the box does nothing)
* Fixed missing persistent data at the end of chapter 3
* Rebalanced gold values in all scenarios
* S3: remove shroud from enemy sides upon Kalenz's arrival
* S4: (MP only) free Cleodil at scenario start
* Northern Rebirth:
* Eryssa now must survive if she joins the player
* Father Morvin and Sister Thera will now respawn at Tallin's location if they die to prevent illogical gameplay
* Gold in S10-13 is adjusted if Krash is dead
* S1: Spawn 2 Troll Whelps instead of 4 and a normal Troll
* S4: Have Hamel describe Ghouls if Camerin is dead
* S5: Add gates to map instead of images and overlays
* S8: add text and updated objectives when rescuing Eryssa
* S12a: Update objectives to make it clear that gold is not received if Sisal dies
* The Rise of Wesnoth:
* Fixed various typos
* S17c: Modified Burin's description of trolls
* The South Guard:
* Fixed various typos
* Tutorial:
* Remove swamp from map for part 2
* Warn player about water when stepping on any shallow water hex
* Change quintain to level 0
* Allow Konrad and Li'sar to level up and add corresponding dialogue for part 2
* Under the Burning Suns:
* Added embellishments to various maps
Language and i18n
* Updated translations: British English, Chinese (Traditional), Dutch,
French, Italian, Japanese, Lithuanian, Spanish.
Multiplayer
* Dark Forecast: AI units are "discovered" (added to the help if not already known)
* Dark Forecast: fixed bug where additional boss spawns would not occur after the initial wave
Multiplayer server
* Forum user handler ban durations are now reported back to banned players.
Units
* Updated descriptions for Goblin Knight and Wolf Rider
* Add new descriptions for Quenoth faction
User interface
* Add jamming to the vision tooltip in the sidebar.
* Fix undoing a recall not un-drawing parts of the sprite that go beyond the unit's hex
* Fix crash when the recruit filter matched nothing.
* "Show Enemy Moves" now highlights enemy units that can reach the highlighted hex.
* The time of day graphics for midday and midnight have been updated to match the rest of the
summer/winter time of day schedules.
Miscellaneous and bug fixes
* Fix auxiliary attack end event handlers defined by FORCE_CHANCE_TO_HIT breaking if one or more of the
affected units are removed by another attack end event handler
* The statistics dialog no longer forgets to reset stats when using "Reset Replay" ("Stop") in replay
mode or "Back to turn" in networked MP games
Version 1.14.6
AI
Fixed crash when the AI simulates a fight between two units which can slow but aren't yet slowed, then simulates another fight for one of them in Monte Carlo mode.
Experimental AI recruiting: fixed AI crash for unit type with unknown race
Support for modifying the available AIs using cores:
New parameter default_ai_algorithm for setting the default AI
New parameter mp_rank for setting the order in which AIs appear in the MP computer player selection menu
New option "Keep saved AI" when reloading games from the MP Create Game screen. Choosing this option prevents overwriting of the saved AI by the default AI.
Forest Animals Micro AI: fix AI crash when using custom rabbit hole image
Fix Lua AIs using the ai.stopunit_*() functions potentially creating infinite candidate action loops
Campaigns
Dead Water:
- S12: Slightly rebalanced enemy reinforcements and ai gold
Descent Into Darkness:
- Allow converting L3 necromancers to liches from S12 onwards.
- Added an alternative method of completing the campaign.
- S8, S9 (A Small Favor II & III): Clarify objectives.
- S8 (A Small Favor II): Fixed units created via the plague ability not available in S9.
Sceptre of Fire:
- S1&2: increased difficulty
- S6: additional guards for the elves
Secrets of the Ancients:
- S01 Slipping Away: It is now obvious that the wild animals cannot cross the fences.
- S02 Dark Business: Simplify scenario by removing the temporary invisible starting keep.
- S05 Blackwater: Additional dialog from Ardonna at the start.
- S11 Battleground: Ghosts are now able to be recruited after the scenario is complete.
- S15 Mountain Pass: Bird bones moves so bird is easier to keep alive when discovered.
- S21 Against the World: Leader of the elves is now same elf from S12.
- S21 Against the World: Adjustment so player doesn't have to chase down some leaders at the end.
- Proper animation for finding the bird bones.
- Newly made liches will now receive a move point upon transformation if they weren't recalled. this turn and haven't moved yet.
The Hammer of Thursagan
- S12 'The Underlevels': redesigned with completely new map and scenario
Northern Rebirth:
- Fix loyal units obtained in S7 costing upkeep (introduced in 1.14.5)
- S13: Improvement to the AIs
The Rise of Wesnoth:
- S15: victory text is not used upon hero death
- S17d: enemy units are killed upon victory except for bats
- S22: cuttlefish now have the loyal icon
The South Guard:
- Revised scenario and story dialogue.
- Reworked and rebalanced all scenario and map designs.
- Removed S6a 'Tidings Good and Ill'.
Tutorial:
- S2: Wolf riders are not initially recruited, to not hinder the player from reaching the island in time
Language and i18n
Updated translations: British English, Chinese (Simplified), Chinese (Traditional), Czech, French, German, Italian, Japanese, Lithuanian, Russian, Scottish Gaelic, Slovak, Spanish, Ukrainian.
Lua API
Fix wesnoth.set_dialog_callback calling the function immediately when used in the previous callback.
Fix wesnoth.set_dialog_value not triggering re-layout.
wml.tostring() now outputs a string that can be parsed back to WML without loss of data.
Miscellaneous and bug fixes
Fix crash with custom themes on desktop PCs.
Add --campaign-skip-story command line switch for skipping directly to turn 1.
Remove --data option, --data-path has the same functionality.
Fix documentation of --render-image command line switch.
Update manpage with options previously only documented by wesnoth --help.
Fix wrong ordering for BW / BF years, for example in Play a Campaign when sorted by date.
GUI.pyw can now terminate a running maintenance script
Fix SDL_DestroyRenderer assertion failure under XMonad.
Fix map item names not being translated in the scenario editor.
Usernames specified in the MP UI and command line are now stripped of leading and trailing whitespace, including newlines.
Show ability of a selected unit as active/inactive with respect to mouseover hex.
macOS: Wesnoth now uses the app sandboxing feature, which means there is a new location for saves. All saves will be migrated during first launch automatically.
Many units lacking animations now have at least a defense animations
Multiplayer server
Fix stale temporary bans continuing to have an effect on players until cleared by phpBB on the next ban/unban operation.
Packaging
new scons option, intended to be used when building releases inside a git repo: autorevision=False
Fix build with Boost 1.69.
Fix build with Pango 1.43.
User interface
Fix regression: Game Load screen would not select 1.12 savegames.
Fix regression: the in-game "Observers" icon (an eye) was covered by the minimap.
Increase step size when clicking sliders in the MP Create Game dialog.
Fix overlapping top bar elements with small screen resolutions.
Don't scroll to an invisible unit that recruits another invisible unit.
When a recruited unit is fogged, scroll to the recruiting unit and play recruit animation.
Fix line breaks in first statistics line in unit type pages in the help.
Don't scroll to an enemy unit that teleports to or from an invisible hex.
Don't show in the sidebar the time of day schedule of a shrouded hex.
Game Load screen gracefully handles savefiles that can't be parsed.
The sidebar now shows alignment and damages as they would be on the hex under the mouse, rather than at the unit's current location.
When a unit has multiple statuses (slowed/poisoned/invisible/etc), the sidebar shows all of them, not just the first.
Fixed being able to dismiss a game lobby by pressing Esc.
Fixed multiple severe issues in the classic theme.
The "Attack Enemy" dialog now shows inactive weapon specials in gray.
Taking screenshots in title screen is possible again
The "Recruit Unit" dialog is searchable by unit type name.
Add text filter to hotkeys preferences.
Hide leader in status table if it's unfogged but invisible.
macOS: Dark GUI on macOS Mojave and later when dark appearance is enabled.
Version 1.14.5
AI
Fixed crash in AI code when a side has multiple leaders.
Fix AI ignoring teleport locations when moving leader to leader goals.
Fast Micro AI: Fix bug crashing the AI when units with chance-to-hit specials without id are on map.
Campaigns
Heir to the Throne:
S6: Allow canceling an attack when a move+attack spawns enemy units
S6: Change the trigger for spawning undead reinforcements
S17: Add dialog explaining the lava game mechanic and an easter egg
Liberty:
S3: Add story and war drums music.
Northern Rebirth:
S12: empty sides are hidden.
S13: allied leaders whose death causes defeat won't leave their keep and the lich brothers and Krash got more gold.
Sceptre of Fire:
S4: a cave entrance has been added.
S5: Gryphon Riders are now available starting form S5 (formerly S3).
S7: it's now impossible to kill all pursuers.
Secrets of the Ancients:
Fix dialog said by wrong unit & revert previous fix
The Hammer of Thursagan:
S10: Fix objectives requiring too much of the player.
The South Guard:
S2: the case where Deoran is not sent to the Citadel is handled better.
S2: enemy units will no longer neutralize villages instead of capturing or burning them. This also means certain units will no longer be hidden in the Game Stats list.
S4: bodyguards are never spawned next to other units, and always in forest.
S5: zombies have now one castle with two leaders.
S6a: mermen leave after this scenario and will no longer be available.
S7a & S8a: a certain hero may now die.
Tutorial:
Show an undo reminder if one is out of moves, but can't end the turn yet.
Added more information to the Status Table prompt about how to access it
Under the Burning Suns:
New graphics for Eloh.
Multiplayer
A New Land: Fixed village gold being 1 instead of 2.
Fixed Random Start Time not working
Fixed a possible crash when leaving a game as an observer
Fixed Start Game locked when other players abort the faction/leader selection dialog
Fixed Skip Replay when joining MP campaigns.
Fixed OOS errors when undoing after ally chat.
Fixed game freezing upon droiding with Delayed Shroud Updates
Fixed require_scenario and require_era attributes.
Language and i18n
Updated translations: British English, Chinese (Traditional), Czech, French, German, Hungarian, Italian, Japanese, Scottish Gaelic, Ukrainian.
User Interface
On laptop computers we now show how much battery you have left.
MacOS: Fixed moving the mouse with a touchpad also scrolling GUI dialogs.
MacOS: Add build number to OS version report.
Fix layout of Preferences window with some localizations (such as Czech).
Load Game now shows the chosen difficulty with the same name that you originally selected.
Load Game now shows the modifications enabled in the selected savegame
Force leader sprites larger than 72x72 to be downscaled in Load Game
Add left padding to dialog messages shown with a portrait on the right
Addon Manager uses clearer terms for sort order.
Fix reversed sort order by unit level in Unit List and Recall Unit.
Fixed crash in Recall Unit when no units match the filter
WML engine
Fixed [animate_unit] and [heal_unit] preventing unit halo from disappearing if the unit dies later
Miscellaneous and bug fixes
Fix some minor problems with the macOS package.
Fixed crash when trying to attack with a unit without usable weapons
Fixed the debug mode Create Unit dialog crashing when changing the gender of the previous selection after causing the list to come up empty using the filter box.
Allow searching by race and internal unit type id with the Create Unit filter box as well.
wmlxgettext is now included in release packages, so a separate download is no longer required to use it with GUI.pyw.
Fixed crash when pressing Reset replay
Fixed editor cannot add starting location for > 9 players.
Fixed crash in Lua tstring comparision
Fixed objectives at scenario start using old/cached values of conditions/variables
Show an error message when trying to open the Lua console while not in debug mode.
On enemy side's turn, don't scroll to that side's leader if it's invisible.
Fixed :droid ignoring its second argument.
Fixed :droid giving no feedback when successful.
Version 1.14.4
* Security Fixes
* Fixed Lua being able to escape sandboxing via load/loadstring (CVE-2018-1999023).
* Add-ons server
* Made it so plain-text .po catalogues in add-ons are detected and added to
the list of translations for them.
* Campaigns
* Dead Water:
* In 'Tirigaz', take the situation into account of orcs being killed either
first or by undead.
* Delfador's Memoirs:
* Fix hero units costing upkeep
* Eastern Invasion:
* Fixed missing prisoners and loss of recallable units in 'Captured'.
* Northern Rebirth:
* Level 0 units are not available anymore after scenario 5
* Secrets of the Ancients:
* Adjust gender of enemies to better match story in S11 & 21
* Simplify dialog to fix possible confusion in S16
* Have nagas be able to recruit in S21
* The South Guard:
* S4: undead leader won't leave the castle anymore
* S5: the untypical situation that one can defeat the lich before finding
Urza Afalas is now handled
* Under the Burning Suns:
* S11: added custom graphics for the citadel.
* S12: clarified the alien bodies' weaknesses.
* Various visual improvements.
* Editor
* Fixed saving a map as a scenario not enabling scenario editor tools.
* Graphics
* New attack animation for the Peasant.
* Tweaked the Ruffian's attack animation timing.
* Language and i18n
* Updated translations: British English, Bulgarian, Chinese (Simplified),
Chinese (Traditional), Czech, French, German, Hungarian, Japanese,
Scottish Gaelic, Slovak, Spanish
* Lua API
* Upgrade to Lua 5.3.5.
* Multiplayer server
* Fixed lobby and whisper messages not having a maximum length.
* User interface
* Improved the layout of the Statistics dialog.
* Allow changing dropdown menu selections with the scrollwheel.
* Fixed lobby chat box scrolling to top on a new message if it isn't at the
bottom
* Fixed the unit preview pane not showing the default race icon when detailing
a single unit's stats.
* Sort units secondarily by XP in the unit list dialog.
* Whiteboard related bugfixes
* WML engine
* Fixed errors about WESNOTH_VERSION not being defined when trying to load
add-ons that have preprocessor errors.
* Miscellaneous and bug fixes
* Added an advanced preference to enable experimental PRNG combat.
* Campfires use illumination instead of a different ToD.
* Linux builds now enable security hardening by default.
* Fixed MP admins being unable to observe private games.
* Fixed MP faction, leader, and leader gender changes persisting even if the
selection dialog is dismissed.
* Fixed an issue with positioned sound sources ignoring the volume set in
Preferences after going off the audible radius and back.
* Fixed wmllint choking on gzipped binary files (e.g. gzipped tarballs).
* Fixed wmllint crashing on nonexistent paths provided in the command line.
* Slight changes to the objectives dialogue
* Greatly improved touch control support.
* Fixed wmlindent crashing on nonexistent paths provided in the command line
Version 1.14.3
AI
* Fixed crash in presence of units with negative hitpoints (issue 3042).
* Efficiency improvements to filter evaluations in the Goto Micro AI and some
AI helper functions
Campaigns
* Dead Water:
* Fix possibility of villagers blocking pickup of sword in S10 The Flaming
Sword (issue 3207).
* Descent Into Darkness:
* New Parthyn map in S1 and S6.
* Northern Rebirth:
* Reduced starting gold and income in scenarios 10 to 13
* Secrets of the Ancients:
* Fix S09 Training Session not ending when all dark adepts die (issue 3192)
* Tutorial:
* S2: made enemy starting gold equal to that of the player.
* Under the Burning Suns:
* Added portrait and updated sprite for Giant Ant.
Language and i18n
* Updated translations: British English, Chinese (Traditional), Czech, French,
Italian, Japanese, Scottish Gaelic, Spanish
Multiplayer server
* Fixed lan_server option not causing the server to exit once vacated, e.g.
when using the Host Networked Game option from the Multiplayer menu in the
game (issue 3206).
Music and sound effects
* The music now changes immediately when you load a save file (issue 2602).
* Fixed Lua errors when setting a music track that cannot be found when the
playlist is already empty, e.g. if there's no music installed for the
game (issue 3194).
WML engine
* Removed validation to ensure units cannot have negative hitpoints. We
learned that the ability to create such units is documented, and thus
disallowing it was an API change. Since API changes aren't allowed in
the stable branch, we have reverted it.
Miscellaneous and bug fixes
* Fixed an occasional crash at the loading screen related to multi-thread
access of the image cache.
* [kill] animate=yes no longer scrolls to units through fog or shroud, thus
matching 1.12's behavior again.
* [message] displays the unit type name when a nameless unit speaks and no
custom caption= is specified (issue 3211).
* do_not_list=yes units are no longer excluded from the debug mode-only
Create Unit dialog.
* Fixed a rare issue where disabled attacks could cause the wrong attack to
be initially selected in the Unit Attack dialog. This bug also had the
potential to cause units to the wrong attack when engaging or viewing
damage calculations.
* Fixed [scenario] map_file= being unusable in most circumstances.
Version 1.14.2
Campaigns
* Northern Rebirth:
* S02.1 Infested Caves: keep side 8 AI leader from wandering off too far
and ending up on a keep with only one hex for recruiting.
* S02.1 Infested Caves: AIs are less likely to kill each other in early
game, which would make it harder for the player otherwise.
* S02.1 Infested Caves: Dwarvish allies are also less likely to die.
* S02.1 Infested Caves: minor map tweaks and improvements.
* S05 The Pursuit: removed a bottleneck and tweaked Rod of Justice.
* Sceptre of Fire:
* In 'Caverns of Flame', fixed various issues with the volcano eruption.
* Under the Burning Suns:
* Various Quenoth unit graphics updates.
* Descent into Darkness:
* In 'A small Favor', disabled a not intended way to win the scenario.
* Secrets of the Ancients:
* Bats are transformed to normal ones already after S5
Graphics
* Fixed a minor team coloring mistake in the north-facing Revenant standing
animation.
Language and i18n
* Updated translations: British English, Chinese (Simplified), Czech, French,
Galician, German, Italian, Japanese, Scottish Gaelic, Spanish, Ukrainian
User interface
* List boxes (MP lobby game list in particular) now keep the scroll position
when they change, instead of keeping the selected item visible (issue 3016).
* Fixed MP lobby player list scrolling to top when it changes
* Fixed the first unit sometimes not being selected when opening the Recall
dialog.
* Fixed a crash when using very large portraits in [message] (issue 2912)
* Added a button to access the version info dialog to Preferences.
* Removed player list sorting options in the MP lobby. The list is now
automatically sorted alphabetically, friends first.
* Rearranged campaign difficulty menu layout
Terrains
* Removed hidden terrains that were not supposed to make it to 1.14: ^Prg,
^Prgo, ^Pwd, ^Pwdo
Miscellaneous and bug fixes
* Fixed memory leak in terrain filter code. In a huge map with Silver Mages,
it could leak several gigabytes of memory in a long session.
* Fixed: unit halo remained after undoing a recall (issue 3065)
* Fixed: unit halo intensity doubled during AMLA animation
* [change_theme] no longer causes a Lua error when theme= is not specified
instead of explicitly set to an empty string.
* [change_theme] no longer requires running a separate action to update the
UI afterwards (e.g. [redraw]) and the status panels are updated immediately.
as well.
* Lua random map generator: fixed error when flipping map; specifically this
also fixes an assert at the start of HttT S7 (Sceptre of Fire) that had a
50% chance of being triggered
* Experimental AI: fixed recruiting not working on maps without enemies, such
as the first two turns of Dark Forecast
* Experimental AI: fixed recruiting evaluations sometimes not being updated
* Replaced deprecated Lua code and all remaining uses of FOREACH and MESSAGE
macros
* Fixed [color_adjust] interacting poorly with time of day color shifts and
values outside the [-255, 255] range (issue 3144).
* Fixed a regression from 1.13.10 where modification option values couldn't
be properly saved in arrays.
* Added stricter validation to ensure units cannot have negative hitpoints,
except during specific attack-related events.
* Added deprecation notices for several macros that had them missing before.
* [message] no longer scrolls to units through fog or shroud so it matches
1.12's behavior.
* Fixed animation-wide text_color and blend_color keys being overwritten. This
fixes level-in and level-out animations sometimes fading to black instead of
white.
* Fixed [animate_unit] freezing the game when observing MP games (2970).
* Fixed carryover behaving differently when loading a start-of-scenario save
(issue 3152).
* Fixed turn replay function in MP.
* Fixed savegames being created even when not needed (issue 3150).
* Fixed handling of extra_recruit in planning mode (issue 3100).
* Fixed handling of skirmisher in planning mode.
* Fixed handling of filter_recall in planning mode.
* Fixed possible segfault at game end.
* Fixed require_resource in [resource].
* Fixed require_scenario=yes not working with map_generation (issue 3105).
Version 1.14.1
Campaigns
* Eastern Invasion:
* In 'Captured', fixed units incorrectly costing upkeep after leveling up.
* Secrets of the Ancients
* Fixed minor unit naming inconsistencies (issues 2844 and 2846).
* Under the Burning Suns
* Added custom graphics for the broken tree in S1.
* Various sprite and image updates.
* Fixed a bug in the formation ability causing defense bonuses not being
received in some cases.
Language and i18n
* Updated translations: British English, Chinese (Simplified), Czech, French,
Galician, German, Italian, Japanese, Scottish Gaelic, Slovak, Spanish
* Fixed Logging Options tooltips not being translatable (issue 2837).
* Add command-line argument to disable the filtering of incomplete translations
in the language selection list.
Multiplayer server
* Added support for matching user, IP, and email bans from a forums board
when the forum_user_handler is enabled and active. (IP and email bans with
wildcards are not supported yet.)
* Fixed various instances of the server crashing under certain conditions.
Performance
* Added an option to disable the FPS limiter for a slight performance boost.
Units
* Changed the plural name for the merfolk race from Mermen to Merfolk (issue 2940)
and replaced a few instances in core unit or terrain descriptions accordingly.
User interface
* Removed individual Join/Observe buttons for each game in the MP Lobby.
* Highlight the titles of MP games with vacant slots.
* Improved MP Lobby layout on low resolutions.
* Improved reporting of network errors in the MP lobby (issue 3005).
* Ensure the chat widget remains the correct size even after a window resize.
* Custom MP game names are now capped at 50 characters.
* Restored Era info to main MP game display.
* Improved the resolution selection criteria for the MP Lobby.
* Fixed inactive weapon specials being displayed in the Unit Attack dialog
unlike in 1.12 (issue 3033).
Miscellaneous and bug fixes
* Removed misleading tooltip text stating registered nicknames are optional for
the official MP server.
* Attempting to save a screenshot with an unsupported format now shows an error
message, instead of saving the screenshot as BMP with the requested extension.
* It is now possible to disable logdomains in the Logging Options dialog.
* Fixed the wesnoth(6) manpage claiming the default log level is 'error' when it
has been 'warning' since version 1.9.0.
* Document --log-none in the wesnoth(6) manpage.
* Avoid trying to load invalid base64-encoded data URIs.
* wesnoth_addon_manager and the addons.wesnoth.org web index can now use data URIs.
* Fixed a crash when using certain invalid color= values.
* Implemented a workaround for an unhandled std::bad_cast from string comparison
functions that caused a crash-to-desktop when opening Preferences among others
(issue 3050).
* Fixed many crashes and out-of-sync errors when using the planning mode.
Version 1.14.0
Campaigns
* Under the Burning Suns
* New set of Quenoth faction and character portraits by LordBob.
* Updated sprites for several Quenoth units.
* Fixed "Invalid WML found" error that can be caused by the Quenoth Youth
support ability.
Help browser
* Temporarily hidden Editor section as it is mostly incomplete and of little
use right now (issue 2963).
Language and i18n
* Fixed Version label on the title screen not being translatable (issue 2914).
* Updated translations: Czech, French, Galician, German, Japanese, Polish,
Scottish Gaelic, Slovak, Spanish
Multiplayer
* Fixed regression causing a crash-to-desktop when trying to log into the
server using a registered and active account without specifying a
password.
* Fixed an infinite loading screen if the server shut down or restarted
mid-login.
* Fixed an infinite loading screen when attempting to login with an
unregistered nickname followed by a registered one.
* Dark Forecast: Fixed possible Lua error when the weather changes.
User Interface
* Implemented MP chat message history saving (issue 1194, issue 2802).
* Fixed context menus not dismissing on right click.
Miscellaneous and bug fixes
* Fixed an AI assertion when a unit with one disabled attack attacked a unit
with no attacks or a single disabled attack.
pkglint -Wall -r --autofix --only aligned
After running the above command, three packages had to be adjusted
manually:
In maelstrom-x11, pkglint didn't see that a commented variable
assignment should have been re-aligned as well.
In netmaze, there was a single line that didn't align well with all the
others, but pkglint decided to adjust the whole paragraph to this single
line. The result would have been ok, but not good.
In tscp, there was a paragraph where some of the lines were indented
one space more than the others. This rule is useful when one variable
name is very long compared to the others, but not in this case.