Nguyen Anh Quynh | 8282dc6 | 2014-01-15 21:20:47 +0800 | [diff] [blame] | 1 | This file details the changelog of Capstone. |
| 2 | |
Nguyen Anh Quynh | 1ee2326 | 2014-01-22 18:27:39 +0800 | [diff] [blame] | 3 | --------------------------------- |
| 4 | Version 2.0: January 22nd, 2014 |
Nguyen Anh Quynh | 8282dc6 | 2014-01-15 21:20:47 +0800 | [diff] [blame] | 5 | |
Nguyen Anh Quynh | 1ee2326 | 2014-01-22 18:27:39 +0800 | [diff] [blame] | 6 | Release 2.0 deprecates verison 1.0 and brings a lot of crucial changes. |
Nguyen Anh Quynh | 8282dc6 | 2014-01-15 21:20:47 +0800 | [diff] [blame] | 7 | |
Nguyen Anh Quynh | 1ee2326 | 2014-01-22 18:27:39 +0800 | [diff] [blame] | 8 | [ 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 engine’s 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 Quynh | 8282dc6 | 2014-01-15 21:20:47 +0800 | [diff] [blame] | 25 | |
| 26 | |
Nguyen Anh Quynh | 1ee2326 | 2014-01-22 18:27:39 +0800 | [diff] [blame] | 27 | [ 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 Quynh | 6c5eec5 | 2014-01-22 18:33:35 +0800 | [diff] [blame] | 38 | - Support friendly register, so instead of output sub "r12,r11,0x14", |
| 39 | we have "sub ip,fp,0x14". |
Nguyen Anh Quynh | 1ee2326 | 2014-01-22 18:27:39 +0800 | [diff] [blame] | 40 | - Arm64: support Big-Endian mode (besides Little-Endian mode). |
| 41 | - PowerPC: newly added. |
Nguyen Anh Quynh | 6c5eec5 | 2014-01-22 18:33:35 +0800 | [diff] [blame] | 42 | - Mips: support friendly register, so instead of output "srl $2,$1,0x1f", |
| 43 | we have "srl $v0,$at,0x1f". |
Nguyen Anh Quynh | 1ee2326 | 2014-01-22 18:27:39 +0800 | [diff] [blame] | 44 | - 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 Quynh | 8282dc6 | 2014-01-15 21:20:47 +0800 | [diff] [blame] | 70 | [Version 1.0]: December 18th, 2013 |
| 71 | |
| 72 | - Initial public release. |
| 73 | |