010 Editor Changelog

What's new in 010 Editor 8.0.1

Dec 30, 2017
  • Fixed crash on macOS using Printf and %Lx or %Ld in certain cases.
  • Fixed templates with a file mask but no ID bytes were not being executed when a data file was opened.
  • Fixed possible crashes in Find and Replace with Regular Expressions that use ^ or $.
  • Fixed when installing on Mac, path info is added to .profile if it exists and .bash_profile does not.
  • Fixed crash passing variables of the wrong type to user functions in certain cases.
  • Fixed crash using Ctrl+Enter when certain panels were displayed.
  • Fixed crash using ++ or -- operators on a struct (should be a syntax error).
  • Fixed bug with FileSave and FileSaveRange properly converting UTF8 file names.
  • Fixed crash in FileNameSetExtension function when passing an empty extension.
  • Find/Goto/Select Bar Options button hotkey changed to Alt+P (Alt+O was not working).

New in 010 Editor 8.0 (May 8, 2017)

  • OVERVIEW OF THE NEW FUNCTIONALITY:
  • Different application themes are now available including dark and light themes.
  • Themes can be customized, created, exported and imported using the Theme/Colors page of the Options dialog.
  • A Portable version of 010 Editor is now available on Windows for running 010 Editor from USB keys.
  • New visual style for the Text Editor, Hex Editor and File/Docking Tabs.
  • Better support for high-DPI displays including new higher-resolution icons.
  • Tabs in the Workspace, Inspector and Output windows can now be rearranged and undocked separately.
  • Workspace, Startup page, plus other dialogs now show a list of files split into Name/Path.
  • NEW FEATURES:
  • Themes:
  • 010 Editor now has themes which control the colors used for the application and how certain elements are drawn.
  • The default theme is a dark theme (Evening Sky) but a light theme is available (Blue Sky) plus others.
  • Themes can be chosen in the Welcome dialog when the application is first run or on the Theme/Colors page of the Options dialog.
  • A 'Classic' theme is available which is similar to previous versions of 010 Editor.
  • The individual colors of the themes can all be customized using the Theme/Colors page of the Options dialog.
  • New themes can be created, exported and imported using the Theme/Colors page.
  • Themes now control the colors of the Menu Bar, Tool Bars, File Tabs, Dock Window Tabs, Dock Windows, Tables, Graphs, Editors, etc.
  • Syntax Styles (for example for C/C++ or XML highlighting) are now controlled with the Theme.
  • Syntax Styles can be created, modified or deleted using the Theme/Colors page.
  • Background colors from templates are automatically darkened when using dark themes (see the new ThemeAutoScaleColors function to control this).
  • Bookmark colors are now controlled using the theme unless the Use Custom Color toggle is enabled in the Add Bookmark dialog.
  • New style for Find/Replace/Goto/Select bars and bars are now themeable.
  • Some UI elements can either be drawn using the OS standard method (called Native drawing) or with a custom themed drawing.
  • Native drawing of elements can be turned on or off using the Options drop-down menu on the Theme/Colors page of the Options dialog.
  • On macOS some UI elements are always drawn using Native rendering (for example the Menu bar and the Status bar).
  • The Startup page colors are now controlled using Themes.
  • Portable Version:
  • A Portable version of 010 Editor is now available for Windows 32 and 64-bit as a separate installer.
  • The Portable version can be placed on a USB key and moved between different computers.
  • Run the '010EditorPortable.exe' program to start 010 Editor (or the '010Editor.exe' program in the 'AppData' directory).
  • Licensing information is stored in the portable directory structure under 'AppDataConfig' instead of the registry.
  • The program asks to copy a license from the registry to the portable directory structure the first time the portable version is run.
  • Scripts and Templates are automatically installed to the '010 Scripts' and '010 Templates' directories in the portable directory structure.
  • All directories in the Directories panel of the Options dialog are listed as being offset the '($BASEDIR)' constant.
  • No desktop icon is created and no extension to the Windows Explorer is installed.
  • To uninstall just delete the installed directory structure (no uninstaller is necessary).
  • High-DPI Displays:
  • Better support for high-DPI displays on Windows and Linux and Mac.
  • Includes new higher-resolution icons.
  • Docking Windows:
  • Individual tabs of the Workspace, Inspector and Output Windows can now be rearranged and torn off.
  • Tabs for the Docking Windows are drawn in a new style which is themeable.
  • A new docking menu can be accessed by clicking the down arrow in the Dock Header when the window is docked (not floating).
  • The docking menu can be used to Hide or Float the currently displayed Dock Window.
  • When docked, clicking the X button in the Dock Header hides all Tabs in the group.
  • The View menu now allows showing or hiding the individual tabs of the Dock Windows.
  • Commands were added to the View menu to show or hide all tabs in a Dock Window at the same time (for example see 'View > Workspace Windows > Show/Hide All Workspace Windows').
  • Allow Docking option on the right-click menu of a Dock Window now applies to that particular tab, not the whole tab group.
  • The position of Docking Windows can be reset by clicking the down arrow in a custom Dock Header and choosing 'Reset All Docking' from the drop-down menu or by using the -resetdocks command line option.
  • File Tabs:
  • New animated reorder when dragging File Tabs to new positions.
  • Can use the mouse scroll wheel to scroll through tabs if many tabs are open.
  • If a tab is dragged far enough, it will be torn off and can be moved to other tab groups (an arrow shows the insert position).
  • New visual style that is themeable.
  • Better support for dragging tabs when many tabs are opened.
  • Hint text for the tab now shows the size of the file.
  • Editor:
  • Double-click and drag on a text file to select by words.
  • In a text file Ctrl+Backspace deletes the previous word and Ctrl+Del deletes the next word.
  • Explorer:
  • Can use the Root field to set the root directory for the Explorer (only files and directories below that directory are shown).
  • Hide files that do not match the filter instead of just disabling them.
  • Removed the Refresh button as refreshes are done automatically.
  • Command Line:
  • Can use -safe command line option to start 010 Editor without running any scripts or templates on startup.
  • Renamed -reset to -resetdocks for resetting the Dock Window positions.
  • Can use -install on macOS to perform installation checks (check if 010 Editor has been added to the system path).
  • Templates/Scripts:
  • Background colors from templates are automatically darkened when using dark themes (see the new ThemeAutoScaleColors function to control this).
  • New function ThemeIsDark returns true if a dark theme is currently being used.
  • Date formats in the Template Results can now be set to different formats (see the Inspector page of the Options dialog).
  • New functions GetDefaultDateFormat, GetDefaultTimeFormat, and GetDefaultDateTimeFormat can be used to query the chosen date/time formats in the Inspector page of the Options dialog.
  • Can enabled synchronized scrolling of the Template Results using 'Window > Synchronize Template Results Scrolling' (can also be turned on in the Compare dialog).
  • Added function SetBytesPerLine to override the number of bytes per line of a hex editor.
  • Fixed when using on-demand structs the endian setting was not being properly read from the parent.
  • General:
  • Workspace, Startup page, Window List, plus other dialogs now show a list of files split into Name/Path.
  • Can resize the columns of the Workspace and the Startup page Recent Files list.
  • Windows Installer is smaller and faster and does not require restarting the computer.
  • The current Find Results scroll position is saved and restored when switching files.
  • Can set a different date or time format for the Inspector/Template Results on the Inspector page of the Options dialog.
  • Add Bookmark dialog has been rearranged and Bookmark colors are controlled by the theme unless the Use Custom Color toggle is enabled.
  • Can clear the search history for the Find Bar or Replace Bar by clicking '(clear find history)' from the Find Bar history list.
  • When performing a Compare, the Floating Tab Group is hidden if files are moved to the main window as a result of tiling.
  • Save All command now skips over read-only files instead of showing an error that they could not be saved.
  • Options:
  • Can set a different date or time format for the Inspector/Template Results on the Inspector page of the Options dialog.
  • Colors page of the Options dialog renamed to Themes/Colors and can be used to control the current theme.
  • Individual colors are marked as bold when modified and can be reset individually.
  • Color changes are applied immediately in most cases so changes can be seen without having to press the OK button.
  • Removed the Style Options page (styles are now controlled on the Theme/Colors page).
  • Renamed Shadow Cursor to Inactive Caret on the Editor page.
  • Added a Separator Spacing option on the Hex Editor page.
  • macOS:
  • Added Minimize command on the Window menu (Ctrl+M).
  • Shortcut key for Compare changed to Ctrl+Shift+M.
  • Changed shortcut keys for Show and Hide Workspace/Inspector/Output/Floating panels from Alt+(number) to Alt+Shift+(number).
  • Added -install command line option to perform installation tasks again (check if the program is added to the system path).
  • When installing and the program is added to the system path, a copy of .bash_profile is made before overwriting.
  • Fixed issue running 010 Editor from the command line on some macOS systems.
  • Fixed crash on macOS with QAccessibleEvent::uniqueId function.
  • Bugs:
  • Fixed issue with local variables sometimes being placed in the wrong scope when allocating structs inside functions.
  • Fixed underscores were not being printed correctly.
  • Fixed some typos with the Writing Binary Templates tutorial.
  • Fixed a problem using parentof in a custom read function.
  • Fixed Atoi/Atof would work incorrectly when using a non-null-terminated string.
  • Fixed the Floating Tab Group was sometimes not focused correctly after showing it using the View menu.
  • Fixed when reloading a file that is in the repository, the repository icons in the File Bar were not updated correctly.
  • Fixed issue with the dialog size being too small when using the InputRadioButtonBox or InputString functions.
  • Fixed a Base64 import which was not divisible by 4 bytes could sometimes result in extra 00 padding bytes being imported.
  • Fixed some files were being incorrectly identified as Intel-Hex or Motorola on drag-and-drop.
  • Fixed a crash deleting a script or template from the Options dialog when none were installed.
  • Fixed a problem accessing the characters of a non-local string when the string is passed to a function inside a template.
  • Fixed updating the repository on machines using a proxy.
  • Fixed updating the repository on some machines when a directory was not being created properly.

New in 010 Editor 7.0 (Apr 5, 2016)

  • Highlights:
  • New 010 Editor Repository holds an online collection of Binary Templates and Scripts that have been submitted by users of the software.
  • Files from the Repository can be downloaded and installed or uninstalled in 010 Editor with the click of a button.
  • Templates or Scripts can be submitted to the Repository directly from 010 Editor.
  • Can handle multiple versions of files in the Repository including updates, diffs, merges, etc.
  • Updated the style of a number of dialogs including the Startup page and Welcome page.
  • Added 'Using the Repository' tutorial to teach the basics of the repository.
  • Major upgrade to UI library resulting in a number of minor bug fixes and visual fixes.
  • New webpage 'http://www.sweetscape.com/010editor/repository/' shows the Repository in real time.
  • New 'Repository' menu displayed in the File Bar above a Template or Script.
  • Repository:
  • New Repository Dialog accessed by clicking 'Templates > Template Repository' or 'Scripts > Script Repository'.
  • Repository dialog lists all files in the repository and can sort by Category, Alphabetic, or Newest.
  • Install or Uninstall files from the Repository Dialog with the click of a button.
  • Can search for Scripts or Templates in the Repository Dialog with the search field.
  • Licenses for 010 Editor now include free Support, Upgrades, and Repository Updates for 1 year from the date of purchase.
  • When opening a file a dialog pops up if a Template is found in the Repository that can parse the file (can install the Template or ignore).
  • Repository can check for 'ID Bytes' for data files before asking to install.
  • New webpage 'http://www.sweetscape.com/010editor/repository/' shows the Repository in real time.
  • Download package includes a number of files from the Repository (called the Local Repository) so files can be installed even on computers not connected to the internet.
  • Online Repository checked for new updates every 3 days (can be changed or turned off).
  • Renamed a number of files in the repository (e.g. "BMPTemplate.bt" => "BMP.bt").
  • Recent repository updates are listed on the Startup page (double-click on an item to view) or on the History tab of the Repository Dialog.
  • Can submit files to the Repository directly from 010 Editor (see 'Submit File' in the 'Repository' menu above a Script or Template).
  • Submission dialog checks the header for errors and provides an easier way to add Category or History information to the submission.
  • Note that all submissions are reviewed by SweetScape Software before being allowed in the repository.
  • New 'Repository' menu in the File Bar above each Template or Script in the editor.
  • Icon in the File Bar shows the file repository status (Installed from Repository, Modified, Update Available, Conflict).
  • Use the Repository Menu to Update, Check for Modifications, Diff, Revert, Delete, or View Repository.
  • Full update engine including powerful 3-way merge algorithm and showing conflicts.
  • 'Available Versions' table in the Repository Dialog can show multiple versions of files in the Repository. The different versions can be viewed, installed or compared.
  • Display a special warning if a template installed from the Repository asks for permissions to read or write to other files.
  • History tab of the Repository Dialog is displayed when new updates downloaded (can be turned off).
  • Included new tutorial 'Help > Tutorials > Using the Repository'.
  • Default Templates and Scripts (e.g. 'BMP.bt', 'IsASCII.1sc', etc) are now installed from the Repository.
  • Templates/Scripts:
  • New Template and Script repository allows installing and submitting Templates and Scripts easily.
  • Templates and Scripts can be listed by Category in the Templates and Scripts menu.
  • Standard templates have been renamed (e.g. "BMPTemplate.bt" => "BMP.bt").
  • Templates can now have 'ID Bytes' which provide an extra check that a template can parse a data file. For example, the 'ZIP.bt' file has ID Bytes '50 4B //PK'.
  • Renamed 'Templates > Online Template Repository' to 'Template Repository' which now shows the Repository Dialog.
  • Renamed 'Scripts > Online Script Repository' to 'Script Repository' which now shows the Repository Dialog.
  • Renamed 'Templates > Edit Template List' to 'View Installed Templates'.
  • Renamed 'Scripts > Edit Script List' to 'View Installed Scripts'.
  • The Output panel is no longer shown by default when Printf is called in a template (this can be controlled using the Compiling Options page).
  • New standard comment header at the beginning of Templates or Scripts created with 'Templates > New Template' or 'Scripts > New Script'. New header includes History, Category, File Mask, and ID Bytes.
  • Local strings are now displayed using the character set from the current file (used to always be ANSI).
  • #include now searches the Template and Script Repository Directories.
  • General:
  • Updated style for a number of dialog boxes.
  • Inspector and Workspace are now docked to the right side by default (just drag-and-drop to move to the left side).
  • Updated Welcome Page with information about the repository.
  • Changed default selection background color.
  • A dialog now pops up when Support, Free Upgrade, and Free Repository Updates are about to expire (about 30 days left) and when expired.
  • Updated Startup page with modified style and Repository news.
  • License information is now displayed on the lower-right corner of the Startup page (click to display the Register dialog).
  • Downloading application news/updates is now done in the background instead of when the application was shut down.
  • Small modifications to the default colors for the editor.
  • Read-only state of files is saved with the workspace.
  • When a new license is entered a dialog displays the end dates for Support, Free Upgrades and Free Repository Updates.
  • About page now displays current license info and has a button to show the Register dialog.
  • Major upgrade to UI library resulting in a number of minor bug fixes and visual fixes.
  • Options:
  • Template Options and Script Options now display the list of installed files, including files that have been installed from the Repository.
  • Include the category name in the list of installed templates and scripts.
  • Easier way to add local Templates and Scripts to the list. Clicking the 'Add...' button displays a multi-select file dialog box.
  • When adding local Templates or Scripts information such as File Mask, ID Bytes, and Category can be extracted from the comments at the beginning of the file.
  • Templates and Scripts now have an 'Edit...' button to load the file in the editor.
  • Added 'ID Bytes' for Templates as an extra way to check that data files can be parsed by a Template (ID Bytes can be turned off by unchecking the 'Require' toggle).
  • Added 'Status' info for Templates and Scripts and click the 'Show...' button to display the Repository dialog if installed from the Repository.
  • Added 'Set Shortcut' button on Scripts and Templates Options for an easy way to set a shortcut for these items.
  • New Repository Options page displays options for the Repository (some options are duplicated in the Repository Dialog).
  • Directory Options now allows setting the default Template and Script directory (moved from the Compiling Options).
  • Directory Options can set the directory where Scripts and Templates are installed from the Repository.
  • Moved File Dialog settings to a separate File Dialog Options page.
  • Added an option on the Compiling page to control whether the Output panel is displayed automatically when Printf is called in a Script or Template.
  • List of options on the left side of the Options Dialog is now resizable (you may need to enlarge the dialog first).
  • Options Dialog remembers its size when 010 Editor is shutdown and restarted.
  • New constants $TEMPLATE_REPOS_DIR and $SCRIPT_REPOS_DIR can be used in file names in the Options dialog.
  • Mac:
  • New installation method. Just drag-and-drop to install.
  • Now support OS X 10.7 and higher (sorry 10.6 users, we tried).
  • Help viewer now renders fonts better on retina displays.
  • Fixed some font spacing issues on dialogs on the Mac.
  • For OS X 10.7 and 10.8 the default hex editor font is now Andale Mono (there is a rendering bug using Courier New on these systems).
  • Bugs:
  • Fixed a crash in the Help Viewer when doing a search for certain keywords.
  • Fixed problem on Linux using Save As to save a large file in certain cases.
  • Fixed issue with multiple warnings when running scripts or templates are split onto separate lines.
  • Fixed bug in dialog asking to save a file which is marked as read-only was not displaying the file name correctly.
  • Fixed issue using the regular expression anchor '$' on files with DOS linefeeds.
  • Fixed using increment or decrement on a variable inside a variable accessor could sometime be called multiple times.
  • Fixed issue where the Addresses for the last line of a large text file were not displayed correctly using 'Byte Number (Decimal)'.
  • Fixed issue with wrong the background color sometimes being set when defining structs within structs.
  • Fixed bug with the FindFirst function incorrectly wrapping when starting the search from the end of the file.
  • Fixed crash when using an invalid regular expression in the FindFirst function.
  • Fixed using ReadByte/ReadInt/etc with no arguments and positions greater than 0xFFFFFFFF.
  • Fixed possible crash in FindOpenFile function after using FileClose.
  • Fixed when a custom name function had an error an empty string was being displayed for the name.
  • Fixed problem allocating a local variable after a struct definition sometimes having the improper scope.
  • Fixed FindInFiles and FindFiles now return strings in UTF-8 format.
  • Fixed possible crash assessing types defining by a call to RunTemplate.
  • Fixed FindFirst and FindAll would incorrectly search the whole file when size was zero.
  • Fixed crash using more than 15 parameters to SScanf.
  • Increased the maximum parameters for SScanf from 15 to 30.
  • Fixed bug with WMemSet function when the value to set was more than 255.
  • Fixed a problem viewing process names that contained non-ASCII characters.
  • Fixed a memory leak in user functions in certain cases.
  • Fixed a crash when a script or template ends with an unmatched '*/'.
  • Fixed an error message when trying to allocate an array more than 4 GB.
  • Fixed a bug using the '+' operator to add strings and single characters in certain cases.
  • Fixed some focus issues on Windows when opening a file and 010 Editor was minimized to the task bar.
  • Fixed restoring the application to the correct monitor when 010 Editor was maximized and then closed.
  • Fixed typing a backslash character when using the Japanese character set on Mac OS X.
  • Fixed issue when FileOpen failed and afterwards an incorrect file was selected.

New in 010 Editor 6.0.3 (Nov 12, 2015)

  • Fixed a crash when a find occurrence was found on a line containing more than 65535 characters.
  • Fixed the line number was not being properly displayed in the Find in Files results for text files.
  • Fixed a problem opening file names on Mac OS X containing certain characters.
  • Fixed a bug using the number constant 0xffffffffffffffff in a script or template;
  • Fixed a crash when starting 010 Editor during the 30-day trial period and the system clock was set back (an error is now displayed).
  • Fixed a crash when using an invalid regular expression in a syntax highlighting rule.
  • Fixed the wrong number of pages being printing in certain cases when printing a hex file.
  • Fixed Export CSV of the Find results for Hex Bytes sometimes improperly included an extra linefeed.
  • Fixed the AddBookmark function was not properly using the UTF-8 character set for the 'name' parameter.

New in 010 Editor 6.0.2 (Apr 14, 2015)

  • Fixed error using 'Copy As > Copy as Base64' and 'Copy As > Copy as Uuencoding'.
  • Now display an error when an invalid character constant is encountered in a script or template.
  • Fixed FILETIME error in the Inspector on Linux/Mac 64-bit.
  • Fixed error in the first result using Find Strings on a custom range.
  • Updated color for the Welcome and New Version dialogs.
  • Fixed error in the documentation for the Exec function about the function's return value.
  • Fixed error message in the footer of the Manual on the Mac.

New in 010 Editor 6.0.1 (Jan 29, 2015)

  • Fixed crash on exit on some Mac OS X machines.
  • Fixed problem opening processes on 64-bit Windows.
  • Made the color of the Startup page darker (was too bright on some monitors).
  • Can now change or reset the color of the Startup page by clicking the 'Options' button on the Startup page.
  • Fixed some issues using some IME's with the hex editor.
  • Fixed bytes not being swapped correctly when printing and swap by group is enabled.

New in 010 Editor 6.0 (Dec 17, 2014)

  • OVERVIEW OF THE NEW FUNCTIONALITY:
  • 010 Editor is now available as a 64-bit program on Windows, Mac and Linux.
  • Searching with Regular Expressions.
  • Improved Find speed, up to 10 times faster in some cases.
  • Changed the style of the Startup page, Welcome page, and File Bar.
  • Added new 'Writing Binary Templates' tutorial to teach the basics of creating Binary Templates.
  • Can export the Template Results in XML format.
  • Can import Find results.
  • GENERAL:
  • 010 Editor is now available as a 64-bit program on Windows, Mac and Linux.
  • Redesigned Startup page which is automatically shown on startup (this can be changed with the Startup Action section on the Startup page).
  • The Startup page is automatically shown when all files are closed (this can be turned off with the Options button on the Startup page).
  • Redesigned Welcome page with a link to the new Writing Binary Templates tutorial.
  • When asking to save changes to multiple files (for example, when closing 010 Editor), all the files to save will be listed in a single dialog.
  • Redesigned style for the File Bar/Ruler at the top of each Editor Window.
  • When a file is modified by an external program, the dialog asking to reload changes has two new options: Always Reload and Always Ignore. Always Reload will continually reload the file if changes are detected and Always Ignore will not prompt for reloading any more.
  • The Floating Tab Group is automatically hidden when all tabs in it are closed (this can be turned off in the Editor Options dialog).
  • Moved Save Selection command to the File menu.
  • A popup message is shown when a new version of 010 Editor is available (this can be turned off with the General Options dialog).
  • Added 'Help > Check for Updates' to check if a new version of 010 Editor is available.
  • When created new files, the default linefeeds to use are now specified in the File Interface (see the File Interfaces page of the Options dialog).
  • When editing a word-wrapped line in the Text Editor, pressing the Home key twice goes to the very beginning of the line and pressing the End key twice goes to the very end of the line.
  • Exporting CSV from tables now exports strings as UTF-8.
  • When using Import Hex, the directory where the file was imported is remembered when using Save As to save the file.
  • 'Highlighting > Control Characters' now includes ASCII 127 by default (will need to reset the Highlighting options to take effect).
  • Clicking 'Help > Support by Email' now opens a web form which allows sending a message on all platforms instead of trying to use a local email client.
  • The current version number is now displayed in the Register dialog.
  • Increased maximum line width in the Hex Editor from 1024 to 16384 bytes.
  • Syntax Highlighting can now apply rules based on Regular Expressions.
  • Made text in the About dialog easier to read.
  • MAC OS X:
  • Better support for fonts on Mac Retina displays.
  • FIND:
  • Can search with Regular Expressions (click Search with Regular Expressions on the Options panel of the Find Bar).
  • Improved Find speed, up to 10 times faster in some cases.
  • Default Find type for text files is now Text which searches for strings in the current character set of the file, whether that be ASCII, Unicode, UTF-8, etc.
  • The Find type ASCII is now just used for finding ASCII+ANSI strings (use the Find type Text to search for other character sets).
  • Can Import find results that were exported from the Find or Find in Files tabs (Import and Export can be done from the right-click menu of the results table).
  • Added a toggle to the Find Bar Options to prevent the Find Bar from disappearing after search.
  • Display a warning when more than 10000000 find occurrences are found (this limit can be changed or turned off using the Find Bar Options).
  • In the Find Bar Options, use the Use Custom Color toggle to apply a custom color for any search.
  • Fixed issues searching for very long arrays of hex bytes (more than 16384 bytes).
  • Now display an error when a read-error is encountered when searching on a Windows hard drive.
  • Increase the maximum line length in the Find results from 4096 to 65535.
  • TUTORIALS:
  • Added new 'Writing Binary Templates' tutorial to teach the basics of creating Binary Templates.
  • Moved Tutorials to the Help menu.
  • TEMPLATES/SCRIPTS:
  • Can export the Template Results in XML format.
  • Can layout Template Results to the right of the Hex Editor Window by right-clicking the Template Results and choosing Template Results Position.
  • Exporting Template Results as CSV or XML exports strings in UTF-8 format.
  • Default file name for exporting Template Results now includes the file name.
  • Preprocessor #define now works with symbols that have previously been defined.
  • Added note to the manual about preprocessor constant _010_LINUX being defined on Linux.
  • New Functions:
  • Added RegExMatch, RegExMatchW, RegExSearch, and RegExSearchW functions for searching within strings for regular expressions.
  • Added ExportXML function to export Template Results as XML.
  • Added FindStrings function to perform a string search similar to 'Search > Find Strings'.
  • New functions GetBackColor and GetForeColor can be used to query the currently active color.
  • Added GetMouseWheelScrollSpeed and SetMouseWheelScrollSpeed to get or set the current mouse wheel speed.
  • Function Updates:
  • Can use regular expressions in the FindAll, FindFirst, FindInFiles or ReplaceAll functions with the 'method=FINDMETHOD_REGEX' parameter.
  • Memcpy/WMemcpy functions now have extra parameters 'int destOffset=0, int srcOffset=0' that can be used to read or write from the middle of an array.
  • Functions ReadLine, TextReadLine, TextWriteLine, TextReadLineW, TextWriteLineW, TextGetLineSize all have an option 'int includeLinefeed=true'. When this parameter is false, linefeeds are not included in the read, write, or size operation.
  • ReadByte/ReadInt/ReadShort/etc. now default to the position 'FTell()'.
  • Can retrieve the error code from a process called using the Exec function with the errorCode parameter.
  • COMMAND LINE:
  • Use -line: to jump to a specific line in a text file.
  • Use -goto: to jump to a byte address, sector, line or short in a file.
  • -goto: supports the syntax from the Goto Bar (for example, use '-goto:+10,s' to skip ahead 10 sectors).
  • Set a selection from the command line using -select:: or -select::.
  • Old syntax of using @ after a file name to set the cursor or selection is still supported but will be deprecated in the future.
  • OPTIONS:
  • New option on General page: Show Popup when a New Version is Available.
  • Can set default linefeeds when creating new files on the File Interface page instead of the Text Editor page.
  • New Directories page used to control the initial directory when opening a file dialog box (open file, save file, import, export, open template, save template, open script, save script).
  • New option on Editor page: Auto-hide Floating Tab Group when All Files are Closed.
  • Moved options for the cache into a separate Cache page.
  • Ruler Color now effects the File Bar color as well.
  • BUGS:
  • Fixed problem on Mac using the %Lx format specifier in Printfs.
  • Fixed some drives on Windows were not correctly displaying the last few sectors.
  • Fixed Find on some Windows drives would stop before reaching the end of the drive.
  • Fixed crash exporting a very large Find results from a text file.
  • Fixed Histogram percentages not always totaling 100% with some types of histograms.
  • Fixed problem displaying histogram for int64's.
  • Fixed crash calling a function in a script when the first character in the argument list was a comma.
  • Fixed issue where focus could be incorrectly grabbed from other applications in some cases.
  • Fixed cannot delete bookmarks that exist beyond the end of the file.
  • On Windows, fixed using file masks '.*' and '.' should match files with no extension.
  • Fixed crash using bookmarks on files with file names longer than 128 characters (no limit now).
  • Fixed a case where it was possible to cancel a Find in Files directory scan and get an incorrect progress state.
  • Fixed Replacing text with nothing did not show any text in the Find tab of the Output panel.
  • Fixed replace two spaces with nothing can cause a crash in certain cases.
  • Fixed right-click and Mark Selection End on an existing selection sometimes did not work as expected.
  • Fixed highlighting issue using Lock to Selection on the Find Bar with selections greater than 2 GB.
  • Fixed ensuring Inspector.bt is called when the selection size is changed.
  • Fixed opening a single file from the Windows Explorer right-click menu would sometimes not correctly restore previously open files.
  • Fixed crash with long Comparisons when sorting set to the Result column.
  • Fixed some address issues using Copy as Text Area.
  • Fixed bug writing 0x0d0a to a text file from a script when two linefeeds would be displayed instead of one.
  • Fixed bug with the FindFirst function searching up when a match occurs at the very top of the file.
  • Fixed some progress issues when doing a long Replace operation.

New in 010 Editor 5.0.2 (Jul 29, 2014)

  • Fixed problem writing to drives on Windows 7 and later versions. Windows now requires that all open file handles be closed before changes can be saved.
  • If all file handles are not closed when a drive is opened, a warning is displayed and the drive is marked as read-only (Windows only).
  • In the Open Drive dialog each physical drive shows a list of logical drives it contains (Windows only).
  • Added 010 Editor to Mac Finder 'Open With' right-click menu for most file types.
  • Changed Chinese Simplified encoding from GB2312 to GB18030 (GB18030 is a superset of GB2312).
  • Fixed using Printf/FPrintf and %s with strings more than 4096 characters long.
  • Fixed error message on some machines about regsvr32 in the Windows installer.
  • Fixed crash with sizeof operator on certain structs declared with a size attribute.
  • Fixed not being able to cancel a script after the RunTemplate function was called.
  • Fixed Find in Files was not properly releasing some file handles.
  • Functions InputNumber/InputFloat/InputString properly resize the dialog before it is displayed.
  • Fixed problem using Exec function on Linux and Mac with file names than contain spaces.
  • Using %f parameter in External Programs now auto-adds quotes for file names containing spaces.
  • Now show a warning when attempting to open Template Results hierarchies deeper than 31 levels.
  • Fixed 010 Editor unable to run on some Linux machines due to a Qt library issue.
  • Fixed crash on Mac with duplicate enums.

New in 010 Editor 5.0.1 (Jun 20, 2014)

  • Fixed Copy As Hex Text crash when the hex editor Line Width is set to Auto Width.
  • Fixed possible text corruption in Linux when deleting.
  • Fixed crash using SHA-512 on certain large files.
  • Fixed setting a shortcut key for a script starting with a lowercase letter.
  • Fixed possible crash with Allow Multiple Find Ranges and large files.
  • Fixed Hex Operation dialog becoming uneditable after first operation on the Mac.
  • Fixed crash with certain non-terminated strings in scripts or templates.
  • Fixed problems opening files larger than 4 GB on Linux.
  • Fixed clicking the upgrade link in the Register dialog when the licensee name contains certain non-ASCII characters.
  • Added instructions on running 010 Editor on Ubuntu 14.04 64-bit.

New in 010 Editor 5.0 (Jun 28, 2013)

  • Syntax Highlighting:
  • Added syntax highlighting for HTML, XML and PHP.
  • New Syntax Highlights can be created or existing Highlights modified using the Syntax page of the Options dialog.
  • Support styles for Syntax Highlights so multiple rules can share a single color.
  • Edit styles using the Styles page of the Options dialog.
  • Easily modify the list of highlighted keywords for a Syntax Highlight.
  • Support multiple rule types including Multi-Line Block, Single-Line Comment, Keywords, Single-Line Block, C-Style String, Tag Name, and Tag Attribute.
  • Rules can be applied with Ignore Case for case insensitivity.
  • Support multi-line C-style strings with '\'.
  • Import or export the list of Syntax Highlights including styles using the Import List or Export List buttons.
  • Support sub-rules so that different types of syntax highlighting can be applied to the same file.
  • Column Mode:
  • Support Column Mode for editing the columns of text or hex data.
  • Easily make a column selection with the mouse by holding down Ctrl while dragging.
  • Enter column mode using Alt+C or click the Column Mode icon in the Toolbar.
  • Make column selections and copy or paste them using the clipboard.
  • Make a column selection and start typing to insert text on each line at the same time.
  • Column selections supported in Hex mode as well.
  • Click and drag straight down to create a special column insert line.
  • When the clipboard contains just a single line of data, pasting the data with a column selection pastes the data on each line of the selection.
  • Linux Version:
  • Added Linux version with installer.
  • Officially support Ubuntu 10.04 and later.
  • Available as a 32-bit program (can be installed on 64-bit OS as well).
  • Can load scripts and templates by double-clicking them in the Ubuntu File Manager.
  • Support Unix-style middle-click clipboard.
  • Toolbar Customization:
  • Can customize Toolbars by using the Toolbars page of the Options dialog.
  • Access the Toolbars page by right-clicking on a Toolbar and selecting 'Customize...'.
  • Drag-and-drop actions to the Toolbar list to insert items into the Toolbars.
  • Insertion point marked with red line.
  • Drag icons out of the Toolbar list to delete items from the Toolbars.
  • Create, delete and rename custom Toolbars.
  • Menu Customization:
  • Customize the Editor Right-Click menu using the Menus page of the Options dialog.
  • Can also access the Menus page by right-clicking on an Editor Window and choosing 'Customize...'.
  • Drag-and-drop actions from the Actions tree to the menu to insert actions.
  • A red line marks the action insertion point.
  • Drag items out of the menu to delete actions from the menu.
  • Add separators to the menu using the special Separator action.
  • Add sub-menus to the menu with the Submenu action.
  • Double-click on a sub-menu name to rename the sub-menu.
  • Format Menu:
  • Added new Format menu for working with text data.
  • Can convert text to Uppercase, Lowercase, or Capitalize (e.g. APPLE, apple, Apple).
  • Converts spaces to tabs using Tabify or tabs to spaces using Untabify.
  • Can add or remove comments from the selection using Comment Selection and Uncomment Selection.
  • Commenting supports line comments (e.g. '//') and multi-line comments (e.g. '/*' and '*/') based off the current Syntax Highlighting scheme.
  • Format menu supports Increase Line Indent to add tabs or Decrease Line Indent to remove tabs (similar to using Tab or Shift+Tab in the editor).
  • Trim Trailing Whitespace removes any spaces or tabs from the end of each line.
  • Tabify, Untabify and Trim Trailing Whitespace operate on the whole file if no selection is made.
  • Show Whitespace:
  • Use 'View > Tabs/Whitespace > Show Whitespace' or the icon in Toolbar to display whitespace.
  • Shows symbols in a text file where spaces and tabs exist.
  • The color of the symbols can be controlled in the Colors page of the Options dialog.
  • The Show Whitespace setting is remembered with the current File Interface.
  • Shortcut Keys:
  • New, easier-to-use interface for changing Shortcut keys in the Options dialog.
  • Better support for Shortcut keys on the Mac.
  • Enter a Shortcut key by pressing the key on your keyboard instead of having to type out 'Ctrl+M'.
  • Use 'Help > View Shortcut List' or click the List Shortcuts button in the Options dialog to view a list of all shortcuts sorted by shortcut name.
  • The list of shortcuts shows any customized shortcuts as bold.
  • Allow multiple shortcut keys to be assigned to a single action.
  • Better interface for removing shortcut keys from actions.
  • Can see any conflicting actions when assigning shortcut keys.
  • New Functions:
  • Converts a set of hex bytes to a double, float, or hfloat with ConvertBytesToDouble, ConvertBytesToFloat, or ConvertBytesToHFloat.
  • Support copying an array of hex bytes to or from the clipboard with CopyBytesToClipboard and GetClipboardBytes.
  • Save a portion of a file with the FileSaveRange function.
  • Access the custom clipboards with the GetClipboardIndex and SetClipboardIndex functions.
  • Access other properties of bookmarks with the GetBookmarkArraySize, GetBookmarkBackColor, GetBookmarkForeColor, GetBookmarkMoveWithCursor, and GetBookmarkType functions.
  • Added a radio button box input dialog using the function InputRadioButtonBox.
  • Ask the user for a directory with the InputDirectory function.
  • Can overwrite a block of bytes using the OverwriteBytes function.
  • Added ReadHFloat and WriteHFloat for working with half-floats.
  • Set environment variables within the working process with the SetEnv function.
  • Functions Updates:
  • FileClose was improperly asking to save changes on a modified file.
  • GetClipboardString, CopyStringToClipboard, and ClearClipboard uses the current clipboard (see GetClipboardIndex and SetClipboardIndex).
  • CopyStringToClipboard has a charset parameter to inform the clipboard of the type of data being copied.
  • Can specify a custom polynomial or initial value with the Checksum functions.
  • Added an optional number of bytes to read to the ReadWString, ReadString, ReadLine, and ReadWLine functions.
  • FileNew has a new makeActive parameter to control if the created file is set as the active file.
  • Added an optional fill character to the InsertBytes function.
  • InputOpenFileName, InputOpenFileNames, and InputSaveFileName functions now use UTF-8 strings.
  • The Sleep function now refreshes the screen before long sleeps (more than 1000 milliseconds).
  • Added SHA512 algorithm to the checksum functions.
  • Added Binary Text format to the Import/Export functions.
  • TextGetNumLines now returns -1 if the current file is a hex file.
  • Update help that Strlen returns the number of bytes instead of the number of characters.
  • Templates/Scripts:
  • Added 16-bit Half-float (hfloat) data type.
  • Automatically cast between hfloat, float and double data types.
  • Tooltips now properly use any custom functions.
  • General:
  • Updated visual style of the interface and updated some icons.
  • Added new File Interfaces HTML, PHP, and XML.
  • When selecting more than one line in a text editor, the number of selected lines is now shown by default in the status bar.
  • Added SHA-512 hash algorithm.
  • Able to delete individual recent files or clear the list of recent files by right-clicking on the Recent Files list in the Workspace or the Startup page.
  • Added Goto button to the Goto Bar.
  • Added new File Interfaces to the New list.
  • Auto-detect XML files.
  • Added -readonlyall command line option to mark all files as read only.
  • Added 'Selection > Goto Selection Start' and 'Selection > Goto Selection End' for jumping to the beginning or the end of a selection from the right-click menu.
  • Synchronized scrolling now only works between all hex files or all text files.
  • Faster Undo/Redo for operations which contain a large number of small operations.
  • Renamed 'Toggle Word Wrap' action to 'Word Wrap'.
  • Renamed configuration file to '010Editor50.cfg'.
  • Removed 3-computer limit in the End-User License Agreement.
  • Import/Export:
  • Added Import/Export option for the Binary Text format (e.g. 10100010 11110000).
  • Added Copy As Binary Text and Paste From Binary Text to the Edit menu.
  • 'Copy as ' now uses the displayed number of bytes per line (it was using the number of bytes from the last export).
  • Options:
  • Can disable the auto-import of Intel Hex or Motorola files when dragging and dropping from the system File Manager (see the Importing page).
  • Added option to disable the Backspace/Delete key in Overwrite mode for hex files (see the Hex Editor page).
  • Can control the color of the Show Whitespace characters on the Colors page.
  • Bugs:
  • Fixed bug with Save Selection on a newly created file.
  • Fixed crash with -compare command line option when the file names were the same.
  • Fixed issue with updating the Recent Files list when scripts or templates were opened.
  • Deleting a file from the Workspace Recent Files list did not update the Startup Page Recent Files list.
  • Fixed up Insert Date/Insert Color on big endian unicode files.
  • Fixed up 'Move to New Vertical Tab Group' missing after a Compare.
  • Fixed warning dialog for optimized structs cannot be dismissed on Mac.
  • Fixed crash when an improper argument was passed to a function inside a script in certain cases.
  • Fixed error message in the Windows installer about Regsvr32.
  • Possible to delete part of a DOS linefeed in certain cases.

