See GitHub for detailed change history of this release

Congratulations to duarte.framos for their winning design for the banner for this release (here is the competition thread).
Major Improvements
Tour Plugin
ajouté several new features that together allow interactive learning tours to be created and presented in TiddlyWiki.
The demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/tour
The new features include:
- The new Tour Plugin itself
- The new Confetti Plugin that allows animated bursts of confetti to be displayed
- Improvements to the Dynannotate Plugin to add the ability to highlight screen elements using an animated spotlight effect
Geospatial Plugin
ajouté new Geospatial Plugin that adds new primitives to the TiddlyWiki platform to enable non-developers to build sophisticated interactive geospatial applications.
The Geospatial Plugin incorporates a number of third party libraries and online services:
- Leaflet.js, an open source library to display interactive maps
- Turf.js, an open source library to perform geospatial calculations with GeoJSON objects
- TravelTime, a commercial API for geocoding, routing and isochrones
- Flickr, a free API for retrieving geotagged photographs
- OpenLocationCode, Google's open source library for converting to and from Open Location Codes (also known as PlusCodes)
Try it out at https://tiddlywiki.com/plugins/tiddlywiki/geospatial/
$testcase
Widget
ajouté new $testcase
widget that is intended to solve a problem with the examples that we feature in the documentation. The existing macros are workable for simple, self-contained examples, but can be hard to follow in cases where the examples use additional tiddlers. The $testcase
widget displays complete, self-contained interactive examples showing the output together with a tabbed display of the constituent tiddlers that produce it:
This test case shows an elaborate way to calculate 2+2 involving multiple tiddlers
title | Output |
The sum is 4
The payload tiddlers for a test case are specified with the $data
widget. Test cases are run as an independent, self-contained nested wiki in a similar way to the Innerwiki Plugin, but are much more lightweight. The disadvantage is that test cases are rendered as part of the main page, and so any styling changes will leak out to the rest of the page.
Test cases can also specify the raw HTML of the expected result which causes them to be executed as tests, with success or failure indicated by an icon:
This test case intentionally fails (in order to show how failures are displayed). The expected result is set to <p>The sum is not 8.</p>
, but the result computes to <p>The sum is 4.</p>
<p>The sum is not 84.</p>
title | Output |
The sum is 4.
The easiest way to use the $testcase
is by creating TestCaseTiddlers using the new CompoundTiddlers format. There are also many test cases to view in the TiddlyWiki test edition at https://tiddlywiki.com/test.html
Translation improvements
This release also includes improvements to the following translations:
- Chinese
- French
- German
- Macedonian
- Polish
Plugin Improvements
- ajouté badges to the core plugins to indicate their stability level from "deprecated", "experimental", "stable" and "legacy". These badges are shown in the plugin library and in the control panel
Widget Improvements
- ajouté $timestamp attribute to ActionDeleteFieldWidget
Filter Improvements
- ajouté new transcludes and backtranscludes operators
Usability Improvements
- ajouté new keyboard shortcut for refreshing the page
- amélioré and simplified the splash screen for tiddlywiki.com. See Creating a splash screen for instructions on creating your own splash screen
Hackability Improvements
- amélioré the wikitext parser to generate start/end properties for all nodes
- étendu WidgetMessage: tm-http-request to be able to use Basic Authentication
- amélioré WidgetMessage: tm-http-request to allow the default headers to be suppressed
- amélioré infinite recursion handling using a custom exception
- ajouté button to the JavaScript error popup allowing tiddlers to be saved to a local JSON file
- mis à jour to latest version of modern-normalize 2.0.0
- amélioré tm-permalink, tm-permaview and tm-copy-to-clipboard messages to allow the notification text to be customised
- amélioré window title rendering to automatically include global definitions
Bug Fixes
- corrigé nested functions not resolving variables created in filter runs
- corrigé nested Block Quotes in WikiText
- corrigé TiddlyWikiClassic build process
- corrigé LinkWidget not refreshing when the
to
attribute changes - corrigé parsing bug with empty procedures/macros
- corrigé functions to use variables set by filter runs
- corrigé edit widget not refreshing when the editor type changes
- corrigé editor preview width
- corrigé WidgetMessage: tm-http-request not returning data in the event of an error
- corrigé WidgetMessage: tm-http-request incorrectly interpreting 2XX status codes
- corrigé processing of path separators in
tiddlywiki.files
files on Windows - corrigé incorrect state reference in advanced search
- corrigé clipping of popups in preview pane
- corrigé JavaScript error when attempting to export missing tiddlers to a CSV file
- corrigé imported procedures defaulting to
\whitespace trim
- corrigé crash with cycle Operator if the the step size is larger than the number of operands
- corrigé proper DOCTYPE for the open window template
- corrigé theme font size settings to open in new window CSS
- corrigé backlink parser to prevent it parsing binary tiddlers
- corrigé issue where default parameters were not applied when a ParametersWidget did not find a parent TranscludeWidget
- corrigé crash when using splitregexp Operator with a regular expression that includes capture groups
- corrigé ActionLogWidget evaluating all variables in scope
Node.js Improvements
- corrigé usage of "Cache-Control" header
- corrigé SaveCommand not overwriting files when required
- corrigé server header authentication when header is missing
- corrigé ButtonWidget should refresh when "tooltip" attribute changes
Developer Improvements
- corrigé issue with fakedom TW_Node inheritence
- corrigé SJCL library creating variables in global scope
- corrigé
widget.getVariableInfo()
to always return aparams
property
Acknowledgements
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: