notepad-plus-plus / nppPluginList

The official collection of Notepad++ plugins.
1.09k stars 357 forks source link

Add plugins' compatibility with Notepad++ versions in json file for uncompatible plugins #422

Closed donho closed 2 years ago

donho commented 2 years ago

Notepad++ has added the ability that Plugins Admin is aware of minimum and maximum Notepad++ version a plugin can deal with (https://github.com/notepad-plus-plus/notepad-plus-plus/commit/a06b404708e73ed25bec3c2e9ed132d1a1e5c2ef).

For the next release of Notepad++'s stability, the compatibility info should be added in the plugin list. The new attribute npp-compatible-versions should be added for the incompatible plugin to the latest version of Notepad++ (v8.3.2), regarding https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11198 (or other info).

donho commented 2 years ago

@rdipardo Are you interested in doing this issue?

rdipardo commented 2 years ago

@rdipardo Are you interested in doing this issue?

If you mean translating the data at notepad-plus-plus/notepad-plus-plus#11198 into JSON, then sure.

Beyond that, you're talking about enough work for several people. The version limits are just suggestions until they're validated with testing. How many "milestone" releases need to be covered? I know 8.3(.1) is top priority for now, but 7.7 broke plugins too, and Scintilla 5 is coming with its own bag of new tricks. 7.9.3 dropped Windows XP; are plugins that haven't updated since 7.9.2 guaranteed compatible? (Not if they call into Comdlg32.dll.)

Once there's a firm list of critical N++ releases and their breaking changes, each plugin would need testing with the version before and after. Something non-interactive like the Win32::Mechanize::NotepadPlusPlus unit test suite is ideal; but that depends on @pryrt getting it to work with N++ 8.3+.

donho commented 2 years ago

@rdipardo

If you mean translating the data at https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11198 into JSON, then sure.

Yes, that's what I mean exactly.

Beyond that, you're talking about enough work for several people. The version limits are just suggestions until they're https://github.com/notepad-plus-plus/nppPluginList/issues/250. How many "milestone" releases need to be covered? I know 8.3(.1) is top priority for now, but https://github.com/notepad-plus-plus/notepad-plus-plus/issues/5741#issue-452041488 broke plugins too, and Scintilla 5 is coming with its own bag of new tricks. 7.9.3 https://github.com/notepad-plus-plus/notepad-plus-plus/pull/9378#issuecomment-760947634; are plugins that haven't updated since 7.9.2 guaranteed compatible? (Not if they https://github.com/Hsilgos/nppsaveasadmin/issues/24.)

I see your point and agree with you. However, what we've discovered for the moment (with tests from the community and users' bug reports) are enough IMO. The others features regarding the issue coming soon (or not at all) depends on the contributers' (including me) time, and therefore no milestone about it.

Thank you for your help :)

pryrt commented 2 years ago

Once there's a firm list of critical N++ releases and their breaking changes,

I think you listed most of them: v7.6.3 (the first stable release after the plugins hierarchy change), v7.7 (scintilla 4.1.4), v7.8 (scintilla 4.2.0), v7.9.3 (for XP issues), v7.9.4 (scintilla 4.4.6), and v8.3 (64bit range indexes).

Something non-interactive like the Win32::Mechanize::NotepadPlusPlus unit test suite is ideal; but that depends on @pryrt https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues/84.

I had forgotten I hadn't finished the update for that yet; thanks for the reminder. I fixed the test suite and released v0.009 over the weekend.