Releases: misson20000/twili
Twili 1.4.0
This version supports up to 12.0.3. CI is still upset with me I think, so no OSX twib binaries again.
Changelog
Changes
- Now uses Exosphere for version inference instead of set:sys.
Fixes
- Added support for TIPC pgl on 12.0.0+
Twili 1.4.0 (preview 2)
Stealth release! Very busy these past few months. Very few changes. CI is not happy with me and I don't have time to sort that out so some twib artifacts will be missing and the Twili build here is hand-compiled on my machine rather than generated by CI as usual. 11.x.x USB support is the main attraction here, and for those of you building from source, you'll need the libtransistor changes.
Changelog
Additions
- Added a watchdog to hopefully get some better insight into sysmodule deadlocks.
- Added error code lookup to twib (
twib err
).
Changes
- Core dumps do not include IO mappings anymore.
- AppletTracker now defers reading hbmenu until it is needed, so you can run Twili without hbmenu and it won't crash.
- Updated libtransistor.
Fixes
- Fixed USBBridge on 11.0.0+.
Twili 1.4.0 (preview 1)
It's been a while since I did a release, and 10.0.0 support has been waiting for a long time. This is a version that I can finally feel comfortable claiming that it at least mostly works on firmware version 10.0.2. There are still a few rough edges and things to make sure I didn't break (namely, support for firmware versions below 10.0.0) before I do an actual release, but I wanted to get this out there since it's been waiting for so long. Have fun, and ping me with any problems!
(also, sorry for no osx twib binaries, there's some travis issue that I have yet to work out and that I didn't want to let block this release)
Changelog
Additions
- Added launchd integration for twibd (thanks to @liuervehc).
- Added SystemVersion class for tracking firmware versions.
- Added firmware 10.0.0 (PGL) support.
- Added more verbose output for ITwibDebugger calls.
- Added 'none' to storage locations understood by twib launch (thanks to @averne).
- Added twib-get-module-info command.
- Added 'monitor get base' command to gdb stub.
Removals
- Removed obsolete process_creation module.
- Removed title 0100000000006482 ECS hack (no longer necessary).
Changes
- Updated to c++20.
- Moved most service code to Services.cpp, templated by firmware version.
- Refactored error handling code to not use exceptions.
- Made ECS confusion a critical error.
- Added ShellTracker output to twib debug.
Fixes
- Fixed 0-byte responses (thanks to @comex).
- Fixed systemd unit file for twibd.
- Fixed twib run command line issue ("Managed process has been removed.").
- Fixed ShellTracker receiving process notifications on the wrong thread.
- Fixed killing and terminating suspended launch processes.
- Fixed LaunchProgram response.
- Fixed ITwibDebugger wait_handle destruction order.
- Fixed inverted reboot unsafe logic.
Twili 1.3.0
This release includes lots of fixes. Most notably, ManagedProcess has been replaced with ShellProcess. This fixes filesystem access issues when running sysmodules through twib run
. Additionally, USB logging has been disabled by default. This means that hbmenu will now launch without USB connected.
Changelog
Additions
- Added library list to gdb stub.
- Added more filesystem commands (#84, #81).
- Added support for reading and writing FPU registers in GDB stub.
- Added ShellProcess.
Removals
- Removed ManagedProcess.
Changes
- Applet process can now be requested to exit before they launch.
- Raised applet process stack size.
- Updated for Atmosphere changes.
- Refactored a lot of AppletProcess functionality into ECSProcess and TrackedProcess.
- Disabled USB logging by default, since it confuses people.
- Reboot command now uses spsm and reboots to payload.
- Twili aborts now show better information on the fatal error screen.
Fixes
- Fixed USB objects being closed when TCP connects (#70).
- Worked around
LIBUSB_ERROR_ACCESS
when udev is slow to change permissions. - Fixed
HandleReadMemory
not returning after error (#74). - Fixed GDB multiprocessing thread reporting (supposedly improves IDA compatibility).
- Fixed Xcode clang asan build error.
- Fixed systemd service file to use absolute path.
- Fixed
libusb_claim_interface
failure path. - Fixed gdb stub 'ENN`' error reporting.
- Fixed blockingconcurrentqueue on macOS.
- Fixed several twibd deadlocks.
- Fixed MonitoredProcess swallowing unknown errors.
- Fixed leaking twili.ini file handle (this lets you
twib sd push
twili.ini) - Worked around debugging PID 0.
Twili 1.2.1
GDB stub improvements and fixes.
Changelog
- Fixed nullptr deref in service when debugging non-monitored processes.
- Improved threading support and stop reasons for gdb.
- Improved set current thread to 0.
- Improved thread name reading.
- Improved qOffsets for non-monitored processes (picks
main
instead ofrtld
and searches on-device now).
Twili 1.2.0
Please let me know of any issues you have! Discord (you can find me in the ReSwitched discord) or the GBAtemp thread are preferable to the issue tracker, which I'd like to reserve for confirmed bugs and issues.
Changelog
- Added GDB stub (Linux/OSX only).
- Added
twib push
andtwib pull
. - Added suspended launch for
twib run
. - Fixed AppletTracker hbmenu null pointer dereference.
- Thread handles for libnx managed processes need to be 64-bit for some reason.
- Vastly reduced memory usage (~29MiB -> 9MiB).
- Added buffering for
TwibPipe
(should improve performance for short/frequent writes by avoiding round trip over USB). - Refactored platform-specific code in twib/twibd.
- Made twib daemon exit cleanly on SIGINT.
- Made twib daemon block
list-devices
until it's done probing (fixes race condition on startup). - Fixed TCPBackend for Windows.
- Fixed MessageConnection
out_buffer
synchronization on Windows. - Fixed
twib run
on Windows. - Fixed twib for cygwin/msys2.
- Made
PostBufferSync
timeout infinite (fixes random fatals). - Improved device unplug error handling.
Twili 1.2.0 Release Candidate 1
Changelog
- Added GDB stub (Linux/OSX only).
- Added
twib push
andtwib pull
. - Added suspended launch for
twib run
. - Fixed AppletTracker hbmenu null pointer dereference.
- Thread handles for libnx managed processes need to be 64-bit for some reason.
- Vastly reduced memory usage (~29MiB -> 9MiB).
- Added buffering for
TwibPipe
(should improve performance for short/frequent writes by avoiding round trip over USB). - Refactored platform-specific code in twib/twibd.
- Made twib daemon exit cleanly on SIGINT.
- Made twib daemon block
list-devices
until it's done probing (fixes race condition on startup). - Fixed TCPBackend for Windows.
- Fixed MessageConnection
out_buffer
synchronization on Windows. - Fixed
twib run
on Windows. - Fixed twib for cygwin/msys2.
- Made
PostBufferSync
timeout infinite (fixes random fatals). - Improved device unplug error handling.
Twili 1.1.0
Beware of breaking protocol changes! You will need to update Twib and Twibd, and, if you're using lanayru, ruby-twib.
Changelog
Additions
- Added libusbK-based contrib driver package.
- Added support for libnx applications that use romfs.
- Improved support for
NextLoadPath
. - Added configuration system.
- Added
twib launch
command.
Removals
Changes
- Refactored request handling to support streaming.
- Changed some packets for consistency.
twib run
now streams NROs into files, allowing them to be much bigger.- Refactored TwibPipe.
Fixes
- Fixed compatiblity with Atmosphere-loader compiled with new versions of libnx by stubbing IFileSystem#GetFileTimeStampRaw.
- Fixed thread handles for HBABI.
- Fixed regression in TCPBackend::AddDevice caused by Windows changes.
- Fixed IAppletController premature closing.
- Fixed applet launch failures breaking ECS and causing confusion.
- Fixed TCP device ID calculation.
- Fixed
RequestForAppletToGetForeground
errors. - Fixed 2000-0000 in USB.
Twili 1.1.0 Prerelease 1
Insert release notes here.
Beware of breaking protocol changes; make sure you update twib and twibd, and, if you're using lanayru, you will need to install ruby-twib from git since I'm not pushing a new version until the protocol changes are part of an actual release.
Twili 1.0.1
This is mostly a bugfix/minor update release.
Changelog
Additions
- Added
PrintDebugInfo
command - AppletHost has more SVC permissions now
Removals
Changes
- Twili is now distributed as exefs.nsp
- We use the new npdm-json format now.
- Twib should no longer be quite as
exit()
happy - USBBridge catches
std::bad_alloc
and returnsLIBTRANSISTOR_ERR_OUT_OF_MEMORY
responses instead of blowing up. - Use upstream switch-tools (don't need my elf2kip fork anymore)
Fixes
- Managed processes now register service access control (rip sm:h on new versions of Atmosphere)
- AppletTracker now clears created process queue when control applet is lost
- Use applet memory instead of application memory so games can launch on 5.0.0+ with Twili running in background.