unicorn/ChangeLog
2020-05-29 01:02:46 +08:00

88 lines
2.9 KiB
Plaintext

This file details the changelog of Unicorn Engine.
----------------------------------
[Version 1.0.2-rc4]: May 29th, 2020
- No longer require Python to build
- Fix recursive UC_HOOK_MEM callbacks for cross pages access
- Remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error
- Added UC_QUERY_TIMEOUT to query exit reason
- Fix UAF when deleting hook while in hook callback
- Ensure that hooks are unaffected by a request to stop emulation.
- Fix block hooks being called twice after an early exit from execution.
- Fix binding install on python2
- X86:
- Support read/write STn registers
- Support read/write X64 base regs
- ARM64:
- Support some new registers
----------------------------------
[Version 1.0.1]: April 20th, 2017
- Properly handle selected-architecture build.
- Fix compilation issues on PPC & S390x.
- Fix a memory leak on uc_mem_protect().
- ARM:
- Support big-endian mode.
- Correct instruction size of Thumb/Thumb2 code.
- Support read/write APSR register.
- ARM64:
- Support read/write NEON registers.
- Support read/write NZCV registers.
- Mips: Support read/write Mips64 registers.
- X86: Support read/write MSR.
- Haskell binding: update to the latest API.
- Python: allow not having PATH setup.
----------------------------------
[Version 1.0]: February 23rd, 2017
- Fix build script for BSD host.
- Fix building Unicorn on Arm/PPC/Sparc/S390 hosts.
- X86:
- Fix 16bit address computation.
- Fix initial state of segment registers.
----------------------------------
[Version 1.0-rc3]: January 25th, 2017
- Rename API uc_context_free() to uc_free().
- ARM:
- uc_reg_write() now can modify CPSR register.
- Add some ARM coproc registers.
- ARM64: uc_reg_read|write() now handles W0-W31 registers.
- Windows: fix a double free bug in uc_close().
- New VB6 binding.
- Java: update to support new APIs from v1.0-rc1.
- Python:
- Fix memory leaking that prevents UC instances from being GC.
- Remove some dependencies leftover from glib time.
- Add new method mem_regions() (linked to uc_mem_regions() API)
----------------------------------
[Version 1.0-rc2]: January 4th, 2017
- Remove glib & pkconfig dependency.
- Python: fix an issue to restore support for FreeBSD (and other *BSD Unix).
- ARM: support MCLASS cpu (Cortex-M3).
- Windows: export a static lib that can be used outside of Mingw
----------------------------------
[Version 1.0-rc1]: December 22nd, 2016
- Lots of bugfixes in all architectures.
- Better support for ARM Thumb.
- Fix many memory leaking issues.
- New bindings: Haskell, MSVC.
- Better support for Python3.
- New APIs: uc_query, uc_reg_write_batch, uc_reg_read_batch, uc_mem_map_ptr, uc_mem_regions, uc_context_alloc, uc_context_save & uc_context_restore.
- New memory hook type: UC_HOOK_MEM_READ_AFTER.
- Add new version macros UC_VERSION_{MAJOR, MINOR, EXTRA}
----------------------------------
[Version 0.9]: October 15th, 2015
- Initial public release.