Retro-upgrading aka downgrading - Is it possible?

The archives have old tiddlywiki.com and empty versions. But not the upgraders.

If I want to downgrade a TW file, is there a way to do that other than dropping the “new” version onto an old “empty” and hoping everything will sort out ok?

Thanks!

That is a good question @Mark_S I uncovered a little more information, but hopefully someone can share the definitive answer.

What I learned;

  • See https://tiddlywiki.com/#UpgradeMechanism
    • It looks like at most we “need” a new core plugin, upgrade plugin and $:/UpgradeLibrary tiddler for each “upgrade to” version.
    • Although I expect the required plugin $:/plugins/tiddlywiki/upgrade changes over time as well. Of note this is not available in the core plugins, but I found it in $:/UpgradeLibrary and other mentions in $:/plugins/tiddlywiki/upgrade
  • Open the existing upgrade site
  • Open the side bar with the chevron icon top [Edited] Right
  • Now you can explore the wiki
    • Searching I don’t see any "important "edited system tiddlers
    • I see the above mentioned plugins
    • The $:/UpgradeLibrary seems to be the key update data.
      • I am guessing it contains one version of all tiddlers modified since the beginning of TW 5.x.x

Note: you could download the upgrader each time you use it and give it a tw version number name and collect them yourself.

Perhaps you can find the alternative versions of $:/plugins/tiddlywiki/upgrade and $:/UpgradeLibrary in the GitHub release libraries if not a whole version of the upgrade wiki.

  • Others with more GitHub skills than I can possibly help here.

Thanks for the suggestions. Knowing there was an upgrade plugin got me looking around.

I won the battle but lost the war.

I was able to download the 5.2.5 upgrader. But it might be that the upgrader doesn’t work in reverse. I wanted to roll back a copy of Stroll to vsn 5.2.5, known to work fine, but the rolled back version still had the problem seen in 5.3.1.

To get your copy of whatever version you want, you need to clone a copy of tiddlywiki in git. Then you may or may not need to get all the tags:

git fetch --all --tags

(A fresh clone may already have the tags – I’m using a fork so wasn’t sure).

Then switch to the tag for the release you want and create your own branch for it:

git checkout tags/v5.2.5 -b 'v5.2.5'

Then run the upgrade edition of the branch locally (without downloading libraries) by:

node tiddlywiki.js editions/upgrade --listen port=8300

Now you can load 127.0.0.1:8300 in your browser and either upgrade as usual or download the upgrader for future work.

The other way is of course to obtain and archive version of tiddlywiki and then import the current tiddlyWiki. And select tiddlers.

  • It is a little easier if first in your current wiki you export all the tiddlers you wish to transfer then import that subset to the replacement wiki (leave the old one intact for safety)
  • I can share some selection methods if you choose this approach

Every TW version has a library-config tiddler. They are tagged: $:/tags/PluginLibrary and point to the TW library URLs.

See: https://tiddlywiki.com/#%24%3A%2Fconfig%2FOfficialPluginLibrary for v5.3.2

For archived versions this config tiddler will point to the respective library.


So if you need to downgrade a wiki, IMO the best way is to

  • Backup first!
  • Open empy.html from the archive
  • Import your existing wiki
  • Import everything
  • Open $:/ControlPanel → Plugins tab
  • Click the Get more plugins button
  • Since the library config file points to the archived version you should see
  • a red “downgrade” button for existing core plugins

Important

Downgrading over TW major versions like v5.3.x → v5.2.x should be avoided if you did modify core UI templates. Newer UI templates may use features, that are not present in older versions.

Downgrading is possible since v5.1.22. So versions below this version do not show that button

Hope that helps

-mario

2 Likes

This does seem to be the approach to downgrading. Using the up-loader to downgrade didn’t tweak the official library, so plugins were still offering 5.3.1. Though the only official plugin I needed was the highlighter.

Now I have to decide if it’s worth it to linger at 5.2.26, or lose one feature and move forward.

Thanks!

IMO v5.2.6 was released 20 March 2023 and v5.2.7 was released 26. March 2023

So IMO you should go with v5.2.7 if you want to stay with v5.2.x since it was a “bugfix release” to resolve a backwards compatibility problem introduced with v5.2.6

My approach is to upgrade to the latest version if I am making changes so I have a quick update method.

What feature would you loose because I suspect we can build it in a later version very easyly?

It’s actually the two-column feature by Saq in Stroll. Which doesn’t handle multiple tiddlers in the 2nd column correctly after 5.3.x . So, it may not be so easy to fix.

I imagin saq would like to know.

The daring way: What about deleting the core in the Plugins and just after this dragging in the desired one?

I would not recommend this. I did test it, and even if the core plugin has been changed, it still shows the old version-number in the $:/ControlPanel. → So it seems to be not a clear switch.