New in 010 Editor 4.0.4 (Mar 21, 2013)

  • Fixed Find Strings finding unicode strings on odd byte boundaries.
  • Fixed crash assigning to a non-existent variable from a script.
  • Fixed crash in find hex bytes when using ',a'.
  • Fixed crash when checksum functions are used inside custom read/comment functions.

New in 010 Editor 4.0.3 (Nov 9, 2012)

  • Fixed crash with Printf when using certain combinations of parameters.
  • Fixed problem using Goto on the Mac.
  • Fixed using on-demand structs within custom read functions in certain cases.
  • Fixed printing multiple copies of files.
  • Disabled redirection of files within the main Windows directory.
  • Fixed some progress issues when using Find functions inside of scripts.
  • Show error instead of crashing when trying to copy huge blocks of data to other applications.
  • Fixed order of some items in the View menu in 'Tools > Options > Keyboard'.

New in 010 Editor 4.0.2 (Jul 25, 2012)

  • Fixed a crash using Find on certain long text files.
  • Fixed a bug with using Export Hex and more than 256 bytes per line.
  • Fixed issues using on-demand structs inside arrays.
  • Fixed color picker issues on the Mac.
  • Fixed last two lines of a customized Inspector disappearing in certain cases.
  • Fixed background colors not being cleared properly when a template was cleared.
  • Fixed a notification during installation about an expired license.
  • Now signing the installer using SHA-1.

