See GitHub for detailed change history of this release
Congratulations to Mohammad Rahmani and Elise Springer for their winning design for the banner for this release (here are the other entries).
Highlights
added New Filter Cascade Mechanism
The cascade mechanism provides a flexible way to choose between multiple options. Crucially, it is done in a way that makes it simple for plugins to tweak the logic or add their own options.
Some of the things that can be done with cascades are:
- Replacing the default tiddler body template with a custom one for a certain type of tiddler
- Giving all journal tiddlers a custom icon
- Implementing a custom editor for certain types of tiddler
There are two parts to these changes. The underpinning is a new Cascade Filter Run Prefix that takes a list of filters and runs them in order, returning the result of the first one to return a value.
The second part is a series of improvements based on this new filter cascade mechanism. Conditional logic that was previously hidden within core templates can now be extended and tweaked much more easily than before.
Choosing the following elements of the core user interface is now handled with cascades:
- Story Tiddler Templates
- Tiddler Colour
- Tiddler Icons
- View Template Body
- View Template Title
- Edit Template Body
The cascades can be inspected in $:/ControlPanel under Info -> Advanced -> Cascades.
See Cascades for more information.
added New LetWidget
The LetWidget is an improved alternative to the existing VarsWidget. It is recommended to use the new LetWidget instead of the VarsWidget in all circumstances.
The chief advantage is that the LetWidget performs the variable assignments in the same order as they are written, and permits references to earlier assignments. For example, here we swap the values of two variables:
<$let temp=<<foo>> foo=<<bar>> bar=<<temp>>>
...
</$let>
Bug Fixes
- fixed fixed issue with drag and drop in Chrome 96
- fixed fixed issue with drag and drop and the CodeMirror Plugin in Chrome 96
- fixed refreshing of LinkWidget attributes
- fixed crash when using "source=basename-uri-decoded" in tiddlywiki.files
- fixed $timestamp attribute ignored when using ActionSetFieldWidget to set the value of an index
- fixed crash during static rendering of CodeMirror Plugin
Usability Improvements
- fixed image picker in theme tweaks to not dismiss when an image is selected
- added a new hidden setting for controlling the visibility of the editor preview pane on a per-tiddler basis
- improved sidebar plugin listing to show icon and more details
Widget Improvements
- fixed refreshing of the CodeBlockWidget
- extended EditTextWidget to provide a new actionValue variable to action strings that contains the value of the input
Filter improvements
- added new trigonometric operators: acos, asin, atan, cos, sin and tan
- added new zth Operator that works like nth Operator but counts from zero instead of one
- extended Map Filter Run Prefix to provide additional variables to the filter
- fixed macro parameters in filter run prefixes
Hackability Improvements
- added new ActionSetMultipleFieldsWidget, new SetMultipleVariablesWidget and extended ActionSendMessageWidget for working with multiple variables/fields/indexes/parameters in one operation
- added new
focus-editor
operation to WidgetMessage: tm-edit-text-operation
Developer Improvements
- added support for widgets to access the order in which attributes are defined
Node.js Improvements
- added support for recursively loading subdirectories with tiddlywiki.files Files
Translation improvements
- Polish
- Chinese
Acknowledgements
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: