All Versions
Latest Version
Avg Release Cycle
153 days
Latest Release
779 days ago

Changelog History
Page 1

  • v1.0.2 Changes

    October 21, 2020
    • ๐Ÿ›  Fix Java binding compilation
    • ๐Ÿ— Enable building for ARM little-endian only (ignore big-endian)
  • v1.0.2-rc6 Changes

    September 24, 2020
    • Add uc_context_free() API
    • ๐Ÿ›  Fix context saving/retoring API (core & Python binding)
  • v1.0.2-rc5 Changes

    September 21, 2020
    • โž• 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
  • v1.0.2-rc4 Changes

    May 29, 2020

    ๐Ÿ›  This version fixes some issues and improves over v1.0.2-rc3.

    • ๐Ÿ— 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 (MacOS)
    • X86:
      • Support read/write STn registers
      • Support read/write X64 base regs
    • ARM64:
      • Support some new registers
  • v1.0.2-rc3 Changes

    April 08, 2020

    ๐Ÿ›  Bugfixes since RC2

  • v1.0.2-rc2

    February 15, 2020
  • v1.0.2-rc1

    October 08, 2019
  • v1.0.1 Changes

    April 20, 2017

    ๐Ÿ›  Stable release with some important bugfixes & new features for several architectures.

    • ๐Ÿ— Properly handle build with selected-architectures.
    • ๐Ÿ›  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.
  • v1.0 Changes

    February 23, 2017

    Unicorn Engine v1.0.

    Important changes since v1.0-RC3:

    • ๐Ÿ›  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.
  • v1.0-rc3 Changes

    January 25, 2017

    ๐Ÿš€ Release Candidate 3 of Unicorn Engine 1.0

    Important changes since v1.0-RC2:

    • Core: 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)