Changelog
Additions
- Added ability to remove bytes from a file. Thanks to @Diadlo
- Added a macOS styled icon to the macOS build and updated the icon on other platforms Huge thanks to @zaafonin
- Added back missing hex editor selection byte count value to the hex editor view footer
- Added support for HTTP and SOCKS5 Proxies. Thanks a lot to @shirok1
Improvements
- Fixed many issues with the macOS .dmg file, and the Linux AppImage and Flatpak. Massive thanks to @iTrooz
- Massive CI Improvements Huge thanks to @iTrooz
- This includes much improved build times, ArchLinux support, automatic release uploading and many other improvements
- Switched over to GCC on macOS
- This allows for more cutting edge C++ features to be used in the future
- Lots of Unicode related crashes and fixes
- Paths are now consistently handled correctly on all platforms
- ImHex now works correctly when launched from a location with non-ASCII characters in its path or on systems with a user account name with unicode characters in it
- Massively improved pattern highlighting performance
- Search algorithm is now
O(log2(N))
instead ofO(N)
- Search algorithm is now
- Greatly improved the performance of static arrays in the pattern data view
- Improved the scrolling behaviour in the hex editor view
Bug Fixes
- Fixed byte editing not working correctly in the hex editor view
- Fixed AppImage crashing when opening the file chooser
- Fixed crash when parsing invalid wide strings
- Fixed Resize and Insert bytes popup not working correctly
- Fixed fallback language being accidentally set to Portuguese. Thanks to @LFriede
- Fixed misaligned hex editor selection hightlighting in very big files
- Fixed double clicking on the "... (Double-click to see more items)" item in arrays in the pattern data view. Thanks to @Diadlo
- Fixed a few hex editor highlighting crashes
- Fixed hash function names not being localized
- Fixed crash when undocking the hex editor view
- Fixed various localization issues
- Fixed hex editor selection moving with SHIFT + Arrow Keys not working as expected
- Fixed a crash when copying text to the clipboard on non-english locales
- Fixed system theme detection issues on all OSes
- Fixed In/Out variables not being evaluated correctly when loading a pattern through the context menu
Pattern Language
- Added support for using custom types as local variables
- This means you can now define structs, unions or bitfields and use and assign values to them inside of functions
- Fixed endian inversion when passing variables to functions in big-endian mode
- Fixed In/Out variables not working correctly when using any pre-processor directives
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!