EmEditor v21.7.1 released!

Today, we are releasing EmEditor v21.7.1.

v21.7.1 includes all bug fixes from v21.8 beta 1 (21.7.901) through beta 6 (21.7.906).

Please see EmEditor v21.7 New Features for details and screenshots.

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

EmEditor v21.7.0 released (including technical review)!

Today, we are releasing EmEditor v21.7.0.

One of many requested features was to show comparison results in one split window, rather than in two tiled windows. This is now possible with v21.7. When you select a comparison command on the Compare menu, EmEditor will show comparison results in one split window. When you finish a comparison by selecting the Reset to Normal Mode command, EmEditor will revert to a normal tabbed window. The Synchronize Scrolling command will also behave the same. This feature is available on EmEditor Professional and EmEditor Free.

The previous version of EmEditor Professional (v21.6) allowed you to search for multiple strings simultaneously and quickly. The main feature of EmEditor Professional v21.7 is the ability to replace multiple strings simultaneously, and it was requested by several customers (1, 2). We call this new feature Bulk Replace All as opposed to the existing feature of Batch Replace All. The algorithm for Bulk Replace All is significantly different from Batch Replace All. Batch Replace All searches a whole document for one string at a time, and repeats this procedure for the number of search strings. Bulk Replace All searches for all search strings simultaneously. The difference may lead to different results if search/replace string pairs contain, for instance:

1 → 5
2 → 4
4 → 2
5 → 1

and if the source document is

[1,2,3,4,5]

In this case, if Batch Replace All is used, EmEditor will replace 1 with 5 for the whole document first, and then will replace 2 with 4. At this point, the source document becomes:

[5,4,3,4,5]

Next, when it replaces 4 with 2, note that it will replace two 4’s (the second and fourth numbers). Lastly, when it replaces 5 with 1, it will replace two 5’s (the first and last numbers). Thus, the result will be

[1,2,3,2,1]

If the new Bulk Replace All is used, EmEditor will replace all strings simultaneously. Therefore, the result will be:

[5,4,3,2,1]

as you expect.

Bulk Replace All will replace much faster than Batch Replace All. In my test, Bulk Replace All completed 6310 times faster than Batch Replace All when one million search/replace pairs existed.

The improved speed of Bulk Replace All allows for more types of uses. Suppose you need to call customers in your client list. However, there are millions of phone numbers in another list, which is a do-not-call list. You will need to make sure the client list does not contain any numbers in the do-not-call list. In this case, the previous version of EmEditor (v21.6) allowed you to search quickly for any do-not-call numbers in your client list. The new version of EmEditor (v21.7) not only finds but also replaces those matched numbers with other strings (or an empty string). Thus the new feature allows you to replace or remove any unwanted strings in a document quickly. Previously, this task could take several hours, if not days, to finish, depending on the number of search strings. Currently, Bulk Replace All does not support regular expressions, number ranges, or strings including newlines.

Finally, I hope you like EmEditor, whether you use the Professional or Free version. Please contact us or write in forums if you have any questions, feature requests, or any ideas in the future.)

Thank you for using EmEditor!
Yutaka Emura

Please see EmEditor v21.7 New Features for details and screenshots.

This release also includes the following bug/issue fix:

  • Fixed a bug where selecting All in Half-Width/Full-Width Conversion dialog box converts selection only in a CSV mode.
  • Fixed an issue related to the Cell toolbar while filtered.
  • The new version shows you a message box if the Read Only in Headings is set on the Delete/Cut Columns command rather than disabling these commands.
  • The new version enables conversion commands when a column is selected and the Read Only in Headings is set.
  • Fixed a bug where the Replace Expression did not parse \x{hhhhh} values correctly.
  • Fixed a bug where editor.QueryStatusByID(EEID_TOOLBAR1 + n) did not work correctly.
  • Fixed a v21.6 bug where a certain condition on filtering could crash EmEditor.
  • Fixed a v21.6 bug where Extract Replace might not have extracted all occurrences in a line.
  • Fixed customer-reported issues (1, 2).

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

EmEditor v21.6.1 released!

Today, we are releasing EmEditor v21.6.1.

