| 2.06 |
|
| 2.05 |
New Features
- Added bookmarks. Ctrl+B marks the selection or the byte at the cursor, with highlighting in both columns, jumps from the list, name and color changes, and visibility control. The Free Edition supports up to three bookmarks. Bookmarks are cleared when the file is closed and are never saved to files or settings.
- Added Select all (Ctrl+A) to the Edit and context menus.
- Added a selected byte count immediately to the left of the file size in the second status-bar row. Number separators follow the display language, and the count remains visible alongside warnings and progress.
- Added a separate current buffer size field at the right end of the second status row with a vertical divider, showing the exact byte count and KB, MB, or GB using 1024-based conversion. Number separators follow the display language.
- Added Shift+Click to extend or shrink a selection. It keeps the existing fixed endpoint, or uses the current byte when nothing is selected, and includes the clicked byte.
- Added vertical and horizontal autoscroll during drag selection. Outside the data viewport, it scrolls one row and one byte cell every 50 ms, stopping when the pointer returns, the button is released, or capture or focus is lost.
Improvements
- Changed the status bar to two rows separated by a horizontal divider so position, encoding, and editing state remain visible while warnings and progress are shown on a separate row.
- Extended the read-only warning from 0.9 to 5 seconds to make the instructions easier to read. Operations remain available while the warning is displayed.
- Typing in overwrite mode in an empty file now shows a five-second status warning explaining how to switch to insert mode. Overwrite mode keeps the file size unchanged.
Bug Fixes
Files and Saving
- Fixed the current document being closed when opening another file failed. The original document and unsaved edits are retained until the new file opens successfully.
- Fixed a problem where saving after another program appended to or modified the file could discard the external changes. When external changes are detected, a prompt asks whether to discard edits and reload the file. If you decline, unsaved edits are retained and saving is blocked.
- Fixed saving to a same-named file in another folder after opening a relative path and changing the working directory. File paths are now resolved to absolute paths when opening or starting Save As.
Selection and Scrolling
- Fixed the vertical scrollbar failing to return to the end of files larger than 32 GiB when the thumb was dragged to the bottom. The scrollbar now covers the full file while retaining line and page movement distances.
- Fixed losing the original anchor when extending or shrinking a mouse selection with Shift. The fixed endpoint is retained after releasing the mouse button.
- Fixed selection lengths not matching movement with Shift+Up/Down, Home, and PageUp/PageDown. Shift+End includes the last byte of the row, and Ctrl+Shift+End includes the last byte of the file.
- Fixed Shift+Left/Right selecting one extra byte. With no selection, Shift+Right selects the current byte and Shift+Left selects the preceding byte. Copy, Cut, and Delete use this corrected range.
- Fixed a one-byte selection remaining after returning to the starting position with Shift. Returning to the anchor clears the selection; crossing it selects in the opposite direction.
- Fixed selection being created or changed by Shift navigation that cannot move further. Selection now stops at the start and end boundaries.
- Fixed incorrectly selecting the last byte when starting a Shift selection after the end of the file in insert mode.
Editing and Clipboard
- Fixed overwrite-mode paste changing the file size and discarding selected bytes. Paste is rejected without changing the document when the selected and pasted byte counts differ or the data extends past the end of the file, with an explanation shown. Use insert mode to change the length.
- Fixed data loss when memory allocation failed during replacement in paste or edit history restoration. Failed replacements now retain the previous edits.
- Fixed excessive memory allocation proportional to the number of deleted bytes when deleting large ranges. Deletions are now stored as intervals, and allocation failures before deletion retain the edits.
- Improved responsiveness when copying or cutting large selections. Hexadecimal conversion is faster, preparation progress is displayed, and Esc cancels preparation. Cut deletes the selection only after successful transfer to the clipboard.
- Improved responsiveness during large pastes by adding preparation progress, Esc cancellation, and UI message processing. The decoded buffer is allocated once after validation. Applying the prepared edit cannot be cancelled.
- Fixed missing feedback when Ctrl+X or Ctrl+V is pressed in read-only mode. The status bar now displays the same read-only warning as the Delete key.
Character Display
- Fixed incorrect row boundaries in long two-byte sequences displayed as Big5, GBK, CP949, or EUC-KR. Rows beginning with a trailing byte now match parsing from the start of the document.
- Fixed shifted or incorrect Shift-JIS characters at row boundaries caused by interpreting a trailing byte from the previous row as a leading byte.
Struct View
- Fixed a stack overflow when loading excessively nested struct definitions. Struct embedding is limited to 128 levels, and deeper definitions now return a load error.
- Fixed application termination when loading structure definitions with cyclic typedef aliases. Cycles now produce a loading error, and long alias chains are resolved without recursion.
- Fixed excessive memory use when previewing large structures. Only the leading bytes needed for displayed fields are read, including fields after large arrays. Memory allocation failures during analysis are also handled.
- Fixed float and double values in the structure view ignoring the endian setting. Floating-point values are now interpreted using the selected byte order.
- Fixed negative signed integers appearing as unsigned values in decimal mode in the structure view. Type signedness is now respected, including typedef aliases.
- Fixed flickering in the Struct View window and its buttons when updating analysis results.
Display and Edit History
- Fixed flickering in the editor when toggling read-only mode with Ctrl+R.
Distribution Changes
- The ZIP contains the executable, the resources folder, and a portable settings marker. It does not include patterns or license.txt. Samples and the license are available on this site.
- Removed the requirement to include a license file when redistributing the original, unmodified ZIP.
|
| 2.04 |
Improvements
- Added a right-click editing menu in the hex dump area for Cut, Copy, Paste, Delete, and Read-only mode. The menu can also be opened with the Menu key or Shift+F10.
- Added Save As to save the current contents to a different file.
- Added Cut (Ctrl+X), Copy (Ctrl+C), Paste (Ctrl+V), and Delete (Del) to the Edit menu. Paste accepts hexadecimal text and replaces the selected range, or follows the current insert or overwrite mode when no range is selected.
- Aligned the menus with the Microsoft Store edition. Features unavailable in the free edition are shown disabled.
- Added range selection using Shift with arrow keys, PageUp/Down, Home/End, and Ctrl+Home/End.
- Selection now updates immediately when using navigation keys while holding the left mouse button, without moving the mouse.
Bug Fixes
- Fixed incorrect display of characters such as Đ and é in Vietnamese encoding Windows-1258.
- Fixed severe slowdowns in searching and copying ranges after edits involving byte insertions or deletions.
- Fixed an issue where a failed write during saving could partially overwrite the original file. Edited contents are now fully written to a temporary file before replacing the destination.
- Fixed long delays and an unresponsive editor when refreshing the display after deleting a large range in the middle of a file.
Struct View
- Fixed a size calculation overflow in structure definitions containing large arrays that could cause reads outside the input data. Definitions that exceed the size calculation limit are now rejected when loaded.
|
| 2.03 |
Improvements
- Updated the YuHex app icon and added it to the About dialog.
Bug Fixes
- Fixed an issue where deleting bytes from the end of a file and then adding new bytes could save the wrong content.
|
| 2.02 |
Bug Fixes
- Fixed an issue where changing the search value while a previous result was selected could miss a match beginning at the selected position.
|
| 2.01 |
Notes
- The license wording has been changed. Personal and commercial use remain free.
- The MSI installer shortcut name has been changed to YuHex Free Edition.
- If you installed version 2.00 or earlier using the installer, uninstalling the old version first is recommended. Settings will be carried over. If you do not uninstall the old version first, the old shortcut will remain.
Improvements
- Offset the initial main window position automatically so multiple YuHex instances do not open directly on top of each other.
|
| 2.00 |
Support
- Added dark mode and made the new Cool Slate theme the default.
- Expanded the maximum full file path length from 260 characters (UTF-16 code units) to 32K characters.
- Added the installer (.msi) distribution.
- Added display language support for Belarusian, German, Spanish, French, Hungarian, Italian, Korean, Polish, Portuguese, Russian, Ukrainian, Simplified Chinese, and Traditional Chinese.
Improvements
- Improved the initial window position and size so the application fits better within the monitor work area on smaller screens.
- Changed the JSON settings file location based on the distribution format. The ZIP version stores settings next to the executable, the MSI version stores them under %LOCALAPPDATA%\YuHex, and the MSIX version stores them in the package LocalState folder.
Bug Fixes
- Fixed an issue where edits might not be reflected when saving files on UNC paths such as WSL paths.
|