mirror of
https://github.com/switchbrew/libnx.git
synced 2025-08-05 16:09:24 +02:00
1820 lines
111 KiB
HTML
1820 lines
111 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>libnx: Changelog</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">libnx<span id="projectnumber"> v4.9.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.8 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div><!-- top -->
|
|
<div><div class="header">
|
|
<div class="headertitle"><div class="title">Changelog</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><h1>Version 4.7.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Basic support for 18.0.0</li>
|
|
</ul>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li>fs: add GetFileSystemAttribute cmd</li>
|
|
<li>fs: Implement "ChallengeCardExistence" and "GetGameCardDeviceCertificate"</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>nvchannel: Fix SET_CLK_RATE, implement GET_CLK_RATE and SET_SUBMIT_TIMEOUT</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Update SetSysProductModel_Aula comment</li>
|
|
</ul>
|
|
<h1>Version 4.6.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>svc: fix query/insecure names</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>add fsDeviceOperatorGetGameCardUpdatePartitionInfo</li>
|
|
<li>Add NX_ prefix to PACKED, NORETURN, IGNORE_ARG and DEPRECATED macros</li>
|
|
<li>Fix: avoid segfault at static destructors</li>
|
|
</ul>
|
|
<h1>Version 4.5.0</h1>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li>btdrv: Missing definitions for ble were added</li>
|
|
<li>capsdc: Updated for [17.0.0+]</li>
|
|
<li>hidsys: Support was added for many commands</li>
|
|
<li>fs:<ul>
|
|
<li>Updated for [17.0.0+]</li>
|
|
<li>Support was added for many fsDeviceOperator commands</li>
|
|
</ul>
|
|
</li>
|
|
<li>ncm: Updated for [17.0.0+]</li>
|
|
<li>nfc: Support was added for all remaining commands</li>
|
|
<li>ns: Added nsEstimateSizeToMove</li>
|
|
<li>pctl: Support was added for many commands</li>
|
|
<li>ssl: Updated sslConnectionSetPrivateOption for [17.0.0+]</li>
|
|
<li>ts: Updated for [17.0.0+]</li>
|
|
</ul>
|
|
<h3>devices</h3>
|
|
<ul>
|
|
<li>socket: Updated wrapper to automatically select latest available bsd service version (fixes multicast support)</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>The linker script/crt0 were updated to support relro</li>
|
|
<li>A bug was fixed in aes-cbc block decryption</li>
|
|
<li>A number of problems were corrected involving incorrect ipc serialization with pointer arguments</li>
|
|
</ul>
|
|
<p><b>Several issues were fixed, and usability and stability were improved.</b></p>
|
|
<h1>Version 4.4.2</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>ensure correct addresses for bss</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>fix timezone to allow +/- and alphanumrics</li>
|
|
<li>end compile_commmands generation when elf linked</li>
|
|
</ul>
|
|
<h1>Version 4.4.1</h1>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>add missing separator to local path</li>
|
|
</ul>
|
|
<p><b>Several issues were fixed, and usability and stability were improved.</b></p>
|
|
<h1>Version 4.4.0</h1>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li>applet: add appletGetMessageEvent</li>
|
|
<li>usbcomms: add async API</li>
|
|
<li>usbcomms: expose VID:PID configuration</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>correct problems revealed by gcc 13</li>
|
|
<li>mitigate race condition bug in nvservices</li>
|
|
</ul>
|
|
<p><b>Several issues were fixed, and usability and stability were improved.</b></p>
|
|
<h1>Version 4.3.0</h1>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li>applet: Updated for [15.0.0+]. Added <code>__nx_applet_init_timeout</code></li>
|
|
<li>audctl:<ul>
|
|
<li>Added audctlGetActiveOutputTarget.</li>
|
|
<li>Fixed TargetVolume functions.</li>
|
|
</ul>
|
|
</li>
|
|
<li>auddev: Added auddevGetActiveAudioDeviceName.</li>
|
|
<li>bpc: Fixed GetSleepButtonState/GetPowerButton.</li>
|
|
<li>fs: Updated for [16.0.0+]</li>
|
|
<li>hiddbg: Changed hiddbgAttachHdlsWorkBuffer to accept a user-supplied buffer and size.</li>
|
|
<li>ncm: Updated for [15.0.0+] and [16.0.0+].</li>
|
|
<li>pdm:<ul>
|
|
<li>Updated for [16.0.0+].</li>
|
|
<li>Fixed pdmqryQueryAccountEvent on older sysvers.</li>
|
|
<li>Updated structs.</li>
|
|
</ul>
|
|
</li>
|
|
<li>pl: Added [16.0.0+] sysver checks.</li>
|
|
<li>ssl:<ul>
|
|
<li>Added support for new [16.0.0+] functionality.</li>
|
|
<li>Added ssl:s support [15.0.0+].</li>
|
|
<li>Added sslClearTls12FallbackFlag [14.0.0+].</li>
|
|
<li>Updated SslCaCertificateId enum.</li>
|
|
</ul>
|
|
</li>
|
|
<li>usbhs: Added the remaining cmds and expose more functionality.</li>
|
|
<li>vi: Added [16.0.0+] Manager commands.</li>
|
|
<li>wlaninf: Added sysver check to account for its removal in [15.0.0+].</li>
|
|
</ul>
|
|
<h3>devices</h3>
|
|
<ul>
|
|
<li>nxlinkConnectToHost: Added timeout to avoid long hang when -s isn't specified for nxlink.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Added CMSG macros to BSD headers.</li>
|
|
</ul>
|
|
<p><b>Several issues were fixed, and usability and stability were improved.</b></p>
|
|
<h1>Version 4.2.2</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>svc: Added svcMapInsecureMemory, svcUnmapInsecureMemory [15.0.0+].</li>
|
|
<li>svc: Renamed perm parameter of svcMapDeviceAddressSpaceByForce and svcMapDeviceAddressSpaceAligned to option [15.0.0+].</li>
|
|
<li>svc: Corrected svcMapIoRegion, svcUnmapIoRegion.</li>
|
|
<li>env: Added HBABI support for hinting SVCs in the extended range 0x80..0xBF.</li>
|
|
<li>cache: Added instruction barrier to armICacheInvalidate.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Added nvGpuGetTimestamp, nvioctlNvhostCtrlGpu_GetGpuTime.</li>
|
|
</ul>
|
|
<h3>applets</h3>
|
|
<ul>
|
|
<li>swkbd: Corrected several typos and incorrect floating point values.</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li>socket: Added socketNifmRequestRegisterSocketDescriptor, socketNifmRequestUnregisterSocketDescriptor.</li>
|
|
<li>nifm: nifmRequestSetKeptInSleep, nifmRequestRegisterSocketDescriptor, nifmRequestUnregisterSocketDescriptor, nifmSetWowlDelayedWakeTime.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>set:sys: setsysNeedsToUpdateHeadphoneVolume removed in [15.0.0].</li>
|
|
<li>pdm:qry: pdmqryQueryRecentlyPlayedApplication, pdmqryGetRecentlyPlayedApplicationUpdateEvent removed in [15.0.0].</li>
|
|
</ul>
|
|
<p>Several issues were fixed, and usability and stability were improved.</p>
|
|
<h1>Version 4.2.1</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>cache: Adjusted cache maintenance ABI for [14.0.0+].</li>
|
|
<li>svc: Added InfoType_IsSvcPermitted [14.0.0+].</li>
|
|
<li>svc: Removed svcCallSecureMonitor's non-existent return type.</li>
|
|
<li>svc: Fixed definition of <a class="el" href="structMemoryInfo.html" title="Memory information structure.">MemoryInfo</a> struct.</li>
|
|
<li>ldscript: Generated ELFs now start with the <code>.text</code> section (required by GDB).</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added fsOpenSaveDataInfoReaderWithFilter.</li>
|
|
<li>Added fsCreate_TemporaryStorage.</li>
|
|
<li>Fixed bug in fsOpen_TemporaryStorage.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Added nvIoctl3.</li>
|
|
<li>Adjusted hos version requirements in nvIoctl2 [3.0.0+].</li>
|
|
<li>Adjusted list of IOCTLs that use the cloned NV service session.</li>
|
|
<li>console: Added support for SGR 38/48 escape sequences.</li>
|
|
<li>console: Bold/Faint attributes no longer applied to the background.</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li>hid: Added hidGetNpadLagerType, hidGetNpadStatesLager.</li>
|
|
<li>hid: Added HidNpadLagerType enum.</li>
|
|
<li>hid: Added HidNpadLagerState struct.</li>
|
|
<li>hid: Updated HidNpadStyleTag, HidNpadButton, HidDeviceTypeBits, HidDeviceType, HidAppletFooterUiType enums.</li>
|
|
<li>hid: Updated <a class="el" href="structHidNpadInternalState.html" title="HidNpadInternalState.">HidNpadInternalState</a> struct.</li>
|
|
<li>hidsys: Added hidsysAcquireUniquePadConnectionEventHandle, hidsysGetUniquePadBluetoothAddress, hidsysDisconnectUniquePad, hidsysGetUniquePadType, hidsysGetUniquePadInterface, hidsysGetUniquePadControllerNumber.</li>
|
|
<li>hidsys: Added HidsysUniquePadType enum.</li>
|
|
</ul>
|
|
<h3>other</h3>
|
|
<ul>
|
|
<li>Added <code>BITL()</code> macro (unsigned long, i.e. 64-bit unsigned integer).</li>
|
|
<li>bpc: Adjusted for removed commands in [14.0.0+].</li>
|
|
<li>bpc: Added bpcGetPowerButton [6.0.0+].</li>
|
|
<li>btdrv: Adjusted for removed commands in [14.0.0+].</li>
|
|
<li>btm: Corrected inverted hos version check affecting several commands.</li>
|
|
<li>nfc: Added nfcSendCommandByPassThrough, nfcKeepPassThroughSession, nfcReleasePassThroughSession.</li>
|
|
<li>pm: Added support for [14.0.0+].</li>
|
|
<li>ts: Adjusted for removed commands in [14.0.0+].</li>
|
|
</ul>
|
|
<p>Several issues were fixed, and usability and stability were improved.</p>
|
|
<h1>Version 4.2.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Added new SVCs introduced in [13.0.0+].</li>
|
|
<li><a class="el" href="structThread.html" title="Thread information structure.">Thread</a> structures are now pre-populated with information prior to creation.</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li>hidsys: Added support for [13.0.0+].</li>
|
|
<li>hiddbg: Added support for [13.0.0+].</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Fixed crashes caused by arbitrary sizes in linear framebuffers.</li>
|
|
</ul>
|
|
<h3>other</h3>
|
|
<ul>
|
|
<li>ncm: Added support for [13.0.0+].</li>
|
|
<li>setsys: Added support for [13.0.0+].<ul>
|
|
<li>Filled in <a class="el" href="structSetSysNxControllerSettings.html" title="NxControllerSettings.">SetSysNxControllerSettings</a> structure definition (which was previously unpopulated).</li>
|
|
</ul>
|
|
</li>
|
|
<li>btm: Added support for [13.0.0+].</li>
|
|
<li>btdrv: Added support for [13.0.0+].<ul>
|
|
<li>Fixed btdrvRespondToSspRequest for [12.0.0+].</li>
|
|
</ul>
|
|
</li>
|
|
<li>psel: Added support for [13.0.0+] (pselShowUserQualificationPromoter).</li>
|
|
<li>Corrected ldr:ro/ro:1 initialization.</li>
|
|
</ul>
|
|
<p>Several issues were fixed, and usability and stability were improved.</p>
|
|
<h1>Version 4.1.3</h1>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li><b>Removed old deprecated HID API</b>.</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li>Fixed inet_pton implementation.</li>
|
|
</ul>
|
|
<p>Several issues were fixed, and usability and stability were improved.</p>
|
|
<h1>Version 4.1.2</h1>
|
|
<p>Several issues were fixed, and usability and stability were improved.</p>
|
|
<h1>Version 4.1.1</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Fixed deadlock issue when multi-threaded services (e.g. filesystem, sockets) are starved of free sessions.</li>
|
|
</ul>
|
|
<p>Several issues were fixed, and usability and stability were improved.</p>
|
|
<h1>Version 4.1.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Removed old virtmem API</b>.</li>
|
|
<li>Added mechanism for overriding libnx's dynamic memory allocation behavior.<ul>
|
|
<li>This also added specific mechanisms for NV and BSD transfer memory handling.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added hosversionIsAtmosphere, together with support for receiving this information through HBABI.</li>
|
|
<li>Added tipc (Tiny IPC) serialization support, introduced in [12.0.0+].<ul>
|
|
<li>Updated sm, sm:m and pgl wrappers for tipc support.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed certain serialization bug in cmif handling code.</li>
|
|
<li>argv setup code can now be overriden.</li>
|
|
<li>virtmem RNG algorithm can now be overriden.</li>
|
|
<li>Added support for incremental CRC calculations.</li>
|
|
</ul>
|
|
<h3>fs</h3>
|
|
<ul>
|
|
<li>Added fsOpenHostFileSystem(WithOption).</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li>Added HidKeyboardKey enum.</li>
|
|
<li>Added hidKeyboardStateGetKey helper function.</li>
|
|
<li>Added support for SleepButton AutoPilot in hiddbg.</li>
|
|
<li>Updated hdls service wrapper for [12.0.0+].</li>
|
|
<li>Corrected HidGestureAttribute, <a class="el" href="structHidGestureState.html" title="HidGestureState.">HidGestureState</a>.</li>
|
|
<li>Corrected several swkbd enums and structs.</li>
|
|
<li>Minor Palma documentation improvements.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li><b>Updated btdrv service wrapper for [12.0.0+]</b>, along with fixes and improved support.</li>
|
|
<li>Added audctl service wrapper.</li>
|
|
<li>Added audrec service wrapper.</li>
|
|
<li>Added avm service wrapper.</li>
|
|
<li>Added friends service wrapper (minimal functionality needed for retrieving the user's friend code).</li>
|
|
<li>Added htcs service wrapper.</li>
|
|
<li>Added mm:u service wrapper.</li>
|
|
<li>Added new nvioctlChannel_* wrappers: Submit, GetSyncpt, GetModuleClockRate, MapCommandBuffer, UnmapCommandBuffer.</li>
|
|
<li>Added SetSysProductModel enum, now used by setsysGetProductModel.</li>
|
|
<li>Added audrvVoiceIsPaused.</li>
|
|
<li>Updated <a class="el" href="unionBtmDeviceCondition.html" title="DeviceCondition [1.0.0-12.1.0].">BtmDeviceCondition</a> struct, including compatibility with all system versions.</li>
|
|
<li>Corrected pscmGetPmModule prototype.</li>
|
|
<li>Renamed ChargerType to PsmChargerType, corrected enum names.</li>
|
|
<li>Fixed bug in time offset handling.</li>
|
|
<li>Fixed bug in BSD (sockets) initialization.</li>
|
|
</ul>
|
|
<p><b>Several issues were fixed, and usability and stability were improved.</b></p>
|
|
<h1>Version 4.0.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Added support for the light event synchronization primitive</b> (needs [4.0.0+] or mesosphère).</li>
|
|
<li><b>The virtmem API was completely redesigned</b> to support ASLR and increase thread safety.</li>
|
|
<li><b>Added diagAbortWithResult</b>, an overridable user panic function which is intended to replace fatalThrow in order to stop homebrew from treating application errors as fatal system errors that bring the entire OS down.<ul>
|
|
<li>The default implementation uses svcBreak.</li>
|
|
<li>Replaced calls to fatalThrow with diagAbortWithResult throughout libnx.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added detectMesosphere.</li>
|
|
<li>Added svcGetResourceLimitPeakValue [11.0.0+].</li>
|
|
<li>Added InfoType_FreeThreadCount [11.0.0+].</li>
|
|
<li>Corrected svcBreak definition and added BreakReason enum.</li>
|
|
<li>Removed obsolete kernel version detection code.<ul>
|
|
<li>fatal service wrapper now checks hosversion.</li>
|
|
<li><a class="el" href="structJit.html" title="JIT buffer object.">Jit</a> object wrapper now checks syscall hinting provided by the homebrew environment (requires nx-hbloader 2.4.0+).</li>
|
|
</ul>
|
|
</li>
|
|
<li>Miscellaneous crt0/linkscript fixes and optimizations.</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li><b>Major refactor of the HID service</b>, including a redesigned API that follows official usage more accurately, allowing more flexibility and improved future maintainability. Summary of changes:<ul>
|
|
<li>Introduced HidNpadIdType, HidNpadStyleTag, HidNpadButton enums and others.</li>
|
|
<li>Enums and structs were updated to more accurately reflect official names; this also affects all other hid related services.</li>
|
|
<li>Everything which formerly took HidControllerID parameters now takes HidNpadIdType instead; this also affects all other hid related services.</li>
|
|
<li>Handle types (such as vibration and sixaxis sensor handles) are now structs instead of bare integer values; this also affects all other hid related services.</li>
|
|
<li>Introduced explicit initialization functions for Npad, TouchScreen, Mouse, Keyboard.</li>
|
|
<li>Introduced (or renamed) functions for configuring or retrieving Npad input style and other associated behavior.</li>
|
|
<li>Introduced the hidGetNpadStates{X} family of functions, which read the current state of a Npad in the given style.</li>
|
|
<li>Likewise introduced hidGetTouchScreenStates, hidGetMouseStates, hidGetKeyboardStates, hidGetSixAxisSensorStates.</li>
|
|
<li>Added support for most other miscellaneous hid service commands.</li>
|
|
<li>Deprecated the entirety of the old API, including but not limited to: hidScanInput, hidGetKeysDown/Held/Up, hidTouchCount, hidTouchRead, etc.<ul>
|
|
<li>Removed hidSetControllerLayout/hidGetControllerLayout together with HidControllerLayoutType.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Introduced a new wrapper Pad API that replaces the old API for application usage.</li>
|
|
<li>Introduced <a class="el" href="structPadRepeater.html" title="Pad button repeater state object.">PadRepeater</a> API.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>Added full support for GameCube, Palma (Poké Ball Plus), Lark (NES) and Lucia (SNES) controllers.</b></li>
|
|
<li><b>Added support for gestures.</b></li>
|
|
<li><b>Improved support for SevenSixAxisSensor.</b></li>
|
|
<li>Added hiddbg AutoPilot support for DebugPad, TouchScreen, Mouse, Keyboard.</li>
|
|
<li>Added hiddbgDeactivateHomeButton.</li>
|
|
<li>Added HiddbgNpadButton enum with Home/Capture buttons (exclusive to hiddbg pad state).</li>
|
|
<li>Updated hidsys service wrapper for [11.0.0+], including new functionality.</li>
|
|
<li>Added hidsysSendKeyboardLockKeyEvent, hidsysGetNpadInterfaceType, hidsysGetNpadLeftRightInterfaceType, hidsysHasBattery, hidsysHasLeftRightBattery, hidsysIsUsbFullKeyControllerEnabled, hidsysEnableUsbFullKeyController, hidsysIsUsbConnected, hidsysIsFirmwareUpdateNeededForNotification.</li>
|
|
<li>Improved support for hidsys' Home/Sleep/Capture button commands.</li>
|
|
<li>Added <a class="el" href="structHidsysUniquePadSerialNumber.html" title="UniquePadSerialNumber.">HidsysUniquePadSerialNumber</a> struct.</li>
|
|
<li>Fixed bug in hidbus/Ring-Con code that could cause a crash following cleanup.</li>
|
|
</ul>
|
|
<h3>applets</h3>
|
|
<ul>
|
|
<li>Updated applet service wrapper for [11.0.0+], including new functionality.</li>
|
|
<li>Renamed several members in the following enums to more accurately reflect official names: AppletOperationMode, AppletHookType, AppletMessage, AppletFocusState, AppletFocusHandlingMode, AppletId, AppletWirelessPriorityMode, AppletWindowOriginMode.</li>
|
|
<li>Added appletHolderGetExitEvent, appletHolderGetPopInteractiveOutDataEvent.</li>
|
|
<li>Added libappletRequestToLaunchApplication, libappletRequestJumpToStory [11.0.0+].</li>
|
|
<li>Added webConfigSetTransferMemory.</li>
|
|
<li>Added swkbdInlineGetMaxHeight, swkbdInlineGetTouchRectangles, swkbdInlineIsUsedTouchPointByKeyboard, swkbdInlineGetMiniaturizedHeight.</li>
|
|
<li>Added nfpLa wrapper (amiibo).</li>
|
|
<li>Added miiLa wrapper (Mii editor).</li>
|
|
<li>Added nifmLa wrapper.</li>
|
|
<li>Updated swkbd for [10.0.0+].</li>
|
|
<li>Updated web for [10.0.0+].</li>
|
|
<li>Updated hidLa for [11.0.0] + misc fixes.</li>
|
|
<li>Implemented support for <a class="el" href="structWebSession.html" title="WebSession.">WebSession</a> in web.</li>
|
|
<li>Implemented support for UserDisplay mode in swkbd.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added fsCreateSaveDataFileSystem, fsDeleteSaveDataFileSystem, fsDeleteSaveDataFileSystemBySaveDataAttribute.</li>
|
|
<li>Added fsOpenDataFileSystemByCurrentProcess, fsOpenDataFileSystemByProgramId, fsOpenDataStorageByProgramId, fsOpenPatchDataStorageByCurrentProcess.</li>
|
|
<li>Added fsOutputAccessLogToSdCard, fsGetProgramIndexForAccessLog.</li>
|
|
<li>Added romfsMountDataStorageFromProgram.</li>
|
|
<li>Fixed stat on romfs devices to report failure properly for non-existent files/directories.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added Bluetooth (bt, btdrv, btm, btm:u, btm:sys) service wrappers.<ul>
|
|
<li>Added btdev wrapper API.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added ins:r and ins:s service wrappers.</li>
|
|
<li>Added uart service wrapper.</li>
|
|
<li>Added news service wrapper.</li>
|
|
<li>Added lp2p service wrapper.</li>
|
|
<li>Added ectx:r service wrapper [11.0.0+].</li>
|
|
<li>Added capmtp service wrapper [11.0.0+].</li>
|
|
<li>Added smDetachClient [11.0.0+].</li>
|
|
<li>Added ErrorContextType enum.</li>
|
|
<li>Updated gpio service wrapper to add most missing functionality.</li>
|
|
<li>Updated psm service wrapper to add more battery functions.</li>
|
|
<li>Updated loader service wrapper for [11.0.0+].</li>
|
|
<li>Updated usb:ds service wrapper for [11.0.0+].</li>
|
|
<li>Updated set service wrapper for [10.1.0+], including new functionality.</li>
|
|
<li>Updated ns service wrapper to consider ns:ro if available [11.0.0+].</li>
|
|
<li>Updated ssl service enum SslVersion for [11.0.0+].</li>
|
|
<li>Renamed several members in the following enums to more accurately reflect official names: ApmPerformanceMode, ApmCpuBoostMode.</li>
|
|
<li>Fixed bug in splCryptoGetSecurityEngineEvent service wrapper.</li>
|
|
<li>Fixed audoutOpenAudioOut to properly pass aruid, making the service usable once again (and restoring compatibility with [1.0.0]).</li>
|
|
<li>Reliability and usability fixes in usb:ds:<ul>
|
|
<li>Added UsbState enum (now returned by usbDsGetState).</li>
|
|
<li>Fixed usbDsWaitReady to properly respect the given timeout.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p><b>Several issues were fixed, and usability and stability were improved.</b></p>
|
|
<h1>Version 3.3.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Mutex implementation has been rewritten/optimized to more closely match official software.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added lstat support to both fsdev and romfsdev (does the same thing as regular stat, as symlinks don't exist on HOS).</li>
|
|
<li>Fixed stat for romfs directories.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li><b>ldn: Added service wrappers.</b></li>
|
|
<li>nifm: Added IRequest support.</li>
|
|
</ul>
|
|
<h1>Version 3.2.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Added threadGetSelf.</li>
|
|
<li>Added a <a class="el" href="structThread.html" title="Thread information structure.">Thread</a> struct for the main thread.</li>
|
|
<li>Corrected error code in shmemMap.</li>
|
|
<li>Updated svcQueryIoMapping to match new 10.0.0+ ABI change. Old version still available as svcLegacyQueryIoMapping.</li>
|
|
<li>Minor fixes in jit wrapper object.</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li><b>Added support for the ssl service</b>.<ul>
|
|
<li>Added socketSslConnectionSetSocketDescriptor and socketSslConnectionGetSocketDescriptor (for usage with SSL).</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added support for recvmsg/sendmsg and sendmmsg/recvmmsg [7.0.0+].</li>
|
|
<li>Added nifmGetCurrentNetworkProfile, nifmGetNetworkProfile, nifmSetNetworkProfile, nifmGetCurrentIpConfigInfo.</li>
|
|
<li>Added structs: <a class="el" href="structNifmIpV4Address.html" title="IpV4Address.">NifmIpV4Address</a>, <a class="el" href="structNifmIpAddressSetting.html" title="IpAddressSetting.">NifmIpAddressSetting</a>, <a class="el" href="structNifmDnsSetting.html" title="DnsSetting.">NifmDnsSetting</a>, <a class="el" href="structNifmProxySetting.html" title="ProxySetting.">NifmProxySetting</a>, <a class="el" href="structNifmIpSettingData.html" title="IpSettingData.">NifmIpSettingData</a>, <a class="el" href="structNifmWirelessSettingData.html" title="WirelessSettingData.">NifmWirelessSettingData</a>, <a class="el" href="structNifmSfWirelessSettingData.html" title="SfWirelessSettingData.">NifmSfWirelessSettingData</a>, <a class="el" href="structNifmSfNetworkProfileData.html" title="SfNetworkProfileData. Converted to/from NifmNetworkProfileData.">NifmSfNetworkProfileData</a>, <a class="el" href="structNifmNetworkProfileData.html" title="NetworkProfileData. Converted from/to NifmSfNetworkProfileData.">NifmNetworkProfileData</a>.</li>
|
|
</ul>
|
|
<h3>devices</h3>
|
|
<ul>
|
|
<li>Changed libnx console to only hook stdout. If stderr is necessary, use <code>consoleDebugInit(debugDevice_CONSOLE)</code> explicitly.</li>
|
|
<li>Added nxlinkConnectToHost with separate flags for redirecting stdout/err.</li>
|
|
<li>Added nxlinkStdioForDebug, which only redirects stderr and not stdout.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Added priority parameter to nvGpuChannelCreate.</li>
|
|
<li>Fixed cleanup logic in nvChannelClose.</li>
|
|
<li>Added nvGpuChannelGetErrorInfo.</li>
|
|
<li>Renamed <a class="el" href="structNvError.html">NvError</a> struct & NvErrorType enum to NvNotification/NvNotificationType.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>applet: Support changes for 10.0.0+, including new command support.<ul>
|
|
<li>swkbd: appletHolderPresetLibraryAppletGpuTimeSliceZero is now called on 10.0.0+.</li>
|
|
</ul>
|
|
</li>
|
|
<li>audout: Added all remaining IAudioOut commands.</li>
|
|
<li>bpc: Added hosversion check to bpcGetSleepButtonState.</li>
|
|
<li>caps: Correct <a class="el" href="structCapsScreenShotDecodeOption.html" title="ScreenShotDecodeOption.">CapsScreenShotDecodeOption</a>.</li>
|
|
<li>capssc:<ul>
|
|
<li>Added capsscCaptureJpegScreenShot, capsscOpenRawScreenShotReadStream, capsscCloseRawScreenShotReadStream, capsscReadRawScreenShotReadStream.</li>
|
|
<li>Changed capsscCaptureRawImageWithTimeout to use ViLayerStack enum.</li>
|
|
</ul>
|
|
</li>
|
|
<li>fsldr: Support changes for 10.0.0+, including new command support.</li>
|
|
<li>fsp-pr + ldr: Support changes for 10.0.0+ (SetEnabledProgramVerification changed places).</li>
|
|
<li>hidsys: Support changes for 10.0.0+, including new command support.</li>
|
|
<li>irs: Corrected bug on initialization caused by invalid system version logic.</li>
|
|
<li>lr: Added lrLrEraseProgramRedirection [5.0.0+].</li>
|
|
<li>mii: Added service wrappers.</li>
|
|
<li>miiimg: Added service wrappers.</li>
|
|
<li>nfp: Corrected definition of nfpOpenApplicationArea.</li>
|
|
<li>ns: Support changes for 10.0.0+, including new command support (also some other misc fixes).</li>
|
|
<li>pdm: Support changes for 10.0.0+, including new command support.</li>
|
|
<li>pgl: Added service wrappers [10.0.0+].</li>
|
|
<li>pl: Added support for changing the service type (PlServiceType).</li>
|
|
<li>pmshell: Renamed pmshellBoostSystemThreadResourceLimit to pmshellEnableApplicationExtraThread.</li>
|
|
<li>psc: Corrected hosversion check in pscPmModuleAcknowledge.</li>
|
|
<li>set:<ul>
|
|
<li>Added new 10.0.0+ commands.</li>
|
|
<li>Corrected definition of SetRegion to match actual usage.</li>
|
|
<li>Corrected setsysGetSerialNumber.</li>
|
|
<li>Corrected setcalGetGyroscopeOffset to use the right struct.</li>
|
|
</ul>
|
|
</li>
|
|
<li>time:<ul>
|
|
<li>Added support for time shared memory [6.0.0+].</li>
|
|
<li>Added timeGetStandardSteadyClockTimePoint.</li>
|
|
<li>Added timeGetStandardSteadyClockInternalOffset [3.0.0+].</li>
|
|
<li>Added <a class="el" href="structTimeStandardSteadyClockTimePointType.html">TimeStandardSteadyClockTimePointType</a> struct.</li>
|
|
<li>Changed timeGetCurrentTime to use shared memory on 6.0.0+.</li>
|
|
</ul>
|
|
</li>
|
|
<li>vi: Added ViLayerStack enum.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Corrected and updated nacp structs.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 3.1.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Deleted the old and deprecated IPC system</b>.</li>
|
|
<li><b>Added wrappers for all missing system calls</b>.</li>
|
|
<li>Corrected signatures of many system calls.</li>
|
|
<li>Removed <code>arm/atomics.h</code> (use C <code><stdatomic.h></code> or C++ <code><atomic></code> instead).</li>
|
|
<li>Removed <code>U64_MAX</code> define (use <code>UINT64_MAX</code> instead).</li>
|
|
<li>Added <a class="el" href="structUtilFloat3.html">UtilFloat3</a> struct.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li>Fixed <code>__nx_applet_exit_mode</code> handling.</li>
|
|
<li><code>apm</code> is now only used/initialized for <code>AppletType_Application</code>.</li>
|
|
<li>Simplified <code>appletGetAppletResourceUserId</code> to return the aruid directly, or 0 on "failure" (which is not really a failure condition).</li>
|
|
<li>Changed <code>appletSetFocusHandlingMode</code> to return error if the applet type is not <code>AppletType_Application</code>.</li>
|
|
<li>Added more fields to <code>SwkbdType</code> enum.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>RomFS code now properly supports reading to uncached buffers.</li>
|
|
<li>Added fsdev commands: fsdevMountDeviceSaveData, fsdevMountBcatSaveData, fsdevMountSystemBcatSaveData, fsdevMountTemporaryStorage, fsdevMountCacheStorage, fsdevMountSaveDataReadOnly.</li>
|
|
<li>Added commands: fsOpenImageDirectoryFileSystem, fsOpenReadOnlySaveDataFileSystem, fsIsSignedSystemPartitionOnSdCardValid, fsOpen_DeviceSaveData, fsOpen_BcatSaveData, fsOpen_SystemBcatSaveData, fsOpen_TemporaryStorage, fsOpen_CacheStorage, fsOpen_SaveDataReadOnly.</li>
|
|
<li>Added enum: FsImageDirectoryId.</li>
|
|
<li>Removed path stack copy logic from fsFsQueryEntry.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Removed bqDetachBuffer calls from nwindowReleaseBuffers as it does nothing in the place it's called.</li>
|
|
<li>Fixed nvFence/nvGpu/nvMap to use service guard instead of unsafe reference counting.</li>
|
|
</ul>
|
|
<h3>hid</h3>
|
|
<ul>
|
|
<li><b>Fixed vibration handling</b>.</li>
|
|
<li><b>Added Ring-Con™ support</b>.</li>
|
|
<li>Added hidbus service wrappers.</li>
|
|
<li>Added commands: hidSetSixAxisSensorFusionParameters, hidGetSixAxisSensorFusionParameters, hidResetSixAxisSensorFusionParameters, hidSetGyroscopeZeroDriftMode, hidGetGyroscopeZeroDriftMode, hidResetGyroscopeZeroDriftMode.</li>
|
|
<li>Majorly overhauled irs service support (infrared camera), with support for features introduced in later system versions.</li>
|
|
<li>Added enum: HidGyroscopeZeroDriftMode.</li>
|
|
<li>Corrected internal console six-axis sensor initialization function to actually use the right command.</li>
|
|
<li>Corrected values of <code>JOYSTICK_MIN</code> and <code>JOYSTICK_MAX</code>.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added apm command: apmGetPerformanceMode.</li>
|
|
<li>Added caps:a service wrappers.</li>
|
|
<li>Added caps:c service wrappers.</li>
|
|
<li>Added caps:dc service wrappers.</li>
|
|
<li>Added fan service wrappers.</li>
|
|
<li>Added many missing lbl commands.</li>
|
|
<li>Added nifm commands: nifmGetClientId (with corresponding <a class="el" href="structNifmClientId.html" title="ClientId.">NifmClientId</a> struct), nifmIsAnyInternetRequestAccepted.</li>
|
|
<li>Added nim service wrappers (only nimListSystemUpdateTask/nimDestroySystemUpdateTask for now).</li>
|
|
<li>Majorly overhauled ns service support, with countless commands and structures.</li>
|
|
<li>Added set:cal service wrappers.</li>
|
|
<li>Completed and corrected all set:sys commands.</li>
|
|
<li>Added tc service wrappers.</li>
|
|
<li>Actually expose ldrShellFlushArguments, ldrDmntFlushArguments, spl*GetServiceSession.</li>
|
|
<li>Corrected minimum sysver for setsysGetHomeMenuScheme.</li>
|
|
<li>Corrected minimum sysver for nsListApplicationContentMetaStatus.</li>
|
|
<li>Fixed splSslLoadSecureExpModKey/splEsLoadSecureExpModKey/splRsaDecryptPrivateKey/splSslLoadSecureExpModKey/splEsLoadRsaOaepKey/splEsLoadSecureExpModKey/splFsLoadSecureExpModKey on 5.0+.</li>
|
|
<li>Fixed plInitialize failure handling.</li>
|
|
<li>Removed non-existent fsldrSetCurrentProcess.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Changed timezone support code to always report <code>NX</code> as the timezone name, fixing certain issues.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 3.0.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>The IPC system has been redesigned with a brand new interface and implementation</b>.<ul>
|
|
<li>Changed serviceClone to actually use the non-Ex cmif control command.</li>
|
|
<li>Added serviceCloneEx.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added NX_INLINE and NX_CONSTEXPR helper macros.</li>
|
|
<li>Added ServiceMgr object, used for multiplexed multithreaded services.</li>
|
|
<li>Native threading API now supports using user-provided memory as stack.<ul>
|
|
<li>pthread explicit stack ptr/size attributes are now supported.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed incorrect bounds check in virtmem code (solves long-standing JIT bug).</li>
|
|
<li>Added InfoType_IsApplication.</li>
|
|
<li>Added LibnxError_ShouldNotHappen.</li>
|
|
<li>Read-write lock object (rwlock) was completely rewritten to closely match the official implementation.</li>
|
|
</ul>
|
|
<h3>services in general</h3>
|
|
<ul>
|
|
<li><b>All service wrappers have been converted to use the new IPC interface</b>.<ul>
|
|
<li>Fixed thread safety during service init/exit.</li>
|
|
<li>Numerous commands that had IPC bugs were fixed.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Improved documentation for many services (list too long to fit here).</li>
|
|
<li>Corrected and documented system version checks for many different commands.</li>
|
|
<li>Corrected many structs to avoid using types with incorrect alignment or size.</li>
|
|
<li>Changed many names of fields in several structs to be more consistent and less random.</li>
|
|
<li>Corrected many parameter types and names to be more consistent with official software (as well as using enums when possible).</li>
|
|
<li>Phased out non-existent "Title ID" concept in favor of "Program ID" or other applicable official ID names.<ul>
|
|
<li>Many parameter and enum names were renamed as a result.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added <a class="el" href="structAccountUid.html" title="Account UserId.">AccountUid</a> struct, which replaces u128 user ids throughout libnx and reduces the need for packed structs. "userID" replaced by "uid" throughout libnx.<ul>
|
|
<li>Added accountUidIsValid.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added <a class="el" href="structUuid.html">Uuid</a> struct, which replaces u128 uuids where applicable and reduces the need for packed structs.</li>
|
|
<li>Added NacpSendReceiveConfiguration struct.</li>
|
|
<li>Updated <a class="el" href="structNacpStruct.html" title="ns ApplicationControlProperty">NacpStruct</a> with many fixes and additions.</li>
|
|
<li>Fixed locking issue in usbComms which caused a hang in usbCommsInitialize(Ex) on failure.</li>
|
|
</ul>
|
|
<h3>sm</h3>
|
|
<ul>
|
|
<li>Introduced <a class="el" href="structSmServiceName.html" title="Structure representing a service name (null terminated, remaining characters set to zero).">SmServiceName</a> structure:<ul>
|
|
<li>Added constexpr helper functions: smServiceNameToU64, smServiceNameFromU64, smServiceNamesAreEqual, smEncodeName.</li>
|
|
<li>All SM functions now take in <a class="el" href="structSmServiceName.html" title="Structure representing a service name (null terminated, remaining characters set to zero).">SmServiceName</a> instead of a string, except for smGetService.<ul>
|
|
<li>Added smGetServiceWrapper (which takes <a class="el" href="structSmServiceName.html" title="Structure representing a service name (null terminated, remaining characters set to zero).">SmServiceName</a> and looks inside the override list).</li>
|
|
<li>smGetService is now an inline wrapper for smEncodeName+smGetServiceWrapper.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>Removed smHasInitialized.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li><b>Added transparent multithreaded filesystem support.</b><ul>
|
|
<li>Default maximum number of concurrent filesystem operations is 3, this can be changed through the <code>__nx_fs_num_sessions</code> weak var.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added fsSetPriority, fsFsIsValidSignedSystemPartitionOnSdCard.</li>
|
|
<li>Thoroughly fixed the names of commands, enums, flags to match official software and be more consistent with the libnx code style (list too long to fit here).</li>
|
|
<li>Removed FS_SAVEDATA_USERID_COMMONSAVE.</li>
|
|
<li>Renamed FsStorageId to NcmStorageId (and renamed enum value names too).</li>
|
|
<li>Added FsSaveDataSpaceId_ProperSystem, FsFileSystemType_RegisteredUpdate, FsSaveDataSpaceId_SdUser, FsSaveDataSpaceId_SafeMode.</li>
|
|
<li>Added FsSaveDataType_SystemBcat.</li>
|
|
<li>Added FsGameCardPartition_Logo. (also, a typo was fixed in the name of this enum)</li>
|
|
<li>Added FsSaveDataFlags_NeedsSecureDelete.</li>
|
|
<li>Added FsSaveDataRank enum.</li>
|
|
<li>Added FsFileSystemQueryId_IsValidSignedSystemPartitionOnSdCard.</li>
|
|
<li>Added FsGameCardAttribute_DifferentRegionCupToTerraDeviceFlag, FsGameCardAttribute_DifferentRegionCupToGlobalDeviceFlag.</li>
|
|
<li>Renamed FsBisStorageId to FsBisPartitionId.<ul>
|
|
<li>Added FsBisPartitionId_SignedSystemPartitionOnSafeMode.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Removed spurious inval param from fsDirRead.</li>
|
|
<li>fspr:<ul>
|
|
<li>Now using domains.</li>
|
|
</ul>
|
|
</li>
|
|
<li>fsdev:<ul>
|
|
<li>Timestamps are now converted into proper POSIX UTC format instead of local time.</li>
|
|
<li>Directory iterator memory footprint can now be configured with <code>__nx_fsdev_direntry_cache_size</code>.</li>
|
|
<li>Reduced TLS footprint for rarely used codepaths.</li>
|
|
<li>Reduced TLS footprint by sharing the path buffer with romfsdev.</li>
|
|
<li>Removed fsdevGetDefaultFileSystem and default-fs handling.</li>
|
|
<li>Refactored CWD support to have (dynamically allocated) per-device CWDs (CWD support as a whole can be turned off with <code>__nx_fsdev_support_cwd</code>).</li>
|
|
<li>Many internal optimizations that reduce unnecessary lookups and buffer copies.</li>
|
|
<li>Fixed string comparison logic in fsdevFindDevice.</li>
|
|
<li>Mounting a filesystem now automatically sets the default device if there wasn't any previous default device (or if it's stdnull).</li>
|
|
<li>fsdevMountSdmc no longer sets cwd to the folder containing the executable; this logic was moved to a new internal function called on startup by default (and it is now disabled for NSOs).</li>
|
|
<li>Added fsdevMountSaveData/SystemSaveData wrappers.</li>
|
|
<li>Added fsdevIsValidSignedSystemPartitionOnSdCard.</li>
|
|
<li>Enhanced fsOpen_SystemSaveData/fsdevMountSystemSaveData with new parameters.</li>
|
|
</ul>
|
|
</li>
|
|
<li>romfsdev:<ul>
|
|
<li>Reduced TLS footprint by sharing the path buffer with fsdev.</li>
|
|
<li>Cleaned up romfsMount* functions and removed unused/unnecessary logic.</li>
|
|
<li>Changed romfsMount* functions to return real result codes.</li>
|
|
<li>Renamed romfsMount to romfsMountSelf.</li>
|
|
<li>Removed romfsInitFromFile and romfsInitFromStorage (use Mount instead).</li>
|
|
<li>Added bounds-checking safety measures.</li>
|
|
<li>Fixed errno to use ENOENT instead of EEXIST where required.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li><b>Added transparent multithreaded socket support.</b><ul>
|
|
<li>Default maximum number of concurrent socket operations is 3, this can be changed through <code><a class="el" href="structSocketInitConfig.html#a6f0f93e68998c61fe0c3deeb4239d059" title="Number of BSD service sessions (typically 3).">SocketInitConfig::num_bsd_sessions</a></code>.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>DNS resolver support was rewritten</b> and spun off from the socket device wrapper.<ul>
|
|
<li>No initialization is required to use resolver functions.</li>
|
|
<li>Removed phantom sfdnsres commands.</li>
|
|
<li>Redesigned sfdnsres IPC wrappers.<ul>
|
|
<li>"timeout" was actually the cancel handle.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed bug in addrinfo deserialization.</li>
|
|
<li>Fixed bug in getaddrinfo when hints is NULL.</li>
|
|
<li>Added commands to configure behavior: resolverGetCancelHandle, resolverGetEnableServiceDiscovery, resolverSetEnableServiceDiscovery, resolverCancel.<ul>
|
|
<li>Placeholders for not-yet-implemented 5.0+ config keys: resolverGetEnableDnsCache, resolverSetEnableDnsCache, resolverRemoveHostnameFromCache, resolverRemoveIpAddressFromCache.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added service session getters: nifmGetServiceSession_StaticService, nifmGetServiceSession_GeneralService.</li>
|
|
<li>Introduced BsdServiceType enum, which is now used for revised service type handling (bsd:u is now the default service).</li>
|
|
<li><a class="el" href="structSocketInitConfig.html" title="Configuration structure for socketInitalize.">SocketInitConfig</a> was changed:<ul>
|
|
<li>Added num_bsd_sessions and bsd_service_type fields.</li>
|
|
<li>Removed fields related to sfdnsres.</li>
|
|
</ul>
|
|
</li>
|
|
<li>socketInitialize no longer initializes nifm. As a result, gethostid now calls nifmInitialize/nifmExit as needed.</li>
|
|
<li>Renamed socketGetLastBsdResult to socketGetLastResult.</li>
|
|
<li>Renamed socketGetLastSfdnsresResult to resolverGetLastResult.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li>Many internal improvements and fixes stemming from new IPC refactoring.</li>
|
|
<li>appletGetOperationMode now returns AppletOperationMode instead of u8.</li>
|
|
<li>appletGetPerformanceMode now returns ApmPerformanceMode instead of u8.</li>
|
|
<li>Added 9.0+ support for using appletSetTerminateResult via IAppletCommonFunctions.</li>
|
|
<li>Added 9.0+ support for using appletGetLaunchStorageInfoForDebug, appletGetGpuErrorDetectedSystemEvent with AppletType_LibraryApplet.</li>
|
|
<li>Added 9.1+ support for using appletSetHandlingHomeButtonShortPressedEnabled with non-AppletType_OverlayApplet.</li>
|
|
<li>Added appletPushToAppletBoundChannel, appletTryPopFromAppletBoundChannel, appletGetSettingsPlatformRegion, appletSetHdcpAuthenticationActivated, appletSetInputDetectionPolicy, appletSetHealthWarningShowingState, appletGetHealthWarningDisappearedSystemEvent, appletIsForceTerminateApplicationDisabledForDebug, appletGetFriendInvitationStorageChannelEvent, appletTryPopFromFriendInvitationStorageChannel, appletGetNotificationStorageChannelEvent, appletTryPopFromNotificationStorageChannel, appletApplicationPushToFriendInvitationStorageChannel, appletApplicationPushToNotificationStorageChannel, appletPushToAppletBoundChannelForDebug, appletTryPopFromAppletBoundChannelForDebug, appletAlarmSettingNotificationEnableAppEventReserve, appletAlarmSettingNotificationDisableAppEventReserve, appletAlarmSettingNotificationPushAppEventNotify, appletFriendInvitationSetApplicationParameter, appletFriendInvitationClearApplicationParameter, appletFriendInvitationPushApplicationParameter.</li>
|
|
<li>Added enum: AppletInputDetectionPolicy.</li>
|
|
</ul>
|
|
<h3>libapplets</h3>
|
|
<ul>
|
|
<li>Added support for the friendsLa libapplet.</li>
|
|
<li>Added support for the psel (player select) libapplet.</li>
|
|
<li>Added support for the hidLa (controller configuration) libapplet.</li>
|
|
<li>Renamed webConfigSetUserID to webConfigSetUid.</li>
|
|
<li>Renamed WebArgType_UserID to WebArgType_Uid.</li>
|
|
</ul>
|
|
<h3>ns</h3>
|
|
<ul>
|
|
<li>Corrected names of nsdevLaunchApplicationForDevelop, nsdevLaunchApplicationWithStorageIdForDevelop, nsdevGetRunningApplicationProcessIdForDevelop, nsdevSetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop.</li>
|
|
<li>Corrected parameters of nsListApplicationRecord, nsListApplicationContentMetaStatus, nsvmGetSafeSystemVersion.</li>
|
|
<li>Added support for ns:su.</li>
|
|
<li>Added enum: NsApplicationControlSource.</li>
|
|
<li>Added service session getters: nsGetServiceSession_GetterInterface, nsGetServiceSession_ApplicationManagerInterface, nsdevGetServiceSession, nssuGetServiceSession.</li>
|
|
<li>Added structs: <a class="el" href="structNsApplicationDeliveryInfo.html" title="ApplicationDeliveryInfo.">NsApplicationDeliveryInfo</a>, NsReceiveApplicationProgress, NsSendApplicationProgress, <a class="el" href="structNsSystemDeliveryInfo.html" title="SystemDeliveryInfo.">NsSystemDeliveryInfo</a>, <a class="el" href="structNsSystemUpdateProgress.html" title="SystemUpdateProgress. Commands which have this as output will return 0 with the output cleared,...">NsSystemUpdateProgress</a>.</li>
|
|
<li>Added nsGetSystemDeliveryInfo, nsGetApplicationDeliveryInfo, nsSelectLatestSystemDeliveryInfo, nsVerifyDeliveryProtocolVersion, nsHasAllContentsToDeliver, nsCompareApplicationDeliveryInfo, nsCanDeliverApplication, nsListContentMetaKeyToDeliverApplication, nsNeedsSystemUpdateToDeliverApplication, nsEstimateRequiredSize, nsRequestReceiveApplication, nsCommitReceiveApplication, nsGetReceiveApplicationProgress, nsRequestSendApplication, nsGetSendApplicationProgress, nsCompareSystemDeliveryInfo, nsListNotCommittedContentMeta, nsGetApplicationDeliveryInfoHash.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>account:<ul>
|
|
<li>Added AccountServiceType, and changed accountInitialize to accept it.</li>
|
|
<li>Renamed AccountProfileBase::username to nickname.</li>
|
|
<li>Removed output bool from accountGetLastOpenedUser.</li>
|
|
<li>Added <a class="el" href="structAccountNetworkServiceAccountId.html" title="NetworkServiceAccountId.">AccountNetworkServiceAccountId</a> struct.</li>
|
|
<li>Added accountIsUserRegistrationRequestPermitted, accountTrySelectUserWithoutInteraction.</li>
|
|
</ul>
|
|
</li>
|
|
<li>apm:<ul>
|
|
<li>Added enum: ApmPerformanceMode.</li>
|
|
<li>Added service session getter: apmGetServiceSession_Session.</li>
|
|
</ul>
|
|
</li>
|
|
<li>async: Added support for the IAsyncValue/IAsyncResult interfaces.</li>
|
|
<li>audin:<ul>
|
|
<li>Added missing count param to audinListAudioIns.</li>
|
|
<li>Changed wrapper to use 3.x+ Auto commands if available.</li>
|
|
<li>Added service session getters: audinGetServiceSession, audinGetServiceSession_AudioIn.</li>
|
|
</ul>
|
|
</li>
|
|
<li>audout:<ul>
|
|
<li>Added missing count param to audoutListAudioOuts.</li>
|
|
<li>Changed wrapper to use 3.x+ Auto commands if available.</li>
|
|
<li>Added service session getters: audoutGetServiceSession, audoutGetServiceSession_AudioOut.</li>
|
|
</ul>
|
|
</li>
|
|
<li>audren:<ul>
|
|
<li>Changed wrapper to use 3.x+ Auto commands if available.</li>
|
|
<li>Renamed audrenGetServiceSession to audrenGetServiceSession_AudioRenderer.</li>
|
|
</ul>
|
|
</li>
|
|
<li>fatal:<ul>
|
|
<li>Corrected names of commands and types to match official names more closely.<ul>
|
|
<li><b>fatalSimple was renamed to fatalThrow</b>.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>friends:<ul>
|
|
<li>Added structs: <a class="el" href="structFriendsInAppScreenName.html" title="InAppScreenName.">FriendsInAppScreenName</a>, <a class="el" href="structFriendsFriendInvitationGameModeDescription.html" title="FriendInvitationGameModeDescription.">FriendsFriendInvitationGameModeDescription</a>, <a class="el" href="structFriendsFriendInvitationId.html" title="FriendInvitationId.">FriendsFriendInvitationId</a>, <a class="el" href="structFriendsFriendInvitationGroupId.html" title="FriendInvitationGroupId.">FriendsFriendInvitationGroupId</a>.</li>
|
|
<li>Added friendsGetFriendInvitationNotificationEvent, friendsTryPopFriendInvitationNotificationInfo.</li>
|
|
</ul>
|
|
</li>
|
|
<li>grc:<ul>
|
|
<li>Renamed grcdRead to grcdTransfer.</li>
|
|
</ul>
|
|
</li>
|
|
<li>hid:<ul>
|
|
<li>Added hidIsVibrationDeviceMounted, hidGetNpadJoyHoldType.</li>
|
|
<li>Added internal 5.0+ support for using ActivateNpadWithRevision with the sysver-specific revision value.</li>
|
|
<li>Changed hidInitializeSevenSixAxisSensor to use ActivateConsoleSixAxisSensor earlier on instead of ActivateSevenSixAxisSensor.</li>
|
|
</ul>
|
|
</li>
|
|
<li>hiddbg:<ul>
|
|
<li>Added hiddbgAcquireOperationEventHandle, hiddbgGetOperationResult, hiddbgWriteSerialFlash, hiddbgIsHdlsVirtualDeviceAttached.</li>
|
|
<li>Fixed bug in hiddbgReadSerialFlash.</li>
|
|
</ul>
|
|
</li>
|
|
<li>hidsys:<ul>
|
|
<li>Added hidsysSetNotificationLedPatternWithTimeout.</li>
|
|
<li>Added hidsysAcquireCaptureButtonEventHandle, hidsysAcquireSleepButtonEventHandle to header.</li>
|
|
<li>Corrected bug that affected internal GetMaskedSupportedNpadStyleSet logic.</li>
|
|
</ul>
|
|
</li>
|
|
<li>loader (ldrShell/ldrDmnt/ldrPm):<ul>
|
|
<li>Updated names to match official software.</li>
|
|
</ul>
|
|
</li>
|
|
<li>ncm:<ul>
|
|
<li>Added new <a class="el" href="ncm__types_8h.html" title="Content Manager (ncm) service types (see ncm.h for the rest).">ncm_types.h</a> header, which is used by several other services that need NCM types.</li>
|
|
<li>Updated structs: <a class="el" href="structNcmContentMetaKey.html" title="ContentMetaKey.">NcmContentMetaKey</a>, <a class="el" href="structNcmContentInfo.html" title="ContentInfo.">NcmContentInfo</a>, <a class="el" href="structNcmContentMetaHeader.html" title="ContentMetaHeader.">NcmContentMetaHeader</a>, <a class="el" href="structNcmApplicationMetaExtendedHeader.html" title="ApplicationMetaExtendedHeader.">NcmApplicationMetaExtendedHeader</a>.</li>
|
|
<li>Renamed NcmNcaId to <a class="el" href="structNcmContentId.html" title="ContentId.">NcmContentId</a>.</li>
|
|
<li>Added <a class="el" href="structNcmRightsId.html" title="RightsId.">NcmRightsId</a> struct, which is now used by the RightsId funcs.</li>
|
|
<li>Added <a class="el" href="structNcmProgramLocation.html" title="ProgramLocation.">NcmProgramLocation</a>, which is now used by pmshellLaunchProgram.</li>
|
|
<li>Changed several commands to accept array element count instead of byte size.</li>
|
|
<li>Fixed handling for ncmContentStorageGetPath/ncmContentStorageGetPlaceHolderPath.</li>
|
|
<li>Corrected <a class="el" href="structNcmContentId.html" title="ContentId.">NcmContentId</a> struct alignment.</li>
|
|
<li>Added <a class="el" href="structNcmPlaceHolderId.html" title="PlaceHolderId.">NcmPlaceHolderId</a> struct, which is used instead of <a class="el" href="structNcmContentId.html" title="ContentId.">NcmContentId</a> where needed.</li>
|
|
<li>Renamed FsStorageId to NcmStorageId (and renamed enum value names too).</li>
|
|
<li>Added structs: <a class="el" href="structNcmPackagedContentInfo.html" title="PackagedContentInfo.">NcmPackagedContentInfo</a>, <a class="el" href="structNcmContentMetaInfo.html" title="ContentMetaInfo.">NcmContentMetaInfo</a>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>nfc/nfp:<ul>
|
|
<li>Renamed from nfcu/nfpu to nfc/nfp.</li>
|
|
<li>Separated nfc service init/exit into nfcInitialize/nfcExit.</li>
|
|
<li>Renamed nfpuIsNfcEnabled to nfcIsNfcEnabled.</li>
|
|
<li>Renamed NfpuInitConfig to <a class="el" href="structNfcRequiredMcuVersionData.html">NfcRequiredMcuVersionData</a>, removed it from nfpInitialize input, and changed it to be handled properly as an array.</li>
|
|
<li>Added <a class="el" href="structNfcDeviceHandle.html" title="Nfc/Nfp DeviceHandle.">NfcDeviceHandle</a> struct, which is now used instead of HidControllerID.</li>
|
|
<li>Added NfpServiceType/NfcServiceType, and changed nfpInitialize/nfpInitialize to accept them.</li>
|
|
<li>Added service session getters: nfpuGetServiceSession, nfcuGetServiceSession, nfcuGetServiceSession_Interface, nfpuGetServiceSession_Interface (previously known as nfpuGetInterface).</li>
|
|
</ul>
|
|
</li>
|
|
<li>nifm:<ul>
|
|
<li>Replaced nifmSetServiceType with service type parameter in nifmInitialize.</li>
|
|
</ul>
|
|
</li>
|
|
<li>notif: Added support.</li>
|
|
<li>nv:<ul>
|
|
<li>Added service session getter: nvGetServiceSession.</li>
|
|
</ul>
|
|
</li>
|
|
<li>pctl:<ul>
|
|
<li>Added service session getters: pctlGetServiceSession, pctlGetServiceSession_Service.</li>
|
|
</ul>
|
|
</li>
|
|
<li>pdm:<ul>
|
|
<li>Renamed PdmApplicationEvent to <a class="el" href="structPdmAppletEvent.html" title="AppletEvent. AppletEvent for [16.0.0+], converted from PdmAppletEventV1 on [1.0.0-15....">PdmAppletEvent</a>.</li>
|
|
<li>Renamed pdmqryQueryApplicationEvent to pdmqryQueryAppletEvent.</li>
|
|
</ul>
|
|
</li>
|
|
<li>pdmqry:<ul>
|
|
<li>Renamed pdmqryGetUserPlayedApplications to pdmqryQueryRecentlyPlayedApplication.</li>
|
|
<li>Renamed pdmqryGetUserAccountEvent to pdmqryGetRecentlyPlayedApplicationUpdateEvent.</li>
|
|
</ul>
|
|
</li>
|
|
<li>pm:<ul>
|
|
<li>Corrected names of commands to match official software.</li>
|
|
</ul>
|
|
</li>
|
|
<li>roDmnt:<ul>
|
|
<li>Renamed roDmntGetModuleInfos to roDmntGetProcessModuleInfo.</li>
|
|
</ul>
|
|
</li>
|
|
<li>set:<ul>
|
|
<li>Added SetLanguage_ZHHANS, SetLanguage_ZHHANT.</li>
|
|
<li>Added SetRegion_CHN, SetRegion_KOR, SetRegion_TWN.</li>
|
|
<li>Added size_out parameter to setsysGetSettingsItemValue, which was previously missing.</li>
|
|
<li>Replaced SetSysFlag/setsysGetFlag/setsysSetFlag with dedicated funcs for each flag.</li>
|
|
<li>Use SetLanguage instead of s32 in setMakeLanguage(Code).</li>
|
|
<li>Added setsysGetPlatformRegion, setsysSetPlatformRegion, setsysGetHomeMenuScheme, setsysGetHomeMenuSchemeModel, setsysGetMemoryUsageRateFlag, setsysGetTouchScreenMode, setsysSetTouchScreenMode, setsysGetPctlReadyFlag, setsysSetPctlReadyFlag, setsysIsUserSystemClockAutomaticCorrectionEnabled, setsysSetUserSystemClockAutomaticCorrectionEnabled, setsysSetLanguageCode, setsysGetAccountSettings, setsysSetAccountSettings, setsysGetEulaVersions, setsysSetEulaVersions, setsysGetNotificationSettings, setsysSetNotificationSettings, setsysGetAccountNotificationSettings, setsysSetAccountNotificationSettings, setsysGetTvSettings, setsysSetTvSettings, setsysGetDataDeletionSettings, setsysSetDataDeletionSettings, setsysGetWirelessCertificationFileSize, setsysGetWirelessCertificationFile, setsysSetRegionCode, setsysGetPrimaryAlbumStorage, setsysSetPrimaryAlbumStorage, setsysGetBatteryLot, setsysGetSleepSettings, setsysSetSleepSettings, setsysGetInitialLaunchSettings, setsysSetInitialLaunchSettings, setsysGetProductModel, setsysGetMiiAuthorId, setsysGetErrorReportSharePermission, setsysSetErrorReportSharePermission, setsysGetAppletLaunchFlags, setsysSetAppletLaunchFlags, setsysGetKeyboardLayout, setsysSetKeyboardLayout, setsysGetRebootlessSystemUpdateVersion, setsysGetChineseTraditionalInputMethod, setsysSetChineseTraditionalInputMethod.</li>
|
|
<li>Added enums: SetSysPlatformRegion, <a class="el" href="structSetSysHomeMenuScheme.html" title="Output from setsysGetHomeMenuScheme. This contains RGBA8 colors which correspond with the physical sh...">SetSysHomeMenuScheme</a>, SetSysTouchScreenMode, SetSysUserSelectorFlag, SetSysEulaVersionClockType, SetSysNotificationVolume, SetSysFriendPresenceOverlayPermission, SetSysPrimaryAlbumStorage, SetSysHandheldSleepPlan, SetSysConsoleSleepPlan, SetSysErrorReportSharePermission, SetKeyboardLayout, SetChineseTraditionalInputMethod.</li>
|
|
<li>Added structs: <a class="el" href="structSetBatteryLot.html" title="BatteryLot.">SetBatteryLot</a>, <a class="el" href="structSetSysUserSelectorSettings.html" title="UserSelectorSettings.">SetSysUserSelectorSettings</a>, <a class="el" href="structSetSysAccountSettings.html" title="AccountSettings.">SetSysAccountSettings</a>, <a class="el" href="structSetSysEulaVersion.html" title="EulaVersion.">SetSysEulaVersion</a>, <a class="el" href="structSetSysNotificationTime.html" title="NotificationTime.">SetSysNotificationTime</a>, <a class="el" href="structSetSysNotificationSettings.html" title="NotificationSettings.">SetSysNotificationSettings</a>, <a class="el" href="structSetSysAccountNotificationSettings.html" title="AccountNotificationSettings.">SetSysAccountNotificationSettings</a>, <a class="el" href="structSetSysTvSettings.html" title="TvSettings.">SetSysTvSettings</a>, <a class="el" href="structSetSysDataDeletionSettings.html" title="DataDeletionSettings.">SetSysDataDeletionSettings</a>, <a class="el" href="structSetSysSleepSettings.html" title="SleepSettings.">SetSysSleepSettings</a>, <a class="el" href="structSetSysInitialLaunchSettings.html" title="InitialLaunchSettings.">SetSysInitialLaunchSettings</a>, <a class="el" href="structSetSysRebootlessSystemUpdateVersion.html" title="RebootlessSystemUpdateVersion. This is the content of the RebootlessSystemUpdateVersion SystemData,...">SetSysRebootlessSystemUpdateVersion</a>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>time:<ul>
|
|
<li>Changed service type handling to use new TimeServiceType enum (and <code>__nx_time_service_type</code> weak var), time:u is now the default service.</li>
|
|
<li>Changed timeToPosixTime/timeToPosixTimeWithMyRule to accept array element count instead of byte size.</li>
|
|
<li>Changed timeLoadLocationNameList to accept array element count instead of byte size.</li>
|
|
<li>Added service session getters: timeGetServiceSession_SystemClock, timeGetServiceSession_TimeZoneService.</li>
|
|
<li>Added <a class="el" href="structTimeSteadyClockTimePoint.html">TimeSteadyClockTimePoint</a> struct (which is now used elsewhere in libnx).</li>
|
|
</ul>
|
|
</li>
|
|
<li>ts: Added support.</li>
|
|
<li>usbhs:<ul>
|
|
<li>8.0+ support fixed; <a class="el" href="structUsbHsInterfaceInfo.html" title="Descriptors which are not available are set to all-zero.">UsbHsInterfaceInfo</a> input/output endpoints were swapped.</li>
|
|
<li>Fixed bug in usbHsEpClose.</li>
|
|
</ul>
|
|
</li>
|
|
<li>vi:<ul>
|
|
<li>Renamed viGetDisplayMinimumZ to viGetZOrderCountMin.</li>
|
|
<li>Renamed viGetDisplayMaximumZ to viGetZOrderCountMax.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 2.5.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Corrected type of id0 in svcGetInfo.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added fsExtendSaveDataFileSystem, fsOpenCustomStorageFileSystem, fsSetGlobalAccessLogMode, fsGetGlobalAccessLogMode.</li>
|
|
<li>Added FsCustomStorageId enum.</li>
|
|
<li>Fixed by-name RomFS mount lookups to actually compare the entire name.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Added binder session argument to nwindowCreate (nwindowCreateFromLayer not affected).</li>
|
|
<li><a class="el" href="structBinder.html">Binder</a> code now supports domain objects.</li>
|
|
<li>Fixed bug in nvAddressSpaceCreate.</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li><b>Explicitly announce support for System/SystemExt layouts, which in turn fixes input on 9.0.0+. It is of utmost importance that all homebrew be recompiled as soon as possible in order to work properly on 9.0.0+.</b></li>
|
|
<li><b>Fixed Hdls to work on 9.0.0+.</b><ul>
|
|
<li>Several Hdls structs were redefined in 9.0.0+ and libnx was updated to reflect the new struct definitions (this is a breaking change). The old structs are still available but they now have a <code>V7</code> suffix, and libnx transparently handles conversion to/from the new 9.x structs at runtime on older system versions; so the new structs are <em>always</em> used regardless of system version. List of structs affected:<ul>
|
|
<li><a class="el" href="structHiddbgHdlsDeviceInfo.html" title="HdlsDeviceInfo, for [9.0.0+]. Converted to/from HiddbgHdlsDeviceInfoV7 on prior sysvers.">HiddbgHdlsDeviceInfo(V7)</a></li>
|
|
<li><a class="el" href="structHiddbgHdlsState.html" title="HdlsState, for [12.0.0+].">HiddbgHdlsState(V7)</a></li>
|
|
<li><a class="el" href="structHiddbgHdlsStateListEntry.html" title="HdlsStateListEntry, for [12.0.0+].">HiddbgHdlsStateListEntry(V7)</a></li>
|
|
<li><a class="el" href="structHiddbgHdlsStateList.html" title="HdlsStateList, for [12.0.0+].">HiddbgHdlsStateList(V7)</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Added hiddbgGetUniquePadDeviceTypeSetInternal.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added hidGetNpadInterfaceType.</li>
|
|
<li>Added HidNpadInterfaceType, HidDeviceTypeBits, HidDeviceType enums.</li>
|
|
<li>Prevent AbstractedPad/VirtualPad commands from being used on 9.0.0+ since they were removed.</li>
|
|
<li>Corrected several commands by internally calling hidControllerIDToOfficial.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li>Added <a class="el" href="structAppletAttribute.html" title="Used by appletInitialize with __nx_applet_AppletAttribute for cmd OpenLibraryAppletProxy (AppletType_...">AppletAttribute</a>, <a class="el" href="structAppletProcessLaunchReason.html" title="AppletProcessLaunchReason, from GetLaunchReason.">AppletProcessLaunchReason</a>, <a class="el" href="structAppletInfo.html" title="Cached info for the current LibraryApplet, from appletGetAppletInfo.">AppletInfo</a>, <a class="el" href="structAppletApplicationLaunchProperty.html" title="ApplicationLaunchProperty.">AppletApplicationLaunchProperty</a>, <a class="el" href="structAppletApplicationLaunchRequestInfo.html" title="ApplicationLaunchRequestInfo.">AppletApplicationLaunchRequestInfo</a>, <a class="el" href="structAppletResourceUsageInfo.html" title="AppletResourceUsageInfo, from appletGetAppletResourceUsageInfo.">AppletResourceUsageInfo</a> structs.</li>
|
|
<li>Added AppletApplicationExitReason, AppletSystemButtonType, AppletProgramSpecifyKind enums.</li>
|
|
<li>Renamed AppletNotificationMessage to AppletMessage.</li>
|
|
<li>Renamed AppletLaunchParameterKind_Application to AppletLaunchParameterKind_UserChannel.</li>
|
|
<li>Added appletGetServiceSession_* funcs.</li>
|
|
<li>Added appletGetAppletInfo.</li>
|
|
<li>Changed appletRequestToShutdown/appletRequestToReboot and appletStartShutdownSequenceForOverlay/appletStartRebootSequenceForOverlay on success to enter an infinite sleep loop.<ul>
|
|
<li>This is also used with <code>_appletExitProcess</code> when the exit commands were successful, which is used during <code>__nx_applet_exit_mode</code> handling.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Use OpenLibraryAppletProxy command on 3.0.0+ when running appletInitialize for AppletType_LibraryApplet.</li>
|
|
<li>Added libappletArgsPop and libappletSetJumpFlag.</li>
|
|
<li><b>ILibraryAppletSelfAccessor</b>:<ul>
|
|
<li>Added appletPopInData, appletPushOutData, appletPopInteractiveInData, appletPushInteractiveOutData, appletGetPopInDataEvent, appletGetPopInteractiveInDataEvent.</li>
|
|
<li>Added appletCanUseApplicationCore, appletGetMainAppletApplicationControlProperty, appletGetMainAppletStorageId, appletGetDesirableKeyboardLayout.</li>
|
|
<li>Added appletPopExtraStorage, appletGetPopExtraStorageEvent, appletUnpopInData, appletUnpopExtraStorage.</li>
|
|
<li>Added appletGetIndirectLayerProducerHandle, appletGetMainAppletApplicationDesiredLanguage, appletGetCurrentApplicationId.</li>
|
|
<li>Added appletCreateGameMovieTrimmer, appletReserveResourceForMovieOperation, appletUnreserveResourceForMovieOperation.</li>
|
|
<li>Added appletGetMainAppletAvailableUsers.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IProcessWindingController</b>:<ul>
|
|
<li>Added appletPushContext, appletPopContext.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IDebugFunctions</b>:<ul>
|
|
<li>Added appletOpenMainApplication, appletPerformSystemButtonPressing, appletInvalidateTransitionLayer, appletRequestLaunchApplicationWithUserAndArgumentForDebug, appletGetAppletResourceUsageInfo.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>ILibraryAppletAccessor</b>:<ul>
|
|
<li>Added appletHolderTerminate, appletHolderRequestExitOrTerminate.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IProcessWindingController</b>:<ul>
|
|
<li>Added appletHolderJump.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IOverlayFunctions</b>:<ul>
|
|
<li>Added appletBeginToObserveHidInputForDevelop.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IHomeMenuFunctions</b>:<ul>
|
|
<li>Added appletPopRequestLaunchApplicationForDebug, appletLaunchDevMenu.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IApplicationCreator</b>:<ul>
|
|
<li>Added support for <a class="el" href="structAppletApplication.html" title="IApplicationAccessor container.">AppletApplication</a>.</li>
|
|
<li>Added appletCreateApplication, appletPopLaunchRequestedApplication, appletCreateSystemApplication, appletPopFloatingApplicationForDevelopment.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>ILibraryAppletCreator</b>:<ul>
|
|
<li>Added appletTerminateAllLibraryApplets, appletAreAnyLibraryAppletsLeft.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>IApplicationFunctions</b>:<ul>
|
|
<li>Added appletGetLaunchStorageInfoForDebug, appletRequestFlushGamePlayingMovieForDebug, appletExitAndRequestToShowThanksMessage.</li>
|
|
<li>Added appletExecuteProgram, appletJumpToSubApplicationProgramForDevelopment, appletRestartProgram, and appletGetPreviousProgramIndex.</li>
|
|
<li>Added appletCreateMovieMaker and appletPrepareForJit.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>libapplets</h3>
|
|
<ul>
|
|
<li>Added support for launching the Album applet via albumLa.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li><b>Added GRC service support</b> (video recording, streaming and trimming).</li>
|
|
<li>Changes to caps (capture service) wrappers:<ul>
|
|
<li>Added support for the caps:u service.</li>
|
|
<li>Added <a class="el" href="structCapsAlbumFileDateTime.html" title="AlbumFileDateTime. This corresponds to each field in the Album entry filename, prior to the "-": "YYY...">CapsAlbumFileDateTime</a>, CapsAlbumEntryId, <a class="el" href="structCapsApplicationData.html" title="ApplicationData.">CapsApplicationData</a>, <a class="el" href="structCapsUserIdList.html" title="UserIdList.">CapsUserIdList</a>, <a class="el" href="structCapsScreenShotAttributeForApplication.html" title="ScreenShotAttributeForApplication. Only unk_x0 is used by official sw.">CapsScreenShotAttributeForApplication</a>, <a class="el" href="structCapsScreenShotDecodeOption.html" title="ScreenShotDecodeOption.">CapsScreenShotDecodeOption</a>, <a class="el" href="structCapsApplicationAlbumFileEntry.html" title="ApplicationAlbumFileEntry.">CapsApplicationAlbumFileEntry</a>, <a class="el" href="structCapsLoadAlbumScreenShotImageOutputForApplication.html" title="LoadAlbumScreenShotImageOutputForApplication.">CapsLoadAlbumScreenShotImageOutputForApplication</a> structs.</li>
|
|
<li>Added AlbumReportOption, CapsContentType enums.</li>
|
|
<li>Added capsGetShimLibraryVersion (not an actual IPC wrapper).</li>
|
|
<li>Added capsGetDefaultStartDateTime, capsGetDefaultEndDateTime, capsConvertApplicationAlbumFileEntryToApplicationAlbumEntry, capsConvertApplicationAlbumEntryToApplicationAlbumFileEntry helper functions.</li>
|
|
<li>Added capssuSaveScreenShotWithUserData, capssuSaveScreenShotWithUserIds, capssuSaveScreenShotEx1, capssuSaveScreenShotEx2.</li>
|
|
<li>Improved definition of capssuSaveScreenShot and capssuSaveScreenShotEx0.</li>
|
|
<li>Improved definition of <a class="el" href="structCapsScreenShotAttribute.html" title="ScreenShotAttribute.">CapsScreenShotAttribute</a>, <a class="el" href="structCapsApplicationAlbumEntry.html" title="ApplicationAlbumEntry.">CapsApplicationAlbumEntry</a> structs.</li>
|
|
<li>Changed caps:su wrapper to call SetShimLibraryVersion on 7.0.0+.</li>
|
|
<li>Renamed capsscCaptureScreenshot with capsscCaptureRawImageWithTimeout.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed lr RedirectApplication commands on 9.0.0+.<ul>
|
|
<li>Renamed lrLrResolveLegalInformationPath to lrLrResolveApplicationLegalInformationPath.</li>
|
|
<li>Renamed lrLrRedirectLegalInformationPath to lrLrRedirectApplicationLegalInformationPath.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added missing fields to <a class="el" href="structNacpStruct.html" title="ns ApplicationControlProperty">NacpStruct</a> and other miscellaneous corrections.</li>
|
|
<li>Fixed definition of setsysGetServiceSession.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 2.4.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Added support for new Homebrew ABI keys</b>, including: UserIdStorage, HosVersion.</li>
|
|
<li>TLS destructors now run after clearing the corresponding TLS value, as per the standard.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li>Added <a class="el" href="structAppletIdentityInfo.html" title="IdentityInfo.">AppletIdentityInfo</a> and <a class="el" href="structLibAppletInfo.html" title="LibraryAppletInfo.">LibAppletInfo</a> structs.</li>
|
|
<li>Added AppletId_application.</li>
|
|
<li>Updated LibAppletMode enum.</li>
|
|
<li>Added AppletSystemButtonType enum.</li>
|
|
<li>Added AppletHookType_RequestToDisplay and AppletNotificationMessage_RequestToDisplay.</li>
|
|
<li>Added appletHolderSetOutOfFocusApplicationSuspendingEnabled and appletHolderGetLibraryAppletInfo.</li>
|
|
<li>Replaced appletHomeButtonReaderLockAccessorGetEvent with appletGetHomeButtonReaderLockAccessor.</li>
|
|
<li>Added appletGetReaderLockAccessorEx, appletGetWriterLockAccessorEx, and appletGetHomeButtonWriterLockAccessor.</li>
|
|
<li>Added support for <a class="el" href="structAppletLockAccessor.html" title="LockAccessor.">AppletLockAccessor</a>.</li>
|
|
<li><b>ISelfController</b>: Added appletSetScreenShotAppletIdentityInfo, appletSetControllerFirmwareUpdateSection, appletSetDesirableKeyboardLayout, appletIsSystemBufferSharingEnabled, appletGetSystemSharedLayerHandle, appletGetSystemSharedBufferHandle, appletSetHandlesRequestToDisplay, appletApproveToDisplay, appletOverrideAutoSleepTimeAndDimmingTime, appletSetIdleTimeDetectionExtension, appletGetIdleTimeDetectionExtension, appletSetInputDetectionSourceSet, appletReportUserIsActive, appletSetAutoSleepDisabled, appletIsAutoSleepDisabled, appletSetWirelessPriorityMode, appletGetProgramTotalActiveTime.</li>
|
|
<li><b>ILibraryAppletSelfAccessor</b>: Added appletGetMainAppletIdentityInfo, appletGetCallerAppletIdentityInfo, appletGetCallerAppletIdentityInfoStack, appletGetNextReturnDestinationAppletIdentityInfo, appletGetLibraryAppletInfo.</li>
|
|
<li><b>ICommonStateGetter</b>: Added appletGetCradleStatus, appletGetBootMode, appletRequestToAcquireSleepLock, appletReleaseSleepLock, appletReleaseSleepLockTransiently, appletGetCradleFwVersion, AppletTvPowerStateMatchingMode, appletSetLcdBacklightOffEnabled, appletIsInControllerFirmwareUpdateSection, appletGetDefaultDisplayResolution, appletGetDefaultDisplayResolutionChangeEvent, appletGetHdcpAuthenticationState, appletGetHdcpAuthenticationStateChangeEvent, appletSetTvPowerStateMatchingMode, appletGetApplicationIdByContentActionName, appletPerformSystemButtonPressingIfInFocus, appletSetPerformanceConfigurationChangedNotification, appletGetOperationModeSystemInfo.</li>
|
|
<li><b>IWindowController</b>: Added appletGetAppletResourceUserIdOfCallerApplet, appletSetAppletWindowVisibility, appletSetAppletGpuTimeSlice.</li>
|
|
<li><b>Added full support for IAudioController</b>.</li>
|
|
<li><b>IDisplayController</b>: Added appletUpdateLastForegroundCaptureImage, appletUpdateCallerAppletCaptureImage, appletGetLastForegroundCaptureImageEx, appletGetLastApplicationCaptureImageEx, appletGetCallerAppletCaptureImageEx, appletTakeScreenShotOfOwnLayer, appletCopyBetweenCaptureBuffers, appletClearCaptureBuffer, appletClearAppletTransitionBuffer, appletAcquireLastApplicationCaptureSharedBuffer, appletReleaseLastApplicationCaptureSharedBuffer, appletAcquireLastForegroundCaptureSharedBuffer, appletReleaseLastForegroundCaptureSharedBuffer, appletAcquireCallerAppletCaptureSharedBuffer, appletReleaseCallerAppletCaptureSharedBuffer, appletTakeScreenShotOfOwnLayerEx.</li>
|
|
<li><b>Added full support for IAppletCommonFunctions</b>.</li>
|
|
<li><b>IHomeMenuFunctions</b>: Added appletRequestToGetForeground, appletLockForeground, appletUnlockForeground, appletPopFromGeneralChannel, appletGetPopFromGeneralChannelEvent.</li>
|
|
<li><b>IGlobalStateController</b>: Added appletStartSleepSequence, appletStartShutdownSequence, appletStartRebootSequence, appletIsAutoPowerDownRequested, appletLoadAndApplyIdlePolicySettings, appletNotifyCecSettingsChanged, appletSetDefaultHomeButtonLongPressTime, appletUpdateDefaultDisplayResolution, appletShouldSleepOnBoot, appletGetHdcpAuthenticationFailedEvent.</li>
|
|
<li><b>IOverlayFunctions</b>: Added appletGetApplicationIdForLogo, appletSetGpuTimeSliceBoost, appletSetAutoSleepTimeAndDimmingTimeEnabled, appletTerminateApplicationAndSetReason, appletSetScreenShotPermissionGlobally, appletStartShutdownSequenceForOverlay, appletStartRebootSequenceForOverlay, appletSetHandlingHomeButtonShortPressedEnabled.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li>Added viDestroyManagedLayer.</li>
|
|
<li>Added ViPowerState_On_Deprecated to ViPowerState enum.</li>
|
|
<li>Fixed bug in nvAddressSpaceModify.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added fsOpenGameCardFileSystem.</li>
|
|
<li>Added fsReadSaveDataFileSystemExtraDataBySaveDataSpaceId, fsReadSaveDataFileSystemExtraData, fsWriteSaveDataFileSystemExtraData.</li>
|
|
<li>Added <a class="el" href="structFsSaveDataExtraData.html" title="SaveDataExtraData.">FsSaveDataExtraData</a> struct.</li>
|
|
<li>Added FsGameCardPartiton, FsSaveDataFlags enums.</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li>Added hidGetSupportedNpadStyleSet, hidsysGetSupportedNpadStyleSetOfCallerApplet.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li><b>Added UserIdStorage caching support to the account IPC wrappers</b>: the current account can be read using accountGetPreselectedUser.</li>
|
|
<li>Added AlbumImageOrientation enum.</li>
|
|
<li>Renamed accountGetActiveUser to accountGetLastOpenedUser.</li>
|
|
<li>Corrected name of pdmqryGetServiceSession.</li>
|
|
<li>Fixed NFC service IPC bugs.</li>
|
|
<li>Updated <a class="el" href="structPdmPlayEvent.html" title="PlayEvent.">PdmPlayEvent</a>'s unk_x8 union.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 2.3.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Added xxGetServiceSession functions for most services</b> (those which already had GetSessionService were renamed to GetServiceSession).</li>
|
|
<li>Added InfoType, SystemInfoType, TickCountInfo, InitialProcessIdRangeInfo and <a class="el" href="structPhysicalMemoryInfo.html" title="Physical memory information structure.">PhysicalMemoryInfo</a> enums for syscalls.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li><b>Added 8.0+ web applet functions</b>: webConfigSetMediaPlayerUi, webReplyGetMediaPlayerAutoClosedByCompletion.</li>
|
|
<li><b>Added 8.0+ software keyboard functions</b>: swkbdConfigSetUnkFlag, swkbdConfigSetTrigger, swkbdInlineSetChangedStringV2Callback, swkbdInlineSetMovedCursorV2Callback.</li>
|
|
<li>Added swkbdInlineLaunchForLibraryApplet, swkbdInlineSetDecidedCancelCallback.</li>
|
|
<li><b>Added many new applet command wrappers</b>, some of which expose functions introduced in more recent system versions: appletQueryApplicationPlayStatisticsByUid, appletGetGpuErrorDetectedSystemEvent, appletGetDisplayVersion, appletBeginBlockingHomeButtonShortAndLongPressed, appletEndBlockingHomeButtonShortAndLongPressed, appletRequestToShutdown, appletRequestToReboot, appletInitializeApplicationCopyrightFrameBuffer, appletSetApplicationCopyrightImage, appletSetApplicationCopyrightVisibility, appletGetPseudoDeviceId, appletSetApplicationAlbumUserData, appletEnterFatalSection, appletLeaveFatalSection, appletSetRestartMessageEnabled, appletSetRequiresCaptureButtonShortPressedMessage, appletSetAlbumImageTakenNotificationEnabled.</li>
|
|
<li>Added AppletScreenShotPermission enum (now used by appletSetScreenShotPermission).</li>
|
|
<li>Added AppletNotificationMessage enum, which describes the currently known return values of appletGetMessage.</li>
|
|
<li>Added AppletHookType_OnRestart, AppletHookType_OnCaptureButtonShortPressed and AppletHookType_OnAlbumImageTaken hook types.</li>
|
|
<li>Renamed appletSetScreenShotImageOrientation to appletSetAlbumImageOrientation.</li>
|
|
<li>Moved AppletApplicationPlayStatistics struct to PDM (now it's called <a class="el" href="structPdmApplicationPlayStatistics.html" title="ApplicationPlayStatistics.">PdmApplicationPlayStatistics</a>).</li>
|
|
<li>Fixed web applet arg passing code to actually use 6.0+ format on 6.0+.</li>
|
|
<li>Fixed appletQueryApplicationPlayStatistics.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added fsdevCreateFile, fsdevDeleteDirectoryRecursively, fsdevGetLastResult.</li>
|
|
<li>Added fsOpenFileSystemWithPatch, fsOpenContentStorageFileSystem, fsGetRightsIdByPath, fsGetRightsIdAndKeyGenerationByPath, fsCreateSaveDataFileSystemBySystemSaveDataId, fsDeleteSaveDataFileSystemBySaveDataSpaceId, fsDisableAutoSaveDataCreation, fsCreate_SystemSaveDataWithOwner, fsCreate_SystemSaveData.</li>
|
|
<li>Added fsFileOperateRange, fsStorageOperateRange.</li>
|
|
<li>Added option parameter to fsFileRead, fsFileWrite.</li>
|
|
<li>Added romfsMountFromCurrentProcess.</li>
|
|
<li>Added FsBisStorageId, FsFileCreateFlags, FsReadOption, FsWriteOption and FsOperationId enums.</li>
|
|
<li>Added FS_DIROPEN_NO_FILE_SIZE to FsDirectoryFlags enum.</li>
|
|
<li>Added <a class="el" href="structFsRangeInfo.html">FsRangeInfo</a> struct.</li>
|
|
<li>Fixed romfs unmount corruption.</li>
|
|
<li>Fixed IPC fail in fsFsCreateFile.</li>
|
|
</ul>
|
|
<h3>input</h3>
|
|
<ul>
|
|
<li><b>Added partial support for SevenSixAxisSensor</b>.</li>
|
|
<li><b>Added hid:dbg service support (virtual HID controllers)</b>.</li>
|
|
<li>Added hid commands: hidGetControllerDeviceType, hidGetControllerFlags, hidGetControllerPowerInfo.</li>
|
|
<li>Added hid:sys commands: hidsysGetUniquePadSerialNumber.</li>
|
|
<li>Fixed bug in irsGetIrCameraHandle.</li>
|
|
<li>Fixed IPC fail in hidsysSetNotificationLedPattern.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added pm:bm service support.</li>
|
|
<li>Added pdm:qry service support.</li>
|
|
<li>Added i2c commands: i2csessionReceiveAuto, i2csessionExecuteCommandList.</li>
|
|
<li>Added ncm commands: ncmContentMetaDatabaseGetAttributes.</li>
|
|
<li>Added NcmContentMetaType and NcmContentMetaAttributa enums.</li>
|
|
<li>Added pm:shell commands: pmshellBoostSystemThreadResourceLimit.</li>
|
|
<li>Added set:sys commands: setsysGetDeviceNickname, setsysSetDeviceNickname.</li>
|
|
<li>Added time commands: timeGetDeviceLocationName, timeSetDeviceLocationName, timeGetTotalLocationNameCount, timeLoadLocationNameList, timeLoadTimeZoneRule, timeToPosixTime, timeToPosixTimeWithMyRule, timeToCalendarTime.</li>
|
|
<li>Added and corrected several /dev/nvhost-ctrl-gpu ioctls.</li>
|
|
<li>Added nvGpuGetZcullInfo, nvGpuGetTpcMasks, nvGpuZbcGetActiveSlotMask, nvGpuZbcAddColor, nvGpuZbcAddDepth.</li>
|
|
<li>Improved I2cDevice enum.</li>
|
|
<li>Improved accountInitialize to internally call InitializeApplicationInfo.</li>
|
|
<li>Changed binderInitSession to accept an arbitrary relay session handle.</li>
|
|
<li>Renamed PdmAccountEvent::eventType to type.</li>
|
|
<li>Corrected names of several spl functions: splSetBootReason, splGetBootReason.</li>
|
|
<li>Corrected ro service initialization code.</li>
|
|
<li>Corrected bug in internal USB IPC code.</li>
|
|
<li>Corrected bug in binderInitSession.</li>
|
|
<li>Corrected bug in parcelReadData.</li>
|
|
<li>Corrected bug in viInitialize when using Manager/System.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 2.2.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Introduced hardware accelerated cryptography API</b>, including support for:<ul>
|
|
<li>Hardware accelerated AES-128/AES-192/AES-256 with single-block ECB and multi-block CBC/CTR/XTS modes</li>
|
|
<li>Hardware accelerated SHA-1/SHA-256</li>
|
|
<li>Hardware accelerated AES-128-CMAC/AES-192-CMAC/AES-256-CMAC</li>
|
|
<li>Hardware accelerated HMAC-SHA1/HMAC-SHA256</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added a custom MOD0 extension to make it easier to locate the got section.</li>
|
|
<li>Added syscall: svcQueryProcessMemory.</li>
|
|
<li>Improved smInitialize robustness during early system initialization in order to avoid race conditions when SM itself hasn't fully started up.</li>
|
|
<li><b>Fixed TLS slot issue on 8.0.0 - please recompile all your homebrew applications with this libnx release in order to fix crashes on 8.0.0.</b></li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li><b>Added support for VR mode, available on 6.0.0+</b>:<ul>
|
|
<li>Added appletIsVrModeEnabled (3.0.0+) and appletSetVrModeEnabled.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>Added support for CPU boost, available on 7.0.0+</b>:<ul>
|
|
<li>Added appletSetCpuBoostMode and appletGetCurrentPerformanceConfiguration.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>Added support for the light sensor, available on 3.0.0+</b>:<ul>
|
|
<li>appletGetCurrentIlluminance, appletGetCurrentIlluminanceEx (5.0.0+) and appletIsIlluminanceAvailable.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added support for the pctlauth library applet.</li>
|
|
<li>Added libappletStart and libappletLaunch.</li>
|
|
<li>Updated swkbd support with new functionality present in 6.0.0+, and added accessor functions for the <a class="el" href="structSwkbdConfig.html">SwkbdConfig</a> struct:<ul>
|
|
<li>Added swkbdConfigSetType, swkbdConfigSetDicFlag, swkbdConfigSetKeySetDisableBitmask, swkbdConfigSetInitialCursorPos, swkbdConfigSetStringLenMax, swkbdConfigSetStringLenMaxExt, swkbdConfigSetPasswordFlag, swkbdConfigSetTextDrawType, swkbdConfigSetReturnButtonFlag, swkbdConfigSetBlurBackground and swkbdConfigSetTextGrouping.</li>
|
|
<li>Added swkbdInlineAppearEx, swkbdInlineSetCustomizedDictionaries and swkbdInlineUnsetCustomizedDictionaries.</li>
|
|
<li>Users are advised to use the new accessor functions and stop manipulating directly the contents of the <a class="el" href="structSwkbdConfig.html">SwkbdConfig</a> struct.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Updated web support with new functionality present in 6.0.0+:<ul>
|
|
<li>Added webConfigSetMediaAutoPlay, webConfigSetMediaPlayerSpeedControl, webConfigAddAlbumEntryAndMediaData, webConfigSetBootFooterButtonVisible, webConfigSetOverrideWebAudioVolume and webConfigSetOverrideMediaAudioVolume.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Added romfsMountFromFsdev.</li>
|
|
<li>Added fsdevTranslatePath.</li>
|
|
<li>Updated FsSave/FsSaveDataInfo structures.</li>
|
|
<li>Fixed leakage of <code>0x402</code> error codes (now they get converted to <code>EEXIST</code>).</li>
|
|
</ul>
|
|
<h3>hid</h3>
|
|
<ul>
|
|
<li><b>Added support for the HOME-button notification LED, available on 7.0.0+</b>:<ul>
|
|
<li>Added NotificationLed struct for describing LED patterns.</li>
|
|
<li>Added hidsysSetNotificationLedPattern.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added hidsysGetUniquePadsFromNpad and hidsysGetUniquePadIds.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added clkrst service wrappers.</li>
|
|
<li>Added pctl service wrappers.</li>
|
|
<li>Added ro:1 service wrappers.</li>
|
|
<li>Added ldr:ro command: ldrRoLoadNrrEx.</li>
|
|
<li>Improved pcv support for 8.0.0 changes:<ul>
|
|
<li>Added PcvModuleId enum.</li>
|
|
<li>Added pcvGetModuleId for converting PcvModule to PcvModuleId.</li>
|
|
<li>Added checks to avoid calling pcv commands removed in 8.0.0 (use clkrst instead).</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed <a class="el" href="structLoaderModuleInfo.html">LoaderModuleInfo</a> struct.</li>
|
|
<li>Fixed signature of roDmntGetModuleInfos and ldrDmntGetModuleInfos.</li>
|
|
<li>Fixed signature of splCryptoCryptAesCtr.</li>
|
|
<li>Removed <code>apm:p</code> service support in order to support 8.0.0.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 2.1.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Introduced support for POSIX threads (pthreads) and C++ <code>std::thread</code> APIs</b>, with the help of devkitA64 r13.</li>
|
|
<li><b>Introduced hosversion API</b>, which replaces the old kernelAbove*X* functions for nearly all use cases. By default HOS version is sourced from set:sys during app startup if available. <b>Make sure to call hosversionSet with appropriately sourced system version information if you are overriding <code>__appInit</code></b>.</li>
|
|
<li>Added support for TLS slots.</li>
|
|
<li>Homebrew now embeds the module name at the beginning of rodata. This allows Atmosphère to display the proper name of homebrew executable modules in crash reports and in other locations.</li>
|
|
<li>Added detectJitKernelPatch, detectIgnoreJitKernelPatch and detectKernelVersion.</li>
|
|
<li>Corrected definition of svcSleepThread.</li>
|
|
<li>Optimized implementation of the <a class="el" href="structBarrier.html" title="Barrier structure.">Barrier</a> and <a class="el" href="structRwLock.html" title="Read/write lock structure.">RwLock</a> synchronization primitives.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li><b>Added support for <a class="el" href="structSwkbdInline.html" title="InlineKeyboard.">SwkbdInline</a>.</b></li>
|
|
<li><b>Added support for the WifiWebAuth, Web, WebOffline, WebShare and WebLobby library applets</b>. Please note that using some of these applets requires Atmosphère 0.8.6 or higher.</li>
|
|
<li><b>Added support for the Error library applet.</b></li>
|
|
<li>Added appletHolderActive, appletHolderCheckFinished and appletHolderRequestExit.</li>
|
|
<li>Added appletQueryApplicationPlayStatistics.</li>
|
|
<li>Added appletRequestLaunchApplication and appletRequestLaunchApplicationForQuest.</li>
|
|
<li>Added appletBeginToWatchShortHomeButtonMessage, appletEndToWatchShortHomeButtonMessage and appletHomeButtonReaderLockAccessorGetEvent.</li>
|
|
<li>Added appletGetMessage and appletProcessMessage. appletMainLoop is now a wrapper for these two.</li>
|
|
<li>Added libappletReadStorage and libappletPopOutData.</li>
|
|
<li>Added libappletCreateWriteStorage (previously it was an internal function).</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li><b>Refactored romfs device to support multiple romfs mounts in a sane way</b>.</li>
|
|
<li>Added fsOpenDataStorageByDataId.</li>
|
|
<li>Added romfsMountFromDataArchive.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li><b>Legacy deprecated gfx API has been removed</b>.</li>
|
|
<li>Fixed bug that would return unusable default <a class="el" href="structNWindow.html" title="Native window structure.">NWindow</a> dimensions on 1.x.</li>
|
|
<li>Corrected mistakes in NvColorFormat enum.</li>
|
|
<li>Added vi commands: viGetIndirectLayerImageMap, viGetIndirectLayerImageRequiredMemoryInfo.</li>
|
|
<li>Fixed stray layer creation on 7.0.0+.</li>
|
|
</ul>
|
|
<h3>hid</h3>
|
|
<ul>
|
|
<li>Introduced <code>touchPosition::id</code> to allow multi-touch support to be usable.</li>
|
|
<li>Added hidMouseMultiRead.</li>
|
|
<li>Added hidControllerIDToOfficial and hidControllerIDFromOfficial (previously they were internal functions).</li>
|
|
<li>Added hid:sys service wrappers.</li>
|
|
<li>Changed types for fields in MousePosition to s32.</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li>Added wlan:inf service wrappers.</li>
|
|
<li>Added nifm commands: nifmIsWirelessCommunicationEnabled, nifmIsEthernetCommunicationEnabled, nifmIsAnyForegroundRequestAccepted, nifmPutToSleep, nifmWakeUp, nifmGetInternetConnectionStatus.</li>
|
|
<li>Added nifm:a/nifm:s command: nifmSetWirelessCommunicationEnabled.</li>
|
|
<li>Added nifmSetServiceType, which allows selecting the privilege level of the nifm service (nifm:u/nifm:s/nifm:a).</li>
|
|
<li>Fixed definition of struct ifreq's ifr_flags/ifr_flagshigh fields.</li>
|
|
<li>Fixed IPC bug in bsdRead.</li>
|
|
<li>Corrected nxlinkStdio to return the socket fd instead of zero on success, allowing for it to be closed later on.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added caps:sc/caps:su service wrappers.</li>
|
|
<li>Added nfp:user service wrappers.</li>
|
|
<li>Added lbl commands: lblSetCurrentBrightnessSetting, lblGetCurrentBrightnessSetting, lblEnableAutoBrightnessControl, lblDisableAutoBrightnessControl, lblIsAutoBrightnessControlEnabled.</li>
|
|
<li>Added pmdmntGetServiceSession for retrieving the pm:dmnt session.</li>
|
|
<li>Renamed usbDsEndpoint_StallCtrl to usbDsEndpoint_Stall.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 2.0.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Introduced multi-wait infrastructure, allowing for user mode synchronization primitives. Users are advised to stop using svcWaitSynchronization(Single) manually and move to the new wait API.</b></li>
|
|
<li><b>Added <a class="el" href="structUEvent.html" title="User-mode event object.">UEvent</a> and <a class="el" href="structUTimer.html" title="User-mode timer object.">UTimer</a> user mode synchronization primitives.</b></li>
|
|
<li><b>Added full list of KernelError result codes, as well as a KERNELRESULT macro.</b></li>
|
|
<li>Added eventActive.</li>
|
|
<li>Added tmemCreateFromMemory.</li>
|
|
<li>Added syscall: svcTerminateDebugProcess.</li>
|
|
<li>Corrected syscalls: svcMapPhysicalMemory, svcUnmapPhysicalMemory.</li>
|
|
<li>Fixed bug in ipcParseDomainResponse.</li>
|
|
<li>Fixed bug in ipcPrepareHeaderForDomain.</li>
|
|
<li>Added serviceSendObject.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li><b>Major refactor and redesign of the entire libnx graphics stack.</b><ul>
|
|
<li><b>Introduced <a class="el" href="structNWindow.html" title="Native window structure.">NWindow</a> (Native Window) API</b>, allowing for direct management of a renderable surface. It is possible to create a <a class="el" href="structNWindow.html" title="Native window structure.">NWindow</a> out of a <a class="el" href="structViLayer.html">ViLayer</a> (or other sources of an IGBP binder object); or use nwindowGetDefault to retrieve the default native window.</li>
|
|
<li><b>Introduced <a class="el" href="structFramebuffer.html" title="Framebuffer structure.">Framebuffer</a> API</b> (used for creating and managing a software rendered framebuffer on a <a class="el" href="structNWindow.html" title="Native window structure.">NWindow</a>).</li>
|
|
<li><b>Deprecated the old gfx API, scheduled for removal in the next libnx release</b>. Users are advised to move to the new <a class="el" href="structNWindow.html" title="Native window structure.">NWindow</a> API (and <a class="el" href="structFramebuffer.html" title="Framebuffer structure.">Framebuffer</a> if applicable). Please see switch-examples for more information on how to use this new API.</li>
|
|
<li><b>The default software rendered console backend now uses <a class="el" href="structNWindow.html" title="Native window structure.">NWindow</a> and <a class="el" href="structFramebuffer.html" title="Framebuffer structure.">Framebuffer</a></b> instead of the old gfx API. Therefore, it is now <b>mandatory</b> to use consoleUpdate/consoleExit.</li>
|
|
<li>Optimized software console scrolling; now using 128-bit copies and RGB565 framebuffer format (which requires 50% less memory bandwidth).</li>
|
|
<li>Completely redesigned Nvidia ioctl wrapper objects, now more closely matching official logic.</li>
|
|
<li>Miscellaneous fixes in vi, parcel, IGBP, etc code.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added vi commands: viSetContentVisibility, viGetDisplayLogicalResolution, viSetDisplayMagnification, viSetDisplayPowerState, viSetDisplayAlpha, viGetDisplayMinimumZ, viGetDisplayMaximumZ, viSetLayerSize, viSetLayerZ, viSetLayerPosition.</li>
|
|
<li>Improved ViScalingMode enum.</li>
|
|
</ul>
|
|
<h3>applet</h3>
|
|
<ul>
|
|
<li><b>Introduced libapplet (library applet) launching support</b>.</li>
|
|
<li><b>Added swkbd (software keyboard) libapplet wrapper</b>.</li>
|
|
<li>Added applet commands: appletPopLaunchParameter, appletPushToGeneralChannel, appletSetTerminateResult, appletSetMediaPlaybackState.</li>
|
|
<li>Added account applet wrapper: accountGetPreselectedUser.</li>
|
|
<li>Added libappletRequestHomeMenu, libappletRequestJumpToSystemUpdate.</li>
|
|
<li>Added <a class="el" href="structAppletStorage.html" title="applet IStorage">AppletStorage</a> object.</li>
|
|
<li>Added <a class="el" href="structAppletHolder.html" title="LibraryApplet state.">AppletHolder</a> object.</li>
|
|
<li>Added <a class="el" href="structLibAppletArgs.html" title="CommonArguments.">LibAppletArgs</a> object.</li>
|
|
<li>Corrected and added missing AppletFocusState and AppletFocusHandlingMode enum values.</li>
|
|
<li>Now using domains for am services.</li>
|
|
</ul>
|
|
<h3>usb</h3>
|
|
<ul>
|
|
<li>Added usb:hs service wrapper.</li>
|
|
<li>Now using domains for usb:ds.</li>
|
|
<li>Miscellaneous fixes and refactoring.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added fs command: fsIsExFatSupported.</li>
|
|
<li>Added hid command: hidAcquireNpadStyleSetUpdateEventHandle.</li>
|
|
<li>Added ldr:ro and ro:dmnt service wrappers.</li>
|
|
<li>Added ns:dev commands: nsdevLaunchProgram, nsdevGetShellEvent, nsdevGetShellEventInfo, nsdevTerminateApplication, nsdevPrepareLaunchProgramFromHost, nsdevLaunchApplication, nsdevLaunchApplicationWithStorageId, nsdevIsSystemMemoryResourceLimitBoosted, nsdevGetRunningApplicationProcessId, nsdevSetCurrentApplicationRightsEnvironmentCanBeActive.</li>
|
|
<li>Added pm:dmnt commands: pmdmntGetDebugProcesses, pmdmntDisableDebug.</li>
|
|
<li>Added pm:shell commands: pmshellTerminateProcessByProcessId, pmshellGetProcessEvent, pmshellGetProcessEventInfo, pmshellFinalizeDeadProcess, pmshellClearProcessExceptionOccurred, pmshellNotifyBootFinished, pmshellBoostSystemMemoryResourceLimit.</li>
|
|
<li>Renamed ldrDmntGetNsoInfos to ldrDmntGetModuleInfos.</li>
|
|
<li>Changed psm wrapper to dynamically open and close IPC sessions instead of leaving one open at all times. Introduced <a class="el" href="structPsmSession.html" title="IPsmSession.">PsmSession</a> object, used to manage this session.</li>
|
|
<li>Fixed IPC bug in splSetConfig.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Added sys/poll.h as an alias for poll.h.</li>
|
|
<li>Fixed compatibility with C99.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.6.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Added support for userland exception handling</b>.</li>
|
|
</ul>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li><b>Added support for retrieving file timestamps on 3.0.0+</b>.</li>
|
|
<li>Added fsdevSetArchiveBit, for setting the archive bit on a directory.</li>
|
|
<li>Added fs commands: fsFsQueryEntry, fsFsSetArchiveBit, fsDeviceOperatorIsGameCardInserted, fsDeviceOperatorGetGameCardHandle, fsDeviceOperatorGetGameCardAttribute.</li>
|
|
</ul>
|
|
<h3>audio</h3>
|
|
<ul>
|
|
<li><b>Added hwopus service wrapper</b>.</li>
|
|
<li><b>Added audren support for system versions prior to 3.0</b> by automatically using the latest available revision number for a given version (1.0.0-4.0.0+).</li>
|
|
<li>Added auddev (IAudioDevice) service wrapper.</li>
|
|
</ul>
|
|
<h3>hid</h3>
|
|
<ul>
|
|
<li><b>Added support for SL/SR buttons on right JoyCons</b>.</li>
|
|
<li>Added HidJoyHoldType enum.</li>
|
|
<li>Changed hid to use hidSetNpadJoyHoldType during init/exit.</li>
|
|
</ul>
|
|
<h3>other services</h3>
|
|
<ul>
|
|
<li>Added psc (psc:m) service wrapper.</li>
|
|
<li>Added spsm service wrapper.</li>
|
|
<li>Added pcv service wrapper.</li>
|
|
<li>Added lbl service wrapper.</li>
|
|
<li>Added i2c service wrapper.</li>
|
|
<li>Added gpio service wrapper.</li>
|
|
<li>Added bpc commands: bpcGetSleepButtonState.</li>
|
|
<li>Added setsys commands: setsysBindFatalDirtyFlagEvent, setsysGetFatalDirtyFlags.</li>
|
|
<li>Added fatal commands: fatalWithContext.</li>
|
|
<li>Added PsmBatteryVoltageState enum.</li>
|
|
<li>Added SetSysFlag_RequiresRunRepairTimeReviser.</li>
|
|
<li>Added appletSetFocusHandlingMode (previously it existed but it was not exposed).</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.5.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Improved service IPC support for domains</b>.</li>
|
|
<li>Added RandomSeed HBABI key handling, which fixes broken/identical random number generation output when launching homebrew NROs multiple times with nx-hbloader.</li>
|
|
<li>Added <a class="el" href="structBarrier.html" title="Barrier structure.">Barrier</a> synchronization primitive.</li>
|
|
<li>Added threadGetCurHandle.</li>
|
|
<li>Fixed several C11 thread support standard compliance issues.</li>
|
|
<li>Fixed virtmem handling on 1.x.</li>
|
|
<li>Fixed ProcessState enumeration names and descriptions.</li>
|
|
<li>Fixed bug in eventCreate.</li>
|
|
<li>Fixed bug in jitCreate.</li>
|
|
</ul>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li>fsp-srv and fsp-ldr services:<ul>
|
|
<li><b>Now using domains for IPC</b>, which solves problems related to having a large number of filesystem resources open.</li>
|
|
<li>Added fsdevGetDeviceFileSystem.</li>
|
|
</ul>
|
|
</li>
|
|
<li>time services:<ul>
|
|
<li>Added timezone support.</li>
|
|
<li>The user system clock is now used by default instead of the network clock.</li>
|
|
<li>The user system clock is now also used as fallback if the specified system clock override (__nx_time_type) is not available.</li>
|
|
</ul>
|
|
</li>
|
|
<li>applet services:<ul>
|
|
<li><b>Added support for running with nx-hbloader as an Application</b>.</li>
|
|
<li><b>Added support for enabling video recording</b> when running as an Application, although it needs a specific flag set in the host title's nacp to be accessible.</li>
|
|
<li>Added appletLockExit/appletUnlockExit, which can be used to ensure that user processes get a chance to finish before the application is closed by the system.</li>
|
|
<li>Added __nx_applet_exit_mode, used to control the application's behavior on close (including self-exit support).</li>
|
|
<li>Added AppletHookType_OnExitRequest.</li>
|
|
<li>Fixed issues related to running as an Application.</li>
|
|
<li>Minor internal refactor to use <a class="el" href="structEvent.html" title="Kernel-mode event structure.">Event</a> objects instead of raw handles.</li>
|
|
</ul>
|
|
</li>
|
|
<li>hid (input) services:<ul>
|
|
<li><b>Added SixAxisSensor support</b>.</li>
|
|
<li>Vibration partially fixed, although it needs disable/enable in system settings for it to be effective.</li>
|
|
<li>Added hidSetSupportedNpadStyleSet, hidSetSupportedNpadIdType, hidSetNpadJoyHoldType, hidGetControllerType, hidGetControllerColors, hidIsControllerConnected.</li>
|
|
</ul>
|
|
</li>
|
|
<li>USB services:<ul>
|
|
<li><b>Major refactor which adds support for 5.x+ systems</b>.</li>
|
|
<li>Added usbCommsSetErrorHandling, which now disables USB fatal errors by default.</li>
|
|
</ul>
|
|
</li>
|
|
<li>audin/audout services: minor internal refactor to use <a class="el" href="structEvent.html" title="Kernel-mode event structure.">Event</a> objects instead of raw handles.</li>
|
|
<li>Added pm:shell command: pmshellGetApplicationPid.</li>
|
|
<li>Added set:sys command: setsysGetFirmwareVersion.</li>
|
|
<li>Added psm commands: psmGetBatteryVoltageState, psmBindStateChangeEvent, psmWaitStateChangeEvent, psmUnbindStateChangeEvent.</li>
|
|
<li>fatal services: on systems prior to 3.x, FatalType_ErrorReportAndErrorScreen is used again due to FatalType_ErrorScreen not existing. <b>Beware of fatal errors on 1.x and 2.x</b> since they now create reports again (instead of silently hanging the system).</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li><b>Refactored console device</b>:<ul>
|
|
<li>The console now has an interface that can be used to override the default software rendering backend with a custom implementation (including GPU rendering).</li>
|
|
<li>The software renderer now takes care of calling gfxInitDefault, gfxSwapBuffers, gfxExit. gfx functions should not be called explicitly by console users.</li>
|
|
<li>Added consoleUpdate and consoleExit.</li>
|
|
<li>Old code is still compatible, although it is <b>strongly advised</b> to update it to use the new functions instead of calling gfx functions directly.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed NvFence regression on 1.x.</li>
|
|
<li>Increased default nvservices transfermem heap size to 8 MB, which allows for more complex GPU homebrew to run.</li>
|
|
<li>Changed nvBufferCreate to support different settings for cpu/gpu cacheability.</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li>Added nifm handling to socketInitialize/Exit, which makes gethostid/gethostname work by default.</li>
|
|
<li>Added missing declarations to netinet/in.h.</li>
|
|
<li>Changed nifm to use IPC domains.</li>
|
|
<li>Optimized select/poll to avoid using malloc when possible.</li>
|
|
<li>Fixed poll to accept -1 fds.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.4.1</h1>
|
|
<ul>
|
|
<li>Restored compatibility with C++11.</li>
|
|
<li>Added <a class="el" href="thread__context_8h.html" title="AArch64 register dump format and related definitions.">arm/thread_context.h</a>, containing definitions for the <a class="el" href="structThreadContext.html" title="Thread context structure (register dump)">ThreadContext</a> structure.</li>
|
|
<li>Added new syscalls: svcGetDebugThreadContext, svcSetDebugThreadContext, svcGetThreadContext3.</li>
|
|
<li>Fixed signature of svcContinueDebugEvent, which changed in 3.0. The old signature is available as svcLegacyContinueDebugEvent.</li>
|
|
<li>Added threadDumpContext.</li>
|
|
<li>Added ipcCloneSession.</li>
|
|
<li>Added gfxAppendFence.</li>
|
|
<li>psm services: added psmGetChargerType.</li>
|
|
<li>pm:dmnt services: fixed for 5.0+.</li>
|
|
<li>nv services: added nvIoctl2 & handling for a separate cloned session, matching official software.</li>
|
|
<li>Nvidia ioctl wrappers: added nvioctlNvhostAsGpu_UnmapBuffer, nvioctlNvmap_Free, nvioctlChannel_KickoffPb</li>
|
|
<li>Further changes, fixes and improvements to the experimental Nvidia wrapper objects, which are used by the ported mesa/nouveau-based OpenGL stack.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.4.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Added support for C11 threads</b>, which are preemptively multitasked and load balanced across cores.</li>
|
|
<li><b>Added <a class="el" href="structEvent.html" title="Kernel-mode event structure.">Event</a> object</b>, which wraps kernel revent/wevent handles with optional autoclear.</li>
|
|
<li><b>Changed CondVar interface</b> to have the mutex be passed to condvarWait* instead of condvarInit, which is consistent with both the concept of a condition variable and with other common threading APIs.</li>
|
|
<li>Added armGetSystemTick (which supersedes svcGetSystemTick), and armGetSystemTickFreq.</li>
|
|
<li>Added rwlockInit.</li>
|
|
<li>Added kernelAbove600.</li>
|
|
<li>Added system calls: svcGetThreadCoreMask, svcSetThreadCoreMask.</li>
|
|
<li>Added MOD0 header to binaries compiled with libnx.</li>
|
|
<li>Fixed semaphoreTryWait.</li>
|
|
<li>Fixed a memory leak in tmemCreate.</li>
|
|
</ul>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li>Added bpc service (used for rebooting and shutting down the console).</li>
|
|
<li>Added psm service (needed to get the battery status).</li>
|
|
<li>Added ns commands: nsListApplicationRecord, nsListApplicationContentMetaStatus.</li>
|
|
<li>Minor enhancements to applet service:<ul>
|
|
<li>Added missing AppletType_SystemApplet initialization in applet code.</li>
|
|
<li>Added appletBeginBlockingHomeButton and appletEndBlockingHomeButton.</li>
|
|
</ul>
|
|
</li>
|
|
<li>The <a class="el" href="structEvent.html" title="Kernel-mode event structure.">Event</a> object is now used to return system events from service wrappers when possible, also providing the correct autoclear mode.</li>
|
|
<li>Corrected fsOpenFileSystem and fsOpenFileSystemWithId.</li>
|
|
<li>Corrected a bug in hidInitializeVibrationDevices.</li>
|
|
<li>Corrected a bug in socket error conversion.</li>
|
|
<li>Fixed nifm not initializing properly for < 3.0.0.</li>
|
|
<li><a class="el" href="structService.html" title="Service object structure.">Service</a> manager (sm) session now closes properly.</li>
|
|
<li>hid, irs, vi and nv services now acquire a reference to applet services.</li>
|
|
</ul>
|
|
<h3>audio</h3>
|
|
<ul>
|
|
<li><b>Added audren:u</b> service wrapper (presently requiring 3.0.0+, will be addressed in a future update).</li>
|
|
<li><b>Added <a class="el" href="structAudioDriver.html">AudioDriver</a></b> wrapper around audren, providing a higher level interface that can be used to mix and play sounds.</li>
|
|
</ul>
|
|
<h3>graphics</h3>
|
|
<ul>
|
|
<li><b>Major rewrite and refactoring work in the gfx wrapper</b> which brings reliability and usability improvements:<ul>
|
|
<li><b>Removed GfxMode_TiledSingle</b> mode due to it causing problems and potential (temporary) hardware damage.</li>
|
|
<li><b>The default transform behavior no longer vertically flips the framebuffer</b>.</li>
|
|
<li><b>Removed gfxSetDrawFlip</b> since it's no longer needed thanks to the change in the default transform behavior.</li>
|
|
<li><b>It is not necessary to call gfxWaitForVsync in most situations</b> because gfxSwapBuffers already implicitly synchronizes with the display (this is mandated by the Android surface compositor and buffer producer system).</li>
|
|
<li><b>Dequeue fatal errors should be solved</b>.</li>
|
|
<li>Simplified and streamlined logic.</li>
|
|
<li>nvgfx stripped down to the minimum that is actually necessary to allocate framebuffers.</li>
|
|
<li><a class="el" href="structBinder.html">Binder</a> logic now more closely matches both Android code and official software.</li>
|
|
<li>Proper fence and event wait code is now used.</li>
|
|
</ul>
|
|
</li>
|
|
<li><b>Console code no longer performs a forced flush/swap/vblank wait when printing a newline</b> due to performance reasons. Users of the console device must make sure that gfxFlushBuffers and gfxSwapBuffers are periodically called, preferably in the main loop of the application.</li>
|
|
<li><b>Added experimental wrapper objects for the Nvidia driver</b>, needed in order to use the GPU. These wrappers are still in RE phase and will be subject to change in a future release.</li>
|
|
<li><b>Major redesign of the VI service wrapper</b> that allows future users to use VI directly to create a display layer.</li>
|
|
<li><a class="el" href="structBinder.html">Binder</a> services & buffer producer wrappers were enhanced and redesigned.<ul>
|
|
<li><a class="el" href="structBinder.html">Binder</a> now holds less state and always uses the VI binder relay service session.</li>
|
|
<li>Added Module_LibnxBinder error codes.</li>
|
|
<li>IGraphicBufferProducer binder service wrappers now have the <code>bq</code> prefix and explicitly accept a <a class="el" href="structBinder.html">Binder</a> object.</li>
|
|
<li>Added bqCancelBuffer.</li>
|
|
<li>bqGraphicBufferInit was renamed to bqSetPreallocatedBuffer.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Enhancements and additions to nvidia ioctl wrappers.</li>
|
|
<li>Added definitions for some more Android enumerations.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>The <code>ALIGN</code> macro was removed in favor of the C11/C++11 alignas attribute.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.3.2</h1>
|
|
<ul>
|
|
<li><b>Fixed critical IPC bug in fatalWithType that rendered the type parameter ignored (necessary for error report creation prevention)</b>.</li>
|
|
</ul>
|
|
<h1>Version 1.3.1</h1>
|
|
<ul>
|
|
<li><b>Fixed regression in cwd handling</b>.</li>
|
|
<li>Added fs commands: fsOpenBisStorage, fsOpenBisFilesystem, fsOpenFileSystem(WithId), fsStorageWrite/Flush/GetSize/SetSize, fsFsCleanDirectoryRecursively.</li>
|
|
<li>Added ncm commands: ncmContentMetaDatabaseList/DisableForcibly, ncmContentStorageXYZ family of functions.</li>
|
|
<li>HID service now works in sysmodules.</li>
|
|
<li>Fixed errors in ncmContentMetaDatabaseListApplication and ncmContentMetaDatabaseSet/Get.</li>
|
|
<li>Fixed data races in kernel version detection functions.</li>
|
|
<li>Fixed return-from-main to honor atexit handlers.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.3.0</h1>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li><b>Fixed critical bug in mutexUnlock</b>.</li>
|
|
<li><b>Expanded support for standard time functions</b>, including gettimeofday, clock functions and nanosleep.</li>
|
|
<li>Added <a class="el" href="structSemaphore.html" title="Semaphore structure.">Semaphore</a> synchronization primitive.</li>
|
|
<li>Added system calls: svcGetDebugThreadParam, svcGetThreadList.</li>
|
|
<li>Improved IpcParsedCommand support for domain message information.</li>
|
|
</ul>
|
|
<h3>services</h3>
|
|
<ul>
|
|
<li><b>fatalSimple no longer creates an error report that gets uploaded to Nintendo's servers</b> - also added fatalWithType.</li>
|
|
<li>Added ncm service.</li>
|
|
<li>Added nifm service.</li>
|
|
<li>Added ns:dev service.</li>
|
|
<li>Added ns:vm service.</li>
|
|
<li>Added account commands: accountGetUserCount, accountListAllUsers.</li>
|
|
<li>Added ns commands: nsGetTotalSpaceSize, nsGetFreeSpaceSize.</li>
|
|
<li>Added pm:shell commands: pmshellTerminateProcessByTitleId.</li>
|
|
<li>Added set:sys commands: setsysGetFlag, setsysSetFlag, setsysGetSettingsItemValueSize, setsysGetSettingsItemValue, setsysGetColorSetId, setsysSetColorSetId.</li>
|
|
</ul>
|
|
<h3>sockets</h3>
|
|
<ul>
|
|
<li><b>Fixed errno</b> - now properly translating Horizon BSD errno to newlib errno values.</li>
|
|
<li>Fixed bugs in inet_pton4, ioctl, socketDeserializeAddrInfo.</li>
|
|
<li>Fixed _IOC macro.</li>
|
|
<li>Fixed netdb.h by readding socklen_t definition.</li>
|
|
<li>Implemented gethostid and gethostname.</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Added overridable userAppInit and userAppExit functions that add to instead of replacing __appInit and __appExit.</li>
|
|
<li>Now embedding GNU build id in compiled binaries, used by creport crash dumps (such as those generated by Atmosphère's creport implementation).</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.2.1</h1>
|
|
<ul>
|
|
<li>Added hidMergeSingleJoyAsDualJoy.</li>
|
|
<li>Added setGetSerialNumber.</li>
|
|
<li>Renamed the JIT syscalls to match their official names.</li>
|
|
<li>Fixed bug in nvgfxEventWait that prevented the graphics subsystem from working on certain conditions.</li>
|
|
<li>Fixed JIT support on 5.0.0+ by falling back on JitType_CodeMemory.</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.2.0</h1>
|
|
<h3>filesystem</h3>
|
|
<ul>
|
|
<li>Revise fsdev initialization<ul>
|
|
<li>Removed fsdevInit/Exit</li>
|
|
<li>Now automatically initializing fsdev state on first mount</li>
|
|
<li>Added fsdevMountSdmc (replaces fsdevInit)</li>
|
|
<li>Added fsdevUnmountAll (replaces fsdevExit)</li>
|
|
</ul>
|
|
</li>
|
|
<li>Add FS commands for SD card state change detection.</li>
|
|
<li>Added mounting for SystemSaveData.</li>
|
|
<li>Use <a class="el" href="structService.html" title="Service object structure.">Service</a> for all fs sessions. This fixes an issue with savedata commit.</li>
|
|
<li>Implemented FsSaveDataIterator (aka ISaveDataInfoReader).</li>
|
|
<li>Changed ContentStorageId in FsSave to SaveDataType.</li>
|
|
<li>Added FsStorageId.</li>
|
|
<li>Added enums FsSaveDataSpaceId and FsSaveDataType.</li>
|
|
<li>Removed FS_MOUNTSAVEDATA_INVAL_DEFAULT/FS_MOUNTSYSTEMSAVEDATA_INVAL_DEFAULT.</li>
|
|
</ul>
|
|
<h3>hid updates</h3>
|
|
<ul>
|
|
<li>Added hidGetHandheldMode().</li>
|
|
<li>Added <a class="el" href="hid_8h.html#a07c2aad01ab257c8069fa01546e67378" title="This is the same as hidSetNpadJoyAssignmentModeSingle, except HidNpadJoyDeviceType_Left is used for t...">hidSetNpadJoyAssignmentModeSingleByDefault()</a></li>
|
|
<li><a class="el" href="hid_8h.html#a714aaf0be6d35594f27bd2101f0a2ec2" title="Use this if you want to use a pair of joy-cons as a single HidNpadIdType_No*.">hidSetNpadJoyAssignmentModeDual()</a>.</li>
|
|
<li>Check <a class="el" href="service_8h.html#aa0e36f8dbc761d82a6d7c9cc2799f2dc" title="Returns whether a service has been initialized.">serviceIsActive()</a> in <a class="el" href="hid_8h.html#ad09721bcf85875a352deb851e1030899" title="Exit hid. Called automatically during app exit.">hidExit()</a>.</li>
|
|
<li>Use <a class="el" href="hid_8h.html#a714aaf0be6d35594f27bd2101f0a2ec2" title="Use this if you want to use a pair of joy-cons as a single HidNpadIdType_No*.">hidSetNpadJoyAssignmentModeDual()</a> for all controllers during <a class="el" href="hid_8h.html#a0e5d081e76c905413512d9931cc52072" title="Initialize hid. Called automatically during app startup.">hidInitialize()</a>/hidExit().</li>
|
|
<li>Full hid vibration support for pre-4.0.0 hid commands.</li>
|
|
</ul>
|
|
<h3>network</h3>
|
|
<ul>
|
|
<li>add support for finding nxlink host</li>
|
|
<li>improve bsdSockets support</li>
|
|
<li>added nxlink stdio redirection</li>
|
|
<li>Fix IN6_IS_ADDR macros in netinet/in.h (#68)</li>
|
|
</ul>
|
|
<h3>system</h3>
|
|
<ul>
|
|
<li>Added support for Services: fsp-ldr, fsp-pr, lr, csrng, spl, pm:info, sm:m, pl, ns, all Loader services.</li>
|
|
<li>IPC: Improve information available in IpcParsedCommand</li>
|
|
<li>Added system calls: svcCreatePort, svcConnectToPort, svcUnmapProcessMemory, svcGetSystemInfo, svcSetThreadPriority, svcGetCurrentProcessorNumber, svcSignalEvent, svcSendSyncRequestWithUserBuffer, svcSendAsyncRequestWithUserBuffer, svcGetThreadId, svcReplyAndReceiveWithUserBuffer, svcCreateEvent, svcReadWriteRegister, svcCreateInterruptEvent, svcMapDeviceAddressSpaceByForce, svcTerminateProcess, svcMap/UnmapPhysicalMemory(Unsafe), svcSetUnsafeLimit, svcGetProcessInfo, svcGetResourceLimitLimitValue, svcGetResourceLimitCurrentValue, svcGetProcessInfo, svcCreateResourceLimit, svcSetResourceLimitLimitValue.</li>
|
|
<li>IPC improvements and fixes.</li>
|
|
<li>Added <a class="el" href="env_8h.html#a329ac3596407963243429e4953c981ff" title="Returns the Result from the last NRO.">envGetLastLoadResult()</a>.</li>
|
|
</ul>
|
|
<h3>improve usbComms support</h3>
|
|
<ul>
|
|
<li>Allow using multiple interfaces.</li>
|
|
<li>Added usbComms Ex funcs.</li>
|
|
<li>Use <a class="el" href="structRwLock.html" title="Read/write lock structure.">RwLock</a>.</li>
|
|
</ul>
|
|
<h3>buildsystem</h3>
|
|
<ul>
|
|
<li>Add rules for building .npdm, .nsp and .kip.<ul>
|
|
<li>Now building .npdm from .json if specified</li>
|
|
<li>.pfs0 now embeds previously built npdm if available</li>
|
|
<li>.nsp accepted as an alternative file extension to .pfs0</li>
|
|
<li>.kip can be built from elf and json descriptor (subset of .npdm)</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added impl for accountProfile*. If the inital smGetService fails, attempt to use 'acc:u0'.</li>
|
|
<li>Added nsGetApplicationControlData. Imported <a class="el" href="nacp_8h.html" title="Control.nacp structure / related code for nacp.">nacp.h</a> from nx-hbmenu with adjustments.</li>
|
|
<li>Add ipcAddSendSmart, ipcAddRecvSmart, use where applicable</li>
|
|
<li>Audio input implementation and audio output fixes.</li>
|
|
<li>add portlibs bin folder to path</li>
|
|
</ul>
|
|
<h3>miscellaneous</h3>
|
|
<ul>
|
|
<li>Detect 5.0.0 properly.</li>
|
|
<li>Added pmshell init/exit and pmshellLaunchProcess.</li>
|
|
<li>Introduce atomics<ul>
|
|
<li>atomicIncrement32</li>
|
|
<li>atomicDecrement32</li>
|
|
<li>atomicIncrement64</li>
|
|
<li>atomicDecrement64</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added nacpGetLanguageEntry and SetLanguage_Total.</li>
|
|
<li>[irs] Name image transfer config variables</li>
|
|
<li>Further improvements to overall system stability and other minor adjustments to enhance the user experience.</li>
|
|
</ul>
|
|
<h1>Version 1.1.0</h1>
|
|
<ul>
|
|
<li>Fixed a race condition in HID causing sporadic incorrect key-releases when using hidKeysHeld().</li>
|
|
<li>Unix socket API is now supported.</li>
|
|
<li>Time support, currently only UTC.</li>
|
|
<li>Added hidMouseRead().</li>
|
|
<li>Added settings-services support.</li>
|
|
<li>Added gfxSetDrawFlip() and gfxConfigureTransform().</li>
|
|
<li>Proper (libnx-side) RomFS support. Initial fsStorage support / other fs(dev) changes.</li>
|
|
<li>The console font is now 16x16.</li>
|
|
<li>Fixed args parsing with quotes.</li>
|
|
<li>Various audio adjustments + added <a class="el" href="audout_8h.html#a5b36098c76e81095a059ee3872598260" title="Waits for audio playback to finish.">audoutWaitPlayFinish()</a>.</li>
|
|
<li>More irs (irsensor) support.</li>
|
|
<li>Added usleep().</li>
|
|
<li>General system stability improvements to enhance the user's experience. </li>
|
|
</ul>
|
|
</div></div><!-- contents -->
|
|
</div><!-- PageDoc -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
|
</small></address>
|
|
</body>
|
|
</html>
|