================================================== Rizonesoft Notepad3 CHANGES ================================================== -------------------------------------------------- Version 3.18.131.862 (31 January 2018) -------------------------------------------------- - Fix: Correct in-memory encoding/re-coding of text. - Fix: Join Lines (preserve paragraphs) issue. - New: Accelerator Key "Ctrl+Alt+J" -> Fuse Lines (:= Join Lines, line-breaks NOT replaced by Space). - Fix: Byte counting for selection. - Fix: Bug in joining lines algorithm. - Fix: Alt+H should open history file access dialog not help menu (add ? to revert to known access key). - CR: Reverting back to "?" for help menu and activation (Alt+?) key. - CR: Accelerator Key F1 now opens Online Documentation in browser. - Cleanup: Highlight current line stuff gathered. - Added: Setting2 parameter to adjust "Mark Occ" and "Hyperlink" styling delay. - Fix: Revisit usage of "Mark Occurrences" and "Hyperlink Styling" delay usage. - Fix: Rectangular selection: (virtual empty) selection persists after clear. - Cleanup: Customize Schemes... Style Names. - Fixes: Performance for several modify text operations. - Fix: Sentencecase some strings in "Customize Schemes...". - Refactoring: Usage of undo/redo action stack. - Fix: SpeedUp undo/redo action collections. - Fix: Lock NotifyUpdate and TargetSelection in case of multi action redo/undo and target replacements. - Fix: Handling of document modified flag in case of NotifyChange bypass. - Enhancement: Canonical initial Notepad3.ini. - Fix: Redo/undo and jump-to behavior having an active selection. - Refactor: set/replace selection handling. - Fix: Wrong test on rectangular selection. - Enhancement: add empty sections to initial settings file (.ini) to force a canonical order. - Fix: More select and replace target issues. - Fix: Toggle All folds behavior. - CR: Changed inifile for Portable Apps Notepad3. - Fix: TAB indentation handling according to predecessors (NP2). - Fix: selection (anchor and current caret position) handling. - Enh: Version check for Visual Studio 2017 v.15.5.5. - Fix: "Line Comment" id noselection and current pos == indent pos. - Fix: Initial .ini-file: unused section removed. - Fix: Support scintilla msg: SCN_NEEDSHOWN (EXPAND folded sections if needed). - Revert: Accelerator Key "Alt+UP/DOWN" for navigation (jump) between folded section headlines. - Enhancement: Added Accelerator Keys: Alt+LEFT/RIGHT to FOLD/EXPAND folding section. - Fix: Avoid some issues regarding folding, using SCI_SETAUTOMATICFOLD. - Fix: Revert TAB + Selection action corresponding to VisualStudio's behavior. - Fix: Sensible handling of "Block -> (Un)Indent" for different kinds of selections. - Fix: Font selection dialog does not reset some styles correctly. - Fix: Preserve selection on Line Comment toggle. - Enhancement: Make selection block indentation similar to VisualStudio's. - Fix: Char2Hex: Remove limit single byte selection. -------------------------------------------------- Version 3.18.113.828 (13 January 2018) -------------------------------------------------- - Performance: Redraw indicator ranges (Mark Occurrences) only if needed - avoiding recursive SCN_UPDATEUI notifications. - Mark Occurrences: force position progress in case of zero-length matches. - Performance: Mark Occurrence triggers enhancements. - Convenience: Re-introduce "max mark occurrence counter" to avoid lazy UI. (Set .ini section [Settings2] MarkOccurrencesMaxCount=-1 for unlimited (MAX_INT)). - Fix: Correct counting of found matches. - Fix: Broken find/replace (regex) on groups. - Performance: Tuning delay parameter of "Mark Occurrences" (instantly). - Performance: Remove test for set already, if indicator does not change. - Fixing several Mark Occurrences (instantly) issues. - Fix: Some customizing scheme issues (relative font size hierarchy). - Fix: Document modified flag not set properly (title, toolbar & statusbar only). - Fix: Renaming menu entries Edit: "Clear" -> "Delete" - Enhancement: structured "Mark Occurrences" menu hierarchy. - Fix: Menu "Mark Occurrences" whole word matching: add check indicator if one of word matching options (selected/current) is used. - Change: Menu "Mark Occurrences" whole word matching: radio button behavior. - Fixes Regarding Scheme customizing (rel. size) and View Menu (Mark Occ.). - Fix: Regex replacement on look-ahead assertion. - Fix: relative font sizing of non-default-style entries in custom schemes. - Fix: Font selection box title display. - Fix: clean coding for "relative sizing hierarchy". - Feature: "Customize Schemes..." UI change to represent "relative sizing hierarchy". - Fix: Update view on style change in "Customize schemes..." - Fix: Bug regarding "Reset" button in "Customizing Schemes..." dialog. - Fix: Bug in detect and style Hyperlink Hotspot. - Feature: Initial version of Nim Lexer. Added Scintilla project and header for Nim lexer. - Performance: Non visible styling during idle time. - Performance: Cache page instead of line only. - Change: Option "after visible" for styling in background (idle time). - Update: Compiler version 191225834 (VS2017 V.15.5.3). - Fix: Loosing state of "Transform Backslashes" while switching regex/wildcard search. - Fix: Block "mark occurrences" event on transaction pair: (SCI_TARGETFROMSELECTIO, SCI_REPLACETARGET). - Fix: protect SCI target transactions by a guard to break recursion of Mark Occurrences caused by ChangeNotification() events. - Fix: Handle "2nd Default Styles" as separate standard (2nd) lexer module. - Fix: Handling initial 1st or 2nd default style in case of "Default Text", shown on int "Customize Schemes...". - Fix: Crash on navigation between schemes beyond start/end of tree view. - Fix: Disable (using 1st Default Style) "Associated filename extensions" for "2nd Default Style". - Fix: Clone associated filename extension list of Default Style (for 2nd Default Style). - Enhancement: status bar information about usage of 2nd Default Style. - Change: View "2nd Default Style" as (dbl-clickable) status bar item. - Cleanup: NimLexer = NimrodLexer -> rely on Scintilla distribution for Nim(rod) lexer. - Change: Word Wrap mode from WORD to SPACE to avoid wrapping at style change edges. - Fix: move word wrap start symbol to margin (new WW mode SPACE (instead of WORD))". - Fix: Mark Occurrences timeout on Find/Replace. - Fix: Optimized status bar partitioning. - Fix: Revert naming for "2nd Default Text". - Clean Code: Reasonable assumption for memory allocation of style handling (backup, save, load). - Tuning: Statusbar Partitioning. - Fix: Bug on switching between 1st and 2nd standard lexers. - Fix: Selection of 1st or 2nd standard lexer (Default Text) based on Use2ndStandard flag. - Change: Onigmo RegEx syntax dialect. - Change: Onigmo regex engine: use PERL 5.10 syntax + enable "\<" and "\>" word boundary matching. - Fix: Onigmo regex engine PERL syntax: supporting named groups referencing in replacement text. - Enhancement: Statusbar: Count number of bytes in current encoding. - Change: Replace Windows Notepad Installer version only. - Change: Executables not compressed with UPX. -------------------------------------------------- Version 3.18.105.802 (5 January 2018) -------------------------------------------------- - Fix: Custom toolbar images ini settings added. - Fix: Add hints for free text style properties in "Customize Schemes...". - Fix: Test version numbers for month Jan - Sep (mono digit). - Fix: Redundant echo of expected version string. - Fix: Toggle line comments were placed at line end. - Feature: (Mark Occurences) instant word highligting. - Added: Switch to draw all occurrences in visible area only. - Opt: Delayed mark all occurrences for better UI response. - Enhancement: Async mark all occurrences via timer (UI response). - Fix: "Match Current Word" should not highlight partial word matches in other lines. - Added: Hyperlink Hotspot Style updates on UpdateUI event (visible area only) - Fix: Fetching wrong visible document line number in case of hidden or wrapped lines. - Fix: Ignoring queued timer event, if timer has been killed. - Performance: Optimizing timer handling to avoid multiple calls of complex methods. - Fix: use current lexer's default text font size as base font size for relative sizing of other styles. - Performance: Fixed some issuses, which eat up CPU. - Fix: mark occurrences counter not updated in time. - Minor performance enhancements. -------------------------------------------------- Version 3.17.1228.783 (28 December 2017) -------------------------------------------------- - Fix: Update coloring on window message WM_SYSCOLORCHANGE, including Hyperlink hotspot colors. - Feature: Java sourcecode to compile a class which acts as a standalone tool for decrypting Notepad3's encrypted files. - Fix: Crash on empty password for encryption tool. - Added batch script to bulk encrypt files of given directory with encryption tool. - Fix: Existing bash test script for encryption tool. - Fix: Onigmo regex: . matches any charakter and does not stop at line breaks. - Fix: Onigmo regex: remove extend mode, where # is used as line rest comment. - Feature: Regex - "Dot matches all" vs. "Dot does not match line-breaks" switchable by option in find/replace dialog. - Feature: inticator style used for matching braces too. - Fix: Change hard coded default values for matching brace styling according to new style (indicator). - Fix: font styling of Hyperlinks are not reset to default if feature is switched off. -------------------------------------------------- Version 3.17.1223.778 (23 December 2017) -------------------------------------------------- - Fix: Hyperlink feature related delay of font changing. - Added more triggers for Hyperlink style updated. - Refactoring: Cleanup trigger points for URL Hotspot styling. - Fix: Last hyperlink was restyled to lexer's style (not desired hotspot style). - Feature: Replaced DeelX with Onigmo regular expression engine. - Fix: Default lexer style changed a litle bit after first UI update. - Fix: Redraw bug in case of SCI_COLOURISE. - Fix: Removed some Hyperlink dection triggerpoints, which might be collide with SEARCHINTARGET and REPLACETARGET race conditions (seperate threads). - Fix: Removed unneccessary Hyperlink trigger-point from InitInstance(). - Fix: Performance issue while pasting long text from clipboard. - Fix: Local memory freeing. - Fix: Complete set of font weights for syntax scheme. - Fix: Prepare fixing race-condition search/replace target vs. selection. - Fix: Set target range only for search/replace and not for paste after modifying selection (race-condition search/replace target vs. selection). - Fix: Transform backslashes for regex find/replace. - Feature: Added Scintilla's indicator styles to scheme config for "Mark Occurences". - Fix: Out of range fallback for indicator string retrieval. - Fix: Issue regarding TransformBackslash handler (regex vs. std & find vs. replace). - Fix: Replace dialog: Resize regex text box to not overlay other control. - Fix: Enable more hyperlink styling trigger points, since "replace target" race-conditions have been fixed and fast regex engine (Onigmo) is integrated. - Fix: Issue regarding applying lexer style while hyperlink feature is active. - Fix: Reverting to buffered draw, until screen flickering issues are clarified. - Fix: Onigmo regex engine handling string/line end meta char '$' independent of EOL mode. - Fix: Replace-all with look-behind assertion. - Update: uthash to version 2.0.2. - Fix: Onigmo word boundaries issues (incl. "double" escaped esc) (not solved yet: multi escaped esc). - Fix: Customize schemes issues (now Default Font: is applied to "Default Text" and "Current Lexers" Default Font). - Fix: Allow (horiz.)TAB chars in selection copied to find/replace dialog search box on pop up time (Ctrl+F). - Fix: Setting "Default Font..." will clear current lexer's default font - inherits global default font then. - Fix: "Default Font..." configuration issue. - Minor fixes for Onigmo interface class. - Fix: "Default Font..." add check for current scheme is not default text already. - Enhanced style copy method. - Refactoring: Style Select Font dialog. - Fix: Schemes in alphabetical order (displayed names). - Feature: Dual configuration of Default Text Font or Current Scheme's Default Text Font. - Fix: Bug on font selection - global vs. current scheme. - Fix: More bugs regarding standard lexer handling. - Fix: Using WYSIWYG fonts (screen vs. printer). - Added Online Documentation menu item. - Fix: Inconsistencies: cut,copy,replace,... mainmenu and context menu vs. toolbar. - Fix: New Font selection feature: 2nd Default Font not supported completely. - Fix: setting/changing encryption pass-phrase did not trigger "file modified" flag. - Fix: Problem with 1st vs. 2nd Default Text Scheme selection. - Fix: Inconsistency 1st vs. 2nd Default Text Font selection. - Fix: Use Standard Lexer on new (empty) files. - General bug fixes and code cleanup. -------------------------------------------------- Version 3.17.1210.729 (10 December 2017) -------------------------------------------------- - Fix: flashing of Search text-box of find/replace dialog in case of Win7 Classic theme - [Settings2] section default values (and comment out if not changed) of initially distributed Notepad3.ini - Feature: Added Awk Script syntax highlighting (Python lexer based) - Fix: Edit/Special : URL encoding/decoding for full UTF8 (non ASCII) characters. - Refactoring: Platform independent URL decoding. - Fix: Gibberish output if URL decoded again (2nd time). - Fix: URL decoding, if encoding has "%#nnn" formatted ASCII chars. - Fix: HTML character encoding starts with ampersand, not percent char. - Fix: URL encoding: Added flag URL_ESCAPE_PERCENT for UrlEscape(). - Feature: URL Hotspot (first version). - Fix: Added version info for VS2017 v.15.5 - Feature: Enhanced URL Hotspot highlighting. - Refactoring and enhancements for Hyperlink Hotspot feature. - Fix: Consistent texts for "Hyperlink Hotspots". - Feature: open Hyperlink in NP3 (if applicable: "file://..."). - Added some more places, where Hotspot style redrawing does not slow down responsiveness. - Fix: Hyperlink Hotspots turned off by default. (not stable enough to force the feature). - Fix: Normal setup can now clean replace Windows Notepad registry keys. - Feature: Update notification in Notepad3 setup. - Code Cleanup -------------------------------------------------- Version 3.17.1202.715 (2 December 2017) -------------------------------------------------- - #191 Revert to Scintilla's old (default) font rendering technology. Modern DirectWrite available at [Settings2] SciDirectWriteTech=1 - Fix: Removed unused mouse wheel message interception. - Fix: Disabling buffered draw. (Scintilla: "Current platforms perform window buffering so it is almost always better for this option to be turned off.") - Fix: Font Smoothing: [Settings2] SciFontQuality=n has no effect on some special fonts (preserving old behavior if not defined). - Workaround: #192 Drag n' drop from 32-bit process on Notepad3 x64 window - Renaming of drag n' drop methods. - Fix: Adapt text for messagebox: no valid drop-file. - Fix: issue regarding Accelerator keys for find/replace dialog. - Feature: Additionally show full path to current directory in windows title. - Fix: Minipath full path display in titlebar (no dbl-slash in case of drive letter only). - Fix: Mark occurrences: Outline frame of indicator box shouls have same aplpha channel color (configurable alpha2:nnn). - Change request: move "Mark Occurrences" check box from menu to find/replace dialog options. - Fix: Find/replace dialog: mark occurrences: use standard save/restore settings behavior. -------------------------------------------------- Version 3.17.1124.690 (24 November 2017) -------------------------------------------------- - Fix: Revert to Scintilla's default mouse down and mouse wheel capture mode. - Fix: "Mark All Occurrences" setting of find/replace dialog should only be persisted, if "Save Settings on Exit" is enabled. - Fix: UpdateLineNumberWidth() triggers cleanup. - Adapt: C/C++ styles - keyword vs. typedefs. - Fix: Issue with update of line number margin width. - Fix: Transform backslash issues. Fix: C/C++ keywords and types. Timer call for mark occurrences during find/replace. - Fix: lookaround regex (DeelX) matches were not replaced. - Optimized DeelX regex interface. - Fix: Issue regarding find/replace empty-string. - Fix: Adapt DeelX RE interface according to enhanced find/replace dialog. - Fix: Issue #173 - regex/wildcard search: replacement string not used if "Check All Occurrences" is active. - Changed SDK version target to 10.0.16299.0 - Feature: find/replace mark occurrences. - Feature: Indicator in find text box, if search string is matched in document. - Feature: validate regexpr. - Fix: Recoding minipath's version.h to UTF-8 (Sig), because it contains codepage dependant copyright sign. - Fix: Corrections to .vcproj settings inconsistencies (reported in release build process). - Feature: Auto remember bookmarks in recent file history. - Fix: undo/redo issues (if no selection choosen). - Fix: Consecutive DEL/BACKSP undo/redo broken (wrapped by unconditional selection undo/redo). - Feature: Mark occurrences coloring is now configurable via "Customize Schemes...". - Fix: Issues found by static code analysis. - Minor fix for DeelX RegEx engine. - Major refactoring of find/replace regex evaluation. - Fix: Bug in getting string length from dialog box readout. - New "D" and "Go" programming language support. - Update: Scintilla Lib v.4.0.2 (402). - Fix: Break criteria for "replace all in range". - Fix: Issues found regarding zero-length matches using regex anchors, including infinite loops on replace all. - Fix: RegEx start anchor adjustment. - Enhance: comments with useful web links. - Fix: Problem with regex line start and replacements at line end. - Move position after replacement (EditReplace()). - Refactoring of "Replace All" methods. - Split C++ Keywords in two parts (1st: standard keywords, 2nd: keywords starting with double underscore "__xxx"). - Minor polish of Readme.md. Put changes compared to Notepad2-mod into Readme.md. - Repair empty resource file (Notepad3.rc). - Bookmark Enhancements - Swap text fields in Find/Replace dialog. - Fix: Issues regarding selection undo/redo. - Fix: Issues regarding margins configuration. - Added Book Mark style (Color Background and Alpha) to customize schemes... - Replaced old bookmark pixmap (visible margin) by Scintilla's BOOKMARK marker style. - Update: Compiler version detection. - Feature: "Swap Strings" button in Find/Replace dialog. - Fix: Issue #139 and #143 (remove selection undo/redo for non-text-changing operations on selections). - Fix: issue #144 (Left arrow no longer moves to previous line). - Fix: issue #145 (Mark Occurrences Counter is broken). - Increase buffers for edit box in "Customize Schemes..." dialog. - Fix: Pasting clipboard content into selection box should replace text and cancel selection then. - Minor bug fixes and more... -------------------------------------------------- Version 2.17.1023.632 (23 October 2017) -------------------------------------------------- ~ Fix: pasting clipboard content into selection box should replace text and cancel selection then (in case of swapping clipboard, the selection is preserved). ~ Changed buffers for operating edit box in customize schemes. ~ Implemented Feature Request #51 (buffer size of file extension edit box). ~ First prottotype of VirtualSpace RectangularSelection by default (very old behavior can be turned on by [Settings2] DenyVirtualSpaceAccess=1). ~ Added switch ([Settings2] UseOldStyleBraceMatching) to preserve old style brace matching behavior. ~ Applied patch from Neil Hodgson (Master of Scintilla Lib - respond to scintilla lib issue report #1976). ~ Fixed .ini paths for np3portableapps. ~ Restore wrongly discarded np3portableapps .ini files for NP3Portable, redirecting .ini reading to correct path. ~ Documentation: Minor changes to Notepad3.txt. ~ Documentation: doc/Notepad3.txt - add description of [Section2] .ini settings (mostly taken from orig. Notepad2 FAQs). ~ Remove settings for "Favorites" directory -> NP3 uses then users system default folder (%USERPROFILE%\Favorites). ~ Default to modern displays settings, using Scintilla's new technology : SciDirectWriteTech=1, SciFontQuality=3 ~ Settings [Section2] (cannot be set via GUI) add all possible names and default values, if applicable. ~ License.txt: switch to UTF-8 encoding. ~ Feature: Show warning before loading file with unknown (custom schemes) file name extension. ~ Add code snippet (activation only prepare for future extensions). ~ Fix: Crash in Favorites management. ~ Small code refactoring (replacing deprecated methods). -------------------------------------------------- Version 2.17.1016.610 (16 October 2017) -------------------------------------------------- ~ File History Dlg: rename button "Remove" -> "Discard" (discard selected item from file history list). ~ Added remove button for list items. ~ Checkbox for "preserve caret position" settings. ~ Removed unnecessary build artifacts from np3portable. ~ Minor bugfixes for session feature (file history: remember caret pos and encoding). -------------------------------------------------- Version 2 Build 605 (15 October 2017) -------------------------------------------------- ~ Fix: Crash on accessing UndoRedo structure while NP3 instance has not been initialized completely (.LOG file opening bug). -------------------------------------------------- Version 2 Build 600 (15 October 2017) -------------------------------------------------- ~ Fix: Virtual space access: column indicator. ~ Fix: Customize Schemes... Font... selection: bold/italic now detected (bold: if selection >= FW_SEMIBOLD) -------------------------------------------------- Version 2 Build 583 (11 October 2017) -------------------------------------------------- ~ Fix: syntax error on exit script. ~ Cleanup AHK testing script, add test artifacts. ~ Fix: Try to retrieve correct file version for Notepad3Portable creator. ~ Fix: StatusBar Col display is not correct in case of Virtual Space Access. ~ Generalized internal multi-byte codepage definitions (code cleanup). ~ AHK test script for NP3 GUI tests. ~ Fix: locale / language independant version patching batch for Notepad3Portable ~ Fix: version patching for Notepad3 PortableApps build batch. ~ Fix: Recode to ANSI (in case of Chinese ANSI code-page) -------------------------------------------------- Version 2 Build 568 (8 October 2017) -------------------------------------------------- ~ Prettier Browse Icon. ~ Fix: Reverting "reload as UTF-8 not work bugfix". ~ Fix: Texture glitch on "Browse" button. ~ Updated the Run Dialog icon. ~ Fix: Binary directory to build portable app. ~ Code comment for completeness. ~ Fix: In-text encoding (convert encoding). ~ Fix: minor StatusBar string corrections. ~ StatusBar information enhancements. ~ Fix: Support pasting position at virtual space. ~ Fix: Move caret to convenient position after pasting clipboard (no current selection). ~ Fix: Virtual space navigation and rectangular selection (minor issues) (allow "Virtual Space Rectangular Selection" also allows moving Caret into virtual space (beyond line end)) ~ Fix: Copy/Cut & Paste of current line (in case of no selection - Visual Studio behavior - using SCI's MSDEVLineSelect). ~ Enhanced clipboard recoding detection. ~ Fix: Bug in code-page related text conversion. -------------------------------------------------- Version 2 Build 548 (3 October 2017) -------------------------------------------------- ~ Fix: Made corrections to build 505 change log (spelling, grammar, etc). ~ Fix: FILE status becomes [MODIFIED] when doing CONTROL+A to select ALL. ~ Fix: Paste from clipboard to ANSI code page: unnecessary switching encoding to UTF-8. ~ Fix: Undo/Redo of virtual space selection rectangle not correct. ~ Fix: StatusBar SelectionCount (Sel) : count chars instead of bytes. ~ Fix: Punctuation chars for "Accelerated Word Navigation" (Settings2: ExtendedWhiteSpaceChars= add non word chars here). ~ Fix: Do mouse wheel scrolling in editor area only. ~ Fix: DPI awareness in manifest. ~ Code cleanup ~ Fix: word delimiter in case of "Accelerated Word Navigation". ~ Correct UFT Spelling on Encoding menu. -------------------------------------------------- Version 2 Build 505 (23 September 2017) -------------------------------------------------- + 1st chunk of StrSafe migration. + Some more StrSafe changes + Fix: manually edited settings (SciDirectWriteTech, SciFontQuality) should be placed in settings section [Settings2]. + Extended default "space char set" for "Accelerated Word Navigation" to avoid unexpected "accelerated word navigation" behavior, space-char extension is restricted to 7-bit ASCII char set (ignoring specified non-7-bit-ASCII chars). + StrSafe adaptions + Fixed: settings SciFontQuality have been overwritten by Scheme configuration. (Fonts: Calibri, Cambria, Candara, Consolas, Constantia, Corbel, Segoe UI are using 'cleartype smoothing' (SC_EFF_QUALITY_LCD_OPTIMIZED) by default, if not configured in Schema definition for Lexer) + Added font "Source Code Pro" to list of special fonts for cleartype smoothing. + Fix: undo destructive operation on selection (rectangle) does not restore selection or preserves selection mode (extends selection on caret movement) -> need to send SCI_CANCEL at the end of restored selection. + Found bug caused by StrSafe migration (COUNTOF() for buffer size must not be used on buffer pointer) + migrate StrCpyN() and StrCatBuff() to corresponding StrSafe.h methods + Adapted lstrcpyn() calls according to StrSafe.h requirements. + Refactoring of "Accelerated Word Navigation" to be compliant with Scintillas WhiteSpace and Punctuation defines. + "Accelerated Word Navigation" activation influences "Mark Occurrences" (whole word) if set + Extended: Remember selection undo / redo + Added undo / redo selection to more operations + Found Scintilla 400 method "SCI_CUT" (cut selection) broken: lost last char replaced by SCI_COPY & SCI_CLEAR combination (for now). + changes to EditGetClipboardText() solved the SCI_CUT problem, so it can be switched back from SCI_COPY & SCI_CLEAR to SCI_CUT (byte alignment in 64-bit, i am nut sure) + switching Scintilla internal codepage to UTF-8 only (resp. Japanese, Chinese and Korean DBCS) single-byte encoding is supported externally and converted (fore and back) to UTF-8 internally, this simplifies i.e. clipboard exchange, etc. + Removed support for obsolete Korean Johab (1361) codepage. + Fixed ConvertText() according to internal SCI codepage + Refactoring: Encoding handling + More operations for selections undo/redo. + Enabled "unlimited" (as in Scintilla Lib: dep. on memory and INT_MAX) undo / redo selection history using utarray from uthash header library (https://troydhanson.github.io/uthash/index.html) + Moved crypto readme to doc dir + remove internal codepage support for Chinese, Japan, Korean DBCS use generalized UTF-8 codepage instead (conversions do not work as expected within scintilla lib) - Dropping Windows XP support , using compiler toolset vc141 Win SDK 10.0. (current VC++ redistributable needed?) + Replaced lstrcmp() and lstrcmpi() by StrSafe (helper.h defined) methods. + Relaunch elevated keeping current changes in a buffer. + Fixed some problems for feature "relaunch elevated preserve changes". + First AppVeyor config + Remember window position in case of "relaunch elevated". + Fixed memory initialization problem during InitInstance() + Enhanced consistency between toolbar (save button) and titlebar (modified marker) + "Relaunch elevated": use current .ini-file instead of new user's (Admin's) .ini + Cleanup tmp filebuffer, if elevation has been rejected. + Fixed crash in case of wrong Encoding (detection) + Changed version display on Help/About. + New Powershell script to patch version numbers + appveyor.yml using same powershell commands to patch version - Remove FindReplaceDlg handle declared as external from compilation unit Edit.c - not really needed here. (externals (handles / pointers) seemed to be a problem on module init instance time in 64-bit) + Fixed: Open find dialog the first time (new NP3 instance) while clipboard is empty, NP3 crashes (try to LocalFree() static allocated memory) + Fixed: RegExpr "Find previous" corrected (find mode "left to right" has been used, which has not the intended behavior). + Updated Compiler Info. + Added build.txt (and .ps1 changes) for Local Build Version patching (common AppVeyor/Local script). + Fixed issue "Convert to Title Case" while selected text is all upper case. + Fixed broken "Complete Word" feature (Ctrl+Enter/Return). + Changed accelerator key for feature "Complete Word" from Ctrl+Enter to Ctrl+Alt+Enter. + Added feature "Insert New (empty) Line above current line Ctrl+Enter (as in VisualStudio). + Code cleanup + Added new Settings "Virtual Space on Rectangular Selection" used to select. rectangle not delimited by line endings (but including virtual space). + Readme.txt Updated. (Thanks Will) -------------------------------------------------- Version 2 Build 450 (18 August 2017) -------------------------------------------------- - Fixed "file modified" flag not set on Ctrl+X actions - Fixed re-enable accidentally disabled toolbar buttons (find, replace, clear, toggle-folds, file-launch) - Fixed remove obsolete settings entry, never read (SciDrawTechnology) - Fixed crash: not a good idea to make char array (char*) external to other compilation unit. - Fixed wrong shortcut in menu on word navigation (Ctrl+LEFT/RIGHT) - Renamed encoding menu item: "Recode No FileVars" (Alt+F8) =>> "Ignore Encoding Tags" (Alt-F8) - UTF-8 encoding of License.txt (fixing: different ANSI codepage for copyright sign) - Update to Scintilla 400 (early bird) pre-release. -------------------------------------------------- Version 2 Build 440 (16 August 2017) -------------------------------------------------- - Fixed unicode conversion error fixed in .rc - Added Del/Back Selection preserving on Undo/Redo - Fix: restore "rectangular" selection too on "Selection Cut" Undo/Redo - Cut Selection (Ctrl-X) will preserve Selection on Undo/Redo - Fixed Toolbar Button "Save" has to be enabled on encoding changes - Fixed bug on path compare for editing own settings file (.ini) to disable "save settings" menu entries (should be case insensitive) - Zero initializing string buffers (hardening code while searching an issue regarding "Recent Files" list in "relative paths" mode - Added Enabling/Disabling Save-Button in toolbar according to file modified indicator. - Menu integration of "hidden" commands - Fixing and cleanup build for Notepad3Portable -------------------------------------------------- Version 2 Build 432 (10 August 2017) -------------------------------------------------- - Fixed issue #35 (preserve FileExtension settings while switching Styles / 2nd Default Scheme). - Enlarge some string buffers for dialogs. - Fixed np3encrypt vcxproj files. - Added command line option ( /v ) to print file immediately and quit (like Window's original notepad.exe /p option). - Added printing additional option /v dialog to allow access to the Printer dialog (as on Menu: Print... ). - Initial version of PortableApps.com Launche and Installer build. - Build environment, to create Notepad3Portable (according to Portableapps.com) (x86/x64). -------------------------------------------------- Version 2 Build 422 (10 August 2017) -------------------------------------------------- - Cleanup manifest handling - Minipath DPI aware false -------------------------------------------------- Version 2 Build 411 (9 August 2017) -------------------------------------------------- - Reintroduce HighDPI toolbar - Fixed nullptr access while pressing "favorites" toolbar button on 'virgin' Notepad3 ToolBar - Added VS2017 .vcproj files and adapted Compiler Tool Set accordingly - Integrate Scintillas DirectWrite technology - Minor cleanups reported by CppCheck v.1.79 - Added VisualStudio's Editor Behaviour for Ctrl-C and Ctrl-X - Fixed broken Ctrl-Q (toggle line comments) -------------------------------------------------- Version 2 Build 398 (13 June 2017) -------------------------------------------------- - Updated Scintilla to version 3.7.5 - Don't use 2nd default syntax scheme by default. (Issue #21) - Added Microsoft Visual C++ 2017 (vc141) support. - Bigger Toolbar Buttons (24px). Should be big enough now. (Issue #21) -------------------------------------------------- Version 1 Build 388 (06 January 2017) -------------------------------------------------- - Updated Scintilla to version 3.7.2 - MiniPath now works on Windows XP -------------------------------------------------- Version 1 Build 386 (08 December 2016) -------------------------------------------------- - Crypto Module: code cleanup - Crypto Module: Replaced LocalAlloc/GlobalAlloc by HeapAlloc methods. - Integration of DeelX RegExpr engine (http://www.regexlab.com/en/deelx/) - Update to Scintilla 371 (NP2 adaption due to deprecated data types). - clean-code Solution (instead of "magic numbers"). - Fixed block selecting cause crash. - Added RaPeHoff to the contributors list. -------------------------------------------------- Version 1 Build 350 (05 September 2016) -------------------------------------------------- - Updated HTML Keywords - Updated Scintilla to version 3.6.7 - Added Microsoft Visual C++ Update 3 version number -------------------------------------------------- Version 1 Build 330 (24 June 2016) -------------------------------------------------- - Fixed Compiler warnings - Updated to Scintilla 3.6.6 - Updated Apache Keywords for version 2.4 - Removed Visual Studio 2010 to 2013 Support - Added Visual Studio 2015 Update 2 version number - Added Support for Inno Setup 5.5.9 - Fixed Favorites Function - Updated Rizonesoft Versions Program - Implemented a new versioning scheme