| Scintilla and SciTE

## History of Scintilla and SciTE

### Contributors

Thanks to all the people that have contributed patches, bug reports and suggestions.

Source code and documentation have been contributed by

Atsuo Ishimoto | Mark Hammond | Francois Le Coguiec | Dale Nagata
Ralf Reinhardt | Philippe Lhoste | Andrew McKinlay | Stephan R. A. Deibel
Hans Eckardt | Vassili Bourdo | Maksim Lin | Robin Dunn
John Ehresman | Steffen Goeldner | Deepak S. | Yann Gaillard
Aubin Paul | Jason Diamond | Ahmad Baitalmal | Paul Winwood
Maxim Baranov | Ragnar Højland | Christian Obrecht | Andreas Neukoetter
Adam Gates | Steve Lhomme | Ferdinand Prantl | Jan Dries
Markus Gritsch | Tahir Karaca | Ahmad Zawawi | Laurent le Tynevez
Walter Braeu | Ashley Cambrell | Garrett Serack | Holger Schmidt
ActiveState | James Larcombe | Alexey Yutkin | Jan Hercek
Richard Pecl | Edward K. Ream | Valery Kondakoff | Smári McCarthy
Clemens Wyss | Simon Steele | Serge A. Baranov | Xavier Nodet
Willy Devaux | David Clain | Brendon Yenson | Vamsi Potluru
Praveen Ambekar | Alan Knowles | Kengo Jinno | Valentin Valchev
Marcos E. Wurzius | Martin Alderson | Robert Gustavsson | José Fonseca
Holger Kiemes | Francis Irving | Scott Kirkwood | Brian Quinlan
Ubi | Michael R. Duerig | Deepak T | Don Paul Beletsky
Gerhard Kalab | Olivier Dagenais | Josh Wingstrom | Bruce Dodson
Sergey Koshcheyev | Chuan-jian Shen | Shane Caraveo | Alexander Scripnik
Ryan Christianson | Martin Steffensen | Jakub Vrána | The Black Horus
Bernd Kreuss | Thomas Lauer | Mike Lansdaal | Yukihiro Nakai
Jochen Tucht | Greg Smith | Steve Schoettler | Mauritius Thinnes
Darren Schroeder | Pedro Guerreiro | Dan Petitt | Biswapesh Chattopadhyay
Kein-Hong Man | Patrizio Bekerle | Nigel Hathaway | Hrishikesh Desai
Sergey Puljajev | Mathias Rauen | Angelo Mandato | Denis Sureau
Kaspar Schiess | Christoph Hösler | João Paulo F Farias | Ron Schofield
Stefan Wosnik | Marius Gheorghe | Naba Kumar | Sean O'Dell
Stefanos Togoulidis | Hans Hagen | Jim Cape | Roland Walter
Brian Mosher | Nicholas Nemtsev | Roy Wood | Peter-Henry Mander
Robert Boucher | Christoph Dalitz | April White | S. Umar
Trent Mick | Filip Yaghob | Avi Yegudin | Vivi Orunitia
Manfred Becker | Dimitris Keletsekis | Yuiga | Davide Scola
Jason Boggs | Reinhold Niesner | Jos van der Zande | Pescuma
Pavol Bosik | Johannes Schmid | Blair McGlashan | Mikael Hultgren
Florian Balmer | Hadar Raz | Herr Pfarrer | Ben Key
Gene Barry | Niki Spahiev | Carsten Sperber | Phil Reid
Iago Rubio | Régis Vaquette | Massimo Corà | Elias Pschernig
Chris Jones | Josiah Reynolds | Robert Roessler rftp.com | Steve Donovan
Jan Martin Pettersen | Sergey Philippov | Borujoa | Michael Owens
Franck Marcia | Massimo Maria Ghisalberti | Frank Wunderlich | Josepmaria Roca
Tobias Engvall | Suzumizaki Kimitaka | Michael Cartmell | Pascal Hurni
Andre | Randy Butler | Georg Ritter | Michael Goffioul
Ben Harper | Adam Strzelecki | Kamen Stanev | Steve Menard
Oliver Yeoh | Eric Promislow | Joseph Galbraith | Jeffrey Ren
Armel Asselin | Jim Pattee | Friedrich Vedder | Sebastian Pipping
Andre Arpin | Stanislav Maslovski | Martin Stone | Fabien Proriol
mimir | Nicola Civran | Snow | Mitchell Foral
Pieter Holtzhausen | Waldemar Augustyn | Jason Haslam | Sebastian Steinlechner
Chris Rickard | Rob McMullen | Stefan Schwendeler | Cristian Adam
Nicolas Chachereau | Istvan Szollosi | Xie Renhui | Enrico Tröger
Todd Whiteman | Yuval Papish | instanton | Sergio Lucato
VladVRO | Dmitry Maslov | chupakabra | Juan Carlos Arevalo Baeza
Nick Treleaven | Stephen Stagg | Jean-Paul Iribarren | Tim Gerundt
Sam Harwell | Boris | Jason Oster | Gertjan Kloosterman
alexbodn | Sergiu Dotenco | Anders Karlsson | ozlooper
Marko Njezic | Eugen Bitter | Christoph Baumann | Christopher Bean
Sergey Kishchenko | Kai Liu | Andreas Rumpf | James Moffatt
Yuzhou Xin | Nic Jansma | Evan Jones | Mike Lischke
Eric Kidd | maXmo | David Severwright | Jon Strait
Oliver Kiddle | Etienne Girondel | Haimag Ren | Andrey Moskalyov
Xavi | Toby Inkster | Eric Forgeot | Colomban Wendling

Images used in GTK+ version

- Icons Copyright(C) 1998 by Dean S. Jones

### Release 2.21

- Released 1 September 2010.
- Asian Double Byte Character Set (DBCS) support improved. Case insensitive search works and other operations are much faster. Bug #2999125, Bug #2774616, Bug #2991942, Bug #3005688.
- Scintilla on GTK+ uses only non-deprecated APIs (for GTK+ 2.20) except for GdkFont and GdkFont use can be disabled with the preprocessor symbol DISABLE_GDK_FONT.
- IDocument interface used by lexers adds BufferPointer and GetLineIndentation methods.
- On Windows, clicking sets focus before processing the click or sending notifications.
- Bug on OS X (macosx platform) fixed where drag/drop overwrote clipboard. Bug #3039732.
- GTK+ drawing bug when the view was horizontally scrolled more than 32000 pixels fixed.
- SciTE bug fixed with invoking Complete Symbol from output pane. Bug #3050957.
- Bug fixed where it was not possible to disable folding. Bug #3040649.
- Bug fixed with pressing Enter on a folded fold header line not opening the fold. Bug #3043419.
- SciTE 'Match case' option in find and replace user interfaces changed to 'Case sensitive' to allow use of 'v' rather than 'c' as the mnemonic.
- SciTE displays stack trace for Lua when error occurs.. Bug #3051397.
- SciTE on Windows fixes bug where double clicking on error message left focus in output pane. Bug #1264835.
- SciTE on Windows uses SetDllDirectory to avoid a security problem.
- C++ lexer crash fixed with preprocessor expression that looked like division by 0. Bug #3056825.
- Haskell lexer improved. Feature #3039490.
- HTML lexing fixed around Django {% %} tags. Bug #3034853.
- HTML JavaScript lexing fixed when line end escaped. Bug #3038381.
- HTML lexer stores line state produced by a line on that line rather than on the next line.
- Markdown lexer fixes infinite loop. Bug #3045386.
- MySQL folding bugs with END statements fixed. Bug #3031742.
- PowerShell lexer allows '_' as a word character. Feature #3042228.
- SciTE on GTK+ abandons processing of subsequent commands if a command.go.needs command fails.
- When SciTE is closed, all buffers now receive an OnClose call. Bug #3033857.

### Release 2.20

- Released 30 July 2010.
- Lexers are implemented as objects so that they may retain extra state. The interfaces defined for this are tentative and may change before the next release. Compatibility classes allow current lexers compiled into Scintilla to run with few changes. The interface to external lexers has changed and existing external lexers will need to have changes made and be recompiled. A single lexer object is attached to a document whereas previously lexers were attached to views which could lead to different lexers being used for split views with confusing results.
- C++ lexer understands the preprocessor enough to grey-out inactive code due to conditional compilation.
- SciTE can use strips within the main window for find and replace rather than dialogs. On Windows SciTE always uses a strip for incremental search.
- Lexer added for Txt2Tags language. Feature #3018736.
- Sticky caret feature enhanced with additional SC_CARETSTICKY_WHITESPACE mode . Feature #3027559.
- Bash lexer implements basic parsing of compound commands and constructs. Feature #3033135.
- 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. Feature #3030887.
- PowerShell lexer supports multiline <# .. #> comments and adds 2 keyword classes. Feature #3015176.
- Lexing performed incrementally when needed by wrapping to make user interface more responsive.
- SciTE setting replaceselection:yes works on GTK+.
- SciTE Lua scripts calling io.open or io.popen on Windows have arguments treated as UTF-8 and converted to Unicode so that non-ASCII file paths will work. Lua files with non-ASCII paths run. Bug #3016951.
- Crash fixed when searching for empty string. Bug #3017572.
- Bugs fixed with folding and lexing when Enter pressed at start of line. Bug #3032652.
- Bug fixed with line selection mode not affecting selection range. Bug #3021480.
- Bug fixed where indicator alpha was limited to 100 rather than 255. Bug #3021473.
- Bug fixed where changing annotation did not cause automatic redraw.
- Regular expression bug fixed when a character range included non-ASCII characters.
- Compilation failure with recent compilers fixed on GTK+. Bug #3022027.
- Bug fixed on Windows with multiple monitors where autocomplete pop up would appear off-screen or straddling monitors. Bug #3017512.
- SciTE on Windows bug fixed where changing directory to a Unicode path failed. Bug #3011987.
- SciTE on Windows bug fixed where combo boxes were not allowing Unicode characters. Bug #3012986.
- SciTE on GTK+ bug fixed when dragging files into SciTE on KDE. Bug #3026555.
- SciTE bug fixed where closing untitled file could lose data if attempt to name file same as another buffer. Bug #3011680.
- COBOL number masks now correctly highlighted. Bug #3012164.
- PHP comments can include <?PHP without triggering state change. Bug #2854183.
- VHDL lexer styles unclosed string correctly. Bug #3029627.
- Memory leak fixed in list boxes on GTK+. Bug #3007669.

### Release 2.12

- Released 1 June 2010.
- Drawing optimizations improve speed and fix some visible flashing when scrolling.
- Copy Path command added to File menu in SciTE. Feature #2986745.
- Optional warning displayed by SciTE when saving a file which has been modified by another process. Feature #2975041.
- Flagship lexer for xBase languages updated to follow the language much more closely. Feature #2992689.
- HTML lexer highlights Django templates in more regions. Feature #3002874.
- Dropping files on SciTE on Windows, releases the drag object earlier and opens the files asynchronously, leading to smoother user experience. Feature #2986724.
- SciTE HTML exports take the Use Monospaced Font setting into account.
- SciTE window title "[n of m]" localised.
- When new line inserted at start of line, markers are moved down. Bug #2986727.
- On Windows, dropped text has its line ends converted, similar to pasting. Bug #3005328.
- Fixed bug with middle-click paste in block select mode where text was pasted next to selection rather than at cursor. Bug #2984460.
- Fixed SciTE crash where a style had a size parameter without a value. Bug #3003834.
- Debug assertions in multiple lexers fixed. Bug #3000566.
- CSS lexer fixed bug where @font-face displayed incorrectly Bug #2994224.
- CSS lexer fixed bug where open comment caused highlighting error. Bug #1683672.
- Shell file lexer fixed highlight glitch with here docs where the first line is a comment. Bug #2830239.
- Bug fixed in SciTE openpath property that caused Open Selected File to fail to open the selected file.
- Bug fixed in SciTE FileExt property when file name with no extension evaluated to whole path.
- Fixed SciTE on Windows printing bug where the $(CurrentTime), $(CurrentPage) variables were not expanded. Bug #2994612.
- SciTE compiles for 64-bit Windows and runs without crashing. Bug #2986312.
- Full Screen mode in Windows Vista/7 improved to hide Start button and size borders a little better. Bug #3002813.

### Release 2.11

- Released 9 April 2010.
- Fixes compatibility of Scintilla.h with the C language.
- With a rectangular selection SCI_GETSELECTIONSTART and SCI_GETSELECTIONEND return limits of the rectangular selection rather than the limits of the main selection.
- When SciTE on Windows is minimized to tray, only takes a single click to restore rather than a double click. Feature #981917.

### Release 2.10

- Released 4 April 2010.
- Version 1.x of GTK+ is no longer supported.
- SciTE is no longer supported on Windows 95, 98 or ME.
- 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.
- SciTE on Windows can access all files including those with names outside the user's preferred character encoding.
- SciTE may be extended with lexers written in Lua.
- When there are multiple selections, the paste command can go either to the main selection or to each selection. This is controlled with SCI_SETMULTIPASTE.
- 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'.
- SCI_GETTAG retrieves the value of captured expressions within regular expression searches.
- Django template highlighting added to the HTML lexer. Feature #2974889.
- Verilog line comments can be folded.
- SciTE on Windows allows specifying a filter for the Save As dialog. Feature #2943445.
- Bug fixed when multiple selection disabled where rectangular selections could be expanded into multiple selections. Bug #2948260.
- Bug fixed when document horizontally scrolled and up/down-arrow did not return to the same column after horizontal scroll occurred. Bug #2950799.
- Bug fixed to remove hotspot highlight when mouse is moved out of the document. Windows only fix. Bug #2951353.
- R lexer now performs case-sensitive check for keywords. Bug #2956543.
- Bug fixed on GTK+ where text disappeared when a wrap occurred. Bug #2958043.
- Bug fixed where regular expression replace cannot escape the '\' character by using '\\'. Bug #2959876.
- Bug fixed on GTK+ when virtual space disabled, middle-click could still paste text beyond end of line. Bug #2971618.
- SciTE crash fixed when double clicking on a malformed error message in the output pane. Bug #2976551.
- Improved performance on GTK+ when changing parameters associated with scroll bars to the same value. Bug #2964357.
- Fixed bug with pressing Shift+Tab with a rectangular selection so that it performs an un-indent similar to how Tab performs an indent.

### Release 2.03

- Released 14 February 2010.
- Added SCI_SETFIRSTVISIBLELINE to match SCI_GETFIRSTVISIBLELINE.
- 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. Bug #2942448.
- 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. Feature #2945550.
- Fixed bugs with cursor movement after deleting a rectangular selection. Bug #2942131.
- Fixed bug where calling SCI_SETSEL when there is a rectangular selection left the additional selections selected. Bug #2947064.
- Fixed macro recording bug where not all bytes in multi-byte character insertions were reported through SCI_REPLACESEL.
- Fixed SciTE bug where using Ctrl+Enter followed by Ctrl+Space produced an autocompletion list with only a single line containing all the identifiers.
- Fixed SciTE on GTK+ bug where running a tool made the user interface completely unresponsive.
- Fixed SciTE on Windows Copy to RTF bug. Bug #2108574.

### Release 2.02

- Released on 25 January 2010.
- Markdown lexer added. Feature #2844081.
- On GTK+, include code that understands the ranges of lead bytes for code pages 932, 936, and 950 so that most Chinese and Japanese text can be used on systems that are not set to the corresponding locale.
- Allow changing the size of dots in visible whitespace using SCI_SETWHITESPACESIZE. Feature #2839427.
- Additional carets can be hidden with SCI_SETADDITIONALCARETSVISIBLE.
- Can choose anti-aliased, non-anti-aliased or lcd-optimized text using SCI_SETFONTQUALITY.
- Retrieve the current selected text in the autocompletion list with SCI_AUTOCGETCURRENTTEXT.
- Retrieve the name of the current lexer with SCI_GETLEXERLANGUAGE.
- Progress 4GL lexer improves handling of comments in preprocessor declaration. Feature #2902206.
- HTML lexer extended to handle Mako template language.
- SQL folder extended for SQL Anywhere "EXISTS" and "ENDIF" keywords. Feature #2887524.
- SciTE adds APIPath and AbbrevPath variables.
- SciTE on GTK+ uses pipes instead of temporary files for running tools. This should be more secure.
- Fixed crash when calling SCI_STYLEGETFONT for a style which does not have a font set. Bug #2857425.
- Fixed crash caused by not having sufficient styles allocated after choosing a lexer. Bug #2881279.
- Fixed crash in SciTE using autocomplete word when word characters includes space. Bug #2840141.
- Fixed bug with handling upper-case file extensions SciTE on GTK+.
- Fixed SciTE loading files from sessions with folded folds where it would not be scrolled to the correct location. Bug #2882775.
- Fixed SciTE loading files from sessions when file no longer exists. Bug #2883437.
- Fixed SciTE export to HTML using the wrong background colour.
- Fixed crash when adding an annotation and then adding a new line after the annotation. Bug #2929708.
- Fixed crash in SciTE setting a property to nil from Lua.
- SCI_GETSELTEXT fixed to return correct length. Bug #2929441.
- Fixed text positioning problems with selection in some circumstances.
- Fixed text positioning problems with ligatures on GTK+.
- 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. Bug #2899746.
- Fixed problem moving to start/end of a rectangular selection with left/right key. Bug #2871358.
- Fixed problem with Select All when there's a rectangular selection. Bug #2930488.
- Fixed SCI_LINEDUPLICATE on a rectangular selection to not produce multiple discontinuous selections.
- Virtual space removed when performing delete word left or delete line left. Virtual space converted to real space for delete word right. Preserve virtual space when pressing Delete key. Bug #2882566.
- Fixed problem where Shift+Alt+Down did not move through wrapped lines. Bug #2871749.
- Fixed incorrect background colour when using coloured lines with virtual space. Bug #2914691.
- Fixed failure to display wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT. Bug #2936108.
- Fixed blank background colour with EOLFilled style on last line. Bug #2890105.
- Fixed problem in VB lexer with keyword at end of file. Bug #2901239.
- Fixed SciTE bug where double clicking on a tab closed the file.
- Fixed SciTE brace matching commands to only work when the caret is next to the brace, not when it is in virtual space. Bug #2885560.
- Fixed SciTE on Windows Vista to access files in the Program Files directory rather than allow Windows to virtualize access. Bug #2916685.
- Fixed NSIS folder to handle keywords that start with '!'. Bug #2872157.
- Changed linkage of Scintilla_LinkLexers to "C" so that it can be used by clients written in C. Bug #2844718.

### Release 2.01

- Released on 19 August 2009.
- 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.
- SCI_SETCURRENTPOS and SCI_SETANCHOR work in rectangular mode.
- On GTK+, drag and drop to a later position in the document now drops at the position.
- Fix bug where missing property did not use default value.

### Release 2.0

- Released on 11 August 2009.
- 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.
- SciTE on GTK+ path bar is now optional and defaults to off.
- MagikSF lexer recognises numbers correctly.
- Folding of Python comments and blank lines improved. Bug #210240.
- 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 #2830307.
- Resource leak fixed in SciTE for Windows when printing fails. Bug #2816524.
- Bug fixed on Windows where the system caret was destroyed during destruction when another window was using the system caret. Bug #2830223.
- Bug fixed where indentation guides were drawn over text when the indentation used a style with a different space width to the default style.
- SciTE bug fixed where box comment added a bare line feed rather than the chosen line end. Bug #2818104.
- Reverted fix that led to wrapping whole document when displaying the first line of the document.
- Export to LaTeX in SciTE fixed to work in more cases and not use as much space. Bug #1286548.
- Bug fixed where EN_CHANGE notification was sent when performing a paste operation in a read-only document. Bug #2825485.
- Refactored code so that Scintilla exposes less of its internal implementation and uses the C++ standard library for some basic collections. Projects that linked to Scintilla's SString or PropSet classes should copy this code from a previous version of Scintilla or from SciTE.

### Release 1.79

- Released on 1 July 2009.
- Memory exhaustion and other exceptions handled by placing an error value into the status property rather than crashing. Scintilla now builds with exception handling enabled and requires exception handling to be enabled.
  This is a major change and application developers should consider how they will deal with Scintilla exhausting memory since Scintilla may not be in a stable state.
- Deprecated APIs removed. The symbols removed are:
  - SCI_SETCARETPOLICY
  - CARET_CENTER
  - CARET_XEVEN
  - CARET_XJUMPS
  - SC_FOLDFLAG_BOX
  - SC_FOLDLEVELBOXHEADERFLAG
  - SC_FOLDLEVELBOXFOOTERFLAG
  - SC_FOLDLEVELCONTRACTED
  - SC_FOLDLEVELUNINDENT
  - SCN_POSCHANGED
  - SCN_CHECKBRACE
  - SCLEX_ASP
  - SCLEX_PHP
- Cocoa platform added.
- Names of struct types in Scintilla.h now start with "Sci_" to avoid possible clashes with platform definitions. Currently, the old names still work but these will be phased out.
- When lines are wrapped, subsequent lines may be indented to match the indent of the initial line, or one more indentation level. Feature #2796119.
- APIs added for finding the character at a point rather than an inter-character position. Feature #2646738.
- A new marker SC_MARK_BACKGROUND_UNDERLINE is drawn in the text area as an underline the full width of the window.
- Batch file lexer understands variables surrounded by '!'.
- CAML lexer also supports SML.
- D lexer handles string and numeric literals more accurately. Feature #2793782.
- Forth lexer is now case-insensitive and better supports numbers like $hex and %binary. Feature #2804894.
- Lisp lexer treats '[', ']', '{', and '}' as balanced delimiters which is common usage. Feature #2794989.
  It treats keyword argument names as being equivalent to symbols. Feature #2794901.
- Pascal lexer bug fixed to prevent hang when 'interface' near beginning of file. Bug #2802863.
- Perl lexer bug fixed where previous lexical states persisted causing "/" special case styling and subroutine prototype styling to not be correct. Bug #2809168.
- XML lexer fixes bug where Unicode entities like '&—' were broken into fragments. Bug #2804760.
- SciTE on GTK+ enables scrolling the tab bar on recent versions of GTK+. Feature #2061821.
- SciTE on Windows allows tab bar tabs to be reordered by drag and drop.
- Unit test script for Scintilla on Windows included with source code.
- User defined menu items are now localised when there is a matching translation.
- Width of icon column of autocompletion lists on GTK+ made more consistent.
- Bug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters. Bug #2780566.
- Folding bugs introduced in 1.78 fixed. Some of the fix was generic and there was also a specific fix for C++.
- Bug fixed where a rectangular paste was not padding the line with sufficient spaces to align the pasted text.
- Bug fixed with showing all text on each line of multi-line annotations when styling the whole annotation using SCI_ANNOTATIONSETSTYLE. Bug #2789430.

### Release 1.78

- Released on 28 April 2009.
- 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. Feature #2127406.
- Nimrod lexer added. Feature #2642620.
- PowerPro lexer added. Feature #2195308.
- SML lexer added. Feature #2710950.
- SORCUS Installation file lexer added. Feature #2343375.
- TACL lexer added. Feature #2127406.
- TAL lexer added. Feature #2127406.
- Rewritten Pascal lexer with improved folding and other fixes. Feature #2190650.
- INDIC_ROUNDBOX translucency level can be modified. Feature #2586290.
- C++ lexer treats angle brackets in #include directives as quotes when styling.within.preprocessor. Bug #2551033.
- Inno Setup lexer is sensitive to whether within the [Code] section and handles comments better. Bug #2552973.
- 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. Bug #2532774.
- Perl lexer fixes problem with string matching caused by line endings. Bug #2648342.
- Progress lexer fixes problem with "last-event:function" phrase. Bug #2483619.
- Properties file lexer extended to handle RFC2822 text when lexer.props.allow.initial.spaces on.
- Python lexer adds options for Python 3 and Cython.
- Shell lexer fixes heredoc problem caused by line endings. Bug #2635257.
- TeX lexer handles comment at end of line correctly. Bug #2698766.
- SciTE retains selection range when performing a replace selection command. Feature #2339160.
- SciTE definition of word characters fixed to match documentaiton. Bug #2464531.
- SciTE on GTK+ performing Search or Replace when dialog already shown now brings dialog to foreground. Bug #2634224.
- Fixed encoding bug with calltips on GTK+.
- Block caret drawn in correct place on wrapped lines. Bug #2126144.
- Compilation for 64 bit Windows works using MinGW. Bug #2515578.
- Incorrect memory freeing fixed on OS X. Bug #2354098, Bug #2671749.
- SciTE on GTK+ crash fixed on startup when child process exits before initialisation complete. Bug #2716987.
- Crash fixed when AutoCompleteGetCurrent called with no active autocompletion.
- Flickering diminished when pressing Tab. Bug #2723006.
- Namespace compilation issues with GTK+ on OS X fixed.
- Increased maximum length of SciTE's Language menu on GTK+ to 100 items. Bug #2528241.
- Fixed incorrect Python lexing for multi-line continued strings. Bug #2450963.

### Release 1.77

- Released on 18 October 2008.
- Direct temporary access to Scintilla's text buffer to allow simple efficient interfacing to libraries like regular expression libraries.
- Scintilla on Windows can interpret keys as Unicode even when a narrow character window with SCI_SETKEYSUNICODE.
- Notification sent when autocompletion cancelled.
- MySQL lexer added.
- 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.
- 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.
- SciTE on GTK+ implements "Replace in Buffers" in advanced mode.
- 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.
- SciTE load.on.activate works when closing a document reveals a changed document.
- SciTE bug fixed where eol.mode not used for initial buffer.
- SciTE bug fixed where a file could be saved as the same name as another buffer leading to confusing behaviour.
- Fixed display bug for long lines in same style on Windows.
- Fixed SciTE crash when finding matching preprocessor command used on some files.
- Drawing performance improved for files with many blank lines.
- Folding bugs fixed where changing program text produced a decrease in fold level on a fold header line.
- Clearing document style now clears all indicators.
- SciTE's embedded Lua updated to 5.1.4.
- SciTE will compile with versions of GTK+ before 2.8 again.
- SciTE on GTK+ bug fixed where multiple files not opened.
- Bug fixed with SCI_VCHOMEWRAP and SCI_VCHOMEWRAPEXTEND on white last line.
- Regular expression bug fixed where "^[^(]+$" matched empty lines.

### Release 1.76

- Released on 16 March 2008.
- Support for PowerShell.
- Lexer added for Magik.
- Director extension working on GTK+.
- Director extension may set focus to SciTE through "focus:" message on GTK+.
- 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. On Windows an extra clipboard format allows pasting this as a whole line before the current selection. This behaviour is compatible with Visual Studio.
- On Windows, the horizontal scroll bar can handle wider files.
- On Windows, a system palette leak was fixed. Should not affect many as palette mode is rarely used.
- Install command on GTK+ no longer tries to set explicit owner.
- Perl lexer handles defined-or operator "//".
- Octave lexer fixes "!=" operator.
- Optimized selection change drawing to not redraw as much when not needed.
- SciTE on GTK+ no longer echoes Lua commands so is same as on Windows.
- 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.
- Crash in SciTE on Windows fixed when search for 513 character string fails.
- SciTE disables translucent features on Windows 9x due to crashes reported when using translucency.
- Bug fixed where whitespace background was not seen on wrapped lines.

### Release 1.75

- Released on 22 November 2007.
- Some WordList and PropSet functionality moved from Scintilla to SciTE. Projects that link to Scintilla's code for these classes may need to copy code from SciTE.
- Borland C++ can no longer build Scintilla.
- 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.
- When line state changed, SC_MOD_CHANGELINESTATE modification notification sent and margin redrawn.
- SciTE scripts can access the menu command values IDM_*.
- SciTE's statement.end property has been implemented again.
- SciTE shows paths and matches in different styles for Find In Files.
- Incremental search in SciTE for Windows is modeless to make it easier to exit.
- Folding performance improved.
- SciTE for GTK+ now includes a Browse button in the Find In Files dialog.
- On Windows versions that support Unicode well, 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.
- Lua function names are exported from SciTE to allow some extension libraries to work.
- Lexers added for Abaqus, Ansys APDL, Asymptote, and R.
- SCI_DELWORDRIGHTEND added for closer compatibility with GTK+ entry widget.
- The styling buffer may now use all 8 bits in each byte for lexical states with 0 bits for indicators.
- Multiple characters may be set for SciTE's calltip.<lexer>.parameters.start property.
- 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.
- Fixed SciTE bug where undo would group together multiple separate modifications.
- Bug fixed where setting background colour of calltip failed.
- SciTE allows wildcard suffixes for file pattern based properties.
- SciTE on GTK+ bug fixed where user not prompted to save untitled buffer.
- SciTE bug fixed where property values from one file were not seen by lower priority files.
- Bug fixed when showing selection with a foreground colour 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.
- Some crashes fixed for 64-bit GTK+.
- On GTK+ clipboard features improved for VMWare tools copy and paste. SciTE exports the clipboard more consistently on shut down.

### Release 1.74

- Released on 18 June 2007.
- OS X support.
- 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.
- 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.
- SciTE includes Lua 5.1.
- Caret may be displayed as a block.
- Lexer added for GAP.
- Lexer added for PL/M.
- Lexer added for Progress.
- SciTE session files have changed format to be like other SciTE .properties files and now use the extension .session. Bookmarks and folds may optionally be saved in session files. Session files created with previous versions of SciTE will not load into this version.
- SciTE's extension and scripting interfaces add OnKey, OnDwellStart, and OnClose methods.
- On GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when pasting into Open Office.
- On GTK+, Scintilla defaults caret blink rate to platform preference.
- Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
- Bug fixed where brace highlight not shown when caret line background set.
- Bug fixed in Ruby lexer where out of bounds access could occur.
- Bug fixed in XML folding where tags were not being folded because they are singletons in HTML.
- Bug fixed when many font names used.
- Layout bug fixed on GTK+ where fonts have ligatures available.
- Bug fixed with SCI_LINETRANSPOSE on a blank line.
- SciTE hang fixed when using UNC path with directory properties feature.
- Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it can work when source only provides Unicode or when using an encoding different from the system default.
- SciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started.
- SciTE bug on GTK+ fixed where mouse wheel was not switching between buffers.
- Minor line end fix to PostScript lexer.

### Release 1.73

- Released on 31 March 2007.
- SciTE adds a Directory properties file to configure behaviour 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.
- More Scintilla properties can be queried.
- Edge line drawn under text.
- A savesession command added to SciTE director interface.
- SciTE File | Encoding menu item names changed to be less confusing.
- SciTE on GTK+ dialog buttons reordered to follow guidelines.
- SciTE on GTK+ removed GTK+ 1.x compatible file dialog code.
- SciTE on GTK+ recognises key names KeypadMultiply and KeypadDivide.
- Background colour of line wrapping visual flag changed to STYLE_DEFAULT.
- Makefile lexing enhanced for ':=' operator and when lines start with tab.
- TADS3 lexer and folder improved.
- SCN_DOUBLECLICK notification may set SCI_SHIFT, SCI_CTRL, and SCI_ALT flags on modifiers field.
- Slow folding of large constructs in Python fixed.
- MSSQL folding fixed to be case-insensitive and fold at more keywords.
- SciTE's brace matching works better for HTML.
- Determining API list items checks for specified parameters start character before default '('.
- Hang fixed in HTML lexer.
- Bug fixed in with LineTranspose command where markers could move to different line.
- Memory released when buffer completely emptied.
- If translucency not available on Windows, draw rectangular outline instead.
- Bash lexer handles "-x" in "--x-includes..." better.
- AutoIt3 lexer fixes string followed by '+'.
- LinesJoin fixed where it stopped early due to not adjusting for inserted spaces..
- StutteredPageDown fixed when lines wrapped.
- FormatRange fixed to not double count line number width which could lead to a large space.
- SciTE Export As PDF and Latex commands fixed to format floating point numbers with '.' even in locales that use ','.
- SciTE bug fixed where File | New could produce buffer with contents of previous file when using read-only mode.
- SciTE retains current scroll position when switching buffers and fold.on.open set.
- SciTE crash fixed where '*' used to invoke parameters dialog.
- SciTE bugs when writing large UCS-2 files fixed.
- Bug fixed when scrolling inside a SCN_PAINTED event by invalidating window rather than trying to perform synchronous painting.
- SciTE for GTK+ View | Full Screen works on recent versions of GTK+.
- SciTE for Windows enables and disables toolbar commands correctly.

### Release 1.72

- Released on 15 January 2007.
- Performance of per-line data improved.
- SC_STARTACTION flag set on the first modification notification in an undo transaction to help synchronize the container's undo stack with Scintilla's.
- On GTK+ drag and drop defaults to move rather than copy.
- Scintilla supports extending appearance of selection to right hand margin.
- Incremental search available on GTK+.
- SciTE Indentation Settings dialog available on GTK+ and adds a "Convert" button.
- 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 bug 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.
- Lua script method scite.MenuCommand(x) performs a menu command.
- SciTE bug fixed with box comment command near start of file setting selection to end of file.
- SciTE on GTK+, fixed loop that occurred with automatic loading for an unreadable file.
- SciTE asks whether to save files when Windows shuts down.
- Save Session on Windows now defaults the extension to "ses".
- Bug fixed with single character keywords.
- Fixed infinite loop for SCI_GETCOLUMN for position beyond end of document.
- Fixed failure to accept typing on Solaris/GTK+ when using default ISO-8859-1 encoding.
- Fixed warning from Lua in SciTE when creating a new buffer when already have maximum number of buffers open.
- Crash fixed with "%%" at end of batch file.

