Pre-release of TW 2.9.4

68 views
Skip to first unread message

Yakov

unread,
May 12, 2023, 6:42:55 AM5/12/23
to TiddlyWikiClassic
Hey everyone,

Today I'm glad to announce that version 2.9.4 is ready to be released, so it will be helpful if somebody tests it as well (based on the previous release, I'll probably wait for at least 3 reviews). Find it attached below.

This release is mostly about refactoring, and although there are still many parts of code that should be improved/clarified/deprecated, I'm quite satisfied with the result and think that the code is now considerably cleaner and, in some places, clearer. I've spent a while ensuring the changes are consistent and don't break backward compatibility, but there are a number of very minor b.c. changes (like, in IE  6–9 , the header gradient won't work anymore as it's a CSS gradient now). Let me know if something's not as acceptable as I think of it. Note also that there are a couple of lingo changes (not important, though), so one may want to update their translations (I know, the collaboration and delivery of translations still need steemlining).

Still, there are a number of changes that you may enjoy (see the summary and UI changes illustrations), including
  • async loading support (async saving will be implemented in the next release) and more hackability of saving and upgrading processes;
  • visual updates of tables, popups, page header, and others;
  • several fixes of tiddler changing/saving;
  • some docs updates, including the new Filters tiddler (not available on the site yet).
Another good news is, I've updated SimplifiedUpgradingPlugin, which now supports MTS 1.7.0+ and makes upgrading via backstage simple and reliable (for now, it only asks if you have made a backup; please do it before upgrading). For me personally, this was a block to releasing new versions, as upgrading many TWs was too slow and awkward.

I'll announce more updates with the release; for now, I look forward to your feedback.

Best regards,
Yakov.
empty TW 2.9.4.html

Reto

unread,
May 12, 2023, 7:22:12 AM5/12/23
to TiddlyWikiClassic
Great news, Yakov!

What do you suggest on how to upgrade an existing TWc (12'000+ tiddlers)?

Yakov

unread,
May 12, 2023, 11:09:01 AM5/12/23
to TiddlyWikiClassic
Hi Reto,

oh, I haven't realized that until the new version is put on the site, SimplifiedUpgradingPlugin is somewhat useless. For the pre-release, let's just use import of the current TW into an empty TW 2.9.4. There's an alternative that I'll work on a bit later (basic idea is: SimplifiedUpgradingPlugin will work, it's just you'll have to set a custom <<option txtUpgradeCoreURI>>).

There's another alternative, though, for Firefox: download the new pre-released version, open it in the browser, copy its url, and put it into <<option txtUpgradeCoreURI>>, then run upgrading with SimplifiedUpgradingPlugin installed in your main TW. This doesn't sound much easier than using just import, but will be helpful as it is a test for SimplifiedUpgradingPlugin itself.

Once the new version is uploaded to the site, using SimplifiedUpgradingPlugin without setting custom url should be just fine.

As for upgrading very big TWs with Timimi, the situation is currently slightly uncertain: I'd recommend to create backup and just try (I've checked if my content is ok with a file comparison plugin in Notepad++). May be you'll have to increase txtWaitSavingSeconds: there's currently no way know from Timimi, when saving have actually finished, so the plugin waits 5 seconds (default value of the option), which should be enough for everybody, but can't guarantee that (well, I've successfully upgraded TWs with the size of ~10 MB). But I've already come up with an approach that will eliminate this issue, I just haven't tested it yet. Once I do, with SimplifiedUpgradingPlugin you won't have to care about this. Note for myself: should check the limit of JS strings length to understand if we can have an issue with that for really big TWs.

Best regards,
Yakov.
пятница, 12 мая 2023 г. в 14:22:12 UTC+3, Reto:

Okido

unread,
May 13, 2023, 6:00:48 AM5/13/23
to TiddlyWikiClassic
Hello Yakov,

Thanks for the TWC 2.9.4 update.
I successfully updated my TWCs and did not encounter any problem, even a large 300MB wiki updated with no problems.
I included jQuery 3.7.0, no problems sofar. 

Have a nice day, Okido
 
Op vrijdag 12 mei 2023 om 17:09:01 UTC+2 schreef Yakov:

Yakov

unread,
May 15, 2023, 4:53:58 AM5/15/23
to TiddlyWikiClassic
Hello Okido,

sounds quite cool! Could you specify the design of your test?
  • what was the environment (OS, browser, saver, their versions)?
  • did you upgrade with SUP?
  • how did you check the result? Used some diff tool and checked the content? Or just reviewed visually and checked the file size?
By the way, I've updated SUP to 0.5.0, which now uses just one saving, so it won't hurt large content anyway (unlike previously when saving new empty version had to finish before saving the content starts). I haven't eliminated the waiting interval though, will do in the next version.

Best regards,
Yakov.
суббота, 13 мая 2023 г. в 13:00:48 UTC+3, Okido:

Reto

unread,
May 15, 2023, 4:57:36 AM5/15/23
to TiddlyWikiClassic
I tried this:

"There's another alternative, though, for Firefox: download the new pre-released version, open it in the browser, copy its url, and put it into <<option txtUpgradeCoreURI>>, then run upgrading with SimplifiedUpgradingPlugin installed in your main TW. This doesn't sound much easier than using just import, but will be helpful as it is a test for SimplifiedUpgradingPlugin itself."

I don't understand " run upgrading with SimplifiedUpgradingPlugin installed in your main TW" ... how? "Backstage" and "Upgrade"?

Yakov

unread,
May 15, 2023, 5:05:00 AM5/15/23
to TiddlyWikiClassic
Ah, sorry for that, yes, SUP modifies the core upgrading, which you can start from "Upgrade" in the backstage 👍
I'll check the plugin description and try to make this more clear.
понедельник, 15 мая 2023 г. в 11:57:36 UTC+3, Reto:

Reto

unread,
May 15, 2023, 8:41:07 AM5/15/23
to TiddlyWikiClassic
The upgrade via SUP worked like a charm! No issues so far ...

Reto

unread,
May 15, 2023, 8:43:25 AM5/15/23
to TiddlyWikiClassic
Just noticed that there is a copy of my TWc called "...pre.core.upgrade...." but it is empty (size 0 KB).

Okido

unread,
May 15, 2023, 2:16:44 PM5/15/23
to TiddlyWikiClassic
Hello Yakov,
  • what was the environment (OS, browser, saver, their versions)?
  • Linux Mint 18.3 Cinnamon 64-bit, Kernel 4.15.0-142, NW.js 0.74.0 and nwsaver
    Windows 11, NW.js  0.74.0 and nwsaver

  • did you upgrade with SUP?
  • No SUP, I used my own script to switch cores, the script loads the core from the empty-2.9.4 and than saves
  • how did you check the result? Used some diff tool and checked the content? Or just reviewed visually and checked the file size?
  • Visual check and I have about 170 tiddlers with that a I use for testing plugins on their outcome, I take to most critical ones like Plotly.js, Dexie.js, Luxon.js, pdfMake, loaded a backup with Firefox and checked file-size, if this is OK than it is go.

Have a nice day, Okido
Op maandag 15 mei 2023 om 14:43:25 UTC+2 schreef Reto:

Yakov

unread,
May 18, 2023, 7:00:34 AM5/18/23
to TiddlyWikiClassic
Oh, empty is unexpected. Reto, could you clarify the setup?
  • Is it TW 2.9.3 with SUP 0.5.0 in FF with Timimi, Windows?
  • Can you share the path to your TW (where it was during updating) and where the empty file was downloaded?
Okido, thanks for sharing! By the way, could you tell why you use an extra script for updating? (I'm trying to make core upgrading + SUP cover all needs, so it's important to know other use-cases)
понедельник, 15 мая 2023 г. в 15:43:25 UTC+3, Reto:

Okido

unread,
May 19, 2023, 10:40:48 AM5/19/23
to TiddlyWikiClassic
Hello Yakov,

