The Battle for Wesnoth v1.15.6 Release Notes

  • ### 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_name>/addon.cfg files (PR #5038).
      • Full add-on packs are now stored as data/<addon_name>/full_pack_<version_md5>.gz files instead of data/<addon_name>.
      • Hash indexes of full add-on packs are stored as data/<addon_name>/full_pack_<version_md5>.hash.gz.
    • Implemented support for incremental add-on downloads and uploads (issue #5046, PR #5038):
      • Incremental update packs are stored as data/<addon_name>/<version_from_to_md5>.gzfiles.
      • 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 ### Miscellaneous and Bug Fixes
    • Removed font-analysis utils: codecomp codeextract codeglyphs codelist
    • [harm_unit] now calculates liminal damage by using the 1.15 algorithm