### Release 1.71

- Released on 21 August 2006.
- Double click notification includes line and position.
- VB lexer bugs 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.
- SciTE's $(CurrentWord) uses word.characters.<filepattern> to define the word rather than a hardcoded list of word characters.
- SciTE Export as HTML adds encoding information for UTF-8 file and fixes DOCTYPE.
- SciTE session and .recent files default to the user properties directory rather than global properties directory.
- Left and right scroll events handled correctly on GTK+ and horizontal scroll bar has more sensible distances for page and arrow clicks.
- SciTE on GTK+ tab bar fixed to work on recent versions of GTK+.
- On GTK+, if the approximate character set conversion is unavailable, a second attempt is made without approximations. This may allow keyboard input and paste to work on older systems.
- SciTE on GTK+ can redefine the Insert key.
- SciTE scripting interface bug fixed where some string properties could not be changed.

### Release 1.70

- Released on 20 June 2006.
- On GTK+, character set conversion is performed using an option that allows approximate conversions rather than failures when a character can not be converted. This may lead to similar characters being inserted or when no similar character is available a '?' may be inserted.
- On GTK+, the internationalised IM (Input Method) feature is used for all typed input for all character sets.
- Scintilla has new margin types SC_MARGIN_BACK and SC_MARGIN_FORE that use the default style's background and foreground colours (normally white and black) as the background to the margin.
- Scintilla/GTK+ allows file drops on Windows when drop is of type DROPFILES_DND as well as text/uri-list.
- Code page can only be set to one of the listed valid values.
- Text wrapping fixed for cases where insertion was not wide enough to trigger wrapping before being styled but was after styling.
- SciTE find marks are removed before printing or exporting to avoid producing incorrect styles.

### Release 1.69

- Released on 29 May 2006.
- SciTE supports z-order based buffer switching on Ctrl+Tab.
- Translucent support for selection and whole line markers.
- SciTE may have per-language abbreviations files.
- Support for Spice language.
- On GTK+ autocompletion lists are optimised and use correct selection colours.
- On GTK+ the URI data type is preferred in drag and drop so that applications will see files dragged from the shell rather than dragging the text of the file name into the document.
- 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 on Windows/GTK+2 as well as Windows/GTK+ 1.
- 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.
- SciTE savebefore:yes only saves the file when it has been changed.
- SciTE adds output.initial.hide setting to allow setting the size of the output pane without it showing initially.
- SciTE on Windows Go To dialog allows line number with more digits.
- Bug in HTML lexer fixed where a segment of PHP could switch scripting language based on earlier text on that line.
- Memory bug fixed when freeing regions on GTK+. Other minor bugs fixed on GTK+.
- Deprecated GTK+ calls in Scintilla replaced with current calls.
- Fixed a SciTE bug where closing the final buffer, if read-only, left the text present in an untitled buffer.
- Bug fixed in bash lexer that prevented folding.
- Crash fixed in bash lexer when backslash at end of file.
- Crash on recent releases of GTK+ 2.x avoided by changing default font from X core font to Pango font "!Sans".
- Fix for SciTE properties files where multiline properties continued over completely blank lines.
- Bug fixed in SciTE/GTK+ director interface where more data available than buffer size.
- Minor visual fixes to SciTE splitter on GTK+.

### Release 1.68

- Released on 9 March 2006.
- 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.
- Calltips may use a new style, STYLE_CALLTIP which allows choosing a different font for calltips.
- 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.
- Properties file lexer has separate style for keys.
- PL/SQL folding improved.
- SciTE Replace dialog always searches in forwards direction.
- SciTE can detect language of file from initial #! line.
- SciTE on GTK+ supports output.scroll=2 setting.
- SciTE can perform an import a properties file from the command line.
- Set of word characters used for regular expression \< and \>.
- Bug fixed with SCI_COPYTEXT stopping too early.
- Bug fixed with splitting lines so that all lines are split.
- SciTE calls OnSwitchFile when closing one buffer causes a switch to another.
- SciTE bug fixed where properties were being reevaluated without good reason after running a macro.
- Crash fixed when clearing document with some lines contracted in word wrap mode.
- Palette expands as more entries are needed.
- SCI_POSITIONFROMPOINT returns more reasonable value when close to last text on a line.
- On Windows, long pieces of text may be drawn in segments if they fail to draw as a whole.
- Bug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI notification.
- SciTE bug fixed with groupundo setting.

### Release 1.67

- Released on 17 December 2005.
- Scintilla checks the paint region more accurately when seeing if an area is being repainted. Platform layer implementations may need to change for this to take effect. This fixes some drawing and styling bugs. Also optimized some parts of marker code to only redraw the line of the marker rather than whole of the margin.
- Quoted identifier style for SQL. SQL folding performed more simply.
- Ruby lexer improved to better handle here documents and non-ASCII characters.
- Lua lexer supports long string and block comment syntax from Lua 5.1.
- Bash lexer handles here documents better.
- JavaScript lexing recognises regular expressions more accurately and includes flag characters in the regular expression style. This is both in JavaScript files and when JavaScript is embedded in HTML.
- Scintilla API provided to reveal how many style bits are needed for the current lexer.
- Selection duplicate added.
- Scintilla API for adding a set of markers to a line.
- DBCS encodings work on Windows 9x.
- Convention defined for property names to be used by lexers and folders so they can be automatically discovered and forwarded from containers.
- Default bookmark in SciTE changed to a blue sphere image.
- SciTE stores the time of last asking for a save separately for each buffer which fixes bugs with automatic reloading.
- On Windows, pasted text has line ends converted to current preference. GTK+ already did this.
- Kid template language better handled by HTML lexer by finishing ASP Python mode when a ?> is found.
- SciTE counts number of characters in a rectangular selection correctly.
- 64-bit compatibility improved. One change that may affect user code is that the notification message header changed to include a pointer-sized id field to match the current Windows definition.
- Empty ranges can no longer be dragged.
- Crash fixed when calls made that use layout inside the painted notification.
- Bug fixed where Scintilla created pixmap buffers that were too large leading to failures when many instances used.
- SciTE sets the directory of a new file to the directory of the currently active file.
- SciTE allows choosing a code page for the output pane.
- SciTE HTML exporter no longer honours monospaced font setting.
- Line layout cache in page mode caches the line of the caret. An assertion is now used to ensure that the layout reentrancy problem that caused this is easier to find.
- Speed optimized for long lines and lines containing many control characters.
- Bug fixed in brace matching in DBCS files where byte inside character is same as brace.
- Indent command does not indent empty lines.
- SciTE bug fixed for commands that operate on files with empty extensions.
- SciTE bug fixed where monospaced option was copied for subsequently opened files.
- SciTE on Windows bug fixed in the display of a non-ASCII search string which can not be found.
- Bugs fixed with nested calls displaying a new calltip while one is already displayed.
- Bug fixed when styling PHP strings.
- Bug fixed when styling C++ continued preprocessor lines.
- SciTE bug fixed where opening file from recently used list reset choice of language.
- SciTE bug fixed when compiled with NO_EXTENSIONS and closing one file closes the application.
- SciTE crash fixed for error messages that look like Lua messages but aren't in the same order.
- Remaining fold box support deprecated. The symbols SC_FOLDLEVELBOXHEADERFLAG, SC_FOLDLEVELBOXFOOTERFLAG, SC_FOLDLEVELCONTRACTED, SC_FOLDLEVELUNINDENT, and SC_FOLDFLAG_BOX are deprecated.

### Release 1.66

- Released on 26 August 2005.
- New, more ambitious Ruby lexer.
- SciTE Find in Files dialog has options for matching case and whole words which are enabled when the internal find command is used.
- SciTE output pane can display automatic completion after "$(" typed. An initial ">" on a line is ignored when Enter pressed.
- C++ lexer recognises keywords within line doc comments. It continues styles over line end characters more consistently so that eolfilled style can be used for preprocessor lines and line comments.
- VB lexer improves handling of file numbers and date literals.
- Lua folder handles repeat until, nested comments and nested strings.
- POV lexer improves handling of comment lines.
- AU3 lexer and folder updated. COMOBJ style added.
- Bug fixed with text display on GTK+ with Pango 1.8.
- Caret painting avoided when not focused.
- SciTE on GTK+ handles file names used to reference properties as case-sensitive.
- SciTE on GTK+ Save As and Export commands set the file name field. On GTK+ the Export commands modify the file name in the same way as on Windows.
- Fixed SciTE problem where confirmation was not displaying when closing a file where all contents had been deleted.
- Middle click on SciTE tab now closes correct buffer on Windows when tool bar is visible.
- SciTE bugs fixed where files contained in directory that includes '.' character.
- SciTE bug fixed where import in user options was reading file from directory of global options.
- SciTE calltip bug fixed where single line calltips had arrow displayed incorrectly.
- SciTE folding bug fixed where empty lines were shown for no reason.
- Bug fixed where 2 byte per pixel XPM images caused crash although they are still not displayed.
- Autocompletion list size tweaked.

### Release 1.65

- Released on 1 August 2005.
- FreeBasic support.
- SciTE on Windows handles command line arguments "-" (read standard input into buffer), "--" (read standard input into output pane) and "-@" (read file names from standard input and open each).
- SciTE includes a simple implementation of Find in Files which is used if no find.command is set.
- SciTE can close tabs with a mouse middle click.
- SciTE includes a save.all.for.build setting.
- Folder for MSSQL.
- Batch file lexer understands more of the syntax and the behaviour of built in commands.
- Perl lexer handles here docs better; disambiguates barewords, quote-like delimiters, and repetition operators; handles Pods after __END__; recognises numbers better; and handles some typeglob special variables.
- Lisp adds more lexical states.
- PHP allows spaces after <<<.
- TADS3 has a simpler set of states and recognises identifiers.
- Avenue elseif folds better.
- Errorlist lexer treats lines starting with '+++' and '---' as separate styles from '+' and '-' as they indicate file names in diffs.
- SciTE error recogniser handles file paths in extra explanatory lines from MSVC and in '+++' and '---' lines from diff.
- Bugs fixed in SciTE and Scintilla folding behaviour when text pasted before folded text caused unnecessary unfolding and cutting text could lead to text being irretrievably hidden.
- SciTE on Windows uses correct font for dialogs and better font for tab bar allowing better localisation
- When Windows is used with a secondary monitor before the primary monitor, autocompletion lists are not forced onto the primary monitor.
- Scintilla calltip bug fixed where down arrow setting wrong value in notification if not in first line. SciTE bug fixed where second arrow only shown on multiple line calltip and was therefore misinterpreting the notification value.
- Lexers will no longer be re-entered recursively during, for example, fold level setting.
- Undo of typing in overwrite mode undoes one character at a time rather than requiring a removal and addition step for each character.
- EM_EXSETSEL(0,-1) fixed.
- Bug fixed where part of a rectangular selection was not shown as selected.
- Autocomplete window size fixed.

### Release 1.64

- Released on 6 June 2005.
- TADS3 support
- Smalltalk support.
- Rebol support.
- Flagship (Clipper / XBase) support.
- CSound support.
- SQL enhanced to support SQL*Plus.
- SC_MARK_FULLRECT margin marker fills the whole marker margin for marked lines with a colour.
- Performance improved for some large undo and redo operations and modification flags added in notifications.
- SciTE adds command equivalents for fold margin mouse actions.
- SciTE adds OnUpdateUI to set of events that can be handled by a Lua script.
- Properties set in Scintilla can be read.
- GTK+ SciTE exit confirmation adds Cancel button.
- More accurate lexing of numbers in PHP and Caml.
- Perl can fold POD and package sections. POD verbatim section style. Globbing syntax recognised better.
- Context menu moved slightly on GTK+ so that it will be under the mouse and will stay open if just clicked rather than held.
- Rectangular selection paste works the same whichever direction the selection was dragged in.
- EncodedFromUTF8 handles -1 length argument as documented.
- Undo and redo can cause SCN_MODIFYATTEMPTRO notifications.
- Indicators display correctly when they start at the second character on a line.
- SciTE Export As HTML uses standards compliant CSS.
- SciTE automatic indentation handles keywords for indentation better.
- SciTE fold.comment.python property removed as does not work.
- Fixed problem with character set conversion when pasting on GTK+.
- SciTE default character set changed from ANSI_CHARSET to DEFAULT_CHARSET.
- Fixed crash when creating empty autocompletion list.
- Autocomplete window size made larger under some conditions to make truncation less common.
- Bug fixed where changing case of a selection did not affect initial character of lines in multi-byte encodings.
- Bug fixed where rectangular selection not displayed after Alt+Shift+Click.

### Release 1.63

- Released on 4 April 2005.
- Autocompletion on Windows changed to use pop up window, be faster, allow choice of maximum width and height, and to highlight only the text of the selected item rather than both the text and icon if any.
- Extra items can be added to the context menu in SciTE.
- Character wrap mode in Scintilla helps East Asian languages.
- Lexer added for Haskell.
- Objective Caml support.
- BlitzBasic and PureBasic support.
- CSS support updated to handle CSS2.
- C++ lexer is more selective about document comment keywords.
- AutoIt 3 lexer improved.
- Lua lexer styles end of line characters on comment and preprocessor lines so that the eolfilled style can be applied to them.
- NSIS support updated for line continuations, box comments, SectionGroup and PageEx, and with more up-to-date properties.
- Clarion lexer updated to perform folding and have more styles.
- SQL lexer gains second set of keywords.
- Errorlist lexer recognises Borland Delphi error messages.
- Method added for determining number of visual lines occupied by a document line due to wrapping.
- Sticky caret mode does not modify the preferred caret x position when typing and may be useful for typing columns of text.
- Dwell end notification sent when scroll occurs.
- On GTK+, Scintilla requisition height is screen height rather than large fixed value.
- Case insensitive autocompletion prefers exact case match.
- SCI_PARADOWN and SCI_PARAUP treat lines containing only white space as empty and handle text hidden by folding.
- Scintilla on Windows supports WM_PRINTCLIENT although there are some limitations.
- SCN_AUTOCSELECTION notification sent when user selects from autoselection list.
- SciTE's standard properties file sets buffers to 10, uses Pango fonts on GTK+ and has dropped several languages to make the menu fit on screen.
- SciTE's encoding cookie detection loosened so that common XML files will load in UTF-8 if that is their declared encoding.
- SciTE on GTK+ changes menus and toolbars to not be detachable unless turned on with a property. Menus no longer tear off. The toolbar may be set to use the default theme icons rather than SciTE's set. Changed key for View | End of Line because of a conflict. Language menu can contain more items.
- SciTE on GTK+ 2.x allows the height and width of the file open file chooser to be set, for the show hidden files check box to be set from an option and for it to be opened in the directory of the current file explicitly. Enter key works in save chooser.
- Scintilla lexers should no longer see bits in style bytes that are outside the set they modify so should be able to correctly lex documents where the container has used indicators.
- SciTE no longer asks to save before performing a revert.
- SciTE director interface adds a reloadproperties command to reload properties from files.
- Allow build on CYGWIN platform.
- Allow use from LccWin compiler.
- SCI_COLOURISE for SCLEX_CONTAINER causes a SCN_STYLENEEDED notification.
- Bugs fixed in lexing of HTML/ASP/JScript.
- Fix for folding becoming confused.
- On Windows, fixes for Japanese Input Method Editor and for 8 bit Katakana characters.
- Fixed buffer size bug avoided when typing long words by making buffer bigger.
- Undo after automatic indentation more sensible.
- SciTE menus on GTK+ uses Shift and Ctrl rather than old style abbreviations.
- SciTE full screen mode on Windows calculates size more correctly.
- SciTE on Windows menus work better with skinning applications.
- Searching bugs fixed.
- Colours reallocated when changing image using SCI_REGISTERIMAGE.
- Caret stays visible when Enter held down.
- Undo of automatic indentation more reasonable.
- High processor usage fixed in background wrapping under some circumstances.
- Crashing bug fixed on AMD64.
- SciTE crashing bug fixed when position.height or position.width not set.
- Crashing bug on GTK+ fixed when setting cursor and window is NULL.
- Crashing bug on GTK+ preedit window fixed.
- SciTE crashing bug fixed in incremental search on Windows ME.
- SciTE on Windows has a optional find and replace dialogs that can search through all buffers and search within a particular style number.

### Release 1.62

- Released on 31 October 2004.
- Lexer added for ASN.1.
- Lexer added for VHDL.
- On Windows, an invisible system caret is used to allow screen readers to determine where the caret is. The visible caret is still drawn by the painting code.
- On GTK+, Scintilla has methods to read the target as UTF-8 and to convert a string from UTF-8 to the document encoding. This eases integration with containers that use the UTF-8 encoding which is the API encoding for GTK+ 2.
- SciTE on GTK+2 and Windows NT/2000/XP allows search and replace of Unicode text.
- SciTE calltips allow setting the characters used to start and end parameter lists and to separate parameters.
- FindColumn method converts a line and column into a position, taking into account tabs and multi-byte characters.
- On Windows, when Scintilla copies text to the clipboard as Unicode, it avoids adding an ANSI copy as the system will automatically convert as required in a context-sensitive manner.
- SciTE indent.auto setting automatically determines indent.size and use.tabs from document contents.
- SciTE defines a CurrentMessage property that holds the most recently selected output pane message.
- SciTE Lua scripting enhanced with
  - A Lua table called 'buffer' is associated with each buffer and can be used to maintain buffer-specific state.
  - A 'scite' object allows interaction with the application such as opening files from script.
  - Dynamic properties can be reset by assigning nil to a given key in the props table.
  - An 'OnClear' event fires whenever properties and extension scripts are about to be reloaded.
  - On Windows, loadlib is enabled and can be used to access Lua binary modules / DLLs.
- SciTE Find in Files on Windows can be used in a modeless way and gains a '..' button to move up to the parent directory. It is also wider so that longer paths can be seen.
- Close buttons added to dialogs in SciTE on Windows.
- SciTE on GTK+ 2 has a "hidden files" check box in file open dialog.
- SciTE use.monospaced setting removed. More information in the FAQ.
- APDL lexer updated with more lexical classes
- AutoIt3 lexer updated.
- Ada lexer fixed to support non-ASCII text.
- Cpp lexer now only matches exactly three slashes as starting a doc-comment so that lines of slashes are seen as a normal comment. Line ending characters are appear in default style on preprocessor and single line comment lines.
- CSS lexer updated to support CSS2 including second set of keywords.
- Errorlist lexer now understands Java stack trace lines.
- SciTE's handling of HTML Tidy messages jumps to column as well as line indicated.
- Lisp lexer allows multiline strings.
- Lua lexer treats .. as an operator when between identifiers.
- PHP lexer handles 'e' in numerical literals.
- PowerBasic lexer updated for macros and optimised.
- Properties file folder changed to leave lines before a header at the base level and thus avoid a vertical line when using connected folding symbols.
- GTK+ on Windows version uses Alt for rectangular selection to be compatible with platform convention.
- SciTE abbreviations file moved from system directory to user directory so each user can have separate abbreviations.
- SciTE on GTK+ has improved .desktop file and make install support that may lead to better integration with system shell.
- Disabling of themed background drawing on GTK+ extended to all cases.
- SciTE date formatting on Windows performed with the user setting rather than the system setting.
- GTK+ 2 redraw while scrolling fixed.
- Recursive property definitions are safer, avoiding expansion when detected.
- SciTE thread synchronization for scripts no longer uses HWND_MESSAGE so is compatible with older versions of Windows. Other Lua scripting bugs fixed.
- SciTE on Windows localisation of menu accelerators changed to be compatible with alternative UI themes.
- SciTE on Windows full screen mode now fits better when menu different height to title bar height.
- SC_MARK_EMPTY marker is now invisible and does not change the background colour.
- Bug fixed in HTML lexer to allow use of <?xml in strings in scripts without triggering xml mode.
- Bug fixed in SciTE abbreviation expansion that could break indentation or crash.
- Bug fixed when searching for a whole word string that ends one character before end of document.
- Drawing bug fixed when indicators drawn on wrapped lines.
- Bug fixed when double clicking a hotspot.
- Bug fixed where autocompletion would remove typed text if no match found.
- Bug fixed where display does not scroll when inserting in long wrapped line.
- Bug fixed where SCI_MARKERDELETEALL would only remove one of the markers on a line that contained multiple markers with the same number.
- Bug fixed where markers would move when converting line endings.
- Bug fixed where SCI_LINEENDWRAP would move too far when line ends are visible.
- Bugs fixed where calltips with unicode or other non-ASCII text would display incorrectly.
- Bug fixed in determining if at save point after undoing from save point and then performing changes.
- Bug fixed on GTK+ using unsupported code pages where extraneous text could be drawn.
- Bug fixed in drag and drop code on Windows where dragging from SciTE to Firefox could hang both applications.
- Crashing bug fixed on GTK+ when no font allocation succeeds.
- Crashing bug fixed when autocompleting word longer than 1000 characters.
- SciTE crashing bug fixed when both Find and Replace dialogs shown by disallowing this situation.

### Release 1.61

- Released on 29 May 2004.
- Improvements to selection handling on GTK+.
- SciTE on GTK+ 2.4 uses the improved file chooser which allows file extension filters, multiple selection, and remembers favourite directories.
- SciTE Load Session and Save Session commands available on GTK+.
- SciTE lists Lua Startup Script in Options menu when loaded.
- In SciTE, OnUserListSelection can be implemented in Lua.
- SciTE on Windows has a context menu on the file tabs.
- SQL lexer allows '#' comments and optionally '\' quoting inside strings.
- Mssql lexer improved.
- AutoIt3 lexer updated.
- Perl lexer recognises regular expression use better.
- Errorlist lexer understands Lua tracebacks and copes with findstr output for file names that end with digits.
- Drawing of lines on GTK+ improved and made more like Windows without final point.
- SciTE on GTK+ uses a high resolution window icon.
- SciTE can be set to warn before loading files larger than a particular size.
- SciTE Lua scripting bugs fixed included a crashing bug when using an undefined function name that would go before first actual name.
- SciTE bug fixed where a modified buffer was not saved if it was the last buffer and was not current when the New command used.
- SciTE monofont mode no longer affects line numbers.
- Crashing bug in SciTE avoided by not allowing both the Find and Replace dialogs to be visible at one time.
- Crashing bug in SciTE fixed when Lua scripts were being run concurrently.
- Bug fixed that caused incorrect line number width in SciTE.
- PHP folding bug fixed.
- Regression fixed when setting word characters to not include some of the standard word characters.

### Release 1.60

- Released on 1 May 2004.
- SciTE can be scripted using the Lua programming language.
- command.mode is a better way to specify tool command options in SciTE.
- Continuation markers can be displayed so that you can see which lines are wrapped.
- Lexer for Gui4Cli language.
- Lexer for Kix language.
- Lexer for Specman E language.
- Lexer for AutoIt3 language.
- Lexer for APDL language.
- Lexer for Bash language. Also reasonable for other Unix shells.
- SciTE can load lexers implemented in external shared libraries.
- Perl treats "." not as part of an identifier and interprets '/' and '->' correctly in more circumstances.
- PHP recognises variables within strings.
- NSIS has properties "nsis.uservars" and "nsis.ignorecase".
- MSSQL lexer adds keyword list for operators and stored procedures, defines '(', ')', and ',' as operators and changes some other details.
- Input method preedit window on GTK+ 2 may support some Asian languages.
- Platform interface adds an extra platform-specific flag to Font::Create. Used on wxWidgets to choose antialiased text display but may be used for any task that a platform needs.
- OnBeforeSave method added to Extension interface.
- Scintilla methods that return strings can be called with a NULL pointer to find out how long the string should be.
- Visual Studio .NET project file now in VS .NET 2003 format so can not be used directly in VS .NET 2002.
- Scintilla can be built with GTK+ 2 on Windows.
- Updated RPM spec for SciTE on GTK+.
- GTK+ makefile for SciTE allows selection of destination directory, creates destination directories and sets file modes and owners better.
- Tab indents now go to next tab multiple rather than add tab size.
- SciTE abbreviations now use the longest possible match rather than the shortest.
- Autocompletion does not remove prefix when actioned with no choice selected.
- Autocompletion cancels when moving beyond the start position, not at the start position.
- SciTE now shows only calltips for functions that match exactly, not those that match as a prefix.
- SciTE can repair box comment sections where some lines were added without the box comment middle line prefix.
- Alt+ works in user.shortcuts on Windows.
- SciTE on GTK+ enables replace in selection for rectangular selections.
- Key bindings for command.shortcut implemented in a way that doesn't break when the menus are localised.
- Drawing of background on GTK+ faster as theme drawing disabled.
- On GTK+, calltips are moved back onto the screen if they extend beyond the screen bounds.
- On Windows, the Scintilla object is destroyed on WM_NCDESTROY rather than WM_DESTROY which arrives earlier. This fixes some problems when Scintilla was subclassed.
- The zorder switching feature removed due to number of crashing bugs.
- Code for XPM images made more robust.
- Bug fixed with primary selection on GTK+.
- On GTK+ 2, copied or cut text can still be pasted after the Scintilla widget is destroyed.
- Styling change not visible problem fixed when line was cached.
- Bug in SciTE on Windows fixed where clipboard commands stopped working.
- Crashing bugs in display fixed in line layout cache.
- Crashing bug may be fixed on AMD64 processor on GTK+.
- Rare hanging crash fixed in Python lexer.
- Display bugs fixed with DBCS characters on GTK+.
- Autocompletion lists on GTK+ 2 are not sorted by the ListModel as the contents are sorted correctly by Scintilla.
- SciTE fixed to not open extra untitled buffers with check.if.already.open.
- Sizing bug fixed on GTK+ when window resized while unmapped.
- Text drawing crashing bug fixed on GTK+ with non-Pango fonts and long strings.
- Fixed some issues if characters are unsigned.
- Fixes in NSIS support.

### Release 1.59

- Released on 19 February 2004.
- SciTE Options and Language menus reduced in length by commenting out some languages. Languages can be enabled by editing the global properties file.
- Verilog language supported.
- Lexer for Microsoft dialect of SQL. SciTE properties file available from extras page.
- Perl lexer disambiguates '/' better.
- NSIS lexer improved with a lexical class for numbers, option for ignoring case of keywords, and folds only occurring when folding keyword first on line.
- PowerBasic lexer improved with styles for constants and assembler and folding improvements.
- On GTK+, input method support only invoked for Asian languages and not European languages as the old European keyboard code works better.
- Scintilla can be requested to allocate a certain amount and so avoid repeated reallocations and memory inefficiencies. SciTE uses this and so should require less memory.
- SciTE's "toggle current fold" works when invoked on child line as well as fold header.
- SciTE output pane scrolling can be set to not scroll back to start after completion of command.
- SciTE has a $(SessionPath) property.
- SciTE on Windows can use VK_* codes for keys in user.shortcuts.
- Stack overwrite bug fixed in SciTE's command to move to the end of a preprocessor conditional.
- Bug fixed where vertical selection appeared to select a different set of characters then would be used by, for example, a copy.
- SciTE memory leak fixed in fold state remembering.
- Bug fixed where changing the style of some text outside the standard StyleNeeded notification would not be visible.
- On GTK+ 2 g_iconv is used in preference to iconv, as it is provided by GTK+ so should avoid problems finding the iconv library.
- On GTK+ fixed a style reference count bug.
- Memory corruption bug fixed with GetSelText.
- On Windows Scintilla deletes memory on WM_NCDESTROY rather than the earlier WM_DESTROY to avoid problems when the window is subclassed.

### Release 1.58

- Released on 11 January 2004.
- Method to discover the currently highlighted element in an autocompletion list.
- On GTK+, the lexers are now included in the scintilla.a library file. This will require changes to the make files of dependent projects.
- Octave support added alongside related Matlab language and Matlab support improved.
- VB lexer gains an unterminated string state and 4 sets of keywords.
- Ruby lexer handles $' correctly.
- Error line handling improved for FORTRAN compilers from Absoft and Intel.
- International input enabled on GTK+ 2 although there is no way to choose an input method.
- MultiplexExtension in SciTE allows multiple extensions to be used at once.
- Regular expression replace interprets backslash expressions \a, \b, \f, \n, \r, \t, and \v in the replacement value.
- SciTE Replace dialog displays number of replacements made when Replace All or Replace in Selection performed.
- Localisation files may contain a translation.encoding setting which is used on GTK+ 2 to automatically reencode the translation to UTF-8 so it will be the localised text will be displayed correctly.
- SciTE on GTK+ implements check.if.already.open.
- Make files for Mac OS X made more robust.
- Performance improved in SciTE when switching buffers when there is a rectangular selection.
- Fixed failure to display some text when wrapped.
- SciTE crashes from Ctrl+Tab buffer cycling fixed. May still be some rare bugs here.
- Crash fixed when decoding an error message that appears similar to a Borland error message.
- Fix to auto-scrolling allows containers to implement enhanced double click selection.
- Hang fixed in idle word wrap.
- Crash fixed in hotspot display code..
- SciTE on Windows Incremental Search no longer moves caret back.
- SciTE hang fixed when performing a replace with a find string that matched zero length strings such as ".*".
- SciTE no longer styles the whole file when saving buffer fold state as that was slow.

### Release 1.57

- Released on 27 November 2003.
- SciTE remembers folding of each buffer.
- Lexer for Erlang language.
- Scintilla allows setting the set of white space characters.
- Scintilla has 'stuttered' page movement commands to first move to top or bottom within current visible lines before scrolling.
- Scintilla commands for moving to end of words.
- Incremental line wrap enabled on Windows.
- SciTE PDF exporter produces output that is more compliant with reader applications, is smaller and allows more configuration. HTML exporter optimizes size of output files.
- SciTE defines properties PLAT_WINNT and PLAT_WIN95 on the corresponding platforms.
- SciTE can adjust the line margin width to fit the largest line number. The line.numbers property is split between line.margin.visible and line.margin.width.
- SciTE on GTK+ allows user defined menu accelerators. Alt can be included in user.shortcuts.
- SciTE Language menu can have items commented out.
- SciTE on Windows Go to dialog allows choosing a column number as well as a line number.
- SciTE on GTK+ make file uses prefix setting more consistently.
- Bug fixed that caused word wrapping to fail to display all text.
- Crashing bug fixed in GTK+ version of Scintilla when using GDK fonts and opening autocompletion.
- Bug fixed in Scintilla SCI_GETSELTEXT where an extra NUL was included at end of returned string
- Crashing bug fixed in SciTE z-order switching implementation.
- Hanging bug fixed in Perl lexer.
- SciTE crashing bug fixed for using 'case' without argument in style definition.

### Release 1.56

- Released on 25 October 2003.
- Rectangular selection can be performed using the keyboard. Greater programmatic control over rectangular selection. This has caused several changes to key bindings.
- SciTE Replace In Selection works on rectangular selections.
- Improved lexer for TeX, new lexer for Metapost and other support for these languages.
- Lexer for PowerBasic.
- Lexer for Forth.
- YAML lexer improved to include error styling.
- Perl lexer improved to correctly handle more cases.
- Assembler lexer updated to support single-quote strings and fix some problems.
- SciTE on Windows can switch between buffers in order of use (z-order) rather than static order.
- SciTE supports adding an extension for "Open Selected Filename". The openpath setting works on GTK+.
- SciTE can Export as XML.
- SciTE $(SelHeight) variable gives a more natural result for empty and whole line selections.
- Fixes to wrapping problems, such as only first display line being visible in some cases.
- Fixes to hotspot to only highlight when over the hotspot, only use background colour when set and option to limit hotspots to a single line.
- Small fixes to FORTRAN lexing and folding.
- SQL lexer treats single quote strings as a separate class to double quote strings..
- Scintilla made compatible with expectations of container widget in GTK+ 2.3.
- Fix to strip out pixmap ID when automatically choosing from an autocompletion list with only one element.
- SciTE bug fixed where UTF-8 files longer than 128K were gaining more than one BOM.
- Crashing bug fixed in SciTE on GTK+ where using "Stop Executing" twice leads to all applications exiting.
- Bug fixed in autocompletion scrolling on GTK+ 2 with a case sensitive list. The ListBox::Sort method is no longer needed or available so platform maintainers should remove it.
- SciTE check.if.already.open setting removed from GTK+ version as unmaintained.

### Release 1.55

- Released on 25 September 2003.
- Fix a crashing bug in indicator display in Scintilla.
- GTK+ version now defaults to building for GTK+ 2 rather than 1.
- Mingw make file detects compiler version and avoids options that are cause problems for some versions.
- Large performance improvement on GTK+ 2 for long lines.
- Incremental line wrap on GTK+.
- International text entry works much better on GTK+ with particular improvements for Baltic languages and languages that use 'dead' accents. NUL key events such as those generated by some function keys, ignored.
- Unicode clipboard support on GTK+.
- Indicator type INDIC_BOX draws a rectangle around the text.
- Clarion language support.
- YAML language support.
- MPT LOG language support.
- On Windows, SciTE can switch buffers based on activation order rather than buffer number.
- SciTE save.on.deactivate saves all buffers rather than just the current buffer.
- Lua lexer handles non-ASCII characters correctly.
- Error lexer understands Borland errors with pathnames that contain space.
- On GTK+ 2, autocompletion uses TreeView rather than deprecated CList.
- SciTE autocompletion removed when expand abbreviation command used.
- SciTE calltips support overloaded functions.
- When Save fails in SciTE, choice offered to Save As.
- SciTE message boxes on Windows may be moved to front when needed.
- Indicators drawn correctly on wrapped lines.
- Regular expression search no longer matches characters with high bit set to characters without high bit set.
- Hang fixed in backwards search in multi byte character documents.
- Hang fixed in SciTE Mark All command when wrap around turned off.
- SciTE Incremental Search no longer uses hot keys on Windows.
- Calltips draw non-ASCII characters correctly rather than as arrows.
- SciTE crash fixed when going to an error message with empty file name.
- Bugs fixed in XPM image handling code.