Updates from v21.6.0 include:

  • Fixed a bug related to Script/General Category selections in the Character Check page of Configuration Properties.
  • Fixed a bug related to status bar messages.
  • The new version will not make the Filter box of the Filter toolbar read-only even when the Advanced Filter is active.
  • Fixed a bug where the Underline Color was not saved to a theme in the Display page of Configuration properties.
  • Reduced the program size by optimizing the code.
  • Fixed a certain Search Colors issue on v21.6.
  • Fixed a potential incorrect behavior on the Transpose command with a large file.
  • Fixed an issue where “A critical Error occurred while operating a file” message could appear immediately after saving a very large file.
  • Fixed a potential crash on saving a non-Unicode file on a machine where the number of logical processors is 1.
  • The new version allows you to use the eeExFindLinkFile flag to the Add, AddFind, and AddReplace methods of the Filters Collection.

Please see EmEditor v21.6 New Features for details and screenshots.

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

EmEditor Logo

Known Issues and Current Status, Windows 11 information

This page contains important information regarding the current version issues and their status. The information is being updated frequently.

Some issues might be already fixed in recent versions including beta versions. Please try updating EmEditor to the latest version including beta versions if you believe there are any issues.

All Versions

  • EmEditor is NOT vulnerable for CVE-2021-44228, CVE-2021-45046 (Log4j).
  • Updating to Windows 11 might cause invalid keys created in the Registry or EmEditor might not work correctly.
    Status: The issue has been resolved by one of latest updates of Windows 11. Please ensure your Windows 11 is up-to-date.
  • Chinese/Japanese MS-IME on Windows 10: EmEditor crashes when pressing a key while pressing the CONVERT key consecutively. This issue also happens other times randomly while using a new version of Chinese/Japanese Microsoft IME on Windows 10.
    Status: v21.1.3 addresses this issue to a certain degree, but the issue might still appear randomly. To work around completely, please revert to a previous version of an IME.

Version 21.6.0

  • Search Colors might not be correct.
    Status: The issue was addressed on v21.6.901. Please update to the latest version including beta versions.

Version 21.1.0 and newer

  • The new version sets the Use DirectWrite option by default. However, some users report EmEditor crashes on specific computers or graphic cards. Other users report EmEditor crashes on Windows 11 beta.
    Status: We recommend updating the graphic driver. If the issue still persists, please turn off the Use Direct Write option. To turn off the option, select Customize on the Tools menu, select Text Rendering page, and clear the Use Direct Write option. Alternatively, click the button on the right side of the Font button on the Basic Toolbar, and select Use Direct Write so that this menu item does not have the checkmark.
  • By default, the Installation Type dialog in the Installer is disabled, and you cannot select the Everybody (all users) option. If you need to select the Everybody (all users) option, see FAQ 21.

Version 21.0.1 and newer

  • The F11 key does not work as the Full Screen command. I had updated EmEditor to v21.0.0 and then later updated to v21.0.1 or later.
    Status: This is because the Focus Mode (not Full Screen) was assigned to the Layout 1 command (F11) by default on v21.0.0, but this behavior was reverted on v21.0.1. Please go to Customize on the Tools menu, select the Layouts page, and click the Reset button to reset Layouts.

Version 20.7.1 and older

  • Certain older versions of EmEditor fail to update within from EmEditor if the install path contains a space. To work around, please download the newest version, and run the downloaded installer.

EmEditor v21.6.0 released (including technical review)!

Today, we are releasing EmEditor v21.6.0.

The previous version of EmEditor allowed you to visualize specified characters, but you had to specify character ranges by character code values if you selected the specified ranges option. This could become a tedious task when character code values of your interest are scattered all over the Unicode chart. The new version allows you to specify character ranges by Unicode Script and Unicode General Category. For instance, if you write only Latin text, it is a good idea to select the Latin (Latn) and Common (Zyyy) scripts, and set the Warn characters outside of the specified ranges option. You can combine Unicode Script with Unicode General Category. For instance, you can set

"Latn,Zyyy,Ll,Lu"

meaning Latin (Latn) OR Common (Zyyy) scripts AND lowercase letters (Ll) OR uppercase letters (Lu).

To make this feature possible, we have updated the Unicode database included in the EECommon.dll library to allow you to specify character ranges by Unicode Script and/or Unicode General Category. The new information is also included in a dialog box displayed when you select the Character Code Value command. The EECommon.dll library will not be loaded into memory until information is requested, so EmEditor load time will not affected by this feature addition. The EECommon.dll library was first developed by Makoto Emura.

EmEditor v21.1 supported all emoji sequences in Emoji Sequences and Emoji ZWJ Sequences, but they were not comprehensive and not future-proof if new emoji sequences are introduced in the future. The new version of EmEditor used the definition specified in Unicode Technical Standard #51 – Unicode Emoji to support all possible emoji. Supporting emoji means that these emoji characters are displayed correctly as long as they are supported by fonts, and the cursor movement around emoji is correct. While we were working on these changes, we updated the Unicode database to the latest version (Unicode v14.0.0).

A customer asked if it is possible to convert various date formats in a text file to one date format. EmEditor v21.3 supported date/time formats in Number Ranges. While this feature was useful for finding and filtering specific date/time ranges, it was useless if you need to convert them to one specific date/time format. The new version introduces \D and \T expressions to the Replace Expression Syntax. For instance, if you have a text file containing dates with various formats such as:

3/23/2022
03/23/2022
March 23,2022
Mar 23,2022
23-Mar-2022
2022-03-23
2022年3月23日

and if you want to convert all of these to one format “2022-03-22“, you can press CTRL+H to bring up the Replace dialog box, set the Number Range option, and enter:

Find:

[1/1/1900 , 1/1/2200 "M/d/yyyy|MM/dd/yyyy|MMMM d,yyyy|MMM d,yyyy|dd-MMM-yyyy|yyyy-MM-dd|yyyy年M月d日" ]

Replace with:

\Dyyyy-MM-dd

This Find expression will search for these formats between 1/1/1900 and 1/1/2200, and the matched dates are converted to the yyyy-MM-dd format.

While I was working on the replacement expression syntax, I also added new \Nc, \Nd, \NC, and \ND expressions to normalize strings, using the Unicode Normalization commands introduced on EmEditor v19.8. These new expressions are useful when you need to normalize characters that match certain search criteria.

All of the aforementioned features are supported on EmEditor Professional and EmEditor Free.

The main feature of EmEditor Professional v21.6 is significantly improved speeds of Advanced Filter and Multi-Find with many simple non-regex search strings. A customer asked if it was possible to search a file for 25 million phone numbers. This was not easy on earlier version of EmEditor because it became very slow when more than thousands of search strings are specified. I came up with a new algorithm for this situation, and optimized the code significantly so that it is now possible to accept 25 million search strings simultaneously. While I was working on this optimization, I also made it possible for Advanced Filter and Batch Find/Replace dialog boxes to accept a linked file. A linked file may contain multiple search strings separated by newlines. You can drag and drop a linked file from Explorer to the list box in Advanced Filter or Batch Find/Replace dialog box. You may also drag and drop a linked file to the Filter box on the Filter toolbar to start Advanced Filter immediately. A linked file makes it easier to maintain a set of search strings and to apply the changes instantly to Advanced Filter or Multi-Find. Since EmEditor internally sorts search strings (by length and by alphabetical order) before making searches, you can improve the speed by presorting your linked files. If you decide to presort linked files, set the Fast Binary Comparison and Stable Sort options in the Sort page of the Customize dialog box. The Ignore case option should be set if you don’t match case on Advanced Filter. Open a linked file, select Sort A to Z first, and then select Sort Shortest to Longest. Presorting linked files is not required, and will not change the search results, but will improve the speed.

Furthermore, the Extract All button on the Filter toolbar is now a drop-down button, and clicking the button will display a menu where you can select between the Extract All Lines and Extract Matched Strings commands. The Extract Matched Strings command will extract only one string per line if multiple strings are matched.

I also optimized the speed of the Join CSV command when the … contains …, … starts with …, or … ends with … conditions are selected, using the similar algorithm to the Advanced Filter command.

A customer requested a new option, which is the Selection Mode item in the Status page of the Customize dialog box. If this is set, the status bar indicates “Vertical” while the vertical selection mode is active, and “Lines” while the line selection mode is active.

A customer reported a crash while launching EmEditor, and sent me a crash report file. I looked into the crash report and found that EmEditor crashed by an out-of-memory situation due to a very large file history. This customer was setting 30000 days to the Save Cursor Position option and set the Never Clear Bookmarks option in the History page of the Customize dialog box. This caused a very large file history to be created. To prevent this kind of issue from happening, the new version removed the Never Clear Bookmarks check box, and limit the saving time of cursors and bookmarks to 100 days.

