# Changelog ## Version 1.3.0 #### system * **Fixed critical bug in mutexUnlock**. * **Expanded support for standard time functions**, including gettimeofday, clock functions and nanosleep. * Added Semaphore synchronization primitive. * Added system calls: svcGetDebugThreadParam, svcGetThreadList. * Improved IpcParsedCommand support for domain message information. #### services * **fatalSimple no longer creates an error report that gets uploaded to Nintendo's servers** - also added fatalWithType. * Added ncm service. * Added nifm service. * Added ns:dev service. * Added ns:vm service. * Added account commands: accountGetUserCount, accountListAllUsers. * Added ns commands: nsGetTotalSpaceSize, nsGetFreeSpaceSize. * Added pm:shell commands: pmshellTerminateProcessByTitleId. * Added set:sys commands: setsysGetFlag, setsysSetFlag, setsysGetSettingsItemValueSize, setsysGetSettingsItemValue, setsysGetColorSetId, setsysSetColorSetId. #### sockets * **Fixed errno** - now properly translating Horizon BSD errno to newlib errno values. * Fixed bugs in inet_pton4, ioctl, socketDeserializeAddrInfo. * Fixed _IOC macro. * Fixed netdb.h by readding socklen_t definition. * Implemented gethostid and gethostname. #### miscellaneous * Added overridable userAppInit and userAppExit functions that add to instead of replacing __appInit and __appExit. * Now embedding GNU build id in compiled binaries, used by creport crash dumps (such as those generated by Atmosphère's creport implementation). * Further improvements to overall system stability and other minor adjustments to enhance the user experience. ## Version 1.2.1 * Added hidMergeSingleJoyAsDualJoy. * Added setGetSerialNumber. * Renamed the JIT syscalls to match their official names. * Fixed bug in nvgfxEventWait that prevented the graphics subsystem from working on certain conditions. * Fixed JIT support on 5.0.0+ by falling back on JitType_CodeMemory. * Further improvements to overall system stability and other minor adjustments to enhance the user experience. ## Version 1.2.0 #### filesystem * Revise fsdev initialization * Removed fsdevInit/Exit * Now automatically initializing fsdev state on first mount * Added fsdevMountSdmc (replaces fsdevInit) * Added fsdevUnmountAll (replaces fsdevExit) * Add FS commands for SD card state change detection. * Added mounting for SystemSaveData. * Use Service for all fs sessions. This fixes an issue with savedata commit. * Implemented FsSaveDataIterator (aka ISaveDataInfoReader). * Changed ContentStorageId in FsSave to SaveDataType. * Added FsStorageId. * Added enums FsSaveDataSpaceId and FsSaveDataType. * Removed FS_MOUNTSAVEDATA_INVAL_DEFAULT/FS_MOUNTSYSTEMSAVEDATA_INVAL_DEFAULT. #### hid updates * Added hidGetHandheldMode(). * Added hidSetNpadJoyAssignmentModeSingleByDefault() * hidSetNpadJoyAssignmentModeDual(). * Check serviceIsActive() in hidExit(). * Use hidSetNpadJoyAssignmentModeDual() for all controllers during hidInitialize()/hidExit(). * Full hid vibration support for pre-4.0.0 hid commands. #### network * add support for finding nxlink host * improve bsdSockets support * added nxlink stdio redirection * Fix IN6_IS_ADDR macros in netinet/in.h (#68) #### system * Added support for Services: fsp-ldr, fsp-pr, lr, csrng, spl, pm:info, sm:m, pl, ns, all Loader services. * IPC: Improve information available in IpcParsedCommand * 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. * IPC improvements and fixes. * Added envGetLastLoadResult(). #### improve usbComms support * Allow using multiple interfaces. * Added usbComms Ex funcs. * Use RwLock. #### buildsystem * Add rules for building .npdm, .nsp and .kip. * Now building .npdm from .json if specified * .pfs0 now embeds previously built npdm if available * .nsp accepted as an alternative file extension to .pfs0 * .kip can be built from elf and json descriptor (subset of .npdm) * Added impl for accountProfile\*. If the inital smGetService fails, attempt to use 'acc:u0'. * Added nsGetApplicationControlData. Imported nacp.h from nx-hbmenu with adjustments. * Add ipcAddSendSmart, ipcAddRecvSmart, use where applicable * Audio input implementation and audio output fixes. * add portlibs bin folder to path #### miscellaneous * Detect 5.0.0 properly. * Added pmshell init/exit and pmshellLaunchProcess. * Introduce atomics * atomicIncrement32 * atomicDecrement32 * atomicIncrement64 * atomicDecrement64 * Added nacpGetLanguageEntry and SetLanguage_Total. * [irs] Name image transfer config variables * Further improvements to overall system stability and other minor adjustments to enhance the user experience. ## Version 1.1.0 * Fixed a race condition in HID causing sporadic incorrect key-releases when using hidKeysHeld(). * Unix socket API is now supported. * Time support, currently only UTC. * Added hidMouseRead(). * Added settings-services support. * Added gfxSetDrawFlip() and gfxConfigureTransform(). * Proper (libnx-side) RomFS support. Initial fsStorage support / other fs(dev) changes. * The console font is now 16x16. * Fixed args parsing with quotes. * Various audio adjustments + added audoutWaitPlayFinish(). * More irs (irsensor) support. * Added usleep(). * General system stability improvements to enhance the user's experience.