### Release 1.54

- Released on 12 August 2003.
- SciTE on GTK+ 2.x can display a tab bar.
- SciTE on Windows provides incremental search.
- Lexer for PostScript.
- Lexer for the NSIS scripting language.
- New lexer for POV-Ray Scene Description Language replaces previous implementation.
- Lexer for the MMIX Assembler language.
- Lexer for the Scriptol language.
- Incompatibility: SQL keywords are specified in lower case rather than upper case. SQL lexer allows double quoted strings.
- Pascal lexer: character constants that start with '#' understood, '@' only allowed within assembler blocks, '$' can be the start of a number, initial '.' in 0..constant not treated as part of a number, and assembler blocks made more distinctive.
- Lua lexer allows '.' in keywords. Multi-line strings and comments can be folded.
- CSS lexer handles multiple psuedoclasses.
- Properties file folder works for INI file format.
- Hidden indicator style allows the container to mark text within Scintilla without there being any visual effect.
- SciTE does not prompt to save changes when the buffer is empty and untitled.
- Modification notifications caused by SCI_INSERTSTYLEDSTRING now include the contents of the insertion.
- SCI_MARKERDELETEALL deletes all the markers on a line rather than just the first match.
- Better handling of 'dead' accents on GTK+ 2 for languages that use accented characters.
- SciTE now uses value of output.vertical.size property.
- Crash fixed in SciTE autocompletion on long lines.
- Crash fixed in SciTE comment command on long lines.
- Bug fixed with backwards regular expression search skipping every second match.
- Hang fixed with regular expression replace where both target and replacement were empty.

### Release 1.53

- Released on 16 May 2003.
- On GTK+ 2, encodings other than ASCII, Latin1, and Unicode are supported for both display and input using iconv.
- External lexers supported on GTK+/Linux. External lexers must now be explicitly loaded with SCI_LOADLEXERLIBRARY rather than relying upon a naming convention and automatic loading.
- Support of Lout typesetting language.
- Support of E-Scripts language used in the POL Ultima Online Emulator.
- Scrolling and drawing performance on GTK+ enhanced, particularly for GTK+ 2.x with an extra window for the text area avoiding conflicts with the scroll bars.
- CopyText and CopyRange methods in Scintilla allow container to easily copy to the system clipboard.
- Line Copy command implemented and bound to Ctrl+Shift+T.
- Scintilla APIs PositionBefore and PositionAfter can be used to iterate through a document taking into account the encoding and multi-byte characters.
- C++ folder can fold on the "} else {" line of an if statement by setting fold.at.else property to 1.
- C++ lexer allows an extra set of keywords.
- Property names and thus abbreviations may be non-ASCII.
- Removed attempt to load a file when setting properties that was part of an old scripting experiment.
- SciTE no longer warns about a file not existing when opening properties files from the Options menu as there is a good chance the user wants to create one.
- Bug fixed with brace recognition in multi-byte encoded files where a partial character matched a brace byte.
- More protection against infinite loops or recursion with recursive property definitions.
- On Windows, cursor will no longer disappear over margins in custom builds when cursor resource not present. The Windows default cursor is displayed instead.
- load.on.activate fixed in SciTE as was broken in 1.52.

### Release 1.52

- Released on 17 April 2003.
- Pango font support on GTK+ 2. Unicode input improved on GTK+ 2.
- Hotspot style implemented in Scintilla.
- Small up and down arrows can be displayed in calltips and the container is notified when the mouse is clicked on a calltip. Normal and selected calltip text colours can be set.
- POSIX compatibility flag in Scintilla regular expression search interprets bare ( and ) as tagged sections.
- Error message lexer tightened to yield fewer false matches. Recognition of Lahey and Intel FORTRAN error formats.
- Scintilla keyboard commands for moving to start and end of screen lines rather than document lines, unless already there where these keys move to the start or end of the document line.
- Line joining command.
- Lexer for POV-Ray.
- Calltips on Windows are no longer clipped by the parent window.
- Autocompletion lists are cancelled when focus leaves their parent window.
- Move to next/previous empty line delimited paragraph key commands.
- SciTE hang fixed with recursive property definitions by placing limit on number of substitutions performed.
- SciTE Export as PDF reenabled and works.
- Added loadsession: command line command to SciTE.
- SciTE option to quit application when last document closed.
- SciTE option to ask user if it is OK to reload a file that has been modified outside SciTE.
- SciTE option to automatically save before running particular command tools or to ask user or to not save.
- SciTE on Windows 9x will write a Ctrl+Z to the process input pipe before closing the pipe when running tool commands that take input.
- Added a manifest resource to SciTE on Windows to enable Windows XP themed UI.
- SciTE calltips handle nested calls and other situations better.
- CSS lexer improved.
- Interface to platform layer changed - Surface initialisation now requires a WindowID parameter.
- Bug fixed with drawing or measuring long pieces of text on Windows 9x by truncating the pieces.
- Bug fixed with SciTE on GTK+ where a user shortcut for a visible character inserted the character as well as executing the command.
- Bug fixed where primary selection on GTK+ was reset by Scintilla during creation.
- Bug fixed where SciTE would close immediately on startup when using save.session.
- Crash fixed when entering '\' in LaTeX file.
- Hang fixed when '#' last character in VB file.
- Crash fixed in error message lexer.
- Crash fixed when searching for long regular expressions.
- Pressing return when nothing selected in user list sends notification with empty text rather than random text.
- Mouse debouncing disabled on Windows as it interfered with some mouse utilities.
- Bug fixed where overstrike mode inserted before rather than replaced last character in document.
- Bug fixed with syntax highlighting of Japanese text.
- Bug fixed in split lines function.
- Cosmetic fix to SciTE tab bar on Windows when window resized. Focus sticks to either pane more consistently.

### Release 1.51

- Released on 16 February 2003.
- Two phase drawing avoids cutting off text that overlaps runs by drawing all the backgrounds of a line then drawing all the text transparently. Single phase drawing is an option.
- Scintilla method to split lines at a particular width by adding new line characters.
- The character used in autocompletion lists to separate the text from the image number can be changed.
- The scrollbar range will automatically expand when the caret is moved beyond the current range. The scroll bar is updated when SCI_SETXOFFSET is called.
- Mouse cursors on GTK+ improved to be consistent with other applications and the Windows version.
- Horizontal scrollbar on GTK+ now disappears in wrapped mode.
- Scintilla on GTK+ 2: mouse wheel scrolling, cursor over scrollbars, focus, and syntax highlighting now work. gtk_selection_notify avoided for compatibility with GTK+ 2.2.
- Fold margin colours can now be set.
- SciTE can be built for GTK+ 2.
- SciTE can optionally preserve the undo history over an automatic file reload.
- Tags can optionally be case insensitive in XML and HTML.
- SciTE on Windows handles input to tool commands in a way that should avoid deadlock. Output from tools can be used to replace the selection.
- SciTE on GTK+ automatically substitutes '|' for '/' in menu items as '/' is used to define the menu hierarchy.
- Optional buffer number in SciTE title bar.
- Crash fixed in SciTE brace matching.
- Bug fixed where automatic scrolling past end of document flipped back to the beginning.
- Bug fixed where wrapping caused text to disappear.
- Bug fixed on Windows where images in autocompletion lists were shown on the wrong item.
- Crash fixed due to memory bug in autocompletion lists on Windows.
- Crash fixed when double clicking some error messages.
- Bug fixed in word part movement where sometimes no movement would occur.
- Bug fixed on Windows NT where long text runs were truncated by treating NT differently to 9x where there is a limitation.
- Text in not-changeable style works better but there remain some cases where it is still possible to delete text protected this way.

### Release 1.50

- Released on 24 January 2003.
- Autocompletion lists may have a per-item pixmap.
- Autocompletion lists allow Unicode text on Windows.
- Scintilla documentation rewritten.
- Additional DBCS encoding support in Scintilla on GTK+ primarily aimed at Japanese EUC encoding.
- CSS (Cascading Style Sheets) lexer added.
- diff lexer understands some more formats.
- Fold box feature is an alternative way to show the structure of code.
- Avenue lexer supports multiple keyword lists.
- The caret may now be made invisible by setting the caret width to 0.
- Python folder attaches comments before blocks to the next block rather than the previous block.
- SciTE openpath property on Windows searches a path for files that are the subject of the Open Selected Filename command.
- The localisation file name can be changed with the locale.properties property.
- On Windows, SciTE can pipe the result of a string expression into a command line tool.
- On Windows, SciTE's Find dialog has a Mark All button.
- On Windows, there is an Insert Abbreviation command that allows a choice from the defined abbreviations and inserts the selection into the abbreviation at the position of a '|'.
- Minor fixes to Fortran lexer.
- fold.html.preprocessor decides whether to fold <? and ?>. Minor improvements to PHP folding.
- Maximum number of keyword lists allowed increased from 6 to 9.
- Duplicate line command added with default assignment to Ctrl+D.
- SciTE sets $(Replacements) to the number of replacements made by the Replace All command. $(CurrentWord) is set to the word before the caret if the caret is at the end of a word.
- Opening a SciTE session now loads files in remembered order, sets the current file as remembered, and moves the caret to the remembered line.
- Bugs fixed with printing on Windows where line wrapping was causing some text to not print.
- Bug fixed with Korean Input Method Editor on Windows.
- Bugs fixed with line wrap which would sometimes choose different break positions after switching focus away and back.
- Bug fixed where wheel scrolling had no effect on GTK+ after opening a fold.
- Bug fixed with file paths containing non-ASCII characters on Windows.
- Crash fixed with printing on Windows after defining pixmap marker.
- Crash fixed in makefile lexer when first character on line was '='.
- Bug fixed where local properties were not always being applied.
- Ctrl+Keypad* fold command works on GTK+.
- Hangs fixed in SciTE's Replace All command when replacing regular expressions '^' or '$'.
- SciTE monospace setting behaves more sensibly.

### Release 1.49

- Released on 1 November 2002.
- Unicode supported on GTK+. To perform well, this added a font cache to GTK+ and to make that safe, a mutex is used. The mutex requires the application to link in the threading library by evaluating `glib-config --libs gthread`. A Unicode locale should also be set up by a call like setlocale(LC_CTYPE, "en_US.UTF-8"). scintilla_release_resources function added to release mutex.
- FORTRAN and assembler lexers added along with other support for these languages in SciTE.
- Ada lexer improved handling of based numbers, identifier validity and attributes distinguished from character literals.
- Lua lexer handles block comments and a deep level of nesting for literal strings and block comments.
- Errorlist lexer recognises PHP error messages.
- Variant of the C++ lexer with case insensitive keywords called cppnocase. Whitespace in preprocessor text handled more correctly.
- Folder added for Perl.
- Compilation with GCC 3.2 supported.
- Markers can be pixmaps.
- Lines are wrapped when printing. Bug fixed which printed line numbers in different styles.
- Text can be appended to end with AppendText method.
- ChooseCaretX method added.
- Vertical scroll bar can be turned off with SetVScrollBar method.
- SciTE Save All command saves all buffers.
- SciTE localisation compares keys case insensitively to make translations more flexible.
- SciTE detects a utf-8 coding cookie "coding: utf-8" in first two lines and goes into Unicode mode.
- SciTE key bindings are definable.
- SciTE Find in Files dialog can display directory browser to choose directory to search.
- SciTE enabling of undo and redo toolbar buttons improved.
- SciTE on Windows file type filters in open dialog sorted.
- Fixed crashing bug when using automatic tag closing in XML or HTML.
- Fixed bug on Windows causing very long (>64K) lines to not display.
- Fixed bug in backwards regular expression searching.
- Fixed bug in calltips where wrong argument was highlighted.
- Fixed bug in tab timmy feature when file has line feed line endings.
- Fixed bug in compiling without INCLUDE_DEPRECATED_FEATURES defined.

### Release 1.48

- Released on 9 September 2002.
- Improved Pascal lexer with context sensitive keywords and separate folder which handles //{ and //} folding comments and {$region} and {$end} folding directives. The "case" statement now folds correctly.
- C++ lexer correctly handles comments on preprocessor lines.
- New commands for moving to beginning and end of display lines when in line wrap mode. Key bindings added for these commands.
- New marker symbols that look like ">>>" and "..." which can be used for interactive shell prompts for Python.
- The foreground and background colours of visible whitespace can be chosen independent of the colours chosen for the lexical class of that whitespace.
- Per line data optimised by using an exponential allocation scheme.
- SciTE API file loading optimised.
- SciTE for GTK+ subsystem 2 documented. The exit status of commands is decoded into more understandable fields.
- SciTE find dialog remembers previous find string when there is no selection. Find in Selection button disabled when selection is rectangular as command did not work.
- Shift+Enter made equivalent to Enter to avoid users having to let go of the shift key when typing. Avoids the possibility of entering single carriage returns in a file that contains CR+LF line ends.
- Autocompletion does not immediately disappear when the length parameter to SCI_AUTOCSHOW is 0.
- SciTE focuses on the editor pane when File | New executed and when the output pane is closed with F8. Double clicking on a non-highlighted output pane line selects the word under the cursor rather than seeking the next highlighted line.
- SciTE director interface implements an "askproperty" command.
- SciTE's Export as LaTeX output improved.
- Better choice of autocompletion displaying above the caret rather then below when that is more sensible.
- Bug fixed where context menu would not be completely visible if invoked when cursor near bottom or left of screen.
- Crashing bug fixed when displaying long strings on GTK+ caused failure of X server by displaying long text in segments.
- Crashing bug fixed on GTK+ when a Scintilla window was removed from its parent but was still the selection owner.
- Bug fixed on Windows in Unicode mode where not all characters on a line were displayed when that line contained some characters not in ASCII.
- Crashing bug fixed in SciTE on Windows with clearing output while running command.
- Bug fixed in SciTE for GTK+ with command completion not detected when no output was produced by the command.
- Bug fixed in SciTE for Windows where menus were not shown translated.
- Bug fixed where words failed to display in line wrapping mode with visible line ends.
- Bug fixed in SciTE where files opened from a session file were not closed.
- Cosmetic flicker fixed when using Ctrl+Up and Ctrl+Down with some caret policies.

### Release 1.47

- Released on 1 August 2002.
- Support for GTK+ 2 in Scintilla. International input methods not supported on GTK+2.
- Line wrapping performance improved greatly.
- New caret policy implementation that treats horizontal and vertical positioning equivalently and independently. Old caret policy methods deprecated and not all options work correctly with old methods.
- Extra fold points for C, C++, Java, ... for fold comments //{ .. //} and #if / #ifdef .. #endif and the #region .. #endregion feature of C#.
- Scintilla method to find the height in pixels of a line. Currently returns the same result for every line as all lines are same height.
- Separate make file, scintilla_vc6.mak, for Scintilla to use Visual C++ version 6 since main makefile now assumes VS .NET. VS .NET project files available for combined Scintilla and SciTE in scite/boundscheck.
- SciTE automatically recognises Unicode files based on their Byte Order Marks and switches to Unicode mode. On Windows, where SciTE supports Unicode display, this allows display of non European characters. The file is saved back into the same character encoding unless the user decides to switch using the File | Encoding menu.
- Handling of character input changed so that a fillup character, typically '(' displays a calltip when an autocompletion list was being displayed.
- Multiline strings lexed better for C++ and Lua.
- Regular expressions in JavaScript within hypertext files are lexed better.
- On Windows, Scintilla exports a function called Scintilla_DirectFunction that can be used the same as the function returned by GetDirectFunction.
- Scintilla converts line endings of text obtained from the clipboard to the current default line endings.
- New SciTE property ensure.final.line.end can ensure that saved files always end with a new line as this is required by some tools. The ensure.consistent.line.ends property ensures all line ends are the current default when saving files. The strip.trailing.spaces property now works on the buffer so the buffer in memory and the file on disk are the same after a save is performed.
- The SciTE expand abbreviation command again allows '|' characters in expansions to be quoted by using '||'.
- SciTE on Windows can send data to the find tool through standard input rather than using a command line argument to avoid problems with quoting command line arguments.
- The Stop Executing command in SciTE on Windows improved to send a Ctrl+Z character to the tool. Better messages when stopping a tool.
- Autocompletion can automatically "fill up" when one of a set of characters is type with the autocomplete.<lexer>.fillups property.
- New predefined properties in SciTE, SelectionStartColumn, SelectionStartLine, SelectionEndColumn, SelectionEndLine can be used to integrate with other applications.
- Environment variables are available as properties in SciTE.
- SciTE on Windows keeps status line more current.
- Abbreviations work in SciTE on Linux when first opened.
- File saving fixed in SciTE to ensure files are not closed when they can not be saved because of file permissions. Also fixed a problem with buffers that caused files to not be saved.
- SciTE bug fixed where monospace mode not remembered when saving files. Some searching options now remembered when switching files.
- SciTE on Linux now waits on child termination when it shuts a child down to avoid zombies.
- SciTE on Linux has a Print menu command that defaults to invoking a2ps.
- Fixed incorrect highlighting of indentation guides in SciTE for Python.
- Crash fixed in Scintilla when calling GetText for 0 characters.
- Exporting as LaTeX improved when processing backslashes and tabs and setting up font.
- Crash fixed in SciTE when exporting or copying as RTF.
- SciTE session loading fixed to handle more than 10 files in session.

### Release 1.46

- Released on 10 May 2002.
- Set of lexers compiled into Scintilla can now be changed by adding and removing lexer source files from scintilla/src and running LexGen.py.
- SCN_ZOOM notification provided by Scintilla when user changes zoom level. Method to determine width of strings in pixels so that elements can be sized relative to text size. SciTE changed to keep line number column displaying a given number of characters.
- The logical width of the document used to determine scroll bar range can be set.
- Setting to allow vertical scrolling to display last line at top rather than bottom of window.
- Read-only mode improved to avoid changing the selection in most cases when a modification is attempted. Drag and drop cursors display correctly for read-only in some cases.
- Visual C++ options in make files changed to suit Visual Studio .NET.
- Scintilla.iface includes feature types for enumerations and lexers.
- Lua lexer improves handling of literal strings and copes with nested literal strings.
- Diff lexer changed to treat lines starting with "***" similarly to "---". Symbolic names defined for lexical classes.
- nncrontab lexer improved.
- Turkish fonts (iso8859-9) supported on GTK+.
- Automatic close tag feature for XML and HTML in SciTE.
- Automatic indentation in SciTE improved.
- Maximum number of buffers available in SciTE increased. May be up to 100 although other restrictions on menu length limit the real maximum.
- Save a Copy command added to SciTE.
- Export as TeX command added to SciTE.
- Export as HTML command in SciTE respects Use Monospaced Font and background colour settings.
- Compilation problem on Solaris fixed.
- Order of files displayed for SciTE's previous and next menu and key commands are now consistent.
- Saving of MRU in recent file changed so files open when SciTE quit are remembered.
- More variants of ctags tags handled by Open Selected Filename in SciTE.
- JavaScript embedded in XML highlighted again.
- SciTE status bar updated after changing parameters in case they are being displayed in status bar.
- Crash fixed when handling some multi-byte languages.
- Crash fixed when replacing end of line characters.
- Bug in SciTE fixed in multiple buffer mode where automatic loading turned on could lead to losing file contents.
- Bug in SciTE on GTK+ fixed where dismissing dialogs with close box led to those dialogs never being shown again.
- Bug in SciTE on Windows fixed where position.tile with default positions led to SciTE being positioned off-screen.
- Bug fixed in read-only mode, clearing all deletes contraction state data leading to it not being synchronized with text.
- Crash fixed in SciTE on Windows when tab bar displayed.

### Release 1.45

