Skip to content

Latest commit

 

History

History
101 lines (69 loc) · 8.05 KB

File metadata and controls

101 lines (69 loc) · 8.05 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased] - yyyy-mm-dd

To Be Added

  1. Add more UI tests for ScintillaGateway.cs and NotepadPPGateway.cs methods to make sure they work.
  2. In ToolsForMaintainersOfTheProjectTemplate, I need to add auto-generation of calls to GetNullStrippedStringFromMessageThatReturnsLength(SciMsg msg, IntPtr wParam=default) instead of the old fixed-size 10000-byte buffers

To Be Changed

To Be Fixed

  • Closing HTML/XML tags works inconsistently in Notepad++ v7.3.3.
  • Holding down Enter in a multiline textbox does not add multiple new lines; it only adds one newline on keyup.
  • Plugin menu command descriptions are not always retranslated when the Notepad++ native language preference is changed. The translation is always correct at startup.

[0.0.4] - (UNRELEASED) YYYY-MM-DD

Added

  1. Make it much easier to include third-party dependencies in your plugin.
  2. Added the ability to translate the plugin into other languages.
  3. Made it so all forms subclass a base class, making it easier to implement recommended methods.
  4. Npp.TryGetLengthAsInt and Npp.TryGetText methods, which gracefully handle files that are too large to put all their text in a string.
  5. NotepadPPGateway.GetVisibleViews method to quickly determine whether Notepad++ is in split-window mode and, if not, which view is currently visible.
  6. When building plugin, automatically create plugins/yourPluginName folder in your Notepad++ installation, rather than defaulting to CSharpPluginPack as the name for the plugin folder. Fix issue #13.
  7. When building plugin, automatically sync plugins/yourPluginName/testfiles folder in your Notepad++ installation with the testfiles folder in this repo. Fix issue #12.
  8. Toggle highlighting of close HTML/XML tag toolbar icon based on whether the setting is true.
  9. Toolbar icon hover text is now translated to other languages. Fix issue #14.
  10. Added support for ANSI-encoded documents containing non-ASCII text. Previously, if a document was ANSI encoded, and the plugin asked for some text from the document, Notepad++ would send ANSI-encoded text and the plugin would attempt to decode it as UTF-8.

Fixed

  1. Fixed issue where clicking buttons on floating docking dialogs could sometimes cause Notepad++ to hang forever (see CsvLint issue 83 for a detailed explanation).
  2. Fix SCNotification byte alignment issue in 64-bit Notepad++ by making annotationLinesAdded field an IntPtr, which has been the correct type for that field since between Notepad++ 7.6.6 and 7.7. Note that this is a potentially breaking change for 64-bit Notepad++ 7.6.6 or older, but there's a ton of other bit rot for such old Notepad++ anyway.
  3. Fix error due to assuming that "." (the current directory according to the filesystem) will always point to the path to the Notepad++ executable; this is almost always true, but can be broken due to at least one known weird interaction (the one molsonkiko is familiar with concerns the New script functionality of the PythonScript plugin).
  4. Fix bug where, if a setting in the config file had an invalid value (for example, a numeric setting having a value of blah), there might be an uncaught exception that would cause Notepad++ to crash. This bug appears to be most likely to occur when the localization is not set to en-us.
  5. Fix bug (related to fixed bug 4 above) where all settings with non-integer floating-point values would cause Notepad++ to crash on start-up if the localization used , as the decimal separator.
  6. Fix bug with makerelease.bat where it did not properly copy the dependency DLLs into the zip files.
  7. Fix bug when too-large integers are entered in the selection-remembering form.
  8. Fix potential crash when running Get File Names Demo and Get Session File Names Demo plugin commands, by doubling size of buffer in CLikeStringArray (need 2 bytes/char)
  9. Fix bug where NotepadPPGateway.GetOpenFileNames would list a new 1 file for an invisible view if only one view is open (i.e., if Notepad++ does not have a split window)
  10. Fix potential bug by using a null-terminated string in some ScintillaGateway methods (currently just InsertText and SetText) where previously I was just using the raw UTF8 bytes.

Changed

  1. Removed the IScintillaGateway interface, because it is pointless to have an interface that will only be implemented in one class, and the need to update both IScintillaGateway and ScintillaGateway whenever the interface changed was annoying busywork.
  2. Removed the INotepadPPGateway interface for the same reasons that I removed IScintillaGateway

[0.0.3] - 2024-02-26

Added

  1. Added new Allocate indicators demo, demonstrating how to allocate and use indicators to style text.
  2. Demo on the SCN_MODIFIED and NPPN_GLOBALMODIFIED notifications, which are used to track when a document is modified.

Changed

  1. Update method of building a DLL to remove a dependency on .NET Framework 3.5.
    • This also allows the user the specify whatever Notepad++ directory they wish, using the NppPath32 (to specify 32-bit Notepad++ directory) and NppPath64 (to specify 64-bit directory) variables from the command line like so: msbuild /p:NppPath32="D:\portable\npp\x86";NppPath64="somewhere\else\x64" ...

Fixed

  1. Greatly reduced unnecessary calls to NPPM_GETCURRENTLANGTYPE in DoInsertHtmlCloseTag by caching the lexer language whenever the lexer language changes or a buffer is opened.
  2. Bug where hitting Enter in a multiline textbox would not add a new line.

[0.0.2] - 2024-02-06

Added

  1. Ported over (from kbilsted's old template) the ToolsForMaintainersOfTheProjectTemplate folder for updating some of the PluginInfrastructure files to stay up to date with Notepad++.
  2. Added new PopupDialog form, which demonstrates how to configure a pop-up dialog that has select-able fields like textboxes or buttons.

Changed

  1. Remove references and links to JsonTools (they now go to this project's GitHub repo).

Fixed

  1. TestRunner.cs now restores clipboard text after tests.
  2. Link label text and background now correctly switches back to defaults when going from a dark theme to default styles.
  3. Fix bug where running tests multiple times in a single Notepad++ session causes the user interface tests to fail.
  4. Fix bug introduced in Notepad++ 8.6.1 where Ctrl+C and Ctrl+X would not work in the text fields of forms.

[0.0.1] - 2024-01-13

Added

  1. selections remembering form
  2. dark mode test form
  3. about form
  4. settings form
  5. Basic tests, including user interface tests
  6. Plugin menu commands