Azahar

Émulateur v2120.1 par syndicman

Azahar est né du fork de Citra par PabloMK7 et Lime3DS.

Dernière mise à jour :

Plateformes

Nintendo 3DS

Architecture

Mac OS X - macOS Mac OS X - macOS Intel x86 Intel x86 Apple Silicon Apple Silicon 64 bits 64 bits

Téléchargement et liens

Historique des versions

v2126.1.1
Fixed an issue where Azahar could instantly crash when opened on certain systems with poor Vulkan support. | @Wunkolo #2528
Fixed an issue which could cause Azahar's Vulkan renderer to crash when handling certain shadow textures. | @Wunkolo #2533
This an unscheduled fix release which addresses a few notable issues discovered post-launch in the 2126.1 update.
Fixes a crash in Monster Hunter 4 Ultimate after opening the equipment menu.
All users are encouraged to update as soon as is convenient.
The About menu and Azahar's log file now indicate which build variant is currently being used (MXE, MSVC or MSYS2). | @OpenSauce04 #2538
Changelog complet
This an unscheduled fix release which addresses a few notable issues discovered post-launch in the 2126.1 update. All users are encouraged to update as soon as is convenient. --- # Azahar 2126.1.1 Changelog # All - Fixed an issue where Azahar could instantly crash when opened on certain systems with poor Vulkan support. | @Wunkolo #2528 - The "Skip Presenting Duplicate Frames" setting has now been disabled by default due to minor observed regressions compared to the old behaviour. | @PabloMK7 #2530, @OpenSauce04 #2536 - Fixed an issue which could cause Azahar's Vulkan renderer to crash when handling certain shadow textures. | @Wunkolo #2533 - Fixes a crash in Monster Hunter 4 Ultimate after opening the equipment menu. # Windows - The About menu and Azahar's log file now indicate which build variant is currently being used (MXE, MSVC or MSYS2). | @OpenSauce04 #2538
v2126.1
Fixed an issue where debug builds of Azahar on Android would instantly crash due to a logic error relating to configuration validation. | @PabloMK7 #2398
Fixed crash which could occur when trying to launch any app with the Vulkan renderer while using the MXE build. | @OpenSauce04 #2392
Fixed an issue which caused HLE audio emulation to produce crackling in games that update looping PCM16 buffers while they are being played. | @Angelico2102 #2454
This minor release contains many improvements and fixes which didn't make it into the base 2126.0 release.
Of particular focus in this release are stability improvements, eliminating potential crashes in many identified scenarios.
This change fixes Vulkan related crashes in many different games and situations. Most notably, when starting missions in Monster Hunter 4 Ultimate.
Implemented a fix for a crash in Teenage Mutant Ninja Turtles: Danger of the Ooze when using the Vulkan renderer due to inaccurate handling of the rasterizer cull mode being set to an unusual value. | @PabloMK7 #2396
Fixed a regression which caused the 3DS friends menu to crash when opened. | @PabloMK7 #2412
Changelog complet
This minor release contains many improvements and fixes which didn't make it into the base 2126.0 release. Of particular focus in this release are stability improvements, eliminating potential crashes in many identified scenarios. All users are encouraged to update as soon as is convenient. --- # Azahar 2126.1 Changelog # All - Save states are now locked to the version of Azahar that they were created with. | @PabloMK7 #2394 - Attempting to load a save state from a different Azahar version will now display an error message explaining this restriction, and will also display the version of Azahar that the save state was originally created with, recommending temporarily downgrading to retrieve progress using the in-game save functionality if necessary. - This does not limit save state usage compared to previous behaviour. Before this change, loading a save state from a previous version of Azahar would just crash the emulator. This change now gracefully shows a message instead. - Fixed an issue where it was possible for texture surfaces to be deleted while in use, especially at larger internal resolution settings. | @Wunkolo #2407 - This change fixes Vulkan related crashes in many different games and situations. Most notably, when starting missions in Monster Hunter 4 Ultimate. - The highest available internal resolution scaling setting has been increased from 10x (4000x2400) to 18x (7200x4320), allowing 8K displays to take full advantage of upscaling functionality. | @72374 #1906 - Implemented a fix for a crash in Teenage Mutant Ninja Turtles: Danger of the Ooze when using the Vulkan renderer due to inaccurate handling of the rasterizer cull mode being set to an unusual value. | @PabloMK7 #2396 - Fixed an issue which caused excessive lag in the character select screen for Super Smash Bros 4. | @PabloMK7 #2412 - Fixed an issue which caused excessive lag in Mini Mario & Friends: Amiibo Challenge when walking on diagonal surfaces. | @PabloMK7 #2412 - Fixed a regression which caused the 3DS friends menu to crash when opened. | @PabloMK7 #2412 - Fixed a crash which could sometimes occur during multiplayer sessions due to thread-unsafe logic. | @PabloMK7 #2405 - Implemented optimizations to GPU command list processing which save 0.5-1ms of processing time per frame on average. | @PabloMK7 #2318 - Implement geometry shader output register banking, which fixes a lot of SEGA 3D Classics games without the need of per-game patches. | @PabloMK7 #2338 - The mentioned games still present other rendering issues that need to be fixed in future versions of the emulator. - Fix floating point denormal accuracy, which fixes various rendering issues in several games. | @Wunkolo #2350 - Fixed an issue where linear filtering was forcefully enabled with certain drivers, primarily on Android w/ Adreno. | @PabloMK7 #2445 - Fixed an issue where the 3DS Internet Browser would freeze due to incorrect core rescheduling behaviour. | @PabloMK7 #2370 - Implemented an improvement to emulated audio handling which fixes crackling sounds when an audio source's volume is changed. @Grayforz2468 #2409 - Most notable example is the Home Menu no longer having crackling music. - Fixed an issue which caused HLE audio emulation to produce crackling in games that update looping PCM16 buffers while they are being played. | @Angelico2102 #2454 - This is known to address audio issues in "Inazuma Eleven 3". - Fixed an issue in the Vulkan renderer related to the handling of disabled cubemap texture units. | @Wunkolo #2406 - This brings over a fix which was previously applied to the OpenGL renderer in a previous update. - Fixed an invalid memory access issue related to uds beacons. May fix undiscovered issues in certain multiplayer games. | @PabloMK7 #2403 - Implemented checks to ensure that Vulkan layers the system doesn't support are not enabled, avoiding crashes on certain setups. | @Wunkolo #2511 - Fixed a crash which could happen during gameplay under certain circumstances while using custom textures. | @demetriospantaleao-del #2481 # Windows (MXE) - Fixed crash which could occur when trying to launch any app with the Vulkan renderer while using the MXE build. | @OpenSauce04 #2392 - Fixed an issue where frame pacing could be inconsistent when using the MXE build. | @OpenSauce04 #2392 # Desktop - The minimum motion control sensitivity value has been reduced from 0.01 to 0.001. | @ParadiseOfMagic #2383 # Linux - The Wayland and non-Wayland AppImage have now been once again merged into a single binary which includes Wayland support. This is due to the original crash issue which caused the split now being fixed. | @OpenSauce04 #2458 - Implemented a measure to help avoid having a missing application icon with certain desktop environment setups. | @Kyuyrii #1727 # Android - Upgraded target Android SDK from Android 15 (35) to Android 17 (37). | @OpenSauce04 #2416 - Fixed various edge-case crashes related to surface handling which could occur at game boot, during screen rotation, during app suspension, or during save state loading. | @PabloMK7 #2425 - Fixed an issue where debug builds of Azahar on Android would instantly crash due to a logic error relating to configuration validation. | @PabloMK7 #2398 - Fixed an issue where, if a 3DS application closed itself or encountered a fatal error and the user selected "Abort", the emulator would crash instead of returning to the application menu. | @PabloMK7 #2399 - Fixed an issue which would cause Azahar to crash if a save state was loaded after being launched from a 3rd-party frontend. | @PabloMK7 #2452 - Fixed an issue where Azahar would crash if it had not yet performed initial setup and a 3rd-party launcher attempted to start it. | @PabloMK7 #2452 - Invalid ROMs are now displayed with an "Invalid ROM" card in the game list instead of being blank. | @OpenSauce04 #2509 - Fixed various issues/ inaccuracies related to string translation tagging. | @OpenSauce04 - UI strings which indicate which region a game is for/from (e.g. "Europe, Australia") are now translatable in the frontend for non-English languages. | @OpenSauce04 #2497 - As with all translations, this relies on translations being provided for each language by the community, and may not be translated immediately. - If you are proficient in a non-English language we support and would like to contribute, you can join our Transifex page and contribute translations here: https://app.transifex.com/azahar/azahar/dashboard/ # macOS - Enabled Liquid Glass interface elements on macOS 26. | @OpenSauce04 #2429 - Fixed an issue when using macOS 27 where connecting to local network devices such as a real 3DS would always fail (e.g. Artic Base, system files setup). | @OpenSauce04 #2428 # libretro - "Stereoscopic 3D Mode" and "Stereoscopic 3D Depth" settings are now available for the libretro core. | @XenuIsWatching #2339 - Updated NDK version used to build the Android libretro core to 29.x # Technical - The MXE build is now compiled using an LLVM+Clang based build environment, replacing the previous GCC-based stack. | @OpenSauce04 #2392 - Huge thanks to @kleisauke, who for about a year and a half has been thanklessly maintaining an unofficial LLVM MXE plugin in a GitHub repository with only a single star. Without their work, making this happen would have taken much longer than it did. - Added copyright years to all source code license headers. | @PabloMK7 #2415 - Implemented a workaround for a current compiler bug in MSVC. | @PabloMK7 #2410 - Added a new CMake option `CITRA_ADDRESS_SANITIZE`. | @PabloMK7 #2402 # FreeBSD - When building on FreeBSD, system libusb is now always used due to being bundled with the OS. | @sonphantrung #2281
v2126.1-rc5
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This release candidate fixes a single critical regression first seen in the 2126.1-rc3 prerelease. It is otherwise identical to 2126.1-rc4. For a more complete picture of what will be included in the final release, you can see the changelog for Release Candidate 1 here: https://github.com/azahar-emu/azahar/releases/tag/2126.1-rc1 --- # Azahar 2126.1-rc5 Changelog # All - Fixed a regression which caused consistent memory leakage while running an application with the OpenGL renderer. | @Wunkolo #2517 - This issue affected all platforms which support the OpenGL renderer, but the rate of memory leakage was much more drastic on Windows.
v2126.1-rc4
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This release candidate is an amendment to 2126.1-rc3. It introduces some final tweaks and fixes in preparation for the stable release. We hope that this will be the final release candidate, assuming no major issues are discovered. For a more complete picture of what will be included in the final release, you can see the changelog for Release Candidate 1 here: https://github.com/azahar-emu/azahar/releases/tag/2126.1-rc1 --- # Azahar 2126.1-rc4 Changelog # All - Implemented checks to ensure that Vulkan layers the system doesn't support are not enabled, avoiding crashes on certain setups. | @Wunkolo #2511 # Desktop - Fixed the setting for the newly introduced debug exception handler being erroneously enabled by default; it is now disabled by default. | @PabloMK7 #2505 - Having this setting enabled can cause certain game mods which specifically target emulators to crash. # Android - Invalid ROMs are now displayed with an "Invalid ROM" card in the game list instead of being blank. | @OpenSauce04 #2509 - These blank cards unintentionally contained an error string in 2126.1-rc3 due to an oversight. By the nature of this change, that issue has also been fixed.
v2126.1-rc3
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This release candidate is an amendment to 2126.1-rc2. It primarily addresses issues discovered in the prior 2126.1 prereleases. For a more complete picture of what will be included in the final release, you can see the changelog for Release Candidate 1 here: https://github.com/azahar-emu/azahar/releases/tag/2126.1-rc1 --- # Azahar 2126.1-rc3 Changelog # All - Fixed a crash first seen in 2126.1 Alpha 1 where changing the internal resolution during emulation could cause graphical artifacts and major memory leakage, resulting in a crash. | @Wunkolo #2489 - Fixed a crash which could happen during gameplay under certain circumstances while using custom textures. | @demetriospantaleao-del #2481 - Fixed a regression introduced in 2126.1 Release Candidate 1 which could cause major audio stuttering while audio stretching was enabled. | @OpenSauce04 #2487 - This issue was caused by a previously implemented attempt to improve audio latency while audio stretching was enabled (#2439). This has now been reverted. # Android - UI strings which indicate which region a game is for/from (e.g. "Europe, Australia") are now translatable in the frontend for non-English languages. | @OpenSauce04 #2497 - As with all translations, this relies on translations being provided for each language by the community, and may not be translated immediately. - If you are proficient in a non-English language we support and would like to contribute, you can join our Transifex page and contribute translations here: https://app.transifex.com/azahar/azahar/dashboard/
v2126.1-rc2
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This release candidate is an amendment to 2126.1-rc1. It addresses regressions discovered in the Android build. For a more complete picture of what will be included in the final release, you can see the previous changelog here: https://github.com/azahar-emu/azahar/releases/tag/2126.1-rc1 --- # Azahar 2126.1-rc2 Changelog # Android - Fixed a regression where using a fresh install of Azahar or resetting the on-screen controller overlay would result in the overlay layout being positioned partially off the edge of the screen for devices with a selfie camera. | @OpenSauce04 #2465 - Users affected by the aforementioned issue should reset their on-screen controller overlay layout using the side menu after updating. The issue will then be fixed. - Fixed a regression where, when the "Expand to Cutout Area" setting was enabled, any touchscreen inputs to the virtual 3DS screen would be either horizontally or vertically offset for devices with a selfie camera. | @OpenSauce04 #2469 - Slightly adjusted the positioning of the face buttons in the default portrait layout for the on-screen controller overlay for better ergonomics. | @OpenSauce04 #2468
v2126.1-rc1
Fixed an issue where debug builds of Azahar on Android would instantly crash due to a logic error relating to configuration validation. | @PabloMK7 #2398
Fixed crash which could occur when trying to launch any app with the Vulkan renderer while using the MXE build. | @OpenSauce04 #2392
Fixed an issue which caused HLE audio emulation to produce crackling in games that update looping PCM16 buffers while they are being played. | @Angelico2102 #2454
Improved the exception handler dialog to contain more useful debugging information. | @ExplosBlue #2419
Fixed a crash which could sometimes occur during multiplayer sessions due to thread-unsafe logic. | @PabloMK7 #2405
Fixed an issue which would cause Azahar to crash if a save state was loaded after being launched from a 3rd-party frontend. | @PabloMK7 #2452
Fixed an issue where Azahar would crash if it had not yet performed initial setup and a 3rd-party launcher attempted to start it. | @PabloMK7 #2452
The Wayland and non-Wayland AppImage have now been once again merged into a single binary which includes Wayland support. This is due to the original crash issue which caused the split now being fixed. | @OpenSauce04 #2458
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- Click here to see only the changes made since Azahar 2126.1-alpha1, for those who already read the previous changelog. # All - Fixed an issue where linear filtering was forcefully enabled with certain drivers, primarily on Android w/ Adreno. | @PabloMK7 #2445 - Fixed a crash which could sometimes occur during multiplayer sessions due to thread-unsafe logic. | @PabloMK7 #2405 - Fixed an issue which caused HLE audio emulation to produce crackling in games that update looping PCM16 buffers while they are being played. | @Angelico2102 #2454 - This is known to address audio issues in "Inazuma Eleven 3". - Fixed an issue where Game Boy/ Game Boy Color virtual console titles would have part of the Virtual Console menu graphic incorrectly drawn off to the right edge of the screen. | @Davey-Hughes #2459 - Improved the exception handler dialog to contain more useful debugging information. | @ExplosBlue #2419 - Fixed an issue where audio time stretching was always applied regardless emulation speed, resulting in unnecessary audio delay. | @PabloMK7 #2439 # Android - Fixed a regression in 2126.1-alpha1 where the "Expand to Cutout Area" setting didn't work correctly. | @OpenSauce04 #2447 - Fixed an issue which would cause Azahar to crash if a save state was loaded after being launched from a 3rd-party frontend. | @PabloMK7 #2452 - Fixed an issue where Azahar would crash if it had not yet performed initial setup and a 3rd-party launcher attempted to start it. | @PabloMK7 #2452 - Fixed various issues/ inaccuracies related to string translation tagging. | @OpenSauce04 # Linux - The Wayland and non-Wayland AppImage have now been once again merged into a single binary which includes Wayland support. This is due to the original crash issue which caused the split now being fixed. | @OpenSauce04 #2458 # libretro - Updated NDK version used to build the Android libretro core to 29.x # FreeBSD - When building on FreeBSD, system libusb is now always used due to being bundled with the OS. | @sonphantrung #2281 --- # Azahar 2126.1-rc1 Changelog # All - Save states are now locked to the version of Azahar that they were created with. | @PabloMK7 #2394 - Attempting to load a save state from a different Azahar version will now display an error message explaining this restriction, and will also display the version of Azahar that the save state was originally created with, recommending temporarily downgrading to retrieve progress using the in-game save functionality if necessary. - This does not limit save state usage compared to previous behaviour. Before this change, loading a save state from a previous version of Azahar would just crash the emulator. This change now gracefully shows a message instead. - Fixed an issue where it was possible for texture surfaces to be deleted while in use, especially at larger internal resolution settings. | @Wunkolo #2407 - This change fixes Vulkan related crashes in many different games and situations. Most notably, when starting missions in Monster Hunter 4 Ultimate. - The highest available internal resolution scaling setting has been increased from 10x (4000x2400) to 18x (7200x4320). | @72374 #1906 - Implemented a fix for a crash in Teenage Mutant Ninja Turtles: Danger of the Ooze when using the Vulkan renderer due to inaccurate handling of the rasterizer cull mode being set to an unusual value. | @PabloMK7 #2396 - Fixed an issue which caused excessive lag in the character select screen for Super Smash Bros 4. | @PabloMK7 #2412 - Fixed an issue which caused excessive lag in Mini Mario & Friends: Amiibo Challenge when walking on diagonal surfaces. | @PabloMK7 #2412 - Fixed a regression which caused the 3DS friends menu to crash when opened. | @PabloMK7 #2412 - Fixed a crash which could sometimes occur during multiplayer sessions due to thread-unsafe logic. | @PabloMK7 #2405 - Implemented optimizations to GPU command list processing which save 0.5-1ms of processing time per frame on average. | @PabloMK7 #2318 - Implement geometry shader output register banking, which fixes a lot of SEGA 3D Classics games without the need of per-game patches. | @PabloMK7 #2338 - The mentioned games still present other rendering issues that need to be fixed in future versions of the emulator. - Fix floating point denormal accuracy, which fixes various rendering issues in several games. | @Wunkolo #2350 - Fixed an issue where linear filtering was forcefully enabled with certain drivers, primarily on Android w/ Adreno. | @PabloMK7 #2445 - Fixed an issue where the 3DS Internet Browser would freeze due to incorrect core rescheduling behaviour. | @PabloMK7 #2370 - Implemented an improvement to emulated audio handling which fixes crackling sounds which an audio source's volume is changed. @Grayforz2468 #2409 - Most notable example is the Home Menu no longer having crackling music. - Fixed an issue which caused HLE audio emulation to produce crackling in games that update looping PCM16 buffers while they are being played. | @Angelico2102 #2454 - This is known to address audio issues in "Inazuma Eleven 3". - Fixed an issue in the Vulkan renderer related to the handling of disabled cubemap texture units. | @Wunkolo #2406 - This brings over a fix which was previously applied to the OpenGL renderer in a previous update. - Fixed an invalid memory access issue related to uds beacons. May fix undiscovered issues in certain multiplayer games. | @PabloMK7 #2403 - Fixed an issue where audio time stretching was always applied regardless emulation speed, resulting in unnecessary audio delay. | @PabloMK7 #2439 # Windows (MXE) - Fixed crash which could occur when trying to launch any app with the Vulkan renderer while using the MXE build. | @OpenSauce04 #2392 - Fixed an issue where frame pacing could be inconsistent when using the MXE build. | @OpenSauce04 #2392 # Desktop - The minimum motion control sensitivity value has been reduced from 0.01 to 0.001. | @ParadiseOfMagic #2383 # Linux - The Wayland and non-Wayland AppImage have now been once again merged into a single binary which includes Wayland support. This is due to the original crash issue which caused the split now being fixed. | @OpenSauce04 #2458 - Implemented a measure to help avoid having a missing application icon with certain desktop environment setups. | @Kyuyrii #1727 # Android - Upgraded target Android SDK from Android 15 (35) to Android 17 (37). | @OpenSauce04 #2416 - Fixed various edge-case crashes related to surface handling which could occur at game boot, during screen rotation, during app suspension, or during save state loading. | @PabloMK7 #2425 - Fixed an issue where debug builds of Azahar on Android would instantly crash due to a logic error relating to configuration validation. | @PabloMK7 #2398 - Fixed an issue where, if a 3DS application closed itself or encountered a fatal error and the user selected "Abort", the emulator would crash instead of returning to the application menu. | @PabloMK7 #2399 - Fixed an issue which would cause Azahar to crash if a save state was loaded after being launched from a 3rd-party frontend. | @PabloMK7 #2452 - Fixed an issue where Azahar would crash if it had not yet performed initial setup and a 3rd-party launcher attempted to start it. | @PabloMK7 #2452 - Fixed various issues/ inaccuracies related to string translation tagging. | @OpenSauce04 # macOS - Enabled Liquid Glass interface elements on macOS 26. | @OpenSauce04 #2429 - Fixed an issue when using macOS 27 where connecting to local network devices such as a real 3DS would always fail (e.g. Artic Base, system files setup). | @OpenSauce04 #2428 # libretro - "Stereoscopic 3D Mode" and "Stereoscopic 3D Depth" settings are now available for the libretro core. | @XenuIsWatching #2339 - Updated NDK version used to build the Android libretro core to 29.x # Technical - The MXE build is now compiled using an LLVM+Clang based build environment, replacing the previous GCC-based stack. | @OpenSauce04 #2392 - Huge thanks to @kleisauke, who for about a year and a half has been thanklessly maintaining an unofficial LLVM MXE plugin in a GitHub repository with only a single star. Without their work, making this happen would have taken much longer than it did. - Added copyright years to all source code license headers. | @PabloMK7 #2415 - Implemented a workaround for a current compiler bug in MSVC. | @PabloMK7 #2410 - Added a new CMake option `CITRA_ADDRESS_SANITIZE`. | @PabloMK7 #2402 # FreeBSD - When building on FreeBSD, system libusb is now always used due to being bundled with the OS. | @sonphantrung #2281
v2126.1-alpha1
Fixed an issue where debug builds of Azahar on Android would instantly crash due to a logic error relating to configuration validation. | @PabloMK7 #2398
Fixed crash which could occur when trying to launch any app with the Vulkan renderer while using the MXE build. | @OpenSauce04 #2392
This change fixes Vulkan related crashes in many different games and situations. Most notably, when starting missions in Monster Hunter 4 Ultimate.
Implemented a fix for a crash in Teenage Mutant Ninja Turtles: Danger of the Ooze when using the Vulkan renderer due to inaccurate handling of the rasterizer cull mode being set to an unusual value. | @PabloMK7 #2396
Fixed a regression which caused the 3DS friends menu to crash when opened. | @PabloMK7 #2412
This brings over a fix which was previously applied to the OpenGL renderer in a previous update.
Fixed various edge-case crashes related to surface handling which could occur at game boot, during screen rotation, during app suspension, or during save state loading. | @PabloMK7 #2425
Fixed an issue where, if a 3DS application closed itself or encountered a fatal error and the user selected "Abort", the emulator would crash instead of returning to the application menu. | @PabloMK7 #2399
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- # Azahar 2126.0-alpha1 Changelog # All - Save states are now locked to the version of Azahar that they were created with. | @PabloMK7 #2394 - Attempting to load a save state from a different Azahar version will now display an error message explaining this restriction, and will also display the version of Azahar that the save state was originally created with, recommending temporarily downgrading to retrieve progress using the in-game save functionality if necessary. - This does not limit save state usage compared to previous behaviour. Before this change, loading a save state from a previous version of Azahar would just crash the emulator. This change now gracefully shows a message instead. - Fixed an issue where it was possible for texture surfaces to be deleted while in use, especially at larger internal resolution settings. | @Wunkolo #2407 - This change fixes Vulkan related crashes in many different games and situations. Most notably, when starting missions in Monster Hunter 4 Ultimate. - The highest available internal resolution scaling setting has been increased from 10x (4000x2400) to 18x (7200x4320). | @72374 #1906 - Implemented a fix for a crash in Teenage Mutant Ninja Turtles: Danger of the Ooze when using the Vulkan renderer due to inaccurate handling of the rasterizer cull mode being set to an unusual value. | @PabloMK7 #2396 - Fixed an issue which caused excessive lag in the character select screen for Super Smash Bros 4. | @PabloMK7 #2412 - Fixed an issue which caused excessive lag in Mini Mario & Friends: Amiibo Challenge when walking on diagonal surfaces. | @PabloMK7 #2412 - Fixed a regression which caused the 3DS friends menu to crash when opened. | @PabloMK7 #2412 - Implemented optimizations to GPU command list processing which save 0.5-1ms of processing time per frame on average. | @PabloMK7 #2318 - Implement geometry shader output register banking, which fixes a lot of SEGA 3D Classics games without the need of per-game patches. | @PabloMK7 #2338 - The mentioned games still present other rendering issues that need to be fixed in future versions of the emulator. - Fix floating point denormal accuracy, which fixes various rendering issues in several games. | @Wunkolo #2350 - Fixed an issue where the 3DS Internet Browser would freeze due to incorrect core rescheduling behaviour. | @PabloMK7 #2370 - Implemented an improvement to emulated audio handling which fixes crackling sounds which an audio source's volume is changed. @Grayforz2468 #2409 - Most notable example is the Home Menu no longer having crackling music. - Fixed an issue in the Vulkan renderer related to the handling of disabled cubemap texture units. | @Wunkolo #2406 - This brings over a fix which was previously applied to the OpenGL renderer in a previous update. - Fixed an invalid memory access issue related to uds beacons. May fix undiscovered issues in certain multiplayer games. | @PabloMK7 #2403 # Windows (MXE) - Fixed crash which could occur when trying to launch any app with the Vulkan renderer while using the MXE build. | @OpenSauce04 #2392 - Fixed an issue where frame pacing could be inconsistent when using the MXE build. | @OpenSauce04 #2392 # Desktop - The minimum motion control sensitivity value has been reduced from 0.01 to 0.001. | @ParadiseOfMagic #2383 # Linux - Implemented a measure to help avoid having a missing application icon with certain desktop environment setups. | @Kyuyrii #1727 # Android - Upgraded target Android SDK from Android 15 (35) to Android 17 (37). | @OpenSauce04 #2416 - Fixed various edge-case crashes related to surface handling which could occur at game boot, during screen rotation, during app suspension, or during save state loading. | @PabloMK7 #2425 - Fixed an issue where debug builds of Azahar on Android would instantly crash due to a logic error relating to configuration validation. | @PabloMK7 #2398 - Fixed an issue where, if a 3DS application closed itself or encountered a fatal error and the user selected "Abort", the emulator would crash instead of returning to the application menu. | @PabloMK7 #2399 # macOS - Enabled Liquid Glass interface elements on macOS 26. | @OpenSauce04 #2429 - Fixed an issue when using macOS 27 where connecting to local network devices such as a real 3DS would always fail (e.g. Artic Base, system files setup). | @OpenSauce04 #2428 # libretro - "Stereoscopic 3D Mode" and "Stereoscopic 3D Depth" settings are now available for the libretro core. | @XenuIsWatching #2339 # Technical - The MXE build is now compiled using an LLVM+Clang based build environment, replacing the previous GCC-based stack. | @OpenSauce04 #2392 - Huge thanks to @kleisauke, who for about a year and a half has been thanklessly maintaining an unofficial LLVM MXE plugin in a GitHub repository with only a single star. Without their work, making this happen would have taken much longer than it did. - Added copyright years to all source code license headers. | @PabloMK7 #2415 - Implemented a workaround for a current compiler bug in MSVC. | @PabloMK7 #2410 - Added a new CMake option `CITRA_ADDRESS_SANITIZE`. | @PabloMK7 #2402
v2126.0
Completely revamped the implementation of GDB functionality, with numerous debugging improvements and new debugging features. | @PabloMK7 #2086
Improved the accuracy of emulated CPU timings, fixing potential timing-related bugs. | @ApfelTeeSaft #2262
There is a minor known issue in the new MXE build for Windows where frame pacing may be slightly inconsistent. A potential fix for this issue has already been implemented, but requires additional testing. This fix will be included in the 2126.1 update.
Improved GPU interrupt queue & GPU timing emulation. This feature is highly experimental and is disabled by default, the toggle for it can be found in the graphics settings: "Simulate 3DS GPU timings". | @PabloMK7 #2095, #2145
Fixed a crash on color fill when using the Vulkan Renderer. | @capito27 #2241
Fixed a compilation error when building in debug mode. | @Wunkolo #2132
Fixed an inability to generate translation source files in modern build environments due to an outdated `qt_add_lupdate` call. | @OpenSauce04 #2071
Fixed a crash which could occur when an application submits a vertex array with an invalid base address. | @PabloMK7 #2299
Changelog complet
### Known Issue Notice There is a minor known issue in the new MXE build for Windows where frame pacing may be slightly inconsistent. A potential fix for this issue has already been implemented, but requires additional testing. This fix will be included in the 2126.1 update. **Most users likely won't notice this issue**, so use of the MXE build is still encouraged. The MXE build will replace the MSYS2 build in 2127.0. Thank you for your understanding. --- # Azahar 2126.0 Changelog # All - Improved GPU interrupt queue & GPU timing emulation. This feature is highly experimental and is disabled by default, the toggle for it can be found in the graphics settings: "Simulate 3DS GPU timings". | @PabloMK7 #2095, #2145 - This change improves emulation accuracy by more closely mirroring the behaviour of real hardware. - This PR is known to fix GPU timing issues in Luigi's Mansion 2: Dark Moon, which is now made playable without use of the "delay render thread" option, but likely impacts many other games as well. - This PR also introduces a fix for an issue in Super Mario 3D Land which would prevent users from loading a save file after completing the game. - This is a big change behind the scenes, and may inadvertently introduce issues due to its large scope. Please report any issues which may have been introduced by the new behaviour. - Games that use dynamic FPS and don't reach 60 FPS on real hardware will also not reach 60 FPS on Azahar with this feature enabled. - The PR description contains an in-depth technical explanation of the changes. - Completely revamped the implementation of GDB functionality, with numerous debugging improvements and new debugging features. | @PabloMK7 #2086 - The PR description for this change goes into extensive detail about the changes, so read there for more information if curious. - Refactored how filesystem access is handled for special files (such as Z3DS files), in preparation for changes coming in Azahar 2127. | @PabloMK7 #2352 - Fixes compressed 3DSX files (`.z3dsx`) with an embedded RomFS failing to load properly. - Users should not expect any visible changes as this is only an internal restructuring of the code. If that is not the case please consider [filing a bug report](https://github.com/azahar-emu/azahar/issues). - **NOTE: Due to internal changes on how system files are stored, system files set up on Azahar 2126 or newer will become incompatible with older Azahar versions. On the other hand, system files set up on versions older than Azahar 2126 will remain backwards compatible for the foreseeable future**. - More details on why this change is neccessary can be found in the pull request. - Fixed an issue where screenshots produced by Azahar could have their colour channels swapped on certain platforms and system configurations. | @mal-cap #2170 - Added a setting to skip presenting duplicate frames, which is enabled by default. | @KojoZero #1867 - This makes frame generation software work properly with Azahar. - Added a new option which allows users to toggle whether the emulated 3DS system thinks headphones are plugged in. | @PabloMK7 #2099 - A very small number of games have altered behaviour when using wired headphones. For example, when headphones are plugged in while playing Super Mario 3D Land, the audio playback is slightly altered. - In multiplayer rooms, users' usernames are now pulled directly from the username set in the System tab in Azahar's settings instead of being a separate option. - Fixed a crash which could occur when an application submits a vertex array with an invalid base address. | @PabloMK7 #2299 - Known to fix a crash in the credits of Mario & Luigi: Superstar Saga. May fix other problems elsewhere. - Adjusted rom loading error messages displayed to users to be more easily understandable and user-friendly. | @PabloMK7 #2097 - LG2/EX2 subroutine functions are now only emitted for shaders when necessary, instead of for every shader, reducing memory usage. | @Wunkolo #2046 - Fixed an issue where certain older homebrew software would get stuck on a black screen at boot. | @Masamune3210 #2143 - Migrated many of our non-English language translations to simplified language codes, allowing correct system languages to be detected more consistently. | @OpenSauce04 #2152 - Fixed an issue related to disabled cubemap texture units; known fixes in Brain Age: Concentration Training. | @Wunkolo #2159 - Adjusted the unimplemented gas stub behaviour for the Vulkan renderer, fixing a known graphical issue in the Monster Hunter games. | @RedBlackAka #2165 - Fixed a typo in a settings log message. | @72374 #2076 - Fixed a possible integer overflow issue relating to custom Luma3DS mapping + optimized implementation. | @0x48kirneh #2202 - Implemented APT:MapProgramIdForDebug. | @PabloMK7 #2224 - Fixed handling of APT communication between applications. | @DaniElectra #2225 - This fixes an issue in the Miiverse posting applet. - Fixed behaviour of HTTPC:GetRequestState when the request still has pending post data. | @PabloMK7 #2234 - This fixes the miiverse applet not being able to upload posts due to incorrect behaviour. - Added an API to allow applications to register and unregister URL replacements. [Pretendo Network Nimbus now uses this to submit rules for URL replacement](https://github.com/PretendoNetwork/nimbus/pull/88). | @PabloMK7 #2234 - Fixed a crash on color fill when using the Vulkan Renderer. | @capito27 #2241 - Disabled PICA debug functionality on all platforms, with it now being a configurable option. | @PabloMK7 #2254 - Fixed an issue related to fill surface downloading, which could cause graphical bugs in some edge cases. | @PabloMK7 #2270 - Implemented APT::GetAppletProgramInfo. | @PabloMK7 #2272 - Known to be used by Miiverse, but is also likely used elsewhere. - Improved the accuracy of emulated CPU timings, fixing potential timing-related bugs. | @ApfelTeeSaft #2262 - Known to fix a softlock issue in Lego City Undercover: The Chase Begins, possibly fixes other issues elsewhere. - Fixed an issue which would corrupt the suspended application framembuffer in some cases. - This prevented users from posting images to Miiverse, which is now fixed. | @PabloMK7 #2272 - Improvements to the accuracy of the GSP service, fixing issues relating to suspending applications, posting to Miiverse, and Donkey Kong Country Returns. | @PabloMK7 #2273 - Likely addresses other unknown issues elsewhere. - Replaced various URLs which previously linked to archived Citra website pages to instead point to the Azahar wiki. | @RedBlackAka #1881 - When using multiplayer rooms, it is now possible to set "No Preference" as the preferred game. | @PabloMK7 #2296 - Fixed an issue where auto-mapping could behave incorrectly with some controllers. | @DavidRGriswold #2317 - Assorted minor fixes relating to analog input. | @DavidRGriswold #2348 # Android - Added multiplayer room functionality. | Kleidis, @rtiangha, @Gamer64ytb, @weihuoya, @PabloMK7 #830 - This change includes most of the multiplayer functionality found in the desktop version of Azahar. - Public room browsing, private room creation, private room joining and chat are implemented. - Public room creation and some minor UI features, such as room descriptions or currently playing applications, are not yet implemented. - This feature does NOT implement communication with real consoles nor direct connect between Android devices in near proximity. - Android devices need to be connected to the same Wifi network to be able to play together (or use the Android built-in hotspot or wifi sharing functionality). - Public room browsing is possible as long as the user provides an unofficial web API URL in the new network settings. Official public rooms are still not provided by Azahar. - On devices where ANGLE is used for OpenGL rendering, the Vulkan renderer is forcefully enabled due to extremely apparent visual defects when using the OpenGL renderer with ANGLE. | @OpenSauce04 #2197 - You can tell if your device is affected by checking the renderer selection option in Azahar's settings. It will be greyed out and will display a message related to ANGLE when selected if you are using an ANGLE-enabled device. - Most devices will not yet be affected, however on and after Android 17's release, ANGLE will become enabled by default and mandatory for all _newly released devices_ (not necessarily devices updating to Android 17 from an earlier version). - Fixed an issue where attempting to access files in the Download directory (e.g. CIA files) could sometimes fail after performing certain actions. | @OpenSauce04 #2385 - Added a new "Combo Button" to the on-screen controller overlay which presses multiple buttons at the same time when pressed. @ADAS2024 #1244 #2266 - The buttons activated when the Combo Button is selected can be configured from the settings. - This button is hidden by default, and must be toggled on in the overlay options. - Assorted improvements and new options relating to secondary screen functionality. | @DavidRGriswold #1385 - Fixed several issues related to the "Adjust Scale" menu. | @OpenSauce04 #2256 # Android (vanilla) - Added an in-app toggleable update checker which runs when Azahar starts, functioning the same way as the desktop version. | @OpenSauce04 #2265 # Desktop - Implemented a CLI (command line interface) for Azahar's compression functionality via the new `-c` and `-x` options. | @OpenSauce04 #2084 - See `azahar --help` for more info. - Various improvements to controller integration with Azahar's desktop frontend, including controller hotkeys. | @DavidRGriswold #1717 - Fixed some hotkeys not working correctly when using the Separate Windows screen layout. | @DavidRGriswold #1967 - After uninstalling an app, update or DLC, the game list is now refreshed. | @andrey545454 #2237 - Adjusted "Open Azahar Folder" menubar option to now include variants "NAND Folder" and "SDMC Folder". | @PabloMK7 #2279 - Fixed the Outer Right Camera setting incorrectly reading its value from the Inner Camera Flip setting. | @PabloMK7 #2303 - Fixed an issue related to clearing bindings for hotkeys bound to controllers. | @DavidRGriswold #2325 - Slightly adjusted tooltip for "Disable Right Eye Rendering" setting for increased clarity. | @72374 #2284 # Windows - Introduced the new "MXE" build variant previously discussed in [an announcement on our Discord server](https://discord.com/channels/1222589950365794477/1222591002145984675/1501920882069602315). | @OpenSauce04 #2044 - This new variant will serve as the replacement for the now-deprecated MSYS2 variant, which, as also previously discussed in the above post, will be removed in the 2127.0 update. - Users will be able to migrate from MSYS2 to MXE seamlessly, so existing MSYS2 users have no cause for concern. - For more information about this build, please read the aforementioned announcement post. - Fixed a long-standing issue where Azahar's detection of the system language could be incorrect, resulting in an unexpected language being used in the UI. | @exertustfm #1558 - Many default messages in the user interface provided by upstream Qt (OK, Cancel, etc) are now translated for most languages. | @OpenSauce04 #2153 - For the following languages, these UI strings currently remain untranslated as before due to no translation being available for use in upstream Qt: - Greek, Indonesian, Norwegian Bokmål, Lithuanian, Romania, Vietnamese # macOS - Fixed an issue where SDMC filenames which contain unicode characters could appear and behave partially corrupted within emulated applications. | @RigleGit #2079 - Fixed several minor issues relating to MoltenVK/Metal. | @sergeymild #2149 # Linux - Fixed an issue where analog inputs for certain controllers could be incorrectly centered. | @DavidRGriswold #2328 - This fixes an issue on the Steam Deck where the L and R triggers were stuck pressed down. May also fix issues with other controllers. # Docker - Distribute an ARM64 Docker image binary. | @OpenSauce04 #2151 # Technical - The `USE_DISCORD_PRESENCE` CMake option has been renamed to `ENABLE_DISCORD_RPC`. Downstream users/maintainers should compensate for this accordingly. | @OpenSauce04 #2216 - The `ENABLE_QT_TRANSLATION` CMake option is now enabled by default, adding `qt6-tools-dev` or your package manager's equivalent as a new default build dependency for the Qt frontend if you weren't already manually enabling this flag. | @OpenSauce04 #2206 - Fixed linker warning spam related to the minimum macOS version when Discord RPC was enabled. | @OpenSauce04 #2216 - This issue has existed for a very long time, and doesn't seem to have ever caused any actual issues. This is just a technical correctness thing. - Fixed a compilation failure which could manifest when a system MoltenVK install was present, even if it wasn't being used. | @crueter #2183 - Fixed a compilation error when building in debug mode. | @Wunkolo #2132 - Fixed an issue which prevented the azahar-room Dockerfile from building with Podman. | @OpenSauce04 #2151 - Added debug scopes to OpenGL renderer rasterizer and texture runtime. | @Wunkolo #2133 - Extensive Kotlin codebase formatting cleanup + new formatting/style enforcement in CI via ktlint. | @OpenSauce04 #2204 - Fixed building with OpenAL enabled on OpenBSD. | @OpenSauce04 #2058 - Fixed an inability to generate translation source files in modern build environments due to an outdated `qt_add_lupdate` call. | @OpenSauce04 #2071 - Updated NDK and AGP to more recent versions. | @OpenSauce04 #2068 - Fixed a compilation issue when building with MSYS2 due to upstream package changes. | @PabloMK7 #2236 - Fixed a potential build failure due to a missing include. | @asyync1024 #2232 - Fixed a build failure when attempting to build the libretro core with MSVC due to a malformed switch case. | @XenuIsWatching #2267 - Updated NDK used to build Android libretro core to r27d. | @cscd98 #2298 - Changed all internal references to `azahar_libretro` to instead refer to `citra_libretro` to follow pre-existing project convention. | @OpenSauce04 #2304 - The compiled library filename remains unchanged: `azahar_libretro.*`. - Azahar's build process now recognizes the new environment variable `CITRA_USE_TAG_AS_VERSION`, which, when defined, sets the Azahar version string to the output of: `git describe --tags --dirty`. | @OpenSauce04 #2302
v2126.0-rc5
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- > [!NOTE] > This changelog is relative to 2126.0-rc4. You can find the previous changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2126.0-rc4). --- # Azahar 2126.0-rc5 Changelog # All - Refactored how filesystem access is handled for special files (such as Z3DS files), in preparation for changes coming in Azahar 2127. | @PabloMK7 #2352 - Fixes compressed 3DSX files (`.z3dsx`) with an embedded RomFS failing to load properly. - Users should not expect any visible changes as this is only an internal restructuring of the code. If that is not the case please consider [filing a bug report](https://github.com/azahar-emu/azahar/issues). - **NOTE: Due to internal changes on how system files are stored, system files set up on Azahar 2126 or newer will become incompatible with older Azahar versions. On the other hand, system files set up on versions older than Azahar 2126 will remain backwards compatible for the foreseeable future**. - More details on why this change is neccessary can be found in the pull request. # Desktop - Fixed an issue where the "Old 3DS setup" and "New 3DS setup" labels were erroneously swapped in the Set Up System Files menu. | @OpenSauce04 #2351
v2126.0-rc4
Fixed a crash which could occur when using a controller which has a physical touchpad (e.g. PlayStation controller). | @DavidRGriswold #2314 #2346
Fixed an issue where analog inputs for certain controllers could be incorrectly centered. | @DavidRGriswold #2328
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Fixed an issue where having a PS4/PS5 controller connected could cause Azahar to hang when launched. | @DavidRGriswold #2345
Fixed an issue where auto-mapping could behave incorrectly with some controllers. | @DavidRGriswold #2317
Fixed an issue relating to clearing bindings for hotkeys bound to controllers. | @DavidRGriswold #2325
Assorted minor fixes relating to analog input. | @DavidRGriswold #2348
This fixes an issue on the Steam Deck where the L and R triggers were stuck pressed down. May also fix issues with other controllers.
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- > [!NOTE] > This changelog is relative to 2126.0-rc3. You can find the previous changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2126.0-rc3). --- # Azahar 2126.0-rc4 Changelog # All - Fixed a crash which could occur when using a controller which has a physical touchpad (e.g. PlayStation controller). | @DavidRGriswold #2314 #2346 - Fixed an issue where having a PS4/PS5 controller connected could cause Azahar to hang when launched. | @DavidRGriswold #2345 - Fixed an issue where auto-mapping could behave incorrectly with some controllers. | @DavidRGriswold #2317 - Assorted minor fixes relating to analog input. | @DavidRGriswold #2348 # Linux - Fixed an issue where analog inputs for certain controllers could be incorrectly centered. | @DavidRGriswold #2328 - This fixes an issue on the Steam Deck where the L and R triggers were stuck pressed down. May also fix issues with other controllers. # Desktop - Fixed an issue relating to clearing bindings for hotkeys bound to controllers. | @DavidRGriswold #2325 - Slightly adjusted tooltip for "Disable Right Eye Rendering" setting for increased clarity. | @72374 #2284 # Android - Fixed a typo in the multiplayer room join message. | @OpenSauce04 #2326
v2126.0-rc3
Fixed a crash which could occur when an application submits a vertex array with an invalid base address. | @PabloMK7 #2299
Fixed a crash caused by a missing eShop applet title ID, affecting some applications. | @PabloMK7 #2293
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Also fixes crashes when creating or joining private multiplayer rooms on Android when the preferred game option is left untouched.
Known to fix a crash in the credits of Mario & Luigi: Superstar Saga. May fix other problems elsewhere.
> This changelog is relative to 2126.0-rc2. For a more complete picture of what will be included in the 2126.0 update, see [the previous changelog](https://github.com/azahar-emu/azahar/releases/tag/2126.0-rc2).
Fixed the Outer Right Camera setting incorrectly reading its value from the Inner Camera Flip setting. | @PabloMK7 #2303
Updated NDK used to build Android libretro core to r27d. | @cscd98 #2298
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- > [!NOTE] > This changelog is relative to 2126.0-rc2. For a more complete picture of what will be included in the 2126.0 update, see [the previous changelog](https://github.com/azahar-emu/azahar/releases/tag/2126.0-rc2). --- # Azahar 2126.0-rc3 Changelog # All - When using multiplayer rooms, it is now possible to set "No Preference" as the preferred game. | @PabloMK7 #2296 - Also fixes crashes when creating or joining private multiplayer rooms on Android when the preferred game option is left untouched. - Fixed a crash which could occur when an application submits a vertex array with an invalid base address. | @PabloMK7 #2299 - Known to fix a crash in the credits of Mario & Luigi: Superstar Saga. May fix other problems elsewhere. - Fixed a crash caused by a missing eShop applet title ID, affecting some applications. | @PabloMK7 #2293 # Desktop - Fixed the Outer Right Camera setting incorrectly reading its value from the Inner Camera Flip setting. | @PabloMK7 #2303 # Technical - Updated NDK used to build Android libretro core to r27d. | @cscd98 #2298 - Changed all internal references to `azahar_libretro` to instead refer to `citra_libretro` to follow pre-existing project convention. | @OpenSauce04 #2304 - The compiled library filename remains unchanged: `azahar_libretro.*`. - Azahar's build process now recognizes the new environment variable `CITRA_USE_TAG_AS_VERSION`, which, when defined, sets the Azahar version string to the output of: `git describe --tags --dirty`. | @OpenSauce04 #2302
v2126.0-rc2
Completely revamped the implementation of GDB functionality, with numerous debugging improvements and new debugging features. | @PabloMK7 #2086
Improved the accuracy of emulated CPU timings, fixing potential timing-related bugs. | @ApfelTeeSaft #2262
Improved GPU interrupt queue & GPU timing emulation. This feature is highly experimental and is disabled by default, the toggle for it can be found in the graphics settings: "Simulate 3DS GPU timings". | @PabloMK7 #2095, #2145
Fixed a crash on color fill when using the Vulkan Renderer. | @capito27 #2241
Fixed a compilation error when building in debug mode. | @Wunkolo #2132
Fixed an inability to generate translation source files in modern build environments due to an outdated `qt_add_lupdate` call. | @OpenSauce04 #2071
Fixed an issue related to fill surface downloading, which could cause graphical bugs in come edge cases. | @PabloMK7 #2270
Added a new "Combo Button" to the on-screen controller overlay which presses multiple buttons at the same time when pressed. @ADAS2024 #1244 #2266
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- > [!NOTE] > 2126.0-rc1 was reuploaded as 2126.0-rc2 to address a critical stability issue affecting the Android build. --- # Azahar 2126.0-rc2 Changelog # All - Improved GPU interrupt queue & GPU timing emulation. This feature is highly experimental and is disabled by default, the toggle for it can be found in the graphics settings: "Simulate 3DS GPU timings". | @PabloMK7 #2095, #2145 - This change improves emulation accuracy by more closely mirroring the behaviour of real hardware. - This PR is known to fix GPU timing issues in Luigi's Mansion 2: Dark Moon, which is now made playable without use of the "delay render thread" option, but likely impacts many other games as well. - This PR also introduces a fix for an issue in Super Mario 3D Land which would prevent users from loading a save file after completing the game. - This is a big change behind the scenes, and may inadvertently introduce issues due to its large scope. Please report any issues which may have been introduced by the new behaviour. - Games that use dynamic FPS and don't reach 60 FPS on real hardware will also not reach 60 FPS on Azahar with this feature enabled. - The PR description contains an in-depth technical explanation of the changes. - Completely revamped the implementation of GDB functionality, with numerous debugging improvements and new debugging features. | @PabloMK7 #2086 - The PR description for this change goes into extensive detail about the changes, so read there for more information if curious. - Fixed an issue where screenshots produced by Azahar could have their colour channels swapped on certain platforms and system configurations. | @mal-cap #2170 - Added a setting to skip presenting duplicate frames, which is enabled by default. | @KojoZero #1867 - This makes frame generation software work properly with Azahar. - Added a new option which allows users to toggle whether the emulated 3DS system thinks headphones are plugged in. | @PabloMK7 #2099 - A very small number of games have altered behaviour when using wired headphones. For example, when headphones are plugged in while playing Super Mario 3D Land, the audio playback is slightly altered. - In multiplayer rooms, users' usernames are now pulled directly from the username set in the System tab in Azahar's settings instead of being a separate option. - Adjusted rom loading error messages displayed to users to be more easily understandable and user-friendly. | @PabloMK7 #2097 - LG2/EX2 subroutine functions are now only emitted for shaders when necessary, instead of for every shader, reducing memory usage. | @Wunkolo #2046 - Fixed an issue where certain older homebrew software would get stuck on a black screen at boot. | @Masamune3210 #2143 - Migrated many of our non-English language translations to simplified language codes, allowing correct system languages to be detected more consistently. | @OpenSauce04 #2152 - Fixed an issue related to disabled cubemap texture units; known fixes in Brain Age: Concentration Training. | @Wunkolo #2159 - Adjusted the unimplemented gas stub behaviour for the Vulkan renderer, fixing a known graphical issue in the Monster Hunter games. | @RedBlackAka #2165 - Fixed a typo in a settings log message. | @72374 #2076 - Fixed a possible integer overflow issue relating to custom Luma3DS mapping + optimized implementation. | @0x48kirenh #2202 - Implemented APT:MapProgramIdForDebug. | @PabloMK7 #2224 - Fixed handling of APT communication between applications. | @DaniElectra #2225 - This fixes an issue in the Miiverse posting applet. - Fixed behaviour of HTTPC:GetRequestState when the request still has pending post data. | @PabloMK7 #2234 - This fixes the miiverse applet not being able to upload posts due to incorrect behaviour. - Added an API to allow applications to register and unregister URL replacements. [Pretendo Network Nimbus now uses this to submit rules for URL replacement](https://github.com/PretendoNetwork/nimbus/pull/88). | @PabloMK7 #2234 - Fixed a crash on color fill when using the Vulkan Renderer. | @capito27 #2241 - Disabled PICA debug functionality on all platforms, with it now being a configurable option. | @PabloMK7 #2254 - Fixed an issue related to fill surface downloading, which could cause graphical bugs in come edge cases. | @PabloMK7 #2270 - Implemented APT::GetAppletProgramInfo. | @PabloMK7 #2272 - Known to be used by Miiverse, but is also likely used elsewhere. - Improved the accuracy of emulated CPU timings, fixing potential timing-related bugs. | @ApfelTeeSaft #2262 - Known to fix a softlock issue in Lego City Undercover: The Chase Begins, possibly fixes other issues elsewhere. - Fixed an issue which would corrupt the suspended application framembuffer in some cases. - This prevented users from posting images to Miiverse, which is now fixed. | @PabloMK7 #2272 - Improvements to the accuracy of the GSP service, fixing issues relating to suspending applications, posting to Miiverse, and Donkey Kong Country Returns. | @PabloMK7 #2273 - Likely addresses other unknown issues elsewhere. - Replaced various URLs which previously linked to archived Citra website pages to instead point to the Azahar wiki. | @RedBlackAka #1881 # Android - Added multiplayer room functionality. | Kleidis, @rtiangha, @Gamer64ytb, @weihuoya, @PabloMK7 #830 - This change includes most of the multiplayer functionality found in the desktop version of Azahar. - Public room browsing, private room creation, private room joining and chat are implemented. - Public room creation and some minor UI features, such as room descriptions or currently playing applications, are not yet implemented. - This feature does NOT implement communication with real consoles nor direct connect between Android devices in near proximity. - Android devices need to be connected to the same Wifi network to be able to play together (or use the Android built-in hotspot or wifi sharing functionality). - Public room browsing is possible as long as the user provides an unofficial web API URL in the new network settings. Official public rooms are still not provided by Azahar. - On devices where ANGLE is used for OpenGL rendering, the Vulkan renderer is forcefully enabled due to extremely apparent visual defects when using the OpenGL renderer with ANGLE. | @OpenSauce04 #2197 - You can tell if your device is affected by checking the renderer selection option in Azahar's settings. It will be greyed out and will display a message related to ANGLE when selected if you are using an ANGLE-enabled device. - Most devices will not yet be affected, however on and after Android 17's release, ANGLE will become enabled by default and mandatory for all _newly released devices_ (not necessarily devices updating to Android 17 from an earlier version). - Added a new "Combo Button" to the on-screen controller overlay which presses multiple buttons at the same time when pressed. @ADAS2024 #1244 #2266 - The buttons activated when the Combo Button is selected can be configured from the settings. - This button is hidden by default, and must be toggled on in the overlay options. - Assorted improvements and new options relating to secondary screen functionality. | @DavidRGriswold #1385 - Fixed several issues related to the "Adjust Scale" menu. | @OpenSauce04 #2256 # Android (vanilla) - Added an in-app toggleable update checker which runs when Azahar starts, functioning the same way as the desktop version. | @OpenSauce04 #2265 # Desktop - Implemented a CLI (command line interface) for Azahar's compression functionality via the new `-c` and `-x` options. | @OpenSauce04 #2084 - See `azahar --help` for more info. - Various improvements to controller integration with Azahar's desktop frontend, including controller hotkeys. | @DavidRGriswold #1717 - Fixed some hotkeys not working correctly when using the Separate Windows screen layout. | @DavidRGriswold #1967 - After uninstalling an app, update or DLC, the game list is now refreshed. | @andrey545454 #2237 - Adjusted "Open Azahar Folder" menubar option to now include variants "NAND Folder" and "SDMC Folder". | @PabloMK7 #2279 # Windows - Introduced the new "MXE" build variant previously discussed in [an announcement on our Discord server](https://discord.com/channels/1222589950365794477/1222591002145984675/1501920882069602315). | @OpenSauce04 #2044 - This new variant will serve as the replacement for the now-deprecated MSYS2 variant, which, as also previously discussed in the above post, will be removed in the 2127.0 update. - Users will be able to migrate from MSYS2 to MXE seamlessly, so existing MSYS2 users have no cause for concern. - For more information about this build, please read the aforementioned announcement post. - Fixed a long-standing issue where Azahar's detection of the system language could be incorrect, resulting in an unexpected language being used in the UI. | @exertustfm #1558 - Many default messages in the user interface provided by upstream Qt (OK, Cancel, etc) are now translated for most languages. | @OpenSauce04 #2153 - For the following languages, these UI strings currently remain untranslated as before due to no translation being available for use in upstream Qt: - Greek, Indonesian, Norwegian Bokmål, Lithuanian, Romania, Vietnamese # macOS - Fixed an issue where SDMC filenames which contain unicode characters could appear and behave partially corrupted within emulated applications. | @RigleGit #2079 - Fixed several minor issues relating to MoltenVK/Metal. | @sergeymild #2149 # Docker - Distribute an ARM64 Docker image binary. | @OpenSauce04 #2151 # Technical - The `USE_DISCORD_PRESENCE` CMake option has been renamed to `ENABLE_DISCORD_RPC`. Downstream users/maintainers should compensate for this accordingly. | @OpenSauce04 #2216 - The `ENABLE_QT_TRANSLATION` CMake option is now enabled by default, adding `qt6-tools-dev` or your package manager's equivalent as a new default build dependency for the Qt frontend if you weren't already manually enabling this flag. | @OpenSauce04 #2206 - Fixed linker warning spam related to the minimum macOS version when Discord RPC was enabled. | @OpenSauce04 #2216 - This issue has existed for a very long time, and doesn't seem to have ever caused any actual issues. This is just a technical correctness thing. - Fixed a compilation failure which could manifest when a system MoltenVK install was present, even if it wasn't being used. | @crueter #2183 - Fixed a compilation error when building in debug mode. | @Wunkolo #2132 - Fixed an issue which prevented the azahar-room Dockerfile from building with Podman. | @OpenSauce04 #2151 - Added debug scopes to OpenGL renderer rasterizer and texture runtime. | @Wunkolo #2133 - Extensive Kotlin codebase formatting cleanup + new formatting/style enforcement in CI via ktlint. | @OpenSauce04 #2204 - Fixed building with OpenAL enabled on OpenBSD. | @OpenSauce04 #2058 - Fixed an inability to generate translation source files in modern build environments due to an outdated `qt_add_lupdate` call. | @OpenSauce04 #2071 - Updated NDK and AGP to more recent versions. | @OpenSauce04 #2068 - Fixed a compilation issue when building with MSYS2 due to upstream package changes. | @PabloMK7 #2236 - Fixed a potential build failure due to a missing include. | @asyync1024 #2232 - Fixed a build failure when attempting to build the libretro core with MSVC due to a malformed switch case. | @XenuIsWatching #2267
v2125.1.3
Backported a fix for linker warnings when building with Discord rich presence on macOS, first introduced in 2126.0 Alpha 2. | @OpenSauce04 #2216
Introduced changes to dynarmic which fix a build issue introduced by MSYS2 package updates. | @PabloMK7 #2236
This is an unscheduled release which almost exclusively addresses issues in the macOS version of Azahar.
Fixed an issue where Azahar could instantly freeze on boot depending on certain factors such as OS version and Azahar user data content. | @OpenSauce04 #2244
Primarily, it fixes an issue experienced by many users where Azahar could potentially freeze when opened.
Changelog complet
This is an unscheduled release which almost exclusively addresses issues in the macOS version of Azahar. Primarily, it fixes an issue experienced by many users where Azahar could potentially freeze when opened. This issue didn't affect all users, and whether or not it appeared was dependent on multiple factors such as the macOS version being run and the macOS version Azahar was built with, and the current state of the user's Azahar directory. Because of this, it took some time to determine the root cause of the issue. Apologies for any inconvenience this may have caused for any affected users. --- # Azahar 2125.1.3 Changelog # macOS - Fixed an issue where Azahar could instantly freeze on boot depending on certain factors such as OS version and Azahar user data content. | @OpenSauce04 #2244 # Technical - Backported a fix for linker warnings when building with Discord rich presence on macOS, first introduced in 2126.0 Alpha 2. | @OpenSauce04 #2216 - The CMake option name change introduced in that PR has **not** been backported. - Introduced changes to dynarmic which fix a build issue introduced by MSYS2 package updates. | @PabloMK7 #2236
v2126.0-alpha2
Fixed a compilation error when building in debug mode. | @Wunkolo #2132
Fixed linker warning spam related to the minimum macOS version when Discord RPC was enabled. | @OpenSauce04 #2216
Added debug scopes to OpenGL renderer rasterizer and texture runtime. | @Wunkolo #2133
Assorted improvements and new options relating to secondary screen functionality. | @DavidRGriswold #1385
Fixed several minor issues relating to MoltenVK/Metal. | @sergeymild #2149
Fixed an issue which prevented the azahar-room Dockerfile from building with Podman. | @OpenSauce04 #2151
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Fixed a long-standing issue where Azahar's detection of the system language could be incorrect, resulting in an unexpected language being used in the UI. | @exertustfm #1558
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- This changelog is relative to the changelog for 2126.0 Alpha 1. You can read that changelog here: https://github.com/azahar-emu/azahar/releases/tag/2126.0-alpha1 --- # Azahar 2126.0-alpha2 Changelog # Desktop - Fixed a long-standing issue where Azahar's detection of the system language could be incorrect, resulting in an unexpected language being used in the UI. | @exertustfm #1558 - Many default messages in the user interface provided by upstream Qt (OK, Cancel, etc) are now translated for most languages. | @OpenSauce04 #2153 - For the following languages, these UI strings currently remain untranslated as before due to no translation being available for use in upstream Qt: - Greek, Indonesian, Norwegian Bokmål, Lithuanian, Romania, Vietnamese # Android - On devices where ANGLE is used for OpenGL rendering, the Vulkan renderer is forcefully enabled due to extremely apparent visual defects when using the OpenGL renderer with ANGLE. | @OpenSauce04 #2197 - You can tell if your device is affected by checking the renderer selection option in Azahar's settings. It will be greyed out and will display a message related to ANGLE when selected if you are using an ANGLE-enabled device. - Most devices will not yet be affected, however on and after Android 17's release, ANGLE will become enabled by default and mandatory for all _newly released devices_ (not necessarily devices updating to Android 17 from an earlier version). - Assorted improvements and new options relating to secondary screen functionality. | @DavidRGriswold #1385 # All - Fixed an issue where certain older homebrew software would get stuck on a black screen at boot. | @Masamune3210 #2143 - Migrated many of our non-English language translations to simplified language codes, allowing correct system languages to be detected more consistently. | @OpenSauce04 #2152 - Fixed an issue related to disabled cubemap texture units; known fixes in Brain Age: Concentration Training. | @Wunkolo #2159 - Adjusted the unimplemented gas stub behaviour for the Vulkan renderer, fixing a known graphical issue in the Monster Hunter games. | @RedBlackAka #2165 - Fixed a typo in a settings log message. | @72374 #2076 - Additional refinements relating to the new GDB implementation. | @PabloMK7 #2145 - Fixed a possible integer overflow issue relating to custom Luma3DS mapping + optimized implementation. | @0x48kirenh #2202 # Docker - Distribute an ARM64 Docker image binary. | @OpenSauce04 #2151 # macOS - Fixed several minor issues relating to MoltenVK/Metal. | @sergeymild #2149 # Technical - The `USE_DISCORD_PRESENCE` CMake option has been renamed to `ENABLE_DISCORD_RPC`. Downstream users/maintainers should compensate for this accordingly. | @OpenSauce04 #2216 - The `ENABLE_QT_TRANSLATION` CMake option is now enabled by default, adding `qt6-tools-dev` or your package manager's equivalent as a new default build dependency for the Qt frontend if you weren't already manually enabling this flag. | @OpenSauce04 #2206 - Fixed linker warning spam related to the minimum macOS version when Discord RPC was enabled. | @OpenSauce04 #2216 - This issue has existed for a very long time, and doesn't seem to have ever caused any actual issues. This is likely just a technical correctness thing. - Fixed a compilation failure which could manifest when a system MoltenVK install was present, even if it wasn't being used. | @crueter #2183 - Fixed a compilation error when building in debug mode. | @Wunkolo #2132 - Fixed an issue which prevented the azahar-room Dockerfile from building with Podman. | @OpenSauce04 #2151 - Added debug scopes to OpenGL renderer rasterizer and texture runtime. | @Wunkolo #2133 - Extensive Kotlin codebase formatting cleanup + new formatting/style enforcement in CI via ktlint. | @OpenSauce04 #2204
v2126.0-alpha1
Completely revamped the implementation of GDB functionality, with numerous debugging improvements and new debugging features. | @PabloMK7 #2086
Fixed an inability to generate translation source files in modern build environments due to an outdated `qt_add_lupdate` call. | @OpenSauce04 #2071
This new variant will serve as the replacement for the now-deprecated MSYS2 variant, which, as also previously discussed in the above post, will be removed in the 2127.0 update.
Added a new option which allows users to toggle whether the emulated 3DS system thinks headphones are plugged in. | @PabloMK7 #2099
Fixed building with OpenAL enabled on OpenBSD. | @OpenSauce04 #2058
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Introduced the new "MXE" build variant previously discussed in [an announcement on our Discord server](https://discord.com/channels/1222589950365794477/1222591002145984675/1501920882069602315). | @OpenSauce04 #2044
This PR is known to fix GPU timing issues in Luigi's Mansion 2/Dark Moon, which is now made playable without use of the "delay render thread" option with this change, but likely impacts many other games as well.
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- # Azahar 2126.0-alpha1 Changelog # Windows - Introduced the new "MXE" build variant previously discussed in [an announcement on our Discord server](https://discord.com/channels/1222589950365794477/1222591002145984675/1501920882069602315). | @OpenSauce04 #2044 - This new variant will serve as the replacement for the now-deprecated MSYS2 variant, which, as also previously discussed in the above post, will be removed in the 2127.0 update. - Users will be able to migrate from MSYS2 to MXE seamlessly, so existing MSYS2 users have no cause for concern. - For more information about this build, please read the aforementioned announcement post. # Desktop - Implemented a CLI (command line interface) for Azahar's compression functionality via the new `-c` and `-x` options. | @OpenSauce04 #2084 - See `azahar --help` for more info. # All - Completely revamped the implementation of GDB functionality, with numerous debugging improvements and new debugging features. | @PabloMK7 #2086 - The PR description for this change goes into extensive detail about the changes, so read there for more information if curious. - Implemented GPU interrupt queue & GPU timing emulation. | @PabloMK7 #2095 - This change improves emulation accuracy by more closely mirroring the behaviour of real hardware. - This PR is known to fix GPU timing issues in Luigi's Mansion 2/Dark Moon, which is now made playable without use of the "delay render thread" option with this change, but likely impacts many other games as well. - This PR also introduces a fix for an issue in Super Mario 3D Land which would prevent users from loading a save file after completing the game. - This is big change behind the scenes, and may inadvertently introduce issues due to its large scope. If an issue appears in a game where it didn't exist before, the new behaviour can be toggled off by disabling the newly added "Simulate 3DS GPU timings" setting to see if this is the cause. Please report any issues which may have been introduced by the new behaviour accordingly. - The PR description contains an in-depth technical explanation of the changes. - Added a new option which allows users to toggle whether the emulated 3DS system thinks headphones are plugged in. | @PabloMK7 #2099 - A very small number of games have altered behaviour when using wired headphones. For example, when headphones are plugged in while playing Super Mario 3D Land, the audio playback is slightly altered. - Adjusted how emulator error messages are displayed to users to be more easily understandable and user-friendly. | @PabloMK7 #2097 - LG2/EX2 subroutine functions are now only emitted for shaders when necessary, instead of for every shader, reducing memory usage. | @Wunkolo #2046 # macOS - Fixed an issue where SDMC filenames which contain unicode characters could appear and behave partially corrupted within emulated 3DS applications. | @RigleGit #2079 # Technical - Fixed building with OpenAL enabled on OpenBSD. | @OpenSauce04 #2058 - Fixed an inability to generate translation source files in modern build environments due to an outdated `qt_add_lupdate` call. | @OpenSauce04 #2071 - Updated NDK and AGP to more recent versions. | @OpenSauce04 #2068
v2125.1.2
Added `EXCLUDE_FROM_ALL` to CMake targets where applicable, speeding up build times for certain non-standard build configurations. | @OpenSauce04 #2088
This release contains no user-facing changes when compared with 2125.1.1** outside of the security policy changes. We decided to publish this release now so that the new policies are applied as soon as possible. Users may choose to skip this release if they wish.
Please keep in mind that **Azahar was NOT compromised by the attacks and our users are safe. We are just being proactive and adding security measures to our release distribution process as a preventative measure**.
Enabled Attestation and Software Bill Of Materials for release assets to increase release security. | @PabloMK7 #2117
Starting from this release, Azahar release binaries are attested. This means that all of the official Azahar assets have now signed claims that specify where they were produced (CI jobs), the exact commit and timestamp, and other metadata.
Changelog complet
This is an unscheduled release to put into action new security policies we have enabled for Azahar after the recent [TeamPCP supply chain attacks](https://teampcp.cyberdigest.international/), which [affected big open source projects like CEMU Emulator](https://github.com/cemu-project/Cemu/issues/1911). **This release contains no user-facing changes when compared with 2125.1.1** outside of the security policy changes. We decided to publish this release now so that the new policies are applied as soon as possible. Users may choose to skip this release if they wish. Please keep in mind that **Azahar was NOT compromised by the attacks and our users are safe. We are just being proactive and adding security measures to our release distribution process as a preventative measure**. --- # Azahar 2125.1.2 Changelog # All - Enabled Attestation and Software Bill Of Materials for release assets to increase release security. | @PabloMK7 #2117 - From now on, Azahar releases are immutable. This means that once we publish a release, the assets linked to it cannot be changed in any way. This prevents token stealers from modifying release assets after they are published. You are able to know if a release is immutable if it shows a padlock icon with the word `Immutable` at the top left of the page. - Starting from this release, Azahar release binaries are attested. This means that all of the official Azahar assets have now signed claims that specify where they were produced (CI jobs), the exact commit and timestamp, and other metadata. - Users should be able to verify the validity of azahar binaries using the GitHub Cli. For example: `gh attestation verify --owner azahar-emu --predicate-type "https://spdx.dev/Document/v2.3" `. This command will only succeed if the file was not tampered with, which is useful when downloading assets from secondary sources, such as our [Internet Archive page](https://archive.org/details/@azahar_emulator). - While plain `sha256` hashes serve to verify integrity, attestations also allow to include the aforementioned metadata. - You can view the attestations for all of our binaries in the [Attestations page](https://github.com/azahar-emu/azahar/attestations). - Also starting from this release, Azahar binaries have a Sofware Bill Of Materials, which consists in a JSON that (in theory) contains all dependencies Azahar relies upon, which should help tracking vulnerabilities. In practice, this technology is rather new, so not all dependencies are fully detected. You can read more about this in #2117. - A `verify-release` bash script is now provided in our source code that helps verifying the validity of Azahar releases. This allows users to better audit our releases as well as easily obtain the software bill of materials. Example usage is as follows: `./tools/verify-release.sh azahar-emu/azahar 2125.1.2`. You can learn more about this tool in #2117. # Technical - Added `EXCLUDE_FROM_ALL` to CMake targets where applicable, speeding up build times for certain non-standard build configurations. | @OpenSauce04 #2088 - All libretro core binaries are now stripped, greatly reducing filesize (primarily for the Android core) without affecting functionality in any way. | @OpenSauce04 #2111 - This is only relevant for the core binaries distributed by us; The cores used by the RetroArch core downloader were already doing this.
v2125.1.1
This is an unscheduled bugfix update which addresses previously undetected regressions in the 2125.0 and 2125.1 releases.
Fixed a regression introduced in 2125.0 where a small number of games could crash due to a shadow texture handling oversight. | @PabloMK7 #2047
Fixed a regression introduced in 2125.1 where Azahar could appear to have rounded window corners while fullscreened. | @PabloMK7 #2049
Changed a newly introduced use of the `std::powf` function in 2125.1 to use `std::pow` instead, restoring wider build environment compatibility. | @cobalt2727 #2045
Miscellaneous OpenBSD build fixes. | @OpenSauce04 #2052
Users are advised to update when it is convenient to do so.
Changelog complet
This is an unscheduled bugfix update which addresses previously undetected regressions in the 2125.0 and 2125.1 releases. Users are advised to update when it is convenient to do so. --- # Azahar 2125.1.1 Changelog # Windows - Fixed a regression introduced in 2125.1 where Azahar could appear to have rounded window corners while fullscreened. | @PabloMK7 #2049 # All - Fixed a regression introduced in 2125.0 where a small number of games could crash due to a shadow texture handling oversight. | @PabloMK7 #2047 # Technical - Changed a newly introduced use of the `std::powf` function in 2125.1 to use `std::pow` instead, restoring wider build environment compatibility. | @cobalt2727 #2045 - Miscellaneous OpenBSD build fixes. | @OpenSauce04 #2052
v2125.1
This is a minor release for the 2125 series which introduces bug fixes and some low-risk improvements + new features.
Fixed an issue where the libretro core could crash under certain circumstances when using the Vulkan renderer. | @warmenhoven #2004
Removed Mesa OpenGL version override due to improved upstream support. | @RedBlackAka #1938
Fixed an issue where, if a game was launched via an intent while another game was already open, the new game would be stuck infinitely loading. | @inssekt #2000
Fixed an issue where resetting the values of the background color setting to the default would cause the app to crash. | @ptyfyre #1959
Fixed color blend modes behaving incorrectly on the OpenGL graphics backend. | @PabloMK7 #2038
Optimize GeometryEmitter SETEMIT state, providing a minor performance improvement for games which use geometry shaders. | @Wunkolo #1996
Added a new UI element which displays the emulated 3DS's notification LED. | @PabloMK7 #2019
Changelog complet
This is a minor release for the 2125 series which introduces bug fixes and some low-risk improvements + new features. --- # Azahar 2125.1 Changelog # All - Added emulation of the 3DS's notification LED. | @PabloMK7 #2019 - Only the desktop frontend exposes this functionality as of now (see "Desktop" section). - Fixed color blend modes behaving incorrectly on the OpenGL graphics backend. | @PabloMK7 #2038 - This notably fixes an issue where a black square could appear in the bottom-right corner of the screen in some games (e.g. Shin Megami Tensei IV) - Implemented `syscore` CPU time limiting to match real hardware behaviour. | @PabloMK7 #1934 - Makes emulated applications properly use the `syscore` without starving LLE system applets, which fixes several subtle timing issues. - Most notably, fixes stability issues caused by having the `BOSS` LLE module enabled. - The `BOSS` LLE module is now enabled by the "Enable required LLE modules for online features" setting. | @PabloMK7 #1952 - Fixed emulated applications receiving incorrect error values from `getaddrinfo`/`getnameinfo` functions. | @GasInfinity #1956 - Optimize GeometryEmitter SETEMIT state, providing a minor performance improvement for games which use geometry shaders. | @Wunkolo #1996 # Desktop - Added a new UI element which displays the emulated 3DS's notification LED. | @PabloMK7 #2019 - Fixed Discord rich presence often not being set correctly due to a race condition. | @PabloMK7 #2035 - Removed Vulkan warnings which could appear at application launch on setups with missing Vulkan features. | @RedBlackAka #1938 - Removed Mesa OpenGL version override due to improved upstream support. | @RedBlackAka #1938 # Android - All builds of Azahar on Android, including the libretro core, now use the Vulkan renderer by default. | @OpenSauce04 #2003 - Note: On builds of Azahar other than the libretro core, this change doesn't apply retroactively to existing user configurations. - Added a button to the about game dialog which allows deletion of disk shader cache on a per-game basis. | @PabloMK7 #2032 - Addressed an issue where orientation changes while a 3DS application is booting could cause the emulator to crash. | @PabloMK7 #2030 - Fixed an issue where hidden 3DS system titles could appear in the application list erroneously. | @PabloMK7 #1935 - Fixed an issue where, if a game was launched via an intent while another game was already open, the new game would be stuck infinitely loading. | @inssekt #2000 - Fixed an issue where resetting the values of the background color setting to the default would cause the app to crash. | @ptyfyre #1959 - Fixed application exits (e.g. with homebrew apps that close themselves) resulting in an "Invalid ROM Format" error dialog. | @SiniKraft #1991 # libretro - Fixed an issue where the libretro core could crash under certain circumstances when using the Vulkan renderer. | @warmenhoven #2004 # Technical - Added new `ENABLE_BUILTIN_KEYBLOB` CMake option, enabled by default. | @PabloMK7 #2024 - This is enabled by default for all of our builds, mimicking prior behaviour. - Disabling it omits the built-in keys usually distributed with Azahar, which disables certain functionality. - Added new `USE_SYSTEM_OAKNUT` CMake option. | @marcin-serwin #1947 - Improved logging for SVC failures. | @PabloMK7 #1948 - Our x86_64/Intel macOS binaries are now cross-compiled from an ARM64 macOS runner. | @OpenSauce04 #1953 - Fixed an issue where attempting to build Azahar's test suite alongside our libretro core while using GCC would result in a linker error. | @warmenhoven #2012 - Fixed several issues related to building and using Azahar on NetBSD. | @OpenSauce04 #1998 - Unit tests are now able to be discovered by IDEs via `catch_discover_tests`. | @Wunkolo #1997 - Correct the response of SendToOther in soc:U. | @GasInfinity #1929 - This is a correctness fix, and has no effect on the end-user.
v2125.0.1
Improved update checker logic to prevent potential downgrades caused by hypothetical future release patterns. | @RedBlackAka #1749
Added a debug option which allows toggling the console type specified in the console unique data between the Old and New 3DS types. | @PabloMK7 #1826
Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726
Fixed Nintendo Badge Arcade incorrectly displaying an "update data has been applied" message. | @PabloMK7 #1845
Fixed a crash when attempting to use still-image camera emulation. | @PabloMK7 #1892
Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769
Fixed a crash under certain circumstances when a secondary screen is disconnected. | @PabloMK7 #1903
Fixed multiple issues in the setup screen which could cause the setup process to crash or get stuck in a loop on certain Android distributions. | @PabloMK7 @OpenSauce04 #1902
Changelog complet
> [!NOTE] > **Pre-existing users of the Android vanilla variant should uninstall their current Azahar app before installing this new version**, as the application ID has changed. No user data will be lost, and the same user directory just needs to be selected during setup. > > The new application ID for vanilla is `org.azahar_emu.azahar`. Third-party emulator launchers may need to account for this change. The application ID for the Google Play Store variant remains unchanged. > > This is to differentiate the Vanilla build from the Google Play version, preventing the Google Play Store from attempting to update it. --- # Azahar 2125.0 Changelog # libretro - Azahar is now available as libretro/RetroArch cores for various OS platforms. | @warmenhoven #1215 + other PRs - Below is a list of platforms with available cores in this initial release: - [x] Linux (x86_64) - [x] Windows (x86_64) - [x] macOS (arm64) - [x] macOS (x86_64) - [x] Android (arm64) - [x] iOS - [x] tvOS - Other platforms and architectures may be added in subsequent releases. - It's important to note that, due to restrictions around the use of JIT compilation on the App Store, the iOS and tvOS have JIT forcefully disabled by default* on those platforms. Disabling JIT has a big impact on performance, so emulation speed may be below 100% on devices other than those which have been released relatively recently. - \* For more information, read here: https://docs.libretro.com/guides/install-ios/#jit # All - Implemented a disk shader cache for the Vulkan renderer in the form of `.vkch` files. | @PabloMK7 #1725 #1748 - These files keep track of compiled shaders so that there is no need to recompile them on subsequent application launches, which removes all stutter caused by shader compilation after the first playthrough of the application. - Cache files can also be copied between your own devices to benefit from the reduced stutter. - Implemented `NWM_SOC::GetMACAddress`, allowing applications which utilize it to function properly. | @PabloMK7 #1840 - This change allows using the [NetPass](https://netpass.cafe/) homebrew application on Azahar. - Greatly reduced CPU usage of Azahar while using Artic Base. | @keynote #1789 - Shader and pipeline compilation tasks are now handled by separate workers, improving parallelism and slightly reducing shader compilation stutter. | @PabloMK7 #1802 - Re-added texture filtering functionality while using the Vulkan renderer. | @jbm11208 #1675 - This feature was previously added in version 2124, but was subsequently removed in 2124.2 due to stability issues. - This iteration should address the issues present in the previous implementation. - Fixed an issue where, if a game with no cheats had its cheat list viewed or the game was launched, the cheats list for the previously loaded game would be erroneously used. | @Fs00 #1640 - Minor fixes to local play for Luigi's Mansion 1 and Download Play applications. | @lannoene #1690 - Minor optimization applied to the Vulkan renderer which slightly reduces its memory usage. | @PabloMK7 #1710 - Very minor optimization for log message filtering, effective when a large number of `LOG_DEBUG` messages are produced in a short time-frame. | @PabloMK7 #1773 - Implemented new "Integer Scaling" option. @DavidRGriswold #1400 - Added a new "Layouts to Cycle" setting, which allows users to select which layouts are cycled by the Cycle Layout/Toggle Layout hotkey. | @DavidRGriswold #1430 - Apply the selected texture filter to color surfaces, not just texture surfaces. | @PabloMK7 #1784 - Major refactor of configuration backend for all platforms, improving maintainability | @OpenSauce04 #1762 - This change is primarily a developer-facing one, but does somewhat affect end-users on Android by having the default config.ini file be dynamically generated and validated, meaning that keys which were missing in the default config file are now present. | @OpenSauce04 #1762 - CECD LLE module is now enabled by the "Enable required LLE modules for online features" setting. | @PabloMK7 #1842 - Download Play sessions can now be both connected to hosted without the DLP LLE module, meaning that Download Play is now fully operational with HLE only. | @lannoene #1741 #1828 - Fix an issue where certain applications, such as Nintendo Video, would incorrectly think they were receiving SpotPass data. | @lannoene #1828 - Fixed an issue which could prevent .zcci and .zcxi ROMs from being recognized correctly if the 3DS system files hadn't been set up. | @PabloMK7 #1930 - Added a debug option which allows toggling the console type specified in the console unique data between the Old and New 3DS types. | @PabloMK7 #1826 - Addressed validation issues Vulkan renderer which could potentially have resulted in undefined behavior. | @PabloMK7 #1818 - Fixed Nintendo Badge Arcade incorrectly displaying an "update data has been applied" message. | @PabloMK7 #1845 - Version numbers have been moved to the end of the release files' filenames for easier readability. | @OpenSauce04 #1815 - Implemented `NAND RW`, `NAND RO`, and `NAND RO W` archives, allowing the use of applications which utilize these archives. | @PabloMK7 #1861 # Android - Fixed a crash when attempting to use still-image camera emulation. | @PabloMK7 #1892 - Fixed an issue where the emulator could erroneously pause after selecting a file for camera emulation. | @OpenSauce04 #1894 - Added a new "Hotkey Enable" button bind. This button can be used in button combinations to activate hotkeys. | #1464 - See the linked PR for a more detailed explanation. - Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769 - Fixed a crash under certain circumstances when a secondary screen is disconnected. | @PabloMK7 #1903 - Fixed an issue where secondary screens could sometimes use the wrong aspect ratio. | @DavidRGriswold #1907 - Fixed multiple issues in the setup screen which could cause the setup process to crash or get stuck in a loop on certain Android distributions. | @PabloMK7 @OpenSauce04 #1902 - If the Applications button is double-clicked while already selected, it will now display the current Azahar version in a toast notification. | @OpenSauce04 #1891 - The drawer menu now always uses the layout appropriate for the current device orientation. | @DavidRGriswold #1473 - Fixed an instance of the word "cartridges" being misspelled as "cartidges". | @sks316 #1879 - Fixed an issue where applications would not display properly in the application list if its update title failed to load. | @PabloMK7 #1930 # Android (Vanilla) - Move to a new package ID, `org.azahar_emu.azahar`. | @OpenSauce04 #1874 - The Google Play variant still uses the old package ID, meaning that these two variants now how separate package IDs. - Migrated to a more consistently effective method of determining removable storage paths. | @PabloMK7 #1863 - Transition to using fully native file I/O for the Vanilla (non-GooglePlay) build variant. | @PabloMK7 @OpenSauce04 #1795 - This results in extreme reductions of loading time compared to previous builds or the current Google Play build. - As an example, booting the HOME menu has been observed to drop from taking 30-45 seconds to now taking under 5 seconds. - As explained in previous patch notes, these improvements don't apply to the Google Play build due to restrictions put in place by Google via their Play Store app policies. # Desktop - Implemented a setting which allows a controller touchpad to be used to control the emulated 3DS touchscreen. | @DavidRGriswold #777 - Fixed a rare issue where the emulator could attempt to pre-load custom textures even when they were disabled, resulting in a crash. | @coolguy1842 #1629 - Fixed an issue where a small subset of setting tooltips wouldn't have any automatic line breaks as intended. | @OpenSauce04 #1718 - Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726 - This setting is enabled by default, and disabling it prevents Azahar from attempting to detect the display's refresh rate when choosing its preferred Vulkan presentation mode. Disabling this setting can result in emulation slowdowns with certain displays, so it's recommended to leave it enabled unless you know what you're doing. - Fixed an issue which could cause Azahar to crash when resetting all settings to their default value. | @ChaseParate #1751 - Removed all code relating to the old SDL2 frontend. | @OpenSauce04 #1756 - This is not to be confused with the SDL2 functionality present in the Qt frontend.This exclusively refers to the SDL2 emulation frontend, which has been disabled at build time by default for ages. - Improved update checker logic to prevent potential downgrades caused by hypothetical future release patterns. | @RedBlackAka #1749 # Windows - Fixed camera emulation with a real camera not working as intended in the MSYS2 build. | @jbm11208 #1812 - Fixed filesystem issues with some games due to minor file I/O emulation inaccuracies. | @PabloMK7 #1841 - Fixed an issue where certain characters in an application name could become corrupted when creating a desktop shortcut. | @RedBlackAka - Explicitly tell AMD drivers to use the dedicated GPU by default if an integrated GPU is available. | @RedBlackAka #1783 # macOS - Added a warning message when launching Azahar directly rather than from the .app bundle informing users of the proper way of launching the app. | @OpenSauce04 #1873 - Fixed a possible UI freeze during game list population. | @TeamPuzel #1785 # Technical - If certain features are disabled at compile-time in the desktop build, code related to those features is now more aggressively excluded. | @RedBlackAka #1630 - Detection of CPUs using the FMA4 extension has been disabled, as this extension is not used by Azahar. | @RedBlackAka #1746 - Added NATVIS to BitField class, allowing for better debugging in Visual Studio. | @PabloMK7 #1731 - Remove redundant code relating to SSE4.2 CPU detection. | @RedBlackAka #1753 - Removed unused SSE/SSE2 CPU detection code. | @RedBlackAka #1754 - Intel macOS binaries are now built using macOS 26 + Xcode 26. | @OpenSauce04 #1803 - Refactor and fix a resource leak in the Vulkan texture runtime. | @PabloMK7 #1790 - This change is for correctness, and has no real effect on end-users. - Several emulation correctness fixes which have no real end-user impact. | @PabloMK7 #1839 #1846 #1860 - Improved CMake version info generation to avoid stale info being used and allow `GIT-TAG`/`GIT-COMMIT` to override real Git info for testing | @OpenSauce04 #1848 - Fixed a build failure on ARM64 Linux with GCC which has existed for an unknown period of time. | @OpenSauce04 @PabloMK7 #1872 - Fixed compilation failing when building with versions of Qt6 earlier than 6.7.0. | @cobalt2727 #1886 #1895
v2125.0-rc5
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This changelog is relative to Azahar 2125.0-rc4. For a more complete list of the changes in this upcoming 2125.0 update, see the previous release candidate changelogs. --- # Azahar 2125.0-rc4 changelog # All - Fixed an issue which could prevent .zcci and .zcxi ROMs from being recognized correctly if the 3DS system files hadn't been set up. | @PabloMK7 #1930 # libretro - The previous 'Show Touch Interactions' setting has been removed in favor of a new 'Touch Pointer Timeout' setting. | @OpenSauce04 #1931 - Touch pointer rendering is now always enabled, but unless a controller is being used to move the touchscreen pointer, it will be hidden due to the timeout which is also enabled by default. - The pointer timeout is currently hardcoded at 4 seconds since the last time the pointer was moved. # Android - Fixed an issue where applications would not display properly in the application list if its update title failed to load. | @PabloMK7 #1930
v2125.0-rc4
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This release candidate is a small amendment to 2125.0-rc3 which fixes an issue in the Android vanilla build which would prevent game shortcuts from opening correctly. It is otherwise identical. --- # Azahar 2125.0-rc4 changelog # Android - Fixed game shortcuts opening correctly in the vanilla build. | @OpenSauce04 #1926
v2125.0-rc3
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This release candidate is a small amendment to 2125.0-rc2 which fixes an issue in the Android build which could cause a crash when changing the device orientation. It is otherwise identical. --- # Azahar 2125.0-rc3 changelog # Android - Fixed an issue which could sometimes cause the emulator to crash when changing the device orientation. | @DavidRGriswold #1919
v2125.0-rc2
Fixed a crash when attempting to create shortcuts in the vanilla build. | @OpenSauce04 #1889
Fixed a crash when attempting to use still-image camera emulation. | @PabloMK7 #1892
Fixed a crash under certain circumstances when a secondary screen is disconnected. | @PabloMK7 #1903
Fixed multiple issues in the setup screen which could cause the setup process to crash or get stuck in a loop on certain Android distributions. | @PabloMK7 @OpenSauce04 #1902
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Fixed Amiibo files failing to load in the vanilla build. | @OpenSauce04 #1888
Fixed compilation failing when building with versions of Qt6 earlier than 6.7.0. | @cobalt2727 #1886 #1895
For a more complete list of the changes in the upcoming 2125.0 update, [see the previous changelog](https://github.com/azahar-emu/azahar/releases/tag/2125.0-rc1).
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This changelog is relative to 2125.0-rc1. For a more complete list of the changes in the upcoming 2125.0 update, [see the previous changelog](https://github.com/azahar-emu/azahar/releases/tag/2125.0-rc1). --- # Azahar 2125.0-rc2 changelog # Android - Fixed a crash when attempting to create shortcuts in the vanilla build. | @OpenSauce04 #1889 - Fixed a crash when attempting to use still-image camera emulation. | @PabloMK7 #1892 - Fixed Amiibo files failing to load in the vanilla build. | @OpenSauce04 #1888 - Fixed an issue where the emulator could erroneously pause after selecting a file for camera emulation. | @OpenSauce04 #1894 - Fixed applications failing to launch when launched via an Android intent. | @PabloMK7 #1896 - Fixed a crash under certain circumstances when a secondary screen is disconnected. | @PabloMK7 #1903 - Fixed an issue where secondary screens could sometimes use the wrong aspect ratio. | @DavidRGriswold #1907 - Fixed multiple issues in the setup screen which could cause the setup process to crash or get stuck in a loop on certain Android distributions. | @PabloMK7 @OpenSauce04 #1902 - If the Applications button is double-clicked while already selected, it will now display the current Azahar version in a toast notification. | @OpenSauce04 #1891 - Fixed an instance of the word "cartridges" being misspelled as "cartidges". | @sks316 #1879 # Technical - Fixed compilation failing when building with versions of Qt6 earlier than 6.7.0. | @cobalt2727 #1886 #1895
v2125.0-rc1
Improved update checker logic to prevent potential downgrades caused by hypothetical future release patterns. | @RedBlackAka #1749
Added a debug option which allows toggling the console type specified in the console unique data between the Old and New 3DS types. | @PabloMK7 #1826
Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726
Fixed Nintendo Badge Arcade incorrectly displaying an "update data has been applied" message. | @PabloMK7 #1845
Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769
Fixed a rare issue where the emulator could attempt to pre-load custom textures even when they were disabled, resulting in a crash. | @coolguy1842 #1629
Fixed an issue which could cause Azahar to crash when resetting all settings to their default value. | @ChaseParate #1751
Fixed camera emulation with a real camera not working as intended in the MSYS2 build. | @jbm11208 #1812
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- Pre-existing users of the Vanilla build should uninstall their current Azahar app before installing this new version, as the app ID has changed. This is to differentiate the Vanilla build from the Google Play version, preventing the Google Play Store from attempting to update it. --- # Azahar 2125.0-rc1 Changelog # libretro - Azahar is now available as libretro/RetroArch cores for various OS platforms. | @warmenhoven #1215 + other PRs - Below is a list of platforms with available cores in this initial release: - [x] Linux (x86_64) - [x] Windows (x86_64) - [x] macOS (arm64) - [x] macOS (x86_64) - [x] Android (arm64) - [x] iOS - [x] tvOS - Other platforms and architectures may be added in subsequent releases. - It's important to note that, due to restrictions around the use of JIT compilation on the App Store, the iOS and tvOS have JIT forcefully disabled by default* on those platforms. Disabling JIT has a big impact on performance, so emulation speed may be below 100% on devices other than those which have been released relatively recently. - \* For more information, read here: https://docs.libretro.com/guides/install-ios/#jit - When 2125.0 is fully released, the Azahar core will be available via the RetroArch core downloader and as a built-in core on iOS and tvOS. # All - Implemented a disk shader cache for the Vulkan renderer in the form of `.vkch` files. | @PabloMK7 #1725 #1748 - These files keep track of compiled shaders so that there is no need to recompile them on subsequent application launches, which removes all stutter caused by shader compilation after the first playthrough of the application. - Cache files can also be copied between your own devices to benefit from the reduced stutter. - Added compatibility with NetPass by implementing `NWM_SOC::GetMACAddress`. | @PabloMK7 #1840 - Requires "Enable required LLE modules for online features" to be enabled alongside the BOSS LLE module. - The BOSS LLE module has recently been observed to cause the HOME menu to stop opening correctly under certain conditions, so use with caution until we've investigated the issue. - Greatly reduced CPU usage of Azahar while using Artic Base. | @keynote #1789 - Shader and pipeline compilation tasks are now handled by separate workers, improving parallelism and slightly reducing shader compilation stutter. | @PabloMK7 #1802 - Re-added texture filtering functionality while using the Vulkan renderer. | @jbm11208 #1675 - This feature was previously added in version 2124, but was subsequently removed in 2124.2 due to stability issues. - This iteration should address the issues present in the previous implementation. - Fixed an issue where, if a game with no cheats had its cheat list viewed or the game was launched, the cheats list for the previously loaded game would be erroneously used. | @Fs00 #1640 - Minor fixes to local play for Luigi's Mansion 1 and Download Play applications. | @lannoene #1690 - Minor optimization applied to the Vulkan renderer which slightly reduces its memory usage. | @PabloMK7 #1710 - Very minor optimization for log message filtering, effective when a large number of `LOG_DEBUG` messages are produced in a short time-frame. | @PabloMK7 #1773 - Implemented new "Integer Scaling" option. @DavidRGriswold #1400 - Added a new "Layouts to Cycle" setting, which allows users to select which layouts are cycled by the Cycle Layout/Toggle Layout hotkey. | @DavidRGriswold #1430 - Apply the selected texture filter to color surfaces, not just texture surfaces. | @PabloMK7 #1784 - Major refactor of configuration backend for all platforms, improving maintainability | @OpenSauce04 #1762 - This change is primarily a developer-facing one, but does somewhat affect end-users on Android by having the default config.ini file be dynamically generated and validated, meaning that keys which were missing in the default config file are now present. | @OpenSauce04 #1762 - CECD LLE module is now enabled by the "Enable required LLE modules for online features" setting. | @PabloMK7 #1842 - Download Play sessions can now be both connected to hosted without the DLP LLE module, meaning that Download Play is now fully operational with HLE only. | @lannoene #1741 #1828 - Fix an issue where certain applications, such as Nintendo Video, would incorrectly think they were receiving SpotPass data. | @lannoene #1828 - Added a debug option which allows toggling the console type specified in the console unique data between the Old and New 3DS types. | @PabloMK7 #1826 - Addressed validation issues Vulkan renderer which could potentially have resulted in undefined behavior. | @PabloMK7 #1818 - Fixed Nintendo Badge Arcade incorrectly displaying an "update data has been applied" message. | @PabloMK7 #1845 - Version numbers have been moved to the end of the release files' filenames for easier readability. | @OpenSauce04 #1815 - Implemented `NAND RW`, `NAND RO`, and `NAND RO W` archives, allowing the use of applications which utilize these archives. | @PabloMK7 #1861 # Android - Added a new "Hotkey Enable" button bind. This button can be used in button combinations to activate hotkeys. | #1464 - See the linked PR for a more detailed explanation. - Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769 - The drawer menu now always uses the layout appropriate for the current device orientation. | @DavidRGriswold #1473 # Android (Vanilla) - Move to a new package ID, `org.azahar_emu.azahar`. | @OpenSauce04 #1874 - The Google Play variant still uses the old package ID, meaning that these two variants now how separate package IDs. - Migrated to a more consistently effective method of determining removable storage paths. | @PabloMK7 #1863 - Transition to using fully native file I/O for the Vanilla (non-GooglePlay) build variant. | @PabloMK7 @OpenSauce04 #1795 - This results in extreme reductions of loading time compared to previous builds or the current Google Play build. - As an example, booting the HOME menu has been observed to drop from taking 30-45 seconds to now taking under 5 seconds. - As explained in previous patch notes, these improvements don't apply to the Google Play build due to restrictions put in place by Google via their Play Store app policies. # Desktop - Implemented a setting which allows a controller touchpad to be used to control the emulated 3DS touchscreen. | @DavidRGriswold #777 - Fixed a rare issue where the emulator could attempt to pre-load custom textures even when they were disabled, resulting in a crash. | @coolguy1842 #1629 - Fixed an issue where a small subset of setting tooltips wouldn't have any automatic line breaks as intended. | @OpenSauce04 #1718 - Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726 - This setting is enabled by default, and disabling it prevents Azahar from attempting to detect the display's refresh rate when choosing its preferred Vulkan presentation mode. Disabling this setting can result in emulation slowdowns with certain displays, so it's recommended to leave it enabled unless you know what you're doing. - Fixed an issue which could cause Azahar to crash when resetting all settings to their default value. | @ChaseParate #1751 - Removed all code relating to the old SDL2 frontend. | @OpenSauce04 #1756 - This is not to be confused with the SDL2 functionality present in the Qt frontend.This exclusively refers to the SDL2 emulation frontend, which has been disabled at build time by default for ages. - Improved update checker logic to prevent potential downgrades caused by hypothetical future release patterns. | @RedBlackAka #1749 # Windows - Fixed camera emulation with a real camera not working as intended in the MSYS2 build. | @jbm11208 #1812 - Fixed filesystem issues with some games due to minor file I/O emulation inaccuracies. | @PabloMK7 #1841 - Fixed an issue where certain characters in an application name could become corrupted when creating a desktop shortcut. | @RedBlackAka - Explicitly tell AMD drivers to use the dedicated GPU by default if an integrated GPU is available. | @RedBlackAka #1783 # macOS - Added a warning message when launching Azahar directly rather than from the .app bundle informing users of the proper way of launching the app. | @OpenSauce04 #1873 - Fixed a possible UI freeze during game list population. | @TeamPuzel #1785 # Technical - If certain features are disabled at compile-time in the desktop build, code related to those features is now more aggressively excluded. | @RedBlackAka #1630 - Detection of CPUs using the FMA4 extension has been disabled, as this extension is not used by Azahar. | @RedBlackAka #1746 - Added NATVIS to BitField class, allowing for better debugging in Visual Studio. | @PabloMK7 #1731 - Remove redundant code relating to SSE4.2 CPU detection. | @RedBlackAka #1753 - Removed unused SSE/SSE2 CPU detection code. | @RedBlackAka #1754 - Intel macOS binaries are now built using macOS 26 + Xcode 26. | @OpenSauce04 #1803 - Refactor and fix a resource leak in the Vulkan texture runtime. | @PabloMK7 #1790 - This change is for correctness, and has no real effect on end-users. - Several emulation correctness fixes which have no real end-user impact. | @PabloMK7 #1839 #1846 #1860 - Improved CMake version info generation to avoid stale info being used and allow `GIT-TAG`/`GIT-COMMIT` to override real Git info for testing | @OpenSauce04 #1848 - Fixed a build failure on ARM64 Linux with GCC which has existed for an unknown period of time. | @OpenSauce04 @PabloMK7 #1872
v2125.0-alpha6
Improved update checker logic to prevent potential downgrades caused by hypothetical future release patterns. | @RedBlackAka #1749
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
We are aware of this issue, and are currently investigating a fix. We are aiming to fix this issue on our end before the stable release of 2125.0. Thank you for your patience.
Fixed the Cheats menu failing to load saved cheats when opened in the vanilla variant. | @OpenSauce04 #1854
As an alpha release, this build is not yet considered stable.
Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.
If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.
This changelog is relative to the prior 2125.0-alpha5 changelog. You can view that changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2125.0-alpha5).
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- This changelog is relative to the prior 2125.0-alpha5 changelog. You can view that changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2125.0-alpha5). --- ### Note on current issues with NetPass 2.0 We have seen reports of users running into issues while utilizing our recently released NetPass support after updating to the recently released NetPass 2.0. We are aware of this issue, and are currently investigating a fix. We are aiming to fix this issue on our end before the stable release of 2125.0. Thank you for your patience. --- # Azahar 2125.0-alpha6 Changelog # Android - Fixed the Cheats menu failing to load saved cheats when opened in the vanilla variant. | @OpenSauce04 #1854 # Libretro - Input --> Touch Support setting is now enabled by default. | @warmenhoven #1853 - This addresses the emulated touch screen previously not being usable in the Android core out-of-the-box without first adjusting the setting. # Desktop - Improved update checker logic to prevent potential downgrades caused by hypothetical future release patterns. | @RedBlackAka #1749
v2125.0-alpha5
Added a debug option which allows toggling the console type specified in the console unique data between the Old and New 3DS types. | @PabloMK7 #1826
Fixed a possible crash at startup when using the Vulkan renderer. | @fnune #1825
Fixed Nintendo Badge Arcade incorrectly displaying an "update data has been applied" message. | @PabloMK7 #1845
Fixed camera emulation with a real camera not working as intended. | @jbm11208 #1812
Improved CMake version info generation to avoid stale info being used and allow `GIT-TAG`/`GIT-COMMIT` to override real Git info for testing | @OpenSauce04 #1848
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Added compatibility with NetPass by implementing `NWM_SOC::GetMACAddress`. | @PabloMK7 #1840
As explained in previous patch notes, these improvements don't apply to the Google Play build due to restrictions put in place by Google via their Play Store app policies.
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- This changelog is relative to the prior 2125.0-alpha4 changelog. You can view that changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2125.0-alpha4). --- # Azahar 2125.0-alpha5 Changelog # All - Added compatibility with NetPass by implementing `NWM_SOC::GetMACAddress`. | @PabloMK7 #1840 - Requires "Enable required LLE modules for online features" to be enabled alongside the BOSS LLE module. - The BOSS LLE module has recently been observed to cause the HOME menu to stop opening correctly under certain conditions, so use with caution until we've investigated the issue. - CECD LLE module is now enabled by the "Enable required LLE modules for online features" setting. | @PabloMK7 #1842 - Download Play sessions can now be hosted without the DLP LLE module, meaning that Download Play is now fully operational with HLE only. | @lannoene #1828 - Fix an issue where certain applications, such as Nintendo Video, would incorrectly think they were receiving SpotPass data. | @lannoene #1828 - Added a debug option which allows toggling the console type specified in the console unique data between the Old and New 3DS types. | @PabloMK7 #1826 - Addressed validation issues Vulkan renderer which could potentially have resulted in undefined behavior. | @PabloMK7 #1818 - Fixed Nintendo Badge Arcade incorrectly displaying an "update data has been applied" message. | @PabloMK7 #1845 - Version numbers have been moved to the end of the release files' filenames for easier readability. | @OpenSauce04 #1815 # Android (Vanilla) - Transition to using fully native file I/O for the Vanilla (non-GooglePlay) build variant. | @PabloMK7 @OpenSauce04 #1795 - This results in extreme reductions of loading time compared to previous builds or the current Google Play build. - As an example, booting the HOME menu has been observed to drop from taking 30-45 seconds to now taking under 5 seconds. - As explained in previous patch notes, these improvements don't apply to the Google Play build due to restrictions put in place by Google via their Play Store app policies. # libretro - The Vulkan renderer is now capable of rendering a visual cursor for touch-screen input if enabled, whereas previously only the OpenGL renderer had this capability. | @warmenhoven #1831 - Added Large Screen Proportion setting to core settings. | @fnune #1833 - Fixed a possible crash at startup when using the Vulkan renderer. | @fnune #1825 # Windows (MSYS2) - Fixed camera emulation with a real camera not working as intended. | @jbm11208 #1812 # Windows - Fixed filesystem issues with some games due to minor file I/O emulation inaccuracies. | @PabloMK7 #1841 # Technical - Several emulation correctness fixes which have no real end-user impact. | @PabloMK7 #1839 #1846 - Improved CMake version info generation to avoid stale info being used and allow `GIT-TAG`/`GIT-COMMIT` to override real Git info for testing | @OpenSauce04 #1848
v2125.0-alpha4
Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769
2125.0 Alpha 4 is an amendment to Alpha 3 which addresses an issue which caused the Android build to crash when launched (#1810). It is otherwise identical to Alpha 3.
Fixed an issue with the previously introduced Vulkan shader disk cache where transferring the cache between devices could cause graphical issues. | @PabloMK7 #1770
Fixed unnecessary file IO spam while reading from Vulkan shader disk cache. | @PabloMK7 #1774
Added a new "Layouts to Cycle" setting, which allows users to select which layouts are cycled by the Cycle Layout/Toggle Layout hotkey. | @DavidRGriswold #1430
Added a new "Hotkey Enable" button bind. This button can be used in button combinations to activate hotkeys. | #1464
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
[x] macOS (arm64)
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- # Azahar 2125.0-alpha4 Changelog 2125.0 Alpha 4 is an amendment to Alpha 3 which addresses an issue which caused the Android build to crash when launched (#1810). It is otherwise identical to Alpha 3. As 2125.0 Alpha 3 has been removed due the the issue, Alpha 3's changelog has been copied below ver-batim: --- # Azahar 2125.0-alpha3 Changelog # libretro - Azahar is now available as libretro/RetroArch cores for various OS platforms. | @warmenhoven #1215 + other PRs - Below is a list of platforms with available cores in this initial release: - [x] Linux (x86_64) - [x] Windows (x86_64) - [x] macOS (arm64) - [x] macOS (x86_64) - [x] Android (arm64) - [x] iOS - [x] tvOS - Other platforms and architectures may be added in subsequent releases. - It's important to note that, due to restrictions around the use of JIT compilation on the App Store, the iOS and tvOS have JIT forcefully disabled by default* on those platforms. Disabling JIT has a big impact on performance, so emulation speed may be below 100% on devices other than those which have been released relatively recently. - \* For more information, read here: https://docs.libretro.com/guides/install-ios/#jit - When 2125.0 is fully released, the Azahar core will be available via the RetroArch core downloader and as a built-in core on iOS and tvOS. # All - Greatly reduced CPU usage of Azahar while using Artic Base. | @keynote #1789 - Shader and pipeline compilation tasks are now handled by separate workers, improving parallelism and slightly reducing shader compilation stutter. | @PabloMK7 #1802 - Fixed an issue with the previously introduced Vulkan shader disk cache where transferring the cache between devices could cause graphical issues. | @PabloMK7 #1770 - Fixed unnecessary file IO spam while reading from Vulkan shader disk cache. | @PabloMK7 #1774 - Very minor optimization for log message filtering, effective when a large number of `LOG_DEBUG` messages are produced in a short time-frame. | @PabloMK7 #1773 - Added HLE implementation for Download Play (DLP) client. | @lannoene #1741 - The DLP LLE module is no longer required to connect to Download Play sessions. - The LLE module is still required in order to host Download Play sessions. - Implemented new "Integer Scaling" option. @DavidRGriswold #1400 - Added a new "Layouts to Cycle" setting, which allows users to select which layouts are cycled by the Cycle Layout/Toggle Layout hotkey. | @DavidRGriswold #1430 - Apply the selected texture filter to color surfaces, not just texture surfaces. | @PabloMK7 #1784 - Major refactor of configuration backend for all platforms, improving maintainability | @OpenSauce04 #1762 - This change is primarily a developer-facing one, but does somewhat affect end-users on Android by having the default config.ini file be dynamically generated and validated, meaning that keys which were missing in the default config file are now present. | @OpenSauce04 #1762 # Android - Added a new "Hotkey Enable" button bind. This button can be used in button combinations to activate hotkeys. | #1464 - See the linked PR for a more detailed explanation. - Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769 - The drawer menu now always uses the layout appropriate for the current device orientation. | @DavidRGriswold #1473 # macOS - Fixed a possible UI freeze during game list population. | @TeamPuzel #1785 # Windows - Explicitly tell AMD drivers to use the dedicated GPU by default if an integrated GPU is available. | @RedBlackAka #1783 # Technical - Intel macOS binaries are now built using macOS 26 + Xcode 26. | @OpenSauce04 #1803 - Refactor and fix a resource leak in the Vulkan texture runtime. | @PabloMK7 #1790 - This change is for correctness, and has no real effect on end-users.
v2125.0-alpha2
Fixed an issue which could cause Azahar to crash when resetting all settings to their default value. | @ChaseParate #1751
Re-added texture filtering functionality while using the Vulkan renderer. | @jbm11208 #1675
This feature was previously added in version 2124, but was subsequently removed in 2124.2 due to stability issues.
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
As an alpha release, this build is not yet considered stable.
Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.
If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.
This changelog is relative to the prior 2125.0-alpha1 changelog. You can view that changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2125.0-alpha1).
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- This changelog is relative to the prior 2125.0-alpha1 changelog. You can view that changelog [here](https://github.com/azahar-emu/azahar/releases/tag/2125.0-alpha1). --- # Azahar 2125.0-alpha2 Changelog # All - Re-added texture filtering functionality while using the Vulkan renderer. | @jbm11208 #1675 - This feature was previously added in version 2124, but was subsequently removed in 2124.2 due to stability issues. - This iteration should address the issues present in the previous implementation. # Desktop - Fixed an issue which could cause Azahar to crash when resetting all settings to their default value. | @ChaseParate #1751 - Removed all code relating to the old SDL2 frontend. | @OpenSauce04 #1756 - This is not to be confused with the SDL2 functionality present in the Qt frontend.This exclusively refers to the SDL2 emulation frontend, which has been disabled at build time by default for ages. # Technical - Remove redundant code relating to SSE4.2 CPU detection. | @RedBlackAka #1753 - Removed unused SSE/SSE2 CPU detection code. | @RedBlackAka #1754
v2125.0-alpha1
Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726
Fixed a rare issue where the emulator could attempt to pre-load custom textures even when they were disabled, resulting in a crash. | @coolguy1842 #1629
This changelog doesn't reflect the final intended featureset of the 2125.0 update.
Added NATVIS to BitField class, allowing for better debugging in Visual Studio. | @PabloMK7 #1731
This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Many features are still in development, and for this reason, several planned changes are not yet present in this pre-release.
Fixed an issue where, if a game with no cheats had its cheat list viewed or the game was launched, the cheats list for the previously loaded game would be erroneously used. | @Fs00 #1640
Fixed an issue where a small subset of setting tooltips wouldn't have any automatic line breaks as intended. | @OpenSauce04 #1718
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered stable. This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development. If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release. --- This changelog doesn't reflect the final intended featureset of the 2125.0 update. Many features are still in development, and for this reason, several planned changes are not yet present in this pre-release. You can view our roadmap at https://github.com/azahar-emu/azahar/milestones. --- # Azahar 2125.0-alpha1 Changelog # All - Implemented a disk shader cache for the Vulkan renderer in the form of `.vkch` files. | @PabloMK7 #1725 #1748 - These files keep track of compiled shaders so that there is no need to recompile them on subsequent application launches, which removes all stutter caused by shader compilation after the first playthrough of the application. - Cache files can also be copied between your own devices to benefit from the reduced stutter. - Fixed an issue where, if a game with no cheats had its cheat list viewed or the game was launched, the cheats list for the previously loaded game would be erroneously used. | @Fs00 #1640 - Minor fixes to local play for Luigi's Mansion 1 and Download Play applications. | @lannoene #1690 - Minor optimization applied to the Vulkan renderer which slightly reduces its memory usage. | @PabloMK7 #1710 # Desktop - Fixed a rare issue where the emulator could attempt to pre-load custom textures even when they were disabled, resulting in a crash. | @coolguy1842 #1629 - Fixed an issue where a small subset of setting tooltips wouldn't have any automatic line breaks as intended. | @OpenSauce04 #1718 - Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726 - This setting is enabled by default, and disabling it prevents Azahar from attempting to detect the display's refresh rate when choosing its preferred Vulkan presentation mode. Disabling this setting can result in emulation slowdowns with certain displays, so it's recommended to leave it enabled unless you know what you're doing. # Windows - Fixed an issue where certain characters in an application name could become corrupted when creating a desktop shortcut. | @RedBlackAka # Technical - If certain features are disabled at compile-time in the desktop build, code related to those features is now more aggressively excluded. | @RedBlackAka #1630 - Detection of CPUs using the FMA4 extension has been disabled, as this extension is not used by Azahar. | @RedBlackAka #1746 - Added NATVIS to BitField class, allowing for better debugging in Visual Studio. | @PabloMK7 #1731
v2124.3
This update re-enables support for the .3ds extension, which was previously removed in Azahar's initial release.
We have decided to publish this change in its own Azahar release to avoid the change overshadowing additions made in the future 2125 update.
Re-added support for the .3ds file extension. | @PabloMK7 #1701
Changelog complet
This update re-enables support for the .3ds extension, which was previously removed in Azahar's initial release. We previously made this change as a clear motion to distance ourselves from the mass piracy that lead to the closure of Yuzu and Citra, however, we have now determined that this change is causing more harm than good. We've noticed that the removal of the .3ds extension has caused unnecessary fragmentation in the 3DS emulation community. This led to the creation of dubiously safe forks, to which a portion of the Azahar userbase migrated. These forks used unsafe deployment practices, presented licensing concerns, and confused users as to whether the forks were part of the upstream Azahar project. These circumstances created an unhealthy open-source development environment, and we don't believe that this is in the best interest of the 3DS emulation scene. Given that the removal of the .3ds extension was originally an act of project philosophy rather than a technical change, we don't want this decision to overshadow the very real leaps which have been made in Azahar over the last year. Because of this, we have decided that it's for the best of everyone that we revert the change. It is important to note that support for encrypted ROMs is still disabled; This will not change for the foreseeable future. Unlike the .3ds extension, which is a matter of project philosophy, encrypted ROMs still present actual legal challenges that we do not want to take on. We have decided to publish this change in its own Azahar release to avoid the change overshadowing additions made in the future 2125 update. We hope that this change will help to bring the 3DS emulation community closer together. --- # Azahar 2124.3 Changelog # All - Re-added support for the .3ds file extension. | @PabloMK7 #1701
v2124.2
When using pre-release builds, update notifications will still be received for newer pre-releases regardless of the setting value to allow important fixes to be distributed. As such, this new feature primarily applies to the stable build.
This notably fixes an issue where connecting/disconnecting a controller during emulation on macOS would cause the emulator to crash.
Introduced a new Update Channel feature | @OpenSauce04 #1659
This feature can be accessed from the General section of the settings menu under a new "Updates" subsection.
Similarly to 2124.1, this minor release focuses on fixing high-priority bugs and issues.
This feature is planned to be re-enabled in the 2125 update following additional polishing and another round of public testing. Apologies for any inconvenience.
This notably fixes an issue where the Nimbus plugin required to play Animal Crossing: New Leaf online failed to load properly.
Added a note to the "Enable async presentation" setting indicating that it adds 1 frame of input lag. | @Immersion95 #1669
Changelog complet
Similarly to 2124.1, this minor release focuses on fixing high-priority bugs and issues. Additionally, it introduces a new "Update Channel" feature on desktop builds, allowing you to receive in-app notifications for pre-release builds such as betas and release candidates, even when running a stable release. We are releasing this feature in the hope that it will encourage more users to try the prereleases, experiencing the new features early and helping us to polish the final release by reporting issues we may have missed. --- # Azahar 2124.2 Changelog # Desktop - Introduced a new Update Channel feature | @OpenSauce04 #1659 - This feature can be accessed from the General section of the settings menu under a new "Updates" subsection. - The available channels are "Stable" and "Prerelease". - When using pre-release builds, update notifications will still be received for newer pre-releases regardless of the setting value to allow important fixes to be distributed. As such, this new feature primarily applies to the stable build. - Added a note to the "Enable async presentation" setting indicating that it adds 1 frame of input lag. | @Immersion95 #1669 - The Vulkan texture filtering functionality, which was introduced in 2124, has been temporarily disabled due to unforeseen stability issues. | @PabloMK7 #1678 - This feature is planned to be re-enabled in the 2125 update following additional polishing and another round of public testing. Apologies for any inconvenience. # MacOS - Fixed an issue where, when using an Application Directory, Azahar may hang or have a flickering user interface after launching. | @OpenSauce04 #1665 # All - Fixed an issue where plugins that were intended to run for all title IDs instead didn't run at all. | @OpenSauce04 #1679 - This notably fixes an issue where the Nimbus plugin required to play Animal Crossing: New Leaf online failed to load properly. - Updated SDL to version 2.32.10. | @OpenSauce04 #1680 - This notably fixes an issue where connecting/disconnecting a controller during emulation on macOS would cause the emulator to crash. - Fixed an issue where, when launching from the HOME menu, applications which required forced accurate multiplication wouldn't have it activated. | @PabloMK7 #1671 - Fixed an issue where, when loading a save state, accurate multiplication would be automatically and erroneously disabled until emulation was restarted. | @PabloMK7 #1671 - Fixed an issue where game graphics could momentarily appear broken after loading a save state. | @PabloMK7 #1672 - Fixed an issue where custom textures would be disabled after loading a save state until emulation was restarted. | @PabloMK7 #1672 - Mario & Luigi: Paper Jam now has forced accurate multiplication, improving compatibility. | @PabloMK7 #1671 # Android - Fixed an issue where, on many setups, the VSync setting could appear to be disabled, but was actually enabled. | @OpenSauce04 #1658 - This was addressed by properly disabling the VSync setting in these configurations, matching the setting's prior appearance. - Fixed an issue where the Retroid Pocket screen attachment could function incorrectly on the Odin 2. | @DavidRGriswold #1667 - The circle pad/c-stick binding UI has been updated to be more clearly understandable. | @DavidRGriswold #1676 # Technical - CMake now explicitly searches for `Qt6::GuiPrivate` before linking with it, improving build compatibility in certain environments. | @marcin-serwin #1657
v2124.1
Fixed a regression introduced in 2124 where, while using the Vulkan renderer, certain textures or graphical effects would have an incorrect appearance. | @jbm11208 #1634
Fixed a long-standing issue where, on certain Android flavours or devices, the Azahar app could instantly crash when opened. | @OpenSauce04 #1646
Fixed a regression introduced in 2124 where the Azahar application could immediately hang after launching on macOS 26 Tahoe. | @PabloMK7 #1649
Fixed an issue where, when building locally, build information may sometimes not be generated correctly. | @OpenSauce04 #1652
This minor release addresses high-priority issues which were discovered since the previous update.
Users, especially those using version 2124, are advised to update whenever it is convenient to do so.
Changelog complet
This minor release addresses high-priority issues which were discovered since the previous update. Users, especially those using version 2124, are advised to update whenever it is convenient to do so. --- # Azahar 2124.1 Changelog # All - Fixed a regression introduced in 2124 where, while using the Vulkan renderer, certain textures or graphical effects would have an incorrect appearance. | @jbm11208 #1634 # Android - Fixed a long-standing issue where, on certain Android flavours or devices, the Azahar app could instantly crash when opened. | @OpenSauce04 #1646 # MacOS - Fixed a regression introduced in 2124 where the Azahar application could immediately hang after launching on macOS 26 Tahoe. | @PabloMK7 #1649 # Technical - Fixed an issue where, when building locally, build information may sometimes not be generated correctly. | @OpenSauce04 #1652 - Upgraded bundled Qt to 6.9.3. | @OpenSauce04 #1650 - Removed a leftover file from the long-decommissioned Citra installer. | @OpenSauce04 #1651
v2124
Improved implementation of `MemorySystem::GetPhysicalPointer`, resulting in a very minor performance improvement. | @PabloMK7 #1587
Fixed a possible crash in the Vulkan renderer caused by malformed geometry shaders. | @PabloMK7 #1585
Fixed a bug where the secondary screen opacity setting was being applied in layouts other than the custom layout. | @DavidRGriswold #1496
Fixed a bug where the screen size could be detected incorrectly. | @DavidRGriswold #1495
Added new Docker image download option to release files. | @OpenSauce04 #1493
Added new game launch stress testing functionality to the desktop build behind the new `ENABLE_DEVELOPER_OPTIONS` CMake option. | @OpenSauce04 #1442
It's been a while since the last major update, and we've been working hard during that time to bring many improvements to the emulator.In fact, by a decent margin, this is Azahar's largest update ever!
Please take a look at the changelog below to see what we've been working on and learn about the new features which are available.
Changelog complet
It's been a while since the last major update, and we've been working hard during that time to bring many improvements to the emulator.In fact, by a decent margin, this is Azahar's largest update ever! Please take a look at the changelog below to see what we've been working on and learn about the new features which are available. --- As previously announced and explained in an announcement on our Discord server, this release increases the minimum Android version from Android 9 to Android 10. Devices running Android 9 will no longer be able to update beyond Azahar 2123.4.1. See the announcement post for additional information. --- # Azahar 2124 Changelog # All - Implemented emulated cartridge insertion functionality. | @PabloMK7 #1304 - This causes the cartridge to appear inserted on the emulated HOME menu, and otherwise act as an inserted cartridge would on real hardware. - Implemented texture filtering while using the Vulkan renderer. | @jbm11208 #1116, @jbm11208 #1513, @PabloMK7 #1561 - Added support for secondary screen opacity while using the Vulkan renderer. | Briar @OpenSauce04 #1255 - Improved HLE NWM support. | @lannoene #1375 - This enables multiplayer functionality with use of the LLE DLP module in several new games, including Luigi's Mansion, Luigi's Mansion: Dark Moon, and Mario Kart 7. - Implemented HLE DSP sleep and wakeup functionality. | @PabloMK7 #1529 - This fixes an issue where games could have bugged sound when opened from the HOME menu. - Added new SMDH region free patch setting which is enabled by default. | @PabloMK7 #1541 - This functions similarly to the region free patch from Luma3DS. - Improved memory mode handling, allowing extended memory games to be launched from the HOME menu. | @PabloMK7 #1534, @PabloMK7 #1560 - Improved plugin memory management, allowing launching applications with plugins from the HOME menu. | @PabloMK7 #1554 - Changed unimplemented GAS mode behaviour, fixing visual issues in the Monster Hunter games when a blur effect is used. - Fixed garbled HOME menu graphics when suspending an application. | @PabloMK7 #1518 - Fixed a long-standing issue where microphone input could sound slowed-down or stuttery. | @PabloMK7 #1610 - Various improvements to stereoscopic 3D settings and functionality. | @DavidRGriswold #1212 - Implemented `AM:CancelImportProgram`, allowing emulated CIA installations to be cancelled mid-way. | @PabloMK7 #1535 - Improved implementation of `MemorySystem::GetPhysicalPointer`, resulting in a very minor performance improvement. | @PabloMK7 #1587 - Moved the plugin framebuffer address ownership from the `plg:ldr` service to the memory system, resulting in a very minor performance improvement. | @PabloMK7 #1572 - Fixed a possible crash in the Vulkan renderer caused by malformed geometry shaders. | @PabloMK7 #1585 - Switch to using xxHash instead of CityHash64 and improve ShaderSetup hashing behaviour, resulting in a minor performance improvement. | @PabloMK7 #1592 - Implemented game-specific fixes for broken geometry shaders in the following SEGA 3D Classics titles: Thunder Blade, After Burner, Power Drift. - The `play_time.bin` file has now been moved from the log directory to the sysdata directory. | @OpenSauce04 #1310 # Android - Increased minimum Android version to Android 10. | @OpenSauce04 #1368 - Added support for compressing and decompression ROM files. | @ne-kle @PabloMK7 #1458 - Implemented background color, second screen opacity, and audio emulation settings from the desktop build. | marsia @rtiangha @OpenSauce04 #1254 - Fixed an issue where Discord could break secondary screen detection on dual-screen devices. | @DavidRGriswold #1455 - Added "Hide 3DS Images from Android" setting. | marsia @OpenSauce04 #1254 - This prevents images related to Azahar from showing up in the Android gallery. - VSync is now disabled by default on Android due to reasons explained [here](https://github.com/azahar-emu/azahar/pull/1456). | @DavidRGriswold #1456 - This results in a noticeable reduction in input latency with little to no effect on the visual appearance of games. - This change applies retroactively to existing configurations; VSync will be automatically disabled after updating if it was previously enabled. - Fixed an issue where resetting input bindings to their default value wouldn't actually clear the binding. | @DavidRGriswold #1463 - Fixed a bug where the secondary screen opacity setting was being applied in layouts other than the custom layout. | @DavidRGriswold #1496 - Fixed an issue where certain external gamepads would have inverted axis controls. | @DavidRGriswold #1483 - Affected gamepads will have to be re-bound after updating the emulator. - The emulator UI's refresh rate is no longer limited 60hz on phones with a higher set refresh rate. | @ne-kle - During emulation, the display refresh rate is still limited to 60hz to preserve battery life. - Fixed the Toggle Controls menu having flickering on the bottom edge and having misaligned list clickboxes on certain Android devices. | @OpenSauce04 #1598 - Fixed a bug where the screen size could be detected incorrectly. | @DavidRGriswold #1495 # Desktop - Implemented batch compression and decompression functionality. | @PabloMK7 #1503 - Improved consistency of capitalization and colon usage in the UI. | @RedBlackAka @OpenSauce04 #1306 - Prevented refreshing game directory while emulation is powered on, avoiding a race condition. | @PabloMK7 #1553 - Skip Vulkan in API quick selection if unavailable. | @RedBlackAka #1618 # Docker - Added new Docker image download option to release files. | @OpenSauce04 #1493 - This docker image contains the `azahar-room` executable, allowing local multiplayer rooms to be hosted. # Technical - ARM macOS binaries are now built using macOS 26 runners. | @OpenSauce04 #1412 - Added new game launch stress testing functionality to the desktop build behind the new `ENABLE_DEVELOPER_OPTIONS` CMake option. | @OpenSauce04 #1442 - Various minor internal improvements to the Android performance overlay. | @OpenSauce04 #1367 - Fixed build failure on unix-like operating systems introduced by Qt 6.10.0. | @OpenSauce04 #1441 - Moved DSP memory ownership to the memory subsystem. | @PabloMK7 #1520 - Updated dynarmic to the latest version. | @PabloMK7 #1569
v2124-rc2
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- This changelog is relative to 2124-rc1.For a complete list of the changes in the upcoming 2124 update, please see the [2124-rc1 changelog](https://github.com/azahar-emu/azahar/releases/tag/2124-rc1). --- # Azahar 2124-rc2 Changelog # All - Fixed a regression introduced in 2124-rc1 where pre-existing custom textures wouldn't load correctly. | @PabloMK7 #1609 - Fixed a long-standing issue where microphone input could sound slowed-down or stuttery. | @PabloMK7 #1610 # Docker - For Docker images produced by our CI/CD pipeline, the image tag is now set to either the relevant git tag or the current commit's hash. | @OpenSauce04 #1611 - In 2124-rc1, the image tag was always `latest`. From now on, all image releases will use this new naming scheme. - As an example, the tag for this release will be `2124-rc2`.
v2124-rc1
Improved implementation of `MemorySystem::GetPhysicalPointer`, resulting in a very minor performance improvement. | @PabloMK7 #1587
Fixed a possible crash in the Vulkan renderer caused by malformed geometry shaders. | @PabloMK7 #1585
Fixed a bug where the secondary screen opacity setting was being applied in layouts other than the custom layout. | @DavidRGriswold #1496
Fixed a bug where the screen size could be detected incorrectly. | @DavidRGriswold #1495
Added new Docker image download option to release files. | @OpenSauce04 #1493
Added new game launch stress testing functionality to the desktop build behind the new `ENABLE_DEVELOPER_OPTIONS` CMake option. | @OpenSauce04 #1442
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
It's been a while since the last major update, and we've been working hard during that time to bring many improvements to the emulator.In fact, by a decent margin, this is Azahar's largest update ever!
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- It's been a while since the last major update, and we've been working hard during that time to bring many improvements to the emulator.In fact, by a decent margin, this is Azahar's largest update ever! Please take a look at the changelog below to see what we've been working on and learn about the new features which are available. --- As previously announced and explained in an announcement on our Discord server, this release increases the minimum Android version from Android 9 to Android 10. Devices running Android 9 will no longer be able to update beyond Azahar 2123.4.1. See the announcement post for additional information. --- # Azahar 2124-rc1 Changelog # All - Implemented emulated cartridge insertion functionality. | @PabloMK7 #1304 - This causes the cartridge to appear inserted on the emulated HOME menu, and otherwise act as an inserted cartridge would on real hardware. - Implemented texture filtering while using the Vulkan renderer. | @jbm11208 #1116, @jbm11208 #1513, @PabloMK7 #1561 - Added support for secondary screen opacity while using the Vulkan renderer. | Briar @OpenSauce04 #1255 - Improved HLE NWM support. | @lannoene #1375 - This enables multiplayer functionality with use of the LLE DLP module in several new games, including Luigi's Mansion, Luigi's Mansion: Dark Moon, and Mario Kart 7. - Implemented HLE DSP sleep and wakeup functionality. | @PabloMK7 #1529 - This fixes an issue where games could have bugged sound when opened from the HOME menu. - Added new SMDH region free patch setting which is enabled by default. | @PabloMK7 #1541 - This functions similarly to the region free patch from Luma3DS. - Improved memory mode handling, allowing extended memory games to be launched from the HOME menu. | @PabloMK7 #1534, @PabloMK7 #1560 - Improved plugin memory management, allowing launching applications with plugins from the HOME menu. | @PabloMK7 #1554 - Changed unimplemented GAS mode behaviour, fixing visual issues in the Monster Hunter games when a blur effect is used. - Fixed garbled HOME menu graphics when suspending an application. | @PabloMK7 #1518 - Various improvements to stereoscopic 3D settings and functionality. | @DavidRGriswold #1212 - Implemented `AM:CancelImportProgram`, allowing emulated CIA installations to be cancelled mid-way. | @PabloMK7 #1535 - Improved implementation of `MemorySystem::GetPhysicalPointer`, resulting in a very minor performance improvement. | @PabloMK7 #1587 - Moved the plugin framebuffer address ownership from the `plg:ldr` service to the memory system, resulting in a very minor performance improvement. | @PabloMK7 #1572 - Fixed a possible crash in the Vulkan renderer caused by malformed geometry shaders. | @PabloMK7 #1585 - Switch to using xxHash instead of CityHash64 and improve ShaderSetup hashing behaviour, resulting in a minor performance improvement. | @PabloMK7 #1592 - Implemented game-specific fixes for broken geometry shaders in the following SEGA 3D Classics titles: Thunder Blade, After Burner, Power Drift. - The `play_time.bin` file has now been moved from the log directory to the sysdata directory. | @OpenSauce04 #1310 # Android - Increased minimum Android version to Android 10. | @OpenSauce04 #1368 - Added support for compressing and decompression ROM files. | @ne-kle @PabloMK7 #1458 - Implemented background color, second screen opacity, and audio emulation settings from the desktop build. | marsia @rtiangha @OpenSauce04 #1254 - Fixed an issue where Discord could break secondary screen detection on dual-screen devices. | @DavidRGriswold #1455 - Added "Hide 3DS Images from Android" setting. | marsia @OpenSauce04 #1254 - This prevents images related to Azahar from showing up in the Android gallery. - VSync is now disabled by default on Android due to reasons explained [here](https://github.com/azahar-emu/azahar/pull/1456). | @DavidRGriswold #1456 - This results in a noticeable reduction in input latency with little to no effect on the visual appearance of games. - This change applies retroactively to existing configurations; VSync will be automatically disabled after updating if it was previously enabled. - Fixed an issue where resetting input bindings to their default value wouldn't actually clear the binding. | @DavidRGriswold #1463 - Fixed a bug where the secondary screen opacity setting was being applied in layouts other than the custom layout. | @DavidRGriswold #1496 - Fixed an issue where certain external gamepads would have inverted axis controls. | @DavidRGriswold #1483 - Affected gamepads will have to be re-bound after updating the emulator. - The emulator UI's refresh rate is no longer limited 60hz on phones with a higher set refresh rate. | @ne-kle - During emulation, the display refresh rate is still limited to 60hz to preserve battery life. - Fixed the Toggle Controls menu having flickering on the bottom edge and having misaligned list clickboxes on certain Android devices. | @OpenSauce04 #1598 - Fixed a bug where the screen size could be detected incorrectly. | @DavidRGriswold #1495 # Desktop - Implemented batch compression and decompression functionality. | @PabloMK7 #1503 - Improved consistency of capitalization and colon usage in the UI. | @RedBlackAka @OpenSauce04 #1306 - Prevented refreshing game directory while emulation is powered on, avoiding a race condition. | @PabloMK7 #1553 # Docker - Added new Docker image download option to release files. | @OpenSauce04 #1493 - This docker image contains the `azahar-room` executable, allowing local multiplayer rooms to be hosted. # Technical - ARM macOS binaries are now built using macOS 26 runners. | @OpenSauce04 #1412 - Added new game launch stress testing functionality to the desktop build behind the new `ENABLE_DEVELOPER_OPTIONS` CMake option. | @OpenSauce04 #1442 - Various minor internal improvements to the Android performance overlay. | @OpenSauce04 #1367 - Fixed build failure on unix-like operating systems introduced by Qt 6.10.0. | @OpenSauce04 #1441 - Moved DSP memory ownership to the memory subsystem. | @PabloMK7 #1520 - Updated dynarmic to the latest version. | @PabloMK7 #1569
v2123.4.1
Azahar 2123.4.1 is a hotfix for the previously released 2123.4 update.It fixes a previously uncaught regression in the Android build.This issue could cause the emulator to crash when selecting a user directory on an SD card or other external storage device.
To see a full list of the important changes included in the 2123.4 update, see [the 2123.4 changelog](https://github.com/azahar-emu/azahar/releases/tag/2123.4).
Changelog complet
Azahar 2123.4.1 is a hotfix for the previously released 2123.4 update.It fixes a previously uncaught regression in the Android build.This issue could cause the emulator to crash when selecting a user directory on an SD card or other external storage device. To see a full list of the important changes included in the 2123.4 update, see [the 2123.4 changelog](https://github.com/azahar-emu/azahar/releases/tag/2123.4).
v2123.4
This new system is in its infancy, and is mostly the same as the `googleplay` variant, so the performance improvements won't yet be apparent. Filesystem performance should noticeably improve in the next few major releases as more functionality is migrated to the new system.
Fixed an issue where attempting to use the Vulkan renderer on a system with an AMD graphics card and Mesa 25.3.2 or later would result in an instant crash. | Anonymous contributor #1563
The `googleplay` version is compliant with Google Play Store regulations, and uses the old SAF-based method. This build will not see the performance improvements present in the `vanilla` build.
Fixed an issue where the emulator could instantly crash when starting an application due to a race condition. | @OpenSauce04 #1448
Fixed a build failure in the AppImage build caused by an upstream change to linuxdeploy. | @OpenSauce04 #1486
All users are advised to update to this release at their earliest convenience.
The **Android build** has been **split into two new download options**, those being the `vanilla` and `googleplay` builds.
The `vanilla` version uses a new method of filesystem access which is significantly faster and more simple, but isn't permitted by the Google Play store due to its use of the `MANAGE_EXTERNAL_STORAGE` permission.
Changelog complet
Azahar 2123.4 is an unscheduled minor release which primarily targets several critical issues which were discovered since the last release, some of which were caused by upstream changes. All users are advised to update to this release at their earliest convenience. Please read the change log for further details. Work continues on the 2124 major release, and you can track its progress [here](https://github.com/azahar-emu/azahar/milestone/19). --- ## New download options: ### Android - The **Android build** has been **split into two new download options**, those being the `vanilla` and `googleplay` builds. - The `vanilla` version uses a new method of filesystem access which is significantly faster and more simple, but isn't permitted by the Google Play store due to its use of the `MANAGE_EXTERNAL_STORAGE` permission. - This new system is in its infancy, and is mostly the same as the `googleplay` variant, so the performance improvements won't yet be apparent. Filesystem performance should noticeably improve in the next few major releases as more functionality is migrated to the new system. - The `googleplay` version is compliant with Google Play Store regulations, and uses the old SAF-based method. This build will not see the performance improvements present in the `vanilla` build. - Unless you have a particular reason to use the `googleplay` build or you are downloading the app from the Google Play Store, the `vanilla` version is recommended. ### Linux - The **AppImage build** has been **split into two new download options**, those being `azahar.AppImage` and `azahar-wayland.AppImage` - The default `azahar.AppImage` now has native Wayland support disabled, instead opting to use XWayland when run in a Wayland session. This is due to some severe upstream issues that have been discovered when using native Wayland with Azahar (e.g. #1191) - Users are advised to use the default AppImage unless they have a specific reason to have native Wayland support enabled, for example if they are running a system with no xwayland support. --- # Azahar 2123.4 Changelog # Desktop - Fixed an issue where the emulator could instantly crash when starting an application due to a race condition. | @OpenSauce04 #1448 # Android - Fixed an issue where, if an application attempted to rename a file to a different location, the file wouldn't be moved, and the file would just be renamed in the same directory it was previously in. | @OpenSauce04 #1545 - This notably fixes an issue where Nimbus 2.x wouldn't install its files correctly. - Implement new build variant which uses raw filesystem access for file I/O. | @OpenSauce04 #1511 #1542 # Linux - Fixed an issue where attempting to use the Vulkan renderer on a system with an AMD graphics card and Mesa 25.3.2 or later would result in an instant crash. | Anonymous contributor #1563 - Disabled native Wayland support in default AppImage, Create new AppImage download option with native Wayland support enabled. | @OpenSauce04 #1499 # MacOS - Fixed an issue where attempting to use a real camera for camera emulation would result in solid green video output from the camera. | @OpenSauce04 #1515 # Technical - Fixed a build failure in the AppImage build caused by an upstream change to linuxdeploy. | @OpenSauce04 #1486 - Added `relWithDebInfoLite` build profile. | @OpenSauce04 #1498 - Upgraded AGP to 8.13.1. | @OpenSauce04 #1500 - Updated Boost to v1.89.0 | @PabloMK7 #1502
v2123.4-rc1
This new system is in its infancy, and is mostly the same as the `googleplay` variant, so the performance improvements won't yet be apparent. Filesystem performance should noticeably improve in the next few major releases as more functionality is migrated to the new system.
Fixed an issue where attempting to use the Vulkan renderer on a system with an AMD graphics card and Mesa 25.3.2 or later would result in an instant crash. | Anonymous contributor #1563
The `googleplay` version is compliant with Google Play Store regulations, and uses the old SAF-based method. This build will not see the performance improvements present in the `vanilla` build.
Fixed an issue where the emulator could instantly crash when starting an application due to a race condition. | @OpenSauce04 #1448
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Fixed a build failure in the AppImage build caused by an upstream change to linuxdeploy. | @OpenSauce04 #1486
The **Android build** has been **split into two new download options**, those being the `vanilla` and `googleplay` builds.
The `vanilla` version uses a new method of filesystem access which is significantly faster and more simple, but isn't permitted by the Google Play store due to its use of the `MANAGE_EXTERNAL_STORAGE` permission.
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. Users are advised to back up their Azahar user data directory before using a pre-release build. --- Azahar 2123.4 is an unscheduled minor release which primarily targets several critical issues which were discovered since the last release, some of which were caused by upstream changes. Please read the change log for further details. Work continues on the 2124 major release, and you can track its progress [here](https://github.com/azahar-emu/azahar/milestone/19). --- ## New download options: ### Android - The **Android build** has been **split into two new download options**, those being the `vanilla` and `googleplay` builds. - The `vanilla` version uses a new method of filesystem access which is significantly faster and more simple, but isn't permitted by the Google Play store due to its use of the `MANAGE_EXTERNAL_STORAGE` permission. - This new system is in its infancy, and is mostly the same as the `googleplay` variant, so the performance improvements won't yet be apparent. Filesystem performance should noticeably improve in the next few major releases as more functionality is migrated to the new system. - The `googleplay` version is compliant with Google Play Store regulations, and uses the old SAF-based method. This build will not see the performance improvements present in the `vanilla` build. - Unless you have a particular reason to use the `googleplay` build or you are downloading the app from the Google Play Store, the `vanilla` version is recommended. ### Linux - The **AppImage build** has been **split into two new download options**, those being `azahar.AppImage` and `azahar-wayland.AppImage` - The default `azahar.AppImage` now has native Wayland support disabled, instead opting to use XWayland when run in a Wayland session. This is due to some severe upstream issues that have been discovered when using native Wayland with Azahar (e.g. #1191) - Users are advised to use the default AppImage unless they have a specific reason to have native Wayland support enabled, for example if they are running a system with no xwayland support. --- # Azahar 2123.4-rc1 Changelog # Desktop - Fixed an issue where the emulator could instantly crash when starting an application due to a race condition. | @OpenSauce04 #1448 # Android - Fixed an issue where, if an application attempted to rename a file to a different location, the file wouldn't be moved, and the file would just be renamed in the same directory it was previously in. | @OpenSauce04 #1545 - This notably fixes an issue where Nimbus 2.x wouldn't install its files correctly. - Implement new build variant which uses raw filesystem access for file I/O. | @OpenSauce04 #1511 #1542 # Linux - Fixed an issue where attempting to use the Vulkan renderer on a system with an AMD graphics card and Mesa 25.3.2 or later would result in an instant crash. | Anonymous contributor #1563 - Disabled native Wayland support in default AppImage, Create new AppImage download option with native Wayland support enabled. | @OpenSauce04 #1499 # MacOS - Fixed an issue where attempting to use a real camera for camera emulation would result in solid green video output from the camera. | @OpenSauce04 #1515 # Technical - Fixed a build failure in the AppImage build caused by an upstream change to linuxdeploy. | @OpenSauce04 #1486 - Added `relWithDebInfoLite` build profile. | @OpenSauce04 #1498 - Upgraded AGP to 8.13.1. | @OpenSauce04 #1500 - Updated Boost to v1.89.0 | @PabloMK7 #1502
v2123.4-beta3
As a beta release, this build is not yet considered a stable release, but is instead a build which exists to allow users to test new features and help us discover bugs before a stable release is published.
Fixed an issue where attempting to use the Vulkan renderer on a system with an AMD graphics card and Mesa 25.3.2 or later would result in an instant crash. | Anonymous contributor #1563
It is advised to back up your Azahar user data directory before using a pre-release build.
This is a beta release. Please expand this drop-down to read more about what this means before installing.
If you are unwilling to tolerate potential minor issues, you may be better off waiting until the beta release is promoted to a full release.
Azahar 2123.4 is an unscheduled minor release which primarily targets several critical issues which were discovered since the last release, some of which were caused by upstream changes.
Work continues on the 2124 major release, and you can track its progress [here](https://github.com/azahar-emu/azahar/milestone/19).
This changelog is relative to 2123.4 Beta 2. For a more complete view of the upcoming changes in this release, see the [previous changelog](https://github.com/azahar-emu/azahar/releases/tag/2123.4-beta2)
Changelog complet
⚠️Important Beta Relase Information⚠️ This is a beta release. Please expand this drop-down to read more about what this means before installing. As a beta release, this build is not yet considered a stable release, but is instead a build which exists to allow users to test new features and help us discover bugs before a stable release is published. If you are unwilling to tolerate potential minor issues, you may be better off waiting until the beta release is promoted to a full release. It is advised to back up your Azahar user data directory before using a pre-release build. --- Azahar 2123.4 is an unscheduled minor release which primarily targets several critical issues which were discovered since the last release, some of which were caused by upstream changes. Please read the change log for further details. Work continues on the 2124 major release, and you can track its progress [here](https://github.com/azahar-emu/azahar/milestone/19). --- This changelog is relative to 2123.4 Beta 2. For a more complete view of the upcoming changes in this release, see the [previous changelog](https://github.com/azahar-emu/azahar/releases/tag/2123.4-beta2) --- # Azahar 2123.4-beta3 Changelog # Linux - Fixed an issue where attempting to use the Vulkan renderer on a system with an AMD graphics card and Mesa 25.3.2 or later would result in an instant crash. | Anonymous contributor #1563
v2123.4-beta2
As a beta release, this build is not yet considered a stable release, but is instead a build which exists to allow users to test new features and help us discover bugs before a stable release is published.
This new system is in its infancy, and is mostly the same as the `googleplay` variant, so the performance improvements won't yet be apparent. Filesystem performance should noticeably improve in the next few major releases as more functionality is migrated to the new system.
The `googleplay` version is compliant with Google Play Store regulations, and uses the old SAF-based method. This build will not see the performance improvements present in the `vanilla` build.
Fixed an issue where the emulator could instantly crash when starting an application due to a race condition. | @OpenSauce04 #1448
Fixed a build failure in the AppImage build caused by an upstream change to linuxdeploy. | @OpenSauce04 #1486
The **Android build** has been **split into two new download options**, those being the `vanilla` and `googleplay` builds.
The `vanilla` version uses a new method of filesystem access which is significantly faster and more simple, but isn't permitted by the Google Play store due to its use of the `MANAGE_EXTERNAL_STORAGE` permission.
The **AppImage build** has been **split into two new download options**, those being `azahar.AppImage` and `azahar-wayland.AppImage`
Changelog complet
⚠️Important Beta Relase Information⚠️ This is a beta release. Please expand this drop-down to read more about what this means before installing. As a beta release, this build is not yet considered a stable release, but is instead a build which exists to allow users to test new features and help us discover bugs before a stable release is published. If you are unwilling to tolerate potential minor issues, you may be better off waiting until the beta release is promoted to a full release. It is advised to back up your Azahar user data directory before using a pre-release build. --- Azahar 2123.4 is an unscheduled minor release which primarily targets several critical issues which were discovered since the last release, some of which were caused by upstream changes. Please read the change log for further details. Work continues on the 2124 major release, and you can track its progress [here](https://github.com/azahar-emu/azahar/milestone/19). --- ## New download options: ### Android - The **Android build** has been **split into two new download options**, those being the `vanilla` and `googleplay` builds. - The `vanilla` version uses a new method of filesystem access which is significantly faster and more simple, but isn't permitted by the Google Play store due to its use of the `MANAGE_EXTERNAL_STORAGE` permission. - This new system is in its infancy, and is mostly the same as the `googleplay` variant, so the performance improvements won't yet be apparent. Filesystem performance should noticeably improve in the next few major releases as more functionality is migrated to the new system. - The `googleplay` version is compliant with Google Play Store regulations, and uses the old SAF-based method. This build will not see the performance improvements present in the `vanilla` build. - Unless you have a particular reason to use the `googleplay` build or you are downloading the app from the Google Play Store, the `vanilla` version is recommended. ### Linux - The **AppImage build** has been **split into two new download options**, those being `azahar.AppImage` and `azahar-wayland.AppImage` - The default `azahar.AppImage` now has native Wayland support disabled, instead opting to use XWayland when run in a Wayland session. This is due to some severe upstream issues that have been discovered when using native Wayland with Azahar (e.g. #1191) - Users are advised to use the default AppImage unless they have a specific reason to have native Wayland support enabled, for example if they are running a system with no xwayland support. --- # Azahar 2123.4-beta2 Changelog # Desktop - Fixed an issue where the emulator could instantly crash when starting an application due to a race condition. | @OpenSauce04 #1448 # Android - Fixed an issue where, if an application attempted to rename a file to a different location, the file wouldn't be moved, and the file would just be renamed in the same directory it was previously in. | @OpenSauce04 #1545 - This notably fixes an issue where Nimbus 2.x wouldn't install its files correctly. - Implement new build variant which uses raw filesystem access for file I/O. | @OpenSauce04 #1511 #1542 # MacOS - Fixed an issue where attempting to use a real camera for camera emulation would result in solid green video output from the camera. | @OpenSauce04 #1515 # Linux - Disabled native Wayland support in default AppImage, Create new AppImage download option with native Wayland support enabled. | @OpenSauce04 #1499 # Technical - Fixed a build failure in the AppImage build caused by an upstream change to linuxdeploy. | @OpenSauce04 #1486 - Added `relWithDebInfoLite` build profile. | @OpenSauce04 #1498 - Upgraded AGP to 8.13.1. | @OpenSauce04 #1500 - Updated Boost to v1.89.0 | @PabloMK7 #1502 --- Note: The version number above is correct: 2123.4-beta1 was tagged but never published.
v2123.3
Fixed an issue where, if a secondary screen was disconnected during emulation while using the Vulkan renderer, the emulator would still attempt to use the disconnected screen, causing various issues. | @DavidRGriswold #1371
Our pre-built macOS binaries are now built using macOS 15 Sequoia + Xcode 16 for both x86_64 and ARM64. | @OpenSauce04 #1410
This fixes a compilation failure when attempting to build Azahar with Clang 21.
Azahar 2123.3 primarily addresses issues experienced by users while using dual-screen Android devices. Additionally, minor changes were made to improve platform support.
Various improvements to secondary display handling on Android. | @SapphireRhodonite @DavidRGriswold #1341
Updated bundled fmt version to 12.0.0. | @OpenSauce04 #1411
Changelog complet
Azahar 2123.3 primarily addresses issues experienced by users while using dual-screen Android devices. Additionally, minor changes were made to improve platform support. --- # Azahar 2123.3 Changelog # Android - Various improvements to secondary display handling on Android. | @SapphireRhodonite @DavidRGriswold #1341 - Fixed an issue where, if a secondary screen was disconnected during emulation while using the Vulkan renderer, the emulator would still attempt to use the disconnected screen, causing various issues. | @DavidRGriswold #1371 # Technical - Our pre-built macOS binaries are now built using macOS 15 Sequoia + Xcode 16 for both x86_64 and ARM64. | @OpenSauce04 #1410 - Updated bundled fmt version to 12.0.0. | @OpenSauce04 #1411 - This fixes a compilation failure when attempting to build Azahar with Clang 21.
v2123.3-rc1
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- Despite being a minor release, Azahar 2123.3 is receiving a release candidate. This is due to this release containing changes which are more involved than what we would ususally include in a minor release. To help us catch problems before the final release, users are advised to test this release candidate if they can tolerate potentially uncaught minor issues. --- Azahar 2123.3 primarily addresses issues experienced by users while using dual-screen Android devices. Additionally, minor changes were made to improve platform support. --- # Azahar 2123.3-rc1 Changelog # Android - Various improvements to secondary display handling on Android. | @SapphireRhodonite @DavidRGriswold #1341 - Fixed an issue where, if a secondary screen was disconnected during emulation while using the Vulkan renderer, the emulator would still attempt to use the disconnected screen, causing various issues. | @DavidRGriswold #1371 # Technical - Our pre-built macOS binaries are now built using macOS 15 Sequoia + Xcode 16 for both x86_64 and ARM64. | @OpenSauce04 #1410 - Updated bundled fmt version to 12.0.0. | @OpenSauce04 #1411 - This fixes a compilation failure when attempting to build Azahar with Clang 21.
v2123.2
Fixed an issue where, if the `shaders/vulkan/` directory was manually deleted, the emulator would fail to recreate it properly, resulting in the emulator crashing due to failure to write cache data. | @OpenSauce04 #1373
Fixed an issue where, upon attempting to edit a slider option with an out-of-bounds value, the emulator would crash. | @DavidRGriswold #1340
Added a check for the required minimum Xcode version when building on MacOS. | @OpenSauce04 #1346
Azahar 2123.2 is a minor release for the 2123.x branch which primarily introduces changes to our build process to improve modern platform support.
Fixed an issue where Qt widgets could appear corrupted when building using Xcode 26. | @OpenSauce04 #1352
This was only ever observed on MacOS, but if it did exist on other platforms, this change will also fix those.
Fixed an issue where games may not close properly, and upon attempting to open a different game, the emulator would become stuck. | @DavidRGriswold #1357
Fixed an issue where the Logcat output would be spammed by log messages related to an abandoned BufferQueue. | @OpenSauce04 #1355
Changelog complet
Azahar 2123.2 is a minor release for the 2123.x branch which primarily introduces changes to our build process to improve modern platform support. It also addresses some minor issues which could be experienced while using the emulator. --- ## Azahar 2123.2 Changelog # Android - Fixed an issue where games may not close properly, and upon attempting to open a different game, the emulator would become stuck. | @DavidRGriswold #1357 - Fixed an issue where, upon attempting to edit a slider option with an out-of-bounds value, the emulator would crash. | @DavidRGriswold #1340 - Added native support for Android devices with 16kb memory pages. | @OpenSauce04 #1351 - Fixed an issue where the Logcat output would be spammed by log messages related to an abandoned BufferQueue. | @OpenSauce04 #1355 # MacOS - Fixed an issue where compilation would fail when using Xcode 26. | @OpenSauce04 #1338 - Fixed an issue where Qt widgets could appear corrupted when building using Xcode 26. | @OpenSauce04 #1352 - Updated to Qt 6.9.2. | @OpenSauce04 #1338 # All - Fixed an issue where, if the `shaders/vulkan/` directory was manually deleted, the emulator would fail to recreate it properly, resulting in the emulator crashing due to failure to write cache data. | @OpenSauce04 #1373 - Users who encountered this issue will stop experiencing crashes after updating. # Windows - Updated to Qt 6.9.2. | @OpenSauce04 #1338 # Technical - Fixed an issue where CMake configuration could fail if a bundled dependency was attempted to be used while the system also had a version of that dependency installed. | @OpenSauce04 #1342 #1377 - This was only ever observed on MacOS, but if it did exist on other platforms, this change will also fix those. - Added a check for the required minimum Xcode version when building on MacOS. | @OpenSauce04 #1346 - Notably, this minimum doesn't align with our minimum MacOS version for *running* Azahar: When running Azahar, MacOS 13 Ventura is required, but when *building* Azahar, MacOS 14 Sonoma's Xcode 15 is required.
v2123.2-rc2
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- Despite being a minor release, Azahar 2123.2 is receiving a release candidate. This is due to it containing notable internal changes to how the emulator is built, specifically on MacOS and Windows. To help us catch issues before a full release, users are advised to test this release candidate if they can tolerate potentially uncaught minor issues. 2123.2 will also address some minor stability issues on Android. --- Azahar 2123.2-rc2 addresses a regression in the Vulkan renderer which could cause persistent emulator crashes after a specific user action. More details below. This issue affected versions 2123, 2123.1, and 2123.2-rc1. For a list of the other changes which will be introduced in 2123.2, see the [prior 2123.2-rc1 changelog](https://github.com/azahar-emu/azahar/releases/tag/2123.2-rc1). --- ## Azahar 2123.2-rc1 Changelog # All - Fixed an issue where, if the `shaders/vulkan/` directory was manually deleted, the emulator would fail to recreate it properly, resulting in the emulator crashing due to failure to write cache data. | @OpenSauce04 #1373 - Users who encountered this issue will stop experiencing crashes after updating.
v2123.2-rc1
Fixed an issue where, upon attempting to edit a slider option with an out-of-bounds value, the emulator would crash. | @DavidRGriswold #1340
Added a check for the required minimum Xcode version when building on MacOS. | @OpenSauce04 #1346
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Fixed an issue where Qt widgets could appear corrupted when building using Xcode 26. | @OpenSauce04 #1352
This was only ever observed on MacOS, but if it did exist on other platforms, this change will also fix those.
Despite being a minor release, Azahar 2123.2 is receiving a release candidate. This is due to it containing notable internal changes to how the emulator is built, specifically on MacOS and Windows.
Fixed an issue where games may not close properly, and upon attempting to open a different game, the emulator would become stuck. | @DavidRGriswold #1357
Fixed an issue where the Logcat output would be spammed by log messages related to an abandoned BufferQueue. | @OpenSauce04 #1355
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- Despite being a minor release, Azahar 2123.2 is receiving a release candidate. This is due to it containing notable internal changes to how the emulator is built, specifically on MacOS and Windows. To help us catch issues before a full release, users are advised to test this release candidate if they can tolerate potentially uncaught minor issues. 2123.2 will also address some minor stability issues on Android. --- ## Azahar 2123.2-rc1 Changelog # Android - Fixed an issue where games may not close properly, and upon attempting to open a different game, the emulator would become stuck. | @DavidRGriswold #1357 - Fixed an issue where, upon attempting to edit a slider option with an out-of-bounds value, the emulator would crash. | @DavidRGriswold #1340 - Added native support for Android devices with 16kb memory pages. | @OpenSauce04 #1351 - Fixed an issue where the Logcat output would be spammed by log messages related to an abandoned BufferQueue. | @OpenSauce04 #1355 # MacOS - Fixed an issue where compilation would fail when using Xcode 26. | @OpenSauce04 #1338 - Fixed an issue where Qt widgets could appear corrupted when building using Xcode 26. | @OpenSauce04 #1352 - Updated to Qt 6.9.2. | @OpenSauce04 #1338 # Windows - Updated to Qt 6.9.2. | @OpenSauce04 #1338 # Technical - Fixed an issue where CMake configuration could fail if a bundled dependency was attempted to be used while the system also had a version of that dependency installed. | @OpenSauce04 #1342 - This was only ever observed on MacOS, but if it did exist on other platforms, this change will also fix those. - Added a check for the required minimum Xcode version when building on MacOS. | @OpenSauce04 #1346 - Notably, this minimum doesn't align with our minimum MacOS version for *running* Azahar: When running Azahar, MacOS 13 Ventura is required, but when *building* Azahar, MacOS 14 Sonoma's Xcode 15 is required.
v2123.1
This release fixes a critical bug which affects all releases of Azahar from its initial 2120 release up to 2123.
Fixed a bug introduced in Azahar 2120 where, if an attempted installation of a `.cia` file failed, the save data of the associated game would be deleted. | @PabloMK7 #1319
Users of any version of Azahar prior to 2123.1 are advised to update as soon as possible.
The logic flaw which allowed this to happen had been present in Citra for many years, but it was only able start to causing damage due to a seemingly innocuous adjustment which was made in Azahar's initial release.
Changelog complet
This release fixes a critical bug which affects all releases of Azahar from its initial 2120 release up to 2123. **Users of any version of Azahar prior to 2123.1 are advised to update as soon as possible.** --- ## Azahar 2123.1 Changelog ### All - Fixed a bug introduced in Azahar 2120 where, if an attempted installation of a `.cia` file failed, the save data of the associated game would be deleted. | @PabloMK7 #1319 - The logic flaw which allowed this to happen had been present in Citra for many years, but it was only able start to causing damage due to a seemingly innocuous adjustment which was made in Azahar's initial release.
v2123
Fixed an issue where the Artic Controller feature wouldn't work correctly on MacOS. | @AlexMolina08 #1263
Restructured touch input code to correctly handle multitouch inputs, resulting in improved multitouch support for the on-screen controller overlay. | @OpenSauce04 #1296
Fixed an issue where, on recent MacOS versions, enabling the OSs low power mode would result in many games being limited to 50% emulation speed when vsync was enabled. | @OpenSauce04 #1193 #1262
Support for the following new formats have been added: `.zcia`, `.zcci`, `.z3dsx`, `.zcxi`.
Fixed an issue where display refresh rates below ~60hz would cause emulation speed to be slower than intended when vsync was enabled. | @OpenSauce04 #1193, @kylon #1248
Added individual x86_64 and ARM64 binaries to releases alongside the existing `universal` download | @RedBlackAka #1138
When using a prerelease build, users are now directed to download the update from the Azahar GitHub releases page rather than the Azahar website. | @OpenSauce04 #1295
Fixed compilation failing when building using GCC 13 or earlier. | @OpenSauce04 #1221
Changelog complet
## Azahar 2123 Changelog ### All - Added ROM compression functionality. | @PabloMK7 #1208 #1249 - Support for the following new formats have been added: `.zcia`, `.zcci`, `.z3dsx`, `.zcxi`. - ROMs can be compressed in Azahar using `Tools --> Compress ROM File…` on desktop. - Fixed a memory leak in the AAC decoder. | @QidiWang #1167 - Fixed an issue where display refresh rates below ~60hz would cause emulation speed to be slower than intended when vsync was enabled. | @OpenSauce04 #1193, @kylon #1248 - Different 3DS applications now have separate Vulkan pipeline caches. | @PabloMK7 #1118 - Previously, all Vulkan pipeline caches were stored in a single large file which was shared between all 3DS applications. - Fixed LCD colour fill functionality. | @PabloMK7 #1198 - Before being fixed, this could cause applications which fill the screen with a certain colour to be black or display garbage. - When using the OpenGL renderer, if a shader fails to link, the emulator will now experience graphical anomalies and produce logs rather than crashing. | @PabloMK7 #1200 - Fixed some dead links left over from Citra. | @RedBlackAka #1250 ### Android - Implemented secondary screen support for wired and wireless displays (Chromecast, Miracast). | @DavidRGriswold #617 - By default, this functionality is disabled, and must be enabled by setting `Settings --> Layout --> Secondary Display Screen Layout` to an option other that `System Default (mirror)`. - Added button sliding behaviour configuration to the Overlay Options menu. | @toksn #884 - Implemented play time tracking. | Kleidis, @rtiangha #813 - Restructured touch input code to correctly handle multitouch inputs, resulting in improved multitouch support for the on-screen controller overlay. | @OpenSauce04 #1296 ### MacOS - Fixed an issue where the Artic Controller feature wouldn't work correctly on MacOS. | @AlexMolina08 #1263 - Fixed an issue where, on recent MacOS versions, enabling the OS’s low power mode would result in many games being limited to 50% emulation speed when vsync was enabled. | @OpenSauce04 #1193 #1262 - Added individual x86_64 and ARM64 binaries to releases alongside the existing `universal` download | @RedBlackAka #1138 ### Desktop - Fixed horizontal centering being incorrect when using the single window or separate window layouts while fullscreened. | @DavidRGriswold #1211 - When using a prerelease build, users are now directed to download the update from the Azahar GitHub releases page rather than the Azahar website. | @OpenSauce04 #1295 - The Azahar website doesn't list prereleases, so this may have caused some confusion with users. This could have resulted in users unintentionally downgrading to the latest stable release. - This doesn't affect stable releases such as this one, but it will affect all future prereleases. ### Windows - Minor adjustments to the Windows installer. | @RedBlackAka #1234 ### Technical - Set correct stop flag in GSP. | @kynex7510 #1199 - Fix irq request register behaviour. | @PabloMK7 #1216 - This change and the previous one were noted to not affect 3DS applications at all in theory, instead being more of a correctness thing. - Fixed compilation failing when building using GCC 13 or earlier. | @OpenSauce04 #1221 - Fixed a build error when using the `USE_SYSTEM_GLSLANG` CMake option. | @OpenSauce04 #1281, #1284 - Added a new CMake option `USE_SYSTEM_SPIRV_HEADERS`. | @OpenSauce04 #1281, #1284 - Removed use of deprecated boost class and moved to a functionally identical alternative. | @qr243vbi #1126 - Upgraded Vulkan-related dependencies to match Vulkan SDK 14.313.0. | @OpenSauce04 #1225 - Fixed the SDL frontend failing to compile due to the use of a removed function. | @OpenSauce04 #1190 - The SDL frontend still doesn’t work properly, and remains disabled by default at compile time. - Various minor changes to the Azahar installer on Windows. - Amended CMakeLists to help certain environments to find required Qt dependencies. | @qr243vbi #1165 - Upgraded Android Gradle Plugin to 8.11.1 | @OpenSauce04 #1256
v2123-rc2
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- The 2123 update will primarily focus on changes to the core of the emulator. To help us catch any issues we may have missed before they make it to a stable release, consider trying out this prerelease. --- 2123 Release Candidate 2 primarily addresses regressions in the Android build which first appeared in the prior 2123 prereleases, as well as introducing some minor improvements. Users of the prior release candidate or the 2123 betas are advised to update. This changelog is relative to 2123-rc1. To see a more complete list of changes for the upcoming 2123 release, see the [prior release candidate's changelog](https://github.com/azahar-emu/azahar/releases/tag/2123-rc1). --- ## Azahar 2123-rc2 Changelog ### Android - Fixed a visual stuttering issue introduced in 2123-rc1 which affected the emulator UI while using the OpenGL renderer. | @OpenSauce04 #1294 - Fixed an issue where the new button sliding feature wouldn't work correctly if the joystick or dpad were held down before a button was pressed. | @OpenSauce04 #1296 - Restructured touch input code to correctly handle multitouch inputs, resulting in improved multitouch support for the on-screen controller overlay. | @OpenSauce04 #1296 ### Desktop - When using a prerelease build, users are now directed to download the update from the Azahar GitHub releases page rather than the Azahar website. | @OpenSauce04 #1295 - The Azahar website doesn't list prereleases, so this may have caused some confusion with users. This could have resulted in users unintentionally downgrading to the latest stable release.
v2123-rc1
Fixed an issue where the Artic Controller feature wouldn't work correctly on MacOS. | @AlexMolina08 #1263
Relative to 2123 Beta 2, this release candidate adds a new **secondary screen feature on Android** and **fixes an oversight present in in 2123 Beta 1 and 2** which could cause issues with the new compressed ROM formats on Android, alongside a handful of other changes.
Fixed an issue where, on recent MacOS versions, enabling the OSs low power mode would result in many games being limited to 50% emulation speed when vsync was enabled. | @OpenSauce04 #1193 #1262
Fixed an issue where the extensions of the new compressed ROM formats wouldn't be recognized correctly, resulting in issues. | @OpenSauce04 #1287
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Added individual x86_64 and ARM64 binaries to releases alongside the existing `universal` download | @RedBlackAka #1138
Fixed a build error when using the `USE_SYSTEM_GLSLANG` CMake option. | @OpenSauce04 #1281, #1284
Added a new CMake option `USE_SYSTEM_SPIRV_HEADERS`. | @OpenSauce04 #1281, #1284
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- The 2123 update will primarily focus on changes to the core of the emulator. To help us catch any issues we may have missed before they make it to a stable release, consider trying out this prerelease. --- Relative to 2123 Beta 2, this release candidate adds a new **secondary screen feature on Android** and **fixes an oversight present in in 2123 Beta 1 and 2** which could cause issues with the new compressed ROM formats on Android, alongside a handful of other changes. All users of the Beta builds are advised to update. --- For users who have already read the changelog of 2123 Beta 1 and 2, click here for a shorter changelog which contains only the changes since Beta 2: Changelog relative to 2123 Beta 2 ### Android - Implemented secondary screen support for wired and wireless displays (Chromecast, Miracast). | @DavidRGriswold #617 - By default, this functionality is disabled, and must be enabled by setting `Settings --> Layout --> Secondary Display Screen Layout` to an option other that `System Default (mirror)`. - Fixed an issue where the extensions of the new compressed ROM formats wouldn't be recognized correctly, resulting in issues. | @OpenSauce04 #1287 - Fixed an issue where the the icons and information of `.3dsx`/`.z3dsx` files wouldn't be displayed correctly. | @PabloMK7 #1288 ### MacOS - Fixed an issue where the Artic Controller feature wouldn't work correctly on MacOS. | @AlexMolina08 #1263 - Added individual x86_64 and ARM64 binaries to releases alongside the existing `universal` download | @RedBlackAka #1138 ### Windows - Minor adjustments to the Windows installer. | @RedBlackAka #1234 ### Technical - Fixed a build error when using the `USE_SYSTEM_GLSLANG` CMake option. | @OpenSauce04 #1281, #1284 - Added a new CMake option `USE_SYSTEM_SPIRV_HEADERS`. | @OpenSauce04 #1281, #1284 Other users should read the full changelog below, which is relative to 2122.1. --- ## Azahar 2123-rc1 Changelog ### All - Added ROM compression functionality. | @PabloMK7 #1208 #1249 - Support for the following new formats have been added: `.zcia`, `.zcci`, `.z3dsx`, `.zcxi`. - ROMs can be compressed in Azahar using `Tools --> Compress ROM File…` on desktop. - Fixed a memory leak in the AAC decoder. | @QidiWang #1167 - Fixed an issue where display refresh rates below ~60hz would cause emulation speed to be slower than intended when vsync was enabled. | @OpenSauce04 #1193, @kylon #1248 - Different 3DS applications now have separate Vulkan pipeline caches. | @PabloMK7 #1118 - Previously, all Vulkan pipeline caches were stored in a single large file which was shared between all 3DS applications. - Fixed LCD colour fill functionality. | @PabloMK7 #1198 - Before being fixed, this could cause applications which fill the screen with a certain colour to be black or display garbage. - When using the OpenGL renderer, if a shader fails to link, the emulator will now experience graphical anomalies and produce logs rather than crashing. | @PabloMK7 #1200 - Fixed some dead links left over from Citra. | @RedBlackAka #1250 ### Android - Implemented secondary screen support for wired and wireless displays (Chromecast, Miracast). | @DavidRGriswold #617 - By default, this functionality is disabled, and must be enabled by setting `Settings --> Layout --> Secondary Display Screen Layout` to an option other that `System Default (mirror)`. - Added button sliding behaviour configuration to the Overlay Options menu. | @toksn #884 - Implemented play time tracking. | Kleidis, @rtiangha #813 ### MacOS - Fixed an issue where the Artic Controller feature wouldn't work correctly on MacOS. | @AlexMolina08 #1263 - Fixed an issue where, on recent MacOS versions, enabling the OS’s low power mode would result in many games being limited to 50% emulation speed when vsync was enabled. | @OpenSauce04 #1193 #1262 - Added individual x86_64 and ARM64 binaries to releases alongside the existing `universal` download | @RedBlackAka #1138 ### Desktop - Fixed horizontal centering being incorrect when using the single window or separate window layouts while fullscreened. | @DavidRGriswold #1211 ### Windows - Minor adjustments to the Windows installer. | @RedBlackAka #1234 ### Technical - Set correct stop flag in GSP. | @kynex7510 #1199 - Fix irq request register behaviour. | @PabloMK7 #1216 - This change and the previous one were noted to not affect 3DS applications at all in theory, instead being more of a correctness thing. - Fixed compilation failing when building using GCC 13 or earlier. | @OpenSauce04 #1221 - Fixed a build error when using the `USE_SYSTEM_GLSLANG` CMake option. | @OpenSauce04 #1281, #1284 - Added a new CMake option `USE_SYSTEM_SPIRV_HEADERS`. | @OpenSauce04 #1281, #1284 - Removed use of deprecated boost class and moved to a functionally identical alternative. | @qr243vbi #1126 - Upgraded Vulkan-related dependencies to match Vulkan SDK 14.313.0. | @OpenSauce04 #1225 - Fixed the SDL frontend failing to compile due to the use of a removed function. | @OpenSauce04 #1190 - The SDL frontend still doesn’t work properly, and remains disabled by default at compile time. - Various minor changes to the Azahar installer on Windows. - Amended CMakeLists to help certain environments to find required Qt dependencies. | @qr243vbi #1165 - Upgraded Android Gradle Plugin to 8.11.1 | @OpenSauce04 #1256
v2123-beta2
As a beta release, this build is not yet considered stable, but is instead an early preview of the the features which will be in the 2123 update.
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before they can make it to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Fixed an issue introduced in 2123 Beta 1 where the on-screen joystick would stop responding if a button was currently held. | @OpenSauce04 #1267
Fixed an issue introduced in 2123 Beta 1 where pressing on the touch screen and then dragging onto a button would cause the button to become pressed. | @OpenSauce04 #1267
The 2123 update will primarily focus on changes to the core of the emulator.
All Android users who are on Azahar 2123 Beta 1 are advised to update.
This is a beta release. Please expand this drop-down to read more about what this means before installing.
If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release.
Changelog complet
⚠️Important Beta Information⚠️ This is a beta release. Please expand this drop-down to read more about what this means before installing. As a beta release, this build is not yet considered stable, but is instead an early preview of the the features which will be in the 2123 update. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before they can make it to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- The 2123 update will primarily focus on changes to the core of the emulator. To help us catch any issues we may have missed before they make it to a stable release, consider trying out this prerelease. --- Azahar 2123 Beta 2 is an amendment to 2123 Beta 1 which addresses regressions in the Android version. All Android users who are on Azahar 2123 Beta 1 are advised to update. For other platforms, this release is identical to Beta 1. --- ## Azahar 2123-beta2 Changelog ### Android - Fixed an issue introduced in 2123 Beta 1 where the on-screen joystick would stop responding if a button was currently held. | @OpenSauce04 #1267 - Fixed an issue introduced in 2123 Beta 1 where pressing on the touch screen and then dragging onto a button would cause the button to become pressed. | @OpenSauce04 #1267
v2123-beta1
As a beta release, this build is not yet considered stable, but is instead an early preview of the the features which will be in the 2123 update.
Fixed an issue where, on recent MacOS versions, enabling the OSs low power mode would result in many games being limited to 50% emulation speed when vsync was enabled. | @OpenSauce04 #1193 #1262
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before they can make it to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Support for the following new formats have been added: `.zcia`, `.zcci`, `.z3dsx`, `.zcxi`.
Fixed an issue where display refresh rates below ~60hz would cause emulation speed to be slower than intended when vsync was enabled. | @OpenSauce04 #1193, @kylon #1248
Fixed compilation failing when building using GCC 13 or earlier. | @OpenSauce04 #1221
Fixed a memory leak in the AAC decoder. | @QidiWang #1167
Fixed LCD colour fill functionality. | @PabloMK7 #1198
Changelog complet
⚠️Important Beta Information⚠️ This is a beta release. Please expand this drop-down to read more about what this means before installing. As a beta release, this build is not yet considered stable, but is instead an early preview of the the features which will be in the 2123 update. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before they can make it to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- The 2123 update will primarily focus on changes to the core of the emulator. To help us catch any issues we may have missed before they make it to a stable release, consider trying out this prerelease. For more details, please read the below changelog: --- ## Azahar 2123-beta1 Changelog ### All - Added ROM compression functionality. | @PabloMK7 #1208 #1249 - Support for the following new formats have been added: `.zcia`, `.zcci`, `.z3dsx`, `.zcxi`. - ROMs can be compressed in Azahar using `Tools --> Compress ROM File…` on desktop. - Fixed a memory leak in the AAC decoder. | @QidiWang #1167 - Fixed an issue where display refresh rates below ~60hz would cause emulation speed to be slower than intended when vsync was enabled. | @OpenSauce04 #1193, @kylon #1248 - Different 3DS applications now have separate Vulkan pipeline caches. | @PabloMK7 #1118 - Previously, all Vulkan pipeline caches were stored in a single large file which was shared between all 3DS applications. - Fixed LCD colour fill functionality. | @PabloMK7 #1198 - Before being fixed, this could cause applications which fill the screen with a certain colour to be black or display garbage. - When using the OpenGL renderer, if a shader fails to link, the emulator will now experience graphical anomalies and produce logs rather than crashing. | @PabloMK7 #1200 - Fixed some dead links left over from Citra. | @RedBlackAka #1250 ### Android - Added button sliding behaviour configuration to the Overlay Options menu. | @toksn #884 - Implemented play time tracking. | Kleidis, @rtiangha #813 ### MacOS - Fixed an issue where, on recent MacOS versions, enabling the OS’s low power mode would result in many games being limited to 50% emulation speed when vsync was enabled. | @OpenSauce04 #1193 #1262 ### Desktop - Fixed horizontal centering being incorrect when using the single window or separate window layouts while fullscreened. | @DavidRGriswold #1211 ### Technical - Set correct stop flag in GSP. | @kynex7510 #1199 - Fix irq request register behaviour. | @PabloMK7 #1216 - This change and the previous one were noted to not affect 3DS applications at all in theory, instead being more of a correctness thing. - Fixed compilation failing when building using GCC 13 or earlier. | @OpenSauce04 #1221 - Removed use of deprecated boost class and moved to a functionally identical alternative. | @qr243vbi #1126 - Upgraded Vulkan-related dependencies to match Vulkan SDK 14.313.0. | @OpenSauce04 #1225 - Fixed the SDL frontend failing to compile due to the use of a removed function. | @OpenSauce04 #1190 - The SDL frontend still doesn’t work properly, and remains disabled by default at compile time. - Various minor changes to the Azahar installer on Windows. - Amended CMakeLists to help certain environments to find required Qt dependencies. | @qr243vbi #1165 - Upgraded Android Gradle Plugin to 8.11.1 | @OpenSauce04 #1256
v2122.1
This is a minor release for the 2122.x branch which implements several fixes and improvements.
This change improves performance for all applications, most prominently on Android devices when using the Vulkan renderer.
Having LTO enabled allows the compiler to perform additional optimizations during compilation, resulting in a minor improvement to performance.
Improved the layout of the initial setup process when in landscape orientation | @kleidiss #1123
Added a new "SWP" value to the advanced frametime information display which indicates the time spent in `Renderer::SwapBuffers`. | @PabloMK7 #1173
Fixed an issue where building for Android would fail when using CMake 4.0 or later | @OpenSauce04 #1169
Fixed a long-standing issue where LTO would fail to enable during compilation | @PabloMK7 #1151
Fixed hotkeys bound to a button which causes the drawer to be opened triggering both the hotkey action and the opening of the drawer. | @kleidiss #1122
Changelog complet
This is a minor release for the 2122.x branch which implements several fixes and improvements. --- ## Azahar 2122.1 Changelog ### Android - Fixed a long-standing issue where LTO would fail to enable during compilation | @PabloMK7 #1151 - Having LTO enabled allows the compiler to perform additional optimizations during compilation, resulting in a minor improvement to performance. - This change increases the minimum CMake version for the Android build to 3.25. - Fixed hotkeys bound to a button which causes the drawer to be opened triggering both the hotkey action and the opening of the drawer. | @kleidiss #1122 - An example of a button which would have previously caused this issue would be the Circle button on a Playstation controller, or the B button on an Xbox controller. - Improved the layout of the initial setup process when in landscape orientation | @kleidiss #1123 ### All - Fixed an issue where installation of a decrypted CIA could fail if encrypted content from an older Citra version | @PabloMK7 #1152 - Increased the size of the uniform buffer where it was previously too small | @PabloMK7 #1174 - This change improves performance for all applications, most prominently on Android devices when using the Vulkan renderer. - Added a new "SWP" value to the advanced frametime information display which indicates the time spent in `Renderer::SwapBuffers`. | @PabloMK7 #1173 ### Technical - Fixed an issue where building for Android would fail when using CMake 4.0 or later | @OpenSauce04 #1169
v2122
This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes.
Fixed an issue where Azahar would consistently crash on opening if it lost permission to access to the user data directory. | @PabloMK7 #1110
Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093
This results in **significant performance improvements** for several games, including but not limited to **Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth**.
This **improves performance** in **all applications**.
GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084
This **fixes** an issue which caused **The Binding of Isaac: Rebirth** to **immediately crash when starting a run**.
The performance overlay has been enhanced with new settings and statistics available to be toggled from the Layout settings. | Kleidis #808
Changelog complet
This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes. Additionally, for x86_64 devices (most desktop computers), this update **requires a CPU which has SSE4.2 instructions**, and it is likely that all future releases will also have this requirement. This feature is available in all modern CPUs released in 2011 or later. The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the `ENABLE_SSE42` CMake option disabled. --- ## Azahar 2122 Changelog ### All - SIMD operations have been used to optimize a commonly used function, **reducing GPU processing time** for **all applications**. | @PabloMK7 #1086 - This change breaks compatibility with x86_64 CPUs which don't have SSE4.2 instructions (primarily CPUs released before 2011). - The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the `ENABLE_SSE42` CMake option disabled. - Disabling this CMake option also disables the optimization to the commonly used function. - Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093 - This results in **significant performance improvements** for several games, including but not limited to **Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth**. - Refactored state tracking in the video core, reducing the amount of needed syncs and uploads to the GPU. | @PabloMK7, anonymous contributor #1059 - This **improves performance** in **all applications**. - Allow SPIR-V when using Shadow2D texture mapping. | @PabloMK7, anonymous contributor #1057 - This **greatly reduces stuttering** in some games. Games known to be affected by this include **Luigi's Mansion 2 and Resident Evil: Revelations**, but other games may also see improvements. - GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084 - Disabling these optimizations has minimal impact on performance while **greatly improving stuttering** in **all applications**. - Fixed the start index parameter for the geometry shader config being set incorrectly. | @PabloMK7, anonymous contributor #1056 - This **fixes** an issue in **Kid Icarus: Uprising** where **grind rails would appear to be invisible**. - Replaced a problematic assert in AccelerateTextureCopy with a logged error. | @PabloMK7 #1092 - This **fixes** an issue which caused **The Binding of Isaac: Rebirth** to **immediately crash when starting a run**. ### MacOS - Fixed an issue where certain entries would disappear from the native menubar while using certain non-English languages. | @RedBlackAka #1111 - Due to this change, the native menubar, which was disabled in 2121, has been re-enabled. ### Android - Additional options have been added during shortcut creation, allowing the icon and name of the shortcut to be customized. | Kleidis #824 - The performance overlay has been enhanced with new settings and statistics available to be toggled from the Layout settings. | Kleidis #808 - By default, only the current FPS is shown. Other statistics can be toggled on in the aforementioned settings menu. - Added an aspect ratio setting which affects the single-screen layout. | @icy-briar #913 - Fixed a regression introduced in the 2122 prereleases where the Accurate Multiplication setting was tied to the value of the Asynchronous Shader Compilation setting. | @OpenSauce04 #1142 - Added an option which allows disabling JIT shader compilation. | @PabloMK7 #1085 - Reorganized the setup process to reduce the unnecessarily high number of pages. | Kleidis, @OpenSauce04 #820 - Added rotate screen upright toggle. | Kleidis #819 - Fixed an issue where Azahar would consistently crash on opening if it lost permission to access to the user data directory. | @PabloMK7 #1110 ### Desktop - Added an option which allows advanced frame time information to be displayed at the bottom of the window. | @PabloMK7 #1083 - Fixed an issue where a custom-set background colour wouldn't be used while using the Vulkan renderer when an application was initially booted. | @icy-briar #896 - Fixed an issue where the RPC server setting wouldn't save and would consequently always be disabled when restarting Azahar. | @PabloMK7 #1129 - Adjusted the name of the Show Log Console setting to no longer incorrectly state that it is "Windows Only" | @OpenSauce04 #1133 ### Room - Private room hosts are now automatically given moderator privileges. | Kleidis #822 - The `--enable_citra_mods` option has been removed. | Kleidis #822 ### Technical - Refactored Android switch setting code to only store values as booleans. | Kleidis #821 - Updated some outdated Vulkan dependencies on Windows (MSVC) and Android to match the Vulkan SDK 1.4.304.1 used elsewhere. | @OpenSauce04 #1094 - `Vulkan::CreateSurface` now reports an error code if an error occurs. | @PabloMK7 #1130 - Addressed several deprecation warnings flagged by Android Studio. | @OpenSauce04 - Suppressed redundant GCC ABI warnings produced by `-Wpsabi`. | @OpenSauce04 #1089
v2122-rc2
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- This release candidate primarily addresses a settings issue which was introduced in the 2122 prereleases. For more information on what the 2122 update will contain, please read that [2122-rc1 changelog](https://github.com/azahar-emu/azahar/releases/tag/2122-rc1). --- ## Azahar 2122-rc2 Changelog ### Android - Fixed a regression introduced in the 2122 prereleases where the Accurate Multiplication setting was tied to the value of the Asynchronous Shader Compilation setting. | @OpenSauce04 #1142 ### Desktop - Adjusted the name of the Show Log Console setting to no longer incorrectly state that it is "Windows Only" | @OpenSauce04 #1133
v2122-rc1
This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes.
Fixed an issue where certain entries would disappear from the native MacOS menubar while using certain non-English languages. | @RedBlackAka #1111
Fixed an issue where Azahar would consistently crash on opening if it lost permission to access to the user data directory. | @PabloMK7 #1110
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093
This results in **significant performance improvements** for several games, including but not limited to **Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth**.
This **improves performance** in **all applications**.
GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes. Additionally, for x86_64 devices (most desktop computers), this update **requires a CPU which has SSE4.2 instructions**, and it is likely that all future releases will also have this requirement. This feature is available in all modern CPUs released in 2011 or later. The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the `ENABLE_SSE42` CMake option disabled. --- ℹ️ For those who have already read the 2122 Alpha 1 changelog, you can expand this dropdown to see only the changes which have been added since that prerelease. ### MacOS - Fixed an issue where certain entries would disappear from the native MacOS menubar while using certain non-English languages. | @RedBlackAka #1111 - Due to this change, the native menubar, which was disabled in 2121, has been re-enabled. ### Android - Fixed an issue where Azahar would consistently crash on opening if it lost permission to access to the user data directory. | @PabloMK7 #1110 ### Desktop - Fixed an issue where the RPC server setting wouldn't save and would consequently always be disabled when restarting Azahar. | @PabloMK7 #1129 ### Technical - Suppressed redundant GCC ABI warnings produced by `-Wpsabi`. | @OpenSauce04 #1089 - Addressed several deprecation warnings flagged by Android Studio. | @OpenSauce04 - `Vulkan::CreateSurface` now reports an error code if an error occurs. | @PabloMK7 #1130 --- ## Azahar 2122-rc1 Changelog ### All - SIMD operations have been used to optimize a commonly used function, **reducing GPU processing time** for **all applications**. | @PabloMK7 #1086 - This change breaks compatibility with x86_64 CPUs which don't have SSE4.2 instructions (primarily CPUs released before 2011). - The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the `ENABLE_SSE42` CMake option disabled. - Disabling this CMake option also disables the optimization to the commonly used function. - Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093 - This results in **significant performance improvements** for several games, including but not limited to **Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth**. - Refactored state tracking in the video core, reducing the amount of needed syncs and uploads to the GPU. | @PabloMK7, anonymous contributor #1059 - This **improves performance** in **all applications**. - Allow SPIR-V when using Shadow2D texture mapping. | @PabloMK7, anonymous contributor #1057 - This **greatly reduces stuttering** in some games. Games known to be affected by this include **Luigi's Mansion 2 and Resident Evil: Revelations**, but other games may also see improvements. - GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084 - Disabling these optimizations has minimal impact on performance while **greatly improving stuttering** in **all applications**. - Fixed the start index parameter for the geometry shader config being set incorrectly. | @PabloMK7, anonymous contributor #1056 - This **fixes** an issue in **Kid Icarus: Uprising** where **grind rails would appear to be invisible**. - Replaced a problematic assert in AccelerateTextureCopy with a logged error. | @PabloMK7 #1092 - This **fixes** an issue which caused **The Binding of Isaac: Rebirth** to **immediately crash when starting a run**. ### MacOS - Fixed an issue where certain entries would disappear from the native menubar while using certain non-English languages. | @RedBlackAka #1111 - Due to this change, the native menubar, which was disabled in 2121, has been re-enabled. ### Android - Additional options have been added during shortcut creation, allowing the icon and name of the shortcut to be customized. | Kleidis #824 - The performance overlay has been enhanced with new settings and statistics available to be toggled from the Layout settings. | Kleidis #808 - By default, only the current FPS is shown. Other statistics can be toggled on in the aforementioned settings menu. - Added an aspect ratio setting which affects the single-screen layout. | @icy-briar #913 - Added an option which allows disabling JIT shader compilation. | @PabloMK7 #1085 - Reorganized the setup process to reduce the unnecessarily high number of pages. | Kleidis, @OpenSauce04 #820 - Added rotate screen upright toggle. | Kleidis #819 - Fixed an issue where Azahar would consistently crash on opening if it lost permission to access to the user data directory. | @PabloMK7 #1110 ### Desktop - Added an option which allows advanced frame time information to be displayed at the bottom of the window. | @PabloMK7 #1083 - Fixed an issue where a custom-set background colour wouldn't be used while using the Vulkan renderer when an application was initially booted. | @icy-briar #896 - Fixed an issue where the RPC server setting wouldn't save and would consequently always be disabled when restarting Azahar. | @PabloMK7 #1129 ### Room - Private room hosts are now automatically given moderator privileges. | Kleidis #822 - The `--enable_citra_mods` option has been removed. | Kleidis #822 ### Technical - Refactored Android switch setting code to only store values as booleans. | Kleidis #821 - Updated some outdated Vulkan dependencies on Windows (MSVC) and Android to match the Vulkan SDK 1.4.304.1 used elsewhere. | @OpenSauce04 #1094 - `Vulkan::CreateSurface` now reports an error code if an error occurs. | @PabloMK7 #1130 - Addressed several deprecation warnings flagged by Android Studio. | @OpenSauce04 - Suppressed redundant GCC ABI warnings produced by `-Wpsabi`. | @OpenSauce04 #1089
v2122-alpha1
As an alpha release, this build is not yet considered a stable release. It is an early release of the upcoming 2122 update which isn't yet feature-complete.
This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes.
Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093
This results in **significant performance improvements** for several games, including but not limited to **Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth**.
This **improves performance** in **all applications**.
GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084
This **fixes** an issue which caused **The Binding of Isaac: Rebirth** to **immediately crash when starting a run**.
The performance overlay has been enhanced with new settings and statistics available to be toggled from the Layout settings. | Kleidis #808
Changelog complet
⚠️Important Alpha Information⚠️ As an alpha release, this build is not yet considered a stable release. It is an early release of the upcoming 2122 update which isn't yet feature-complete. This release is intended to help test upcoming features to ensure that they are stable. Early adopters are encouraged to help test out the changes in this build to catch any issues before they make it into a stable release. If you are unwilling to tolerate potential issues, you may be better off waiting for the stable release. --- This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes. Additionally, for x86_64 devices (most desktop computers), this update **requires a CPU which has SSE4.2 instructions**, and it is likely that all future releases will also have this requirement. This feature is available in all modern CPUs released in 2011 or later. The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the `ENABLE_SSE42` CMake option disabled. --- ## Azahar 2122-alpha1 Changelog ### All - SIMD operations have been used to optimize a commonly used function, **reducing GPU processing time** for **all applications**. | @PabloMK7 #1086 - This change breaks compatibility with x86_64 CPUs which don't have SSE4.2 instructions (primarily CPUs released before 2011). - The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the `ENABLE_SSE42` CMake option disabled. - Disabling this CMake option also disables the optimization to the commonly used function. - Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093 - This results in **significant performance improvements** for several games, including but not limited to **Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth**. - Refactored state tracking in the video core, reducing the amount of needed syncs and uploads to the GPU. | @PabloMK7, anonymous contributor #1059 - This **improves performance** in **all applications**. - Allow SPIR-V when using Shadow2D texture mapping. | @PabloMK7, anonymous contributor #1057 - This **greatly reduces stuttering** in some games. Games known to be affected by this include **Luigi's Mansion 2 and Resident Evil: Revelations**, but other games may also see improvements. - GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084 - Disabling these optimizations has minimal impact on performance while **greatly improving stuttering** in **all applications**. - Fixed the start index parameter for the geometry shader config being set incorrectly. | @PabloMK7, anonymous contributor #1056 - This **fixes** an issue in **Kid Icarus: Uprising** where **grind rails would appear to be invisible**. - Replaced a problematic assert in AccelerateTextureCopy with a logged error. | @PabloMK7 #1092 - This **fixes** an issue which caused **The Binding of Isaac: Rebirth** to **immediately crash when starting a run**. ### Android - Additional options have been added during shortcut creation, allowing the icon and name of the shortcut to be customized. | Kleidis #824 - The performance overlay has been enhanced with new settings and statistics available to be toggled from the Layout settings. | Kleidis #808 - By default, only the current FPS is shown. Other statistics can be toggled on in the aforementioned settings menu. - Added an aspect ratio setting which affects the single-screen layout. | @icy-briar #913 - Added an option which allows disabling JIT shader compilation. | @PabloMK7 #1085 - Reorganized the setup process to reduce the unnecessarily high number of pages. | Kleidis, @OpenSauce04 #820 - Added rotate screen upright toggle. | Kleidis #819 ### Desktop - Added an option which allows advanced frame time information to be displayed at the bottom of the window. | @PabloMK7 #1083 - Fixed an issue where a custom-set background colour wouldn't be used while using the Vulkan renderer when an application was initially booted. | @icy-briar #896 ### Room - Private room hosts are now automatically given moderator privileges. | Kleidis #822 - The `--enable_citra_mods` option has been removed. | Kleidis #822 ### Technical - Refactored Android switch setting code to only store values as booleans. | Kleidis #821 - Updated some outdated Vulkan dependencies on Windows (MSVC) and Android to match the Vulkan SDK 1.4.304.1 used elsewhere. | @OpenSauce04 #1094
v2121.2
This is a minor update for the 2121.x branch which implements some minor improvements and fixes.
Fixed an issue where the emulation framerate could become locked to the refresh rate of the monitor when emulation speed was set to unthrottled while using the Vulkan renderer. | @OpenSauce04 #1035
Fixed messages relating to the Turbo feature sometimes appearing in situations when the setting hadn't been modified (e.g. closing the settings menu). | @OpenSauce04 #1026
Fixed a compilation error introduced in a recent MSYS2 update related to `stat` being used instead of `_stat64`. | @OpenSauce04 #1041
This fix will stop working in an unspecified future Android version. The property which fixes this issue was added in Android 15, but was then immediately deprecated in Android 16. A follow-up fix will be added down the line which addresses the issue in future Android versions.
Fixed an issue introduced in Android 15 where emulation content would appear under the camera notch. | @OpenSauce04 #1069
Updated the prerelease update check code to use GitHub's `tags` API to get the latest tag instead of the `releases` API. | @OpenSauce04 #1076
Added `alpha` and `beta` substrings to prerelease detection logic. | @OpenSauce04 #1074
Changelog complet
This is a minor update for the 2121.x branch which implements some minor improvements and fixes. --- ## Azahar 2121.2 Changelog ### All - Added a setting which allows the RPC server to be toggled on and off. | @PabloMK7 #1047 - It was **previously always on** and is **now disabled by default**. - Fixed an issue where the emulation framerate could become locked to the refresh rate of the monitor when emulation speed was set to unthrottled while using the Vulkan renderer. | @OpenSauce04 #1035 ### Android - Fixed an issue introduced in Android 15 where emulation content would appear under the camera notch. | @OpenSauce04 #1069 - This fix will stop working in an unspecified future Android version. The property which fixes this issue was added in Android 15, but was then immediately deprecated in Android 16. A follow-up fix will be added down the line which addresses the issue in future Android versions. - Fixed messages relating to the Turbo feature sometimes appearing in situations when the setting hadn't been modified (e.g. closing the settings menu). | @OpenSauce04 #1026 ### Room - `--username` option now requires an argument where it was erroneously optional before. | @Kexanone #971 - This would result in a null pointer exception if an argument was not provided. ### MacOS - MoltenVK has been updated from v1.2.7-rc2 to v1.2.9. | @RedBlackAka #998 ### Technical - Fixed a compilation error introduced in a recent MSYS2 update related to `stat` being used instead of `_stat64`. | @OpenSauce04 #1041 - Updated the prerelease update check code to use GitHub's `tags` API to get the latest tag instead of the `releases` API. | @OpenSauce04 #1076 - This avoids an issue where if several releases are uploaded in quick succession, the `releases` API may return the releases in the incorrect order, which would result in update checks either not prompting users to update or prompting users to ***downgrade*** depending on what version they were using. - Added `alpha` and `beta` substrings to prerelease detection logic. | @OpenSauce04 #1074
v2121.1
This is a hotfix for the 2121 update which primarily addresses an issue relating to save states which wasn't caught during the release candidate period. Apologies if you were affected by the issue. ⚠️ Save states made on versions before this update are no longer compatible. Please read below for further information. --- ## Azahar 2121.1 Changelog ### All - Fixed an issue where the emulator would crash when loading a save state while using the OpenGL renderer | @PabloMK7 #1016 - This change breaks backwards compatibility with save states made in Azahar version 2121 or earlier. - Before updating to this version, please ensure that you have saved using the in-game save dialog. - To avoid the above issue, this should be done while using the Vulkan renderer. - For more information on how to appropriately use save states and avoid unexpected loss of progress, please read our blog post on the topic: https://azahar-emu.org/blog/understanding-save-states ### Desktop - Added a scroll bar to the Layout tab in the settings menu. | @SeppNel #1004 - This fixes an issue where, at certain screen resolutions, the height of the settings menu would be so tall that the Ok and Cancel buttons would be off of the bottom edge of the screen, and couldn't be clicked.
v2121
Fixed an issue where MacOS build would fail when using Xcode 16.3 or newer. | @mal-cap #984
Added a new **Turbo** feature which allows increasing the emulation speed to a pre-specified percentage using a hotkey or on-screen button for desktop and Android respectively. | kleidis #605, @icy-briar #910 #911, @OpenSauce04 #963
Fixed a issue with the desktop update checker which could cause pre-release builds to erroneously attempt to downgrade to the prior stable release. | @OpenSauce04 #994
Added a new **Screen Gap** feature which allows the gap between the top and bottom screen to be configured by the user. | @DavidRGriswold #622
Added a new button to the long-press about menu which allows users to uninstall a game, its updates, or its DLC. | kleidis #823
Fixed an issue where Streetpass Mii Plaza wouldn't detect its own update data. | @PabloMK7 #930
Fixed an issue where using `Save State > Save to Oldest Slot` could cause the emulator to crash under certain circumstances. | @PabloMK7 #977
New tool scripts have been added which handle previously manual pre-release tasks. | @OpenSauce04 1d562cd
Changelog complet
## Azahar 2121 Changelog ### All - Redownloading owned DLCs is now supported. | @PabloMK7 #950 - Added a new **Turbo** feature which allows increasing the emulation speed to a pre-specified percentage using a hotkey or on-screen button for desktop and Android respectively. | kleidis #605, @icy-briar #910 #911, @OpenSauce04 #963 - Added a new **Screen Gap** feature which allows the gap between the top and bottom screen to be configured by the user. | @DavidRGriswold #622 - Fixed an issue where Streetpass Mii Plaza wouldn't detect its own update data. | @PabloMK7 #930 - Fixed an issue where certain decrypted DLCs would fail to install and would instead be incorrectly detected as encrypted. | @PabloMK7 #979 - The maximum value for the 3D slider has been increased from 100% to 255%. | @oneup03 #602 - The maximum value possible on real hardware is 100%, so going beyond this value may cause graphical oddities. - In cases where the current application may change mid-emulation, such as launching an application from the HOME menu, the shader cache is now associated with the currently running application. | @PabloMK7 #978 - Previously, after starting an application, all subsequent shader cache would be associated with the originally started application, meaning that shader cache for application started via the HOME menu would still be associated with the HOME menu. - Fixed cheats and the RPC server affecting the wrong processes. | @PabloMK7 #956 - Fixed an issue which could cause emulation to break when no audio input samples had been captured. | @Midou36O #955 - This addresses an issue with the game "Brain Age: Concentration Training" ### Desktop - The `azahar-room` executable has had its functionality added to the main `azahar` executable, accessable by passing the new `--room` command line option. | @OpenSauce04 #873 - The `azahar-room` executable is now no longer distributed with our pre-built MacOS and Linux builds. | @OpenSauce04 - Instead, the new `--room` option should be used. - Added quicksave/quickload functionality, with associated hotkeys, mirroring the existing Android functionality. | kleidis #811 - Fixed an issue where the changes the hotkey configuration wouldn't save correctly. | @SeppNel #945 - Fixed an issue where the "Multiplayer Browse Public Game Lobby" hotkey was non-functional. | @SeppNel #945 - Fixed an issue where using `Save State > Save to Oldest Slot` could cause the emulator to crash under certain circumstances. | @PabloMK7 #977 - Fixed screenshots produced using the Capture Screenshot hotkey while using the Hybrid Screen layout using the wrong layout. | kleidis #807 - Various minor adjustments have been made to the settings menu which improve consistency. | @OpenSauce04 #877 - When using the Seperate Windows layout alongside 3D functionality, the bottom screen is no longer rendered twice. | @oneup03 #602 ### Linux - Our AppImage build is now distributed as a single uncompressed file rather than being compressed within a zip file amongst other unnecessary files. | @OpenSauce04 bac344d - Removed a value from the Azahar desktop file which could cause an incorrect GPU to be used. | @Jan200101 #993 - See also: https://github.com/ValveSoftware/steam-for-linux/issues/9940 - Improved Wayland window icon compatibility. | @HurricanePootis #935 ### MacOS - Native MacOS menubar integration has been temporarily disabled in favour of the non-native Qt menu bar. | @OpenSauce04 #995 - This is to address an issue where [some menubar entires would inexplicably disappear when using certain non-English languages](https://github.com/azahar-emu/azahar/issues/933), making their functionality unaccessible. - The issue doesn't occur when using the non-native Qt menubar, hence the change. - A follow-up release will re-enable native menubar integration once the issue has been resolved. - The minimum MacOS version has been bumped from 13.0 to 13.4. | @mal-cap #984 - The number of files distributed in our pre-built MacOS archives has been reduced by stripping unnecessary files. | @OpenSauce04 1e8cc02 - This change also applies to Windows, however due to the high number of other files distributed with those builds, the effect is less noticeable. ### Android - The icon of the currently running application/game is now displayed in the top left corner of the drawer menu. | kleidis #809 - Added a new button to the long-press about menu which allows users to open various folders related to a game, such as the location of the application's save data, DLC, textures, mods, etc. | kleidis #823 - Added a new button to the long-press about menu which allows users to uninstall a game, its updates, or its DLC. | kleidis #823 - The quicksave save state can now be saved to using the UI rather than being exclusively usable via a hotkey. | kleidis #812 - Added a new portrait layout, **Original**, which maintains accurate proportions for the top and bottom screen. | @DavidRGriswold #625 - Added a new **Expand to Display Cutout** option which allows the emulation display to expand to the area taken up by the camera notch. | kleidis #597 - Added the `Auto` internal resolution option, which already existed in the desktop version. | kleidis #606 - Fixed an issue on Android 9 where a large titlebar with the text "Azahar" would appear during emulation, covering a large portion of the screen. | @OpenSauce04 #929 - Fixed an issue where the Pause Emulation button in the drawer could have a "paused" icon while emulation is unpaused under certain conditions. | kleidis #810 ### Technical - For tagged releases, our unified sources archive now simply uses the name of the tag in its filename rather than the commit hash and date. | @OpenSauce04 b4699d9 - Fixed a issue with the desktop update checker which could cause pre-release builds to erroneously attempt to downgrade to the prior stable release. | @OpenSauce04 #994 - This issue never actually affected any real users, as the last time we did a pre-release there were no stable releases for the update checker to attempt to downgrade *to*. - Fixed an issue where MacOS build would fail when using Xcode 16.3 or newer. | @mal-cap #984 - New tool scripts have been added which handle previously manual pre-release tasks. | @OpenSauce04 1d562cd - This has no bearing on users or even most developers, and is purely for maintainer convenience. - Fixed CMP0175 CMake warnings. | @OpenSauce04 #981 - Fixed File::Write() not conforming to debug header validation. | @lannoene #952 - Added a new property `isEnabled` for settings entries on Android which allows a setting to be greyed out. | kleidis #814 - Fixed a compilation failure when attempting to build for LoongArch. | @PabloMK7 @ouni666 #732
v2121-rc1
Fixed an issue where MacOS build would fail when using Xcode 16.3 or newer. | @mal-cap #984
Added a new **Turbo** feature which allows increasing the emulation speed to a pre-specified percentage using a hotkey or on-screen button for desktop and Android respectively. | kleidis #605, @icy-briar #910 #911, @OpenSauce04 #963
Fixed a issue with the desktop update checker which could cause pre-release builds to erroneously attempt to downgrade to the prior stable release. | @OpenSauce04 #994
Added a new **Screen Gap** feature which allows the gap between the top and bottom screen to be configured by the user. | @DavidRGriswold #622
Added a new button to the long-press about menu which allows users to uninstall a game, its updates, or its DLC. | kleidis #823
Fixed an issue where Streetpass Mii Plaza wouldn't detect its own update data. | @PabloMK7 #930
Fixed an issue where using `Save State > Save to Oldest Slot` could cause the emulator to crash under certain circumstances. | @PabloMK7 #977
New tool scripts have been added which handle previously manual pre-release tasks. | @OpenSauce04 1d562cd
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- ## Azahar 2121-rc1 Changelog ### All - Redownloading owned DLCs is now supported. | @PabloMK7 #950 - Added a new **Turbo** feature which allows increasing the emulation speed to a pre-specified percentage using a hotkey or on-screen button for desktop and Android respectively. | kleidis #605, @icy-briar #910 #911, @OpenSauce04 #963 - Added a new **Screen Gap** feature which allows the gap between the top and bottom screen to be configured by the user. | @DavidRGriswold #622 - Fixed an issue where Streetpass Mii Plaza wouldn't detect its own update data. | @PabloMK7 #930 - Fixed an issue where certain decrypted DLCs would fail to install and would instead be incorrectly detected as encrypted. | @PabloMK7 #979 - The maximum value for the 3D slider has been increased from 100% to 255%. | @oneup03 #602 - The maximum value possible on real hardware is 100%, so going beyond this value may cause graphical oddities. - In cases where the current application may change mid-emulation, such as launching an application from the HOME menu, the shader cache is now associated with the currently running application. | @PabloMK7 #978 - Previously, after starting an application, all subsequent shader cache would be associated with the originally started application, meaning that shader cache for application started via the HOME menu would still be associated with the HOME menu. - Fixed cheats and the RPC server affecting the wrong processes. | @PabloMK7 #956 - Fixed an issue which could cause emulation to break when no audio input samples had been captured. | @Midou36O #955 - This addresses an issue with the game "Brain Age: Concentration Training" ### Desktop - The `azahar-room` executable has had its functionality added to the main `azahar` executable, accessable by passing the new `--room` command line option. | @OpenSauce04 #873 - The `azahar-room` executable is now no longer distributed with our pre-built MacOS and Linux builds. | @OpenSauce04 - Instead, the new `--room` option should be used. - Added quicksave/quickload functionality, with associated hotkeys, mirroring the existing Android functionality. | kleidis #811 - Fixed an issue where the changes the hotkey configuration wouldn't save correctly. | @SeppNel #945 - Fixed an issue where the "Multiplayer Browse Public Game Lobby" hotkey was non-functional. | @SeppNel #945 - Fixed an issue where using `Save State > Save to Oldest Slot` could cause the emulator to crash under certain circumstances. | @PabloMK7 #977 - Fixed screenshots produced using the Capture Screenshot hotkey while using the Hybrid Screen layout using the wrong layout. | kleidis #807 - Various minor adjustments have been made to the settings menu which improve consistency. | @OpenSauce04 #877 - When using the Seperate Windows layout alongside 3D functionality, the bottom screen is no longer rendered twice. | @oneup03 #602 ### Linux - Our AppImage build is now distributed as a single uncompressed file rather than being compressed within a zip file amongst other unnecessary files. | @OpenSauce04 bac344d - Removed a value from the Azahar desktop file which could cause an incorrect GPU to be used. | @Jan200101 #993 - See also: https://github.com/ValveSoftware/steam-for-linux/issues/9940 - Improved Wayland window icon compatibility. | @HurricanePootis #935 ### MacOS - Native MacOS menubar integration has been temporarily disabled in favour of the non-native Qt menu bar. | @OpenSauce04 #995 - This is to address an issue where [some menubar entires would inexplicably disappear when using certain non-English languages](https://github.com/azahar-emu/azahar/issues/933), making their functionality unaccessible. - The issue doesn't occur when using the non-native Qt menubar, hence the change. - A follow-up release will re-enable native menubar integration once the issue has been resolved. - The minimum MacOS version has been bumped from 13.0 to 13.4. | @mal-cap #984 - The number of files distributed in our pre-built MacOS archives has been reduced by stripping unnecessary files. | @OpenSauce04 1e8cc02 - This change also applies to Windows, however due to the high number of other files distributed with those builds, the effect is less noticeable. ### Android - The icon of the currently running application/game is now displayed in the top left corner of the drawer menu. | kleidis #809 - Added a new button to the long-press about menu which allows users to open various folders related to a game, such as the location of the application's save data, DLC, textures, mods, etc. | kleidis #823 - Added a new button to the long-press about menu which allows users to uninstall a game, its updates, or its DLC. | kleidis #823 - The quicksave save state can now be saved to using the UI rather than being exclusively usable via a hotkey. | kleidis #812 - Added a new portrait layout, **Original**, which maintains accurate proportions for the top and bottom screen. | @DavidRGriswold #625 - Added a new **Expand to Display Cutout** option which allows the emulation display to expand to the area taken up by the camera notch. | kleidis #597 - Added the `Auto` internal resolution option, which already existed in the desktop version. | kleidis #606 - Fixed an issue on Android 9 where a large titlebar with the text "Azahar" would appear during emulation, covering a large portion of the screen. | @OpenSauce04 #929 - Fixed an issue where the Pause Emulation button in the drawer could have a "paused" icon while emulation is unpaused under certain conditions. | kleidis #810 ### Technical - For tagged releases, our unified sources archive now simply uses the name of the tag in its filename rather than the commit hash and date. | @OpenSauce04 b4699d9 - Fixed a issue with the desktop update checker which could cause pre-release builds to erroneously attempt to downgrade to the prior stable release. | @OpenSauce04 #994 - This issue never actually affected any real users, as the last time we did a pre-release there were no stable releases for the update checker to attempt to downgrade *to*. - Fixed an issue where MacOS build would fail when using Xcode 16.3 or newer. | @mal-cap #984 - New tool scripts have been added which handle previously manual pre-release tasks. | @OpenSauce04 1d562cd - This has no bearing on users or even most developers, and is purely for maintainer convenience. - Fixed CMP0175 CMake warnings. | @OpenSauce04 #981 - Fixed File::Write() not conforming to debug header validation. | @lannoene #952 - Added a new property `isEnabled` for settings entries on Android which allows a setting to be greyed out. | kleidis #814 - Fixed a compilation failure when attempting to build for LoongArch. | @PabloMK7 @ouni666 #732
v2120.3
Updated bundled SDL2 version to fix an issue where Xbox controllers would need to be re-paired every time they were turned off. | @OpenSauce04 9500859
Added a new prompt for users who may have inadvertently selected a different user directory after upgrading from Lime3DS, making it seem that data such as saves may have been lost. | @DavidRGriswold #917
Fixed compilation failing when attempting to build using Qt 6.9.0 or later. | @OpenSauce04 #898
Fixed compilation failing when attempting to build for desktop with Discord support enabled while using CMake 4.0 or later. | @OpenSauce04 4b5b4a2
This is a minor update which irons out some final issues from our initial release.
You can see some of the improvements we've got in the pipeline for that release [here](https://github.com/azahar-emu/azahar/issues?q=milestone%3A2121%20).
Fixed an issue where Korean, Chinese and Taiwanese 3DS systems would be unable to start any application that used the system font due to the missing open source font replacement (this included the system setup tool). | @PabloMK7 #920
Fixed an issue where consoles which have had their regions modified via custom firmware would be unable to start the system setup process via the Azahar Artic Setup Tool. | @PabloMK7 @luigoalma #921
Changelog complet
This is a minor update which irons out some final issues from our initial release. If all goes to plan, this should be the last 2120.x release. Thank you for your patience during our initial launch period. We hope you look forward to the next major release, 2121. You can see some of the improvements we've got in the pipeline for that release [here](https://github.com/azahar-emu/azahar/issues?q=milestone%3A2121%20). --- # Azahar 2120.3 Changelog ## Android - Added a new prompt for users who may have inadvertently selected a different user directory after upgrading from Lime3DS, making it seem that data such as saves may have been lost. | @DavidRGriswold #917 - This new prompt allows users to choose between continuing to use their new user directory or restoring their old one. - Needing to reselect the user directory after the upgrade was not intentional and was the result of a bug. - We apologize if you were affected by this issue and thought you had lost data. ## All - Fixed an issue where Korean, Chinese and Taiwanese 3DS systems would be unable to start any application that used the system font due to the missing open source font replacement (this included the system setup tool). | @PabloMK7 #920 - For now, the EUR/USA/JPN font will be used, but most glyphs will be replaced with question marks. - This allows the setup process to be completed, albeit without being able to read the text. - A font with the missing glyphs may be added at a later date. - Fixed an issue where consoles which have had their regions modified via custom firmware would be unable to start the system setup process via the Azahar Artic Setup Tool. | @PabloMK7 @luigoalma #921 ## Desktop - Updated bundled SDL2 version to fix an issue where Xbox controllers would need to be re-paired every time they were turned off. | @OpenSauce04 9500859 - The Azahar application now explicitly sets its own window icon. | @OpenSauce04 #892 - For most platforms this shouldn't change anything, but on Linux it is known to fix some app icon issues. ## Technical - Fixed compilation failing when attempting to build using Qt 6.9.0 or later. | @OpenSauce04 #898 - Fixed compilation failing when attempting to build for desktop with Discord support enabled while using CMake 4.0 or later. | @OpenSauce04 4b5b4a2 - Disabled MSVC warnings C4711 and C5045 to make compilation logs less obnoxious to look at. | @OpenSauce04 #893 - Neither of these warnings are important. - The version of NSIS we use to build our Windows installers has been bumped from 3.10 to 3.11.
v2120.2
Fixed an issue where audio output was unintentionally linked to the Audio Input setting, and the Audio Input setting did not work | @toksn #844
This another minor update similar to 2120.1 which aims to address some additional issues from the 2120 release.
It also implements a couple of minor improvements which were appropriate to include in this release.
Fixed a fatal error which could occur when playing games which do not have the same region as the emulated region while having LLE modules enabled | @PabloMK7 #806
Fixed a memory leak which would be triggered when the virtual 3DS reads files | @SeppNel #750
Added several checks which verify that the country selected in the emulator settings matches up with the emulated region and the region of the console used to set up system files | @PabloMK7 #847
Added Texture Sampling configuration option from the Qt frontend | @rtiangha #603
Updated installed Linux filenames to use reverse TLD format | @OpenSauce04 #840
Changelog complet
This another minor update similar to 2120.1 which aims to address some additional issues from the 2120 release. It also implements a couple of minor improvements which were appropriate to include in this release. --- # Azahar 2120.2 Changelog ## All - After performing system file setup with the Azahar Artic Setup Tool, the virtual 3DS is now linked to the real 3DS which was used, and must be unlinked via the settings before setup is performed with a different console | @PabloMK7 #833 - Added several checks which verify that the country selected in the emulator settings matches up with the emulated region and the region of the console used to set up system files | @PabloMK7 #847 - Fixed a fatal error which could occur when playing games which do not have the same region as the emulated region while having LLE modules enabled | @PabloMK7 #806 - Fixed a memory leak which would be triggered when the virtual 3DS reads files | @SeppNel #750 ## Android - Fixed an issue where audio output was unintentionally linked to the Audio Input setting, and the Audio Input setting did not work | @toksn #844 - Added Texture Sampling configuration option from the Qt frontend | @rtiangha #603 ## Technical - Updated installed Linux filenames to use reverse TLD format | @OpenSauce04 #840 - To 99.9% of users this change will mean absolutely nothing, and is primarily a change in preparation for the Flatpak release
v2120.1
Fixed temporary frame limit functionality, which was broken in the previous release | @PabloMK7 #758
Fixed a compilation failure when attempting to build with the `_FORTIFY_SOURCE_DEFINED` value pre-defined via `CXXFLAGS` | @OpenSauce04 75918be f083a6e
This update aims to address some issues which were discovered in the prior 2120 release.
Fixed an issue which could cause CIA installation to freeze indefinitely on Android | @PabloMK7 #773
Fixed notifications from the Azahar app erroneously showing the Citra logo | @OpenSauce04 860aace
Fixed the 512x512 app icon not being installed to the CMake install prefix on Linux | @OpenSauce04 #775
This changes nothing from a user-facing perspective, it's just prep for the Flatpak release
Changelog complet
This update aims to address some issues which were discovered in the prior 2120 release. If you were affected by these issues, thank you for your patience. --- # Azahar 2120.1 Changelog ## Android - Fixed an issue which could cause CIA installation to freeze indefinitely on Android | @PabloMK7 #773 - If an app is encrypted, the region string will now display "Unsupported encrypted application" instead of "Invalid region" | @PabloMK7 #774 - Fixed notifications from the Azahar app erroneously showing the Citra logo | @OpenSauce04 860aace ## All - Fixed temporary frame limit functionality, which was broken in the previous release | @PabloMK7 #758 - This isn't as major as it sounds, and only really resulted in CTGP-7 having slower boot times # Technical - Fixed a compilation failure when attempting to build with the `_FORTIFY_SOURCE_DEFINED` value pre-defined via `CXXFLAGS` | @OpenSauce04 75918be f083a6e - Fixed the 512x512 app icon not being installed to the CMake install prefix on Linux | @OpenSauce04 #775 - This changes nothing from a user-facing perspective, it's just prep for the Flatpak release
v2120
It is also worth keeping in mind that this first release doesn't primarily focus on adding new features, instead working to create a strong base we can build upon in subsequent releases.
Added a new performance hack option named "Disable Right Eye Rendering" | @PabloMK7 758ded7
Fixed compilation errors on Linux introduced with the release of a recent Pipewire update | @mdartmann #691
Fixed a bug which could sometimes cause renaming files to fail | @PabloMK7 d5745ca
Fixed an issue relating to the SOC service which could cause crashes | @PabloMK7 d5745ca
The 3DS renders for both the left and right eye, even when 3D is not being used. This hack disables rendering one of the eyes, which can result in performance improvements of up to 50% for some games
Added a new option which enables all LLE modules required for online functionality | @PabloMK7 d5745ca
Fixed an issue where the Windows build would occasionally be unable to generate file paths | @PabloMK7 #588
Changelog complet
This changelog treats the merge of PabloMK7's fork and Lime3DS as a base upon which all of the changes listed here are applied. The changes added in Lime3DS and PabloMK7's fork during 2024, alongside the changes introduced in Azahar, will be discussed in more detail as part of our first progress report. Additionally, this changelog will not refer to any branding changes. It is also worth keeping in mind that this first release doesn't primarily focus on adding new features, instead working to create a strong base we can build upon in subsequent releases. --- ## Azahar 2120 Changelog ### All: - Implemented newly discovered framebuffer vertical flip flag | @PabloMK7 + an anonymous contributor #699 - This fixes a long-standing issue where [Starfox 64 3D would appear upside-down](https://bsky.app/profile/azahar-emu.org/post/3lklys6eozk2k) - The method of acquiring the 3DS system files has been completely overhauled, now requiring the use of a real 3DS and the new [Artic Setup Tool](https://github.com/azahar-emu/ArticSetupTool). | @PabloMK7 - The old method of acquiring system files has been removed - Read more about the reasons behind this change in our related blog post: https://azahar-emu.org/blog/game-loading-changes - If 3DS system files have been installed, games owned by your eShop account can now be downloaded directly from the 3DS eShop application | @PabloMK7 - Fixed various issues relating to save states | @PabloMK7 #656 - Added a new performance hack option named "Disable Right Eye Rendering" | @PabloMK7 758ded7 - The 3DS renders for both the left and right eye, even when 3D is not being used. This hack disables rendering one of the eyes, which can result in performance improvements of up to 50% for some games - Certain games may experience graphical issues when using this hack. Try it everywhere and see what works! - You can use the stereoscopic side by side mode to check if the image for the right eye is being disabled, to verify the compatibility of the game - Added a new option which enables all LLE modules required for online functionality | @PabloMK7 d5745ca - Support for encrypted applications has been dropped. Applications must now be dumped in a decrypted format to be used. | @PabloMK7 - Read more about the reasons behind this change in our related blog post: https://azahar-emu.org/blog/game-loading-changes - For historical reasons related to the origin of the extension, support for the `.3ds` file extension has been dropped - Azahar now makes use of the `.cci` extension, which is the true name of the format used by `.3ds` files - You can still make use of ROMs with the `.3ds` file extension by simply renaming the file to use the `.cci` extension. - Read more about the reasons behind this change in our related blog post: https://azahar-emu.org/blog/game-loading-changes - The virtual 3DS now has a randomly generated MAC address | @PabloMK7 - This can be set based on the MAC address of your real 3DS or regenerated at any time via the settings menu - `microprofile` is now disabled by default at compile time, saving a small amount of RAM | @PabloMK7 #651 - Added Valencian and Swedish translations ### Desktop: - If the system is set to dark mode and the default Azahar theme is being used, white icons will now be used instead of the previous hard-to-see black-on-grey icons | @kleidis #623, @rtiangha #668 ### Linux: - Fixed an issue where severe visual artefacts would appear on the parts of the window no occupied by a 3DS screen on Wayland | @OpenSauce04 #754 ### Windows: - Fixed an issue where the Windows build would occasionally be unable to generate file paths | @PabloMK7 #588 - Minor adjustments to modernize the installer | @RedBlackAka #683 ### Android: - Fixed an issue where language translations may not apply properly | @PabloMK7 #735 - Fixed a bug which could sometimes cause renaming files to fail | @PabloMK7 d5745ca - Fixed issues relating to configuration data not being saved correctly | @PabloMK7 d5745ca - Made AM title scanning asynchronous, resulting in significantly faster game boot times under most circumstances | @PabloMK7 d5745ca - Made certain AM functions asynchronous, which helps to prevent some unnecessary stuttering while games are running | @PabloMK7 d5745ca - Fixed an issue relating to the SOC service which could cause crashes | @PabloMK7 d5745ca ### Technical: - The CMake option previously known as `ENABLE_DEDICATED_ROOM` has been renamed to `ENABLE_ROOM` | @OpenSauce04 56e96de - A new CMake option, `ENABLE_NATIVE_OPTIMIZATION`, has been added which enables `-march=native` for the C and C++ compilers if supported | @OpenSauce04 c024933 - See here for more information on what that means: https://wiki.gentoo.org/wiki/GCC_optimization#cpu-type - A new CMake option, `ENABLE_MICROPROFILE`, has been added which enables the now-disabled-by-default `microprofile` - The `ENABLE_OPENGL` option can now be manually enabled on Linux aarch64 rather than being hard-coded to be set to OFF | @OpenSauce04 #749 - It is still disabled by default - Various external dependencies have been updated | @OpenSauce04 #615 #616 - Fixed compilation errors introduced with the release of the CMake 4.0 release candidates | @OpenSauce04 #688 - Fixed compilation errors on Linux introduced with the release of a recent Pipewire update | @mdartmann #691 - Fixed a minor error which could cause compilation failures on some non-x86 architectures | @ouni666 @PabloMK7 #732
v2120-rc3
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- This update addresses a graphical regression experienced by some users in 2120-rc2. Please update to the latest release candidate to avoid these potential issues. This changelog builds off of the changelogs of [2120-rc2](https://github.com/azahar-emu/azahar/releases/tag/2120-rc2) and [2120-rc1](https://github.com/azahar-emu/azahar/releases/tag/2120-rc1). Please read the changes there for additional information. --- ## Azahar 2120-rc3 Changelog ### All - Fixed a graphical regression introduced in the 2120-rc2 release candidate | @PabloMK7 #704
v2120-rc2
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- This follow-up release candidate addresses some issues that were discovered in the first release candidate, [2120-rc1](https://github.com/azahar-emu/azahar/releases/tag/2120-rc1), alongside introducing a fix for a long-standing graphical issue which has been present since Citra. ⚠️ This update should be considered mandatory for all MacOS users. This is due to a fix being included for a particularly significant bug relating to booting the HOME menu which specifically affected MacOS users. This changelog builds off of the changelog of [2120-rc1](https://github.com/azahar-emu/azahar/releases/tag/2120-rc1). Please read the changes there for additional information. --- ## Azahar 2120-rc1 Changelog ### MacOS - Fixed an issue which would consistently cause the system files installed in Azahar's virtual 3DS to become corrupted | @PabloMK7 #694 - Users affected by this issue in 2120-rc1 can fix it by updating to this release and re-running the setup process, as the old corrupted data will be deleted ### All - Implemented newly discovered framebuffer vertical flip flag | @PabloMK7 + an anonymous contributor #699 - This fixes a long-standing issue where [Starfox 64 3D would appear upside-down](https://bsky.app/profile/azahar-emu.org/post/3lklys6eozk2k) - Fixed an issue which made it impossible to set up New 3DS files using Old 3DS hardware | @PabloMK7 #679 - Fixed an issue which stopped Azahar from being able to use `movable.sed` files from some non-XL Old 3DS models | @PabloMK7 #697 #701 ### Desktop - Re-added the Report Compatibility button to the Help menu, which now directs to the Azahar compatibility submission guide. | @OpenSauce04 #678 - This button previously existed in Citra, but had different functionality - Fixed the "Artic Traffic" label being difficult to read while using a light theme | @PabloMK7 #700 ### Technical - Fixed compilation errors introduced with the release of the CMake 4.0 release candidates | @OpenSauce04 #688 - Fixed compilation errors on Linux introduced with the release of a recent Pipewire update | @mdartmann #691 --- # Appended Information: The MSYS2 version of 2120-rc2 has temporarily been removed to an unforseen issue. The MSYS2 version will be reinstated when 2120-rc3 releases. For now, please use the MSVC version on Windows platforms. Thank-you for understanding. :SMILE:
v2120-rc1
It is also worth keeping in mind that this first release doesn't primarily focus on adding new features, instead working to create a strong base we can build upon in subsequent releases.
Added a new performance hack option named "Disable Right Eye Rendering" | @PabloMK7 758ded7
Fixed a bug which could sometimes cause renaming files to fail | @PabloMK7 d5745ca
Fixed an issue relating to the SOC service which could cause crashes | @PabloMK7 d5745ca
Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.
The 3DS renders for both the left and right eye, even when 3D is not being used. This hack disables rendering one of the eyes, which can result in performance improvements of up to 50% for some games
Added a new option which enables all LLE modules required for online functionality | @PabloMK7 d5745ca
Fixed an issue where the Windows build would occasionally be unable to generate file paths | @PabloMK7 #588
Changelog complet
⚠️Important Release Candidate Information⚠️ This is a release candidate. Please expand this drop-down to read more about what this means before installing. As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate. Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them. If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release. --- This changelog treats the merge of PabloMK7's fork and Lime3DS as a base upon which all of the changes listed here are applied. The changes added in Lime3DS and PabloMK7's fork during 2024, alongside the changes introduced in Azahar, will be discussed in more detail as part of our first progress report. Additionally, this changelog will not refer to any branding changes. It is also worth keeping in mind that this first release doesn't primarily focus on adding new features, instead working to create a strong base we can build upon in subsequent releases. --- ## Azahar 2120-rc1 Changelog ### All: - The method of acquiring the 3DS system files has been completely overhauled, now requiring the use of a real 3DS and the new [Artic Setup Tool](https://github.com/azahar-emu/ArticSetupTool). | @PabloMK7 - The old method of acquiring system files has been removed - Read more about the reasons behind this change in our related blog post: https://azahar-emu.org/blog/game-loading-changes - If 3DS system files have been installed, games owned by your eShop account can now be downloaded directly from the 3DS eShop application | @PabloMK7 - Fixed various issues relating to save states | @PabloMK7 #656 - Added a new performance hack option named "Disable Right Eye Rendering" | @PabloMK7 758ded7 - The 3DS renders for both the left and right eye, even when 3D is not being used. This hack disables rendering one of the eyes, which can result in performance improvements of up to 50% for some games - Certain games may experience graphical issues when using this hack. Try it everywhere and see what works! - You can use the stereoscopic side by side mode to check if the image for the right eye is being disabled, to verify the compatibility of the game - Added a new option which enables all LLE modules required for online functionality | @PabloMK7 d5745ca - Support for encrypted applications has been dropped. Applications must now be dumped in a decrypted format to be used. | @PabloMK7 - Read more about the reasons behind this change in our related blog post: https://azahar-emu.org/blog/game-loading-changes - For historical reasons related to the origin of the extension, support for the `.3ds` file extension has been dropped - Azahar now makes use of the `.cci` extension, which is the true name of the format used by `.3ds` files - You can still make use of ROMs with the `.3ds` file extension by simply renaming the file to use the `.cci` extension. - Read more about the reasons behind this change in our related blog post: https://azahar-emu.org/blog/game-loading-changes - The virtual 3DS now has a randomly generated MAC address | @PabloMK7 - This can be set based on the MAC address of your real 3DS or regenerated at any time via the settings menu - `microprofile` is now disabled by default at compile time, saving a small amount of RAM | @PabloMK7 #651 ### Desktop: - If the system is set to dark mode and the default Azahar theme is being used, white icons will now be used instead of the previous hard-to-see black-on-grey icons | @kleidis #623, @rtiangha #668 ### Windows: - Fixed an issue where the Windows build would occasionally be unable to generate file paths | @PabloMK7 #588 ### Android: - Fixed a bug which could sometimes cause renaming files to fail | @PabloMK7 d5745ca - Fixed issues relating to configuration data not being saved correctly | @PabloMK7 d5745ca - Made AM title scanning asynchronous, resulting in significantly faster game boot times under most circumstances | @PabloMK7 d5745ca - Made certain AM functions asynchronous, which helps to prevent some unnecessary stuttering while games are running | @PabloMK7 d5745ca - Fixed an issue relating to the SOC service which could cause crashes | @PabloMK7 d5745ca ### Technical: - The CMake option previously known as `ENABLE_DEDICATED_ROOM` has been renamed to `ENABLE_ROOM` | @OpenSauce04 56e96de - A new CMake option, `ENABLE_NATIVE_OPTIMIZATION`, has been added which enables `-march=native` for the C and C++ compilers if supported | @OpenSauce04 c024933 - See here for more information on what that means: https://wiki.gentoo.org/wiki/GCC_optimization#cpu-type - A new CMake option, `ENABLE_MICROPROFILE`, has been added which enables the now-disabled-by-default `microprofile` - Various external dependencies have been updated | @OpenSauce04 #615 #616