Note this patch is only available to beta channel players.
Add-ons client
Implemented support for incremental add-on downloads and uploads (issue #5046, PR #5038).
Add-ons server
The server configuration no longer contains the add-ons list/metadata (PR #5038):
Metadata is now stored in individual `data//addon.cfg` files (PR #5038).
Full add-on packs are now stored as `data//full_pack_.gz` files instead of `data/`.
Hash indexes of full add-on packs are stored as `data//full_pack_.hash.gz`.
Implemented support for incremental add-on downloads and uploads (issue #5046, PR #5038):
Incremental update packs are stored as `data//.gz`files.
Incremental update packs are allowed to be sent by clients in `[upload]` and may be asked from the server in `[request_campaign]`.
The server can generate an incremental update pack while servicing `[upload]` if the client doesn't send one (e.g. old clients).
Previous versions of add-ons are stored on the server for a limited amount of time alongside update packs for older versions (30 days by default) (PR #5038).
Language and i18n
Updated translations: British English, Czech, French, Japanese, Polish, Portuguese (Brazil)
The font-handling now checks which glyphs are in each font, instead of using a list hardcoded in WML.
A bug in the removed code treated the first font containing U+4E00 as having the whole CJK Unified Ideographs block.
Fixes a bug where many Chinese characters were invisible if DroidSansJapanese was loaded before DroidSansFallbackFull (issue #5194).
Changing the language immediately updates the order of the fonts, instead of waiting for the next restart (issue #5194).
Lua API
Implement new GUI2 widget userdata for working with custom dialogs.
Renamed wesnoth.show_dialog to gui.show_dialog. The preshow and postshow now take a single parameter - a widget userdata.
All other dialog functions (such as wesnoth.get_dialog_value and wesnoth.set_dialog_value) are now deprecated.
Multiplayer
Delay Advancements modification:
The Delay Advancements modification allows changing how advancements are handled. With this enabled, units that previously would have advanced on another player's turn will instead not advance until it is again their side's turn. The benefit of this is that units will also not pick an advancement at random if they have multiple.
Packaging
When building wesnothd with database support enabled, Boost 1.66 is now the minimum required version.
Terrain
New wall variation: Overgrown stone walls ('Xof')
Units
Added Tusker line - Gorer and Tusklet (by TSI 2009)
Revised Falcon and Elder Falcon sprites
New units:
Swamp Lizard (crocodile)
Cave Bear
Icemonax
Giant Stoat
Fire Ant
Balancing:
Cost of Giant Rat changed from 6 to 5.
Cost of Giant Scorpling changed from 13 to 12.
Cost of Fire Guardian changed from 19 to 11.
Cost of Giant Mudcrawler changed from 16 to 11.
Cost of Giant Scorpion changed from 22 to 16.
Cost of Wolf changed from 17 to 15.
Cost of Chocobone changed from 38 to 28.
Cost of Cuttle Fish changed from 40 to 36.
Cost of Great Wolf changed from 30 to 21.
Cost of Gryphon changed from 40 to 29.
Cost of Water Serpent changed from 26 to 23.
Cost of Direwolf changed from 36 to 33.
Cost of Sea Serpent changed from 40 to 55.
Cost of Wild Wyvern changed from 54 to 75.
Cost of Wyvern Rider changed from 80 to 102.
WML Engine
Fix a bug with [set_variables][join] failing on boolean (yes/no) values
[harm_unit] now calculates liminal damage by using the 1.15 algorithm
Patch 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 (PR #4993). 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 (issue #3060).
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.
Patch 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 (issue #4946).
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.
Patch 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 (issue #3273).
Add-ons server
Don't send restricted attributes at all, rather than sending them as an empty string (issue #4800).
Campaigns
General:
Fixed instances of multiple [avoid] tags being used (PR#4776).
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 (issue #4853).
Son of the Black Eye:
S15: Fix the scenario not ending despite objectives being met in some circumstances (issue #4841).
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 /translations instead of /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 (PR#4781).
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 (PR#4810; issues #3149, #4395, #4545).
Miscellaneous and bug fixes
Fixed building with the 64-bit Visual Studio projectfiles.
Added missing side controllers to two Micro AI scenarios (fixes #4890)
Experimental AI retreat CA: bug fix for cure-only abilities
Forest Animals Micro AI: excluded rabbit holes on map border
Patch 1.14.11
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 (issue #4569).
Lua API
wesnoth.deprecate_api was fixed to correctly wrap tables with metatables (issue #4079).
Music and sound effects
Removed accidental silence of two seconds after the first track of each scenario (issue #4459).
Units
Add various new death, standing, and idle animations
User interface
Fixed some severe game rendering issues with SDL 2.0.10 (issue #4237, issue #4245, issue #4510).
Draw ellipses during draw/sheath animations (issue #1527).
In the combat dialog and elsewhere, clicking the "Profile" button opens the help on the correct unit variation (e.g., Walking Corpse (Swimmer)) (issue #4142).
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 (PR #4362, PR #4444, part of issue #1282).
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 (PR #4217).
Add help text for some debug commands (part of issue #2500).
Make wmllint recognize `[load_resource]` (issue #4538).
Make wesnoth_addon_manager not generate packet.dump files any more (issue #4651)
Patch 1.14.9
AI:
Fixed a rare crash in attack prediction (issue #4068)
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. (PR #4329)
S15: Improve one branch of the victory dialog. (PR #4334)
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 portraits
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)
The Wilderlands:
Fixed default village_gold being too high, disadvantaging player 5
Packaging
Added HighContrast icon variant
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. (PR #4337)
Version 1.14.7 is out
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. (PR #3327)
Fix undoing a recall not un-drawing parts of the sprite that go beyond the unit's hex (issue #3325)
Fix crash when the recruit filter matched nothing. (PR #3969)
"Show Enemy Moves" now highlights enemy units that can reach the highlighted hex. (PR #3961)
The time of day graphics for midday and midnight have been updated to match the rest of the summer/winter time of day schedules. (issue #2677)
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 (issue #3982).
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 (issue #2852).
Version 1.14.6 is out
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 (issue #3650).
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. (issue #3791)
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 (issue #3165).
Added an alternative method of completing the campaign (issue #3167).
S8, S9 (A Small Favor II & III): Clarify objectives. (PR #3711)
S8 (A Small Favor II): Fixed units created via the plague ability not available in S9. (PR #3711)
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. (issue #3794)
Fix wesnoth.set_dialog_value not triggering re-layout. (issue #3572)
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. (issue #3599)
Add --campaign-skip-story command line switch for skipping directly to turn 1. (issue #3472)
Remove --data option, --data-path has the same functionality.
Fix documentation of --render-image command line switch. (issue #3568)
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. (issue #3187)
GUI.pyw can now terminate a running maintenance script
Fix SDL_DestroyRenderer assertion failure under XMonad. (part of issue #3716)
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. (issue #3912)
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. For info about backwards compatibility see: https://gist.github.com/hrubymar10/eb5afd896f933a46fac344ced940e020
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. (issue #3646)
Fix build with Pango 1.43. (issue #3840)
User interface
Fix regression: Game Load screen would not select 1.12 savegames. (issue #3561)
Fix regression: the in-game "Observers" icon (an eye) was covered by the minimap. (issue #3543)
Increase step size when clicking sliders in the MP Create Game dialog. (issue #3552)
Fix overlapping top bar elements with small screen resolutions. (issue #3714)
Don't scroll to an invisible unit that recruits another invisible unit. (issue #3559)
When a recruited unit is fogged, scroll to the recruiting unit and play recruit animation. (issue #3577)
Fix line breaks in first statistics line in unit type pages in the help. (issue #3256)
Don't scroll to an enemy unit that teleports to or from an invisible hex. (PR #3578)
Don't show in the sidebar the time of day schedule of a shrouded hex. (PR #3638)
Game Load screen gracefully handles savefiles that can't be parsed. (issue #3652)
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. (PR #3642)
When a unit has multiple statuses (slowed/poisoned/invisible/etc), the sidebar shows all of them, not just the first. (issue #3197)
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. (PR #3686)
Taking screenshots in title screen is possible again (issue #3235)
The "Recruit Unit" dialog is searchable by unit type name. (PR #3787)
Add text filter to hotkeys preferences. (PR #3759)
Hide leader in status table if it's unfogged but invisible. (PR #3854)
macOS: Dark GUI on macOS Mojave and later when dark appearance is enabled.
Version 1.14.5 is out
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 (issue #3459).
S6: Change the trigger for spawning undead reinforcements (issue #3459).
S17: Add dialog explaining the lava game mechanic and an easter egg (issue #3473).
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 (issue #3294).
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 (issue #2883).
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 (issue #3515).
Fixed a possible crash when leaving a game as an observer (issue #3017).
Fixed Start Game locked when other players abort the faction/leader selection dialog (issue #3452).
Fixed Skip Replay when joining MP campaigns.
Fixed OOS errors when undoing after ally chat.
Fixed game freezing upon droiding with Delayed Shroud Updates (issue #3453).
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 (issue #3495).
Force leader sprites larger than 72x72 to be downscaled in Load Game (issue #3474).
Add left padding to dialog messages shown with a portrait on the right (issue #1938).
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 (issue #3475).
WML engine
Fixed [animate_unit] and [heal_unit] preventing unit halo from disappearing if the unit dies later (issue #3509).
Miscellaneous and bug fixes
Fix some minor problems with the macOS package.
Fixed crash when trying to attack with a unit without usable weapons (issue #3424).
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 (issue #3439).
Fixed editor cannot add starting location for > 9 players.
Fixed crash in Lua tstring comparision (issue #3541).
Fixed objectives at scenario start using old/cached values of conditions/variables (issue #3544).
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 is out
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 (issue #3722)
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 (issue #3294)
Simplify dialog to fix possible confusion in S16 (issue #3291)
Have nagas be able to recruit in S21 (issue #3293)
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 (FR #3251).
Fixed lobby chat box scrolling to top on a new message if it isn't at the bottom (issue #2789).
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 (issues #1924, #1634).
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 (issue #3280).
Fixed wmllint choking on gzipped binary files (e.g. gzipped tarballs).
Fixed wmllint crashing on nonexistent paths provided in the command line (issue #3286).
Slight changes to the objectives dialogue (pr #3309)
Greatly improved touch control support.
Fixed wmlindent crashing on nonexistent paths provided in the command line (issue #3346).