22.0.0: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The Switch 22.0.0 system update was released on March 17, 2026 (UTC). This Switch update was released for the following regions: ALL.
The Switch 22.0.0 system update was released on March 17, 2026 (UTC). This Switch update was released for the following regions: ALL.


Security flaws fixed: <fill this in manually>.
Security flaws fixed: yes.
 
As of roughly March 31 - April 2, 2026 (UTC), this sysupdate is now required by dauth.  


==Change-log==
==Change-log==
Line 200: Line 202:
** "/sound/splay.bfsar" updated
** "/sound/splay.bfsar" updated
** "/texture/" added
** "/texture/" added
=== IPC Interface Changes ===
* Interface Changed: nn::settings::IFactorySettingsServer
** Added:    119 - inbytes: 0x0, outbytes: 0x4
* Interface Changed: nn::settings::ISystemSettingsServer
** Added:    324 - inbytes: 0x0, outbytes: 0x4
** Added:    325 - inbytes: 0x4, outbytes: 0x0
** Added:    326 - inbytes: 0x0, outbytes: 0x4
** Added:    327 - inbytes: 0x4, outbytes: 0x0
** Added:    328 - inbytes: 0x10, outbytes: 0x0
* Interface Changed: nn::led::detail::IController
** Added:      21 - inbytes: 0x0, outbytes: 0x0
** Added:      22 - inbytes: 0x0, outbytes: 0x0
** Added:      23 - inbytes: 0x1, outbytes: 0x0
** Added:      24 - inbytes: 0x0, outbytes: 0x1
* Interface Changed: nn::bcat::ipc::IBcatService
** Added:  20500 - inbytes: 0x0, outbytes: 0x0
* Interface Changed: nn::mnpp::detail::ipc::IServiceForSystem
** Added:      10 - buffers: [0x5, 0x5], inbytes: 0x10, outbytes: 0x0
* Interface Changed: nn::prepo::detail::ipc::IPrepoService
** Added:  10501 - buffers: [0x9], inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['nn::prepo::detail::ipc::IAsyncContext'], pid: True
* Unknown Interface prev-version: 0x7100088640
* Unknown Interface cur-version: 0x7100089E80
* Interface Changed: nn::friends::detail::ipc::IFriendService
** Added:  20108 - buffer_entry_sizes: [0x220], buffers: [0x6], inbytes: 0x28, outbytes: 0x4
** Added:  20109 - buffer_entry_sizes: [0x220, 0x8], buffers: [0x6, 0x9], inbytes: 0x10, outbytes: 0x0
** Added:  20111 - buffer_entry_sizes: [0x80], buffers: [0x1A], inbytes: 0x18, outbytes: 0x0
** Added:  20203 - inbytes: 0x10, outbytes: 0x4
** Added:  30130 - inbytes: 0x70, outbytes: 0x0
** Added:  30131 - inbytes: 0x20, outbytes: 0x0
** Added:  30190 - inbytes: 0x20, outbytes: 0x0
* Interface Changed: nn::friends::detail::ipc::IServiceCreator
** Changed:    2 - outinterfaces: ['0x7100088640'] -> ['0x7100089E80'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x7100089E80'])
* Interface Changed: nn::hid::IHidSystemServer
** Added:    1327 - inbytes: 0x1, outbytes: 0x0
** Added:    1490 - inbytes: 0x0, outbytes: 0x10
** Added:    1491 - inbytes: 0x8, outbytes: 0x0, outhandles: [1], pid: True
* Unknown Interface cur-version: 0x710000FFE0 [ID = 0x13b44be5]
* Interface Changed: nn::lm::ILogger
** Added:      11 - inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x710000FFE0 [ID = 0x13b44be5]']
* Unknown Interface prev-version: 0x71000055C0
* Unknown Interface cur-version: 0x71000055C0
* Interface Changed: nn::dauth::detail::IService
** Added:      30 - inbytes: 0x1, outbytes: 0x0, outinterfaces: ['nn::dauth::detail::IAsyncResult']
** Added:      31 - buffers: [0x6], inbytes: 0x0, outbytes: 0x8
** Added:      32 - inbytes: 0x0, outbytes: 0x1
** Added:      33 - inbytes: 0x0, outbytes: 0x0
* Interface Changed: nn::ns::detail::IApplicationManagerInterface
** Added:    1904 - inbytes: 0x8, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::ns::detail::IAsyncResult']
** Added:    2526 - inbytes: 0x10, outbytes: 0x0
** Added:    3106 - inbytes: 0x0, outbytes: 0x20
* Interface Changed: nn::ns::detail::IApplicationVersionInterface
** Added:      38 - inbytes: 0x0, outbytes: 0x0
* Interface Changed: nn::ns::detail::IVulnerabilityManagerInterface
** Changed:  3100 - outbytes: 0x10 -> 0x20 (final state: inbytes: 0x0, outbytes: 0x20)
* Interface Changed: nn::timesrv::detail::service::IStaticService
** Added:    601 - inbytes: 0x0, outbytes: 0x0
* Interface Changed: nn::timesrv::detail::service::ITimeServiceManager
** Added:      21 - inbytes: 0x0, outbytes: 0x8
* Interface Changed: nn::am::service::IAppletCommonFunctions
** Added:    370 - inbytes: 0x0, outbytes: 0x0, outhandles: [1]
* Interface Changed: nn::am::service::ICommonStateGetter
** Added:    611 - inbytes: 0x1, outbytes: 0x0
* Interface Changed: nn::am::service::ILibraryAppletAccessor
** Added:    170 - inbytes: 0x0, outbytes: 0x0, outhandles: [1]
* Interface Changed: nn::nim::detail::INetworkInstallManager
** Changed:  102 - inbytes: 0x0 -> 0x1 (final state: buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x1, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncData'])
** Changed:  104 - inbytes: 0x0 -> 0x1 (final state: buffer_entry_sizes: [0x8, 0x10], buffers: [0x5, 0x5], inbytes: 0x1, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncData'])
** Changed:  117 - inbytes: 0x0 -> 0x1 (final state: buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x1, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncData'])
** Added:    178 - inbytes: 0x0, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncValue']
** Added:    179 - inbytes: 0x0, outbytes: 0x10
** Added:    180 - inbytes: 0x10, outbytes: 0x0
** Added:    181 - inbytes: 0x10, outbytes: 0x0
* Interface Changed: nn::erpt::sf::IManager
** Added:      7 - buffer_entry_sizes: [0x784], buffers: [0x32], inbytes: 0x0, outbytes: 0x0
* Interface Changed: nn::pctl::detail::ipc::IParentalControlService
** Added:    1209 - buffers: [0x9], inbytes: 0x1, outbytes: 0x0
** Added:    9406 - inbytes: 0x0, outbytes: 0x8
* Unknown Interface prev-version: 0x7100099A00 [ID = 0xfe214da9]
* Unknown Interface cur-version: 0x7100099F30 [ID = 0xfe214da9]
* Interface Changed: nn::timesrv::detail::service::IStaticService
** Added:    601 - inbytes: 0x0, outbytes: 0x0
* Unknown Interface cur-version: 0x7100045360 [ID = 0xae8071f6]
* Interface Changed: nn::es::IETicketService
** Added:    106 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0
** Added:    205 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0
** Changed:  1001 - outbytes: 0x10 -> 0x0, outinterfaces: {} -> ['0x7100045360 [ID = 0xae8071f6]'] (final state: inbytes: 0x8, outbytes: 0x0, outinterfaces: ['0x7100045360 [ID = 0xae8071f6]'])
** Removed:  1002 - buffers: [0x5], inbytes: 0x10, outbytes: 0x0
** Removed:  1003 - inbytes: 0x10, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::es::detail::IAsyncValue']
** Removed:  1016 - inbytes: 0x10, outbytes: 0x0
** Removed:  1028 - buffers: [0x5], inbytes: 0x10, outbytes: 0x0
** Added:    1039 - inbytes: 0x10, outbytes: 0x0
** Added:    1040 - inbytes: 0x4, outbytes: 0x0
** Added:    1041 - buffer_entry_sizes: [0x8], buffers: [0x6], inbytes: 0x0, outbytes: 0x4
* Unknown Interface prev-version: 0x710005FEB0 [ID = 0xef2a5618]
* Unknown Interface cur-version: 0x7100060510 [ID = 0xef2a5618]
* Interface Changed: nn::avm::srv::IAvmService
** Added:    203 - inbytes: 0x8, outbytes: 0x8
** Added:    1003 - inbytes: 0x0, outbytes: 0x0
* Interface Changed: nn::pdm::detail::INotifyService
** Added:      30 - buffer_entry_sizes: [0x10], buffers: [0x21], inbytes: 0x0, outbytes: 0x0
** Changed:  100 - outinterfaces: ['0x710005FEB0 [ID = 0xef2a5618]'] -> ['0x7100060510 [ID = 0xef2a5618]'] (final state: inbytes: 0x20, outbytes: 0x0, outinterfaces: ['0x7100060510 [ID = 0xef2a5618]'])
** Changed:  101 - outinterfaces: ['0x710005FEB0 [ID = 0xef2a5618]'] -> ['0x7100060510 [ID = 0xef2a5618]'] (final state: inbytes: 0x20, outbytes: 0x0, outinterfaces: ['0x7100060510 [ID = 0xef2a5618]'])
* Interface Changed: nn::pdm::detail::IQueryService
** Added:      30 - inbytes: 0x0, outbytes: 0x8
** Added:      31 - inbytes: 0x10, outbytes: 0x8
* Unknown Interface prev-version: 0x7100127590 [ID = 0x29d8801c]
* Unknown Interface cur-version: 0x7100129570 [ID = 0x29d8801c]
* Interface Changed: nn::migration::device::IServer
** Added:      60 - inbytes: 0x0, outbytes: 0x28
* Interface Changed: nn::migration::device::IUploader
** Added:    360 - inbytes: 0x0, outbytes: 0x28
* Interface Changed: nn::migration::savedata::IServer
** Added:    204 - inbytes: 0x0, outbytes: 0x8
* Interface Changed: nn::migration::user::IService
** Added:    2221 - inbytes: 0x4, inhandles: [1], outbytes: 0x10
** Changed:  2250 - outinterfaces: ['0x7100127590 [ID = 0x29d8801c]'] -> ['0x7100129570 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100129570 [ID = 0x29d8801c]'])
** Changed:  2260 - outinterfaces: ['0x7100127590 [ID = 0x29d8801c]'] -> ['0x7100129570 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100129570 [ID = 0x29d8801c]'])
* Interface Changed: nn::olsc::srv::IOlscServiceForSystemService
** Added:    207 - buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IAsyncResult']
** Added:    208 - buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IAsyncResult']
** Added:    209 - inbytes: 0x8, outbytes: 0x2
** Added:    915 - inbytes: 0x10, outbytes: 0x0
* Interface Changed: nn::omm::detail::ICradleFirmwareUpdater
** Changed:    2 - outbytes: 0xC -> 0x10 (final state: inbytes: 0x0, outbytes: 0x10)
* Interface Changed: nn::omm::detail::IOperationModeManager
** Added:    502 - inbytes: 0x8, outbytes: 0x0
** Added:    503 - inbytes: 0x8, outbytes: 0x0
** Added:    504 - inbytes: 0x0, outbytes: 0x0, outhandles: [1]


=== BootImagePackages ===
=== BootImagePackages ===
Line 207: Line 338:


The anti-downgrade fuses were [[Fuses#Anti-downgrade|updated]].
The anti-downgrade fuses were [[Fuses#Anti-downgrade|updated]].
==== Kernel ====
* Compiler update (Clang 20?)
* KProcess::Run() and CreateThread() SVC now write the current thread handle to [[Thread_Local_Region|TLS+0x110]]
* Changes in and surrounding page table logic:
** KPageTableBase::LockForMapDeviceAddressSpace now checks for a new KPageTableBase boolean, m_allowed_exec_device_mapping, and decides between KMemoryPermission_None and KMemoryPermission_UserExecute for the permission mask value if the boolean is, respectively, set or not.
*** This prevents mapping any executable memory as device memory.
* ...
==== [[Loader_services|Loader]] ====
A new NSO compression method was introduced.
This is a customized variant of zstd and is used when NSO [[NSO0#Flags|flags]] have bit 7 set.
* ZSTD_MAGICNUMBER is set to 0x4349425A (b'ZBIC') instead of standard 0xFD2FB528
* ZSTD_LEGACY_SUPPORT is set to 0
* ZSTD_TRACE is set to 1, the version of zstd used is 1.5.7 (ZSTD_VERSION_NUMBER = 10507)
* FSE_readNCount is replaced with a BIC (Binary Interpolative Coding) version which improves compression of entropy tables significantly
=== [[NFC_services|nfc]] ===
A vuln was [[Switch_System_Flaws|fixed]].
=== [[Creport|creport]] ===
* In nnMain, a check for whether the process is an application was moved before calling the func which loads the DyingMessage data (previously located immediately after).
* The system ProgramIds were updated.
* The [[Error_Report_services|erpt]] field for EncryptedDyingMessage is now additionally only handled with an application process (same data loaded above).
* ...
=== [[Applet_Manager_services|am]] ===
Additional object destruction has been implemented. Applications and applets are now expected to always perform a clean exit, thus breaking the traditional homebrew launching method which reuses the same process.


==See Also==
==See Also==

Latest revision as of 09:35, 9 August 2026

The Switch 22.0.0 system update was released on March 17, 2026 (UTC). This Switch update was released for the following regions: ALL.

Security flaws fixed: yes.

As of roughly March 31 - April 2, 2026 (UTC), this sysupdate is now required by dauth.

Change-log

Official ALL change-log:

  • Changed the on-screen text and animations when you load a virtual game card in the HOME Menu.
  • Added the ability to save notes about friends on your Friend List. The note content is not displayed to friends.
  • Added the ability to see and edit these notes from the Nintendo Switch App. The app must be on version 3.3.0 or higher to use this feature.
  • Added the ability to see a notification in the Nintendo Switch Parental Controls smart device application when the Parental Controls PIN is input successfully on the console. This can also be set up to be a push notification to your smart device.
  • The app must be on version 2.4.0 or higher to use this functionality.
  • General system stability improvements to enhance the user's experience.

System Titles

  • The following new titles were added: "systemWeb" applet (0100000000001042), "openWeb" applet (0100000000001043).
  • The following titles were updated:
    • Sysmodules: usb, htc.stub, boot2.ProdBoot, settings, Bus, bluetooth, bcat, friends, nifm, ptm, bsdsocket, hid, audio, LogManager.Prod, wlan, ldn, nvservices, pcv, capmtp, nvnflinger, pcie, account, ns, nfc, psc, capsrv, am, ssl, nim, btm, erpt, vi, pctl, npns, eupld, glue, eclct, es, fatal, creport, ro, sdb, grc, migration, jpegdec, safemode, olsc, jit, pgl, omm, eth, ngc.
    • SystemData (non-sysver): CertStore, ErrorMessage, MiiModel, BrowserDll, Help, NgWord, SsidList, AvatarImage, TimeZoneBinary, FontNintendoExtension, FontStandard, FontKorean, FontChineseTraditional, FontChineseSimple, FirmwareDebugSettings, BootImagePackage, BootImagePackageSafe, BootImagePackageExFat, FatalMessage, PlatformConfigIcosa, PlatformConfigCopper, PlatformConfigHoag, ControllerFirmware, NgWord2, BootImagePackageExFatSafe, PlatformConfigIcosaMariko, ContentActionTable, NgWordT, PlatformConfigAula, AulaDockFirmware, ClientCertData, GameCardConfigurationData.
    • Applets: qlaunch, auth, cabinet, controller, dataErase, error, netConnect, playerSelect, swkbd, LibAppletWeb, LibAppletShop, overlayDisp, photoViewer, LibAppletOff, LibAppletLns, LibAppletAuth, "starter" application, myPage, maintenance, splay.

LibAppletShop, LibAppletWeb, LibAppletLns, LibAppletAuth were replaced by systemWeb / openWeb, to match Switch 2. These were stubbed, with nnMain just returning.

NPDM changes (besides usual version-bump):

  • usb: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • htc.stub: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • boot2.ProdBoot: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • settings: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • Bus: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • bluetooth: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • bcat: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • friends: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • nifm: Service access: added bgtc:t. KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • ptm: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • bsdsocket: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • hid: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • audio: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • LogManager.Prod: KernelCap KernelVersion: updated Version = 9.1 -> 26.1. KernelCap HandleTableSize: updated HandleTableSize = 0x40 -> 0x200.
  • wlan: Service access: added hshl:sys, removed psm. KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • ldn: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • nvservices: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • pcv: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • capmtp: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • nvnflinger: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • pcie: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • account: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • ns: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • nfc: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • psc: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • capsrv: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • am: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • ssl: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • nim: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • btm: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • erpt: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • vi: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • pctl: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • npns: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • eupld: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • glue: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • eclct: Service access: removed prepo:s. KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • es: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • fatal: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • grc: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • creport: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • ro: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • sdb: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • migration: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • jit: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • jpegdec: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • safemode: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • olsc: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • pgl: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • omm: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • eth: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • ngc: KernelCap KernelVersion: updated Version = 9.1 -> 26.1.
  • auth: Fac.SaveDataOwnerInfo added 0100000000001007 (playerSelect) access 0x3 (RW). Service access: added acc:su, removed acc:u1.
  • controller: Service access: removed ldn:s.
  • LibAppletOff: KernelCap MiscFlags: removed EnableDebug=0x0 ForceDebug=0x0.

RomFs changes:

  • ErrorMessage: updated
  • BrowserDll:
    • "/browser/ErrorPageFilteringTemplate.html" updated
    • "/browser/ErrorPageSubFrameTemplate.html" updated
    • "/browser/ErrorPageTemplate.html" updated
    • "/browser/icudt62l.dat.lz4" updated
    • "/browser/MediaControlsInline.js" updated
    • "/buildinfo/buildinfo.dat" updated
    • "/listCommon.txt" added
    • "/listOpenWebJump.txt" added
    • "/listSystemWeb.txt" added
    • "/listWebYouTubePlayerCommon.txt" added
    • "/message/": Various data updated.
    • "/nro/netfront/": Various data updated.
  • Help: "/legallines.htdocs/index.html" updated
  • NgWord: "/version.dat" updated
  • SystemVersion: All files updated.
  • AvatarImage:
    • "/chara/00000001.szs" updated
    • "/chara/00000002.szs" updated
    • "/chara/00000088.szs" updated
    • "/chara/0000008A.szs" updated
    • "/chara/0000008D.szs" updated
    • "/chara/0000008E.szs" updated
    • "/chara/00000093.szs" updated
    • "/DatabaseInfo.bin" updated
  • FontStandard: All files updated.
  • FontKorean: All files updated.
  • FontChineseSimple: "/nintendo_udsg-r_ext_zh-cn_003.bfttf" updated
  • FirmwareDebugSettings: All files updated.
  • NgWord2: "/ac_similar_form_nx" updated, "/table_similar_form_nx" updated, "/version.dat" updated
  • RebootlessSystemUpdateVersion: All files updated.
  • qlaunch applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/qlaunch_action.bksnd" updated
    • "/sound/qlaunch.bfsar" updated
    • "/texture/VgcRegisterQr.bntx" added
    • "/texture/VgcUnregisterQr.bntx" added
  • auth applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/auth_action.bksnd" updated
    • "/sound/auth.bfsar" updated
  • cabinet applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/cabinet_action.bksnd" updated
    • "/sound/cabinet.bfsar" updated
  • controller applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/controller_action.bksnd" updated
    • "/sound/controller.bfsar" updated
  • dataErase applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/dataErase_action.bksnd" updated
    • "/sound/dataErase.bfsar" updated
  • error applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/error_action.bksnd" updated
    • "/sound/error.bfsar" updated
  • netConnect applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/netConnect_action.bksnd" updated
    • "/sound/netConnect.bfsar" updated
  • playerSelect applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/playerSelect_action.bksnd" updated
    • "/sound/playerSelect.bfsar" updated
  • swkbd applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/swkbd_action.bksnd" updated
    • "/sound/swkbd.bfsar" updated
  • overlayDisp applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/overlayDisp_action.bksnd" updated
  • photoViewer applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/photoViewer_action.bksnd" updated
    • "/sound/photoViewer.bfsar" updated
  • LibAppletOff applet: All files updated.
  • "starter" application:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/starter_action.bksnd" updated
    • "/sound/starter.bfsar" updated
  • myPage applet:
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/myPage_action.bksnd" updated
    • "/sound/myPage.bfsar" updated
  • maintenance applet:
    • "/common/config/" removed
    • "/config/" removed
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/maintenance_action.bksnd" updated
    • "/sound/maintenance.bfsar" updated
  • splay applet:
    • "/icon/" added
    • "/lyt/": Various data updated.
    • "/message/": Various data updated.
    • "/sound/splay_action.bksnd" updated
    • "/sound/splay.bfsar" updated
    • "/texture/" added

IPC Interface Changes

  • Interface Changed: nn::settings::IFactorySettingsServer
    • Added: 119 - inbytes: 0x0, outbytes: 0x4
  • Interface Changed: nn::settings::ISystemSettingsServer
    • Added: 324 - inbytes: 0x0, outbytes: 0x4
    • Added: 325 - inbytes: 0x4, outbytes: 0x0
    • Added: 326 - inbytes: 0x0, outbytes: 0x4
    • Added: 327 - inbytes: 0x4, outbytes: 0x0
    • Added: 328 - inbytes: 0x10, outbytes: 0x0
  • Interface Changed: nn::led::detail::IController
    • Added: 21 - inbytes: 0x0, outbytes: 0x0
    • Added: 22 - inbytes: 0x0, outbytes: 0x0
    • Added: 23 - inbytes: 0x1, outbytes: 0x0
    • Added: 24 - inbytes: 0x0, outbytes: 0x1
  • Interface Changed: nn::bcat::ipc::IBcatService
    • Added: 20500 - inbytes: 0x0, outbytes: 0x0
  • Interface Changed: nn::mnpp::detail::ipc::IServiceForSystem
    • Added: 10 - buffers: [0x5, 0x5], inbytes: 0x10, outbytes: 0x0
  • Interface Changed: nn::prepo::detail::ipc::IPrepoService
    • Added: 10501 - buffers: [0x9], inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['nn::prepo::detail::ipc::IAsyncContext'], pid: True
  • Unknown Interface prev-version: 0x7100088640
  • Unknown Interface cur-version: 0x7100089E80
  • Interface Changed: nn::friends::detail::ipc::IFriendService
    • Added: 20108 - buffer_entry_sizes: [0x220], buffers: [0x6], inbytes: 0x28, outbytes: 0x4
    • Added: 20109 - buffer_entry_sizes: [0x220, 0x8], buffers: [0x6, 0x9], inbytes: 0x10, outbytes: 0x0
    • Added: 20111 - buffer_entry_sizes: [0x80], buffers: [0x1A], inbytes: 0x18, outbytes: 0x0
    • Added: 20203 - inbytes: 0x10, outbytes: 0x4
    • Added: 30130 - inbytes: 0x70, outbytes: 0x0
    • Added: 30131 - inbytes: 0x20, outbytes: 0x0
    • Added: 30190 - inbytes: 0x20, outbytes: 0x0
  • Interface Changed: nn::friends::detail::ipc::IServiceCreator
    • Changed: 2 - outinterfaces: ['0x7100088640'] -> ['0x7100089E80'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x7100089E80'])
  • Interface Changed: nn::hid::IHidSystemServer
    • Added: 1327 - inbytes: 0x1, outbytes: 0x0
    • Added: 1490 - inbytes: 0x0, outbytes: 0x10
    • Added: 1491 - inbytes: 0x8, outbytes: 0x0, outhandles: [1], pid: True
  • Unknown Interface cur-version: 0x710000FFE0 [ID = 0x13b44be5]
  • Interface Changed: nn::lm::ILogger
    • Added: 11 - inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x710000FFE0 [ID = 0x13b44be5]']
  • Unknown Interface prev-version: 0x71000055C0
  • Unknown Interface cur-version: 0x71000055C0
  • Interface Changed: nn::dauth::detail::IService
    • Added: 30 - inbytes: 0x1, outbytes: 0x0, outinterfaces: ['nn::dauth::detail::IAsyncResult']
    • Added: 31 - buffers: [0x6], inbytes: 0x0, outbytes: 0x8
    • Added: 32 - inbytes: 0x0, outbytes: 0x1
    • Added: 33 - inbytes: 0x0, outbytes: 0x0
  • Interface Changed: nn::ns::detail::IApplicationManagerInterface
    • Added: 1904 - inbytes: 0x8, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::ns::detail::IAsyncResult']
    • Added: 2526 - inbytes: 0x10, outbytes: 0x0
    • Added: 3106 - inbytes: 0x0, outbytes: 0x20
  • Interface Changed: nn::ns::detail::IApplicationVersionInterface
    • Added: 38 - inbytes: 0x0, outbytes: 0x0
  • Interface Changed: nn::ns::detail::IVulnerabilityManagerInterface
    • Changed: 3100 - outbytes: 0x10 -> 0x20 (final state: inbytes: 0x0, outbytes: 0x20)
  • Interface Changed: nn::timesrv::detail::service::IStaticService
    • Added: 601 - inbytes: 0x0, outbytes: 0x0
  • Interface Changed: nn::timesrv::detail::service::ITimeServiceManager
    • Added: 21 - inbytes: 0x0, outbytes: 0x8
  • Interface Changed: nn::am::service::IAppletCommonFunctions
    • Added: 370 - inbytes: 0x0, outbytes: 0x0, outhandles: [1]
  • Interface Changed: nn::am::service::ICommonStateGetter
    • Added: 611 - inbytes: 0x1, outbytes: 0x0
  • Interface Changed: nn::am::service::ILibraryAppletAccessor
    • Added: 170 - inbytes: 0x0, outbytes: 0x0, outhandles: [1]
  • Interface Changed: nn::nim::detail::INetworkInstallManager
    • Changed: 102 - inbytes: 0x0 -> 0x1 (final state: buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x1, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncData'])
    • Changed: 104 - inbytes: 0x0 -> 0x1 (final state: buffer_entry_sizes: [0x8, 0x10], buffers: [0x5, 0x5], inbytes: 0x1, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncData'])
    • Changed: 117 - inbytes: 0x0 -> 0x1 (final state: buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x1, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncData'])
    • Added: 178 - inbytes: 0x0, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncValue']
    • Added: 179 - inbytes: 0x0, outbytes: 0x10
    • Added: 180 - inbytes: 0x10, outbytes: 0x0
    • Added: 181 - inbytes: 0x10, outbytes: 0x0
  • Interface Changed: nn::erpt::sf::IManager
    • Added: 7 - buffer_entry_sizes: [0x784], buffers: [0x32], inbytes: 0x0, outbytes: 0x0
  • Interface Changed: nn::pctl::detail::ipc::IParentalControlService
    • Added: 1209 - buffers: [0x9], inbytes: 0x1, outbytes: 0x0
    • Added: 9406 - inbytes: 0x0, outbytes: 0x8
  • Unknown Interface prev-version: 0x7100099A00 [ID = 0xfe214da9]
  • Unknown Interface cur-version: 0x7100099F30 [ID = 0xfe214da9]
  • Interface Changed: nn::timesrv::detail::service::IStaticService
    • Added: 601 - inbytes: 0x0, outbytes: 0x0
  • Unknown Interface cur-version: 0x7100045360 [ID = 0xae8071f6]
  • Interface Changed: nn::es::IETicketService
    • Added: 106 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0
    • Added: 205 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0
    • Changed: 1001 - outbytes: 0x10 -> 0x0, outinterfaces: {} -> ['0x7100045360 [ID = 0xae8071f6]'] (final state: inbytes: 0x8, outbytes: 0x0, outinterfaces: ['0x7100045360 [ID = 0xae8071f6]'])
    • Removed: 1002 - buffers: [0x5], inbytes: 0x10, outbytes: 0x0
    • Removed: 1003 - inbytes: 0x10, outbytes: 0x0, outhandles: [1], outinterfaces: ['nn::es::detail::IAsyncValue']
    • Removed: 1016 - inbytes: 0x10, outbytes: 0x0
    • Removed: 1028 - buffers: [0x5], inbytes: 0x10, outbytes: 0x0
    • Added: 1039 - inbytes: 0x10, outbytes: 0x0
    • Added: 1040 - inbytes: 0x4, outbytes: 0x0
    • Added: 1041 - buffer_entry_sizes: [0x8], buffers: [0x6], inbytes: 0x0, outbytes: 0x4
  • Unknown Interface prev-version: 0x710005FEB0 [ID = 0xef2a5618]
  • Unknown Interface cur-version: 0x7100060510 [ID = 0xef2a5618]
  • Interface Changed: nn::avm::srv::IAvmService
    • Added: 203 - inbytes: 0x8, outbytes: 0x8
    • Added: 1003 - inbytes: 0x0, outbytes: 0x0
  • Interface Changed: nn::pdm::detail::INotifyService
    • Added: 30 - buffer_entry_sizes: [0x10], buffers: [0x21], inbytes: 0x0, outbytes: 0x0
    • Changed: 100 - outinterfaces: ['0x710005FEB0 [ID = 0xef2a5618]'] -> ['0x7100060510 [ID = 0xef2a5618]'] (final state: inbytes: 0x20, outbytes: 0x0, outinterfaces: ['0x7100060510 [ID = 0xef2a5618]'])
    • Changed: 101 - outinterfaces: ['0x710005FEB0 [ID = 0xef2a5618]'] -> ['0x7100060510 [ID = 0xef2a5618]'] (final state: inbytes: 0x20, outbytes: 0x0, outinterfaces: ['0x7100060510 [ID = 0xef2a5618]'])
  • Interface Changed: nn::pdm::detail::IQueryService
    • Added: 30 - inbytes: 0x0, outbytes: 0x8
    • Added: 31 - inbytes: 0x10, outbytes: 0x8
  • Unknown Interface prev-version: 0x7100127590 [ID = 0x29d8801c]
  • Unknown Interface cur-version: 0x7100129570 [ID = 0x29d8801c]
  • Interface Changed: nn::migration::device::IServer
    • Added: 60 - inbytes: 0x0, outbytes: 0x28
  • Interface Changed: nn::migration::device::IUploader
    • Added: 360 - inbytes: 0x0, outbytes: 0x28
  • Interface Changed: nn::migration::savedata::IServer
    • Added: 204 - inbytes: 0x0, outbytes: 0x8
  • Interface Changed: nn::migration::user::IService
    • Added: 2221 - inbytes: 0x4, inhandles: [1], outbytes: 0x10
    • Changed: 2250 - outinterfaces: ['0x7100127590 [ID = 0x29d8801c]'] -> ['0x7100129570 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100129570 [ID = 0x29d8801c]'])
    • Changed: 2260 - outinterfaces: ['0x7100127590 [ID = 0x29d8801c]'] -> ['0x7100129570 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100129570 [ID = 0x29d8801c]'])
  • Interface Changed: nn::olsc::srv::IOlscServiceForSystemService
    • Added: 207 - buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IAsyncResult']
    • Added: 208 - buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IAsyncResult']
    • Added: 209 - inbytes: 0x8, outbytes: 0x2
    • Added: 915 - inbytes: 0x10, outbytes: 0x0
  • Interface Changed: nn::omm::detail::ICradleFirmwareUpdater
    • Changed: 2 - outbytes: 0xC -> 0x10 (final state: inbytes: 0x0, outbytes: 0x10)
  • Interface Changed: nn::omm::detail::IOperationModeManager
    • Added: 502 - inbytes: 0x8, outbytes: 0x0
    • Added: 503 - inbytes: 0x8, outbytes: 0x0
    • Added: 504 - inbytes: 0x0, outbytes: 0x0, outhandles: [1]

BootImagePackages

RomFs changes: all files updated.

Using updated master-key: master_key_15 (previously master_key_14). See NCA for the KeyGeneration listing.

The anti-downgrade fuses were updated.

Kernel

  • Compiler update (Clang 20?)
  • KProcess::Run() and CreateThread() SVC now write the current thread handle to TLS+0x110
  • Changes in and surrounding page table logic:
    • KPageTableBase::LockForMapDeviceAddressSpace now checks for a new KPageTableBase boolean, m_allowed_exec_device_mapping, and decides between KMemoryPermission_None and KMemoryPermission_UserExecute for the permission mask value if the boolean is, respectively, set or not.
      • This prevents mapping any executable memory as device memory.
  • ...

Loader

A new NSO compression method was introduced.

This is a customized variant of zstd and is used when NSO flags have bit 7 set.

  • ZSTD_MAGICNUMBER is set to 0x4349425A (b'ZBIC') instead of standard 0xFD2FB528
  • ZSTD_LEGACY_SUPPORT is set to 0
  • ZSTD_TRACE is set to 1, the version of zstd used is 1.5.7 (ZSTD_VERSION_NUMBER = 10507)
  • FSE_readNCount is replaced with a BIC (Binary Interpolative Coding) version which improves compression of entropy tables significantly

nfc

A vuln was fixed.

creport

  • In nnMain, a check for whether the process is an application was moved before calling the func which loads the DyingMessage data (previously located immediately after).
  • The system ProgramIds were updated.
  • The erpt field for EncryptedDyingMessage is now additionally only handled with an application process (same data loaded above).
  • ...

am

Additional object destruction has been implemented. Applications and applets are now expected to always perform a clean exit, thus breaking the traditional homebrew launching method which reuses the same process.

See Also

System update report(s):


Nintendo Switch System Versions
1.0.0
2.0.02.1.02.2.02.3.0
3.0.03.0.13.0.2
4.0.04.0.14.1.0
5.0.05.0.15.0.25.1.0
6.0.06.0.16.1.06.2.0
7.0.07.0.1
8.0.08.0.18.1.08.1.1
9.0.09.0.19.1.09.2.0
10.0.010.0.110.0.210.0.310.0.410.1.010.1.110.2.0
11.0.011.0.1
12.0.012.0.112.0.212.0.312.1.0
13.0.013.1.013.2.013.2.1
14.0.014.1.014.1.114.1.2
15.0.015.0.1
16.0.016.0.116.0.216.0.316.1.0
17.0.017.0.1
18.0.018.0.118.1.0
19.0.019.0.119.0.2
20.0.020.0.120.1.020.1.120.1.520.2.020.3.020.4.020.5.0
21.0.021.0.121.1.021.2.0
22.0.022.1.022.5.0