Here are the details of recent releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.
- An overview about all TW versions can be found at the TiddlyWiki Archive.
- If you are using Node.js, you can also install prior versions like this:npm install -g tiddlywiki@5.3.0
- BetaReleases and AlphaReleases are listed separately
Release 5.4.0
Released TBA
See the detailed change history on GitHub and other releases.
Release v5.4.0 deliberately and forensically loosens backwards compatibility to clear the path for significant new features and fundamental improvements to be made in the future.
Please note that there are some changes that do not yet change notes, please see the change history on GitHub for the full list of changes.
See the project plan for full details.
EnhancementHackabilityDynamic parameters for macro/procedure/function calls
This PR extends the handling of macro/procedure/function made via the <<..>> syntax to allow parameters to be specified dynamically instead of just as static strings. To indicate the new syntax the colon that usually separates a parameter name from its value is replaced by an equals sign.
For example, by it is now possible to do things like this:
<<mymacro param={{Something}}>>Or even this:
<div class=<<mymacro param={{Something}}>>>Or this:
<div class=<<mymacro param={{{ [<myvar>addprefix[https:] }}}>>>Parameters can also be specified for the inner call:
<div class=<<mymacro param={{{ [<innermacro p={{Something}}>addprefix[https:] }}}>>>The extended syntax can be used in three different settings:
- As a standalone construction
- As a widget attribute value
- As a filter operand value
In all cases, it is now possible to use an equals sign instead of a colon to allow parameter values to be passed as a transclusion, filter expression or nested call.
EnhancementHackabilityBackground actions and media query tracking
Introduces Background Actions that are triggered whenever there is a change to the results of a specified filter.
Building on that, it also introduces a new Media Query Tracker Mechanism that can track the results of any CSS media query (not just dark mode), storing the results in a shadow $:/info/... tiddler
These improvements were cherrypicked from #8702 - Colour Handling Improvements when it was deferred until v5.5.0.
EnhancementHackabilityMulti-valued variables and let filter run prefix
This PR introduces a new filter run prefix :let that assigns the result of the filter run to a variable that is made available for the remaining filter runs of the filter expression. It solves the problem that previously it was impossible to compute values for filter operator parameters; parameters could only be a literal string, text reference or variable reference.
This PR also introduces multi-valued variables, the ability to store a list of results in a variable, not just a single string. They can be assigned with the new :let filter run prefix, or the existing <$let> widget. The full list of values can be retrieved using round brackets instead of the usual angle brackets. In all other contexts only the first item in the list is used as the variable value.


















