github zufuliu/notepad4 v4.19.01r1786

latest releases: v24.09r5472, v24.07r5332, v4.24.05r5242...
pre-release5 years ago

The builds (unsigned) works for Windows XP and above. CPU support for SSE2 (Pentium 4) is required for Win32 build, for old CPU and system see wiki Build Notepad2.

Since this version, latest development build (artifacts in Release configuration for each compiler and platform) can be downloaded from https://ci.appveyor.com/project/zufuliu/notepad2

Tips: To keep your current settings, do NOT replace Notepad2.ini or metapath.ini with the bundled one, but please mind breaking changes bellow when upgrading to this version.

New Features

  • Direct2D is enabled (5a9c2a9), and is the default rendering technology for Vista and above systems (f49f01d). You can switch between GDI and Direct2D via Settings -> Rendering Technology (b7ad639).
  • Native support for Windows 10 on ARM64 (5280254 and 5bebf14), thanks @jkunkee for testing.
  • Scintilla is upgraded from 4.0.3 to 4.1.3, see https://www.scintilla.org/ScintillaHistory.html for details.
  • Auto-completion for all word character other than [a-zA-Z0-9_] is implemented (#36, #73 and c4f533e). For Chinese, Japanese, and Korean, manually trigger "Complete Word" (Alt+/) works, but not works well in DBCS encoding (BIG5, GB2312, GBK, SHIFT-JIS, UHC and Johab) mode, see https://sourceforge.net/p/scintilla/feature-requests/1226/.
  • Improved word selection for ANSI code page Central European (Windows-1250), Cyrillic (Windows-1251), Western European (Windows-1252), Greek (Windows-1253), Turkish (Windows-1254), Hebrew (Windows-1255), Arabic (Windows-1256), Baltic (Windows-1257), Vietnamese (Windows-1258), and Thai (Windows-874) (f449b46). Punctuation and symbols will not been selected as part of a word now.
  • Improved word selection for Chinese, Japanese, and Korean (CJK). CJK word is selected separately from non-CJK word (04e5a10, a54a3cd and ffec915). The "Match full word only" and "Match beginning of word only" option can find non-CJK words (e.g.: English word) after CJK word. This still need improvements for DBCS encoding mode, see https://sourceforge.net/p/scintilla/feature-requests/1226/.
  • Auto Completion Settings dialog is added (6bc5b7b). Auto completion for quotes, braces and brackets is improved (a77346b, 63cb420 and f7d520b).
  • New encodings: Japanese (ISO-2022-JP), Japanese (EUC-JP), Korean (Johab), Korean (EUC-KR), Arabic (ISO 8859-6-I Logical), Nordic (Latin-6, ISO 8859-10), Celtic (Latin-8, ISO 8859-14), South-Eastern European (Latin-10, ISO 8859-16) (e87c16a).
  • Zoom level percentage is shown at right bottom of statusbar (da86013), and is clickable (#69 and 99860e6).
  • "Find and Replace" (eed0ef6), "Run" (2b6d835) and "Add to Favorites" (00dbe0c) is changed to resizable.
  • "Customize Schemes" dialog is resizable (536fb1f and 0f32f31), built-in default value for styles and file extensions is shown on the dialog (dc6eadb). Edit boxes on the dialog is changed to multi-line (dc6eadb), length limitation for styles is changed to 255 characters (8fc5af9), for file extensions is changed to 511 characters (448bff8).
  • "Modify Lines" (61a4ef3), "Enclose Selection" (b5a99cc ) and "Insert HTML/XML Tag" (0b47bae) dialogs is changed to resizable. Edit boxes on these dialogs is changed to multi-line (3942e3e), length limitation on edit boxes is removed (670cfc1), newline and tab ('\t') is supported (57b0396 and a149d21).
  • Improve "Goto" dialog, line count and document length is shown in the dialog (e6262d2 and 393a738). Goto specific position without line number is supported (393a738). Non-digit characters after line number is also supported (ed9090f).
  • New option (default enabled) to set "Find and Replace" dialog to transparent mode when deactivated (1e47d19 and 7f5e282), the FindReplaceOpacityLevel in Settings2 section can be used to set transparency level for "Find and Replace" dialog (9e40a60).
  • Save Find and Replace options across session when "Remember Search Options" (moved to Settings -> Other Settings) is checked (0575e74).
  • New option (default enabled) to show inconsistent line endings warning on file loading (#37, 8b6c757 and 8c35b70).
  • Highlight current line with a light gray outline frame (d99c04d). The size, fore and alpha styles can be used to configure appearance of outline frame box. Highlight subline (default enabled) is unimplemented, see https://sourceforge.net/p/scintilla/feature-requests/1245/.
  • Color for folder marker (back) and line (fore also used to fill folder marker) is configurable (c26529b and d66a59d). Depending on https://sourceforge.net/p/scintilla/feature-requests/1241/, the settings may changed in the further.
  • Delay loading styles (7c99dee), only global styles and styles for default scheme is loaded on startup.
  • Supporting full screen mode (#42, #68, 7640899 and 848a973).
  • Supporting inline IME mode (c79efe5 and 300590c), some IME not works well in inline mode, see https://sourceforge.net/p/scintilla/bugs/2038/.
  • Supporting fractional font size (b7595f0 and 4fe9414).
  • Supporting show wrap symbol in line number margin (#71, a267648 and a51d360).
  • New option to allow only select subline from wrapped line (84dd8de).
  • Open file, folder, containing folder, URL, email, etc. for current selection or string around caret without selection is added to context menu and Edit -> Action on Selection (3f0fd7c and 7dc8e7c). A new option (default enabled) "Use metapath to open folder" is added (under Settings -> Other Settings)(2c3cce1).
  • "Open Containing Folder" for current file is added to File -> Launch (3f0fd7c).
  • Search selection with Google, Bing and Wikipedia is added (e87ff65), the search URLs (including CustomAction1 and CustomAction2) is configurable in Settings2 section.
  • Notapad++ compatible Copy/Cut/Paste as binary content (#80 and ceb670b).
  • New deep-indent (Wrap indent 2 levels more than first subline) option (906f182).
  • New "wrap on whitespace" option (ece290b).
  • New WYSIWYG print option (f6b2dce and fdd5852).
  • Support SCSS, Less and HSS (#65 and ced11b9).
  • The Batch lexer is improved, code folding (092017b), escape sequence and nested strings (775ba41 and 44953d7) is supported.
  • "Insert Unicode Control Character" (462b1c5) and "Show Unicode Control Character" (4868ac9).
  • "Insert Script Shebang Line" (Edit -> Insert) (0ef8c9b).
  • Clear recent history (91e571d, 9708ab1)
  • New menu: View -> Font Quality (462ae09), View -> Caret Style (3f9a956).
  • Change "Toggle Default Folds" toolbar button to "Toggle Folds" drop-down button (f8628a5).
  • Add "Toggle Fold" for current block (Alt+C) into context menu (9ea2747).
  • New built-in file extensions:
    • Interface Definition Language (*.idl, *.odl, *.midl) for C/C++ (da010ca).
    • Qt Installer Framework Script (*.qs) (3fe7b1d) for JavaScript.
    • PHP-CS-Fixer (.php_cs) (4b9ee1a) for PHP Script.
    • Apache Hive (*.hsql) (a5c46a6) for SQL Query.
    • BeanShell (*.bsh) (da010ca) for Java.
    • JSHint Configuration File (.jshintrc), ESLint Configuration File (.eslintrc), JSON for Linked Data (*.jsonld) and Phabricator Arcanist (.arcconfig) (da010ca and 0cf4f6e) for JSON.
    • Ddoc (*.dd) for D (da010ca).
    • FORTRAN 2000 (*.f2k) for FORTRAN (da010ca).
    • RubyGems Specification (.gemspec) for Ruby (da010ca).
    • LLVMBuild.txt for Ini Config file, Kbuild for Makefile and Kconfig for Configuration file (75fc3b0).
    • Ninja (*.ninja) for Makefile (9d4efb2).

New Experimental Features

  • Bidirectional (in Direct2D mode) for Arabic and Hebrew (ef9fe08).
  • RTL layout (in GDI mode) (8ff4f41).
  • Experimental RexExp syntax (\h, \H, \i and \i?) (05a1749).

Other Changes Since v4.2.25.r1172

  • Two-digit year and month is used as minor and patch version number (which doesn't has any semantic meaning) since this version (f08bff4). The version number 4.2.25 for Notepad2 and 4.0.13 for metapath have been used since May 06, 2011 (see http://www.flos-freeware.ch/).
  • Build info is added to about dialog (#64 and 51293be).
  • Default syntax scheme in Notepad2.ini is changed back to plain text, minimum auto detection for C/C++ sources, configuration files and shell scripts is added (a713ae7 and bac9d20).
  • For security reason, settings file for Notepad2 and metapath now only loaded from program directory, %APPDATA% (e.g.: C:\Documents and Settings\username\Application Data) and %HOMEPATH% (e.g.: C:\Users\username) (63f3bad and 1796663).
  • For security reason, custom toolbar image for Notepad2 and metapath is restricted to files in program directory or files with absolute path (63f3bad).
  • For security reason, system wide searching for opening file (or folder for metapath) and external program is removed (bb50494, 2b42c80, cac743c, 659c470 and e8d674c).
  • Fix drag & drop from 32-bit application to 64-bit Notepad2 not working (#5 and d6aa2f1), drag & drop files from Visual Studio Solution Explorer is also supported (d208446). The warning for dropping multiply files is removed (026e82f).
  • Fix font scaling bug on high DPI display (3b835c7), improved supporting for high display (d7499a4, 96811f5 and e99ef26).
  • Fix poor performance for long line text (issue #79 and 55719a0), Improve large file support (#79 and 81e1e86).
  • Fix converting space to tab (and vice versa) crash (9ff1ea0).
  • Fix ANSI Art broken (#76 and 376cf1d).
  • Fix toggle block comment broken for MATLAB and LaTex (4079395).
  • Fix "Toggle Line Comment" and "Block Comment" inconsistent with lexers (#85 and f4a828e), improved comment supporting for HTML (ba9bcb3).
  • Fix JavaScript regex highlighting bug (3c20164).
  • Fix braces matching bug for XML tag like (e0fd89f).
  • Fix toggle N-level for Python and plain text (#82 and ac5cf2e).
  • Fix toggle folding sometimes not working (#48 and fc4c3c0).
  • Increase print font size for header and footer (77acd8c), patch from Notepad2e.
  • Add scheme menu for MATLAB, Octave and Scilab, fix auto-indentation and toggle comment bug for Julia, Octave and Scilab (32a7535).
  • Add scheme menu for Shell Script, M4 macro (5c2f5c2) and C Shell (78fbccc).
  • Add missing C++17 and C++20 attributes (7b83d4a).
  • Add missing keywords and pre-defined variables for Ruby (f8aace7).
  • Add missing styles (Here-doc, quoted string, etc.) for Ruby (1de3c88).
  • Add block comment style for Gradle build script (11103fc).
  • Update Julia syntax to Julia 1.0 (103263f).
  • API list for C is updated to C11 (b9b9358).
  • Keywords and function list for SQL is updated to MySQL 8.0 and MariaDB 10.3 (cfc0e0a).
  • API list for JavaScript is updated to ECMAScript 2018, 9ed (4f22e0d). Module directives and FormData API is also added (9753a63 and 1df51a7).
  • Support \e (ESC) escape sequence (ce2c758).
  • Support JSON property name without double quotes (ed49db6).
  • Highlight substitution inside TCL string (e3c6082).
  • Highlight variable inside Perl string (c4ccbc4).
  • Code folding for C# verbatim string (ed80075).
  • Add "Latest Build" link and some project links to "Help" menu (a5d226b and e008fed).
  • The 'Would you like to create this file' confirmation Message Box is changed to cancellable (b9cb94c).
  • Cache previous used regex pattern (2bd0ce1).
  • Move "Save Position" and "Reset Position" from Find and Replace dialog's system menu to the dialog.
  • Many other bug fix and improvements.

Other Changes for metapath Since v4.2.25.r1172

  • New toolbar image for matapath (#89 and ac20e0f).
  • New "Show in Explorer" and "Open in Explorer" context menu for metapath (7e373b2).
  • New shortcuts for matapath: Ctrl+C and Alt+C (3bf1fe0).
  • "Run" (2b6d835), "File Filter" (2bc0126), "Rename" (87b5230), "New Directory" (ea83c2b), "Find Window" (20bdae8) and "Target Application" (2afad02) dialog is changed to resizable.
  • Clear recent history (7ca3568 and 0ee3099).
  • Fix metapath can't open quoted path (db1b22b).
  • Move "Keep on Top" and "About metapath" to context menu (0127031).
  • Some other bug fix and improvements.

Breaking Changes

  • In order to support delay loading styles (7c99dee), file extensions for all scheme is moved to a standalone INI section "File Extensions" (a93b00d). All previous file extensions settings will not read by new Notepad2.
  • Korean IME is hard-coded to use inline mode and block caret in all previous versions, but it's now changed to only detect once (if "Save Settings On Exit" is checked) on first startup (2e16516), if you find the IME not works as expected, please check Settings -> Inline IME Options and View -> Caret Style.
  • "Font", "Color" and "Size" in default style name is removed (dc4c3f6), style name is changed to singular form (62e0808), some previous settings will not read by new Notepad2.
  • Zoom level and print zoom level settings will lost (reset to 100%)(39d1064).
  • Highlight current line is set to "Outline frame" (d99c04d) regardless of whether it's previous enabled or not.
  • Font quality settings will lost, it can be set via View -> Font Quality (462ae09) (default to "ClearType").
  • Caret settings will lost, it can be set via View -> Caret Style (3f9a956) (default to "Width 1").
  • Custom toolbar labels for Notepad2 and metapath is disabled (e4d34d8) and not built with this distribution.

Don't miss a new notepad4 release

NewReleases is sending notifications on new releases.