1.12.1

Atmosphere-NX/Atmosphere1.12.1Oct 16, 2026by hexkyz

Upgrading?

AI Summary

Atmosphère 1.12.1 is the 94th official release, bundled with hbl 2.4.5 and hbmenu 3.6.1. It addresses critical compatibility issues introduced by firmware 23.0.0, specifically implementing support for the new c-ares DNS resolver and BatchRead storage while redesigning browser applet patches to fix crashes and restore memory for custom modules.

Key Highlights

  • Bundled with hbl 2.4.5 and hbmenu 3.6.1
  • Added support for the new c-ares resolver in `dns.mitm` to fix host redirection
  • Added support for the new 'BatchRead' storage in `fs.mitm` to fix custom themes and qlaunch
  • Redesigned browser applet patches to resolve crashes in the eShop and media playback
  • Fixed PRODINFO backup for recent consoles and improved compatibility with 'Trails in the Sky 2nd Chapter'

Breaking Changes

  • fusee-primary no longer exists and will not work; users must update to fusee

New Features

  • Support for new c-ares resolver in `dns.mitm`
  • Support for new 'BatchRead' storage in `fs.mitm`
  • Redesigned browser applet patches

Full Release Notes

**1.12.1** is Atmosphère's ninety-fourth official release.

**Please be sure to update fusee when upgrading to 1.12.1**. fusee-primary no longer exists, and will not work any more.

With thanks to the @switchbrew team, Atmosphère 1.12.1 is bundled with [hbl](https://github.com/switchbrew/nx-hbloader) 2.4.5, and [hbmenu](https://github.com/switchbrew/nx-hbmenu) 3.6.1.

The following was changed since the last release:
* Support was added for the new c-ares resolver in `dns.mitm`.
  * Firmware 23.0.0 introduced a new set of commands to the `sfdnsres` service. These commands provide c-ares async support for DNS resolution and are now used by most sysmodules.
  * This resulted in host redirection not being applied at all and without warning since we simply were not intercepting the new commands.
  * `dns.mitm` now fully reimplements the c-ares serialization code and intercepts the relevant commands. In tandem with the `bsdsocket` sysmodule, we now keep track of resolution queries and redirect their results. 
* Support was added for the new "BatchRead" storage in `fs.mitm`.
  * Firmware 23.0.0 introduced a new type of filesystem storage object abstracted by the interface "IStorageForBatchRead". This is a derived class from "IStorage" with the purpose of adding the new "BatchRead" command.
  * Anything that uses the filesystem API now attempts to use this type of storage instead of the old one. This is of particular relevance for `qlaunch` and for supporting custom themes which were broken as a consequence of this change.
  * `fs.mitm` was updated and extended to not only support the new storage type but also intercept a few newer commands that were previously missing.
* The patches for the browser applets were redesigned.
  * The introduction of these patches in the previous release led to several issues and crashes, notably during media playback in the eshop and within games that use LibAppletOff.
  * After extensive analysis and testing it was concluded that the browser applets were running out of memory and still required reducing the memory we reserve for custom sysmodules.
  * New patches have been devised and introduced in this release.
    * Instead of patching size checks, we now trick the browser applets into thinking there is 1GB of free memory available to them.
    * Unused memory is still being reclaimed and discounted from the root heap, but now more realistically.
    * The browser engine's heap is now being shrunk with no noticeable downsides to media playback nor web page rendering.
  * Thanks to these changes we can now provide 40MB for custom system modules once again.
* A number of minor issues were fixed and improvements were made, such as:
  * Automatic PRODINFO backup was fixed for recent console models that no longer use the ECC device certificate (thanks @chrisbraucker).
  * State initialization for SharedMemory and TransferMemory was fixed (thanks @fl0be).
  * Compatibility was fixed for Trails in the Sky 2nd Chapter (thanks @masagrator). 
* General system stability improvements to enhance the user's experience.

And the following was changed in 1.12.0:
* Support was added for 23.0.0.
* Special thanks to @alula for handling the implementation of several kernel changes.
    * The console should boot and atmosphère should be fully functional.
    * **Please note**: As a result of changes made to nintendo's software in 23.0.0, there is even less memory available for custom system modules.
        * The amount of memory we can steal from the applet pool has been reduced beyond 7MB and we can no longer launch browser applets (e.g.: eshop) without crashing.
        * To compensate for this, a set of patches for the browser applets has been introduced.
            * Thanks to the redesign of the browser applets in 22.0.0 there are only 3 applets we need to worry about: systemWeb, openWeb and LibAppletOff.
            * With the added burden of maintaining patches for these applets, we can reclaim around 9MB of reserved memory by patching out their allocations.
            * This memory is provably unused and stealing it should not affect the browser applets in any way as the applets themselves tag it as reserved and never access it.
            * As a result, the memory available for custom system modules has been experimentally increased to 16MB.
            * Preliminary testing has seemingly shown no downsides to the overall functioning of the OS and the browser applets in particular.
            * Nonetheless, please report any issues you may face to ensure no edge cases have been missed and to determine if the memory amount needs to be adjusted. 
            * These patches may be deprecated at any point in the future if a better solution is devised.     
    * `exosphère` was updated to reflect the latest official secure monitor behavior.
        * A new ConfigItem was added to the secure monitor for the first time since firmware 5.0.0.
    * `mesosphère` was updated to reflect the latest official kernel behavior.
        * The kernel now supports a 42bit wide address space.
        * A new memory region dubbed ShadowStack has been introduced.
        * Kernel RNG was changed to CTR-DRBG.
    * `boot` was updated to reflect the latest official behavior and to implement a previously missing change.
        * The way battery i2c shutdown was being enabled changed in firmware 18.0.0 and we missed it.
        * It is possible this might have been related to a known battery draining issue reported to have started around firmware 18.0.0. Further testing will be needed to confirm.
    * `loader` was updated to reflect the latest official behavior.
    * `erpt` was updated to reflect the latest official behavior.
    * `pgl` was updated to reflect the latest official behavior.
    * `ro` was updated to reflect the latest official behavior.
        * NROs can now be lz4 frame compressed.
* ZBIC compresison/decompression has been properly implemented. Applications using it should now launch and work properly.
* A dockerfile has been added to atmosphère (thanks @alula).
* R_DISCARD macro has been adopted across the entire codebase where applicable. This finishes the work started in version 1.10.0 and eliminates the nodiscard warnings during compilation.
* General system stability improvements to enhance the user's experience.

For information on the featureset supported by 1.12, please see [the official release notes](https://github.com/Atmosphere-NX/Atmosphere/releases/tag/1.12.0).

Related Repositories