- Released on 15 March 2002.
- Line layout cache implemented to improve performance by maintaining the positioning of characters on lines. Can be set to cache nothing, the line with the caret, the visible page or the whole document.
- Support, including a new lexer, added for Matlab programs.
- Lua folder supports folding {} ranges and compact mode. Lua lexer styles floating point numbers in number style instead of setting the '.' in operator style. Up to 6 sets of keywords. Better support for [[ although only works well when all on one line.
- Python lexer improved to handle floating point numbers that contain negative exponents and that start with '.'.
- When performing a rectangular paste, the caret now remains at the insertion point.
- On Windows with a wheel mouse, page-at-a-time mode is recognised.
- Read-only mode added to SciTE with a property to initialise it and another property, $(ReadOnly) available to show this mode in the status bar.
- SciTE status bar can show the number of lines in the selection with the $(SelHeight) property.
- SciTE's "Export as HTML" command uses the current character set to produce correct output for non-Western-European character sets, such as Russian.
- SciTE's "Export as RTF" fixed to produce correct output when file contains '\'.
- SciTE goto command accepts a column as well as a line. If given a column, it selects the word at that column.
- SciTE's Build, Compile and Go commands are now disabled if no action has been assigned to them.
- The Refresh button in the status bar has been removed from SciTE on Windows.
- Bug fixed in line wrap mode where cursor up or down command did not work.
- Some styling bugs fixed that were due to a compilation problem with gcc and inline functions with same name but different code.
- The way that lexers loop over text was changed to avoid accessing beyond the end or setting beyond the end. May fix some bugs and make the code safer but may also cause new bugs.
- Bug fixed in HTML lexer's handling of SGML.
- Bug fixed on GTK+/X where lines wider than 32767 pixels did not display.
- SciTE bug fixed with file name generation for standard property files.
- SciTE bug fixed with Open Selected Filename command when used with file name and line number combination.
- In SciTE, indentation and tab settings stored with buffers so maintained correctly as buffers selected. The properties used to initialise these settings can now be set separately for different file patterns.
- Thread safety improved on Windows with a critical section protecting the font cache and initialisation of globals performed within Scintilla_RegisterClasses. New Scintilla_ReleaseResources call provided to allow explicit freeing of resources when statically bound into another application. Resources automatically freed in DLL version. The window classes are now unregistered as part of resource freeing which fixes bugs that occurred in some containers such as Internet Explorer.
- 'make install' fixed on Solaris.
- Bug fixed that could lead to a file being opened twice in SciTE.

### Release 1.44

- Released on 4 February 2002.
- Crashing bug fixed in Editor::Paint.
- Lua lexer no longer treats '.' as a word character and handles 6 keyword sets.
- WordStartPosition and WordEndPosition take an onlyWordCharacters argument.
- SciTE option for simplified automatic indentation which repeats the indentation of the previous line.
- Compilation fix on Alpha because of 64 bit.
- Compilation fix for static linking.
- Limited maximum line length handled to 8000 characters as previous value of 16000 was causing stack exhaustion crashes for some.
- When whole document line selected, only the last display line gets the extra selected rectangle at the right hand side rather than every display line.
- Caret disappearing bug fixed for the case that the caret was not on the first display line of a document line.
- SciTE bug fixed where untitled buffer containing text was sometimes deleted without chance to save.
- SciTE bug fixed where use.monospaced not working with multiple buffers.

### Release 1.43

- Released on 19 January 2002.
- Line wrapping robustness and performance improved in Scintilla.
- Line wrapping option added to SciTE for both edit and output panes.
- Static linking on Windows handles cursor resource better. Documentation of static linking improved.
- Autocompletion has an option to delete any word characters after the caret upon selecting an item.
- FOX version identified by PLAT_FOX in Platform.h.
- Calltips in SciTE use the calltip.<lexer>.word.characters setting to correctly find calltips for functions that include characters like '$' which is not normally considered a word character.
- SciTE has a command to show help on itself which gets hooked up to displaying SciTEDoc.html.
- SciTE option calltip.<lexer>.end.definition to display help text on a second line of calltip.
- Fixed the handling of the Buffers menu on GTK+ to ensure current buffer indicated and no warnings occur. Changed some menu items on GTK+ version to be same as Windows version.
- use.monospaced property for SciTE determines initial state of Use Monospaced Font setting.
- The SciTE Complete Symbol command now works when there are no word characters before the caret, even though it is slow to display the whole set of symbols.
- Function names removed from SciTE's list of PHP keywords. The full list of predefined functions is available from another web site mentioned on the Extras page.
- Crashing bug at startup on GTK+ for some configurations fixed.
- Crashing bug on GTK+ on 64 bit platforms fixed.
- Compilation problem with some compilers fixed in GTK+.
- Japanese text entry improved on Windows 9x.
- SciTE recent files directory problem on Windows when HOME and SciTE_HOME environment variables not set is now the directory of the executable.
- Session files no longer include untitled buffers.

### Release 1.42

- Released on 24 December 2001.
- Better localisation support including context menus and most messages. Translations of the SciTE user interface available for Bulgarian, French, German, Italian, Russian, and Turkish.
- Can specify a character to use to indicate control characters rather than having them displayed as mnemonics.
- Scintilla key command for backspace that will not delete line end characters.
- Scintilla method to find start and end of words.
- SciTE on GTK+ now supports the load.on.activate and save.on.deactivate properties in an equivalent way to the Windows version.
- The output pane of SciTE on Windows is now interactive so command line utilities that prompt for input or confirmation can be used.
- SciTE on Windows can choose directory for a "Find in Files" command like the GTK+ version could.
- SciTE can now load a set of API files rather than just one file.
- ElapsedTime class added to Platform for accurate measurement of durations. Used for debugging and for showing the user how long commands take in SciTE.
- Baan lexer added.
- In C++ lexer, document comment keywords no longer have to be at the start of the line.
- PHP lexer changed to match keywords case insensitively.
- More shell keywords added.
- SciTE support for VoiceXML added to xml.properties.
- In SciTE the selection is not copied to the find field of the Search and Replace dialogs if it contains end of line characters.
- SciTE on Windows has a menu item to decide whether to respond to other instances which are performing their check.if.already.open check.
- SciTE accelerator key for Box Comment command changed to avoid problems in non-English locales.
- SciTE context menu includes Close command for the editor pane and Hide command for the output pane.
- output: command added to SciTE director interface to add text to the output pane. The director interface can execute commands (such as tool commands with subsystem set to 3) by sending a macro:run message.
- SciTE on GTK+ will defer to the Window Manager for position if position.left or position.top not set and for size if position.width or position.height not set.
- SciTE on Windows has a position.tile property to place a second instance to the right of the first.
- Scintilla on Windows again supports EM_GETSEL and EM_SETSEL.
- Problem fixed in Scintilla on Windows where control ID is no longer cached as it could be changed by external code.
- Problems fixed in SciTE on Windows when finding any other open instances at start up when check.if.already.open is true.
- Bugs fixed in SciTE where command strings were not always having variables evaluated.
- Bugs fixed with displaying partial double-byte and Unicode characters in rectangular selections and at the edge when edge mode is EDGE_BACKGROUND. Column numbers reported by GetColumn treat multiple byte characters as one column rather than counting bytes.
- Bug fixed with caret movement over folded lines.
- Another bug fixed with tracking selection in secondary views when performing modifications.
- Horizontal scrolling and display of long lines optimised.
- Cursor setting in Scintilla on GTK+ optimised.
- Experimental changeable style attribute. Set to false to make text read-only. Currently only stops caret from being within not-changeable text and does not yet stop deleting a range that contains not-changeable text. Can be used from SciTE by adding notchangeable to style entries.
- Experimental line wrapping. Currently has performance and appearence problems.

### Release 1.41

- Released on 6 November 2001.
- Changed Platform.h to not include platform headers. This lessens likelihood and impact of name clashes from system headers and also speeds up compilation. Renamed DrawText to DrawTextNoClip to avoid name clash.
- Changed way word functions work to treat a sequence of punctuation as a word. This is more sensible and also more compatible with other editors.
- Cursor changes over the margins and selection on GTK+ platform.
- SC_MARK_BACKGROUND is a marker that only changes the line's background colour.
- Enhanced Visual Basic lexer handles character date and octal literals, and bracketed keywords for VB.NET. There are two VB lexers, vb and vbscript with type indication characters like ! and $ allowed at the end of identifiers in vb but not vbscript. Lexer states now separate from those used for C++ and names start with SCE_B.
- Lexer added for Bullant language.
- The horizontal scroll position, xOffset, is now exposed through the API.
- The SCN_POSCHANGED notification is deprecated as it was causing confusion. Use SCN_UPDATEUI instead.
- Compilation problems fixed for some versions of gcc.
- Support for WM_GETTEXT restored on Windows.
- Double clicking on an autocompletion list entry works on GTK+.
- Bug fixed with case insensitive sorts for autocompletion lists.
- Bug fixed with tracking selection in secondary views when performing modifications.
- SciTE's abbreviation expansion feature will now indent expansions to the current indentation level if indent.automatic is on.
- SciTE allows setting up of parameters to commands from a dialog and can also show this dialog automatically to prompt for arguments when running a command.
- SciTE's Language menu (formerly Options | Use Lexer) is now defined by the menu.language property rather than being hardcoded.
- The user interface of SciTE can be localised to a particular language by editing a locale.properties file.
- On Windows, SciTE will try to move to the front when opening a new file from the shell and using check.if.already.open.
- SciTE can display the file name and directory in the title bar in the form "file @ directory" when title.full.path=2.
- The SciTE time.commands property reports the time taken by a command as well as its status when completed.
- The SciTE find.files property is now a list separated by '|' characters and this list is added into the Files pull down of the Find in Files dialog.

### Release 1.40

- Released on 23 September 2001.
- Removal of emulation of Win32 RichEdit control in core of Scintilla. This change may be incompatible with existing client code. Some emulation still done in Windows platform layer.
- SGML support in the HTML/XML lexer.
- SciTE's "Stop Executing" command will terminate GUI programs on Windows NT and Windows 2000.
- StyleContext class helps construct lexers that are simple and accurate. Used in the C++, Eiffel, and Python lexers.
- Clipboard operations in GTK+ version convert between platform '\n' line endings and currently chosen line endings.
- Any character in range 0..255 can be used as a marker. This can be used to support numbered bookmarks, for example.
- The default scripting language for ASP can be set.
- New lexer and other support for crontab files used with the nncron scheduler.
- Folding of Python improved.
- The ` character is treated as a Python operator.
- Line continuations ("\" at end of line) handled inside Python strings.
- More consistent handling of line continuation ('\' at end of line) in C++ lexer. This fixes macro definitions that span more than one line.
- C++ lexer can understand Doxygen keywords in doc comments.
- SciTE on Windows allows choosing to open the "open" dialog on the directory of the current file rather than in the default directory.
- SciTE on Windows handles command line arguments in "check.if.already.open" correctly when the current directory of the new instance is different to the already open instance of SciTE.
- "cwd" command (change working directory) defined for SciTE director interface.
- SciTE "Export As HTML" produces better, more compliant, and shorter files.
- SciTE on Windows allows several options for determining default file name for exported files.
- Automatic indentation of Python in SciTE fixed.
- Exported HTML can support folding.
- Bug fixed in SCI_GETTEXT macro command of director interface.
- Cursor leak fixed on GTK+.
- During SciTE shutdown, "identity" messages are no longer sent over the director interface.

### Release 1.39

- Released on 22 August 2001.
- Windows version requires msvcrt.dll to be available so will not work on original Windows 95 version 1. The msvcrt.dll file is installed by almost everything including Internet Explorer so should be available.
- Flattened tree control style folding margin. The SciTE fold.plus option is now fold.symbols and has more values for the new styles.
- Mouse dwell events are generated when the user holds the mouse steady over Scintilla.
- PositionFromPointClose is like PositionFromPoint but returns INVALID_POSITION when point outside window or after end of line.
- Input of Hungarian and Russian characters in GTK+ version works by truncating input to 8 bits if in the range of normal characters.
- Better choices for font descriptors on GTK+ for most character sets.
- GTK+ Scintilla is destroyed upon receiving destroy signal rather than destroy_event signal.
- Style setting that force upper or lower case text.
- Case-insensitive autocompletion lists work correctly.
- Keywords can be prefix based so ^GTK_ will treat all words that start with GTK_ as keywords.
- Horizontal scrolling can be jumpy rather than gradual.
- GetSelText places a '\0' in the buffer if the selection is empty..
- EnsureVisible split into two methods EnsureVisible which will not scroll to show the line and EnsureVisibleEnforcePolicy which may scroll.
- Python folder has options to fold multi-line comments and triple quoted strings.
- C++ lexer handles keywords before '.' like "this.x" in Java as keywords. Compact folding mode option chooses whether blank lines after a structure are folded with that structure. Second set of keywords with separate style supported.
- Ruby lexer handles multi-line comments.
- VB has folder.
- PHP lexer has an operator style, handles "<?" and "?>" inside strings and some comments.
- TCL lexer which is just an alias for the C++ lexer so does not really understand TCL syntax.
- Error lines lexer has styles for Lua error messages and .NET stack traces.
- Makefile lexer has a target style.
- Lua lexer handles some [[]] string literals.
- HTML and XML lexer have a SCE_H_SGML state for tags that start with "<!".
- Fixed Scintilla bugs with folding. When modifications were performed near folded regions sometimes no unfolding occurred when it should have. Deleting a fold causing character sometimes failed to update fold information correctly.
- Better support for Scintilla on GTK+ for Win32 including separate PLAT_GTK_WIN32 definition and correct handling of rectangular selection with clipboard operations.
- SciTE has a Tools | Switch Pane (Ctrl+F6) command to switch focus between edit and output panes.
- SciTE option output.scroll allows automatic scrolling of output pane to be turned off.
- Commands can be typed into the SciTE output pane similar to a shell window.
- SciTE properties magnification and output magnification set initial zoom levels.
- Option for SciTE comment block command to place comments at start of line.
- SciTE for Win32 has an option to minimize to the tray rather than the task bar.
- Close button on SciTE tool bar for Win32.
- SciTE compiles with GCC 3.0.
- SciTE's automatic indentation of C++ handles braces without preceding keyword correctly.
- Bug fixed with GetLine method writing past the end of where it should.
- Bug fixed with mouse drag automatic scrolling when some lines were folded.
- Bug fixed because caret XEven setting was inverted.
- Bug fixed where caret was initially visible even though window was not focussed.
- Bug fixed where some file names could end with "\\" which caused slow downs on Windows 9x.
- On Win32, SciTE Replace dialog starts with focus on replacement text.
- SciTE Go to dialog displays correct current line.
- Fixed bug with SciTE opening multiple files at once.
- Fixed bug with Unicode key values reported to container truncated.
- Fixed bug with unnecessary save point notifications.
- Fixed bugs with indenting and unindenting at start of line.
- Monospace Font setting behaves more consistently.

### Release 1.38

- Released on 23 May 2001.
- Loadable lexer plugins on Windows.
- Ruby lexer and support.
- Lisp lexer and support.
- Eiffel lexer and support.
- Modes for better handling of Tab and BackSpace keys within indentation. Mode to avoid autocompletion list cancelling when there are no viable matches.
- ReplaceTarget replaced with two calls ReplaceTarget (which is incompatible with previous ReplaceTarget) and ReplaceTargetRE. Both of these calls have a count first parameter which allows using strings containing nulls. SearchInTarget and SetSearchFlags functions allow specifying a search in several simple steps which helps some clients which can not create structs or pointers easily.
- Asian language input through an Input Method Editor works on Windows 2000.
- On Windows, control characters can be entered through use of the numeric keypad in conjunction with the Alt key.
- Document memory allocation changed to grow exponentially which reduced time to load a 30 Megabyte file from 1000 seconds to 25. Change means more memory may be used.
- Word part movement keys now handled in Scintilla rather than SciTE.
- Regular expression '^' and '$' work more often allowing insertion of text at start or end of line with a replace command. Backslash quoted control characters \a, \b, \f, \t, and \v recognised within sets.
- Session files for SciTE.
- Export as PDF command hidden in SciTE as it often failed. Code still present so can be turned on by those willing to cope.
- Bug fixed in HTML lexer handling % before > as end ASP even when no start ASP encountered. Bug fixed when scripts ended with a quoted string and end tag was not seen.
- Bug fixed on Windows where context menu key caused menu to appear in corner of screen rather than within window.
- Bug fixed in SciTE's Replace All command not processing whole file when replace string longer than search string.
- Bug fixed in SciTE's MRU list repeating entries if Ctrl+Tab used when all entries filled.
- ConvertEOLs call documentation fixed.

### Release 1.37

- Released on 17 April 2001.
- Bug fixed with scroll bars being invisible on GTK+ 1.2.9.
- Scintilla and SciTE support find and replace using simple regular expressions with tagged expressions. SciTE supports C '\' escapes in the Find and Replace dialogs. Replace in Selection available in SciTE.
- Scintilla has a 'target' feature for replacing code rapidly without causing display updates.
- Scintilla and SciTE on GTK+ support file dropping from file managers such as Nautilus and gmc. Files or other URIs dropped on Scintilla result in a URIDropped notification.
- Lexers may have separate Lex and Fold functions.
- Lexer infrastructure improved to allow for plug in lexers and for referring to lexers by name rather than by ID.
- Ada lexer and support added.
- Option in both Scintilla and SciTE to treat both left and right margin as equally important when repositioning visible area in response to caret movement. Default is to prefer visible area positioning which minimises the horizontal scroll position thus favouring the left margin.
- Caret line highlighting.
- Commands to delete from the caret to the end of line and from the caret to the beginning of line.
- SciTE has commands for inserting and removing block comments and for inserting stream comments.
- SciTE Director interface uses C++ '\' escapes to send control characters.
- SciTE Director interface adds more commands including support for macros.
- SciTE has menu options for recording and playing macros which are visible when used with a companion program that supports these features.
- SciTE has an Expand Abbreviation command. Abbreviations are stored in a global abbrev.properties file.
- SciTE has a Full Screen command to switch between a normal window size and using the full screen. On Windows, the menu bar can be turned off when in full screen mode.
- SciTE has a Use monospaced font command to switch between the normal set of fonts and one size of a particular fixed width font.
- SciTE's use of tabs can be controlled for particular file names as well as globally.
- The contents of SciTE's status bar can be defined by a property and include variables. On Windows, several status bar definitions can be active with a click on the status bar cycling through them.
- Copy as RTF command in SciTE on Windows to allow pasting styled text into word processors.
- SciTE can allow the use of non-alphabetic characters in Complete Symbol lists and can automatically display this autocompletion list when a trigger character such as '.' is typed. Complete word can be set to pop up when the user is typing a word and there is only one matching word in the document.
- SciTE lists the imported properties files on a menu to allow rapid access to them.
- SciTE on GTK+ improvements to handling accelerator keys and focus in dialogs. Message boxes respond to key presses without the Alt key as they have no text entries to accept normal keystrokes.
- SciTE on GTK+ sets the application icon.
- SciTE allows setting the colours used to indicate the current error line.
- Variables within PHP strings have own style. Keyword list updated.
- Keyword list for Lua updated for Lua 4.0.
- Bug fixed in rectangular selection where rectangle still appeared selected after using cursor keys to move caret.
- Bug fixed in C++ lexer when deleting a '{' controlling a folded range led to that range becoming permanently invisible.
- Bug fixed in Batch lexer where comments were not recognised.
- Bug fixed with undo actions coalescing into steps incorrectly.
- Bug fixed with Scintilla on GTK+ positioning scroll bars 1 pixel over the Scintilla window leading to their sides being chopped off.
- Bugs fixed in SciTE when doing some actions led to the start or end of the file being displayed rather than the current location.
- Appearance of calltips fixed to look like document text including any zoom factor. Positioned to be outside current line even when multiple fonts and sizes used.
- Bug fixed in Scintilla macro support where typing Enter caused both a newline command and newline character insertion to be recorded.
- Bug fixed in SciTE on GTK+ where focus was moving between widgets incorrectly.
- Bug fixed with fold symbols sometimes not updating when the text changed.
- Bugs fixed in SciTE's handling of folding commands.
- Deprecated undo collection enumeration removed from API.

### Release 1.36

- Released on 1 March 2001.
- Scintilla supports GTK+ on Win32.
- Some untested work on making Scintilla and SciTE 64 bit compatible. For users on GTK+ this requires including Scintilla.h before ScintillaWidget.h.
- HTML lexer allows folding HTML.
- New lexer for Avenue files which are used in the ESRI ArcView GIS.
- DOS Batch file lexer has states for '@', external commands, variables and operators.
- C++ lexer can fold comments of /* .. */ form.
- Better disabling of pop up menu items in Scintilla when in read-only mode.
- Starting to move to Doxygen compatible commenting.
- Director interface on Windows enables another application to control SciTE.
- Opening SciTE on Windows 9x sped up greatly for some cases.
- The command.build.directory property allows SciTE to run the build command in a different directory to the source files.
- SciTE on Windows allows setting foreground and background colours for printed headers and footers.
- Bug fixed in finding calltips in SciTE which led to no calltips for some identifiers.
- Documentation added for lexers and for the extension and director interfaces.
- SciTE menus rearranged with new View menu taking over some of the items that were under the Options menu. Clear All Bookmarks command added.
- Clear Output command in SciTE.
- SciTE on Windows gains an Always On Top command.
- Bug fixed in SciTE with attempts to define properties recursively.
- Bug fixed in SciTE properties where only one level of substitution was done.
- Bug fixed in SciTE properties where extensions were not being matched in a case insensitive manner.
- Bug fixed in SciTE on Windows where the Go to dialog displays the correct line number.
- In SciTE, if fold.on.open set then switching buffers also performs fold.
- Bug fixed in Scintilla where ensuring a line was visible in the presence of folding operated on the document line instead of the visible line.
- SciTE command line processing modified to operate on arguments in order and in two phases. First any arguments before the first file name are processed, then the UI is opened, then the remaining arguments are processed. Actions defined for the Director interface (currently only "open") may also be used on the command line. For example, "SciTE -open:x.txt" will start SciTE and open x.txt.
- Numbered menu items SciTE's Buffers menu and the Most Recently Used portion of the File menu go from 1..0 rather than 0..9.
- The tab bar in SciTE for Windows has numbers. The tab.hide.one option hides the tab bar until there is more than one buffer open.

### Release 1.35

- Released on 29 January 2001.
- Rewritten and simplified widget code for the GTK+ version to enhance solidity and make more fully compliant with platform norms. This includes more normal handling of keystrokes so they are forwarded to containers correctly.
- User defined lists can be shown.
- Many fixes to the Perl lexer.
- Pascal lexer handles comments more correctly.
- C/C++/Java/JavaScipt lexer has a state for line doc comments.
- Error output lexer understands Sun CC messages.
- Make file lexer has variable, preprocessor, and operator states.
- Wider area given to an italics character that is at the end of a line to prevent it being cut off.
- Call to move the caret inside the currently visible area.
- Paste Rectangular will space fill on the left hand side of the pasted text as needed to ensure it is kept rectangular.
- Cut and Paste Rectangular does nothing in read-only mode.
- Undo batching changed so that a paste followed by typing creates two undo actions..
- A "visibility policy" setting for Scintilla determines which range of lines are displayed when a particular line is moved to. Also exposed as a property in SciTE.
- SciTE command line allows property settings.
- SciTE has a View Output command to hide or show the output pane.
- SciTE's Edit menu has been split in two with searching commands moved to a new Search menu. Find Previous and Previous Bookmark are in the Search menu.
- SciTE on Windows has options for setting print margins, headers and footers.
- SciTE on Windows has tooltips for toolbar.
- SciTE on GTK+ has properties for setting size of file selector.
- Visual and audio cues in SciTE on Windows enhanced.
- Fixed performance problem in SciTE for GTK+ by dropping the extra 3D effect on the content windows.
- Fixed problem in SciTE where choosing a specific lexer then meant that no lexer was chosen when files opened.
- Default selection colour changed to be visible on low colour displays.
- Fixed problems with automatically reloading changed documents in SciTE on Windows.
- Fixed problem with uppercase file extensions in SciTE.
- Fixed some problems when using characters >= 128, some of which were being incorrectly treated as spaces.
- Fixed handling multiple line tags, non-inline scripts, and XML end tags /> in HTML/XML lexer.
- Bookmarks in SciTE no longer disappear when switching between buffers.

### Release 1.34

- Released on 28 November 2000.
- Pascal lexer.
- Export as PDF in SciTE.
- Support for the OpenVMS operating system in SciTE.
- SciTE for GTK+ can check for another instance of SciTE editing a file and switch to it rather than open a second instance on one file.
- Fixes to quoting and here documents in the Perl lexer.
- SciTE on Windows can give extra visual and audio cues when a warning is shown or find restarts from beginning of file.
- Open Selected Filename command in SciTE. Also understands some warning message formats.
- Wider area for line numbers when printing.
- Better scrolling performance on GTK+.
- Fixed problem where rectangles with negative coordinates were invalidated leading to trouble with platforms that use unsigned coordinates.
- GTK+ Scintilla uses more compliant signalling code so that keyboard events should propagate to containers.
- Bug fixed with opening full or partial paths.
- Improved handling of paths in error messages in SciTE.
- Better handling of F6 in SciTE.

### Release 1.33

- Released on 6 November 2000.
- XIM support for the GTK+ version of Scintilla ensures that more non-English characters can be typed.
- Caret may be 1, 2, or 3 pixels wide.
- Cursor may be switched to wait image during lengthy processing.
- Scintilla's internal focus flag is exposed for clients where focus is handled in complex ways.
- Error status defined for Scintilla to hold indication that an operation failed and the reason for that failure. No detection yet implemented but clients may start using the interface so as to be ready for when it does.
- Context sensitive help in SciTE.
- CurrentWord property available in SciTE holding the value of the word the caret is within or near.
- Apache CONF file lexer.
- Changes to Python lexer to allow 'as' as a context sensitive keyword and the string forms starting with u, r, and ur to be recognised.
- SCN_POSCHANGED notification now working and SCN_PAINTED notification added.
- Word part movement commands for cursoring between the parts of reallyLongCamelIdentifiers and other_ways_of_making_words.
- When text on only one line is selected, Shift+Tab moves to the previous tab stop.
- Tab control available for Windows version of SciTE listing all the buffers and making it easy to switch between them.
- SciTE can be set to automatically determine the line ending type from the contents of a file when it is opened.
- Dialogs in GTK+ version of SciTE made more modal and have accelerator keys.
- Find in Files command in GTK+ version of SciTE allows choice of directory.
- On Windows, multiple files can be opened at once.
- SciTE source broken up into more files.
- Scintilla headers made safe for C language, not just C++.
- New printing modes - force background to white and force default background to white.
- Automatic unfolding not occurring when Enter pressed at end of line bug fixed.
- Bugs fixed in line selection.
- Bug fixed with escapes in PHP strings in the HTML lexer.
- Bug fixed in SciTE for GTK+ opening files when given full paths.
- Bug fixed in autocompletion where user backspaces into existing text.
- Bugs fixed in opening files and ensuring they are saved before running. A case bug also fixed here.

### Release 1.32

- Released on 8 September 2000.
- Fixes bugs in complete word and related code. Protection against a bug when receiving a bad argument.

### Release 1.31

- Released on 6 September 2000.
- Scintilla is available as a COM control from the scintillactrl module in CVS.
- Style setting to underline text. Exposed in SciTE as "underlined".
- Style setting to make text invisible.
- SciTE has an extensibility interface that can be used to implement features such as a scripting language or remote control. An example use of this is the extlua module available from CVS which allows SciTE to be scripted in Lua.
- Many minor fixes to all of the lexers.
- New lexer for diff and patch files.
- Error message lexer understands Perl error messages.
- C/C++/Java lexer now supports C#, specifically verbatim strings and @ quoting of identifiers that are the same as keywords. SciTE has a set of keywords for C# and a build command set up for C#.
- Scintilla property to see whether in overtype or insert state.
- PosChanged notification fired when caret moved.
- Comboboxes in dialogs in SciTE on Windows can be horizontally scrolled.
- Autocompletion and calltips can treat the document as case sensitive or case insensitive.
- Autocompletion can be set to automatically choose the only element in a single element list.
- Set of characters that automatically complete an autocompletion list can be set.
- SciTE command to display calltip - useful when dropped because of editing.
- SciTE has a Revert command to go back to the last saved version.
- SciTE has an Export as RTF command. Save as HTML is renamed to Export as HTML and is located on the Export sub menu.
- SciTE command "Complete Word" searches document for any words starting with characters before caret.
- SciTE options for changing aspects of the formatting of files exported as HTML or RTF.
- SciTE "character.set" option for choosing the character set for all fonts.
- SciTE has a "Toggle all folds" command.
- The makefiles have changed. The makefile_vc and makefile_bor files in scintilla/win32 and scite/win32 have been merged into scintilla/win32/scintilla.mak and scite/win32/scite.mak. DEBUG may be defined for all make files and this will turn on assertions and for some make files will choose other debugging options.
- To make debugging easier and allow good use of BoundsChecker there is a Visual C++ project file in scite/boundscheck that builds all of Scintilla and SciTE into one executable.
- The size of the SciTE output window can be set with the output.horizontal.size and output.vertical.size settings.
- SciTE status bar indicator for insert or overwrite mode.
- Performance improvements to autocompletion and calltips.
- A caret redraw problem when undoing is fixed.
- Crash with long lines fixed.
- Bug fixed with merging markers when lines merged.

### Release 1.30

- Released on 26 July 2000.
- Much better support for PHP which is now an integral part of the HTML support.
- Start replacement of Windows-specific APIs with cross platform APIs. In 1.30, the new APIs are introduced but the old APIs are still available. For the GTK+ version, may have to include "WinDefs.h" explicitly to use the old APIs.
- "if" and "import" statements in SciTE properties files allows modularisation into language-specific properties files and choices based upon platform. This means that SciTE is delivered with 9 language-specific properties files as well as the standard SciTEGlobal.properties file.
- Much lower resource usage on Windows 9x.
- "/p" option in SciTE on Windows for printing a file and then exiting.
- Options for printing with inverted brightness (when the screen is set to use a dark background) and to force black on white printing.
- Option for printing magnified or miniaturised from screen settings.
- In SciTE, Ctrl+F3 and Ctrl+Shift+F3 find the selection in the forwards and backwards directions respectively.
- Auto-completion lists may be set to cancel when the cursor goes before its start position or before the start of string being completed.
- Auto-completion lists automatically size more sensibly.
- SCI_CLEARDOCUMENTSTYLE zeroes all style bytes, ensures all lines are shown and deletes all folding information.
- On Windows, auto-completion lists are visually outdented rather than indented.
- Close all command in SciTE.
- On Windows multiple files can be dragged into SciTE.
- When saving a file, the SciTE option save.deletes.first deletes it before doing the save. This allows saving with a different capitalisation on Windows.
- When use tabs option is off pressing the tab key inserts spaces.
- Bug in indicators leading to extra line drawn fixed.

### Release 1.28

- Released on 27 June 2000.
- Fixes crash in indentation guides when indent size set to 0.
- Fixes to installation on GTK+/Linux. User properties file on GTK+ has a dot at front of name: .SciTEUser.properties. Global properties file location configurable at compile time defaulting to $prefix/share/scite. $prefix determined from Gnome if present else its /usr/local and can be overridden by installer. Gnome menu integration performed in make install if Gnome present.

### Release 1.27

- Released on 23 June 2000.
- Indentation guides. View whitespace mode may be set to not display whitespace in indentation.
- Set methods have corresponding gets for UndoCollection, BufferedDraw, CodePage, UsePalette, ReadOnly, CaretFore, and ModEventMask.
- Caret is continuously on rather than blinking while typing or holding down delete or backspace. And is now always shown if non blinking when focused on GTK+.
- Bug fixed in SciTE with file extension comparison now done in case insensitive way.
- Bugs fixed in SciTE's file path handling on Windows.
- Bug fixed with preprocessor '#' last visible character causing hang.

### Release 1.26

- Released on 13 June 2000.
- Support for the Lua language in both Scintilla and SciTE.
- Multiple buffers may be open in SciTE.
- Each style may have a character set configured. This may determine the characters that are displayed by the style.
- In the C++ lexer, lexing of preprocessor source may either treat it all as being in the preprocessor class or only the initial # and preprocessor command word as being in the preprocessor class.
- Scintilla provides SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, and SCI_RELEASEDOCUMENT to make it easier for a container to deal with multiple documents.
- GTK+ specific definitions in Scintilla.h were removed to ScintillaWidget.h. All GTK+ clients will need to #include "ScintillaWidget.h".
- For GTK+, tools can be executed in the background by setting subsystem to 2.
- Keys in the properties files are now case sensitive. This leads to a performance increase.
- Menu to choose which lexer to use on a file.
- Tab size dialog on Windows.
- File dialogs enlarged on GTK+.
- Match Brace command bound to Ctrl+E on both platforms with Ctrl+] a synonym on Windows. Ctrl+Shift+E is select to matching brace. Brace matching tries to match to either the inside or the outside, depending on whether the cursor is inside or outside the braces initially. View End of Line bound to Ctrl+Shift+O.
- The Home key may be bound to move the caret to either the start of the line or the start of the text on the line.
- Visual C++ project file for SciTE.
- Bug fixed with current x location after Tab key.
- Bug fixed with hiding fold margin by setting fold.margin.width to 0.
- Bugs fixed with file name confusion on Windows when long and short names used, or different capitalisations, or relative paths.

### Release 1.25

- Released on 9 May 2000.
- Some Unicode support on Windows. Treats buffer and API as UTF-8 and displays through UCS-2 of Windows.
- Automatic indentation. Indentation size can be different to tab size.
- Tool bar.
- Status bar now on Windows as well as GTK+.
- Input fields in Find and Replace dialogs now have history on both Windows and GTK+.
- Auto completion list items may be separated by a chosen character to allow spaces in items. The selected item may be changed through the API.
- Horizontal scrollbar can be turned off.
- Property to remove trailing spaces when saving file.
- On Windows, changed font size calculation to be more compatible with other applications.
- On GTK+, SciTE's global properties files are looked for in the directory specified in the SCITE_HOME environment variable if it is set. This allows hiding in a dot directory.
- Keyword lists in SciTE updated for JavaScript to include those destined to be used in the future. IDL includes XPIDL keywords as well as MSIDL keywords.
- Zoom level can be set and queried through API.
- New notification sent before insertions and deletions.
- LaTeX lexer.
- Fixes to folding including when deletions and additions are performed.
- Fix for crash with very long lines.
- Fix to affect all of rectangular selections with deletion and case changing.
- Removed non-working messages that had been included only for Richedit compatibility.

### Release 1.24

- Released on 29 March 2000.
- Added lexing of IDL based on C++ lexer with extra UUID lexical class.
- Functions and associated keys for Line Delete, Line Cut, Line Transpose, Selection Lower Case and Selection Upper Case.
- Property setting for SciTE, eol.mode, chooses initial state of line end characters.
- Fixed bugs in undo history with small almost-contiguous changes being incorrectly coalesced.
- Fixed bugs with incorrect expansion of ContractionState data structures causing crash.
- Fixed bugs relating to null fonts.
- Fixed bugs where recolourisation was not done sometimes when required.
- Fixed compilation problems with SVector.h.
- Fixed bad setting of fold points in Python.

### Release 1.23

- Released on 21 March 2000.
- Directory structure to separate on basis of product (Scintilla, SciTE, DMApp) and environment (Cross-platform, Win32, GTK+).
- Download packaging to allow download of the source or platform dependent executables.
- Source code now available from CVS at SourceForge.
- Very simple Windows-only demonstration application DMApp is available from cvs as dmapp.
- Lexing functionality may optionally be included in Scintilla rather than be provided by the container.
- Set of lexers included is determined at link time by defining which of the Lex* object files are linked in.
- On Windows, the SciLexer.DLL extends Scintilla.DLL with the standard lexers.
- Enhanced HTML lexer styles embedded VBScript and Python. ASP segments are styled and ASP scripts in JavaScript, VBScript and Python are styled.
- PLSQL and PHP supported.
- Maximum number of lexical states extended to 128.
- Lexers may store per line parse state for multiple line features such as ASP script language choice.
- Lexing API simplified.
- Project file for Visual C++.
- Can now cycle through all recent files with Ctrl+Tab in SciTE.
- Bookmarks in SciTE.
- Drag and drop copy works when dragging to the edge of the selection.
- Fixed bug with value sizes in properties file.
- Fixed bug with last line in properties file not being used.
- Bug with multiple views of one document fixed.
- Keypad now works on GTK+.

### Release 1.22

- Released on 27 February 2000.
- wxWindows platform defined. Implementation for wxWindows will be available separately from main Scintilla distribution.
- Line folding in Scintilla.
- SciTE performs syntax directed folding for C/C++/Java/JavaScript and for Python.
- Optional macro recording support.
- User properties file (SciTEUser.properties) allows for customisation by the user that is not overwritten with each installation of SciTE.
- Python lexer detects and highlights inconsistent indentation.
- Margin API made more orthogonal. SCI_SETMARGINWIDTH and SCI_SETLINENUMBERWIDTH are deprecated in favour of this new API.
- Margins may be made sensitive to forward mouse click events to container.
- SQL lexer and styles included.
- Perl lexer handles regular expressions better.
- Caret policy determines how closely caret is tracked by visible area.
- New marker shapes: arrow pointing down, plus and minus.
- Optionally display full path in title rather than just file name.
- Container is notified when Scintilla gains or loses focus.
- SciTE handles focus in a more standard way and applies the main edit commands to the focused pane.
- Container is notified when Scintilla determines that a line needs to be made visible.
- Document watchers receive notification when document about to be deleted.
- Document interface allows access to list of watchers.
- Line end determined correctly for lines ending with only a '\n'.
- Search variant that searches form current selection and sets selection.
- SciTE understands format of diagnostic messages from WScript.
- SciTE remembers top line of window for each file in MRU list so switching to a recent file is more likely to show the same text as when the file was previously visible.
- Document reference count now initialised correctly.
- Setting a null document pointer creates an empty document.
- WM_GETTEXT can no longer overrun buffer.
- Polygon drawing bug fixed on GTK+.
- Java and JavaScript lexers merged into C++ lexer.
- C++ lexer indicates unterminated strings by colouring the end of the line rather than changing the rest of the file to string style. This is less obtrusive and helps the folding.

### Release 1.21

- Released on 2 February 2000.
- Blank margins on left and right side of text.
- SCN_CHECKBRACE renamed SCN_UPDATEUI and made more efficient.
- SciTE source code refactored into platform independent and platform specific classes.
- XML and Perl subset lexers in SciTE.
- Large improvement to lexing speed.
- A new subsystem, 2, allows use of ShellExec on Windows.
- Borland compatible makefile.
- Status bar showing caret position in GTK+ version of SciTE.
- Bug fixes to selection drawing when part of selection outside window, mouse release over scroll bars, and scroll positioning after deletion.

### Release 1.2

- Released on 21 January 2000.
- Multiple views of one document.
- Rectangular selection, cut, copy, paste, drag and drop.
- Long line indication.
- Reverse searching
- Line end conversion.
- Generic autocompletion and calltips in SciTE.
- Call tip background colour can be set.
- SCI_MARKERPREV for moving to a previous marker.
- Caret kept more within window where possible.

### Release 1.15

- Released on 15 December 1999.
- Brace highlighting and badlighting (for mismatched braces).
- Visible line ends.
- Multiple line call tips.
- Printing now works from SciTE on Windows.
- SciTE has a global "*" lexer style that is used as the basis for all the lexers' styles.
- Fixes some warnings on GTK+ 1.2.6.
- Better handling of modal dialogs on GTK+.
- Resize handle drawn on pane splitter in SciTE on GTK+ so it looks more like a regular GTK+ *paned widget.
- SciTE does not place window origin offscreen if no properties file found on GTK+.
- File open filter remembered in SciTE on Windows.
- New mechanism using style numbers 32 to 36 standardises the setting of styles for brace highlighting, brace badlighting, line numbers, control characters and the default style.
- Old messages SCI_SETFORE .. SCI_SETFONT have been replaced by the default style 32. The old messages are deprecated and will disappear in a future version.

### Release 1.14

- Released on 20 November 1999.
- Fixes a scrolling bug reported on GTK+.

### Release 1.13

- Released on 18 November 1999.
- Fixes compilation problems with the mingw32 GCC 2.95.2 on Windows.
- Control characters are now visible.
- Performance has improved, particularly for scrolling.
- Windows RichEdit emulation is more accurate. This may break client code that uses these messages: EM_GETLINE, EM_GETLINECOUNT, EM_EXGETSEL, EM_EXSETSEL, EM_EXLINEFROMCHAR, EM_LINELENGTH, EM_LINEINDEX, EM_CHARFROMPOS, EM_POSFROMCHAR, and EM_GETTEXTRANGE.
- Menus rearranged and accelerator keys set for all static items.
- Placement of space indicators in view whitespace mode is more accurate with some fonts.

### Release 1.12

- Released on 9 November 1999.
- Packaging error in 1.11 meant that the compilation error was not fixed in that release. Linux/GTK+ should compile with GCC 2.95 this time.

### Release 1.11

- Released on 7 November 1999.
- Fixed a compilation bug in ScintillaGTK.cxx.
- Added a README file to explain how to build.
- GTK+/Linux downloads now include documentation.
- Binary only Sc1.EXE one file download for Windows.

### Release 1.1

- Released on 6 November 1999.
- Major restructuring for better modularity and platform independence.
- Inter-application drag and drop.
- Printing support in Scintilla on Windows.
- Styles can select colouring to end of line. This can be used when a file contains more than one language to differentiate between the areas in each language. An example is the HTML + JavaScript styling in SciTE.
- Actions can be grouped in the undo stack, so they will be undone together. This grouping is hierarchical so higher level actions such as replace all can be undone in one go. Call to discover whether there are any actions to redo.
- The set of characters that define words can be changed.
- Markers now have identifiers and can be found and deleted by their identifier. The empty marker type can be used to make a marker that is invisible and which is only used to trace where a particular line moves to.
- Double click notification.
- HTML styling in SciTE also styles embedded JavaScript.
- Additional tool commands can be added to SciTE.
- SciTE option to allow reloading if changed upon application activation and saving on application deactivation. Not yet working on GTK+ version.
- Entry fields in search dialogs remember last 10 user entries. Not working in all cases in Windows version.
- SciTE can save a styled copy of the current file in HTML format. As SciTE does not yet support printing, this can be used to print a file by then using a browser to print the HTML file.

### Release 1.02

- Released on 1 October 1999.
- GTK+ version compiles with GCC 2.95.
- Properly deleting objects when window destroyed under GTK+.
- If the selection is not empty backspace deletes the selection.
- Some X style middle mouse button handling for copying the primary selection to and from Scintilla. Does not work in all cases.
- HTML styling in SciTE.
- Stopped dirty flag being set in SciTE when results pane modified.

### Release 1.01

- Released on 28 September 1999.
- Better DBCS support on Windows including IME.
- Wheel mouse support for scrolling and zooming on Windows. Zooming with Ctrl+KeypadPlus and Ctrl+KeypadMinus.
- Performance improvements especially on GTK+.
- Caret blinking and settable colour on both GTK+ and Windows.
- Drag and drop within a Scintilla window. On Windows, files can be dragged into SciTE.

### Release 1.0

- Released on 17 May 1999.
- Changed name of "Tide" to "SciTE" to avoid clash with a TCL based IDE. "SciTE" is a SCIntilla based Text Editor and is Latin meaning something like "understanding in a neat way" and is also an Old English version of the word "shit".
- There is a SCI_AUTOCSTOPS message for defining a string of characters that will stop autocompletion mode. Autocompletion mode is cancelled when any cursor movement occurs apart from backspace.
- GTK+ version now splits horizontally as well as vertically and all dialogs cancel when the escape key is pressed.

### Beta release 0.93

- Released on 12 May 1999.
- A bit more robust than 0.92 and supports SCI_MARKERNEXT message.

### Beta release 0.92

- Released on 11 May 1999.
- GTK+ version now contains all features of Windows version with some very small differences. Executing programs works much better now.
- New palette code to allow more colours to be displayed in 256 colour screen modes. A line number column can be displayed to the left of the selection margin.
- The code that maps from line numbers to text positions and back has been completely rewritten to be faster, and to allow markers to move with the text.

### Beta release 0.91

- Released on 30 April 1999, containing fixes to text measuring to make Scintilla work better with bitmap fonts. Also some small fixes to make compiling work with Visual C++.

### Beta release 0.90

- Released on 29 April 1999, containing working GTK+/Linux version.
- The Java, C++ and Python lexers recognise operators as distinct from default allowing them to be highlighted.

### Beta release 0.82

- Released on 1 April 1999, to fix a problem with handling the Enter key in PythonWin. Also fixes some problems with cmd key mapping.

### Beta release 0.81

- Released on 30th March 1999, containing bug fixes and a few more features.
- Static linking supported and Tidy.EXE, a statically linked version of Tide.EXE. Changes to compiler flags in the makefiles to optimise for size.
- Scintilla supports a 'savepoint' in the undo stack which can be set by the container when the document is saved. Notifications are sent to the container when the savepoint is entered or left, allowing the container to to display a dirty indicator and change its menus.
- When Scintilla is set to read-only mode, a notification is sent to the container should the user try to edit the document. This can be used to check the document out of a version control system.
- There is an API for setting the appearance of indicators.
- The keyboard mapping can be redefined or removed so it can be implemented completely by the container. All of the keyboard commands are now commands which can be sent by the container.
- A home command like Visual C++ with one hit going to the start of the text on the line and the next going to the left margin is available. I do not personally like this but my fingers have become trained to it by much repetition.
- SCI_MARKERDELETEALL has an argument in wParam which is the number of the type marker to delete with -1 performing the old action of removing all marker types.
- Tide now understands both the file name and line numbers in error messages in most cases.
- Tide remembers the current lines of files in the recently used list.
- Tide has a Find in Files command.

### Beta release 0.80

- This was the first public release on 14th March 1999, containing a mostly working Win32 Scintilla DLL and Tide EXE.

### Beta releases of SciTE were called Tide