Skip to content

Releases: devkitPro/wut

wut 1.5.0

24 Apr 12:40
bd0156c
Compare
Choose a tag to compare
New features / improvements
  • wutnewlib: implement abort, assert and assert_func by @Maschell in #337 and updated for devkitPPC r45.1 in #359
Bug fixes
  • wutmalloc: make sure to set errno properly on error by @Maschell in #347
CafeOS related changes

wut 1.4.0

10 Nov 15:31
951ac01
Compare
Choose a tag to compare

What's Changed

New Contributors

v1.3.2

27 Jun 15:11
708bd46
Compare
Choose a tag to compare

What's Changed

  • Implement wut_set_thread_specific/wut_get_thread_specific as weak functions by @Maschell in #324
  • wutdevoptab: Add support for opening files with more flag combinations by @Maschell in #322

wut 1.3.1

04 Jun 10:36
5f42c2c
Compare
Choose a tag to compare

What's Changed

wut 1.3.0

16 Apr 20:02
Compare
Choose a tag to compare

wut 1.3.0

Important changes
  • newlib syscalls refactored for latest devkitPPC
CafeOS related changes

coreinit:

New features / improvements
  • wutdevoptab: Use the FSA API instead of FS to avoid softlocks on errors by @Maschell in #252

wut v1.2.0

17 Feb 20:10
4bb93c7
Compare
Choose a tag to compare
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
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:

Other:

wut v1.1.1

07 Aug 15:09
a8ae667
Compare
Choose a tag to compare
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 and O_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

25 Jul 19:00
8034043
Compare
Choose a tag to compare
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

01 Nov 18:55
Compare
Choose a tag to compare
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

07 Jul 20:54
Compare
Choose a tag to compare

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 is wut_create_rpl(<TARGET>). Deprecated calls in the form wut_create_rpl(file.rpx <TARGET>) will fall through to the old implementation.
API additions
  • Cafe functions inet_ntoa_r, inet_ntop, and inet_pton have been added to <nsysnet/socket.h> (thanks @Crayon2000!)
  • Cafe functions VPADGetTPCalibratedPointEx, VPADGetTPCalibrationParam, and VPADSetTPCalibrationParam 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, and SYSGetCallerTitleId have been added <sysapp/title.h>.
  • Cafe functions OSReportVerbose, OSReportInfo, and OSReportWarn 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 the LINES_ADJACENCY, LINE_STRIP_ADJACENCY, TRIANGLES_ADJACENCY, TRIANGLE_STRIP_ADJACENCY, RECTS, and LINE_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 the dkp-libs repo as wiiu-pkg-config. Application scripts no longer need to set PKG_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 with OSThread directly.