Finally, I hope you like EmEditor, whether you use the Professional or Free version. Please contact us or write in forums if you have any questions, feature requests, or any ideas in the future.)

Thank you for using EmEditor!
Yutaka Emura

Please see EmEditor v21.6 New Features for details and screenshots.

This release also includes the following bug/issue fix:

  • Fixed a bug where the Find Next/Previous Warning Character/Unicode command might have missed surrogate user-defined characters.
  • Fixed a bug where EmEditor could crash at the BatchReplace method if the batch array is empty.
  • Fixed issues related to Layouts.
  • Fixed a bug where the Find Next/Previous button in the Find dialog box did not work well with surrogate characters.
  • Fixed a bug where character spacing might become irregular.
  • Fixed a bug where the vertical scroll position might be at the bottom if a window is split vertically and when switching documents.
  • Fixed a bug where syntax errors appeared when opening certain CSV files but clicking the Check Syntax button cleared all the errors.
  • Fixed a v21.5 bug where EmEditor might have shown the “File changed by another program. Reload with changes?” message box sometimes when network files are opened.
  • Fixed customer-reported issues (1).

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

Lifetime license price update

We have not changed the price of a lifetime license since 2019. However, our expense cost continues to grow, and we need to adjust the price so that we can continue development and providing services to our customers. Therefore, we are going to increase the price of a lifetime license. Taking effect on April 1, 2022, we are changing the price of a lifetime license from US$179.99 to US$252. The volume license prices of lifetime licenses will also be adjusted accordingly. However, annual subscriptions will not be affected.

We have also clarified the number of licenses. Please see How to calculate the number of licenses.

We will continue development of EmEditor and providing support to our customers.

Thank you for using EmEditor!

EmEditor v21.5.2 released!

Today, we are releasing EmEditor v21.5.2.

Updates from v21.5.1 include:

  • Fixed a bug where EmEditor could freeze on certain emoji sequences if the Warn invisible characters option is turned on.
  • Fixed a pre-v21.5 issue where bookmarks could disappear on the Line Up/Down command.
  • The new version stops Find in Files if a regex error occurs.
  • Changed the behavior of the Word Left command when spaces following after a word.
  • Adjusted the vertical scroll position after the Encode/Decode Selection commands when lines are wrapped.
  • Fixed an issue where EmEditor could not stop macros at alert(), confirm(), prompt() methods if run asynchronously on some computers.
  • Fixed customer-reported issues (1).
  • Fixed a potential crash while opening XML files (avoided syntax check while reading a file).
  • Supported more Emoji ZWJ Sequences, and fixed behaviors of the character check.
  • Fix an issue where the In Selection Only option in the Find/Replace dialog box was set in sticky vertical selection mode even if only one line is selected.

Please see EmEditor v21.5 New Features for details and screenshots.

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

EmEditor v21.5.1 released!

Today, we are releasing EmEditor v21.5.1.

Updates from v21.5.0 include:

This release also includes the following bug/issue fix:

  • Fixed a bug where EmEditor could crash on the Find Next Warning Character/Unicode command.
  • Fixed customer-reported issues (1, 2, 3).

Please see EmEditor v21.5 New Features for details and screenshots.

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

EmEditor v21.5.0 released (including technical review)!

Today, we are releasing EmEditor v21.5.0.

The biggest advantage of using Unicode is that you can include any character you want into a document. The drawback is that it can include any unwanted characters for some people. Those unwanted characters may include invisible characters such as U+200B (ZERO WIDTH SPACE) and control characters such as U+0081. Try copying the following text and paste it to Notepad or other text editors.

"​" invisible character (U+200B)
"" control character (U+0081)

Since these characters often become invisible in Notepad and many other text editors, they could become security issues if used unintentionally. Untrusted source code containing invisible characters could contain a hidden backdoor. If you copy source code from code-sharing sites such as StackOverflow and paste it to your text editor, you want to make sure the source code is free of those unwanted characters. Another example is that you might be editing a data file that contains user input text data. Since users could input any text data, the text might include invisible or control characters that need to be cleaned up before being parsed. If a text editor couldn’t show those characters, it would become difficult to find those characters.

