Skip to content

Releases: solemnwarning/rehex

0.62.1

25 Jul 19:28
Compare
Choose a tag to compare

This release fixes the x86 Windows build so that it works on pre-Nehalem/Bulldozer (circa 2008) CPUs.

For x64 Windows and any other operating systems, 0.62.0 is still the latest release.

0.62.0

20 Jul 18:48
Compare
Choose a tag to compare

This release includes changes and new features to assist editing of sub-byte-width values and non-byte-aligned values in files:

  • Add bit array data type (#167).
  • Allow selecting and setting comments/highlights/types on bit-sized/aligned quantities, not just byte-aligned (#155).
  • Allow defining arbitrary integer types, up to 64 bits wide (#215).
  • Allow navigating hex data by nibbles rather than bytes (#58).

There are also improvements to the highlighting feature, and general usability improvements:

  • Allow colouring data by byte value (#223).
  • Allow changing/defining custom highlight colours and assigning labels to them (#227).
  • Use dimmer highlight colours for dark colour schemes (#227).
  • Save highlight colours/labels per-file (#60).
  • Allow changing keyboard shortcuts (#226).
  • Add Shift+Enter shortcut for "OK" in the comment dialog (#226).
  • Display offset in both decimal and hexadecimal in status bar (#228).
  • Fix handling of relative paths specified on the command line when opening in an existing instance (#237).

On the build/pipeline side, I've switched the toolchain used for the 32-bit Windows version (rehex-0.62.0-win-x86.zip) to one that can run on earlier versions of Windows (XP and above).

0.61.1

13 Mar 22:26
Compare
Choose a tag to compare

This release fixes data being displayed from the wrong point in the file when "Collapse matches" is enabled in the file comparison window.

0.61.0

14 Feb 23:51
Compare
Choose a tag to compare

Changes since 0.60.1:

  • Permit trailing commas in template enum definitions (#216).
  • Add overwrite/insert toggle to "Fill range" dialog (#213).
  • Add copy/export context menu commands to strings tool (#210).
  • Fix temporary hang in strings tool when processing large files (#217).
  • Fix settings not being saved during application exit.
  • Batch comments panel updates to improve responsiveness (#205).
  • Add search field to comments panel (#204).
  • Add bit editor tool.
  • Add checksum tool (#219).
  • Add options to search for floating point values.
  • Don't reload files modified externally when requested not to.
  • Start search when Enter is pressed in search dialog input field, or search backwards when Shift+Enter is pressed.
  • Add "Reload automatically" toggle to "File" menu to automatically reload the file when modified externally (and not in the editor) (#222).
  • Preserve scroll position when reloading file.

0.60.1

29 Jul 00:08
Compare
Choose a tag to compare

Its been a long time since the last release, but hopefully worth the wait!

I've grouped the changes since 0.5.4 into categories below:

New features

  • Add data histogram tool (#140).
  • Monitor for open files being externally modified and allow reloading (#124).
  • Add "Delete comment and children" context menu command to delete a comment and any comments encapsulated by it (#198).
  • Allow dragging tabs between windows or out to new ones.

Quality of life improvements

  • Use virtual offsets in "Select range" dialog.
  • Don't re-open files to save when there are no changes (#193).
  • Improve performance when large numbers of comments are defined.
  • Open original file when passed a rehex-meta file on the command line (#207).

Character set handling

  • Add <charset = "XXX"> syntax to templates (#184).
  • Add character set option to text search (#182, #200).
  • Add IBM codepage 866 and Windows-1251 (#208).

Binary templates

  • Expose current array index as ArrayIndex when expanding arrays of structs in templates (#191).
  • Fix true/false not being usable inside template functions/structs (#197).
  • Add new ReadString(), SPrintf(), SetComment(), StringLengthBytes(), ArrayPush(), ArrayPop() and OffsetOf() template function.
  • Fix repeated execution of the same switch() block in a template (#202).
  • Add 'private' variables to template language.
  • Fix template format strings that expand to further format tokens.
  • Fix template error when converting a float to an int.
  • Remember recently selected templates (#183).
  • Implement lexical variable scoping in templates and allow functions to access global variables defined above them (#190).
  • Add "Apply template from cursor" option to binary template tool.

Bug fixes

  • Fix crash when running rehex for the first time on some systems (#194).
  • Correctly draw insert cursor over highlighted data and at the end of the file (#196).
  • Fix cases where the strings tool would appear to run forever with an empty file.
  • Remove strings from the strings panel when they are deleted from the file.
  • Fix crash when attempting to open a directory/bundle on macOS.

0.5.4

24 Oct 09:40
Compare
Choose a tag to compare

Mainly binary template improvements in this release, but also adds a pcap analyser plugin courtesy of @RegularITCat!

  • Allow passing arguments to structs created via ArrayResize() and ArrayExtend() template functions.
  • Fix parsing of whitespace in template array dereference (#175).
  • Display offsets in comments panel (#165).
  • Don't show expand arrows next to comments without children in comments panel on Windows/macOS.
  • Improve performance of templates that declare many (thousands+) of variables in the file.
  • Add Error() function for templates (#186).
  • Fix crash when attempting to use string as a file variable in templates (#185).
  • [Pavel Martens] Add plugin for annotating pcap files.

0.5.3

25 Jun 17:56
Compare
Choose a tag to compare

This release is mostly bugfixes and improvements for handling CJK encodings/characters.

Full changes below:

  • Correctly nest comments when updating comments panel (#169).

  • Update text in comments panel when a comment is modified.

  • Fix display of >4GiB virtual offsets in files that are <=4GiB (#170).

  • Add support for code page 437 (IBM) and 932/936/949/950 (Microsoft).

  • Fix handling of multibyte character boundaries in document view.

  • Draw wide characters in document view (#173).

  • Move forwards/backwards and select whole instructions from disassembly in document view.

  • Don't capture tab key press in text area of document view.

  • Add missing error checks.

  • Add number base option to "Jump to offset" dialog.

  • Drawing optimisations (improves responsiveness), particularly on macOS.

  • Fix some undefined behaviour issues.

0.5.1

29 Apr 15:16
Compare
Choose a tag to compare

This release fixes the macOS builds to run on 10.13 (High Sierra) and newer.

For other platforms, just download the 0.5.0 release.

0.5.0

23 Apr 16:36
Compare
Choose a tag to compare

New feature release!

Among other things, adds binary templates, a manual and bitmap data visualisation.

Full changes:

  • Added "x86 disassembly syntax" to "View" menu to allow selecting between Intel or AT&T notation for x86 disassembly (#142).
  • Handle file open message used for "Open With" on macOS (#144).
  • Added --compare switch to jump straight into comparing two files (#141).
  • Fix timer leak that can cause a crash when closing the compare window or strings panel.
  • Add import and export functions for Intel Hex files (#102).
  • Add online help (#147).
  • Add Bitmap Data Visualisation tool (#29).
  • Add Binary Template support (#138).
  • [Emily Ellis] Save new files without the execute bit set (#154).
  • Include highlight colour names in context menu (#153).
  • Save write protect setting in rehex-meta.json (#143).
  • Fix several occasional crashes.

NOTE: This release accidentally broke support for versions of macOS prior to 12.0 (Monterey), version 0.5.1 fixes this and will run on 10.13 (High Sierra) or later.

0.4.1

04 Jan 11:48
Compare
Choose a tag to compare

Bugfix update for 0.4.0 - this release fixes text rendering glitches that can occur when displaying control characters and some Unicode ones, depending which font is in use (worst affected is the default Windows font).