Releases: Decompollaborate/rabbitizer
Releases · Decompollaborate/rabbitizer
1.12.5
1.12.4
[1.12.4] - 2024-12-16
Fixed
- Try to fix Python releases again, again.
- Why are we still here? Just to suffer?
1.12.3
[1.12.3] - 2024-12-16
Fixed
- Try to fix Python releases again.
- It failed due to outdated Github Action.
1.12.2
[1.12.2] - 2024-12-16
Fixed
- Fix Python releases.
- It failed due to outdated Github Action.
1.12.1
[1.12.1] - 2024-12-15
Added
- Set MSRV (minimal supported Rust version) to 1.66.1.
- Prebuilt binaries for Python 3.13.
Changed
- Python 3.9 or above is now required.
Fixed
- Fix some instructions missing their corresponding AccessType.
- Fix some new clippy lints.
1.12.0
[1.12.0] - 2024-07-21
Added
RegistersTracker.getJrRegData
.- Does what the old
RegistersTracker.getJrInfo
method does, but it returns
an actual object instead of an nullable tuple and offers extra information.
- Does what the old
RegistersTracker.processBranch
.- Allows tracking which registers has been used to decide branching.
Deprecated
RegistersTracker.getJrInfo
.- Use
RegistersTracker.getJrRegData
instead.
- Use
1.11.2
[1.11.2] - 2024-07-16
Added
- Implement the
rfe
("Restore From Exception") instruction.
Fixed
- Fix
pmfhl
,pmthl
,vilwr
andviswr
missing the.fmt
specifier.
1.11.1
[1.11.1] - 2024-07-12
Added
Instruction.isFunctionCall
: Checks if the given instruciton is a function
call.- If
config.toolchainTweaks_treatJAsUnconditionalBranch
is turned off then
j
instructions will be considered as function calls too. Useful for tail
call optimizations.
- If
Fixed
- Fix registers not being cleared after a
j
tail call, which was messing with
the pointer pairing logic.
1.11.0
Added
- New global configuration:
misc_expandJalr
: IfTrue
thenjalr
instructions will be always emitted
with two operands. Otherwise therd
register will be omitted if it is
$ra
and will be used explicitly if it isn't$ra
. Defaults toFalse
.
Fixed
- Fix crash in Rust bindings for to Rust 1.78.
- This happens because
slice.get_unchecked
now performs OoB checks in debug
builds, which is is triggered when trying to dereference unsized C arrays.
- This happens because
- Fix heap corruption in Rust bindings (#62)
- The C API was returning string sizes without accounting for the null
terminator, which produced issues on the Rust size which was not manually
including it.
- The C API was returning string sizes without accounting for the null
1.10.0
[1.10.0] - 2024-04-22
Added
- Add PSP's ALLEGREX instruction set support.
- The global
regNames.r4000AllegrexVfpuControlNamedRegisters
option controls
if named registers should be used for the VFPU control registers of the R4000
ALLEGREX. Utils.floatRepr_32From16
function.- Converts a half float to a single precision float.
- Both the argument and the return value correspond to their hex
representation instead of an actual float.
Changed
- Cleanups in tests code.
Fixed
- Fix typo on C++ bindings.
- The registers getters of the R5900 instruction class was checking for the
wrong operands.
- The registers getters of the R5900 instruction class was checking for the