Skip to content

Releases: Decompollaborate/rabbitizer

2.0.0-alpha.3

23 May 13:20
Compare
Choose a tag to compare
2.0.0-alpha.3 Pre-release
Pre-release

[2.0.0-alpha.3] - 2025-05-23

Added

  • First public release of rab-disasmdis.
    • Disassemble MIPS instructions directly in your terminal, using the power of
      rabbitizer.

2.0.0-alpha.2

23 May 12:49
Compare
Choose a tag to compare
2.0.0-alpha.2 Pre-release
Pre-release

[2.0.0-alpha.2] - 2025-04-02

Added

  • Add support for a few missing R5900EE instructions.
    • cfc2.i, ctc2.i, qmfc2.i and qmtc2.i.
  • Add more opcode properties.
    • adds_registers
    • subs_registers
    • ors_registers
    • ands_registers
  • Add AccessType.is_unaligned.
  • Instruction.clear_operand and Instruction.clear_operand_self. Allows
    clearing by setting to zero a field of an instruction by using the given
    operand.
  • Implementations for ValuedOperand: Hash, Eq and Ord.

Changed

  • Change some R5900EE opcodes to use their suffix.
    • Specifically cfc2, ctc2, qmfc2 and qmtc2 are changed to cfc2.ni,
      ctc2.ni, qmfc2.ni and qmtc2.ni.
  • Change AccessType UNALIGNED_WORD to
    UNALIGNED_WORD_LEFT/UNALIGNED_WORD_RIGHT pairs.
  • Change AccessType UNALIGNED_DOUBLEWORD to
    UNALIGNED_DOUBLEWORD_LEFT/UNALIGNED_DOUBLEWORD_RIGHT pairs.

Removed

  • Remove maybe_is_move opcode property.

1.13.0

04 Apr 17:06
1df4709
Compare
Choose a tag to compare

[1.13.0] - 2025-04-04

Added

  • Add support for a few missing R5900 instructions.
    • cfc2.i, ctc2.i, qmfc2.i and qmtc2.i.

Changed

  • Change some R5900 opcodes to use their suffix.
    • Specifically cfc2, ctc2, qmfc2 and qmtc2 are changed to cfc2.ni,
      ctc2.ni, qmfc2.ni and qmtc2.ni.

Fixed

  • Allow building Python bindings with Clang versions that do not support some
    some warning flags.
    • Specifically -Wno-nonnull-compare.

2.0.0-alpha.1

02 Apr 21:09
Compare
Choose a tag to compare
2.0.0-alpha.1 Pre-release
Pre-release

[2.0.0-alpha.1] - 2025-04-02

Changed

  • rabbitizer has been fully rewritten in Rust.
  • The API has changed and now every function and method are snake_case.
  • Some old subsystems were renamed to a more fitting name.
  • ISA version can now be selected at decoding time. There's no longer the need
    to have to deal with MIPS II and up instruction when decoding a MIPS I binary.
  • And many others!

Removed

  • API/Bindings for Python 3, C and C++.
    • These bindings are planned for a future release.
  • RegistersTracker and family of analyzis structs.

1.12.6

06 Feb 19:39
5a112c5
Compare
Choose a tag to compare

[1.12.6] - 2025-02-06

Fixed

  • R5900: Fix decoding the imm5 operand of the viaddi instruction as a signed
    value instead of decoding it as an unsigned one.

1.12.5

16 Dec 13:34
b9242fe
Compare
Choose a tag to compare

[1.12.5] - 2024-12-16

Fixed

  • Try to fix Python releases again, again, again.
    • This time even the updated cibuildhweels example was wrong.

1.12.4

16 Dec 12:55
571e73a
Compare
Choose a tag to compare

[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

16 Dec 12:19
7e2765b
Compare
Choose a tag to compare

[1.12.3] - 2024-12-16

Fixed

  • Try to fix Python releases again.
    • It failed due to outdated Github Action.

1.12.2

16 Dec 11:43
9eec378
Compare
Choose a tag to compare

[1.12.2] - 2024-12-16

Fixed

  • Fix Python releases.
    • It failed due to outdated Github Action.

1.12.1

15 Dec 23:38
e3cc554
Compare
Choose a tag to compare

[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.