See GitHub for detailed change history of this release
Congratulations to Elise Springer for her winning design for the banner for this release (here is the competition thread).
Highlights
updated Highlight Plugin to use highlight.js v11.4.0
This is a major upgrade to the latest version of highlight.js. The new version has many improvements, including better support for Fortran.
extended support for secondary windows
The WidgetMessage: tm-open-window now supports an optional windowID
parameter so that opened windows can be closed with the new WidgetMessage: tm-close-window message. There is also a new WidgetMessage: tm-close-all-windows message which closes all secondary windows.
added support for line breaks within filtered transcluded attributes
To improve readability, it is now possible to use newlines as whitespace within filtered transcluded attributes of HTML elements and widgets. For example:
<span class={{{
[<currentTiddler>addsuffix[-primaryList]]
:except[<searchListState>get[text]]
:and[then[]else[tc-list-item-selected]]
}}}>
fixed inconsistent ordering of tagged tiddlers
This was a long standing bug that manifested itself in several ways.
The root cause was that the order in which tiddlers were enumerated depended upon the order in which they had been added to the store.
The effect was that lists based on enumerating tiddlers would show different results depending upon whether new tiddlers were added since the wiki was reloaded.
For example, adding a new tiddler with a given tag previously caused the new tiddler to appear at the bottom of the tag pill listing for that tag. Saving and reloading the wiki would reorder the list to put the new tiddler in the correct position.
The fix ensures that the enumeration order remains consistent.
fixed some incorrectly nested <span>
and <div>
elements
TiddlyWiki's core page layout has historically included several instances of inline <span>
elements containing block <div>
elements, something that is technically invalid HTML. In practice, browsers have always handled these cases leniently to make the page work but it has also been unhelpful for developers to encountering invalid HTML constructions in their first interactions with TiddlyWiki.
The immediate prompt for starting to fix these issue now is that Chrome v100 includes a change that causes some of these misnested elements to be rendered correctly visually but to be unclickable in some situations. (The change is reverted in Chrome v102, but it still makes sense to fix it)
Plugin Improvements
- fixed issue with LaTeX content within Markdown tiddlers
- fixed incorrect handling of dropdown classes in the menu bar plugin
- updated the Dynannotate plugin to use the new View Template Body Cascade to avoid modifying the default view template.
Translation improvements
- Polish
- Chinese
- French
Usability Improvements
- improved wording of drag and drop banner (from "drop here" to "drop now")
- fixed wrapping and wikification of field names in field viewer
- fixed missing whitespace between description and MIME type in edit template dropdown for the type field
- fixed incorrect usage of code view for certain system tiddlers
- fixed sidebar plugin listing to be sorted by name rather than description
Widget Improvements
- added classes to the ImageWidget to indicate whether it is loading, loaded or has encountered an error
- fixed RadioWidget not using default value if the field or index is missing
- fixed issue with ImportVariablesWidget when importing block mode widgets
- extended DraggableWidget to support an optional drag handle
Filter improvements
- added support for case insensitive matching for the prefix Operator and suffix Operator
- added sha256 Operator
- fixed crash when using deprecated regexp operands for filter operators
- extended lookup Operator to support indexes as well as fields
- extended search Operator with new 'some' flag
- fixed untagged Operator to consider non-existent tiddlers to be untagged
- extended insertbefore Operator to accept the position title as a parameter, instead of as a variable name in the suffix
- fixed butlast Operator to be consistent with the rest Operator
Hackability Improvements
- added Field Editor Cascade for customising how fields are displayed in the edit template
- added support for directly specifying style properties on HTML elements (for example,
<div style.color={{!!color}}>
) - added support for code-body field set to yes to trigger display of a tiddler in the code view
- added support to WidgetMessage: tm-scroll for scrolling without animating
- added support for WidgetMessage: tm-relink-tiddler
- extended WidgetMessage: tm-open-window to support 'top' and 'left' parameters
- added new matchSelector attribute to the EventCatcherWidget
Developer Improvements
- added support for renderEnd() method for storyviews
- added sourceURL tags to $:/boot/boot.js and $:/boot/bootprefix.js, enabling them to be accessed in the browser debugger more easily
Node.js Improvements
- added several new web server options: admin, required-plugins and tls-passphrase
Performance Improvements
- added support for caching the listed Operator
- improved stylesheet handling to avoid unnecessary refreshes
Bug Fixes
- fixed importing/upgrading encrypted single file wikis
- fixed WidgetMessage: tm-edit-text-operation crash with wrap-lines operation if prefix or suffix is missing
- fixed processing of $:/tags/RawMarkupWikified/TopHead tiddlers
- fixed issue whereby renaming tags could result in duplicate tags
- fixed search results obscured on narrow screens
- fixed ActionListopsWidget bug with input list items starting with
-
,+
,~
,:
or other character with a special meaning in filters - fixed (and here) refreshing of the ButtonWidget when the
default
attribute changes
Acknowledgements
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: