unicorn/ChangeLog

142 lines
4.4 KiB
Plaintext
Raw Normal View History

2015-10-15 18:54:39 +03:00
This file details the changelog of Unicorn Engine.
2021-05-14 13:36:54 +03:00
-------------------------------
2021-05-26 18:07:07 +03:00
[Version 1.0.3]: May 26th, 2021
2021-05-14 13:36:54 +03:00
- Fix some building issues
- Fix build with LLVM on Powerpc64(le)
- cmake: enable UNICORN_HAS_ARMEB when ARM is on
- Better support MingW building
- Better support FreeBSD host
2021-05-16 16:39:31 +03:00
- Better support VS2008/VS2010
2021-05-14 13:36:54 +03:00
- Fix some issues in the core:
- Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]
- Support querying architecture mode besides arm
- Fix pausing within Thumb2 ITE blocks
- Arm:
- Support Arm BE8 mode
- X86:
- Fix FPIP & FTST instructions
- Bindings:
- Java: remove deprecated javah and build with javac
- Python: handle exceptions raised in hook functions
2021-05-26 18:07:07 +03:00
- Rust binding
2021-05-14 13:36:54 +03:00
2020-10-20 17:13:43 +03:00
-----------------------------------
[Version 1.0.2]: October 21st, 2020
- Fix Java binding compilation
- Enable building for ARM little-endian only (ignore big-endian)
2020-09-21 21:11:43 +03:00
------------------------------------
2020-09-24 17:55:14 +03:00
[Version 1.0.2-rc6]: Sept 24th, 2020
- Add uc_context_free() API
- Fix context saving/retoring API (core & Python binding)
------------------------------------
[Version 1.0.2-rc5]: Sept 22nd, 2020
2020-09-21 21:11:43 +03:00
- Add cmake option to build Unicorn as a static library
- Fix error handling of mmap()
- uc_emu_start() can be reentrant
- Fix naming conflicts when built with systemd
- Fix setjmp/longjmp on native Windows
- Fix enabled hooks even after deleting them
- X86:
- Fix 64bit fstenv
- Fix IP value of 16bit mode
- ARM:
- Fix APSR handling
- Python: Remove UC_ERR_TIMEOUT
2020-05-28 20:20:12 +03:00
-----------------------------------
2020-05-28 20:02:46 +03:00
[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.
2020-05-28 20:20:12 +03:00
- Fix binding install on python2 (MacOS)
2020-05-28 20:02:46 +03:00
- X86:
- Support read/write STn registers
- Support read/write X64 base regs
- ARM64:
- Support some new registers
2017-04-18 18:29:51 +03:00
----------------------------------
2017-04-20 08:28:02 +03:00
[Version 1.0.1]: April 20th, 2017
2017-04-18 18:29:51 +03:00
- Properly handle selected-architecture build.
- Fix compilation issues on PPC & S390x.
- Fix a memory leak on uc_mem_protect().
- ARM:
2017-04-20 08:28:02 +03:00
- Support big-endian mode.
2017-04-18 18:29:51 +03:00
- 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.
2017-02-23 15:17:02 +03:00
----------------------------------
2017-02-23 15:50:36 +03:00
[Version 1.0]: February 23rd, 2017
2017-02-23 15:17:02 +03:00
- Fix build script for BSD host.
- Fix building Unicorn on Arm/PPC/Sparc/S390 hosts.
- X86:
- Fix 16bit address computation.
2017-02-23 15:50:36 +03:00
- Fix initial state of segment registers.
2017-02-23 15:17:02 +03:00
2017-01-04 15:07:50 +03:00
----------------------------------
2017-01-25 07:03:09 +03:00
[Version 1.0-rc3]: January 25th, 2017
2017-01-25 07:00:18 +03:00
- 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
2017-01-04 15:07:50 +03:00
- 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
2016-12-22 17:13:13 +03:00
----------------------------------
[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}
2015-10-15 18:54:39 +03:00
----------------------------------
[Version 0.9]: October 15th, 2015
- Initial public release.