### Change log:

2.0.0.0

- support N++ 8.3 with scintilla 4.4.6
- Notepad++ 8.3 builds change Sci_position leading to crash #218
- editor.getTextRange crash notepad++ #224
- findText do not find text #223
- Support for SendKeys module #183
- used plain python 2.7.18, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.5.4.0

- Fix issue docs intro.rst: invalid FILESAVING notification vs valid FILEBEFORESAVE #148
- fix for getLanguageDesc bug #146
- update to python 2.7.18 #149
- used plain python 2.7.18, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.5.3.0

- change number() to int() in scintilla.rst code example
- add new, npp 7.8 related, test #134
- change number() to int() in scintilla.rst code example #142
- used plain python 2.7.17, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.5.2.0

- fixed SCINTILLANOTIFICATION.CHARADDED: arg key ch is always 0 #127
- extension Consider using hwndFrom within scintilla notification #121
- corrected docu files
- corrected wrong path to local help files
- fixed mem leak
- used plain python 2.7.16, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.5.1.0

- adapt zip structure to the changed plugin dir since N++ 7.6, but N++ 7.8 is needed to be able to load the python2.7 dll from plugin dir #131
- adapt msi + try to fix #118
- used plain python 2.7.16, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.5.0.0

- Npp 7.8 interface #129
- added sample GotoLineCol.py #125
- used plain python 2.7.16, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.4.0.0

- documentation problem #110
- docs/source/pythonprimer.rst links to python 3 tutorial, PythonScript uses python 2.7 #115
- added sqlite3.dll #123
- used plain python 2.7.16, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.3.0.0

- Context-Help does not include LANGTYPE enum #107
- "See Scintilla documentation for ..." broken in the documentation #96
- Default "print" to output to console #78
- notepad.getFiles() should only return REAL tab file data #98
- Buttons with relative paths #15
- [Enhancement] Add "Input History" navigation buttons to Console #69
- several documentation updates #94
- Coloring in console output window does not work reliably #95
- Update MENUCOMMAND list #91
- Set console layout to LTR even if NPP layout is RTL #58
- >>> in Console changes to - - - #88
- store/read user scripts relative to plugins config directory #99
- used plain python 2.7.15, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.2.0.0

- make menu command Show Console toggling #66
- tcl\tk from python 2.7.15 #73
- [Enhancement] "Run Previous Script" menu item -> hold Ctrl to EDIT script source file #77
- [Question] Is "To Input" command useful? #80
- Adding scripts/Samples/CTags Based Autocompletion.py #82 (thanks @Lucas-C)
- [Suggestion] Display Console on Error #76
- notepad.prompt() input control won't accept input #81
- [Enhancement] Separate outputs with an empty line #68
- Extend help with editor.flash #83
- used plain python 2.7.15, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.1.0.0

- further adaptations for x64 build
- add editor.flash() #52
- console GIL fixes #51
- Npp754 #50
- unicode script filenames, see #20 #60
- provides feature request 56 functionality #62
- provides feature request 57 functionality #65
- Documentation: replace "Notepad" and "Editor" with "notepad" and "editor" #59
- used plain python 2.7.15, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.0.9.0

- Beta
- Adaptations for x64 build
- Sync with N++ interface files 7.5.4
- Updated scintilla interface to the one used for 7.5.4 which is version 3.5.6 + small fixes + wrapper generation corrections, updates
- reduced compiler warnings
- used plain python 2.7.14, without the modifications from fork https://github.com/bruderstein/python, reintroducing dependency to MSVCR90.dll

1.0.8.0

- Fix for odd deadlock issues. GIL is now always given up when calling Notepad++ or Scintilla functions
- Performance optimisation for notifications where there are no callbacks registered

1.0.7.0

- Fix for replacing with extended Unicode characters with editor.rereplace() (thanks to David Instone-Brewer for reporting)
- Several freeze issues corrected (thanks to skrell and Juergen Busch for reporting)

1.0.6.0

- Arguments for various events fixed (thanks to everyone that reported the various missing arguments)
- editor.deleteLine() works as expected on first and last lines
- Various small documentation fixes

1.0.5.0

- Fixed crash bug with notepad.prompt(). Thanks to Dieter Koessl for reporting

1.0.4.0

- Fixed issue in Python with complex numbers (abs, hypot would never return). Thanks to Ron Jenson for reporting
- Note this release contains an updated python27.dll, and updated modules. Python reports version "2.7.6-notepad++ r2", and sys.version_info reports a serial version 2, instead of 0 as the previous version. If the official python ever releases a minor fix of 2.7.6 (unlikely now), please note this python27.dll is actually a modified 2.7.6.0, and does not contain fixes in any future releases of Python 2.7.6.
  If you're updating manually (without the MSI or Plugin Manager), then it is strongly advised to update the libs, so all .pyd files

1.0.3.0 (never released)

- Fixed crash bug with Notepad.runPluginCommand(). Thanks to Kyrus86 and Ron Jenson for reporting

1.0.2.0

- Fixed bug with Editor.rereplace that stopped conditional replacements working (thanks to Cyrillev for reporting)

1.0.1.0

- Editor.pyreplace and similar methods (Editor.pysearch, Editor.pymlreplace) have been rewritten from the ground up. Editor.replace(), Editor.rereplace(), Editor.search() and the unfortunately named Editor.research() (R(egular)E(xpression)Search) methods replace the old functions completely. You can now use a function for the replace argument for editor.replace() and editor.rereplace(). The new functions are much faster than the old versions, and work reliably.
- The new replace functionality now supports Unicode, and converts appropriately for the active document - you can now pass a unicode string as your search or replace argument, and it will be converted depending on the current document's encoding
- Callbacks for both editor and notepad have had a massive rework, to fix various reliability issues. If you had issues before, try them now.
- You can now add a synchronous callback for Editor - see editor.callbackSync()
- GIL (Global Interpreter Lock) management for Python has been significantly improved, and various edge cases that used to crash now work painlessly.
- Encoding on the Console is now UTF-8, and printing unicode text to the console works
- notepad.setLangType(LANGTYPE) now works
- help for editor & notepad methods has been improved to include the parameter names
- notepad.runMenuCommand fixed to not ignore the menu name (if you have a user defined language called "Open", the File->Open would previously always be called as it was found first)
- Scintilla bindings updated to 3.39
- sys.path now has the Notepad++ PythonScript Lib paths prepended, instead of appended. This fixes various cases of things not working when Python is separately installed. An option has been added to the configuration dialog to put back the old behaviour
- MODIFICATIONFLAGS enum is now included (use in a handler for SCINTILLANOTIFICATION.MODIFIED, checking args['modificationType']
- sys.argv is set
- Tcl/Tk now works, and can be installed as an add-on (or with the MSI)
- MSI installer to ease installation before Plugin Manager gets the update
- Unit tests have been added for all the major features, and every combination of arguments for the generated code. There's still work to do, but it's infinitely better than before
- Lots of little bug fixes that had been reported

0.9.2.0

- Fixed 2 bugs with editor.pymlreplace()
- Added editor.getCharacterPointer() that returns a string
- Added notepad.getPluginVersion() to get version of Python Script

0.9.0.1

- Fixed Console not showing in a Notepad++ that had never had Python Script installed
- Removed useless extra PythonScript.dll

0.9.0.0

- A massive amount of work on code cleanup, including many bug fixes and potential bug fixes, from Jocelyn Legault
- A Lint test now passes clean, thanks to Joce's code cleanup
- Python updated to 2.7.1, and patched to support loading modules from Unicode paths under Windows
- Unicode paths for scripts and lib now supported (with patched python27.dll)
- Many improvements to console Unicode support. The console is now UTF-8
- Python module bug fixes for the /MT compilation (bz2 module, for instance, didn't previously work properly)
- Python unit tests now pass cleanly for the patched version, with the exception of trying to load MSVCR90.dll directly, which will never work when compiled with /MT
- Bugfix in config dialog always displaying user scripts when first opened

0.8.0.0

- Fixed startup bug (many thanks to Stefan for helping track it down)
- Updated Scintilla wrapper to 2.21
- Added support for dynamic command IDs, for Notepad++ 5.8 and upwards (i.e. faster and safer menu processing)
- Updated to Python 2.7
- Removed Python's dependency on Visual C++ Runtime
- Added Python modules for SQLite, socket, XML and a few others
- Fixed bug with notepad.setStatusBar
- Fixed bug with notepad.runPluginCommand
- Fixed bug with clearing notepad callbacks from within a callback

0.7.0.0

- Parser for errors / warnings in console
- Bug fixed in Scintilla callback handling
- Caching in runMenuCommand and runPluginCommand
- notepad.messageBox defaults added
- editor.getWord() and editor.getCurrentWord()
- console.editor object added, to allow for scheme changes etc
- Console line endings tidied up
- console.run can now be run from within an event handler
- runMenuCommand and runPluginCommand crashes fixed
- Added Run Previous Script feature
- Console context menu added
- Fixed bug with Machine scripts not showing in Configuration dialog (reported by ufo-pu55y)

0.6.3.0 Initial release