Do we have a centralized place to check for plugins compatibility with latest stable release?

A while ago I posted TiddlyWiki v5.4.0 Streams plugin is broken .

I have to admit I haven’t tried the fix proposed by @pmario yet, because manually updating multiple single file wikis via the web interface is already time consuming, manually patching particular plugins adds even more overhead. I don’t know if there’s an easier and quicker way to update single file wikis via CLI, as in something like “update_command old_version.html new_version.html”, https://tiddlywiki.com/#How%20to%20update%20TiddlyWiki%20to%20the%20latest%20version doesn’t mention anything.

@saqimtiaz is clearly not inactive, judging by his Github evergreen timeline, he’s rather too busy. But I also remember he was planning a Streams rewrite at some point, I don’t know how it fits into this situation.

I think in another topic somebody mentioned waiting for Relink(?) plugin to get updated for 5.4.0.

All of these make me wonder about the question from the topic title. How to track compatibility of plugins in a centralized way?

We have no centralised place to test 3rd party plugins.

The problem raised with the streams pugin would have not been caught by standard tests, because it is an interactive issue.

So to be able to run tests centrally every plugin would need to implement a standardised test mechanism, that could be run centrally. Most 3rd party plugins do not have tests, or are available at github, where we could run automated tests.

I did not mean a place for automated tests.

I mean a place that collects known plugin incompatibilities with latest stable.

As in: I a regular user with no much knowledge about internals and no ability to debug and fix compatibility issues have a list of plugins in my wikis, I go to a page to check if all of them work with latest stable to decide if it’s time to update or stick with the older working TW version until things get sorted out.

The vast majority of plugins have, until now, run on future versions of tiddlywiki due to the backwards compatible philosophy. At least within the major version eg 5.2.n 5.3.n and now 5.4.0+ so with the exception of some critical system entangled plugins such as streams, relink and codemirror, we did not need this feature “to track compatibility of plugins in a centralized way?” however with the intentional focusing on possible breaking of backwards compatibility in the 5.4.x releases this does seem necessary.

  • Do note however that many of the core plugins have the minimum tw version they need

We also need compatibility report between plugins, like one can influence other UI when it use global CSS.

I’m planning on adding this feature to the CPL server version. You can add a report when you manually tested it, and others can see the result when viewing the plugin info page.

I think the issue of plugin interoperability is a much bigger one, since this is a continuous concern and plugins get released more often, and combinations of different plugins create many different scenarios.

As pointed by @TW_Tones above (and my own limited experience has been the same), past TW updates didn’t have such plugin compatibility troubles.

Yet there’s just a few forum reports after the 5.4.0, so overall it’s not an emergency situation.

However, for future stable releases it would be nice to have maybe a companion forum thread about compatibility status of mainstream widely used third party plugins (Streams and Relink being at the top of that list), so plugin authors could check if things didn’t break before the TW release.

We do now have $:/ControlPanel → Info → Wiki Information, which lets us create an info, which wiki settings are currently used.

So if users post this info page, a software can “cross reference” which plugins are known to work with each other, with which TW version and some global settings.

Wiki Information tw-com

TiddlyWiki Version: 5.4.0
Current palette: $:/palettes/Vanilla
Current theme: $:/themes/tiddlywiki/snowwhite
Current layout: 
Browser language setting: en
Default type for missing tiddlers: 
Auto save setting: yes
Code wrapping setting: pre-wrap
Sticky titles setting: no
Sidebar layout setting: fluid-fixed
Auto focus field setting for new tiddlers: title
Current storyview setting: classic
Toolbar text setting: no
Toolbar icon setting: yes
Button class setting: tc-btn-invisible
Navigation address bar setting: no
Tiddler opening behaviour setting for navigations from outside the story river: top
Tiddler opening behaviour setting for navigations from within the story river: below
CamelCase linking setting: enable
Keyboard shortcuts that have been customised: 
Disabled plugins: 
Plugins: 
  $:/core - 5.4.0
  $:/plugins/tiddlywiki/browser-sniff - 5.4.0
  $:/plugins/tiddlywiki/confetti - 5.4.0
  $:/plugins/tiddlywiki/dom-to-image - 5.4.0
  $:/plugins/tiddlywiki/dynannotate - 5.4.0
  $:/plugins/tiddlywiki/internals - 5.4.0
  $:/plugins/tiddlywiki/menubar - 5.4.0
  $:/plugins/tiddlywiki/railroad - 5.4.0
  $:/plugins/tiddlywiki/tour - 5.4.0
  $:/temp/info-plugin - 
  $:/themes/tiddlywiki/centralised - 5.4.0
  $:/themes/tiddlywiki/heavier - 5.4.0
  $:/themes/tiddlywiki/readonly - 5.4.0
  $:/themes/tiddlywiki/seamless - 5.4.0
  $:/themes/tiddlywiki/snowwhite - 5.4.0
  $:/themes/tiddlywiki/starlight - 5.4.0
  $:/themes/tiddlywiki/tight - 5.4.0
  $:/themes/tiddlywiki/tight-heavier - 5.4.0
  $:/themes/tiddlywiki/vanilla - 5.4.0
Stylesheets: 
  $:/themes/tiddlywiki/vanilla/base ∈ $:/themes/tiddlywiki/vanilla
  $:/plugins/tiddlywiki/dynannotate/styles ∈ $:/plugins/tiddlywiki/dynannotate
  $:/plugins/tiddlywiki/internals/styles ∈ $:/plugins/tiddlywiki/internals
  $:/plugins/tiddlywiki/menubar/styles ∈ $:/plugins/tiddlywiki/menubar
  $:/plugins/tiddlywiki/railroad/railroad-diagrams.css ∈ $:/plugins/tiddlywiki/railroad
  $:/plugins/tiddlywiki/tour/styles ∈ $:/plugins/tiddlywiki/tour
  $:/themes/tiddlywiki/snowwhite/base ∈ $:/themes/tiddlywiki/snowwhite
  $:/_tw_shared/styles
  $:/_tw5.com-styles
  $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles
  $:/cards/styles
  $:/editions/tw5.com/doc-styles
  $:/HireJeremy/styles
  $:/SavingThumbnailsStyles
  $:/tiddlywiki/community/cards/Styles
  $:/tw5.com/releases/styles
  Custom data-styles