- Added new ISA-extensions
- `BITALG`
- `GFNI`
- `RDPID`
- `VAES`
- `VBMI2`
- `VNNI`
- `VPCLMULQDQ`
- Added implicit operands for instructions with stack-operations
- Implicit `SP/ESP/RSP` register-operand
- Implicit `[SP/ESP/RSP]` memory-operand
- Implemented decoder-modes to support ISA-extensions that conflict with existing instructions
- Added decoder-modes
- `ZYDIS_DECODER_MODE_MINIMAL`
- `ZYDIS_DECODER_MODE_AMD_BRANCHES`
- `ZYDIS_DECODER_MODE_KNC`
- `ZYDIS_DECODER_MODE_MPX`
- `ZYDIS_DECODER_MODE_CET`
- `ZYDIS_DECODER_MODE_LZCNT`
- `ZYDIS_DECODER_MODE_TZCNT`
- Removed `ZydisDecoderInitEx` and the possibility to pass a decoder-granularity (use `ZYDIS_DECODER_MODE_MINIMAL` instead)
- Decoder improvements
- Instructions which are only valid in protected-mode are now rejected, if `ZYDIS_MACHINE_MODE_REAL_16` is used
- The `scale` of memory-operands is now correctly set to `1` in 16-bit mode, if an index register was specified
- Major formatter changes
- Switched to custom length-aware `ZydisString` "class" to improve performance and usability
- Added `ZydisFormatterSetAttribute` function for simple formatter customization
- `ZYDIS_FORMATTER_PROP_UPPERCASE`
- `ZYDIS_FORMATTER_PROP_FORCE_MEMSEG`
- `ZYDIS_FORMATTER_PROP_FORCE_MEMSIZE`
- `ZYDIS_FORMATTER_PROP_ADDR_FORMAT`
- `ZYDIS_FORMATTER_PROP_DISP_FORMAT`
- `ZYDIS_FORMATTER_PROP_IMM_FORMAT`
- `ZYDIS_FORMATTER_PROP_HEX_UPPERCASE`
- `ZYDIS_FORMATTER_PROP_HEX_PREFIX`
- `ZYDIS_FORMATTER_PROP_HEX_SUFFIX`
- `ZYDIS_FORMATTER_PROP_HEX_PADDING_ADDR`
- `ZYDIS_FORMATTER_PROP_HEX_PADDING_DISP`
- `ZYDIS_FORMATTER_PROP_HEX_PADDING_IMM`
- Hook refactorings
- Added `ZYDIS_FORMATTER_HOOK_PRE_OPERAND`, `ZYDIS_FORMATTER_HOOK_POST_OPERAND` and `ZYDIS_FORMATTER_HOOK_PRINT_REGISTER`
- Renamed `ZYDIS_FORMATTER_HOOK_PRINT_DISPLACEMENT` to `ZYDIS_FORMATTER_HOOK_PRINT_DISP`
- Renamed `ZYDIS_FORMATTER_HOOK_PRINT_IMMEDIATE` to `ZYDIS_FORMATTER_HOOK_PRINT_IMM`
- Renamed `ZYDIS_FORMATTER_HOOK_PRINT_OPERANDSIZE` to `ZYDIS_FORMATTER_HOOK_PRINT_MEMSIZE`
- Removed `ZYDIS_FORMATTER_HOOK_PRINT_SEGMENT`
- Improved no-libc support
- Added `ZYDIS_NO_LIBC` CMake switch
- When enabled, removes dependency on `memset`, `memcpy` and `strlen`
- Added custom integer types
- Added own `NULL`
- Added project logo
- Contributed by [LekoArts](https://github.com/LekoArts)
- Added Visual Studio project files
- Static-, shared- and kernel-mode configuration
- Contributed by [Mattiwatti](https://github.com/Mattiwatti)