0.83.0-alphaPre-releaseDesktop
0.83.0-alpha release notes preview
Added 9
- Add configurable mouse mickey threshold
- Add mouse hack for 'Joan of Arc: Siege & the Sword' game on Hercules machine
- Add dedithering option and generalise shader passes
- Add FMV video deinterlacer
- Add forced borderless fullscreen mode and general window config settings rework
- Add Jinc 2 de-dithering shader
- Add shader preset support
- Add simple built-in image viewer
- Implement auto config option for file_locking
Changed 6
- Allow 3.5x and 4.5x integer scaling for the adaptive CRT shaders
- Allow graceful failure if OpenGL context could not be created
- Always use SDL_PIXELFORMAT_ARGB8888 for the SDL texture renderer
- Authentic CRT colour emulation, image adjustment settings, and wide gamut monitor support
- Enable bilinear filtering for the 3dfx Voodoo by default
- Improve DOS builtin mouse driver configurability
Fixed 5
- CDROM Audio: Do not continue to the next track if less than 2 seconds remains
- Do not hard exit when encountering unimplemented PIC functions
- Fix INT10_SetVideoMode() regression
- Fix aspect ratio of 40-column text modes on VGA with shaders that force no pixel doubling
- Fix command line parser bug where an extension-less file prevents execution
[!WARNING] These are the automatically generated release notes of the latest development snapshot builds! This is not a stable release; things might blow up! 💣 🔥 💀
You can download the latest development builds from here: https://www.dosbox-staging.org/releases/development-builds/
Full PR list of game compatibility improvements
- Add configurable mouse mickey threshold (#4681)
- Add mouse hack for 'Joan of Arc: Siege & the Sword' game on Hercules machine (#4699)
- CDROM Audio: Do not continue to the next track if less than 2 seconds remains (#4487)
- Do not hard exit when encountering unimplemented PIC functions (#4225) [backport]
- Fix
INT10_SetVideoMode()regression (#4182) [backport] - Fix aspect ratio of 40-column text modes on VGA with shaders that force no pixel doubling (#4397)
- Fix command line parser bug where an extension-less file prevents execution (#4185) [backport]
- Fix edge case where CDROM mixer hangs at the end of a track (#4302)
- Fix GUS hang in KQ4 enhanced (#4787)
- Fix ManyMouse support in Windows builds (#4035) [backport]
- Implement auto config option for file_locking (#4721)
- Improve DOS builtin mouse driver configurability (#4284)
- Sync with SVN r4485-r4494 (#4710)
- VESA 2.0 mode list regression fix (#4245) [backport]
Full PR list of graphics-related changes
- Add dedithering option & generalise shader passes (#4777)
- Add FMV video deinterlacer (#4689)
- Add forced borderless fullscreen mode & general window config settings rework (#4415)
- Add Jinc 2 de-dithering shader (#4684)
- Add shader preset support (#4590)
- Add simple built-in image viewer (#4632)
- Allow 3.5x and 4.5x integer scaling for the adaptive CRT shaders (#4418)
- Allow graceful failure if OpenGL context could not be created (#4228)
- Always use SDL_PIXELFORMAT_ARGB8888 for the SDL texture renderer (#4587)
- Authentic CRT colour emulation, image adjustment settings, and wide gamut monitor support (#4618)
- Clean up image capturer (#4701)
- Clean up vertical bars fix FPU code (#4174)
- Cross-platform Voodoo cleanup (#4254)
- Enable bilinear filtering for the 3dfx Voodoo by default (#4250)
- Fall back if sRGB fails (#4589)
- Fix
INT10_SetVideoMode()regression (#4182) [backport] - Fix aspect ratio of 40-column text modes on VGA with shaders that force no pixel doubling (#4397)
- Fix auto integer scaling when falling back to the
sharpshader (#4664) - Fix closest video mode calculation in showpic command (#4638)
- Fix crash on Windows when starting in fullscreen mode (#4619)
- Fix crash when setting
output = texture(#4577) - Fix for setting the same shader twice in a row (#4610)
- Fix host refresh rate always returned as 60 (#4595)
- Fix OpenGL uniform errors/warnings when using a debug context (#4594)
- Fix presentation mode regressions (#4605)
- Fix segfault on exit for some Linux systems (#4829)
- Fix setting
deditheringfrom the config & some logging fixes and improvements (#4836) - Fix setting
shader = crt-auto-machinecausing a crash at startup (#4660) - Fix tripping debug assert when starting with
--startmapperand exiting the mapper (#4554) - Fix two broken shaders (#4655)
- Fix VGA double scan regression (#4864)
- Fix VGA double scanning when setting a shader preset at startup (#4616)
- Fix VGA draw address calculation (#4062) [backport]
- Fix video output freezing 35 minutes, 47 seconds, 483 milliseconds, and 648 microseconds after startup (#4490)
- Fix wrong 640x200 mode ID in SHOWPIC.EXE (#4640)
- Further render and scaler cleanup & improvements (#4697)
- Image adjustment fixes & improvements (#4819)
- Implement in-memory shader caching in the OpenGL renderer (#4551)
- Improve
window_sizeandwindow_positionhelp text (#4704) - Improve window not in foreground SDL workaround for macOS (#4700)
- Minor fixes to renderer init. Allows KMSDRM to failover to texture mode. (#4585)
- Put all custom shader pragmas in multi-line comment blocks (#4745)
- Remove fullscreen_mode=original config option (#4596)
- Remove max frame time check in frame presentation (#4499)
- Rendering and CGA composite cleanup (#4608)
- Reset OpenGL attributes before creating the mapper's renderer (#4628)
- SDL main cleanup, part 2 — OpenGL modernisation (some of it) (#4390)
- SDL main cleanup, part 3 — Refactor window & render backend management + misc fixes & improvements (#4449)
- Simplify
ShaderManagerAPI & fix various shader loading regressions and problems (#4735) - Total frame presentation overhaul 😎 (#4438)
- Use OpenGL 3.3 Core Profile in the OpenGL render backend (#4591)
- Use std::atomic's wait over busy wait in Voodoo (#4220) [backport]
- VESA 2.0 mode list regression fix (#4245) [backport]
- VGA drawing and renderer cleanup (#4677)
Full PR list of sound-related changes
soundcanvas_modelsetting description fix. (#4298)- Add
soundcanvas_rom_dirconfig setting and environment variable helpers (#4572) - Add bounds checking to SoundBlaster's read_dma_16bit() and read_dma_8bit() (#4188)
- Add custom vcpkg overlay port for FluidSynth (#4267) [backport]
- Add denoiser to filter out residual OPL and Sound Canvas mk1 noise (#4230)
- Add seek-only mode for disk noise emulation, fix hdd noises missing i… (#4486)
- Add support for Microprose's 'The Entertainer' variant of the Innovation SSI-2001 (#4857)
- Added disk noise emulation and configurable IO throttling (#4325)
- Allow changing the current FluidSynth
soundfontconfig and the MT-32modelon-the-fly (#3982) - Always set SB per-frame callback for DAC (#4563)
- Auto-apply optimal FluidSynth chorus & reverb settings for common SoundFonts (#4817)
- CDROM Audio: Do not continue to the next track if less than 2 seconds remains (#4487)
- Defer SDL audio subsystem init until mixer init (#4665)
- Delete the GUS tick handler in the destructor (#4183) [backport]
- Don't let the mixer request frames for SoundBlaster in fast-forward mode (#4202)
- Don't save MP3 seek table to fastseek.lut file (#4311)
- Dynamically load fluidsynth library at runtime (#4222)
- Fix clang tautological compare warning and related undefined behaviour in stb_vorbis (#4571)
- Fix crash if opening the
soundfont_dirdirectory failed (#4106) - Fix deadlock on exit while LPT DAC is running (#4063)
- Fix edge case where CDROM mixer hangs at the end of a track (#4302)
- Fix GUS hang in KQ4 enhanced (#4787)
- Fix GUS Mix Control Register not getting reset to the correct value (#4271)
- Fix GUS resampling regression & emulate the GUS' output more authentically (#4219) [backport]
- Fix HDD disk noises being played for floppies v2 (#4661)
- Fix incorrect check cast in IMFC (#4226)
- Fix init order & no sound regression (#4663)
- Fix recovery from fast-forward when the Sound Canvas can't keep up (#4210)
- Fix SoundBlaster DMA regression (#4084)
- Fix SoundBlaster Notify Unlock (#4169)
- Fixed reversed audio channels for SoundBlaster Pro (#4412)
- FluidSynth configuration improvements (#4047)
- Generic Sound Canvas emulation support (#4090)
- Improve default crossfeed setting behaviour (#4223) [backport]
- Improve GUS config setting descriptions (#4252)
- Improvements to the resource loader (#4437)
- Increase the number of audio frames generated by SoundBlaster when the mixer is underflowing (#4175)
- Inject Nuked-SC55-CLAP plugin into the release packages (#4425)
- Lock the mixer thread inside disknoise_destroy() (#4373)
- Lower default master volume (#4105) [backport]
- Make mixer master gain volume atomic (#4403)
- Mute audio when the mapper is active (#4195) [backport]
- Only register disk noise callback if required (#4376)
- Paginate
MIXER /LISTMIDIoutput & fix showing the active SoundFount (#4811) - Re-enable portamento handling for FluidSynth (#4780)
- Reinstate FluidSynth as an internal dependency (#4550)
- Remove std::atomic from performance critical global variables (#4181) [backport]
- Restore deprecated mixer channel name aliases (#4400)
- Revert "Keep GUS running (and rendering) on IO port reads" (#4216) [backport]
- Simplify
midideviceandmidiconfigsettings (#4040) - Sort SoundFonts in
MIXER /LISTMIDIoutput & fix current SF2 matching (#3981) - Standardize the Sound Blaster against other audio devices (#3875)
- Tone down FluidSynth logging (#4569)
- Upgrade external vcpkg dependencies to v0.83.0-1 (#4348)
- Upgrade Nuked-SC55-CLAP to v0.8.0 (#4442)
- Upgrade the Nuked-SC55-CLAP plugin to v0.11.0 (#4748)
Full PR list of input-related changes
- Add configurable mouse mickey threshold (#4681)
- Add keyboard grabbing support (#4338)
- Add ManyMouse support to CMake scripts (#4344)
- Add mouse hack for 'Joan of Arc: Siege & the Sword' game on Hercules machine (#4699)
- Adjust VMware interface behavior to match VMware Workstation Player (#4564)
- Builtin DOS mouse driver improvements (#4578)
- Document Microsoft Digital Media Pro Keyboard scancodes (#4187)
- DOS mouse driver minor fixes/cleanups (#4356)
- Enable hotplugging joysticks (#4122)
- Enable hotplugging joysticks (2nd attempt) (#4146)
- Enforce no-TSR mouse mode on Tandy/PCJr machines (#4698)
- Ensure physical host buttons only perform one bound event (#4079)
- Ensure the line feed follows carriage return when reading from the DOS console (#4009)
- Fix debugger keypresses not being registered on Windows (#4098)
- Fix false positive key check in Windows console read multitasking subroutine (#4717)
- Fix ManyMouse support in Windows builds (#4035) [backport]
- Fix mouse TSR writing to ROM (#4719)
- Fix new PVS Studio warning in mouseif_dos_driver.cpp (#4539)
- Immediately save user mapper changes to disk (#4124)
- Improve DOS builtin mouse driver configurability (#4284)
- Improve some mouse setting descriptions (#4206) [backport]
- Increase bind name display length in the mapper to avoid truncation (#4131)
- Initial clipboard sharing support (#4036)
- Keyboard layout / code page autodetection tweaks + macOS support (#4069)
- Keyboard layout autodetection fixes/improvements (#4082)
- Mouse code cleanup and serial mouse regression fix (#4706)
- Remove wrong assertion in the keyboard autodetection code (#4293)
- Revert "Ensure physical host buttons only perform one bound event" (#4129)
- Revert CRLF keyboard change (#4067)
- Revert Hotplug Support #4122,#4138,#4143 (#4145)
- Rework builtin DOS mouse driver for better guest Windows compatibility (#4381)
- Rework the VMware mouse emulation, support the official Windows 9x driver (#4555)
- Silence unknown function warnings for more OEM mouse driver extensions (#4722)
- Suppress redundant mapper initialization at startup (#4138)
- Synchronize the reported DOS mouse driver language with the translation (#4669)
- Unpause the emulator with a remapped pause key (#4851)
- Use 'reg_dx' for the mouse double speed threshold, as stated in the Microsoft specification (#4838)
- Use floating point inputs in the mouse emulation code (SDL 3 preparation) (#4065)
- Warn about MOUSE.COM options which are not going to be implemented (#4544)
Full PR list of DOS integration related changes
- Abort mounting drives if parameters are invalid (#4806)
- Add a file_locking config option (#4024) [backport]
- Automount CD images from drives/[x] folders (#4379)
- Automount floppy images from
drives/aanddrives/bfolders (#4788) - Cleanup AUTOEXEC.BAT regeneration (#4362)
- Correct EMS Set Handle Name to read from correct registers (#4496)
- Don't set host permissions for read-only directories on POSIX (#4283) [backport]
- Filesystem fixes (#4645)
- Fix AUTOEXEC.BAT being deleted on disk swap (#4360)
- Fix choice /t repeatedly pressing default key (#4716)
- Fix command line parser bug where an extension-less file prevents execution (#4185) [backport]
- Fix emulator becoming unresponsive if the user exits the app while inside the reboot handler (#4274) [backport]
- Fix file timestamp conversion on Windows (#4339)
- Fix images sometimes not found on DOS filesystem (#4797)
- Fix reporting EMS size if large 'memsize' is configured (#4752)
- Implement auto config option for file_locking (#4721)
- Implement MDS/MDF CDROM images (#4538)
- Implement new MAKEIMG command (#4678)
- Improve
MODEcommand compatibility (#4668) - Improve mount message for multiple images (#4759)
- Introduce notifications subsystem (#4351)
- Minor DOS command improvements (#4423)
- New CPI (DOS screen font) loader (#4154)
- On Windows, clear the read-only attribute before removing a directory. (#4297) [backport]
- Remove early-exit protection (#4450)
- Remove std_fs::path and explicitly convert to UTF-16 on Windows (#4764)
- Rename files on Windows before delete (#4152) [backport]
- Replace XCOPY.EXE with the one from DOSBox-X 2025.05.03 (#4476)
- Retain CD-ROM behaviour for directories mounted with
-t cdrom(#4833) - Rewrite & improve MEM.EXE command (#4749)
- Unify IMGMOUNT and MOUNT into a single command (#4683)
- Update bundled FreeDOS xcopy.exe to version 1.9a (#4285) [backport]
- Use MOUNT command when auto-mounting CD images (#4779)
Full PR list of localisation-related changes
- Add locale definitions for additional 25 countries (#4715)
- Allow language change at runtime (#4322)
- C++ library locale autodetection fixes (#4309)
- Change 'ux' keyboard layout autodetection priority to low (#4326)
- Clean up and fix translation scripts and documentation (#4480)
- Complete support for code page 59829 (#3998)
- Consider keyboard layout list random on GNOME (#4116)
- Do not promote code pages to modern replacements (#4528)
- Enforce using Unix EOL marks in the translation subsystem (#4654)
- Fix a few issues with the Dutch (NL) translation (#4653)
- Fix country detection on Windows (#4087)
- Fix failing assertion when keyboard layout autodetection fails, prefer ROM font for autodetected code pages (#4103)
- Fix for country '0' (International English) support (#4085)
- Fix for default config file created without using translations (#4630)
- Fix for translated '-list-countries' and similar messages (#4386)
- Fix missing translation error log (#4533)
- Fix translation for keyb cmd (#4266)
- Import FreeDOS ISO/KOI/MAC/WIN code page packages (#4121)
- Improve language (translation) autodetection (#4132)
- Keyboard layout autodetection priorities (#4107)
- Kill the transliteration/romanization rules with fire 🔥🔥🔥 (#4117)
- Locale detection improvements (#4597)
- Migrate to the gettext .po localisation format (#4511)
- Minor locale updates (#4607)
- Review auto-detection priorities for Italian keyboard layouts (#4130)
- Rework locale settings and autodetection (#3951)
- Rework translated messages handling (#4074)
- Simplify 'for' help message handling (#4349)
- Support both ISO 639 (language) and ISO 3166-1 alpha-2 (territory) in the translation file names (#4541)
- Translation fixes (#4840)
- Translation handling improvements (#4656)
- Unicode engine improvements (#4119)
- Update de.lng (#4502)
- Update Dutch (NL) translation (#4827)
- Update Dutch (NL) translation (#4798)
- Update Dutch (NL) translation (#4732)
- Update Dutch (NL) translation (#4646)
- Update Dutch (nl) translation (#4265)
- Update italian (it) translation (#4853)
- Update Italian (it) translation (#4821)
- Update italian (it) translation (#4488)
- Update italian (it) translation (#4312)
- Update italian (it) translation (#4235)
- Update italian (it) translation (#4125)
- Update Italian (it_IT) translation (#4808)
- Update Italian (it_IT) translation (#4625)
- Update Polish (pl) translation (#4237)
- Update Polish (pl) translation, English string improvements (#4136)
- Update Polish (pl) translation, minor English string fix (#4086) [backport]
- Updated French translation (#4830)
- Use English strings for important messages if their translation is not up to date (#4707)
- Use LANG variable as a fallback for LC_* on POSIX systems (#4072)
- Use untranslated keyboard layout name for logging (#4313)
- Windows activeCodePage and resource file build improvements (#4526)
Full PR list of documentation-related changes
- Add ANSI Markup Editor to the translation doco (#4736)
- At last — user manual! 📚 📜 🤓 (#4822)
- Build-related documentation updates (#4367)
- Cleanup Linux build documentation, CMake is now the default build method (#4454)
- Config setting description fixes (#4820)
- Config setting help text improvements & fixes (#4761)
- Convert PVS-Studio workflow to CMake & big build system cleanup (#4299)
- docs: Add Visual Studio troubleshooting tips (#4718)
- Fix 'expand_shell_variable' description (#4624)
- Fix 'lpf' acronym in help text messages (#4615)
- Fix and improve copyright year updater script & update copyright year (#4765)
- Fix broken anchor:
documenetation->documentationin DOCUMENTATION.md (#4859) - Fix outdated links in the pull request template (#4676)
- Implement documentation versioning (#4854)
- Improve setting help formatting (#4606)
- Improve unit testing instructions (#4659)
- Minor bundled libraries and legal notes cleanup (#4673)
- Spring cleaning, part 2 🌷 🧹 🗑️ 🔥 (#4332)
- The
GUIDEandMANUALcommands open a versioned URL now (#4849) - Update CONTRIBUTING.md (#4459)
- Update contribution guidelines (#4327)
- Update Linux build instructions (#4652)
- Update macOS build instructions (#4378)
- Update mapper.cpp - correct comment about ABNT1 (#4482)
- Update Windows build instructions (#4422)
Full PR list of project maintenance related changes
- _with_debugger amended to executable name when OPT_DEBUGGER ON. (#4803)
- Adapt the Linux app_id to the Flatpak requirements (#4288) [backport]
- Add and fix additional warnings to the CMake build (#4492)
- Add ccache support to CMake build (#4744)
- Add CMake tests (#4407)
- Add cmake_test_discovery* files to gitignore (#4621)
- Add compile commits script for CMake (#4335)
- Add FROM_HASH option to the compile commits script (#4408)
- Add initial Linux CMake CI workflow (#4291)
- Add macOS CMake + vcpkg release build workflow (#4170)
- Add more metadata to the macOS executable for better observabilty (#4687)
- Add release management script & make release notes draft public (#4773)
- Add release notes differ script (#4845)
- Add sanitizer options to CMake build system, for Linux and macOS (#4401)
- Add several missing checks to the CMake build system + other fixes (#4396)
- Add Windows presets for CMake (#4184)
- Address PVS warnings (#4783)
- Allow graceful shutdown on SIGTERM (#4841)
- Build system improvements, including Linux CMake install rules (#4435)
- build: Add meson build files for REST API. (#4771)
- Bump vcpkg baseline (#4747)
- Bump vcpkg baseline (#4270)
- Bump vcpkg baseline & update FluidSynth to 2.4.5 (#4295)
- Clean up config handling code (#4570)
- Cleanup some code related to machine types (#4414)
- Cleanup the resources directory (#4479)
- Define HAVE_STRUCT_DIRENT_D_TYPE in CMake (#4741)
- Disable narrowing & conversion warnings in the CMake build and reinstate macOS CI build warning checks (#4290)
- Dynamically load Slirp library at runtime (#4330)
- Enable additional warnings for Clang and GCC 13+ (#4647)
- Enable more GCC/clang compiler warnings (#4561)
- Exclude debugger-related files from non-debugger builds (#4712)
- Fix building the Windows installer by dropping Icelandic localisation (#4536)
- Fix building with Meson (#4353)
- Fix crash when using deprecated settings in the config (#4430)
- Fix Git hash injection in CI and local builds (#4316)
- Fix issues found using sanitizer (#4720)
- Fix Meson build (#4477)
- Fix Meson build, broken after directserial removal (#4649)
- Fix missing warnings in CMake (#4641)
- Fix missing XML tag in Visual Studio solution file (#4092)
- Fix non UTF-8 characters in ManyMouse library (#4648)
- Fix platform specific parameters for ppc64le (#3996)
- Fix PVS-Studio warnings (#4686)
- Fix release notes preview & Windows installer package (#4801)
- Fix running unit tests locally on macOS (#4424)
- Fix several compiler warnings (#4392)
- Fix several SonarCube warnings (#4420)
- Fix some warnings in Windows CDROM code as shown by MSYS2 (#4115)
- Fix vcpkg compilation on Linux for newer compilers (#4828)
- Fix win32 link errors/omissions involving MIDI and locale (#4088)
- Fix writing entire autoexec description to config file. Refactor Config::WriteConfig() (#4804)
- Fixes for ~130 SonarCloud reported issues (#4674)
- Fixes for ~220 SonarCloud reported issues (#4671)
- Fixes for ~30 SonarCloud reported issues, ~15 rules cleaned up (#4726)
- Improve GCC 15.x support (#4518)
- Improve handling config setting updates & module re-initialisations (#4516)
- Improve IMGMOUNT backward compatibility mechanism (#4832)
- Improve our GitHub issue templates (#4166)
- Improve platform builds workflow (#4000)
- Improve PVS-Studio workflow (#4194)
- Improve the handling of invalid integer config settings (#4666)
- Improve the internal Unicode engine (#4521)
- Initial Linux support in CMake files (#4186)
- Major project organisation improvements (#4451)
- Make CFileInfo's destructor non-virtual (#4739)
- Make unit test execution more robust on macOS & CI (#4746)
- Migrate SDL_net to standalone asio (#4679)
- Minor Windows CMake QoL improvements (#4323)
- Move
pluginsdir to the root in the Linux & Windows packages (#4432) - Normalise build workflow names & deprecate non-CMake Windows and macOS builds (#4278)
- Only delete the build dir for the selected CMake preset in
compile-commits.sh(#4355) - Only show warnings and errors in the build output on macOS (#4399)
- Optimize FPU code to set flags (#4651)
- Organise files (part 2) (#4513)
- Partial macOS and Windows compilation output cleanup (#4398)
- Print VCPKG error log on workflow failure (#4006)
- Prune all code for unsupported platforms (#4796)
- PVS Studio warning fixes (#4363)
- Recommend and list cmake presets (#4863)
- Remove
ModuleBase(#4556) - Remove Coverity static analysis (#4171) [backport]
- Remove FluidSynth vcpkg port (#4347)
- Remove function pointer for DOSBOX_Restart (#4558)
- Remove GHC filesystem library (#4754)
- Remove KDevelop files (#4404)
- Remove MSVC project files and make the CMake the only build method on Windows (#4342)
- Remove references to LGTM and update a few CI related links (#4172)
- Remove reinterpret_cast for accessing SDL Events (#4143)
- Remove s390x and ppc64le platform builds & simplify workflow (#4192)
- Remove Tracy (#4634)
- Remove Wine support from DOS to host filesystem code (#4753)
- Replace #if WIN32 with #ifdef WIN32 (#4191)
- Replace non-ASCII copyright symbol in winres.rc (#4345)
- Revert object pool stuff (#4111)
- SDL main cleanup, part 1 (#4384)
- SDL main cleanup, part 4 — Separate OpenGL and SDL rendering backends & a cornucopia of other improvements (#4542)
- Set CMAKE_EXPORT_COMPILE_COMMANDS by default (#4209)
- Show stack trace symbols in Loguru dump (#4467)
- Simplify build options & remove serial passthrough (#4644)
- Spring cleaning, part 1 🌷 🧹 🗑️ 🔥 (#4328)
- Spring cleaning, part 3 🌷 🧹 🗑️ 🔥 (#4464)
- Sync with SVN r4485-r4494 (#4710)
- Sync/update Visual Studio filters (#4095)
- Update and always use the vcpkg baseline in CI (#4012)
- Update macOS notarize script (#4858)
- Use CMake to control macOS minimum version (#4692)
- Use short SPDX copyright headers (#4389)
- Warn about implicit fall-throughs in switch/case blocks (#4685)
- Webserver security hardening (#4772)
- Website release notes draft generation (#4818)
Full PR list of miscellaneous enhancements
- Add macOS .dosbox package support for double-click launching (#4566)
- Add REST HTTP API to expose the DOS memory for game modding & tools (#4730)
- Allow switching between legacy and modern cycles settings (#4781)
- API: Add more control over allocation strategy (#4776)
- Change display names of bool conf settings to 'on' and 'off' (#4248)
- Config setting help shortcut (#4247)
- Fixes for "toggle" config setting values (#4727)
- HTTP API improvements (#4847)
- Improve FPU emulation on non-x86 platforms (#4534)
- Improve the formatting of the written config file (#4048) [backport]
- Let unchangeable settings be queued and used on restart (#4055) [backport]
- Mapper layout fixes (#4600)
- Platforms builds workflow - add RISC-V, update to Debian 12 (#4025)
- Use emulated HLT to lower the host CPU usage in some cases (#4535)
- User manual related fixes (#4843)
Full PR list of miscellaneous fixes
- Always raise the window after startup on macOS (SDL workaround) (#4657)
- Destroy the renderer in GFX_Quit() (#4580)
- Display the correct real or protected mode cycles value in the title bar (#4221) [backport]
- Do not hard exit when encountering unimplemented PIC functions (#4225) [backport]
- Eliminate the internal
InstantLaunchverbosity level (#4054) [backport] - Fix all the unsafe 'sscanf' usage detected by CodeQL (#4670)
- Fix configuration setting case sensitivity regression (#4057) [backport]
- Fix double free in TCPClientSocket destructor (#4114)
- Fix handling of LOCK combined with other prefixes (#4775)
- Fix icache flush incorrectly tied to W^X policy (#4792)
- Fix Output label in debugger (#4723)
- Fix setting queued settings on reboot sometimes failing on Windows (#4782)
- Fix support for space in the directory name argument (#4150) [backport]
- Fixed debugger command IV truncating addresses to 16-bit (issue #4515) (#4800)
- Handle uppercase "-V" argument for version (#4690)
- Make
CALLBACK_Idle()loops more robust (#4629) - Make restart_dosbox() go through the normal shutdown routine (#4368) [backport]
- Small improvements to the web server (#4871)
- Unhardcode the layout of debugger windows (#4691)
- Unit tests compilation fix (#4329)
- Use new GH ARM64 runners and remove debian-cross docker from CI (#4158)
Full PR list of other changes
- Add HTML release notes to build artifacts (#4774)
- Bump external DOSBox Staging deps version (#4760)
- Bump macOS runner to macOS-13 (#4038) [backport]
- Check HAVE_CLOCK_GETTIME in CMake (#4393)
- ci: Fix getting the current version with
get-version.sh(#4475) - ci: Fix PVS failure due to output report change (#4762)
- Drop the Debian package & platform build CI actions (#4639)
- Fix release package name generation on macOS (#4510)
- Fix reporting of failed CI builds on Linux and macOS (#4354)
- Fix typos Nix0S to NixOS (#4017)
- Fix Windows + Ninja compilation error (#4470)
- Library upgrades (#4609)
- Lower PVS Studio (and compilation) warning limits (#4068)
- Make Windows CI build errors visible (#4382)
- meson: Fix a bad relative resource path on macOS (#4675)
- Reintroduce vcpkg binary caching (#4421)
- Remove set -e from install-icons.sh (#4405)
- Replace infinity with max float in prop parser (#4234)
- Restore Debian 11 dependency file (#4308)
- Restrict usage of warning flags only with compatible compilers (#4709)
- Revert "Normalise build workflow names & deprecate non-CMake Windows and macOS builds" (#4286)
- Set 'actions/cache' to 'v4' (#4153) [backport]
- Update debian cross docker images and CI to debian 12 (#3950)
- Update PVS-Studio workflow for the latest version (#4834)
- Update README.md (#4410)
- Upgrade download-artifact action manually (#4633)
- Use CMake to build the Windows release on CI (#4331)
- Use personal access token for the release drafter (#4319)