Skip to content

Releases: capstone-rust/capstone-rs

v0.5.0

21 Sep 05:44
v0.5.0
4ce3502
Compare
Choose a tag to compare

Added

  • InsnDetail to preamble

Changed

  • Flattened Error enum

Removed

  • X86InsnDetail::avx_rm()

v0.4.0

02 Jun 23:56
v0.4.0
56c0ebb
Compare
Choose a tag to compare

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)

v0.3.1

02 Jun 23:56
v0.3.1
Compare
Choose a tag to compare

Fixed

  • Documentation URL

v0.3.0

02 Jun 23:56
v0.3.0
Compare
Choose a tag to compare

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

v0.2.0

02 Nov 06:17
v0.2.0
Compare
Choose a tag to compare

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()

v0.1.0

02 Nov 06:21
v0.1.0
Compare
Choose a tag to compare

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()