Changelog
Thank you so much for the ridiculous amount of 20'000 ⭐ on this project!
Additions
- Replaced terrible existing project file system with a much more flexible one
- This is a breaking change. If you have existing project files, they will no longer be loadable in ImHex starting from this version
- To still use your old projects, you can use this Python Script here to extract the different parts of the old project file as stand-alone files that can then be imported again in newer versions of ImHex
- The recents list now contain all providers, not just opened files
- Added Intel Hex and Motorola SREC provider
- Added hexadecimal size of file and selection to hex editor footer
- Added select region command
- Added close button to the welcome screen so various tools can be accessed without opening any data
- Added Bookmark Import and Export option
Improvements
- Added better support for Windows 7
- You're still much better of by using Windows 10 or 11 instead since a bunch of things simply aren't possible on Windows 7
- Removed dependency on macOS 11 only Framework so ImHex can now run on macOS Yosemite and higher
- Switched .deb compression to gzip so it can be used on older Debian versions
- Various find view improvements. Overlapping occurrences and occurrences at the very end of the file can now be found
- Updated the LLVM demangler dependency
- All demanglers in ImHex now support the latest C++ features as well as D and Rust mangled names
- ImHex now properly allows opening of all files on macOS when dragging a file onto its executable
Bug Fixes
- Fixed crash when trying to edit a hex cell
- Fixed various issues with the multi-byte visualizers
- Fixed pattern language runtime not being reset properly after checking for MIME types
- Fixed config files being placed in wrong locations on Linux
- Fixed Windows native theme detection not always working correctly
- Fixed a crash when the auto-load pattern setting is disabled
Pattern Language
- Restructured entire library and cleaned up a bunch of legacy stuff
- Updated Error messages and error display
- All errors that are being thrown now show line/column information of the error as well as helpful error messages and hints on how to fix it (inspired by Rust errors)
- Fixed for-loop parsing
- Fixed display issues with static array entries
- Fixed reading strings that were passed to functions
- Fixed a namespace resolution crash
- Fixed array out of bounds checks
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!