History — Version 23.1

# Version 23.1

January 25th, 2024

## New General Features

- The new version significantly enhanced the speed of numerous commands when editing very large files, including CSV, while also reducing crashes caused by low memory. [PF]

- The new KeepRunning property of the Shell object allows you to use async functions such as fetch in a macro. The fetch can be used to call APIs offered by many services such as generative AIs. [P]

- Added the Completion List feature. [P]

- Update LSP servers of CSS and JSON to 1.85.1 and update typescript-language-server to v4.2.0. [P]

- The Store app version now accepts a registration key for the Desktop versions purchased outside of the Microsoft Store. [P]

### Test results:

| v23.0 | v23.1 | Comparison
--- | --- | --- | ---
Open a file [*A] | 0.276 seconds | 0.107 seconds | 2.58 times faster
Replace All [*B] | 0.351 seconds | 0.125 seconds | 2.81 times faster
Cut and Paste [*C] | 287 seconds | 127 seconds | 2.26 times faster
Change Case [*D] | 524 seconds | 177 seconds | 2.96 times faster
Convert CSV format [*E] | 1310 seconds | 533 seconds | 2.46 times faster
AutoFill [*F] | 1290 seconds | 31.3 seconds | 41.2 times faster
Combine Lines [*G] | 566 seconds | 256 seconds | 2.21 times faster
Insert Column [*H] | 152 seconds | 97.4 seconds | 1.56 times faster
Set Column [*I] | 137 seconds | 90.6 seconds | 1.51 times faster
Sort CSV [*J] | 373 seconds | 239 seconds | 1.56 times faster
Split Column [*K] | 536 seconds | 326 seconds | 1.64 times faster

*A: 148 MB, 3 million lines, random ASCII text file.

    editor.OpenFile(sFileName, 0, eeOpenAllowNewWindow|eeDontUseTempFile);

*B: 1.03 GB , 30 million lines, random ASCII text file.

    document.selection.Replace('a', '', eeReplaceAll);

*C: 35.2 MB , 1 million lines, random ASCII text file.

    document.selection.SelectAll();
    document.selection.Cut();
    document.selection.Paste(eeCopyUnicode);

*D: 1.03 GB , 30 million lines, random ASCII text file.

    document.selection.SelectAll();
    document.selection.ChangeCase(eeCaseUpperCase);

*E: 1.03 GB , 30 million lines, random ASCII text file.

    document.ConvertCsv(2, eeCsvDiscardUndo);

*F: 113 MB , 10 million lines, ASCII CSV file.

    document.AutoFill(1, 1, 1, 1, 1, 1, 1, 10000000, eeFillSeries, 2);

*G: 113 MB , 10 million lines, ASCII CSV file.

    document.CombineLines('1', '2,3', ';', '', eeRemoveDuplicates, 'en-US');

*H: 113 MB , 10 million lines, ASCII CSV file.

    document.InsertColumn(4, 'c', '', eeDontQuote, 1, 0);

*I: 113 MB , 10 million lines, ASCII CSV file.

    document.SetColumn(1, 'c', '', eeDontQuote, 1, 0);

*J: 113 MB , 10 million lines, ASCII CSV file.

    document.Sort('1>N-', eeSortBinaryComparison, '');

*K: 56.1 MB , 5 million lines, ASCII CSV file.

    document.SplitColumn('1', '0', eeSplitIntoColumns, '', 0, 0, 'en-US');

All: Default options, Windows 11, Ryzen 9 7950X, 96 GB RAM.

## New Options

- Renamed Web Help to Online Help. [PF]

- Added the Help page to the Customize dialog box. [P]

- Added the Show completion list check box to the Language Server page of configuration properties. [P]

## New Commands

- Customize Help [P]

## Macro New Features [P]

- Added the ShowCompletionList property to the LanguageServerProp object.

- Added the KeepRunning property to the Shell object.

### Notes

- [P] EmEditor Professional only

- [PF] EmEditor Professional and EmEditor Free