I use a plugin to cater for core changes only when running on NW.js.
For me there are two options:
Depending on the existence of a TWC with the desired core in a specific filepath the TWC is used to update the core.
Else a default TWC that is present in the same folder as the TWC that requires to be updated is used. (the TWC name is hard-coded and can be changed easily)

Have a nice day, Okido

Op donderdag 18 mei 2023 om 13:00:34 UTC+2 schreef Yakov:

Reto

unread,
May 23, 2023, 5:12:14 AM5/23/23
to TiddlyWikiClassic
Hmm, I tried with three other TWc but couldn't reproduce the empty *.pre.core.upgrade." copy.

Wolfgang

unread,
May 24, 2023, 2:20:06 AM5/24/23
to TiddlyWikiClassic
Hi Yakov,
I tested v2.9.4 you have released on GitHub yesterday. It seems to work fine!
  • I use a strongly customized TWc with currently 18.000 tiddlers and 14MB on Windows 10 with PaleMoon 31.1.1 / TiddlyMoon 1.1 and on iPhone SE 22 with Quine 2.2.22 synced over a private NextCloud 25 installation.
  • importing tiddlers was no problem
  • saving and loading is working fine incl. async! On iPhone/Quine async is very fast! On Windows/PaleMoon there is roughfly the same "performance".
As soon as I am using v2.9.4 regurarely, I can test a bit deeper...
Thank you!
Wolfgang

Yakov

unread,
May 24, 2023, 2:30:46 AM5/24/23
to TiddlyWikiClassic
Hi Wolfgang,

oh wow, I haven't realized that async loading itself may improve performance in some cases, thanks for sharing!

Will be really nice if you try upgrading via SUP in Quine (and may be in PaleMoon/TiddlyMoon) – I don't have these setups to check.

I'm preparing a full release, have to update the site to announce it and other changes (extensions etc).

Best regards,
Yakov.
среда, 24 мая 2023 г. в 09:20:06 UTC+3, Wolfgang:

Wolfgang

unread,
May 24, 2023, 5:19:43 AM5/24/23
to TiddlyWikiClassic
Hi Yakov,
I have no backstage in my customizing. How can I re-enable it? I am not sure, how to use SUP...
Best regards,
Wolfgang

Yakov

unread,
May 24, 2023, 6:46:01 AM5/24/23
to TiddlyWikiClassic
Well, if you don't have a backstage (how to return it depends on how you customized it :) ), you can use the <<upgrade>> macro: in fact the "upgrade" backstage panel's content is exactly "<<upgrade>>". If anything is unclear from the interface, let me know, I expect it to be clear enough, except for the somewhat outdated note "Note that core upgrades have been known to interfere with older plugins [...]". SUP tweaks the behavior of this macro, so you don't have to do anything aside installing it as a normal plugin.

Oh. Sorry, in fact it won't work for now, as I haven't updated the site yet (https://classic.tiddlywiki.com/upgrade/ still contains 2.9.3) – will do soon. But if you install SUP now, and keep chkAutocheckUpgradeOnStart checked (the "check for upgrades on start" option), you'll get notified once new core is available (but the check is only done on startup).
среда, 24 мая 2023 г. в 12:19:43 UTC+3, Wolfgang:

Wolfgang

unread,
May 25, 2023, 3:54:27 AM5/25/23
to TiddlyWikiClassic
Hi Yakov,
I can use <<upgrade>> for testing SUP.
Yesterday it said: "your version is up to date" (or so).
Today, I got an "Error with the new core code"...
ErrorCoreCode.JPG
PS: each upgrade is making a backup (which of course can be a good idea) although, I have backups turned off. I don't need it, because I have granular versions of the TWc within my Nextcloud...
Best regards,
Wolfgang

Wolfgang

unread,
May 27, 2023, 12:23:25 AM5/27/23
to TiddlyWikiClassic
Just wanted to say, that the upgrade using SUP worked fine...
Reply all
Reply to author
Forward
0 new messages