From d0f37b8a19aa1e6986edbe009a43652a25b37ab6 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 18 Oct 2026 15:56:31 +0000 Subject: [PATCH] Changelog 3840 (#7343) --- docs/_posts/2026-10-20-3840.md | 54 ++++++++++++++ .../changelog/generated/2026-10-20-3840.lua | 70 +++++++++++++++++++ lua/ui/lobby/changelog/generated/overview.lua | 7 ++ lua/version.lua | 6 +- mod_info.lua | 2 +- 5 files changed, 135 insertions(+), 4 deletions(-) create mode 100644 docs/_posts/2026-10-20-3840.md create mode 100644 lua/ui/lobby/changelog/generated/2026-10-20-3840.lua diff --git a/docs/_posts/2026-10-20-3840.md b/docs/_posts/2026-10-20-3840.md new file mode 100644 index 00000000000..7d96f62caf6 --- /dev/null +++ b/docs/_posts/2026-10-20-3840.md @@ -0,0 +1,54 @@ +--- +layout: post +title: 3840 - Hotfix +permalink: changelog/3840 +--- + +# Game version 3840 (October 20, 2026) + +Greetings Commanders, + +you are probably aware that recently a lot of games and replays were plagued by desyncs that had no apparent reason. We finally found the bug and can deploy the fix now. Because of a technical limitation we also roll out the rest of the engine patches that have been done in the meantime. + +I am extremely grateful to Nomander, who hunted down the cause of the bug and successfully verified the fix with the help of JaggedAppliance! + +Best Regards, +BlackYps + +## Engine + +- Fix crashes and desyncs that could happen while drawings or other shapes are shown in the world, with the frequency depending on the user's machine. The majority of these crashes/desyncs have occurred after patch 3822 where the painting feature was introduced. Specifically this fixes an engine patch writing outside its memory and corrupting Lua tables (#7336, [#176](https://github.com/FAForever/FA-Binary-Patches/pull/176)). + +{% unit UEB4301 %} +Shield Assist +{% endunit %} +Fix shield repair ignoring resource stalls. A stalling builder now repairs shields at the same reduced rate as it builds ([#175](https://github.com/FAForever/FA-Binary-Patches/pull/175)). + +- Fix two issues with repairing shields ([#175](https://github.com/FAForever/FA-Binary-Patches/pull/175)): + - Fix shield repair ignoring resource stalls. A stalling builder now repairs shields at the same reduced rate as it builds. + - Fix disabled shields being repaired when their owner is repaired. + +- Fix Replay Desyncs after a player died ([#172](https://github.com/FAForever/FA-Binary-Patches/pull/172)). +- Remove old desync-fix code ([#173](https://github.com/FAForever/FA-Binary-Patches/pull/173)). + +- Fix one of the causes that broke the save/load feature. Saving and loading games *might* now work again ([#134](https://github.com/FAForever/FA-Binary-Patches/pull/134)). + +- Fix aircraft never undocking from air staging platforms / carriers when stored health is above max health, for example because of the Seraphim Restoration Field ([#169](https://github.com/FAForever/FA-Binary-Patches/pull/169)). + +- Fix camera snapping behind terrain in freecam. Watch the linked videos for a better explanation ([#170](https://github.com/FAForever/FA-Binary-Patches/pull/170)). + +- Increase the fixed particle render-buffer pool from 400 to 4096 entries and the segment-buffer pool from 100 to 400 entries. The game can now render more particles simultaneously ([#165](https://github.com/FAForever/FA-Binary-Patches/pull/165)). + +- Make particles impact at height 0 if they land outside of the map ([#154](https://github.com/FAForever/FA-Binary-Patches/pull/154)). + +- Add toggle `ren_MinimapRanges` for rendering range rings in minimap. Saves up to 50fps when there are lots of units on the map ([#158](https://github.com/FAForever/FA-Binary-Patches/pull/158)). + +## Contributors + +With thanks to the following contributors: +- 4z0t +- Nomander +- ETFreeman +- Hdt80bro +- Mozd-122 +- zhanghm18 diff --git a/lua/ui/lobby/changelog/generated/2026-10-20-3840.lua b/lua/ui/lobby/changelog/generated/2026-10-20-3840.lua new file mode 100644 index 00000000000..6dc3fdf06de --- /dev/null +++ b/lua/ui/lobby/changelog/generated/2026-10-20-3840.lua @@ -0,0 +1,70 @@ +-------------------------------------------------------------------------------------------------------------------------------------------- +-- This file was autogenerated using changelog_markdown2lua.py -- +-- Source: docs/_posts/2026-10-20-3840.md -- +-------------------------------------------------------------------------------------------------------------------------------------------- +Changelog = { + Version = 3840, + Title = "Hotfix", + Description = { + "# Game version 3840 (October 20, 2026)", + "", + "Greetings Commanders,", + "", + "you are probably aware that recently a lot of games and replays were plagued by desyncs that had no apparent reason. We finally found the", + "bug and can deploy the fix now. Because of a technical limitation we also roll out the rest of the engine patches that have been done in the", + "meantime.", + "", + "I am extremely grateful to Nomander, who hunted down the cause of the bug and successfully verified the fix with the help of", + "JaggedAppliance!", + "", + "Best Regards,\\", + "BlackYps", + "", + "## Engine", + "", + "- Fix crashes and desyncs that could happen while drawings or other shapes are shown in the world, with the frequency depending on the", + " user's machine. The majority of these crashes/desyncs have occurred after patch 3822 where the painting feature was introduced.", + " Specifically this fixes an engine patch writing outside its memory and corrupting Lua tables (#7336,", + " [#176](https://github.com/FAForever/FA-Binary-Patches/pull/176)).", + "", + "{% unit UEB4301 %} Shield Assist {% endunit %} Fix shield repair ignoring resource stalls. A stalling builder now repairs shields at the", + "same reduced rate as it builds ([#175](https://github.com/FAForever/FA-Binary-Patches/pull/175)).", + "", + "- Fix two issues with repairing shields ([#175](https://github.com/FAForever/FA-Binary-Patches/pull/175)):", + "", + " - Fix shield repair ignoring resource stalls. A stalling builder now repairs shields at the same reduced rate as it builds.", + " - Fix disabled shields being repaired when their owner is repaired.", + "", + "- Fix Replay Desyncs after a player died ([#172](https://github.com/FAForever/FA-Binary-Patches/pull/172)).", + "", + "- Remove old desync-fix code ([#173](https://github.com/FAForever/FA-Binary-Patches/pull/173)).", + "", + "- Fix one of the causes that broke the save/load feature. Saving and loading games *might* now work again", + " ([#134](https://github.com/FAForever/FA-Binary-Patches/pull/134)).", + "", + "- Fix aircraft never undocking from air staging platforms / carriers when stored health is above max health, for example because of the", + " Seraphim Restoration Field ([#169](https://github.com/FAForever/FA-Binary-Patches/pull/169)).", + "", + "- Fix camera snapping behind terrain in freecam. Watch the linked videos for a better explanation", + " ([#170](https://github.com/FAForever/FA-Binary-Patches/pull/170)).", + "", + "- Increase the fixed particle render-buffer pool from 400 to 4096 entries and the segment-buffer pool from 100 to 400 entries. The game can", + " now render more particles simultaneously ([#165](https://github.com/FAForever/FA-Binary-Patches/pull/165)).", + "", + "- Make particles impact at height 0 if they land outside of the map ([#154](https://github.com/FAForever/FA-Binary-Patches/pull/154)).", + "", + "- Add toggle `ren_MinimapRanges` for rendering range rings in minimap. Saves up to 50fps when there are lots of units on the map", + " ([#158](https://github.com/FAForever/FA-Binary-Patches/pull/158)).", + "", + "## Contributors", + "", + "With thanks to the following contributors:", + "", + "- 4z0t", + "- Nomander", + "- ETFreeman", + "- Hdt80bro", + "- Mozd-122", + "- zhanghm18" + } +} diff --git a/lua/ui/lobby/changelog/generated/overview.lua b/lua/ui/lobby/changelog/generated/overview.lua index 29edca98917..11332e869b7 100644 --- a/lua/ui/lobby/changelog/generated/overview.lua +++ b/lua/ui/lobby/changelog/generated/overview.lua @@ -5,6 +5,13 @@ ---@type UIChangelogOverview Overview = { Changelogs = { + { + Version = 3840, + Name = "3840 - Hotfix", + Date = "2026-10-20", + URL = "http://faforever.github.io/fa/changelog/3840", + Path = "/lua/ui/lobby/changelog/generated/2026-10-20-3840.lua" + }, { Version = 3839, Name = "3839 - Hotfix", diff --git a/lua/version.lua b/lua/version.lua index ddaad1912e1..68544343f9b 100644 --- a/lua/version.lua +++ b/lua/version.lua @@ -34,9 +34,9 @@ local Commit = 'unknown' -- The use of `'` instead of `"` is **intentional** --#endregion -local Version = "3839" ----@alias PATCH "3839" ----@alias VERSION "1.5.3839" +local Version = "3840" +---@alias PATCH "3840" +---@alias VERSION "1.5.3840" ---@return PATCH # Game release function GetVersion() LOG(string.format('Supreme Commander: Forged Alliance Lua version %s at %s (%s)', Version, GameType, Commit)) diff --git a/mod_info.lua b/mod_info.lua index 226c9488b15..b1ee8166701 100644 --- a/mod_info.lua +++ b/mod_info.lua @@ -27,7 +27,7 @@ -- - https://github.com/FAForever/fa/blob/deploy/fafdevelop/lua/MODS.LUA name = "Forged Alliance Forever" -version = 3839 -- needs to be an integer as it is parsed as a short (16 bit integer) +version = 3840 -- needs to be an integer as it is parsed as a short (16 bit integer) _faf_modname='faf' copyright = "Forged Alliance Forever Community" description = "Forged Alliance Forever extends Forged Alliance, bringing new patches, game modes, units, ladder, and much more!"