The new main feature of v21.5 becomes useful in these cases. v21.5 can visualize these invisible and control characters. While you can use this feature with its default settings, you can optionally customize which characters to warn, or which characters to approve. If you edit data files that consist of only certain character types (such as English alphabets, numbers, and a few symbols), you might want to define those characters as approved characters. You can set EmEditor to warn characters in the specified character ranges, or characters outside of the specified character ranges. Moreover, you can have EmEditor check for those unwanted characters automatically while saving documents. This feature is supported on EmEditor Professional and EmEditor Free.

Another new feature of v21.5 is the EditorConfig support. If you work as a team, and if each member of the team uses a different text editor, the team can create .editorconfig files that define coding styles such as indent styles, newline characters, and file encodings. Since v21.5 conforms to the EditorConfig specifications, you don’t need to change EmEditor options manually to conform with the team project settings as long as the options are set in .editorconfig files.

For instance, if your team wants you to use a line-feed (LF) as the newline code and to use the indent size of 4, your team can create a .editorconfig file in the same (or parent) folder containing the following lines.

[*.txt]
end_of_line = lf
indent_size = 4

All text editors supporting EditorConfig, including EmEditor v21.5, will look for this file and will set their options accordingly and automatically for the specified file types.

This feature can be useful even if you don’t work with a team. For instance, if you want to have “a.txt” and “b.txt” files to show without lines wrapped, but if you want other text files to have lines wrapped, you can create a .editorconfig file containing the following lines:

[{a,b}.txt]
max_line_length = off

This technique will avoid a need to create a new configuration in EmEditor just for simple options supported in EditorConfig.

While I optimized the code for speed, the EditorConfig support can slow down opening files especially if you open files from slow drives or network. In that case, you can turn off the option by clearing the Use .editorconfig option to the Edit page of the Customize dialog box. The EditorConfig feature is supported on EmEditor Professional and EmEditor Free, but the Use .editorconfig option is available only on EmEditor Professional (the feature is always enabled on EmEditor Free).

Since we supported the insert_final_newline property of EditorConfig, we also added the Ensure a newline exists at the end of each file option to the Save Details dialog box. This feature is supported on EmEditor Professional and EmEditor Free.

A customer has asked if he can utilize the Sum of the selected numbers displayed in the Status bar in his macros. The new Sum and Average properties of the Selection object allows you to use those numbers. Since these properties work faster, the included Sum.jsee macro was rewritten to use the Sum property. This feature is supported only on EmEditor Professional.

Finally, I hope you like EmEditor, whether you use the Professional or Free version. Please contact us or write in forums if you have any questions, feature requests, or any ideas in the future. I also welcome you to write a review by selecting the Write a Review command on the Help menu, because I read them periodically. (You might need to download the Store App version before you are able to write a review.)

Thank you for using EmEditor!
Yutaka Emura

Please see EmEditor v21.5 New Features for details and screenshots.

This release also includes the following bug/issue fix:

  • Fixed a pre-v21.4 issue where the Find in Files command might not have worked correctly if a very long path exists under a certain condition.
  • Fixed a pre-v21.4 issue where Find without Match Case might have failed if the Count Frequent Strings option was set.
  • Fixed a v21.4.1 issue where Regex searches with the Search All Documents in the Group option might have failed.
  • Fixed the horizontal scroll bar issue when a window is split horizontally.
  • Fixed a pre-v21.4 issue related to mouse selection while scrolling up.
  • Fixed a potential crash when right-clicking on toolbars.
  • Fixed customer-reported issues (1, 2).

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).

EmEditor v21.4.1 released!

Today, we are releasing EmEditor v21.4.1.

Updates from v21.4.0 include:

  • Allowed $(DocText) in Argument of external tools can be up to 32768 characters long.
  • Fixed a pre-v21.4 issue where the Character Code Value command might have displayed blank text in very large files.
  • The new version always parse all lines when switched to a CSV mode to count all delimiters.
  • Fixed an issue where stopping a macro should not show the Unspecified Error message.
  • Fixed an issue where the Transpose command did not work with only one column CSV.
  • Fixed a pre-v21.4 issue where the Find in Files command might not have worked correctly if a very long path exists under a certain condition.
  • Fixed customer-reported issues (1, 2, 3, 4, 5, 6).

Please see EmEditor v21.4 New Features for details and screenshots.

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).