Capstone Versions Save

Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), BPF, Ethereum VM, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.

5.0.1

8 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0...5.0.1

5.0-post1

9 months ago

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: https://github.com/capstone-engine/capstone/compare/5.0...5.0-post1

5.0

9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/capstone-engine/capstone/compare/4.0.1...5.0

5.0-rc4

10 months ago

5.0-rc3

10 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0-rc2...5.0-rc3

5.0-rc2

2 years ago

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:

  • @stevielavern
  • @mrexodia
  • @kabeor

5.0-rc1

2 years ago

New features:

  • Add arch BPF (#1388)
  • Add arch RISCV (#1401)
  • Add arch WASM (#1359)
  • PyPI workflow (#1645)
  • Option to generate install target (#1698 #1700)
  • Swift binding (#1707)
  • Add CI Test support (#1797)
  • Add benchmark (#1811)

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:

  • @ekilmer
  • @mcmtroffaes
  • @sh1r4s3
  • @emoon
  • @chfl4gs
  • @heshpdx
  • @hmoenck
  • @cyanpencil
  • @NicolasDerumigny
  • @trofi
  • @maximumspatium
  • @junchao-loongson
  • @carenas
  • @notyourusualaccountname
  • @rth7680
  • @StalkR
  • @aeflores
  • @TobiasFaller
  • @XVilka
  • @meme
  • @zydeco
  • @catenacyber
  • @michalsc
  • @urbas
  • @keenk
  • @kazarmy
  • @learn-more
  • @veritas501
  • @trufae
  • @cederom
  • @Quentin01
  • @jranieri-grammatech
  • @scribam
  • @huettenhain
  • @LBJ-the-GOAT
  • @wheremyfoodat
  • @Jaysonicc
  • @huettenhain
  • @syscl
  • @bezita
  • @Smartsmurf
  • @tmfink
  • @kazarmy
  • @rofl0r
  • @bSr43
  • @wtdcode
  • @dropTableUsers42
  • @carenas
  • @owlxiao
  • @Mxz297
  • @SpikeI
  • @catenacyber
  • @david942j
  • @fanfuqiang
  • @aquynh
  • @kabeor

4.0.2

3 years ago

Release 4.0.2 is a stable release version, with bugfixes in the core & some bindings.

Core

  • Windows kernel-mode driver support
  • Fix installation path on FreeBSD and DragonFly

cstool

  • Add armv8, ppc32 & thumbv8 modes
  • Print instruction ID

X86

  • Support CS_OPT_UNSIGNED for ATT syntax
  • Fix operand size for some instructions
  • Fix LOCK prefixes
  • Recognize xacquire/xrelease prefix
  • Fix call/jmp access mode of mem operand
  • Add ENDBR32, ENDBR64 to reduce mode
  • Other minor fixes

ARM64

  • Support CS_OPT_UNSIGNED
  • Fix register access flags for memory instructions
  • Fix UMOV vess

ARM

  • Update writeback for STR_POST_REG

M68K

  • Store correct register value in op.reg_pair

PowerPC

  • BDZLA is absolute branch

SystemZ

  • Fix truncated 64bit imm operand
  • Fix base/index printing

Python

  • Fix skipdata struct being destroyed
  • Add repr for capstone.CsInsn

Java

  • Fix Java bindings to use pointers instead of longs

Ocaml

  • Fix x86_op record

4.0.1

5 years ago

This release fixes some minor bugs of v4.0, as well as introduces some improvements for Python binding.

[ Core ]

  • Fix some issues for packaging (Debian, Gentoo).
  • Better support for building with Mingw.
  • cstool has new option -s to turn on skipdata mode.
  • cstool -v now report build settings of the core.
  • Add suite/capstone_get_setup.c so users can integrate with their own code to retrieve Capstone settings at build time.

[ Arm ]

  • Fix 4.0 regression: the tbh [r0, r1, lsl #1] instruction sets the operand.shift.value back again.
  • Remove ARM_REG_PC group for BX instruction.

[ X86 ]

  • Fix: endbr32 and endbr64 instructions are now properly decoded in both CS_MODE_32 and CS_MODE_64.

[ M680X ]

  • Fix some issues reported by clang-analyzer.

[ Python ]

  • Fix skipdata setup.
  • Add getter/setter for skipdata_mnem, skipdata_callback.

4.0

5 years ago

[ Core ]

  • New APIs: cs_regs_access()
  • Add new options for cs_option(): CS_OPT_MNEMONIC & CS_OPT_UNSIGNED & CS_OPT_SYNTAX_MASM.
  • Various updates & bugfixes for all architectures.
  • Add 4 new architectures: EVM, M68K, M680X & TMS320C64x.
  • Add new group types: CS_GRP_PRIVILEGE & CS_GRP_BRANCH_RELATIVE.
  • Add new error types: CS_ERR_X86_MASM.

[ X86 ]

  • Add XOP code condition type in x86_xop_cc.
  • Add some info on encoding to cs_x86 in cs_x86_encoding.
  • Add register flags update in cs_x86.{eflags, fpu_flags}
  • Change cs_x86.disp type from int32_t to int64_t.
  • Add new groups: X86_GRP_VM & X86_GRP_FPU.
  • Lots of new instructions (AVX)

[ ARM64 ]

  • Add instruction ARM64_INS_NEGS & ARM64_INS_NGCS.

[ Mips ]

  • Add mode CS_MODE_MIPS2.

[ PPC ]

  • Change cs_ppc_op.imm type from int32_t to int64_t.
  • Add new groups: PPC_GRP_ICBT, PPC_GRP_P8ALTIVEC, PPC_GRP_P8VECTOR & PPC_GRP_QPX.
  • Lots of new instructions (QPX among them)

[ Sparc ]

  • Change cs_sparc_op.imm type from int32_t to int64_t.

[ Binding ]

  • New bindings: PowerShell & VB6