Nexen v1.4.23
Fixed
- Fresh install crash (Windows/Linux portable) — Portable mode skipped extracting native dependencies on fresh installs; now correctly extracts when files don't exist (#1176, #1194, #1039)
- FormatException on empty CRC32 — Crash when ROM unloaded with empty CRC32 string; switched to
TryParsewith fallback (#1039) - Linux AoT exit crash —
TaskCanceledExceptionfrom Tmds.DBus.Protocol during shutdown on Linux; added graceful exit handling (#1195) - Designated slot shortcuts not configurable — Slot shortcuts were missing from Preferences display order (#1193)
- Accuracy test CI restore — Added missing
dotnet restorestep to accuracy test workflow (#1192) - Whitespace inconsistencies — Fixed namespace declaration whitespace across multiple files
Added
- 3 designated save slots (F2-F4) — Expanded from 1 to 3 designated quick-access save slots with timestamped filenames, history preservation, and slot-specific purple badges showing "Slot 01"-"Slot 03" (#1196)
- Slot save history — Designated saves now create new timestamped files instead of overwriting; old saves remain browsable with slot badges in the save state viewer (#1196)
- Slot number in interop — Added
slotNumberfield through the full C++ to C# interop pipeline for first-class slot identity in the UI
Changed
- Designated save filename format — Changed from
_designated_{N}_to_[slot{NN}]_for clearer identification; legacy filenames still recognized (#1196) - Default slot hotkeys — F2/Shift+F2 (slot 1), F3/Shift+F3 (slot 2), F4/Shift+F4 (slot 3); F1 remains infinite saves
- Dark purple badge for non-current slot saves — Historical slot saves (superseded by a newer save in the same slot) now show a darker purple badge; current (newest) save per slot keeps bright purple
- NuGet package updates — Avalonia 11.3.11 to 11.3.13, Dock.* 11.3.11.7 to 11.3.11.22, SkiaSharp.NativeAssets.Linux 3.116.1 to 3.119.2, StreamHash 1.11.2 to 1.11.3
Security
- Tmds.DBus.Protocol — Pinned from transitive 0.21.2 to direct 0.92.0 to resolve GHSA-xrw6-gwf8-vvr9