2026-08-18 22:27 UTC · Community Announcements · Wesnoth Inc.
IMPORTANT This update contains a fix for a security vulnerability present back through version 1.13.5. While this should be taken care of by Steam, we strongly recommend everyone upgrade to this version. Additionally, due to the nature of the vulnerability, versions older than this will soon be blocked from joining the 1.19 online multiplayer servers. Campaigns The South Guard S01 "Born to the Banner": reduced difficulty on Hard. Multiplayer Update multiplayer maps: Freelands - reduce the amount of swamp terrain, replace more of mycelium with regular fungus Silverhead Crossing - bring P1 keep
2026-08-18 22:24 UTC · Community Announcements · Wesnoth Inc.
IMPORTANT This update contains a fix for a security vulnerability present back through version 1.13.5. While this should be taken care of by Steam, we strongly recommend everyone upgrade to this version. Additionally, due to the nature of the vulnerability, versions older than this will soon be blocked from joining the 1.18 online multiplayer servers. Translations Updated translations: Bengali, Chinese (Simplified), Czech, German, Hebrew, Hungarian, Portuguese (Brazil), Spanish Miscellaneous and Bug Fixes Make Boost::system optional with boost 1.69 or later (necessary for compatibility with 1.
2026-08-11 23:26 UTC · Community Announcements · Wesnoth Inc.
Campaigns Of Pearls and Pirates Don’t show the tutorial hint about save-loading when Biased RNG is active S05 "Lady Maudie": fixed Fireships being healable. The Deceivers Gambit Fix missing siphon attack sound, which would cause a crash anytime the attack was used. S07 "The Great River": reduced walking time from starting keep to first enemies. Most spells now unlock when Delfador advances a level, not at the start of arbitrary scenarios. S07 "The Great River": adjusted map to account for Delfador's additional spell options. S04 "The Sylvan Seer": fixed an issue where playing S03 with a famili
2026-06-28 14:18 UTC · Community Announcements · Wesnoth Inc.
Campaigns Heir to the Throne S01 "The Elves Besieged": reduced starting gold, but added gold pickups near enemy keeps. Added more swamp hexes. S03 "Blackwater Port": added a secondary, coastal entry point for this scenario, so Konrad can make better use of Merfolk if he has them. S10 "The Siege of Elensefar": rebalanced gold, income, and AI. Maddock's AI is now less likely to defend unthreatened bridges or idle his ships. On the overworld, the waters around Elensefar now better connect to the rest of the passable coast. After completing either Elensefar scenario, Elensefar now provides Konrad
2026-05-24 14:50 UTC · Community Announcements · Wesnoth Inc.
Campaigns The South Guard S04 "Choice in the Fog": both choices should now be more similar in difficulty S06a "Vengeance": increased the survival turns, but decreased initial enemy gold/units. Heir to the Throne S07 "Muff Malal's Peninsula": fixed incorrect portrait for Muff Malal in the time over event. S28 "The Lost General": fixed "Cavefish" achievement triggering if you didn't recruit/recall any units at all. S50 "The Battle For Wesnoth": Asheviere should now more intelligently resist assassination strategies. S50 "The Battle For Wesnoth": fix "Canon" achievement being awarded even if you
2026-04-23 23:58 UTC · Community Announcements · Wesnoth Inc.
Campaigns Heir to the Throne Granite Golem: added "regenerates +4" ability, cost reduced from 35 -> 30, damage reduced from 35 -> 32 Fix Elrian's Tath event triggering even if you hadn't yet completed Isle of Alduin. Fix Elrian's Tath event not trigering after completing The Sceptre of Fire. S06 "Isle of Alduin": fix Konrad and Elrian discussing Seimus too early. S22 "Glamdrol": end when turns run out, not when side 1's last turn ends. S30 "The Sceptre of Fire": made Giant Spider AI more predictable. S43 "Cliffs of Thoria": fix the Horn of Glamdrol healing Warven before he's been spotted. S50
2026-04-09 00:28 UTC · Community Announcements · Wesnoth Inc.
Translations Updated translations: Bengali, Chinese (Simplified), Czech, French, Hungarian, Portuguese (Brazil) Miscellaneous and Bug Fixes Fix time of day sounds not playing.
2026-03-30 02:06 UTC · Community Announcements · Wesnoth Inc.
Campaigns Heir to the Throne S22 "Glamdrol": fixed a lua error that would occur if Konrad completed the scenario without pledging any gold to the Stoneskins. Liberty S04 "Unlawful Orders": Kestrel's keep no longer gets blocked by his Lieutenant on turn 4. S04 "Unlawful Orders": fix enemy soldiers having names. The Deceivers Gambit S04 "The Sylvan Seer": Silverback image is now smaller at lower difficulties. S04 "The Sylvan Seer": fix Delfador being counterspelled even when outside the counterspell AOE. S04 "The Sylvan Seer": mirror Kalenz now transforms into a Lich when you move adjacent, not
2026-03-09 01:18 UTC · Community Announcements · Wesnoth Inc.
Campaigns A Tale of Two Brothers Add achievements and relevant code. Dead Water S05 "Tirigaz": the orcs now use real ship units, instead of static images. Orcish gold reduced to compensate. Dusk of Dawn S02 "A Dream": remove "fearless" trait, but spawn more higher-level woses instead. Eastern Invasion S02 "Escape Tunnel": Now uses the core Dwarvish Miner unit, instead of a modified 8 gold version. S04b "Ill Humours": AI Dunefolk are no longer immune to the swamp's poison (although their AI shouldn't let them move into poison range regardless). S04b "Ill Humours": Gweddry now gains control of t
2026-02-01 18:20 UTC · Community Announcements · Wesnoth Inc.
Campaigns Dusk of Dawn Remove custom "Troll Earth-Shaker" Rocklobber advancement to avoid confusing beginners. Eastern Invasion Add weather effects to several scenarios. The Deceivers Gambit S13 "Revelry, Revisited": fixed way too many enemies spawning after many turns had elapsed. S13 "Revelry, Revisited": added more dialogue between the orcs and humans. The Hammer of Thursagan The first scenario is now slightly easier. Terrain Added graphics for rails going over water and chasm. Translations Updated translations: Bengali, British English, Czech, French, German, Greek, Hungarian, Italian, Spa
2025-12-31 01:53 UTC · Community Announcements · Wesnoth Inc.
Campaigns Heir to the Throne The finale's farm burning difficulty option now explains which option is the standard and which option is especially challenging. The finale's farm burning difficulty option will now trigger automatically if you miss it. Once unlocked, Carcyn now also includes a port on the north shore. Fix Li'sar not using her elite recruits in Crossroads and Siege of Elensefar. Lua API Add new wml.valid_var function to validate a WML variable path Bugfix: Indexing a vconfig now returns a table with tag/contents keys Translations Updated translations: Bengali, British English, Cat
2025-12-31 01:33 UTC · Community Announcements · Wesnoth Inc.
Multiplayer 5p - The Wilderlands: Fixed lag during AI turn (issue #10419) Translations Updated translations: Ancient Greek, Arabic, Bengali, British English, Catalan, Chinese (Simplified), Czech, Finnish, French, Galician, Hungarian, Polish, Spanish User interface The load-game dialog can now see the directories used by the development version (1.19.2 and later)
2025-11-19 05:08 UTC · Community Announcements · Wesnoth Inc.
Campaigns Dusk of Dawn Added to mainline. This is a new troll campaign. 4 scenarios, novice level. Heir to the Throne Add new "Heir to the Throne" revision to mainline. Rename existing HttT campaign to "Heir to the Throne, Classic" Merge "Battle Training" into HttTC. The Deceiver's Gambit Revised Delfador and Garard's dialogue (again) "Stirrings of War" and "The Ambassador" are now regular battle scenarios. "Fort Garard" now grants all Loyalist recruits; Delfador no longer has to wait until "Ring of Swords" "The Sylvan Seer" part 1 puzzle now varies with campaign difficulty. "Ring of Swords" n
2025-11-02 16:59 UTC · Community Announcements · Wesnoth Inc.
Editor Move items/unit/labels when map is resized Translations Updated translations: Bengali, British English, Czech, Polish, Spanish Units Sergeant: Crossbow damage changed from 4-3 to 6-2 Lieutenant: Crossbow damage changed from 5-3 to 7-2 General: Crossbow damage changed from 7-3 to 10-2 Grand Marshal: Crossbow damage changed from 8-3 to 12-2 WML Engine ~PAD() added as an IPF (image path function). It allows the sides of an image to be padded with transparent pixels. Can be used to artificially offset images. WML formulas can be used in abilities/specials 'max_value' and 'min_value'. Add ,
2025-09-25 22:23 UTC · Community Announcements · Wesnoth Inc.
Campaigns Liberty Changed some of Maddock's dialogue to stay consistent with The Deceiver's Gambit. Difficulty scaling now follows the same pattern as the other beginner campaigns: 1x enemies, 2x enemies, 3x enemies. Use the new Elensefar map from the revised Heir to the Throne. Various minor bugfixes and tweaks. Son of the Black Eye Units now have access to customized AMLA. Units granted AMLA: Orcish Sovereign, Great Troll, Orcish Warlord, Orcish Slurbow, Direwolf Rider, Goblin Pillager, Troll Warrior, Troll Rocklobber, Orcish Nightblade, Saurian Flanker, Saurian Javelineer, Saurian Seer, Sau
Full appinfo as delivered by Steam PICS, changenumber 38132525. Also at /api/app/599390/raw.
{
"appid": "599390",
"common": {
"name": "Battle for Wesnoth",
"type": "Game",
"releasestate": "released",
"oslist": "windows,macos,linux",
"osarch": "64",
"clienticon": "fe60f0c966d2b855f2144c302c707a50430d9bc8",
"clienttga": "3d5e79075e093e1fa19acb8ce04e3aa5b417787f",
"icon": "e58cb158c85048a8d7c0d18a15d7cb52d4b30a6e",
"clienticns": "1a19c1cb4fceefe6277badd334be400ee615843f",
"logo": "cf61157b790237639a0139088a1552194c03befc",
"logo_small": "cf61157b790237639a0139088a1552194c03befc_thumb",
"osextended": "macos64,macosapplesilicon,macosnotarized",
"steam_deck_compatibility": {
"category": "2",
"steamos_compatibility": "2",
"steam_machine_compatibility": "2",
"test_timestamp": "1670371200",
"tested_build_id": "9475449",
"tests": {
"0": {
"display": "3",
"token": "#SteamDeckVerified_TestResult_ControllerGlyphsDoNotMatchDeckDevice"
},
"1": {
"display": "4",
"token": "#SteamDeckVerified_TestResult_DefaultControllerConfigFullyFunctional"
},
"2": {
"display": "4",
"token": "#SteamDeckVerified_TestResult_InterfaceTextIsLegible"
},
"3": {
"display": "4",
"token": "#SteamDeckVerified_TestResult_DefaultConfigurationIsPerformant"
}
},
"steam_machine_tests": {
"0": {
"display": "3",
"token": "#SteamMachine_TestResult_ControllerGlyphsDoNotMatchDevice"
},
"1": {
"display": "4",
"token": "#SteamMachine_TestResult_DefaultControllerConfigFullyFunctional"
},
"2": {
"display": "4",
"token": "#SteamMachine_TestResult_DefaultConfigurationIsPerformant"
}
},
"steamos_tests": {
"0": {
"display": "3",
"token": "#SteamOS_TestResult_GameStartupFunctional"
}
},
"configuration": {
"supported_input": "gamepad",
"requires_manual_keyboard_invoke": "0",
"requires_non_controller_launcher_nav": "0",
"primary_player_is_controller_slot_0": "0",
"non_deck_display_glyphs": "1",
"small_text": "0",
"requires_internet_for_setup": "0",
"requires_internet_for_singleplayer": "0",
"recommended_runtime": "native",
"requires_h264": "0",
"requires_voice_files": "0",
"gamescope_frame_limiter_not_supported": "0",
"hdr_support": "0",
"requires_proton_soundfonts": "0"
}
},
"metacritic_name": "Battle for Wesnoth",
"small_capsule": {
"english": "capsule_231x87.jpg"
},
"header_image": {
"english": "header.jpg"
},
"library_assets": {
"library_capsule": "en",
"library_hero": "en",
"library_logo": "en",
"logo_position": {
"pinned_position": "BottomLeft",
"width_pct": "43.85978269134274",
"height_pct": "81.14023097001072"
}
},
"library_assets_full": {
"library_capsule": {
"image": {
"english": "library_600x900.jpg"
},
"image2x": {
"english": "library_600x900_2x.jpg"
}
},
"library_hero": {
"image": {
"english": "library_hero.jpg"
},
"image2x": {
"english": "library_hero_2x.jpg"
}
},
"library_logo": {
"image": {
"english": "logo.png"
},
"image2x": {
"english": "logo_2x.png"
},
"logo_position": {
"pinned_position": "BottomLeft",
"width_pct": "43.85978269134274",
"height_pct": "81.14023097001072"
}
}
},
"store_asset_mtime": "1635291825",
"associations": {
"0": {
"type": "developer",
"name": "The Battle for Wesnoth Project"
},
"1": {
"type": "publisher",
"name": "Wesnoth Inc."
}
},
"primary_genre": "2",
"genres": {
"0": "23",
"1": "2",
"2": "37"
},
"category": {
"category_2": "1",
"category_1": "1",
"category_36": "1",
"category_37": "1",
"category_17": "1",
"category_23": "1",
"category_27": "1",
"category_44": "1",
"category_49": "1",
"category_45": "1",
"category_46": "1"
},
"supported_languages": {
"english": {
"supported": "true",
"subtitles": "true"
},
"italian": {
"supported": "true",
"subtitles": "true"
},
"spanish": {
"supported": "true",
"subtitles": "true"
},
"french": {
"supported": "true",
"subtitles": "true"
},
"czech": {
"supported": "true",
"subtitles": "true"
},
"japanese": {
"supported": "true",
"subtitles": "true"
},
"schinese": {
"supported": "true",
"subtitles": "true"
},
"polish": {
"supported": "true",
"subtitles": "true"
},
"german": {
"subtitles": "true",
"supported": "true"
},
"portuguese": {
"subtitles": "true",
"supported": "true"
},
"russian": {
"subtitles": "true",
"supported": "true"
},
"tchinese": {
"supported": "true",
"subtitles": "true"
},
"turkish": {
"supported": "true",
"subtitles": "true"
},
"brazilian": {
"supported": "true",
"subtitles": "true"
},
"dutch": {
"supported": "true",
"subtitles": "true"
},
"finnish": {
"supported": "true",
"subtitles": "true"
}
},
"original_release_date": "1055919600",
"steam_release_date": "1525222525",
"community_hub_visible": "1",
"gameid": "599390",
"store_tags": {
"0": "113",
"1": "9",
"2": "1741",
"3": "1717",
"4": "1684",
"5": "492",
"6": "1677",
"7": "3859",
"8": "14139",
"9": "3964",
"10": "3871",
"11": "4182",
"12": "1742",
"13": "4172",
"14": "4535",
"15": "1708",
"16": "17305",
"17": "4325",
"18": "4684",
"19": "122"
},
"review_score": "8",
"review_percentage": "94"
},
"extended": {
"developer": "The Battle for Wesnoth Project",
"publisher": "Wesnoth Inc.",
"homepage": "https://www.wesnoth.org/",
"isfreeapp": "1"
},
"config": {
"app_mappings": {
"1": {
"platform": "linux",
"tool": "SteamLinuxRuntime_sniper",
"branch": "default"
},
"2": {
"platform": "linux",
"tool": "SteamLinuxRuntime_4",
"branch": "1.19"
}
},
"installdir": "wesnoth",
"launch": {
"0": {
"executable": "wesnoth.exe",
"type": "default",
"config": {
"oslist": "windows"
}
},
"1": {
"executable": "start.sh",
"type": "default",
"config": {
"oslist": "linux",
"osarch": "64"
}
},
"2": {
"executable": "The Battle for Wesnoth.app/Contents/MacOS/The Battle for Wesnoth",
"type": "default",
"config": {
"oslist": "macos"
}
}
}
},
"depots": {
"599391": {
"config": {
"oslist": "windows,linux"
},
"manifests": {
"public": {
"gid": "6812380807004199604",
"size": "562694979",
"download": "432185936"
},
"1.14.x": {
"gid": "7007718097782994551",
"size": "540460107",
"download": "420834720"
},
"1.16": {
"gid": "7278650595597869297",
"size": "550733818",
"download": "436836384"
},
"1.17": {
"gid": "7008129610462441812",
"size": "533788267",
"download": "419313696"
},
"1.19": {
"gid": "6783686853581053088",
"size": "744151114",
"download": "600200672"
}
}
},
"599392": {
"config": {
"oslist": "linux"
},
"manifests": {
"public": {
"gid": "874033734194065658",
"size": "38792124",
"download": "9206832"
},
"1.14.x": {
"gid": "5541270463168370847",
"size": "96588794",
"download": "12623344"
},
"1.16": {
"gid": "8304235816864827809",
"size": "85627380",
"download": "15714704"
},
"1.17": {
"gid": "4323646283682836804",
"size": "30624652",
"download": "6972560"
},
"1.19": {
"gid": "7047249483025120925",
"size": "69669986",
"download": "23354896"
}
}
},
"599393": {
"config": {
"oslist": "windows"
},
"manifests": {
"public": {
"gid": "6964590179017024620",
"size": "147148063",
"download": "40577584"
},
"1.14.x": {
"gid": "1032617841389601178",
"size": "60509714",
"download": "14544096"
},
"1.16": {
"gid": "8261118803177510184",
"size": "165130433",
"download": "43097376"
},
"1.17": {
"gid": "6605213159984012899",
"size": "148174278",
"download": "37613040"
},
"1.19": {
"gid": "6137678092422666500",
"size": "114737579",
"download": "34707200"
}
}
},
"599394": {
"config": {
"oslist": "macos"
},
"manifests": {
"public": {
"gid": "4740886281861215153",
"size": "646248233",
"download": "459166624"
},
"1.14.x": {
"gid": "7698302665916405475",
"size": "586832317",
"download": "433575328"
},
"1.16": {
"gid": "7251648379019927338",
"size": "636630845",
"download": "459040864"
},
"1.17": {
"gid": "7235692372862111325",
"size": "624984348",
"download": "442409872"
},
"1.19": {
"gid": "1897460695765398418",
"size": "918802002",
"download": "653670128"
}
}
},
"branches": {
"public": {
"buildid": "24804200",
"timeupdated": "1787082688",
"timebuildupdated": "1787082688"
},
"1.14.x": {
"buildid": "6913664",
"description": "Old old stable",
"timeupdated": "1633012165",
"timebuildupdated": "1624383368"
},
"1.16": {
"buildid": "13778154",
"description": "Old stable",
"timeupdated": "1710793306",
"timebuildupdated": "1710793306"
},
"1.17": {
"buildid": "13561904",
"description": "Old development release",
"timeupdated": "1708932476",
"timebuildupdated": "1708932476"
},
"1.19": {
"buildid": "24804135",
"description": "Development release",
"timeupdated": "1787082425",
"timebuildupdated": "1787082425"
}
},
"privatebranches": "1"
},
"ufs": {
"quota": "100000000",
"maxnumfiles": "250",
"savefiles": {
"1": {
"root": "WinMyDocuments",
"path": "My Games/Wesnoth1.18/saves",
"pattern": "*",
"recursive": "1"
}
},
"rootoverrides": {
"0": {
"root": "WinMyDocuments",
"os": "Linux",
"oscompare": "=",
"useinstead": "LinuxXdgDataHome",
"pathtransforms": {
"0": {
"find": "My Games/Wesnoth1.18/saves",
"replace": "wesnoth/1.18/saves"
}
}
},
"3": {
"root": "WinMyDocuments",
"os": "MacOS",
"oscompare": "=",
"useinstead": "MacHome",
"pathtransforms": {
"0": {
"find": "My Games/Wesnoth1.18/saves",
"replace": "Library/Containers/org.wesnoth.Wesnoth/Data/Library/Application Support/Wesnoth_1.18/saves"
}
}
}
}
}
}