Hex Fiend Release Notes
v2.18.1
- Fixed leftover Compare bugs from 2.18 betas
v2.18
- On Sonoma use the new text insertion style
- Added setting for optional "replace only" algorithm for Compare (thanks @usr-sse2)
- Jump to Offset highlight now only applies to a single byte. Rounded corners on overlay are removed, and extended the time visible
- Add all standard colors for byte themes
- Add
-cmd
argument to type commands which takes a procedure for customizing the value
- Add
-utcOffset
argument to unixtime and macdate
- Fix nested section error handling
- Bookmarks no longer mark the document as edited
v2.17.1
- Fix crash when selecting a text encoding from the menu before selecting Customize
v2.17
- macOS 10.14.6 is now required due to introducing Swift into the codebase.
- 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.
- 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
v2.16
- 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
v2.15
- 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)
v2.14.1
- Added a new icon to match the Big Sur style (thanks @Forrest-J)
- Fixed "Open Drive" not working
v2.14
- 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)
v2.13.1
- Fix line numbers not expanding
v2.13
- 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
v2.12
- 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)
v2.11
- Hex Fiend is notarized for added security on 10.14+
- 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
- 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
v2.10
- Add dark mode for 10.14 Mojave
- Initial tabbed windows support (thanks saagarjha)
- 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
- Experimental custom string
encoding support
v2.9
- Binary Templates are here! Note this is an early beta, and fields are currently read-only.
- 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
v2.8
- 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)
v2.7
- 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
v2.6
- 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)
v2.5
- 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
v2.4
- 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
v2.1.2
v2.1.1
- 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
v2.1.0
- 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.