NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4400 most downloaded on crates.io
System bindings to the capstone disassembly library
Last release 9 months ago
04 Jan 2026
Release timing varies
gaps range from 4 weeks to 1.8 years
Nearly every release is documented
notes for 18 of 18 stable releases
2 versions withdrawn
withdrawn after publishing
10 years old
20 releases · first in 2016
Arch-specific features flags to enable/disable arch support
check_only feature to speed up cargo check by building without native codecs_regs_access() regs_read/regs_write args to take *mut cs_regs (instead of *mut u16)
Segfault when running on s390x (AKA SystemZ)
One column per quarter.
full feature (enabled by default) which disables [diet mode] for the Capstone C library
full feature (enabled by default) which disables diet mode for the Capstone C libraryarm64_tlbi_op, arm64_at_op, arm64_dc_op, arm64_ic_op into single enum arm64_sys_op (based on upstream 3e23b60af0)Document that minimum supported Rust version is actually 1.50.0
Arch-specific features to toggle arch support
X86InsnDetail::encoding()RegAccessType available for ARM64CS_OPT_UNSIGNED via Capstone::set_unsignedCS_OPT_MNEMONIC via Capstone::set_mnemoniccs_disasm_iter via Capstone::disasm_itercheck_only feature to speed up cargo check by building without native codeRegAccessType to AccessType while keeping type aliasInsnDetail::regs_read()/InsnDetail::regs_write() return more of the accessed registersimpl Display for Insn<'_> now avoids to print trailing spaceno_stdMake RegAccessType available for ARM
bindgen featureFrom<u32> for RegId implfull feature (enabled by default) which disables [diet mode] for the Capstone C library
full feature (enabled by default) which disables [diet mode] for the Capstone C libraryArm64OperandType::Sys contains Arm64SysOp instead of u32Insn Clone impl to fix soundness issue
Links to related types/functions in API documentation
Insn elements of Instructions via Deref/AsRef traits instead of an iteratorInsn groups and read/write registers via a sliceUpgraded bundled capstone to release 3.0.5 (Git commit a31b5328 to db19431d).
Support for RISC-V architecture
cc crate to build Capstoneuse_system_capstone, build_capstone_cmake, build_capstone_cc
Insn::from_raw() to convert from a cs_insn pointer
Insn::from_raw() to convert from a cs_insn pointerDeref impl for InstructionsX86OpMem::segment() as RegId instead of u32X86: add X86Operand.access field
no_std compatibilityX86Operand.access fieldFrom<u32> for *_ins enumscc crateArchitectures: EVM, M68K, M680X, TMS320C64X
Mips2, Mips3, Mips32, Mips64EnumList to allow you to enumerate enum variantsX86InsnDetail::xop_cc() gettercapstone-sys repository into capstone-rs repositoryImm variant from i32 to i64 for PPC, SPARCX86InsnDetail::disp() returns i64 instead of i32Mode32, Mode64, MipsGP64X86OperandType variant Fp### Added - InsnDetail to preamble ### Changed - Flattened Error enum ### Removed - X86InsnDetail::avx_rm()
InsnDetail to preambleError enumX86InsnDetail::avx_rm()bindgen unionsbindgen)Codecov code coverage integration
PartialOrd/Ord implementation for InsnId, InsnGroupId, RegIdCapstone/Insn structalloc_system feature to use the system allocator instead of the default allocator (currently requires nightly)Capstone::disasm() methods take &mut self instead of &self and returns a new lifetimeCapstone is no longer Send/Sync (it was mistakenly auto-implemented)Capstone::new() builder pattern methods take self instead of &mut selfCapstone::set_endian() is now public (allowed since internal Capstone version was upgraded)Capstone methods that have equivalents in InsnDetail
insn_belongs_to_group(), insn_group_ids(), register_id_is_read(), read_register_ids(),
register_id_is_written(), write_register_ids()Architecture-specific detail API with InsnDetail::arch_detail() method
InsnDetail::arch_detail() methodCapstone::disasm() (and related methods) return empty Instructions instead of an errorInstructions::from_raw_parts() privateNothing published for this version
Capstone::new_raw() has the same interface as the old Capstone::new_raw()
Capstone::new_raw() has the same interface as the old Capstone::new_raw()Capstone::new() uses the builder patternMode enum into: Mode, ExtraMode, and EndianCapstone methods that return IDs to include _ids in name
read_registers() renamed to read_register_ids()libc dependencyCapstone methods to set syntax and mode
Capstone methods to set syntax and modecapstone-sys crate for low-level Capstone bindingsCapstone::new() takes a arch and mode argumentsCapstone::disasm() replaced with Capstone::disasm_all()/Capstone::disasm_count()Your coding agent can read these notes before it upgrades. Set up the MCP server →