-
Notifications
You must be signed in to change notification settings - Fork 2
/
ReleaseNotes.html
309 lines (283 loc) · 14.9 KB
/
ReleaseNotes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<!DOCTYPE html>
<html>
<head>
<title>Hex Fiend Release Notes</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
:root {
color-scheme: light dark;
}
body {
font-family: sans-serif;
}
</style>
</head>
<body>
<h2>Hex Fiend Release Notes</h2>
<h3>v2.18</h3>
<ul>
<li>On Sonoma use the new text insertion style</li>
<li>Added setting for optional "replace only" algorithm for Compare (thanks @usr-sse2)</li>
<li>Jump to Offset highlight now only applies to a single byte. Rounded corners on overlay are removed, and extended the time visible</li>
<li>Add all standard colors for byte themes</li>
<li>Add <code>-cmd</code> argument to type commands which takes a procedure for customizing the value</li>
<li>Add <code>-utcOffset</code> argument to unixtime and macdate</li>
<li>Fix nested section error handling</li>
<li>Bookmarks no longer mark the document as edited</li>
</ul>
<h3>v2.17.1</h3>
<ul>
<li>Fix crash when selecting a text encoding from the menu before selecting Customize</li>
</ul>
<h3>v2.17</h3>
<ul>
<li>macOS 10.14.6 is now required due to introducing Swift into the codebase.</li>
<li>Templates now can have <a href="https://github.com/HexFiend/HexFiend/blob/master/templates/Reference.md#metadata">metadata</a> in their header comment block, which powers these new features:</li>
<ul>
<li>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.</li>
<li>Hide templates. If a template file isn't actually a template, such as a utilities file, it can have metadata set to hide it.</li>
<li>Minimum version. Metadata can include the minimum version to exclude showing a template in the list if the app version is lower.</li>
</ul>
<li><a href="https://github.com/HexFiend/HexFiend/blob/master/docs/ByteThemes.md">Byte themes</a> have been added, accessible from the Views menu.</li>
<li>Templates reload automatically when the templates directory is modified (thanks @tbartelmess)</li>
<li>Text encodings menu can now be customized</li>
<li>Add setting "Match inactive text selection color with active" to help with selection color in dark mode</li>
<li>Fixed rendering issues with Sonoma (thanks @zorgiepoo).</li>
<li>Fix <code>include</code> command not working for builtin templates</li>
<li>Add error handling to section commands</li>
<li>Better error message when the <code>requires</code> command fails</li>
<li>Added <code>uleb128</code> and <code>sleb128</code> commands</li>
<li>Custom bytes grouping values are now capped and validated to prevent crashing</li>
<li>Anti-alias option has been removed</li>
</ul>
<h3>v2.16</h3>
<ul>
<li>Community templates are now embedded in the app and can be selected from the Templates dropdown.</li>
<li>Fixed endian for 2-byte unsigned int not working</li>
<li>Fixed nested collapsed sections not collapsing</li>
</ul>
<h3>v2.15</h3>
<ul>
<li>Add <code>sectioncollapse</code> command and <code>-collapsed</code> option to <code>section</code> command (thanks @ahelsley)</li>
<li>Fix a crash on Apple Silicon (thanks @mredig)</li>
<li>Left-align template errors and use a fixed width font (thanks @tbartelmess)</li>
<li>Add <code>sectionname</code> command (thanks @fosterbrereton)</li>
<li>Support symbolic links in the templates directory (thanks @fosterbrereton)</li>
<li>Add <code>include</code> command (thanks @fosterbrereton)</li>
<li>Add Data Inspector support for all integers sizes from 1 through 16 bytes (thanks @fosterbrereton)</li>
<li>Add <code>hf_min_version_required</code> command (thanks @fosterbrereton)</li>
</ul>
<h3>v2.14.1</h3>
<ul>
<li>Added a new icon to match the Big Sur style (thanks @Forrest-J)</li>
<li>Fixed "Open Drive" not working</li>
</ul>
<h3>v2.14</h3>
<ul>
<li>macOS 10.11 or later is now required</li>
<li>Hex Fiend is built as a universal app for native support on Apple Silicon Macs<ul>
<li>80-bit floats in the data inspector are currently disabled as they rely on Intel instruction</li>
</ul>
</li>
<li>Fix the data inspector's plus and minus buttons not rendering correctly on Big Sur</li>
<li>The default alternating row color in light mode is now the system color, like dark mode<ul>
<li>To use the classic blue color, run in Terminal:
<code>defaults write com.ridiculousfish.HexFiend UseBlueAlternatingColor -bool true</code></li>
</ul>
</li>
<li>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</li>
<li>Add an informative "Welcome" popover when Binary Templates are first shown</li>
<li>Binary template column state is now saved and restored</li>
<li>Allow the Binary data inspector to be editable</li>
<li>Add an experimental read-only Binary view</li>
<li>Improve 4 and 8-bit decimal formatting (thanks @wader)</li>
<li>Add a "Show in Template" feature which selects the deepest template node for a given position (thanks
@wader)</li>
</ul>
<h3>v2.13.1</h3>
<ul>
<li>Fix line numbers not expanding</li>
</ul>
<h3>v2.13</h3>
<ul>
<li>Add preference to control the byte grouping when copying data as hex</li>
<li>Add support for 2-byte custom encodings (thanks @tellowkrinkle)</li>
<li>Add <code>fatdate</code>/<code>fattime</code> templates command for reading FAT/DOS 2-byte dates (thanks
@denisname)</li>
<li>Custom binary template entries using <code>len</code> are now included with the parent selection (thanks
@kumowoon1025)
</li>
<li>Improve Color Bytes when in Dark Mode</li>
<li>Improve diff range prompt UI</li>
<li>Fix text search when using a custom encoding (thanks @svendahlstrand)</li>
<li>Fix scrolling templates view in the diff viewer (thanks @andryblack)</li>
<li>Fix read-only bug with data inspectors (thanks @kumowoon1025)</li>
<li>Fix <code>hexf</code> handling of piped input</li>
<li>Fix crash when opening a file while search is active</li>
<li>Fix Hex Fiend holding on to files after they are closed</li>
</ul>
<h3>v2.12</h3>
<ul>
<li>macOS 10.9 or later is now required.</li>
<li>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.</li>
<li>Data Inspector can now view half-precision (2-byte) floats</li>
<li>Prevent the document from being modified when editing ends with the data inspector</li>
<li>Binary template improvements:
<ul>
<li>Add experimental <code>uint8_bits</code>, <code>uint16_bits</code>, <code>uint32_bits</code>, and
<code>uint64_bits</code> commands</li>
<li>Add <code>unixtime32</code> and <code>unixtime64</code> for reading unix times</li>
<li>Add <code>cstr</code> command for reading NUL-terminated strings</li>
<li>Add file caching to improve performance</li>
<li>Fix UUID reading for little endian (@tellowkrinkle)</li>
<li>Add TIFF template (@denisname)</li>
<li>Add PSD template (@Reeywhaar)</li>
<li>Add ID3v2 template (@wader)</li>
<li>Updated FLAC template (@wader)</li>
</ul>
</li>
</ul>
<h3>v2.11</h3>
<ul>
<li>Hex Fiend is notarized for added security on 10.14+</li>
<li>Binary template improvements:
<ul>
<li>Add section selection</li>
<li>Add <code>entry</code> command for arbitrary key/value fields</li>
<li>Add <code>eof</code> as a special length parameter to go to the end of the file</li>
<li>Add optional <code>-hex</code> argument for unsigned integers to display as hexadecimal</li>
<li>Add <code>str</code> command that takes an encoding identifier</li>
<li>Add <code>sectionvalue</code> command that sets the value of the current section</li>
<li>Sections now auto-expand</li>
<li>Add preference for controlling behavior on single and double click of template entries</li>
<li>Set working directory to templates folder so "source" command can use relative paths</li>
<li>Performing a copy with a selected entry copies its value to the clipboard</li>
<li>Fix incorrect anchor usage in some commands</li>
<li>Fix incorrect error handling with <code>zlib_uncompress</code></li>
<li>Fix window width adjustment when showing/hiding templates</li>
<li>Prefix hexadecimal values with 0x to match Data Inspector</li>
<li>Improve error messages for read failures</li>
<li>Improve documentation</li>
</ul>
<li>Add anchored scrolling. When scrolling horizontally, the document will be anchored by the selection offset (if
visible) or first visible byte</li>
<li>Add column view (off by default)</li>
<li>Add custom byte grouping</li>
<li>Fix data inspector text alignment (thanks rpendleton)</li>
<li>Fix plain/ascii text alignment with line numbers</li>
<li>Fix crash when Color Bytes is enabled with a multi-byte text encoding</li>
<li>Fix incorrect parsing of large ULEB128/SLEB128 values</li>
<li>Move fonts in Font menu to bottom to improve handling for a large number of fonts</li>
</ul>
<h3>v2.10</h3>
<ul>
<li>Add dark mode for 10.14 Mojave</li>
<li>Initial tabbed windows support (thanks saagarjha)</li>
<li>Binary template improvements:
<ul>
<li>Template label argument is now optional. When the label argument is not passed, no entry in the UI will be
created.</li>
<li>The selected template is now remembered</li>
<li>"Refresh" also reloads the selected template</li>
<li>Add "Copy Value" to binary template item</li>
<li>Increased script timeout to 10 seconds</li>
<li>Add "Select Bytes" context menu</li>
<li>Fix template variables persisting between runs</li>
<li>Improve "requires" error message</li>
<li>Add "bytes" command</li>
<li>Add "zlib_uncompress" command</li>
</ul>
<li>hexf improvements:
<ul>
<li>hexf can open documents from stdin (for example "echo hello | hexf")</li>
<li>hexf brings Hex Fiend to front</li>
</ul>
<li>Experimental <a href="https://github.com/ridiculousfish/HexFiend/issues/95#issuecomment-397858715">custom string
encoding</a> support</li>
</ul>
<h3>v2.9</h3>
<ul>
<li>Binary Templates are here! Note this is an early beta, and fields are currently read-only.</li>
<li>New high-resolution app icon!</li>
<li>Highlight selected bytes with a custom color via the "Highlight Selection" contextual menu</li>
<li>Fix Find controls clipped on macOS 10.13</li>
<li>Change banner views (Find, Jump to Offset, etc) to fixed heights to fix weird resizing</li>
<li>hexf can write to a non-existent file and diff two files via "hexf -d file1 file2"</li>
<li>hexf is now installed with escalated privileges</li>
<li>Fixed hexf with relative paths</li>
<li>Make file permissions on save more secure (thanks wesdawg)</li>
<li>Added preference to disable alias resolving</li>
<li>Added nullability annotations to the Framework for better Swift interoperability (thanks Ben10do)</li>
<li>Hex Fiend is now fully converted to Automatic Reference Counting</li>
</ul>
<h3>v2.8</h3>
<ul>
<li>Add "Copy as ASCII" menu for always copying plain text as ASCII instead of the current encoding</li>
<li>Add preference to control default edit mode</li>
<li>Add search field to encodings window</li>
<li>When Find is activated its text field's text is now selected</li>
<li>Fix crash when copying more than 32KB of text</li>
<li>Fix <code>hexf</code> missing shebang (thanks Misty De Meo)</li>
</ul>
<h3>v2.7</h3>
<ul>
<li>Add option to show data inspector ints as hexadecimal or decimal</li>
<li>Fix line number format not saving when clicking the column directly</li>
<li>Window now auto saves its position (thanks Daniele Cattaneo)</li>
<li>95% of code has been updated for Automatic Reference Counting</li>
<li>Removed File > Open Path. Use the standard open dialog's command-shift-G feature to open paths directly</li>
</ul>
<h3>v2.6</h3>
<ul>
<li>Add <code>hexf</code> command line tool, which can be installed via the menu Hex Fiend > Install Command Line
Tool. This is a simpler convience wrapper around the <code>open</code> command.</li>
<li>Fix showing the last line number with certain fonts (thanks Daniele Cattaneo)</li>
</ul>
<h3>v2.5</h3>
<ul>
<li>Add Line Number Format menu</li>
<li>Font menu items display using font</li>
<li>Remove File Format option when saving</li>
<li>Fix broken read-only mode</li>
<li>Fix error messages not showing when files can't be opened</li>
</ul>
<h3>v2.4</h3>
<ul>
<li>Added binary and SLEB128 and ULEB128 int inspector</li>
<li>Added hide null bytes option</li>
<li>Added text encodings table</li>
<li>Allow selecting packages and hidden files</li>
<li>Fixed many bugs and memory leaks</li>
</ul>
<h3>v2.1.2</h3>
<ul>
<li>Fixed Jump to Offset</li>
</ul>
<h3>v2.1.1</h3>
<ul>
<li>Fixed a bug that caused exceptions when scrolling with a non-precise scrolling device (like a classic scroll
wheel mouse).</li>
<li>Removed an .xcconfig file that was inadvertently being copied into Resources</li>
</ul>
<h3>v2.1.0</h3>
<ul>
<li>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.</li>
<li>Bookmark support. Bookmarks are little balloons that point at a range of bytes. They are not saved with the
document.</li>
<li>Some support for attributes on ranges of bytes, which then can be translated into visual styles (such as
colors).</li>
<li>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.</li>
<li>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.</li>
<li>Undo can now be preserved across saves, when doing so doesn't require too much memory.</li>
<li>It looks more 3D. It's like you're really inside a hex editor!</li>
<li>Many more bug fixes representing a few years of work.</li>
</ul>
</body>
</html>