NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2511 most downloaded on PyPI
Capstone disassembly engine
Last release 13 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 2 months
Most releases are documented
notes for 17 of 22 stable releases
1 version withdrawn
withdrawn after publishing
13 years old
37 releases · first in 2014
This is another patch release with multiple instruction fixes and bug fixes.
This is another patch release with multiple instruction fixes and bug fixes.
This release adds an AGENTS.md file and developer AI guidelines.
CS_MODE_X86_AMD and CS_MODE_X86_INTEL. Setting either of these flags willJO/JNO instructions. Please check the release guide for more details.CS_MODE_XTENSA_ESP32S3mcrxr instruction supportNZCV access for MRS/MSR of NZCVVMOVUPS memory operand accessFull Changelog: 6.0.0-Alpha10...6.0.0-Alpha11
v5 to v6Please check out our release guide to get an overview what changed, improved, and how the transition can be made as painless as possible: https://github.com/capstone-engine/capstone/blob/next/docs/cs_v6_release_guide.md
One column per quarter.
Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha10...6.0.0-Alpha11
Fix OOB reads/writes - CVE-2026-55893 & CVE-2026-55894 by @Rot127 in #2968
Enum names of the Alpha architecture are now correctly all upper case.
Because of an old Auto-Sync bug all the enum names were prefixed with Alpha instead of ALPHA
and some contained lower case letters.
Sadly, I just recently recognized that Alpha was effected by that bug.
While this change is very annoying for everybody using the Alpha module, it must be done before the Beta release.
Please excuse the inconvenience!
A simple command to replace almost all of these occurrences in your code base is:
find . -type f -regex ".*\.\(c\|h\)$" -exec sed -i -E "s|Alpha_([A-Z0-9_]+)|ALPHA_\1|g" {} +
Author: @Rot127
RISC-V got a v5 compatibility macro for its header.
With its recent module update CS_MODE_RISCVC was renamed to CS_MODE_RISCV_C to be
more consistent with the other CS_MODE_ enums.
This could break builds against a v5 code base which only has CS_MODE_RISCVC.
Now you can simply define CAPSTONE_RISCV_COMPAT_HEADER before including capstone.h
and CS_MODE_RISCVC will be defined as alias for CS_MODE_RISCV_C
#define CAPSTONE_RISCV_COMPAT_HEADER
#include <capstone/capstone.h>
Author: @moste00
Prevent literal displacement truncation for AArch64 memory operands.
There are AArch64 displacements which are 64bit in size. But aarch64_op_mem.disp was an int32_t.
It was promoted to an int64_t.
Author: @amaanmujawar
Fixed several decoding bugs in the Alpha module.
See #2967 for details.
Author: @mattst88
The RISC-V details now also include the FP rounding mode cs_riscv.rounding_mode.
Author: @moste00
AArch64: Add CS_OPT_SYNTAX_AARCH64_EXPLICIT_WIDE_IMM flag to print shifted MOVN and
MOVZ instructions in their explicit forms instead of using the equivalent MOV aliases.
Example output from cstool:
> cstool aarch64 0xe402a012
mov w4, #-0x170001
> cstool aarch64+explicitwideimm 0xe402a012
movn w4, #0x17, lsl #16
> cstool aarch64+explicitwideimm 0xe402a052
movz w4, #0x17, lsl #16
Author: @amaanmujawar
M68K: Fixed EA decoding error and added ColdFire EMAC_B dual-acc MAC.
Author: @b1llow
v5 to v6Please check out our release guide to get an overview what changed, improved, and how the transition can be made as painless as possible: https://github.com/capstone-engine/capstone/blob/next/docs/cs_v6_release_guide.md
Full Changelog: 6.0.0-Alpha9...6.0.0-Alpha10
Fix GHSA-5m9f-vqcm-g5pr and GHSA-jrw4-wj52-2vw8 found by @sondt99
Full Changelog: 6.0.0-Alpha8...6.0.0-Alpha9
Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha8...6.0.0-Alpha9
This is a patch release with bug fixes and a few new additions.
This is a patch release with bug fixes and a few new additions.
Thanks a lot to all the new contributors helping with this release!
Python Bindings
libcapstone.so now with the RTLD_DEEPBIND flag set.Architectures
reg_access to details.MOVSXD instructions.Full Changelog: 6.0.0-Alpha7...6.0.0-Alpha8
Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha7...6.0.0-Alpha8
This release contains the highly awaited RISC-V module update. Because RISC-V is in such active development the changes compared to the old module are
RISC-V
This release contains the highly awaited RISC-V module update.
Because RISC-V is in such active development the changes compared to the old module are enormous.
Please check out the RISC-V summary in the release guide for an overview.
We expect it to have some bugs so we are grateful for reports!
Capstone 32 bit builds
Capstone is now build and tested on several 32 bit architectures, including i686 Windows.
Consistent error reporting of CS_ERR_MEM
Fix possible NULL-pointer dereferences for out of memory events.
Capstone's API will now always return CS_ERR_MEM if allocations fail.
x86-64: Decoding of conflicting segment overrides was changed to match CPU behavior.
Please see the x86-64 section in the release guide for details.
Full Changelog: 6.0.0-Alpha6...6.0.0-Alpha7
Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha6...gen-changelog
Fixed CVE-2025-68114 and CVE-2025-67873 reported by @Finder16 (see below).
csh and value argument of cs_option are now of type uintptr_t by @kingiler.int64_t by @wargio.This release fixes CVE-2025-68114
and CVE-2025-67873 reported by @Finder16.
Only users who have custom implementations of the skipdata callback or vsnprintf are affected.
Version 6.0.0-Alpha6: January 13th, 2026
decode table being exported globally by @stuxnot in #2814test_poc.c by @Rot127 in #2833Full Changelog: 6.0.0-Alpha5...6.0.0-Alpha6
decode table being exported globally by @stuxnot in https://github.com/capstone-engine/capstone/pull/2814test_poc.c by @Rot127 in https://github.com/capstone-engine/capstone/pull/2833Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha5...6.0.0-Alpha6
The SPARC module was updated to LLVM-18 (please see the Release Guide for details).
The Alpha5 Python packages on PyPi were published by accident with commit 5d989a4 of PR #2765.
The build is equivalent to tag 6.0.0-Alpha5, except for the additions to Changelog.md.
Because Changelog.md is not part of the distributed Python wheels, we didn't republish the packages.
Sorry for any inconvenience.
Full Changelog: 6.0.0-Alpha4...6.0.0-Alpha5
Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha4...6.0.0-Alpha5
Fix wrong version requirement of tricore instructions by @Changqing-JING in #2620
capstone.h by @Rot127 in #2633Full Changelog: 6.0.0-Alpha3...6.0.0-Alpha4
capstone.h by @Rot127 in https://github.com/capstone-engine/capstone/pull/2633Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha3...6.0.0-Alpha4
New ARC module (by @R33v0LT, sponsored by RizinOrg).
Architecture modules
Others
deb and rpm packages (by @AndrewQuijano).Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha2...6.0.0-Alpha3
Update changelog for V6.0.0-Alpha1 by @kabeor in https://github.com/capstone-engine/capstone/pull/2493
LITBASE and assert errors. by @Rot127 in https://github.com/capstone-engine/capstone/pull/2499Full Changelog: https://github.com/capstone-engine/capstone/compare/6.0.0-Alpha1...6.0.0-Alpha2
…carefully! You can find all the breaking changes and justifications for them!
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!
ARM64 was renamed to AArch64 everywhere (compatibility header is provided).SysZ was renamed to SystemZ everywhere (compatibility header is provided).For an exhaustive list, see the release guide at https://github.com/capstone-engine/capstone/blob/next/docs/cs_v6_release_guide.md
AArch64_AM_isSVEMaskOfIdenticalElements by @kazarmy in https://github.com/capstone-engine/capstone/pull/2237union in AArch64_AM_isSVEMaskOfIdenticalElements type punning fix by @kazarmy in https://github.com/capstone-engine/capstone/pull/2238clang-format versions by @kazarmy in https://github.com/capstone-engine/capstone/pull/2242union instead by @kazarmy in https://github.com/capstone-engine/capstone/pull/2257rcl by @Rot127 in https://github.com/capstone-engine/capstone/pull/2330vcmp id by @Rot127 in https://github.com/capstone-engine/capstone/pull/2331assert with CS_ASSERT in modules by @Rot127 in https://github.com/capstone-engine/capstone/pull/2478Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.3...6.0.0-Alpha1
ARM64 was renamed to AArch64 everywhere (compatibility header is provided).SysZ was renamed to SystemZ everywhere (compatibility header is provided).Please be sure to read the release guide carefully! You can find all the breaking changes and justifications for them!
For an exhaustive list, see the release guide at https://github.com/capstone-engine/capstone/blob/next/docs/cs_v6_release_guide.md
AArch64_AM_isSVEMaskOfIdenticalElements by @kazarmy in https://github.com/capstone-engine/capstone/pull/2237union in AArch64_AM_isSVEMaskOfIdenticalElements type punning fix by @kazarmy in https://github.com/capstone-engine/capstone/pull/2238clang-format versions by @kazarmy in https://github.com/capstone-engine/capstone/pull/2242union instead by @kazarmy in https://github.com/capstone-engine/capstone/pull/2257rcl by @Rot127 in https://github.com/capstone-engine/capstone/pull/2330vcmp id by @Rot127 in https://github.com/capstone-engine/capstone/pull/2331assert with CS_ASSERT in modules by @Rot127 in https://github.com/capstone-engine/capstone/pull/2478Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.3...6.0.0-Alpha1
Version 5.0.2: August 20th, 2024
Version 5.0.2: August 12th, 2024
v5.0.1 by @Rot127 in https://github.com/capstone-engine/capstone/pull/2275rcl by @Rot127 in https://github.com/capstone-engine/capstone/pull/2329vcmp id by @Rot127 in https://github.com/capstone-engine/capstone/pull/2332Version 5.0.1: August 23rd, 2023
Version 5.0.0: July 5th, 2023
# prefix to tricore imm operand by @imbillow in https://github.com/capstone-engine/capstone/pull/2070Set correct version number in CS_VERSION_EXTRA .
CS_VERSION_EXTRA.Full Changelog: 5.0.8...5.0.9
Backport of CVE-2026-47143 fix by @Rot127 in #2924
This is a patch release with bug fixes and a few new additions:
libcapstone.so now with the RTLD_DEEPBIND flag set. On some Linux systems this should limit the symbols' scopes to the library, instead of global ones. Useful for tools which have two different Capstone versions in their dependency tree.MOVSXD instructions.Full Changelog: 5.0.7...5.0.8
This release fixes CVE-2025-68114 and CVE-2025-67873 reported by @Finder16 .
This release fixes CVE-2025-68114
and CVE-2025-67873 reported by @Finder16.
Only users who have custom implementations of the skipdata callback or vsnprintf are affected.
Full Changelog: 5.0.6...5.0.7
V5 - Fix sdist build and add CI job for testing it. by @Rot127 in https://github.com/capstone-engine/capstone/pull/2623
Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.5...5.0.6
Fix code missing issue in v5.0.4
Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.3...5.0.4
[v5][SuperH] Fix missing setting detail->sh by @david942j in https://github.com/capstone-engine/capstone/pull/2465
Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.3...5.0.4
This release mainly fixes a series of issues with python wheel in the previous version.
Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.2...5.0.3
Remove deprecated packaging and cython by @twizmwazin in https://github.com/capstone-engine/capstone/pull/2400
v5.0.1 by @Rot127 in https://github.com/capstone-engine/capstone/pull/2275rcl by @Rot127 in https://github.com/capstone-engine/capstone/pull/2329vcmp id by @Rot127 in https://github.com/capstone-engine/capstone/pull/2332Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0.1...5.0.2
[ARM] Fix VFP feature check by @Rot127 in https://github.com/capstone-engine/capstone/pull/2090
Full Changelog: https://github.com/capstone-engine/capstone/compare/5.0...5.0.1
Nothing published for this version
Nothing published for this version
Fix TriCore test by @hamarituc in https://github.com/capstone-engine/capstone/pull/2049
Modernize CMake and switch to CMake 3.15
New features:
Improvements:
Contributors:
Release 4.0.2 is a stable release version, with bugfixes in the core & some bindings.
Release 4.0.2 is a stable release version, with bugfixes in the core & some bindings.
Core
cstool
X86
ARM64
ARM
M68K
PowerPC
SystemZ
Python
Java
Ocaml
This release fixes some minor bugs of v4.0, as well as introduces some improvements for Python binding.
This release fixes some minor bugs of v4.0, as well as introduces some improvements for Python binding.
[ Core ]
[ Arm ]
tbh [r0, r1, lsl #1] instruction sets the operand.shift.value back again.[ X86 ]
[ M680X ]
[ Python ]
Nothing published for this version
Nothing published for this version
Fix the include path for Android builds when building cstool.
[ Core ]
[ X86 ]
[ ARM ]
[ ARM64 ]
[ Mips ]
[ PPC ]
[ Sparc ]
[ SystemZ ]
[ Python binding ]
See http://www.capstone-engine.org/Version-3.0.5-RC2-changelog for details on important changes.
See http://www.capstone-engine.org/Version-3.0.5-RC2-changelog for details on important changes.
[ Core ]
[ X86 ]
[ ARM ]
[ ARM64 ]
[ PowerPC ]
[ Sparc ]
[ Python binding ]
[ Java binding ]
[ PowerShell ]
Version 3.0.4: July 15th, 2015
[ Library ]
[ X86 ]
[ PowerPC ]
[ Mips ]
[ Arm ]
[ XCore ]
[ Python ]
Version 3.0.3: May 08th, 2015
[ Library ]
[ X86 ]
[ Arm ]
[ Sparc ]
[ Python binding ]
Version 3.0.2: March 11th, 2015
[ Library ]
[ X86 ]
[ Arm ]
[ Mips ]
[ MSVC ]
[ Python binding ]
Version 3.0.1: February 03rd, 2015
[ X86 ]
[ Arm64 ]
[ Arm ]
[ PowerPC ]
[ Python binding ]
Version 3.0: November 19th, 2014
[ API ]
[ Bindings ]
[ Architectures ]
[ X86 ]
[ Mips ]
[ ARM ]
[ ARM64 ]
[ PowerPC ]
[ Other features ]
Version 2.1.2: April 3rd, 2014
This is a stable release to fix some bugs deep in the core. There is no update to any architectures or bindings, so bindings version 2.1 can be used with this version 2.1.2 just fine.
[ Core changes]
Version 2.1.1: March 13th, 2014
This is a stable release to fix some bugs deep in the core. There is no update to any architectures or bindings, so bindings version 2.1 can be used with this version 2.1.1 just fine.
[ Core changes]
Version 2.1: March 5th, 2014
[ API changes ]
[ Core changes ]
[ Architectures ]
[ Python binding ]
[ Java binding ]
[ Miscellaneous ]
make.sh now can uninstall the core engine. This is done with:
$ sudo ./make.sh uninstall
Version 2.0: January 22nd, 2014
Release 2.0 deprecates version 1.0 and brings a lot of crucial changes.
[ API changes ]
[ Core changes ]
[ Architectures ]
[ Python binding ]
[ Java binding ]
[ Miscellaneous ]
[Version 1.0]: December 18th, 2013
March 2, 2017
Release 3.0.5-RC2 is a release candidate version, with important fixes in the core & several bindings.
Fix build for Visual Studio 2012
Fix X86_REL_ADDR macro
Add CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA
Better support for embedding Capstone into Windows kernel drivers
Support to embedded Capstone into MacOS kernel
Support MacOS 10.11 and up
Better support for Cygwin
Support build packages for FreeBSD & DragonflyBSD
Add a command-line tool “cstool”
Properly handle switching to Endian mode at run-time for Arm, Arm64, Mips & Sparc
Some random 16-bit code can be handled wrongly.
Remove abundant operand type X86_OP_FP
Fix instructions MOVQ, LOOP, LOOPE, LOOPNE, CALL/JMP rel16, REPNE LODSD, MOV *AX, MOFFS, FAR JMP/CALL
Add X86_REG_EFLAGS for STC and STD
Fix instruction attributes for SYSEXIT, MOVW, ROL, LGS, SLDT
Rename registers ST0-ST7 to be consistent with asm output
Properly handle IT instruction
Fix LDRSB
Fix writeback for LDR
Fix Thumb BigEndian setup
Fix arith extender
Fix writeback for LDR
Rename enum arm64_mrs_reg to arm64_sysreg
Better PyPy support
Add version
Better support for Python 3
Fix CS_SKIPDATA_CALLBACK prototype
Cast skipdata function inside binding to simplify the API
Improve cross-compile for Android using Android NDK.
ChangeLog
Library:
X86:
PowerPC:
Mips:
Arm:
IT instruction.XCore:
Python:
setup.py supports option --user if not in a virtualenv to allow for local usage.See http://capstone-engine.org/Version-3.0.3.html for more details on this stable release.
See http://capstone-engine.org/Version-3.0.3.html for more details on this stable release.
See http://capstone-engine.org/Version-3.0.2.html for more details on this stable release.
See http://capstone-engine.org/Version-3.0.2.html for more details on this stable release.
See http://capstone-engine.org/Version-3.0.1.html for more details on this stable release.
See http://capstone-engine.org/Version-3.0.1.html for more details on this stable release.
See http://capstone-engine.org/Version-3.0.html for more details on important changes introduced by this release.
See http://capstone-engine.org/Version-3.0.html for more details on important changes introduced by this release.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →