Skip to content

Releases: capstone-engine/capstone

Version 6.0.0-Alpha1

30 Sep 15:19
97db712
Compare
Choose a tag to compare

With the v6 release we added a new update mechanism called Auto-Sync. This is a huge step for Capstone, because it allows for easy module updates, easier addition of new architectures, easy features addition and guarantees less faulty disassembly.

This release adds a huge amount of new architectures, extensions, bug fixes and quality of life improvements.

Almost all the work was sponsored by RizinOrg. This release would have simply not happened without them.

The developers with the biggest contributions were (alphabetically):

There are also multiple smaller additions

And of course there were many more improvements done by other contributors, which add to the release just as the ones above. For a full list of all the developers, please see the below.

With all that said, we hope you enjoy the new release!

Breaking Changes

  • ARM64 was renamed to AArch64 everywhere (compatibility header is provided).
  • SysZ was renamed to SystemZ everywhere (compatibility header is provided).
  • Changes happened especially to the PPC, ARM and AArch64 API, as well as changes to enumeration values and stucts.
    Please be sure to read the release guide carefully!
    You can find all the breaking changes and justifications for them!

What's New

  • LoongArch, HPPA and Alpha support added.
  • AArch64, SystemZ and Mips updated to LLVM 18.
  • NanoMips extension added.
  • ARM and PPC updated to LLVM 16.
  • Exotic PPC PairedSingle extension added.
  • Instruction formats for PPC, SystemZ and LoongArch added.
  • Instruction alias support added.
  • RISCV operand access information added.
  • Testing was rewritten from scratch.
  • All tests are run with the address sanitizer.
  • Several improvements to the API of the ARM, AArch64 and PPC modules.

For an exhaustive list, see the release guide at https://github.com/capstone-engine/capstone/blob/next/docs/cs_v6_release_guide.md

  • Thank you @FinnWilkinson for testing the AArch64 module and its extensions so thoroughly.

What's Changed

Read more

Version 5.0.3

20 Aug 15:05
5cca005
Compare
Choose a tag to compare

Highlight

  • This release mainly fixes a series of issues with python wheel in the previous version.

What's Changed

  • [v5] Updates and fixes to the Python wheel builder workflow by @Rot127 in #2440
  • Relocatable package v5 by @mrexodia in #2447
  • [v5] Wheel build fixes: manylinux1, trigger upload on release, Linux AArch64 by @Rot127 in #2443

Full Changelog: 5.0.2...5.0.3

Version 5.0.2

12 Aug 07:42
eb5b24b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 5.0.1...5.0.2

Version 5.0.1

23 Aug 01:58
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 5.0...5.0.1

Version 5.0

05 Jul 14:58
650e85d
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.0.1...5.0

Version 5.0 post1

05 Jul 15:36
Compare
Choose a tag to compare

This version exists to fix the issue of the same name that we yanked V5.0 on PyPI caused. The code is still the same as V5.0.

Full Changelog: 5.0...5.0-post1

Version 5.0-rc4

18 Jun 12:47
f5e3ecd
Compare
Choose a tag to compare
Version 5.0-rc4 Pre-release
Pre-release

What's Changed

Full Changelog: 5.0-rc3...5.0-rc4

Version 5.0-rc3

17 Jun 03:56
045171f
Compare
Choose a tag to compare
Version 5.0-rc3 Pre-release
Pre-release

What's Changed

New Contributors

Read more

Version 5.0-rc2

28 Feb 14:48
d5141c0
Compare
Choose a tag to compare
Version 5.0-rc2 Pre-release
Pre-release

Improvements:

  • Fix for python publish build (#1844)
  • Modernize CMake and switch to CMake 3.15 (#1841)
  • Fix AArch64 ldapr detailed information (#1840)
  • Fix incorrect MI->ac_idx leading to wrong AArch64 InsnOp access printing (#1845)

Contributors:

Version 5.0-rc1

27 Feb 15:11
5f20052
Compare
Choose a tag to compare
Version 5.0-rc1 Pre-release
Pre-release

New features:

Improvements:

  • Add fixups for aarch64 instructions (#1632 #1655)
  • Add fixups for x86 instructions (#1644 #1657 #1689 1751)
  • Add fixups for m68k instructions (#1663 #1709)
  • Add fixups for m680x instructions (#1695)
  • Add fixups for mips instructions (#1674)
  • Add fixups for mos65xx instructions (#1702)
  • Add fixups for systemz instructions (#1679)
  • Add fixups for risc-v instructions (#1682 #1690 #1691)
  • Add fixups for ppc instructions (#1687 #1688)
  • Add cmake config and export targets (#1637)
  • Fix issues in Makefiles (#1639)
  • Fix issues about cmake builds (#1649 #1659)
  • MSVC tooling updates (#1651)
  • Fix crash when using skipdata with NULL mnemonic(#1703)
  • Fix python only use ascii character (#1704)
  • Add support for aarch64 distributions (#1720)
  • Fix registry access for several versions of pop such as POPDS, POPSS, etc. (#1725)
  • Fix registry access on cmov instructions (#1727)
  • Fix -Wstringop-truncation warnings (#1730)
  • Fix always return the same type from regs_read (#1736)
  • Fix inconsistent behavior of Mips_option() (#1744)
  • Fix pythonic bug (#1745)
  • Fixes the (pip) Python Module build on FreeBSD (#1750)
  • Enable detection and build on all BSD systems (#1753)
  • Fix the displacement offset for moffset-encoded operands (#1754)
  • Update cmake_minimum_required to version 2.8.12 (#1756)
  • Fixed typos in compilation steps (#1762)
  • Fix build android (#1765)
  • Support disassembling bytes from memoryview (#1773)
  • Fixed library extension to build properly under CYGWIN (#1791)
  • Add Capstone Engine Documentation (#1794)
  • Fix eflags effects for adc/sbb (#1798)
  • Update x86 operand access information (#1801)
  • CI automatically build release tarball (#1802)
  • Dont format sstreams when there's nothing to format (#1805)
  • Fix warning about Unused variables (#1815)
  • Fix insn initialization when instruction have no operands or have a prefix (#1816)
  • Avoid abort() if x86 not supported (#1818)
  • Fix unterminated string regression (#1819)
  • Fixed incorrect operand access on x86 instruction vmovdqu (#1823)

Contributors: