Your help is needed to test v5.4.0

We have now passed the code freeze for v5.4.0. It has been in development for long time, and has nearly 100 changes. We’ve never attempted a release this ambitious.

The first thing is to express my heartfelt thanks to everyone who has contributed to this release. The GitHub contributors are listed in the release note, but there are many, many others in the community who have provided feedback and bug reports that have shaped this release.

You can try it out here:

https://tiddlywiki.com/prerelease

Because of the large number of changes, we’ve needed to improve the presentation of change notes with categories and search, which should help you find the changes of interest.

You can upgrade your wikis here:

https://tiddlywiki.com/prerelease/upgrade.html

While there are many new features that make wikitext more expressive and efficient, there are relatively few end user changes that can be found by clicking around TiddlyWiki.

Nonetheless, it a major release because of the groundwork it lays for future improvements.

We need lots of testing before the release of v5.4.0. Everyone can help, from end users and wikitext authors to JavaScript developers.

Here are some ways that end users can help:

  • Perform test upgrades of your wikis and thoroughly test the features you depend on
  • Test end user features such as the cascade details that are now shown in the tiddler info pane

Some of the new features that need to be tested by wikitext authors:

  • Multi-valued variables and the :let filter run prefix
  • Dynamic parameters for procedure/function/macro invocations
  • Background actions
  • The new architecture for $:/info/browser/* tiddlers
  • Improvements to the <$diff-text> widget

You can report bugs and feedback here, or via GitHub.

Doing a good job of this sort of intensive testing is hard work, but it will pay off if it helps us have a smooth release without showstopping bugs.

We would also welcome feedback on the presentation of the release note. Is it easy enough to find out what you want to know? Are there other changes that we should be summarising?

All being well, we plan to release v5.4.0 in the second half of March.

Thank you to everyone for your help,

Best wishes

Jeremy

15 Likes

Date will be adjusted - Pinned till 31st March 2026 for the moment

Especially important is the Impacts tab, since it documents incompatibilities and deprecations. That’s important to test with your 3rd party plugins.

5 posts were split to a new topic: V5.4.0 prerelease - Problems with text-reference transclusions

4 posts were split to a new topic: V5.4.0 prerelease - Import is much slower now

It seems Uglify from @Flibbles does not work with new release. This is uglified empty.html with few tiddlers

Relink won’t work either. Not with any new syntax.

If I had known that by making those plugins, I was signing myself up for perpetual updates with every major release of TW, I… I probably still would have done it. I have a problem.

But those plugins will have to wait a minute. I’m working on other stuff right now. Taking a TW break for a while.

10 Likes

3 posts were split to a new topic: Test locally built empty.html with prerelease libraries

3 posts were split to a new topic: V5.4.0 prerelease - Zoomin Story View - Close All triggers RSOD

I agree with this. I strongly prefer wrapping of code blocks by default. I don’t like having to use the horizontal scrollbar on all the codebody: yes tiddlers.

But if that is the way it has to be, I can configure it in all my wikis post 5.4

1 Like

The only complaint I have so far is that the shadow $:/themes/tiddlywiki/vanilla/options/codewrapping text was changed from pre-wrap to pre in the core. This was an issue for me, because probably due to some of my modifications the pre setting doesn’t look well with longer code lines flowing out of the tiddler area to the right. Everything is as it used to be on the pre-wrap setting.
If the default setting was changed on purpose, I’m alright with that, I can imagine why the no wrap could be better as default.

Edit: I found the PR that changed this default: [v5.4.0] Update configuration defaults by Jermolene · Pull Request #9107 · TiddlyWiki/TiddlyWiki5 · GitHub

There is some discussion too. So if you disagree with the new default – Lets us know.


Also related is PR: Fix unwrapped oveflowed code blocks not showing scroll bars when setting "Wrap long lines in code blocks" to "No" in "Theme tweaks" by Leilei332 · Pull Request #8413 · TiddlyWiki/TiddlyWiki5 · GitHub

But is did not change the default shadow. I can not find the PR, that changed this value. … That’s strange.
IMO the default should be “Wrap long lines in code blocks : Yes” … We only needed to change this one for easy testing the PR.

Long lines should look like this. … So if your wiki shows text outside of the tiddler, you need to check your Style sheet settings.

The default can be changed in

ControlPanel → Appearence → Theme Tweaks → Warp long lines in code blocks

Tested on my main wiki and nothing looks broken.
Not having the tidgraph problem reported above.

Pre-release documentation for Calls says:

Calls can be used in filters. The text is not wikified which again means that the parameters will be ignored.

Testing using <<now>> macro with : vs = param handling:

<$let fmt="YYYY0MM0DD0hh0mm0ss0XXX">

#literal unnamed param<br><<now YYYY0MM0DD0hh0mm0ss0XXX>>
#literal named param using `:`<br><<now format:'YYYY0MM0DD0hh0mm0ss0XXX'>>
#variable named param using `=`<br><<now format=<<fmt>>>>
#filter with unnamed param<br><$list filter="[<now YYYY0MM0DD0hh0mm0ss0XXX>]"><<currentTiddler>></$list>
#filter with literal named param using `:`<br><$list filter="[<now format:'YYYY0MM0DD0hh0mm0ss0XXX'>]"><<currentTiddler>></$list>
#filter with variable named param using `=`<br><$list filter="[<now format=<<fmt>>>]"><<currentTiddler>></$list>

produces this output:

literal unnamed param
20260224084305886
literal named param using :
20260224084305886
variable named param using =
20260224084305886
filter with unnamed param
20260224084305886
filter with literal named param using :
20260224084305886
filter with variable named param using =
Filter error: Missing [ in filter expression

Thus, calls in filters using the unnamed param or : literal named param syntax still work, even though Calls seems to say otherwise.

Multi-valued variables clarification: do filter operators each have to be individually updated in order to support MVVs?

The MVV docs say “Certain filter operators can accept multi-valued parameters: function Operator, title Operator”. Does that mean that these are the only operators that will understand MVVs, and everything else treats them as single values?

(If so, that severely limits their possibilities…)

2 posts were split to a new topic: V5.4.0 prerelease - Simple Search Plugin Seems to Have a Problem

2 posts were split to a new topic: V.5.4.0 prerelease - link-to-tabs Plugin Link Icon has Wrong Colour

3 posts were split to a new topic: V5.4.0 prerelease - Several block-quote syntax blocks are slow

Most operators operate on input and don’t make much use of parameters. Only parameters need special support for handling MVV. Which operators did you have in mind which you want to pass MVV as parameter?

A few notes I’ve found running the updater against my wiki. 5.4.0 RSOEs my wiki currently:

  • the “Vis” plugin from @Flibbles’s graph plugin complains when updating a wiki (but I can’t reproduce in the sample for that plugin):
[Error] Script error.
	(anonymous function) (upgrade-4.html:5208)
	(anonymous function) (upgrade-4.html:5260)
	(anonymous function) ($:/plugins/flibbles/vis-network/vis.js:39)
  • Maybe related, or unrelated, but I hit an error in the transclusion widget immediately after:
[Error] ReferenceError: Can't find variable: alt
	(anonymous function) ($:/core/modules/widgets/transclude.js:462)
	(anonymous function) ($:/core/modules/widgets/widget.js:691)
	(anonymous function) ($:/core/modules/widgets/element.js:83)
	(anonymous function) ($:/core/modules/widgets/widget.js:691)
	(anonymous function) ($:/core/modules/widgets/widget.js:72)
	(anonymous function) ($:/core/modules/startup/render.js:72)
	(anonymous function) ($:/core/modules/startup/render.js:74)
	(anonymous function) (upgrade-4.html:7640)
	(anonymous function) (upgrade-4.html:7587)
	(anonymous function) (upgrade-4.html:7597)
	(anonymous function) (upgrade-4.html:7777)
	(anonymous function) (upgrade-4.html:6782)
	(anonymous function) (upgrade-4.html:7775)
	_boot (upgrade-4.html:7784)
	Global Code (upgrade-4.html:7796)

I’ll see if I can get a minimal reproducing case for this (this is a private wiki).

2 posts were split to a new topic: V5.4.0 prerelease - Quick Image Plugin causes EditTemplate Problem