·
10 commits
to releases/v1.37.X
since this release
Bug Fixes
- Fixed large memory allocations when printing error messages in some cases
- Fixed an issue that caused the pattern editor to shift to the left when clicking evaluate
- Fixed a crash when a custom disassembler returned no bytes
- Fixed incorrect native scaling value when using fractional scaling on Wayland
- Moving the ImHex window between two screens with different DPI on Windows works better now
- Fixed a crash when loading a project with a saved process memory provider
- Fixed closing one Selection View causing all other Selection Views to become unusable
- Fixed a crash when selecting an invalid font
- Fixed the pattern editor losing focus when auto evaluate is on
Previous Version
Features
- ImHex now properly supports HiDPI scaling on Windows, macOS and Linux!
- ImHex now uses the native menu bar on macOS
- You can now set separate fonts for the main UI, the Hex Editor and the Pattern Editor
- Added a new ARM64 AppImage release as well as a WebAssembly release to self-host ImHexWeb
- ImHex can now be fully compiled using MSVC and ClangCL on Windows! Huge thanks to @mrexodia
- The main releases are still built with MinGW but this should hopefully make it easier to contribute to ImHex!
- We now provide build attestation for each build generated through our CI so you can verify exactly from which run an artifact has been built
- Added initial support for custom disassemblers
- This lets you define disassemblers for custom instruction sets using a simple JSON format
- Added messaging support for macOS and Linux
- This allows you to use ImHex as a command line tool on macOS and Linux to control the currently open ImHex instance
- For example
imhex --open "SomeFile.bin" --select 0x100 0x200
will open the SomeFile.bin file in the current instance and then select addresses 0x100 to 0x200
- Added Russian translation! Huge thanks to @Lemon4ksan
- Added a title bar backdrop color gradients and accent colors
- Added utf16 and utf32 string and char types
- Added option to randomize window title
- In case some stupid anti-cheat is trying to detect ImHex in the future :)
- Added new --select, --pattern and --debug-mode subcommands
- Added support for OpenGL post processing shaders
- This lets you load custom shaders now by placing a
shader.vert
andshader.frag
file in one of the ImHex resource folders. - These shaders can apply any post processing to the rendered image
- This lets you load custom shaders now by placing a
- Added New File option to the GNOME launcher and a --new cli option
- Added support for scanning binaries for UTF-8 strings
- Added visibility toggle to hide bookmark highlighting
- Added option to fit hex columns to screen width
- Added setting to disable hex editor highlights entirely
- Added a preview to the Edit -> Copy as options
- Added "Jump to address" option to data inspector row context menu
- Added option to change radix of numbers in hex editor view
- Added context menu and next/previous buttons to the data inspector
- Added option to move selection back to hex editor footer
- Added option to copy data as escaped string
- Added shortcut for Copy as -> Custom Encoding
Improvements
- Replaced the Windows and Linux app icon with the one from the Papyrus Icon Project!
- The DMG on macOS now looks a lot nicer than before
- Revamped the frame rate limiting system to make ImHex feel much less laggy by default and make it use less CPU resources
- ImHex now uses Jetbrains Mono as its default font instead of the ImGui default font
- The settings window can now be resized
- The ImHex window is now hidden on macOS when close button is pressed
- Allowed all highlights to overlap each other
- Allowed the favorite column in the pattern data view to be hidden
- Allowed command palette to be closed by clicking on the menu bar
- All installed content store items are now force updated after an ImHex update
Bug Fixes
- Fixed various issues with the auto updater
- RGBA8 data processor node not working correctly
- Very slow processing of large pattern console outputs
- Windows forwarder application not working when piping output
- Writing not working correctly through a provider view
- Crash on Linux if XDG_SESSION_TYPE is not set
- Crash when closing ImHex with one or more view providers open
- Uninitialized buffers in resize operation
- Exception being thrown while loading projects
- Crash when certain pattern language exceptions were thrown
- Pattern Editor shortcuts not working correctly on different languages (#2085)
- Pattern Editor Find and Replace history (#2064)
- Crash in 3D Visualizer, improved error messages (#2062)
- Disable bogus Keypad to function key conversions on macOS
- Empty regions in Intel Hex and Motorola SREC files not being displayed correctly
- Make sure provider switch buttons and close button don't overlap
- Hang when filtering for a large number of items in the pattern data view
- Off-by-one when calculating hashes of selected regions
- ImHex freezing on AMD GPUs when resizing
- Rendering issues with text editor in bookmark view
- Ctrl sometimes getting stuck when pressing ALT GR and other keys at the same time
- Missing endian setting in ARM64 disassembler
- Clicking past end of line in text editor putting cursor before last character
Pattern Language
- The evaluator now tries to keep as many patterns as it possibly can when an error occurs
- Added cursor positions to the error stack traces
- Exported global variables are now displayed in the output
- Added support for rvalue assignments inside of structs
- Fixed various issues when importing patterns as types
- Make decompress functions return number of read bytes
- Allow #pragma magic to index from the end of the data with negative addresses
- Fixed error spam when encountering an error in the Lexer
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!