PackageTrack
Sign in Get early access

capstone

High level bindings to capstone disassembly engine (https://www.capstone-engine.org/)

0.14.0 5.6M downloads/mo #4282 most downloaded on crates.io capstone-rust/capstone-rs

What this package is like to depend on

Last release 7 months ago

04 Jan 2026

Ships fairly regularly

a new release about every 9 months

Most releases are documented

notes for 15 of 20 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

20 releases · first in 2015

1 release in the last 12 months

see the full history below

Release timeline

20 releases · Apr 2015 to Jan 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 20
  1. 0.14.0 04 Jan 2026
    Release notes

    Added

    • TriCore arch support
    • MOS65XX arch support
    • SH arch support
    • Arch-specific features to toggle arch support
    • Expose X86 instruction encoding info via X86InsnDetail::encoding()
    • Make RegAccessType available for ARM64
    • Expose CS_OPT_UNSIGNED via Capstone::set_unsigned
    • Expose CS_OPT_MNEMONIC via Capstone::set_mnemonic
    • Expose cs_disasm_iter via Capstone::disasm_iter
    • Add check_only feature to speed up cargo check by building without native code

    Changed

    • Rename RegAccessType to AccessType while keeping type alias
    • InsnDetail::regs_read()/InsnDetail::regs_write() return more of the accessed registers
    • Bump bundled capstone to 5.0.6
    • Bump minimum Rust version to 1.81.0

    Fixed

    • impl Display for Insn<'_> now avoids to print trailing space
    • Avoids using allocator when building for no_std
    • Build in Bazel sandbox
    Open source →
  2. 0.13.0 04 Feb 2025
    Release notes

    Added

    • BPF arch support
    • Detail support for SystemZ
    • Make RegAccessType available for ARM

    Changed

    • Bump minimum Rust version to 1.70.0

    Fixed

    • Build on Windows platforms when using bindgen feature
    • Segfault when running on s390x (AKA SystemZ)

    Removed

    • From<u32> for RegId impl
    Open source →
  3. 0.12.0 25 Feb 2024
    Release notes

    Added

    • full feature (enabled by default) which disables [diet mode] for the Capstone C library

    Changed

    • Bump minimum Rust version to 1.60.0
    • Arm64OperandType::Sys contains Arm64SysOp instead of u32
    Open source →
  4. 0.11.0 02 May 2022
    Release notes

    Added

    • Owned insn type OwnedInsn (#123)

    Removed

    • Insn Clone impl to fix soundness issue (#122)

    Fixed

    • Soundness issue by remove Insn Clone impl (see "Removed" note above)
    Open source →
  5. 0.10.0 09 Aug 2021
    Release notes

    Added

    • Links to related types/functions in API documentation

    Changed

    • Access Insn elements of Instructions via Deref/AsRef traits instead of an iterator
    • Access Insn groups and read/write registers via a slice
    • Update README.md code example
    Open source →
  6. 0.9.0 14 Jul 2021
    Release notes

    Added

    • Support for RISC-V architecture

    Changed

    • Updated minimum supported Rust version to 1.40.0
    Open source →
  7. 0.8.0 10 Apr 2021
    Release notes

    Added

    • Insn::from_raw() to convert from a cs_insn pointer
    • Deref impl for Instructions

    Changed

    • X86: return X86OpMem::segment() as RegId instead of u32

    Fixed

    • Fixed data race in multi-threaded environment (#87)
    Open source →
  8. 0.7.0 12 Apr 2020
    Release notes

    Added

    • no_std compatibility
    • Parallel disassemble example
    • X86: add X86Operand.access field
    • Implement From<u32> for *_ins enums

    Changed

    • Bump minimum Rust version to 1.36.0
    Open source →
  9. 0.6.0 17 Apr 2019
    Release notes

    Added

    • Architectures: EVM, M68K, M680X, TMS320C64X
    • Mips modes: Mips2, Mips3, Mips32, Mips64
    • Trait EnumList to allow you to enumerate enum variants
    • X86: X86InsnDetail::xop_cc() getter

    Changed

    • Bump minimum Rust version to 1.29.2
    • Upgraded internal capstone C library to version 4.0
    • Moved capstone-sys repository into capstone-rs repository
    • Converted operand Imm variant from i32 to i64 for PPC, SPARC
    • X86InsnDetail::disp() returns i64 instead of i32

    Removed

    • Mips modes: Mode32, Mode64, MipsGP64
    • X86OperandType variant Fp
    Open source →
  10. 0.5.0 21 Sep 2018
    Release notes

    Added

    • InsnDetail to preamble

    Changed

    • Flattened Error enum

    Removed

    • X86InsnDetail::avx_rm()
    Open source →
  11. 0.4.0 02 Jun 2018
    Release notes

    Added

    • Criterion benchmark
    • cstool example
    • Codecov code coverage integration
    • PartialOrd/Ord implementation for InsnId, InsnGroupId, RegId
    • Lifetime to Capstone/Insn struct
    • alloc_system feature to use the system allocator instead of the default allocator (currently requires nightly)

    Changed

    • Minimum Rust version to 1.23.0
    • Capstone::disasm() methods take &mut self instead of &self and returns a new lifetime
    • Capstone is no longer Send/Sync (it was mistakenly auto-implemented)
    • Capstone::new() builder pattern methods take self instead of &mut self
    • Capstone::set_endian() is now public (allowed since internal Capstone version was upgraded)

    Removed

    • Duplicate/unneeded 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()

    Fixed

    • Race condition and memory unsafety in issue most easily observed on Mac OS (issue #26)
    Open source →
  12. 0.3.1 26 Mar 2018
    Release notes

    Fixed

    • Documentation URL
    Open source →
  13. 0.3.0 26 Mar 2018
    Release notes

    Added

    • Architecture-specific detail API with InsnDetail::arch_detail() method
    • README badges!

    Changed

    • Capstone::disasm() (and related methods) return empty Instructions instead of an error
    • Make Instructions::from_raw_parts() private
    Open source →
  14. 0.2.0 02 Nov 2017
    Release notes

    Added

    • Capstone::new_raw() has the same interface as the old Capstone::new_raw()
    • Add setters to modify mode, syntax, etc.

    Changed

    • Capstone::new() uses the builder pattern
    • Partition Mode enum into: Mode, ExtraMode, and Endian
    • Rename Capstone methods that return IDs to include _ids in name
      • Example: read_registers() renamed to read_register_ids()
    • Minimum Rust version is 1.20.0

    Removed

    • libc dependency
    Open source →
  15. 0.1.0 30 Sep 2017
    Release notes

    Added

    • Capstone methods to set syntax and mode
    • Travis continuous integration

    Changed

    • Use capstone-sys crate for low-level Capstone bindings
    • Capstone::new() takes a arch and mode arguments
    • Capstone::disasm() replaced with Capstone::disasm_all()/Capstone::disasm_count()

    Removed

    • Dependency
    Open source →
  16. 0.0.6 21 Apr 2017

    Nothing published for this version

  17. 0.0.5 11 Apr 2017

    Nothing published for this version

  18. 0.0.4 18 Dec 2015

    Nothing published for this version

  19. 0.0.3 05 Apr 2015

    Nothing published for this version

  20. 0.0.1 05 Apr 2015

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive