Qwined Technical Editor

Change History
Changes, fixes and new features listed by release:

Release 12 Stable Release (Build 12.02.0.59)
  • General availability.
  • Release 12 Release Candidate 1
    • Full compatibility with Windows 8.1 (Intel) and Windows Server 2012 R2.
    • Lexer added for DMAP language.
    • Basic lexer supports multiline comments in FreeBASIC.
    • Bash lexer allows '#' inside words.
    • C++ lexer recognizes C++11 user-defined literals and applies lexical class SCE_C_USERLITERAL.
    • C++ lexer allows single quote characters as digit separators in numeric literals like 123'456 as this is included in C++14.
    • C++ lexer fixes bug with #include statements without " or > terminating filename.
    • C++ lexer fixes split of Doxygen keywords @code{.fileExtension} and @param[in,out].
    • C++ lexer styles Doxygen keywords at end of document.
    Release 12 Beta 4
    • Cmake lexer fixes bug with empty comments.
    • Fortran folder improved. Treats "else" as fold header.
    • Fix bug with adjacent instances of the same indicator with different values where only the first was drawn.
    • For DirectWrite, use the GDI ClearType gamma value for SC_EFF_QUALITY_LCD_OPTIMIZED as this results in text that is similar in colour intensity to GDI. For the duller default DirectWrite ClearType text appearance, use SC_EFF_QUALITY_DEFAULT.
    • Fix another problem with drawing on Windows with Direct2D when returning from lock screen. The whole window is redrawn as just redrawing the initially required area left other areas black.
    • When scroll width is tracked, take width of annotation lines into account.
    • Added functions to help convert between substyles and base styles and between secondary and primary styles. SCI_GETSTYLEFROMSUBSTYLE finds the base style of substyles. Can be used to treat all substyles of a style equivalent to that style. SCI_GETPRIMARYSTYLEFROMSTYLE finds the primary style of secondary styles. StyleFromSubStyle and PrimaryStyleFromStyle methods were added to ILexerWithSubStyles so each lexer can implement these.
    • Lexer added for Rust language.
    • Avoid false matches in errorlist lexer which is used for the SciTE output pane by stricter checking of ctags lines.
    • Perl lexer fixes bugs with multi-byte characters, including in HEREDOCs and PODs.
    • SQL folder folds 'create view' statements.
    • Visual Prolog lexer updated with better support for string literals and Unicode.
    • For SCI_SETIDENTIFIERS, \t, \r, and \n are allowed as well as space between identifiers.
    • Gaining and losing focus is now reported as a notification with the code set to SCN_FOCUSIN or SCN_FOCUSOUT. This allows clients to uniformly use notifications instead of commands. Since there is no longer a need for commands they will be deprecated in a future version. Clients should switch any code that currently uses SCEN_SETFOCUS or SCEN_KILLFOCUS.
    • Avoid attempts to redraw empty areas when lexing beyond the currently visible lines.
    • Characters may be represented by strings. In Unicode mode C1 control characters are represented by their mnemonics.
    • Added SCI_POSITIONRELATIVE to optimize navigation by character.
    • Option to allow mouse selection to switch to rectangular by pressing Alt after start of gesture.
    • Lexer added for KVIrc script.
    • Bash lexer fixed quoted HereDoc delimiters.
    • MS SQL lexer fixed ';' to appear as an operator.
    • Structured Text lexer fixed styling of enumeration members.
    • Fixed bug with horizontal caret position when margin changed.
    • Ensure selection redrawn correctly in two cases. When switching from stream to rectangular selection with Alt+Shift+Up. When reducing the range of an additional selection by moving mouse up. Feature #1007.
    • Copy and paste of rectangular selections compatible with Borland Delphi IDE.
    • Initialize extended styles to the default style.
    • Fix painting on an explicit HDC when first paint attempt abandoned.
    • Handling of UTF-8 and DBCS text in lexers improved with methods ForwardBytes and GetRelativeCharacter added to StyleContext.
    • For Unicode text, case-insensitive searching and making text upper or lower case is now compliant with Unicode standards on all platforms and is much faster for non-ASCII characters.
    • A CategoriseCharacter function was added to return the Unicode general category of a character which can be useful in lexers.
    • A68K lexer updated.
    • CoffeeScript lexer fixes a bug with comment blocks.
    • ECL lexer regular expression code fixed.
    • errorlist lexer only recognises Perl diagnostics when there is a filename between "at" and "line". Had been triggering for MSVC errors containing "at line".
    • Haskell lexer fixed to avoid unnecessary full redraws. Don't highlight CPP inside comments when styling.within.preprocessor is on.
    • Lua lexer fixes bug in labels with UTF-8 text.
    • Perl lexer fixes bug in string interpolation with UTF-8 text.
    • Fixed bugs with case conversion when the result was longer or shorter than the original text. Could access past end of string potentially crashing. Selection now updated to result length.
    • Word wrap bug fixed where the last line could be shown twice.
    • Word wrap bug fixed for lines wrapping too short.
    • Word wrap performance improved.
    • Minor memory leak fixed.
    • Python scripts used for building and maintenance improved and moved into scripts directory.
    • Lexer and folder added for Structured Text language.
    • Bug fixed with undo grouping of tab and backtab commands.
    • Add indicator INDIC_COMPOSITIONTHICK, a thick low underline, to mimic an appearance used for Asian language input composition.
    • C++ lexer adds style for preprocessor doc comment.
    • Haskell lexer and folder improved. Separate mode for literate Haskell "literatehaskell" SCLEX_LITERATEHASKELL.
    • LaTeX lexer bug fixed for Unicode character following '\'.
    • PowerShell lexer recognises here strings and doccomment keywords. #region folding added.
    • Fix multi-typing when two carets are located in virtual space on one line so that spaces are preserved.
    • Fix lexer problem where no line end was seen at end of document.
    • Fix drawing with Direct2D when returning from lock screen. The render target had to be recreated and an area would be black since the drawing was not retried.
    • Fix display of DBCS documents on Direct2D/DirectWrite with default character set.
    • Autocompletion lists can now appear in priority order.
    • Most lexers now lex an extra NUL byte at the end of the document which makes it more likely they will classify keywords at document end correctly.
    • Haskell lexer improved in several ways.
    • Matlab/Octave lexer recognises block comments and ... comments.
    • Ruby lexer crash fixed with keyword at start of document.
    • Direct2D/DirectWrite mode now displays documents in non-Latin1 8-bit encodings correctly.
    • Character positioning corrected in Direct2D/DirectWrite mode on Windows to avoid text moving and cutting off lower parts of characters.
    • SCI_SCROLLRANGE added to scroll the view to display a range of text. If the whole range can not be displayed, priority is given to one end.
    • C++ lexer no longer recognises raw (R"") strings when the first character after " is invalid.
    • HTML lexer recognises JavaScript RegEx literals in more contexts.
    • Fixed automatic display of folded text when return pressed at end of fold header and first folded line was blank.
    • SCI_VISIBLEFROMDOCLINE fixed to never return a line beyond the document end.
    • SCI_LINESCROLL fixed for a negative column offset.
    Release 12 Beta 3
    • Ported to Visual Studio 2013.
    Release 12 Beta 2
    • To allow cooperation between different uses of extended (beyond 255) styles they should be allocated using SCI_ALLOCATEEXTENDEDSTYLES.
    • For Unicode documents, lexers that use StyleContext will retrieve whole characters instead of bytes. LexAccessor provides a LineEnd method which can be a more efficient way to handle line ends and can enable Unicode line ends.
    • The C++ lexer understands the #undef directive when determining preprocessor definitions.
    • The errorlist lexer recognises gcc include path diagnostics that appear before an error.
    • Folding implemented for GetText (PO) translation language.
    • HTML lexer does not interrupt comment style for processing instructions.
    • Fixed bug where vertical scrollbar thumb appeared at beginning of document when scrollbar shown.
    • Caret line highlight can optionally remain visible when window does not have focus.
    • NUL characters in selection are copied to clipboard as spaces to avoid truncating at the NUL.
    • C++ lexer fixes problem with showing inactive sections when preprocessor lines contain trailing comment.
    • C++ lexer fixes problem with JavaScript regular expressions with '/' in character ranges.
    • LaTeX folder added.
    • LaTeX lexer improves styling of math environments.
    • MySQL lexer implements hidden commands.
    • Only produce a single undo step when autocompleting a single word.
    • Fixed crash when printing lines longer than 8000 characters.
    • Fixed problem in character movement extends selection mode where reversing direction collapsed the selection.
    • Improve speed when performing multiple searches.
    • Bash lexer supports nested delimiter pairs.
    • For C/C++, recognise exponent in floating point hexadecimal literals.
    • For C #include statements, do not treat // in the path as a comment.
    • Lexer for GetText translations (PO) improved with additional styles and single instance limitation fixed.
    • Ruby for loop folding fixed.
    • Ruby recognition of here-doc after class or instance variable fixed.
    • SQL folding of loop and case fixed.
    • SQL folding of case with assignment fixed.
    • Fix hang when removing all characters from indicator at end of document.
    • Fix failure of \xhh in regular expression search for values greater than 0x79.
    • On ncurses, fix excessive spacing with italics line end.
    • Search for D2D1.DLL and DWRITE.DLL in system directory to avoid loading from earlier in path where could be planted by malware.
    • Implement INDIC_SQUIGGLEPIXMAP as a faster version of INDIC_SQUIGGLE. Avoid poor drawing at right of INDIC_SQUIGGLE. Align INDIC_DOTBOX to pixel grid for full intensity.
    • Implement SCI_GETSELECTIONEMPTY API.
    • Added SCI_VCHOMEDISPLAY and SCI_VCHOMEDISPLAYEXTEND key commands.
    • Fix long XML script tag handling in XML lexer.
    • Fix rectangular selection range after backspace.
    • Send SCN_UPDATEUI with SC_UPDATE_SELECTION for backspace in virtual space.
    • Avoid problems when calltip highlight range is negative.
    • Refine build time checking for Direct2D and DirectWrite.
    • Avoid potential build problems with MultiMon.h by explicitly checking for multi-monitor APIs.
    Release 12 Beta 1
    • Platform compatibility fixes.
    • Preliminary support for Windows 8.1 and Windows Server 2012 R2.
    • Full support for Windows 8 and Windows Server 2012.
    Release 12 Alpha
    • Platform compatibility fixes. Prioritized fixes started.
    Release 11 Limited Release
    • Released for limited audience only. Available upon request.
    • Platform compatibility fixes. Preliminary support for Windows 8 and Windows Server 2012.
    Release 11 Beta 2
    • Less/Hss support added to CSS lexer.
    • C++ lexer style SCE_C_PREPROCESSORCOMMENT added for stream comments in preprocessor.
    • Fix incorrect styling of inactive code in C++ lexer.
    • Fix incorrect styling by C++ lexer after empty lines in preprocessor style.
    • C++ lexer option "lexer.cpp.allow.dollars" fixed so can be turned off after being on.
    • Fortran fixed format lexer fixed to style comments from column 73.
    • Fortran folder folds CRITICAL .. END CRITICAL.
    • Fortran lexer fixes styling after comment line ending with '&'.
    • Fortran lexer styles preprocessor lines so they do not trigger incorrect folding.
    • Fortran folder fixes folding of nested ifs.
    • HTML folder fixes folding of CDATA when fold.html.preprocessor=0.
    • In 'choose single' mode, autocompletion will close an existing list if asked to display a single entry list.
    • Properly position caret after undoing coalesced delete operations.
    • Ensure margin is redrawn correctly.
    • Fix clicks in first pixel of margins.
    • Fix infinite loop when drawing block caret for a zero width space character at document start.
    • Crash fixed for deleting negative range.
    • For characters that overlap the beginning of their space such as italics descenders and bold serifs, allow start of text to draw 1 pixel into margin.
    • Ctrl+Double Click and Ctrl+Triple Click add the word or line to the set of selections.
    • Line wrap markers may now be drawn in the line number margin.
    • Lexer added for OScript language.
    • Lexer added for Visual Prolog language.
    • UTF-8 validity is checked more stringently and consistently. All 66 non-characters are now treated as invalid.
    • HTML lexer bug fixed with inconsistant highlighting for PHP when attribute on separate line from tag.
    • HTML lexer bug fixed for JavaScript block comments.
    • Annotation drawing bug fixed when box displayed with different colors on different lines.
    • With Direct2D, fix drawing with 125% and 150% DPI system settings.
    • Virtual space selection bug fixed for rectangular selections.
    • Replacing multiple selection with newline changed to only affect main selection.
    • Replacing selection with newline changed to group deletion and insertion as a single undo action.
    • IME bug fixed for horizontal jump.
    • Option added to allow case-insensitive selection in auto-completion lists.
    • Replace \0 by complete found text in regular expressions.
    • Fixed single quoted strings in bash lexer.
    • Incorrect highlighting fixed in C++ lexer for continued lines.
    • Hang fixed in diff lexer.
    Release 11 Beta 1 (Refresh 2)
    • Fix extra drawing of selection inside word wrap indentation.
    • Fix problem with determining the last line that needs styling when drawing.
    • Fix problems with drawing in margins.
    • Fix printing crash when using Direct2D to display on-screen.
    • Fixed the Move Selected Lines command when last line does not end with a line end character.
    • Fix word wrap indentation printing to use printer settings instead of screen settings.
    • Fix column finding method so that tab is counted correctly.
    • ECL lexer added.
    • CPP lexer fixes styling after document comment keywords.
    • Pascal folder improves handling of some constructs.
    • XML lexer avoids entering a bad mode due to complex preprocessor instructions.
    • Duplicate command is always remembered as a distinct command for undo.
    • Fix bug where setting an indicator for the whole document would fail.
    • Crash fixed for SCI_MOVESELECTEDLINESDOWN with empty vertical selection.
    • Differences between buffered and unbuffered mode on Direct2D eliminated.
    • Font leading implemented for Direct2D to improve display of character blobs.
    • Fractional widths used for line numbers, character markers and other situations.
    • Translucent rectangles drawn using Direct2D with sharper corners.
    • RGBA markers drawn sharper when centered using Direct2D.
    • RGBA markers are drawn centered when taller than line.
    • Image marker drawing problem fixed for markers taller than line.
    • Markers are drawn horizontally off-center based on margin type instead of dimensions.
    • Fold tail markers drawn vertically centered.
    • Wrap mode responsiveness improved.
    • Fixed problems with multiple clicks in margin and with mouse actions combined with virtual space.
    • Fixed bug with using page up and down and not returning to original line.
    • Down arrow with wrapped text no longer skips lines.
    • Fix problem with dwell ending immediately due to word wrap.
    • Wrapped lines are rewrapped more consistently while resizing window.
    • Selected line ends are highlighted more consistently.
    • Redrawing reduced for some marker calls.
    • Lexer added for the AviSynth language.
    • Lexer added for the Take Command / TCC scripting language.
    • CSS lexer gains support for SCSS.
    • CPP lexer fixes problems in the preprocessor structure caused by continuation lines.
    • HTML folder fixes spurious folds on some tags.
    • Ruby lexer fixes bug where '=' at start of file caused whole file to appear as a comment.
    • SQL folder folds blocks of single line comments.
    • Improved support for fractional positioning. Spaces, tabs, and single character tokens can take fractional space and wrapped lines are positioned taking fractional positions into account.
    • Fix fold highlight not being fully drawn.
    • Fix selection margin appearing black when starting in wrap mode.
    • Fix crash when changing end of document after adding an annotation.
    Release 11 Beta 1 (Refresh 1)
    • ILoader interface for background loading finalised and documented.
    • CoffeeScript lexer added.
    • C++ lexer fixes crash with "#if defined( XXX 1".
    • Crash with Direct2D on fixed.
    • Backspace removing protected range fixed.
    • Cursor setting failure when screen saver on fixed.
    • Made untitled tab saveable when created by closing all files.
    • Highlight "else" as a keyword for TCL in the same way as other languages.
    • Fix problems with setting fonts for autocompletion lists where font handles were copied and later deleted causing a system default font to be used.
    • Fix font size for Asian language input methods which sometimes led to IME not being visible.
    • Fixed polygon drawing so fold symbols are visible again.
    • Ensure pixmaps allocated before painting as there was a crash when editor drew without common initialisation calls.
    • Drawing may be have been performed with Direct2D and DirectWrite instead of GDI.
    • Paletted display support removed.
    • Fractional font sizes can be specified.
    • Different weights of text supported instead of just normal and bold.
    • Sub-pixel character positioning supported.
    • New API to see if all lines are visible which can be used to optimize processing fold structure notifications.
    • Scrolling optimized by avoiding invalidation of fold margin when redrawing whole window.
    • C++ lexer supports Pike hash quoted strings when turned on with lexer.cpp.hashquoted.strings.
    • Fixed incorrect line height with annotations in wrapped mode when there are multiple views.
    • Calltips may be displayed above the text as well as below.
    Release 11 Beta 1 (Limited)
    • Platform compatibility fixes. Prioritized fixes started.
    Release 11 Internal Early Beta
    • Ported to Visual Studio 2012.
    Release 10 Stable Release Update (Build 10.24.0.77)
    • C++ lexer fixed a bug with raw strings being recognised too easily.
    • LaTeX lexer improved with more states and fixes to most outstanding bugs.
    • Lua lexer updates for Lua 5.2 beta with goto labels and "\z" string escape.
    • Perl string styling highlights interpolated variables.
    • Perl lexer updated for Perl 5.14.0 with 0X and 0B numeric literal prefixes, break keyword and "+" supported in subroutine prototypes.
    • Perl bug fixed with CRLF line endings.
    • Markdown lexer fixed to not change state with "_" in middle of word.
    • Mouse pointer changes over selection to an arrow near start when scrolled horizontally.
    • Indicators that finish at the end of the document no longer expand when text is appended.
    • SparseState merge fixed to check if other range is empty.
    • Autocompletion lists will scroll instead of document when mouse wheel spun.
    • Restricting Qwined to single instance works now more reliably (check.if.already.open).
    Release 10 Stable Release (Build 10.24.0.67)
    • Official Qwined Technical Editor 2011 release with approved Microsoft Platform Ready tests for Windows 7 and SQL Azure.
    Release 10 Release Candidate 1
    • Preliminary Microsoft Platform Ready tests with Windows 7 and SQL Azure.
    Release 10 Release Candidate 0
    • Mako template language block syntax extended and ## comments recognized.
    • Folding of Mako template language within HTML fixed.
    • Python lexer has lexer.python.keywords2.no.sub.identifiers option to avoid highlighting second set of keywords following '.'.
    • Python folder fixes bug where fold would not extend to final line.
    • Mouse pointer changes over selection to an arrow more consistently.
    • Bug fixed with annotations beyond end of document.
    • Incorrect drawing fixed for combination of background colour change and translucent selection.
    • Lexers initialized correctly when started at position other than start of line.
    • Fold highlight drawing fixed for some situations.
    • Case insensitive search fixed for cases where folded character uses fewer bytes than base character.
    • API added for setting and retrieving the identifier number used in notifications.
    • Margin line selection can be changed to select display lines instead of document lines.
    • Matlab lexer does not special case '\' in single quoted strings.
    • Verilog lexer supports SystemVerilog folding and keywords.
    • Font leak fixed.
    • Cobol supports fixed format comments.
    • Automatic scrolling works for long wrapped lines.
    • Multiple typing works for cases where selections collapse together.
    • Fold expanded when needed in word wrap mode.
    • Bug fixed with edge drawn in wrong place on wrapped lines.
    • Bug fixed with unnecessary scrolling.
    • Regular expression search fixed for \$ on last line of search range.
    Release 10 Beta 5
    • Added configurable icon mappings to represent files in the editor tabs.
    • Added support for Microsoft SQL Azure in the SQL command line.
    • Added renewed setup model based on Aero Wizard specification.
    • Added renewed Web update mechanism (Qwined Maintenance).
    • Folding margin symbols can be highlighted for the current folding block.
    • Selected lines can be moved up or down together.
    • Can show brace matching and mismatching with indicators instead of text style. Translucency of outline can be altered.
    • Batch file lexer allows braces '(' or ')' inside variable names.
    • Make file lexer treats a variable with a nested variable like $(f$(qx)b) as one variable.
    • Folding bug fixed for JavaScript with nested PHP.
    • HTML lexer styles Django's {# #} comments.
    • HTML lexer styles JavaScript regular expression correctly for /abc/i.test('abc');.
    • Inno Setup Script lexer now works properly when it restarts from middle of [CODE] section.
    • Lua lexer updated for Lua 5.2 with hexadecimal floating-point numbers and '\*' whitespace escaping in strings.
    • Perl folding folds "here doc"s and adds options fold.perl.at.else and fold.perl.comment.explicit. Fold structure for Perl fixed.
    • Python lexer supports cpdef keyword for Cython.
    • SQL folding option lexer.sql.fold.at.else renamed to fold.sql.at.else.
    • SQL lexer no longer treats ';' as terminating a comment.
    • Text drawing and measurement segmented into smaller runs to avoid platform bugs.
    • Bugs fixed in backward regex search.
    • Bugs with display of folding structure fixed for wrapped lines and where there is a fold header but no body.
    • Modula 3 lexer added.
    • Asm, Basic, and D lexers add extra folding properties.
    • Raw string literals for C++0x supported in C++ lexer.
    • Triple-quoted strings used in Vala language supported in C++ lexer.
    • The Fortran lexer correctly folds type-bound procedures from Fortran 2003.
    • Diff lexer fixes problem where diffs of diffs producing lines that start with "----".
    • Bug fixed when searching upwards in Chinese code page 936.
    • To ensure reverse arrow cursor matches platform default, it is now generated by reflecting the platform arrow cursor.
    • Can choose mouse cursor used in margins.
    • Bash folder handles here docs.
    • C++ lexer fixed to always handle single quote strings continued past a line end.
    • Ruby folder handles here docs.
    • SQL lexer allows '.' to be part of words.
    • SQL folder handles case statements in more situations.
    • SQL folder adds fold points inside expressions based on bracket structure.
    • SQL folder drops fold.sql.exists property as 'exists' is handled automatically.
    • Mouse double click word selection chooses the word around the character under the mouse rather than the inter-character position under the mouse. This makes double clicking select what the user is pointing at and avoids selecting adjacent non-word characters.
    • Fixed mouse double click to always perform word select, not line select.
    • Right click cancels autocompletion.
    • Fixed virtual space problems when text modified at caret.
    • Fixed memory leak in lexer object code.
    • Avoid unnecessary redraw when indicator fill range makes no real change.
    • New lexer a68k for Motorola 68000 assembler.
    • Performance improved when creating large rectangular selections.
    • PHP folder recognizes #region and #endregion comments.
    • Bug fixed where searching backwards in DBCS text (code page 936 or similar) failed to find occurrences at the start of the line.
    • Regular expressions allow use of '?' for non-greedy matches or to match 0 or 1 instances of an item.
    • Bug fixed where scrolling to ensure the caret is visible did not take into account all pixels of the line.
    • After autocompletion, the caret's X is updated.
    • PgUp/PgDn fixed to allow virtual space.
    • Crash fixed when AddMark and AddMarkSet called with negative argument.
    • Bash lexer bug fixed for here docs starting with <<-.
    • C++ lexer bug fixed for // comments that are continued onto a second line by a \.
    • C++ lexer fixes wrong highlighting for float literals containing +/-.
    • JavaScript lexer recognize regexes following return keyword.?
    • Ruby lexer handles % quoting better and treats range dots as operators in 1..2 and 1...2. Ruby folder handles "if" keyword used as a modifier even when it is separated from the modified statement by an escaped new line.
    • Bug fixed where upwards search failed with DBCS code pages.
    • Asian Double Byte Character Set (DBCS) support improved. Case insensitive search works and other operations are much faster.
    • IDocument interface used by lexers adds BufferPointer and GetLineIndentation methods.
    • Bug fixed where it was not possible to disable folding.
    • Bug fixed with pressing Enter on a folded fold header line not opening the fold.
    • C++ lexer crash fixed with preprocessor expression that looked like division by 0.
    • Haskell lexer improved.
    • HTML lexing fixed around Django {% %} tags.
    • HTML JavaScript lexing fixed when line end escaped.
    • HTML lexer stores line state produced by a line on that line rather than on the next line.
    • Markdown lexer fixes infinite loop.
    • MySQL folding bugs with END statements fixed.
    • PowerShell lexer allows '_' as a word character.
    Release 10 Beta 4
    • Added support for Microsoft SQL Server R2 to SQL command line.
    • C++ lexer understands the preprocessor enough to grey-out inactive code due to conditional compilation.
    • Lexer added for Txt2Tags language.
    • Bash lexer implements basic parsing of compound commands and constructs.
    • C++ folder allows disabling explicit fold comments.
    • Perl folder works for array blocks, adjacent package statements, nested PODs, and terminates package folding at __DATA__, ^D and ^Z.
    • PowerShell lexer supports multiline <# .. #> comments and adds 2 keyword classes.
    • Lexing performed incrementally when needed by wrapping to make user interface more responsive.
    • Crash fixed when searching for empty string.
    • Bugs fixed with folding and lexing when Enter pressed at start of line.
    • Bug fixed with line selection mode not affecting selection range.
    • Bug fixed where indicator alpha was limited to 100 rather than 255.
    • Bug fixed where changing annotation did not cause automatic redraw.
    • Regular expression bug fixed when a character range included non-ASCII characters.
    • Bug fixed with multiple monitors where autocomplete pop up would appear off-screen or straddling monitors.
    • COBOL number masks now correctly highlighted.
    • PHP comments can include <?PHP without triggering state change.
    • VHDL lexer styles unclosed string correctly.
    • Drawing optimizations improve speed and fix some visible flashing when scrolling.
    • Flagship lexer for xBase languages updated to follow the language much more closely.
    • HTML lexer highlights Django templates in more regions.
    • When new line inserted at start of line, markers are moved down.
    • Fixed bug with middle-click paste in block select mode where text was pasted next to selection rather than at cursor.
    • Debug assertions in multiple lexers fixed.
    • CSS lexer fixed bug where @font-face displayed incorrectly.
    • CSS lexer fixed bug where open comment caused highlighting error.
    • Shell file lexer fixed highlight glitch with here docs where the first line is a comment.
    • Case-insensitive search works for non-ASCII characters in UTF-8 and 8-bit encodings. Non-regex search in DBCS encodings is always case-sensitive.
    • Non-ASCII characters may be changed to upper and lower case.
    • When there are multiple selections, the paste command can go either to the main selection or to each selection.
    • More forms of bad UTF-8 are detected including overlong sequences, surrogates, and characters outside the valid range. Bad UTF-8 bytes are now displayed as 2 hex digits preceded by 'x'.
    • Django template highlighting added to the HTML lexer.
    • Verilog line comments can be folded.
    • Bug fixed when multiple selection disabled where rectangular selections could be expanded into multiple selections.
    • Bug fixed when document horizontally scrolled and up/down-arrow did not return to the same column after horizontal scroll occurred.
    • Bug fixed to remove hotspot highlight when mouse is moved out of the document.
    • R lexer now performs case-sensitive check for keywords.
    • Bug fixed where regular expression replace cannot escape the '\' character by using '\\'.
    • Fixed bug with pressing Shift+Tab with a rectangular selection so that it performs an un-indent similar to how Tab performs an indent.
    • Erlang lexer extended set of numeric bases recognised; separate style for module:function_name; detects built-in functions, known module attributes, and known preprocessor instructions; recognizes EDoc and EDoc macros; separates types of comments.
    • Python lexer extended with lexer.python.strings.over.newline option that allows non-triple-quoted strings to extend past line ends. This allows use of the Ren'Py language.
    • Fixed bugs with cursor movement after deleting a rectangular selection.
    • Markdown lexer added.
    • Progress 4GL lexer improves handling of comments in preprocessor declaration.
    • HTML lexer extended to handle Mako template language.
    • SQL folder extended for SQL Anywhere "EXISTS" and "ENDIF" keywords.
    • Fixed crash caused by not having sufficient styles allocated after choosing a lexer.
    • Fixed crash when adding an annotation and then adding a new line after the annotation.
    • Fixed text positioning problems with selection in some circumstances.
    • Fixed problem pasting into rectangular selection with caret at bottom caused text to go from the caret down rather than replacing the selection.
    • Fixed problem replacing in a rectangular selection where only the final line was changed.
    • Fixed inability to select a rectangular area using Alt+Shift+Click at both corners.
    • Fixed problem moving to start/end of a rectangular selection with left/right key.
    • Fixed problem with Select All when there's a rectangular selection.
    • Fixed problem where Shift+Alt+Down did not move through wrapped lines.
    • Fixed problem in VB lexer with keyword at end of file.
    • Fixed NSIS folder to handle keywords that start with '!'.
    Release 10 Beta 3
    • Fix to positioning rectangular paste when viewing line ends.
    • Don't insert new lines and indentation for line ends at end of rectangular paste.
    • When not in additional selection typing mode, cutting a rectangular selection removes all of the selected text.
    • Rectangular selections are copied to the clipboard in document order, not in the order of selection.
    • Multiple pieces of text can be selected simultaneously by holding control while dragging the mouse. Typing, backspace and delete may affect all selections together.
    • Virtual space allows selecting beyond the last character on a line.
    • MagikSF lexer recognises numbers correctly.
    • Folding of Python comments and blank lines improved.
    • Bug fixed where background colour of last character in document leaked past that character.
    • Crash fixed when adding marker beyond last line in document.
    • Bug fixed where the system caret was destroyed during destruction when another window was using the system caret.
    • Bug fixed where indentation guides were drawn over text when the indentation used a style with a different space width to the default style.
    • Reverted fix that led to wrapping whole document when displaying the first line of the document.
    • Memory exhaustion and other exceptions handled by placing an error value into the status property rather than crashing.
    • When lines are wrapped, subsequent lines may be indented to match the indent of the initial line, or one more indentation level.
    • APIs added for finding the character at a point rather than an inter-character position.
    • Batch file lexer understands variables surrounded by '!'.
    • CAML lexer also supports SML.
    • D lexer handles string and numeric literals more accurately.
    • Forth lexer is now case-insensitive and better supports numbers like $hex and %binary.
    • Lisp lexer treats '[', ']', '{', and '}' as balanced delimiters which is common usage. It treats keyword argument names as being equivalent to symbols.
    • Pascal lexer bug fixed to prevent hang when 'interface' near beginning of file.
    • Perl lexer bug fixed where previous lexical states persisted causing "/" special case styling and subroutine prototype styling to not be correct.
    • XML lexer fixes bug where Unicode entities like '&—' were broken into fragments.
    • Bug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters.
    • Bug fixed where a rectangular paste was not padding the line with sufficient spaces to align the pasted text.
    • Annotation lines may be added to each line.
    • A text margin may be defined with different text on each line.
    • Application actions may be added to the undo history.
    • Can query the symbol defined for a marker. An available symbol added for applications to indicate that plugins may allocate a marker.
    • Can increase the amount of font ascent and descent.
    • COBOL lexer added.
    • Nimrod lexer added.
    • PowerPro lexer added.
    • SML lexer added.
    • SORCUS Installation file lexer added.
    • TACL lexer added.
    • TAL lexer added.
    • Rewritten Pascal lexer with improved folding and other fixes.
    • C++ lexer treats angle brackets in #include directives as quotes when styling.within.preprocessor.
    • Inno Setup lexer is sensitive to whether within the [Code] section and handles comments better.
    • HTML lexer does not go into script mode when script tag is self-closing.
    • HTML folder fixed where confused by comments when fold.html.preprocessor off.
    • Perl lexer fixes problem with string matching caused by line endings.
    • Progress lexer fixes problem with "last-event:function" phrase.
    • Python lexer adds options for Python 3 and Cython.
    • Shell lexer fixes heredoc problem caused by line endings.
    • TeX lexer handles comment at end of line correctly.
    • Block caret drawn in correct place on wrapped lines.
    • Crash fixed when AutoCompleteGetCurrent called with no active autocompletion.
    • Flickering diminished when pressing Tab.
    • Fixed incorrect Python lexing for multi-line continued strings.
    Release 10 Beta 2
    • Invalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to passing invalid UTF-8 to platform calls.
    • Indentation guides enhanced to be visible on completely empty lines when possible.
    • The horizontal scroll bar may grow to match the widest line displayed.
    • Allow autocomplete pop ups to appear outside client rectangle in some cases.
    • Folding performance improved.
    • Lexers added for Abaqus, Ansys APDL, Asymptote, and R.
    • Bash lexer handles octal literals.
    • C++/JavaScript lexer recognises regex literals in more situations.
    • Haskell lexer fixed for quoted strings.
    • HTML/XML lexer does not notice XML indicator if there is non-whitespace between the "<?" and "XML". ASP problem fixed where </ is used inside a comment.
    • Error messages from Lua 5.1 are recognised.
    • Folding implemented for Metapost.
    • Perl lexer enhanced for handling minus-prefixed barewords, underscores in numeric literals and vector/version strings, ^D and ^Z similar to __END__, subroutine prototypes as a new lexical class, formats and format blocks as new lexical classes, and '/' suffixed keywords and barewords.
    • Python lexer styles all of a decorator in the decorator style rather than just the name.
    • YAML lexer styles colons as operators.
    • Bug fixed where setting background colour of calltip failed.
    • Bug fixed when showing selection with a foreground colour change which highlighted an incorrect range in some positions.
    • Bug fixed where caret not shown at beginning of wrapped lines. Caret made visible in some cases after wrapping and scroll bar updated after wrapping.
    • Modern indicators now work on wrapped lines.
    Release 10 Beta 1
    • New graphics for the Modern UI.
    • Multiple major and minor fixes and stabilization changes.
    • End of Life for Windows XP and Windows 2003 Server support.
    • End of Life for Visual Studio 2008 support.
    Release 10 Alfa 4
    • Added support for Microsoft SQL Server 2008 in the SQL command line.
    • The third level of the Office 2007 style GUI design.
    • Switched to release version of Visual Studio 2010.
    Release 10 Alfa 3
    • The second level of the Office 2007 style GUI design.
    • Multiple major and minor fixes and stabilization changes.
    • Invalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to passing invalid UTF-8 to platform calls.
    • Indentation guides enhanced to be visible on completely empty lines when possible.
    • The horizontal scroll bar may grow to match the widest line displayed.
    • Allow autocomplete pop ups to appear outside client rectangle in some cases.
    • Folding performance improved.
    • Lexers added for Abaqus, Ansys APDL, Asymptote, and R.
    • Bash lexer handles octal literals.
    • C++/JavaScript lexer recognises regex literals in more situations.
    • Haskell lexer fixed for quoted strings.
    • HTML/XML lexer does not notice XML indicator if there is non-whitespace between the "<?" and "XML". ASP problem fixed where </ is used inside a comment.
    • Error messages from Lua 5.1 are recognised.
    • Folding implemented for Metapost.
    • Perl lexer enhanced for handling minus-prefixed barewords, underscores in numeric literals and vector/version strings, ^D and ^Z similar to __END__, subroutine prototypes as a new lexical class, formats and format blocks as new lexical classes, and '/' suffixed keywords and barewords.
    • Python lexer styles all of a decorator in the decorator style rather than just the name.
    • YAML lexer styles colons as operators.
    • Bug fixed where setting background colour of calltip failed.
    • Bug fixed when showing selection with a foreground colour change which highlighted an incorrect range in some positions.
    • Bug fixed where caret not shown at beginning of wrapped lines. Caret made visible in some cases after wrapping and scroll bar updated after wrapping.
    • Modern indicators now work on wrapped lines.
    Release 10 Alfa 2
    • The setup system ported from InstallShield to Installaware.
    • Major restructuring of the installation routines.
    • GUI design completely re-written from classic Windows style to Office 2007 style.
    Release 10 Early Alfa 1
    • The first development version of the Next Generation Qwined.
    • The whole code base ported to Visual Studio 2010 early editions.
    • Major restructuring of the source code.
    • Added SQL command line supporting SQL Server, Oracle, Sybase, PostgreSQL, MySQL, Informix, Centura, Firebird, SQLite and ODBC.
    Release 7.1 Release
    • Released for partners only.
    Release 7.1 Release Candidate 1
    • Multiple stabilization fixes.
    Release 7.1 Public Beta 1
    • Re-designed XML parser added.
    • Multiple Internal Beta related stability defects fixed.
    • Multiple Spell Check related defects fixed.
    Release 7.1 Internal Beta 1
    • Industry standard Spell Checking Engine is integrated into the product. Related new commands added to the Tools menu. The following dictionaries are provided:
      • American, British and Canadian English dictionaries
      • Technical dictionary
      • User dictionary
      Additional dictionaries from third parties are available for close to thirty different languages.
    • Check For Updates command is added to the Help menu. This function checks from the Qwined home site, if there are any updates available. If updates are found, the user can automatically update the product.
    • Usability enhancements relating to Qwined settings. More intelligence added. If the user changes the visibility settings and options, Qwined remembers the new settings when next time started.
      • Line Number visibility setting (line.margin.visible -setting).
      • Fold Margin visibility setting (fold.margin.visible -setting).
      • Tool Bar visibility setting (toolbar.visible -setting).
      • Status Bar visibility setting (status.visible -setting).
      • Tab Bar visibility setting (tabbar.visible -setting).
      • Options-Wrap setting (wrap -setting).
      • Options-Wrap Output setting (output.wrap -setting).
      • The horizontal/vertical split setting for the Output Window (split.vertical -setting).
    • Lexer for gettext .po files added.
    • Abaqus lexer handles program structure more correctly.
    • Assembler lexer works with non-ASCII text.
    • C++ lexer allows mixed case doc comment tags.
    • CSS lexer updated and works with non-ASCII.
    • Notification sent when autocompletion cancelled.
    • MySQL lexer added.
    • Diff lexer adds style for changed lines, handles subversion diffs better and fixes styling and folding for lines containing chunk dividers ("---").
    • FORTRAN lexer accepts more styles of compiler directive.
    • Haskell lexer allows hexadecimal literals.
    • HTML lexer improves PHP and JavaScript folding. PHP heredocs, nowdocs, strings and comments processed more accurately. Internet Explorer's non-standard >comment< tag supported. Script recognition in XML can be controlled with lexer.xml.allow.scripts property.
    • Lua lexer styles last character correctly.
    • Perl lexer update.
    • Comment folding implemented for Ruby.
    • Better TeX folding.
    • Verilog lexer updated.
    • Windows Batch file lexer handles %~ and %*.
    • YAML lexer allows non-ASCII text.
    • The extender OnBeforeSave method can override the default file saving behaviour by retuning true.
    • Window position and recent files list may be saved into the session file.
    • Right button press outside the selection moves the caret.
    • Fixed display defect for long lines in same style.
    • Drawing performance improved for files with many blank lines.
    • Folding defects fixed where changing program text produced a decrease in fold level on a fold header line.
    • Clearing document style now clears all indicators.
    • Defect fixed with SCI_VCHOMEWRAP and SCI_VCHOMEWRAPEXTEND on white last line.
    • Regular expression defect fixed where "^[^(]+$" matched empty lines.
    Release 7.0
    • Default file extension for unknown file types
      • Added a new keyword to global options: default.file.ext.force.unknown. If it is set to 1 on bigger, the default file extension defined with default.file.ext keyword, will always be added to file names during Save, if the file extension is missing, or if the file name extension is not known. The extension is verified against HKEY_CLASSES_ROOT in the Windows registry.
    • ZIP Attachment to email
      • Added command in File - Send To menu: Mail Recipient as ZIP Attachment. This command archives the current file in PKZIP/WinZip compatible package and opens a new email with the created zip as an attachment.
    • Export as ZIP
      • Added command in File - Export menu: As ZIP. This command saves the current file as a PKZIP/WinZip compatible archive.
    • ZIP all open files
      • Added command in Buffers menu: ZIP All This command creates a PKZIP/WinZip compatible zip file and adds all the currently open files in it.
    Release 7.0 Release Candidate 1
    • Find in Files functionality extended, new options added:
      • Match whole word only
      • Match case
      • Search subfolders
      • Include binary files in search
    • General logic in Find in Files:
      • Modified the Search Directory logic. The default directory to show in the Find in Files dialog is the home directory of the currently active file. However Qwined now stores the last used search directory in the global options and it is always shown in the combo box for easy access.
    • New Commands in File Menu:
      • Added command in File - Send To menu: Mail Recipient as PDF Attachment. This command automatically creates a PDF from the current document and opens a new email with this PDF as an attachment.
    • New Buttons in Toolbar:
      • Added a new button in toolbar: Close All
      • Added a new button in toolbar: Find in Files
    • New Commands in the Editor Context Menu:
      • Added command in Context Menu: Open Selected Filename. If there is a file name selected within the text, this command tries to open the file, if it can be located within the search path.
    • New Commands in File Tabs Context Menu:
      • Added command: Close All
      • Added command: Close All But This
      • Added command: Save All
      • Added command: Revert
      • Added command: Send To (as email attachment)
      • Added command: Copy Full Path
        • This command copies the absolute path of the currently active file to the clipboard.
      • Added command: Open Containing Folder
      • Added command: Command Prompt From Here
      • Added command: Properties
    Release 7.0 Release Candidate 0
    • Multiple feature and stabilization fixes.
    Release 7.0 Beta 3
    • Simple MAPI integration added. The current file can be emailed as an attachment with Send To functionality.
    • Dynamic Multilanguage support added. Localization can be changed on-the-fly, existing localizations can be edited and new localizations created directly in the editor via menu commands.
    • New Windows Installer MSI-based multilingual installer with wider range of options and support for centralized installations.
    • Schema file management has been extended. Schema files can be edited and new schema files created directly in the editor via menu commands.
    • API file management has been extended. API files can be edited and new API files created directly in the editor via menu commands. Seed file support added for localization, Schema and API files. User selectable file can be used as a seed (template) for a new file.
    • Reload of Global Options is now supported via menu command.
    • Reload of Customization Options is now supported via menu command.
    • Open Containing Folder command added to File menu. It opens the folder where the current file is located.
    • Open Command Prompt From Here added to File menu. It opens a command prompt in the folder where the current file is located.
    • Send To Folder command added. It sends a copy of the current file to the selected folder.
    • Shell Link support added. If the target file is a shortcut to a file, the link is resolved and the actual file is opened. Windows Search integration added to Search menu.
    • Windows Search can be opened in the selected folder and the search results can be drag and dropped to the editor.
    • Internal Icon Extractor is added to Tools menu.
    • Command Prompt in user selectable folder added to Tools menu.
    • ODBC Data Administrator added to Tools menu.
    • Options-Preferences menu restructured for easier access. Opening Customization options added to Preferences menu.
    • Catalan localization added.
    • File Properties command added to the File menu. Command shows the Windows file system property dialog for the current file.
    • Schema menu moved from Options menu to menubar for easier access
    • Save All button added to the toolbar.
    • Preview window improved to better manage multiple open files.
    • Process Info dialog in Help-About now correctly lists the current processes.
    • Export - As PDF improved.
    • Basque, Galician, Malesian, Thai and Welsh localizations added.
    • Schema files for APDL, AutoHotkey, Windows Batch files, Microsoft SQL, MSIL, Octave, Progress and TADS 3 added.
    • API files for C#, Microsoft Sysinternals, Windows Resource Kit, GNU Utilities for Win32, osCommerce and Octave added.
    Release 7.0 Beta 2
    • Support for Microsoft PowerShell.
    • Lexer added for Magik. C++ folder handles final line better in some cases.
    • SCI_COPYALLOWLINE added which is similar to SCI_COPY except that if the selection is empty then the line holding the caret is copied. An extra clipboard format allows pasting this as a whole line before the current selection. This behavior is compatible with Visual Studio.
    • The horizontal scroll bar can handle wider files.
    • A system palette leak was fixed. Should not affect many as palette mode is rarely used.
    • Perl lexer handles defined-or operator "//". Octave lexer fixes "!=" operator.
    • Optimized selection change drawing to not redraw as much when not needed.
    • Automatic vertical scrolling limited to one line at a time so is not too fast.
    • Crash fixed when line states set beyond end of line states. This occurred when lexers did not set a line state for each line.
    • Bug fixed where whitespace background was not seen on wrapped lines.
    • Invalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to passing invalid UTF-8 to platform calls.
    • Indentation guides enhanced to be visible on completely empty lines when possible.
    • The horizontal scroll bar may grow to match the widest line displayed.
    • Allow autocomplete popups to appear outside client rectangle in some cases.
    • When line state changed, SC_MOD_CHANGELINESTATE modification notification sent and margin redrawn.
    • Folding performance improved.
    • In the Unicode support, Scintilla is a wide character window which allows input for some less common languages like Armenian, Devanagari, Tamil, and Georgian. To fully benefit, applications should use wide character calls.
    • Lexers added for Abaqus, Ansys APDL, Asymptote, and R.
    • The styling buffer may now use all 8 bits in each byte for lexical states with 0 bits for indicators.
    • Bash lexer handles octal literals.
    • C++/JavaScript lexer recognizes regex literals in more situations.
    • Haskell lexer fixed for quoted strings.
    • HTML/XML lexer does not notice XML indicator if there is non-whitespace between the "<?" and "XML".
    • ASP problem fixed where </ is used inside a comment.
    • Folding implemented for Metapost.
    • Perl lexer enhanced for handling minus-prefixed barewords, underscores in numeric literals and vector/version strings, ^D and ^Z similar to __END__, subroutine prototypes as a new lexical class, formats and format blocks as new lexical classes, and '/' suffixed keywords and barewords.
    • Python lexer styles all of a decorator in the decorator style rather than just the name.
    • YAML lexer styles colons as operators.
    • Bug fixed where setting background color of calltip failed.
    • Bug fixed when showing selection with a foreground color change which highlighted an incorrect range in some positions.
    • Cut now invokes SCN_MODIFYATTEMPTRO notification.
    • Bug fixed where caret not shown at beginning of wrapped lines.
    • Caret made visible in some cases after wrapping and scroll bar updated after wrapping.
    • Modern indicators now work on wrapped lines. Indicators changed to be a separate data structure allowing more indicators.
    • Storing indicators in high bits of styling bytes is deprecated and will be removed in the next version.
    Release 7.0 Beta 1
    • Unicode support extended to all Unicode characters not just the Basic Multilingual Plane.
    • Performance improved on wide lines by breaking long runs in a single style into shorter segments.
    • Performance improved by caching layout of short text segments.
    • Caret may be displayed as a block.
    • Lexer added for GAP. Lexer added for PL/M.
    • Lexer added for Progress.
    • Session files have changed format to be like options files and now use the extension .ses.
    • Bookmarks and folds may optionally be saved in session files. Session files created with previous versions will not load into this version.
    • Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
    • Defect fixed where brace highlight not shown when caret line background set.
    • Defect fixed in Ruby lexer where out of bounds access could occur.
    • Defect fixed in XML folding where tags were not being folded because they are singletons in HTML.
    • Defect fixed when many font names used.
    • Defect fixed with SCI_LINETRANSPOSE on a blank line.
    • Application hang fixed when using UNC path with directory properties feature.
    • Directory options file added to configure behavior for files in a directory and its subdirectories.
    • Style changes may be made during text modification events.
    • Regular expressions recognize \d, \D, \s, \S, \w, \W, and \xHH.
    • Support for cmake language added.
    • Edge line drawn under text.
    • File | Encoding menu item names changed to be less confusing.
    • TADS3 lexer and folder improved.
    • Slow folding of large constructs in Python fixed.
    • MSSQL folding fixed to be case-insensitive and fold at more keywords.
    • Brace matching improved for HTML.
    • Determining API list items checks for specified parameters start character before default '('.
    • Application hanging fixed in HTML lexer.
    • If translucency not available, draw rectangular outline instead.
    • Bash lexer handling of "-x" in "--x-includes..." improved.
    • AutoIt3 lexer fixes string followed by '+'.
    • LinesJoin fixed where it stopped early due to not adjusting for inserted spaces.
    • FormatRange fixed to not double count line number width which could lead to a large space.
    • Export As PDF and Latex commands fixed to format floating point numbers with '.' even in locales that use ','.
    • Defect fixed where File | New could produce buffer with contents of previous file when using read-only mode.
    • Current scroll position retained when switching buffers and fold.on.open set.
    • Application crash fixed where '*' used to invoke parameters dialog.
    • Defects when writing large UCS-2 files fixed.
    • Performance of per-line data improved.
    • Extending appearance of selection supported to right hand margin.
    • Find in Files can optionally ignore binary files or directories that start with ".".
    • Lexer added for "D" language.
    • Export as HTML shows folding with underline lines and +/- symbols.
    • Ruby lexer interprets interpolated strings as expressions.
    • Lua lexer fixes some cases of numeric literals. C++ folder fixes defect with "@" in doc comments.
    • NSIS folder handles !if and related commands.
    • Inno setup lexer adds styling for single and double quoted strings.
    • Matlab lexer handles backslashes in string literals correctly.
    • HTML lexer fixed to allow "?>" in comments in Basic script.
    • Added key codes for Windows key and Menu key.
    • Defect fixed with box comment command near start of file setting selection to end of file.
    • Verification asked whether to save files when Windows shuts down.
    • Defect fixed with single character keywords.
    • Crash fixed with "%%" at end of batch file.
    • VB lexer defects fixed for preprocessor directive below a comment or some other states and to use string not closed style back to the starting quote when there are internal doubled quotes.
    • C++ lexer allows identifiers to contain '$' and non-ASCII characters such as UTF-8. The '$' character can be disallowed with lexer.cpp.allow.dollars=0.
    • Perl lexer allows UTF-8 identifiers and has some other small improvements.
    • Export as HTML adds encoding information for UTF-8 file and fixes DOCTYPE.
    • Text wrapping fixed for cases where insertion was not wide enough to trigger wrapping before being styled but was after styling.
    • Find marks are removed before printing or exporting to avoid producing incorrect styles.
    • Z-order based buffer switching on Ctrl+Tab added.
    • Translucent support for selection and whole line markers.
    • Per-language abbreviations files supported.
    • Support for Spice language.
    • Increased number of margins to 5. Basic lexer allows include directive $include: "file name".
    • SQL lexer no longer bases folding on indentation.
    • Line ends are transformed when copied to clipboard.
    • Lexing code masks off the indicator bits on the start style before calling the lexer to avoid confusing the lexer when an application has used an indicator.
    • Added output.initial.hide setting to allow setting the size of the output pane without it showing initially.
    • Go To dialog allows line number with more digits.
    • Defect in HTML lexer fixed where a segment of PHP could switch scripting language based on earlier text on that line.
    • Defect fixed where closing the final buffer, if read-only, left the text present in an untitled buffer.
    • Defect fixed in bash lexer that prevented folding.
    • Crash fixed in bash lexer when backslash at end of file.
    • Translucent drawing implemented for caret line and box indicators.
    • Lexer specifically for TCL is much more accurate than reusing C++ lexer.
    • Support for Inno Setup scripts.
    • Support for Opal language.
    • Python lexer styles comments on decorators.
    • HTML lexer refined handling of "?>" and "%>" within server side scripts. Batch file lexer improved.
    • Eiffel lexer doesn't treat '.' as a name character.
    • Lua lexer handles length operator, #, and hex literals. PL/SQL folding improved.
    • Language of a file can be detected from initial #! line.
    • Set of word characters used for regular expression \< and \>.
    • Defect fixed with SCI_COPYTEXT stopping too early.
    • Defect fixed with splitting lines so that all lines are split.
    • Crash fixed when clearing document with some lines contracted in word wrap mode.

    For more information, please take a look at the Feature List and Key Features.


    Download the latest version.


    If you have any feedback relating to features implemented in certain product version, please let our Customer Care Center know.


    If you have found a defect or you have a change request relating to any of the product features, please report it here.