Hex Fiend Changelog

What's new in Hex Fiend 2.18 Beta 1

Dec 8, 2023
  • Add all standard colors for byte themes
  • Add -cmd argument to type commands which takes a procedure for customizing the value (see 9fa3f70 - documentation will be updated before release)
  • Compare improvements:
  • Title shows full path if filenames are the same (thanks @usr-sse2)
  • Initial support for View menu applying to both sides (thanks @usr-sse2)
  • Window frame changes no longer affects document frame
  • Fix initial window size being small

New in Hex Fiend 2.17.1 (Nov 28, 2023)

  • Fix crash when selecting a text encoding from the menu before selecting Customize

New in Hex Fiend 2.17 (Nov 28, 2023)

  • macOS 10.14.6 is now required due to introducing Swift into the codebase.
  • Byte themes have been added, accessible from the Views menu.
  • Templates reload automatically when the templates directory is modified (thanks @tbartelmess)
  • Text encodings menu can now be customized
  • Add setting "Match inactive text selection color with active" to help with selection color in dark mode
  • Fixed rendering issues with Sonoma (thanks @zorgiepoo).
  • Fix include command not working for builtin templates
  • Add error handling to section commands
  • Better error message when the requires command fails
  • Added uleb128 and sleb128 commands
  • Custom bytes grouping values are now capped and validated to prevent crashing
  • Anti-alias option has been removed
  • Templates now can have metadata in their header comment block, which powers these new features:
  • Auto-detection. Templates can store file type information (UTI, extension) which is used to choose the template. Note that most builtin templates don't yet have this information set.
  • Hide templates. If a template file isn't actually a template, such as a utilities file, it can have metadata set to hide it.
  • Minimum version. Metadata can include the minimum version to exclude showing a template in the list if the app version is lower.

New in Hex Fiend 2.16 (Jun 15, 2022)

  • Community templates are now embedded in the app and can be selected from the Templates dropdown.
  • Fixed endian for 2-byte unsigned int not working
  • Fixed nested collapsed sections not collapsing

New in Hex Fiend 2.15 (May 29, 2022)

  • Add sectioncollapse command and -collapsed option to section command (thanks @ahelsley)
  • Fix a crash on Apple Silicon (thanks @mredig)
  • Left-align template errors and use a fixed width font (thanks @tbartelmess)
  • Add sectionname command (thanks @fosterbrereton)
  • Support symbolic links in the templates directory (thanks @fosterbrereton)
  • Add include command (thanks @fosterbrereton)
  • Add Data Inspector support for all integers sizes from 1 through 16 bytes (thanks @fosterbrereton)
  • Add hf_min_version_required command (thanks @fosterbrereton)

New in Hex Fiend 2.14.1 (May 29, 2022)

  • Added a new icon to match the Big Sur style (thanks @Forrest-J)
  • Fixed "Open Drive" not working

New in Hex Fiend 2.14 (May 29, 2022)

  • macOS 10.11 or later is now required
  • Hex Fiend is built as a universal app for native support on Apple Silicon Macs
  • 80-bit floats in the data inspector are currently disabled as they rely on Intel instruction
  • Fix the data inspector's plus and minus buttons not rendering correctly on Big Sur
  • The default alternating row color in light mode is now the system color, like dark mode
  • To use the classic blue color, run in Terminal: defaults write com.ridiculousfish.HexFiend UseBlueAlternatingColor -bool true
  • The binary templates view can be resized by holding down the Command key when resizing the window. The manual size field in Preferences has been removed
  • Add an informative "Welcome" popover when Binary Templates are first shown
  • Binary template column state is now saved and restored
  • Allow the Binary data inspector to be editable
  • Add an experimental read-only Binary view
  • Improve 4 and 8-bit decimal formatting (thanks @wader)
  • Add a "Show in Template" feature which selects the deepest template node for a given position (thanks @wader)

New in Hex Fiend 2.13.1 (May 29, 2022)

  • Fix line numbers not expanding

New in Hex Fiend 2.13 (May 29, 2022)

  • Add preference to control the byte grouping when copying data as hex
  • Add support for 2-byte custom encodings (thanks @tellowkrinkle)
  • Add fatdate/fattime templates command for reading FAT/DOS 2-byte dates (thanks @denisname)
  • Custom binary template entries using len are now included with the parent selection (thanks @kumowoon1025)
  • Improve Color Bytes when in Dark Mode
  • Improve diff range prompt UI
  • Fix text search when using a custom encoding (thanks @svendahlstrand)
  • Fix scrolling templates view in the diff viewer (thanks @andryblack)
  • Fix read-only bug with data inspectors (thanks @kumowoon1025)
  • Fix hexf handling of piped input
  • Fix crash when opening a file while search is active
  • Fix Hex Fiend holding on to files after they are closed

New in Hex Fiend 2.12 (May 29, 2022)

  • macOS 10.9 or later is now required.
  • Added basic extended attributes support. The open file dialog will now list the extended attributes for the selected file. This allows opening classic metadata such as resource forks ("com.apple.ResourceFork") and Finder Info ("com.apple.FinderInfo"), and other data (for example "com.apple.quarantine"). Currently extended attributes are read-only and cannot be modified.
  • Data Inspector can now view half-precision (2-byte) floats
  • Prevent the document from being modified when editing ends with the data inspector
  • Binary template improvements:
  • Add experimental uint8_bits, uint16_bits, uint32_bits, and uint64_bits commands
  • Add unixtime32 and unixtime64 for reading unix times
  • Add cstr command for reading NUL-terminated strings
  • Add file caching to improve performance
  • Fix UUID reading for little endian (@tellowkrinkle)
  • Add TIFF template (@denisname)
  • Add PSD template (@Reeywhaar)
  • Add ID3v2 template (@wader)
  • Updated FLAC template (@wader)

New in Hex Fiend 2.11 (May 29, 2022)

  • Hex Fiend is notarized for added security on 10.14+
  • Add anchored scrolling. When scrolling horizontally, the document will be anchored by the selection offset (if visible) or first visible byte
  • Add column view (off by default)
  • Add custom byte grouping
  • Fix data inspector text alignment (thanks rpendleton)
  • Fix plain/ascii text alignment with line numbers
  • Fix crash when Color Bytes is enabled with a multi-byte text encoding
  • Fix incorrect parsing of large ULEB128/SLEB128 values
  • Move fonts in Font menu to bottom to improve handling for a large number of fonts
  • Binary template improvements:
  • Add section selection
  • Add entry command for arbitrary key/value fields
  • Add eof as a special length parameter to go to the end of the file
  • Add optional -hex argument for unsigned integers to display as hexadecimal
  • Add str command that takes an encoding identifier
  • Add sectionvalue command that sets the value of the current section
  • Sections now auto-expand
  • Add preference for controlling behavior on single and double click of template entries
  • Set working directory to templates folder so "source" command can use relative paths
  • Performing a copy with a selected entry copies its value to the clipboard
  • Fix incorrect anchor usage in some commands
  • Fix incorrect error handling with zlib_uncompress
  • Fix window width adjustment when showing/hiding templates
  • Prefix hexadecimal values with 0x to match Data Inspector
  • Improve error messages for read failures
  • Improve documentation

New in Hex Fiend 2.10 (May 29, 2022)

  • Add dark mode for 10.14 Mojave
  • Initial tabbed windows support (thanks saagarjha)
  • Experimental custom string encoding support
  • Binary template improvements:
  • Template label argument is now optional. When the label argument is not passed, no entry in the UI will be created.
  • The selected template is now remembered
  • "Refresh" also reloads the selected template
  • Add "Copy Value" to binary template item
  • Increased script timeout to 10 seconds
  • Add "Select Bytes" context menu
  • Fix template variables persisting between runs
  • Improve "requires" error message
  • Add "bytes" command
  • Add "zlib_uncompress" command
  • hexf improvements:
  • hexf can open documents from stdin (for example "echo hello | hexf")
  • hexf brings Hex Fiend to front

New in Hex Fiend 2.10 Beta 1 (Jun 18, 2018)

  • Experimental custom string encoding support

New in Hex Fiend 2.9.0 (Jun 18, 2018)

  • New high-resolution app icon!
  • Highlight selected bytes with a custom color via the "Highlight Selection" contextual menu
  • Fix Find controls clipped on macOS 10.13
  • Change banner views (Find, Jump to Offset, etc) to fixed heights to fix weird resizing
  • hexf can write to a non-existent file and diff two files via "hexf -d file1 file2"
  • hexf is now installed with escalated privileges
  • Fixed hexf with relative paths
  • Make file permissions on save more secure (thanks wesdawg)
  • Added preference to disable alias resolving
  • Added nullability annotations to the Framework for better Swift interoperability (thanks Ben10do)
  • Hex Fiend is now fully converted to Automatic Reference Counting

New in Hex Fiend 2.8.0 (Jul 31, 2017)

  • Add "Copy as ASCII" menu for always copying plain text as ASCII instead of the current encoding
  • Add preference to control default edit mode
  • Add search field to encodings window
  • When Find is activated its text field's text is now selected
  • Fix crash when copying more than 32KB of text
  • Fix hexf missing shebang (thanks Misty De Meo)

New in Hex Fiend 2.7.0 (May 15, 2017)

  • Add option to show data inspector ints as hexadecimal or decimal
  • Fix line number format not saving when clicking the column directly
  • Window now auto saves its position (thanks Daniele Cattaneo)
  • 95% of code has been updated for Automatic Reference Counting
  • Removed File > Open Path. Use the standard open dialog's command-shift-G feature to open paths directly

New in Hex Fiend 2.7.0 Beta 1 (Apr 6, 2017)

  • Add option to show data inspector ints as hexadecimal or decimal
  • Fix line number format not saving when clicking the column directly

New in Hex Fiend 2.6.0 (Apr 6, 2017)

  • Add hexf command line tool, which can be installed via the menu Hex Fiend > Install Command Line Tool. This is a simpler convience wrapper around the open command.
  • Fix showing the last line number with certain fonts (thanks Daniele Cattaneo!)

New in Hex Fiend 2.5.0 (Feb 5, 2017)

  • Add Line Number Format menu
  • Font menu items display using font
  • Remove File Format option when saving
  • Fix broken read-only mode
  • Fix error messages not showing when files can't be opened
  • Update Sparkle to 1.16.0

New in Hex Fiend 2.4.0 (Nov 24, 2016)

  • Added binary and SLEB128 and ULEB128 int inspector
  • Added hide null bytes option
  • Added text encodings table
  • Allow selecting packages and hidden files
  • Fixed many bugs and memory leaks
  • Update Sparkle to 1.14.0

New in Hex Fiend 2.1.2 (Feb 6, 2012)

  • Fixed Jump to Offset

New in Hex Fiend 2.1.1 (Dec 22, 2011)

  • Fixed a bug that caused exceptions when scrolling with a non-precise scrolling device (like a classic scroll wheel mouse).
  • Removed an .xcconfig file that was inadvertently being copied into Resources.

New in Hex Fiend 2.1.0 (Dec 22, 2011)

  • Support for computing a binary diff between two files. This is a "true" LCS-based diff. Support for computing the diff lives in HexFiend.framework, while the document that presents it is in HexFiend.app.
  • Bookmark support. Bookmarks are little balloons that point at a range of bytes. They are not saved with the document.
  • Some support for attributes on ranges of bytes, which then can be translated into visual styles (such as colors).
  • Hex Fiend now has a privileged helper process ("Fortunate Son"), which can be used to read raw devices, root owned files, etc. Communication is via MIG.
  • Transient untitled document support. That is, if there is an untitled document that has never been edited, its window gets used by any document that's opened.
  • Undo can now be preserved across saves, when doing so doesn't require too much memory.
  • It looks more 3D. It's like you're really inside a hex editor!
  • Many more bug fixes representing a few years of work.

New in Hex Fiend 1.1.1 (Jul 15, 2009)

  • Fixed bugs:
  • The Go To sheet now accepts input in hex (prefix with 0x) and octal (prefix with 0)
  • Fixed annoying bug where the text field value was not committed in the Go To sheet.
  • Fixed bug where the next byte state was not properly cleared after using the Go To sheet.
  • Fixed bug where delete would remove data in overwrite mode.