blob: b78a4602daffd5648dc9b57ffe574e9b8c8b936b [file] [log] [blame]
Nguyen Anh Quynh8282dc62014-01-15 21:20:47 +08001This file details the changelog of Capstone.
2
Nguyen Anh Quynh1ee23262014-01-22 18:27:39 +08003---------------------------------
4Version 2.0: January 22nd, 2014
Nguyen Anh Quynh8282dc62014-01-15 21:20:47 +08005
Nguyen Anh Quynh1ee23262014-01-22 18:27:39 +08006Release 2.0 deprecates verison 1.0 and brings a lot of crucial changes.
Nguyen Anh Quynh8282dc62014-01-15 21:20:47 +08007
Nguyen Anh Quynh1ee23262014-01-22 18:27:39 +08008[ API changes ]
9
10- API version has been bumped to 2.0 (see cs_version() API)
11- New API cs_strerror(errno) returns a string describing error code given
12 in its only argument.
13- cs_version() now returns combined version encoding both major & minor versions.
14- New option CS_OPT_MODE allows to change engines mode at run-time with
15 cs_option().
16- New option CS_OPT_MEM allows to specify user-defined functions for dynamically
17 memory management used internally by Capstone. This is useful to embed Capstone
18 into special environments such as kernel or firware.
19- New API cs_support() can be used to check if this lib supports a particular
20 architecture (this is necessary since we now allow to choose which architectures
21 to compile in).
22- The detail option is OFF by default now. To get detail information, it should be
23 explicitly turned ON. The details then can be accessed using cs_insn.detail
24 pointer (to newly added structure cs_detail)
Nguyen Anh Quynh8282dc62014-01-15 21:20:47 +080025
26
Nguyen Anh Quynh1ee23262014-01-22 18:27:39 +080027[ Core changes ]
28
29- On memory usage, Capstone uses much less memory, but a lot faster now.
30- User now can choose which architectures to be supported by modifying config.mk
31 before compiling/installing.
32
33
34[ Architectures ]
35
36- Arm
37 - Support Big-Endian mode (besides Little-Endian mode).
Nguyen Anh Quynh6c5eec52014-01-22 18:33:35 +080038 - Support friendly register, so instead of output sub "r12,r11,0x14",
39 we have "sub ip,fp,0x14".
Nguyen Anh Quynh1ee23262014-01-22 18:27:39 +080040- Arm64: support Big-Endian mode (besides Little-Endian mode).
41- PowerPC: newly added.
Nguyen Anh Quynh6c5eec52014-01-22 18:33:35 +080042- Mips: support friendly register, so instead of output "srl $2,$1,0x1f",
43 we have "srl $v0,$at,0x1f".
Nguyen Anh Quynh1ee23262014-01-22 18:27:39 +080044- X86: bug fixes.
45
46
47[ Python binding ]
48
49- Python binding is vastly improved in performance: around 3 ~ 4 times faster
50 than in 1.0.
51- Cython support has been added, which can further speed up over the default
52 pure Python binding (up to 30% in some cases)
53- Function cs_disasm_quick() & Cs.disasm() now use generator (rather than a list)
54 to return succesfully disassembled instructions. This improves the performance
55 and reduces memory usage.
56
57
58[ Java binding ]
59
60- Better performance & bug fixes.
61
62
63[ Miscellaneous ]
64
65- Fixed some installation issues with Gentoo Linux.
66- Capstone now can easily compile/install on all *nix, including Linux, OSX,
67 {Net, Free, Open}BSD & Solaris.
68
69----------------------------------
Nguyen Anh Quynh8282dc62014-01-15 21:20:47 +080070[Version 1.0]: December 18th, 2013
71
72- Initial public release.
73