Popular and featured workshop item articles can now be dismissed. If the carousel is empty then the next-most popular item is used.
Featured workshop item subscription can be managed from the title menu.
Workshop subscriptions changed while in-game are detected and update the maps list.
Server Workshop Improvements:
Moved WorkshopDownloadIDs.json into WorkshopDownloadConfig.json. Server now caches query results and will retry when query fails.
Whitelist/blacklist download restrictions are now enforced during connection.
Quality of Life:
Flashbangs can no longer be used in safezones or around friendly sentry guns.
Teleport command and NPC teleport rewards now report when destination was obstructed.
Oxygen now persists between logins to prevent resetting it at high altitudes.
Stockpile new label is now dismissed when the button is clicked.
Added support for per-level tips, enabled by setting "Tips" to a number in Config.json, and then adding Tip_0, Tip_1, Tip_# to localization file.
Added level Allow_Skills and Allow_Information config.
Added Prevent_Building_Near_Spawnpoint_Radius to level config (default 16.0).
Custom objects can specify Add_Kill_Triggers true to cause Triggers children with name "Kill" to kill players.
Added Can_Use_Underwater true/false for equipable items which defaults to false for primaries.
Added questCompleted event for plugins.
Added updateReplicatedState barricade function for plugins.
Added helper functions for plugins to easily spawn replicated buildables.
Added onPerformingAid and onPerformedAid events to UseableConsumeable for plugins. Individual stats are best compared by using both, as theys always occur in pairs.
Disabled many missing asset related errors when -SkipAssets is enabled.
Replaced serversideSetPluginModal with EPluginWidgetFlags granting more control of UI.
Tidied up some of the damage events by moving parameters into structs, and tracking the damage instigator.
Added gameplay config for disabling structure, barricade and vehicle zombie targeting.
Added Use_Airdrops to gameplay config.
Added Enable_Kick_Input_Spam and Enable_Kick_Input_Timeout config.
Hosts can now specify -NoWin32Console on the command line to prevent the Windows server from manually allocating/freeing a console window.
Separated Windows-specific console input/output from shared console code, and allowed plugins to override IO handling by implementing ICommandInputOutput and calling setIOHandler. When using a custom handler you can specify -NoDefaultConsole on the command line.
Fixed Paddle repair blueprint.
Fixed clothes not respecting Should_Drop_On_Death option.
Vehicles in safezones now properly ignore all damage.
Fixed not loading per-map .content files from workshop during connection.
Fixed log files not sharing read access.
Fixed several plugin network events not wrapped in try-catch blocks.
Fixed cancelling pending exchange notification.
Fixed Spread_Aim between 0.8 and 1 visually increasing crosshair size.
Menu notification system which was added back in 2017 but never used now supports timed windows and dismissing it, so today it links to the Short Film Contest voting stages. I expect we'll see it again for future community events.