New in 010 Editor 4.0.1 (Jun 28, 2012)

  • Fixed crash with a custom Auto-Inspector and certain long operations.
  • Fixed crash with wordwrap on very long lines.
  • Fixed Paste from Hex Text on Mac OS X.
  • Fixed clicking on a bookmark, variable, or find result will always select bytes in the editor.
  • Fixed editing bookmarks that contain arrays.
  • Fixed issues with the Find results when searching for text containing linefeeds.
  • Fixed enums and different numeric formats when displaying local variables.
  • Fixed adding or removing 010 Editor from the Windows Explorer right-click menu using the Options dialog.
  • Fixed the Output tab automatically scrolling down as text is added.
  • Fixed the FindNext function should not be selecting data.
  • Fixed the FindNext function when used with DeleteBytes in a loop.
  • Fixed crash with the HexOperation function on a new file.
  • Fixed the Short type specifier in the Goto Bar.
  • Fixed allowing hotkeys to be set for Mark Selection Start/End.
  • Fixed misplaced cursor when changing the endian of a Unicode file.
  • The Goto and Select Range Bars now accept extra whitespace.

New in 010 Editor 4.0 (Jun 28, 2012)

  • Streamlined interface with a simplified tool bar.
  • Easier, more intuitive way to run Templates or Scripts using the File Bar above each editor.
  • Added support for word wrap and text files with a huge number of lines.
  • Tools such as Find, Replace, Find in Files, Goto, Select Range are now displayed in a bar below each editor for a better workflow.
  • Can customize the Auto Inspector using a custom Template.
  • Revamped Find tool allows searching for variables in the Template Results.
  • When a Find All or Find in Files is done on a text file, all text lines that contain a match are listed.
  • Added 'Search > Find Strings' dialog for listing all strings in a hex file.
  • Can visually swap bytes in the hex editor without modifying the underlying data.
  • Can restore all open files when 010 Editor is restarted (select 'Restore all open files' on the Startup page).
  • Comments can now specify a custom function using ''.
  • Printf function now does type checking and automatically casts parameters.
  • Templates can now read from or write to other files when granted special permission.
  • Over 45 new functions for Scripts and Templates.