Releases: devkitPro/wut
Releases · devkitPro/wut
wut 1.5.0
New features / improvements
- wutnewlib: implement abort, assert and assert_func by @Maschell in #337 and updated for devkitPPC r45.1 in #359
Bug fixes
CafeOS related changes
- Add missing language/region values to nn::erreula and nn::swkbd by @Maschell in #336
- nn_nets2: Add somemopt by @GaryOderNichts in #338
- coreinit/im: Add IM_SetDeviceState and missing
IMEvent
s by @GaryOderNichts in #343 - Add AVM and TVE headers, functions and enums by @Andrew1Hawes in #345
- nn/hpad: Add initial headers by @GaryOderNichts in #344
- vpad: Fix documentation for VPADRead return value by @GaryOderNichts in #346
- nn/temp: Fix TEMPTargetPreference by @GaryOderNichts in #349
- coreinit/mcp: Fix MCPAppType for DRC and DRH by @GaryOderNichts in #350
- nsysccr/cdc: Add CCRCDCPerSetUicConfig by @GaryOderNichts in #351
- nsysccr/cdc: Add software functions by @GaryOderNichts in #353
- nn_ccr/sys: Add fw update functions by @GaryOderNichts in #355
- padscore: Add missing functions for 7-controller mode by @GaryOderNichts in #352
- nsysccr/cdc: Implement CCRCDCSysSetDrhState by @Maschell in #356
- nn/sl: Implement more functions/classes by @Maschell in #354
- coreinit: Add MEMCheckExpHeap and MEMCheckHeap by @Maschell in #358
wut 1.4.0
What's Changed
- nfc: Add initial header by @GaryOderNichts in #321
- nsysccr/cdc: Add CCRCDCWowlWakeDrc and CCRCDCWakeStateEnum by @Andrew1Hawes in #320
- Add NTAG by @GaryOderNichts in #326
- Add system time update functions by @GaryOderNichts in #328
- Update camera.h by @Fangal-Airbag in #329
- Add missing GX2 enum values by @GaryOderNichts in #327
- Add missing optnames and multicast support by @GaryOderNichts in #331
- procui: Fix ProcUIInForeground and ProcUIIsRunning comments by @Andrew1Hawes in #330
- Finalize compile commands by @thearst3rd in #332
New Contributors
- @Andrew1Hawes made their first contribution in #320
- @thearst3rd made their first contribution in #332
v1.3.2
wut 1.3.1
What's Changed
- wutmalloc: Always align allocated memory to 0x40 to match newlib behaviour by @Maschell in #316
- devoptab_fsa: use c++ headers by @WinterMute in #317
- Implement __syscall_getreent by @GaryOderNichts in #318
- coreinit: Add some missing field to the OSThread struct by @Maschell in #319
wut 1.3.0
wut 1.3.0
Important changes
- newlib syscalls refactored for latest devkitPPC
CafeOS related changes
coreinit:
- Fix OSDynLoad_Error to be a 32bit value by @Maschell in #305
- Fix OSDynLoad_EntryReason values by @Exzap in #307
- Add MCP_CompatLoadAVFile by @GaryOderNichts in #309
- Add KernelInfo0/KernelInfo6 structs by @Maschell in #310
- MCP_GetSystemVersion by @GaryOderNichts in #311
- Separate vpadbase from vpad by @GaryOderNichts in #312
- Add missing MCP functions/enums & add more fields to LaunchInfo struct by @Maschell in #313
New features / improvements
wut v1.2.0
Important changes
- wutstdc++: Decrease the stack size for gthread threads from 4 MiB to 128 KiB by @Maschell in #269
- coreinit: Change the function declaration of OSDynLoad_FindExport by @gblues in #289
Important bug fixes
- wutdevoptab: Fix memory leak in open() by @Maschell in #261
- wutstdc++: Check if memory allocations were successful on thread creation by @Maschell in #268
- wutstdc++: Fix potential memory leak when thread creation fails by @Maschell in #271
- wutstdc++: Fix __wut_cond_timedwait by @GaryOderNichts in #281
- libwhb: Fix length check in ConsoleAddLine by @Maschell in #284
- wutcrt: Fix the trap instruction by @Maschell in #302
- whb/console: Add missing MEMRecordStateForFrmHeap by @GaryOderNichts in #272
New features / improvements
- wutdevoptab: Check size of a read/write before checking the buffer alignment to reduce the number of read/write calls by @Maschell in #273
- Add IR support by @GaryOderNichts in #288
- Adjust C/C++ flags (disable exceptions/rtti) by @fincs
CafeOS related changes
coreinit:
- Add const to paths in coreinit/filesystem.h by @Xpl0itU in #262
- Add missing IM_* functions from coreinit by @GaryOderNichts in #263
- Add missing FSARequest/FSAResponse structs by @Maschell in #270
- Add missing coreinit/context.h include in coreinit/interrupts.h by @Maschell in #279
- Update FSStateChangeParams and add offset checks by @NessieHax in #287
- Add CopyData functions by @GaryOderNichts in #283
- Add OSLaunchTitle* functions by @GaryOderNichts in #293
- Add missing (internal) OSDynload structs by @Maschell in #296
- Fix missing import in rendevouz.h by @Maschell in #297
- Add missing functions for setting the context by @Maschell in #298
- Add OSGetCodegenVirtAddrRange by @Maschell in #300
- Add __OSConsoleWrite by @Maschell in #299
- Add some kernel related functions by @Maschell in #295
- Add missing fields and enum definitions to OSThread and OSContext by @Maschell in #294
- Add FSARequestChangeOwner by @Xpl0itU in #291
- Add more languages to LanguageType by @Xpl0itU in #290
- Add smd functions/structs by @GaryOderNichts in #301
Other:
- nn_ccr: Add several functions by @GaryOderNichts in #264
- nsysccr: Add several functions by @GaryOderNichts in #265
- gx2: Add several definitions for Multi/Double DRC mode by @GaryOderNichts in #266
- nn::Result: Add missing modules by @GaryOderNichts in #267
- nn_nfp: Update functions, structs and add documentation by @GaryOderNichts in #275
- nn_nfp: Add declarations for amiibo settings by @GaryOderNichts in #277
- sysapp: Add argument functions and _SYSDirectlySwitchTo by @GaryOderNichts in #276
- sysapp: Add missing functions and cleanup structs by @GaryOderNichts in #282
- camera: Add Camera lib (camera.rpl) by @Fangal-Airbag in #280
wut v1.1.1
Important changes
- Changed license to zlib to avoiding licensing issues when linking against wut in non-GPL projects. (#257)
Important bug fixes
- Fixed stack alignment to match PPC EABI requirements and avoid undefined behaviour (#248)
- Fixed lseek implementation which caused undefined behaviour on SEEK_CUR (#253)
- Added fix to prevent file-offset overflow in seek implementation (#254)
- Fixed lseek implementation to work correctly on files opend with O_APPEND (#256)
- Fixed and improved usage of atomics (#258)
New features
- Added a trapword to the crt in case a debugger is initalized to allow debugging .rpx compiled with wut (#249)
- Added support for the O_EXCL fopen flag and the following flag combinations:
O_WRONLY | O_CREAT
,O_WRONLY | O_APPEND
andO_WRONLY | O_TRUNC
(#250)
CafeOS related changes
- Fixed invalid ACPInitialize function declaration (#247)
- Fixed order of arguments for FSOpenFileExAsync (#260)
Thanks to @exjam, @fincs, @GaryOderNichts and @Maschell for their contributions to this release.
wut v1.1.0
Important bug fixes
- Added wut_load_bounds section to prevent loader bug (thanks @GaryOderNichts)
- Make sure to always read into/write from a properly aligned buffer in the devoptab to avoid heap corruption (thanks @WinterMute, @Maschell)
- Impovements of the devoptab to properly support time and mode information and many more fixes (thanks @Maschell, @Crementif)
Major new features
- Moved CMake machinery to devkitPro CMake (thanks @fincs)
- Replaced the CafeOS default heap with a custom one (thanks @GaryOderNichts)
Minor new features
- Added support for the Logging Module (thanks @Maschell)
- Added support for nn::erreula library (thanks @exjam)
Minor bug fixes
- Fixed potential memory leaks in nn::swkdb. (thanks @exjam)
- Fixed return types and arguments for several sysapp functions (thanks @Maschell)
- Fixed memalign to ensure the size is aligned (thanks @Maschell)
- Added missing FSUnmount on fini (thanks @Maschell)
- Only call FSUnmount if FSMount was successful in devoptab (thanks @Maschell)
- Replaced dynamic allocation of OSMutex with static table to avoid memory leaks (thanks @fincs)
- Fixed syscall_clock implementation (thanks @Maschell)
- Fixed FSError enum (thanks @Maschell)
- Fixed setting the correct directory/file flag in devoptab (thanks @Maschell)
- Enforce ACPGetTitleMetaXml parameter alignment requirement. (thanks @Maschell)
- Fixed OSThreadLink struct (thanks @Maschell)
Breaking changes
- The CMPTLaunchTitle function declaration has changed to use uint64_t for the title id (thanks @Xpl0itU)
- Removed nlibcurl
- Added missing parameters to multiple functions (e.g. SYSSwitchTo*/ _SYSLaunch*, FSChangeMode/FSChangeModeAsync, HIDSetIdle) (thanks @Maschell)
- Renamed SYSTEM_APP_ID_HOME_MENU to SYSTEM_APP_ID_WII_U_MENU (thanks @Maschell)
CafeOS related changes
- Added FSA structs and function declarations (thanks @Maschell)
- Added mic function declarations (thanks @NessieHax)
- Added missing parameter to FSChangeMode/FSChangeModeAsync (thanks @Maschell)
- Added more coreinit function declarations (thanks @Maschell, @LRFLEW, @NessieHax, @Crementif)
- Added more gx2 function declarations (thanks @GaryOderNichts)
- Added more nn::acp function declarations (thanks @Maschell)
- Added more nn::act function declarations (thanks @Maschell)
- Added more nn::ccr function declarations (thanks @Maschell)
- Added more nn::swkdb function declarations (thanks @Fangal-Airbag, @NessieHax)
- Added more nsyshid function declarations (thanks @Maschell)
- Added more nsyshid function declarations (thanks @Maschell)
- Added more nsysnet function declarations (thanks @Maschell)
- Added more nsysuhs function declarations (thanks @GaryOderNichts)
- Added more padscore function declarations (thanks @LRFLEW)
- Added more procui function declarations (thanks @GaryOderNichts)
- Added more sysapp function declarations (thanks @Maschell)
- Added more vpad function declarations (thanks @Maschell)
- Added nn::cmpt function declarations (thanks @GaryOderNichts)
- Added nn::erreula function declarations (thanks @exjam)
- Added nn::fp function declarations (thanks @NessieHax)
- Added nn::nfp function declarations (thanks @GaryOderNichts)
- Added nn::save function declarations (thanks @GaryOderNichts)
- Added nn::sl function declarations (thanks @Maschell)
- Added nn::spm function declarations (thanks @GaryOderNichts)
- Added nn::temp function declarations (thanks @exjam)
- Added nsyskbd function declarations (thanks @Maschell)
wut 1.0.0-beta12
Important bug fixes
- Numerous improvements to linking rpl/rpx which fixes C++ exceptions and static constructors not working correctly (thanks @fincs)
- Fix
gettod
implementation returning incorrect time (thanks @GaryOderNichts) - Fix
nn::Result
to work correctly on big endian (thanks @luigoalma)
Major new features
- Add Makefile build system support for producing .wuhb files, a new homebrew app bundle format intended to streamline distribution of ancilliary assets (icons, content files) and compatibility with future homebrew loading solutions (thanks @fincs, @Maschell)
- New POSIX compatible socket implementation which aims to make porting existing code to Wii U seamless (thanks @rw-r-r-0644, @GaryOderNichts, @fincs)
Minor bug fixes
- Add missing cleanup of filesystem clients in WHB (thanks @Maschell)
- Optimise
fread
,fwrite
when the provided buffer is already aligned (thanks @Maschell)
CafeOS related changes
- Fix names for
IM{Get,Set}DimEnable{DRC,TV}
(was previously incorrectly capitalised Drc and Tv) - Add missing enum values in gx2 and improve usage of enums from C++ by adding operator| (thanks @fincs)
- Add missing
FSErrorFlag
type for all filesystem functions (thanks @Maschell) - Add more coreinit function declarations (thanks @Maschell)
- Add more nn_ac function declarations (thanks @Maschell)
- Add some nsysuhs function declarations (thanks @Maschell)
- Add more sndcore2 function declarations (thanks @GaryOderNichts)
- Add more vpad function declarations (thanks @Crayon2000)
Wut 1.0.0-beta10
wut 1.0.0-beta10
Breaking changes
- libwhb's network command server (
WHBCommandServer
) functions and the associated<whb/commandserver.h>
header have been removed.
Deprecations
- The CMake macro
wut_create_rpl
has been re-implemented. The new version doesn't create a build target for the rpx/rpl binary, and only regenerates the rpx/rpl when actually necessary. The new syntax iswut_create_rpl(<TARGET>)
. Deprecated calls in the formwut_create_rpl(file.rpx <TARGET>)
will fall through to the old implementation.
API additions
- Cafe functions
inet_ntoa_r
,inet_ntop
, andinet_pton
have been added to<nsysnet/socket.h>
(thanks @Crayon2000!) - Cafe functions
VPADGetTPCalibratedPointEx
,VPADGetTPCalibrationParam
, andVPADSetTPCalibrationParam
have been added to<vpad/input.h>
. - Cafe functions
OSGetOSID
and__OSGetProcessSDKVersion
have been added to<coreinit/systeminfo.h>
(thanks @Maschell!) - Cafe function
_SYSGetSystemApplicationTitleId
has been added to<sysapp/title.h>
(thanks @Maschell!) - Cafe functions
SYSGetCallerPFID
,_SYSGetSystemApplicationTitleIdByProdArea
, andSYSGetCallerTitleId
have been added<sysapp/title.h>
. - Cafe functions
OSReportVerbose
,OSReportInfo
, andOSReportWarn
have been added to<coreinit/debug.h>
. - New libwhb functions
WHBGfxGetTVColourBuffer
,WHBGfxGetTVDepthBuffer
,WHBGfxGetTVContextState
, and equivalents for the DRC, have been added to<whb/gfx.h>
. - Helper functions have been added to
<gx2/shaders.h>
which can look up shader uniforms by name. - A new header file,
<nn/acp.h>
, has been added for nn_acp's meta.xml functionality (thanks @Maschell!) - Cafe structure
KPADStatus
(from<padscore/kpad.h>
) has been documented, had accelerometer data added, and had nunchuk-specific values added (thanks @Crayon2000!) - Various Cafe structures in
<coreinit/mcp.h>
have been updated with newly-discovered members (thanks @Maschell, again!) - Cafe enum
GX2PrimitiveMode
has been updated to include theLINES_ADJACENCY
,LINE_STRIP_ADJACENCY
,TRIANGLES_ADJACENCY
,TRIANGLE_STRIP_ADJACENCY
,RECTS
, andLINE_LOOP
primitives.
Other changes
- Cafe functions throughout the GX2 headers have had
const
applied as appropriate, allowing for better compiler optimisations. - libwhb's Console and graphics helpers have been refactored to better support Cafe's multitasking and home menu overlay. Applications using WHBConsole can now be backgrounded and resumed without issue.
- Cafe's KPAD library has been documented, WPAD has been partially documented, and various fixes were made to the VPAD documentation (thanks @Crayon2000!)
- CMake now searches for libraries in internal devkitPPC folders, allowing
find_library(m)
(and CMake pkg-config equivalents) to work as expected. - CMake now sets the pkg-config binary to
powerpc-eabi-pkg-config
, installable from thedkp-libs
repo aswiiu-pkg-config
. Application scripts no longer need to setPKG_CONFIG_EXECUTABLE
. - wutstdc++'s threading implementation has been changed to behave more like a pre-emptive scheduler, yielding a thread after 1ms runtime. This applies to
std::thread
and<threads.h>
, not applications working withOSThread
directly.