Releases: capstone-engine/capstone
Releases · capstone-engine/capstone
Version 4.0
[ 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
Version 3.0.5
[ Core ]
- Fix the include path for Android builds when building cstool.
- Add posibility to disable universal build for Mac OS.
- cstool: Separate instruction bytes by spaces.
- Fix code path of pkg-config in Cmake.
- Update XCode project for XCode 9.1.
- Add Cortex-M support to cstool.
- Cmake forces to be build using MT with MSVC.
- Better support for Mac OS kernel.
[ X86 ]
- Fix some issues in handling EVEX & VEX3 instructions.
- Fix immediate operand for AND instruction in ATT mode.
- Fix ATT syntax when imm operand is 0.
- Better handle XACQUIRE/XRELEASE.
- Fix imm operand of RETF.
[ ARM ]
- Fix an integer overlow bug.
[ ARM64 ]
- Bug fix for incorrect operand type in certain load/store instructions.
[ Mips ]
- Mode CS_MODE_MIPS32R6 automatically sets CS_MODE_32
[ PPC ]
- Fix endian check.
[ Sparc ]
- Fix an integer overlow bug.
[ SystemZ ]
- Fix an integer overlow bug.
[ Python binding ]
- Raise error on accessing irrelevant data fields if skipdata & detail modes are enable.
Version 3.0.5-rc3
Changelog:
Core
- Fix compilation for MacOS kernel extension
- cstool to support armbe and arm64be modes
- Add nmake.bat for Windows build
- Fix an integer overflow for Windows kernel driver
- Support to embedded Capstone into MacOS kernel
- cstool: fix mips64 mode
- Fix a compiling error in MS Visual Studio 2015
- Install pkgconfig file with CMake build
- Fix SOVERSION property of CMake build
- Properly handle switching to Endian mode at run-time for Arm, Arm64, Mips & Sparc
- Fix MingW build
- Better handle CMake installation for Linux 64bit
X86
- Support BND prefix of Intel MPX extension
- Correct operand size for CALL/JMP in 64bit mode with prefix 0x66
- LOCK NOP is a valid instruction
- Fix ATT syntax for instruction with zero offset segment register
- LES/LDS are invalid in 64bit mode
- Fix number of operands for some MOV instructions
ARM
- Fix POP reg to update SP register
- Update flags for UADD8 instruction
ARM64
- Better performance with new lookup table
- Handle system registers added in ARMv8.1/2
Visual Basic binding
- New binding
Version 4.0-alpha5
Fix many bugs, and add new architecture TMS320C64X.
Version 3.0.5-rc2
See http://www.capstone-engine.org/Version-3.0.5-RC2-changelog for details on important changes.
Version 4.0-alpha4
4.0-alpha4 release with some important bug-fixes from 4.0-alpha3 version.
Version 4.0-alpha3
4.0-alpha3 release with some important security bug-fixes from 4.0-alpha2 version.
Version 3.0.5-rc1
Changelog:
Core
- 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
X86
- 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
ARM
- properly handle IT instruction
- fix LDRSB
Sparc
- fix POPC instruction
Python binding
- Better PyPy support
- add version
- better support for Python 3
Java binding
- better handle input with invalid code
Version 4.0-alpha2
4.0-alpha2 release with some important security bug-fixes from 4.0-alpha1 version.
Version 3.0.4
ChangeLog
Library:
- Improve cross-compile for Android using Android NDK.
- Support cross-compile for AArch64 Android (with Linux GCC).
- Removed osxkernel_inttypes.h due to license issue (incompatible with BSD license).
- Now it is possible to compile with CC having a space inside (such as "ccache gcc")
X86:
- Fix a null pointer dereference bug on handling code with special prefixes.
- Properly handle AL/AX/EAX operand for OUT instruction in AT&T syntax.
- Print immediate operand in positive form in some algorithm instructions.
- Properly decode some SSE instructions.
PowerPC:
- Fixed some memory corruption bugs.
Mips:
- Fixed instruction ID of SUBU instruction.
- Fixed a memory corruption bug.
Arm:
- Fixed a memory corruption bug on
IT
instruction.
XCore:
- Fixed a memory corruption bug when instruction has a memory operand.
Python:
- Support Virtualenv.
setup.py
supports option--user
if not in a virtualenv to allow for local usage.- Properly handle the destruction of Cs object in the case the shared library was already unloaded.