See GitHub for detailed change history of this release
New Conditional Operators
Added new Conditional Operators then Operator and else Operator
New Mathematics Operators
Added several new Mathematics Operators for working with numbers: negate, abs, ceil, floor, round, trunc, untrunc, sign, add, subtract, multiply, divide, remainder, max, min, fixed, precision, exponential, sum, product, maxall and minall.
New String Operators
Added several new string operators: match, length, uppercase, lowercase, titlecase, sentencecase, trim, split, splitregexp and join.
Improved Handling of Duplicates in Filters
There is now finer control over TiddlyWiki's default behaviour of removing duplicates from filter results, making it much easier to work with the new mathematics and string operators:
- Added support for new
=
prefix for merging filter runs without removing duplicates - Added option for the enlist Operator to not remove duplicates
Improved Keyboard Shortcuts
Keyboard shortcut handling has been significantly improved with the following new global shortcuts (configurable via $:/ControlPanel):
- ctrl-shift-F - focus the sidebar search field
- alt-shift-S - toggle the visibility of the sidebar
- ctrl-shift-A - open the advanced search tiddler
Saving to GitHub and GitLab
Added a Git service saver for saving directly to GitHub and GitLab
Plugin Improvements
New and improved plugins:
- New BrowserStorage Plugin for saving tiddlers in browser local storage
- New Innerwiki Plugin for rendering TiddlyWiki screenshots
- Updated KaTeX Plugin to KaTeX v0.10.2
- Added an editor toolbar button for the KaTeX Plugin
- Updated Highlight Plugin to use highlight.js v9.15.6
- Added support for language aliases with the Highlight Plugin
- Updates to the CodeMirror Plugin, including adding support for smart indent
- Updates to the Dynaview Plugin, including adding support for restoring the scroll position at startup from local storage
- Updates to the Amazon Web Services Plugin, including adding support for specifying credentials
Translation Improvements
New and improved translations:
- Catalan
- Chinese Simplified and Chinese Traditional
- French
- German
- US English
Performance Improvements
- Added pluggable index modules to accelerate the field Operator and the tag Operator (in tests on a wiki with 60K tiddlers, startup time is reduced by 25% with these optimisations, and refresh time is reduced by a factor of three.)
- Optimised the "Classic" storyview to perform much faster when the animation duration is set to zero (approximtely 50% speed improvement was observed in tests opening a storyview with 8,000 entries)
- Optimised the RevealWidget to avoid using the relatively slow
localeCompare()
method to compare strings - Updated Performance Instrumentation to show the timings for individual filters
- Optimised rendering and refreshing child widgets
Usability Improvements
- Improved the palette manager with the ability to delete entries, and directly edit indirect entries
- Several new palettes: "Nord", "Solarized Light", "Spartan Day", "Spartan Night" and "Twilight"
- Fixed the plugin library to search all plugin fields
- Added a warning when core JavaScript modules are overwritten via import
- Fixed prompt for references when renaming a tiddler
- Added a new filter preset for advanced search for "tiddlers modified this session"
- Added a number of animations (some of were already present but had been broken over the years) for changes in:
Hackability Improvements
- Added support for configurable view and edit templates
- Improved the dumpvariables Macro
- Added new variables Operator and getvariable Operator
- Added new WidgetMessage: tm-focus-selector
- Added new escapecss Operator
- Added new unusedtitle Macro
- Added new
[is[variable]]
option to the is Operator - Added new
[is[blank]]
option to the is Operator - Added optional autofocus for the text inputs in $:/AdvancedSearch (controlled by the same Hidden Setting: Search AutoFocus as the sidebar search)
- Added optional tabindex attribute to simple, framed and CodeMirror text editor engines
- Added tabindex attributes to edit templates
- Added outline colour to button, textarea, input
- Added tooltip attribute to SelectWidget
- Added an option for plugins to disable the initial navigation at startup
- Added $:/info/browser/language to the InfoMechanism
- Added an example of using StartupActions to set the default language
- Improved importing of JSON files to verify whether they are valid tiddler files, and import them as plain JSON if not
- Improved the LinkWidget to use the title of the target tiddler as a default if it has no content
- Improved WidgetMessage: tm-open-window to allow a window title to be specified
- Added checkActions attribute to the CheckboxWidget
- Added support for searches anchored to the start of a field
Bug Fixes
- Fixed a long standing problem with the main standalone HTML file template whereby raw markup tiddlers would be included even if not selected by the save filter
- Fixed overlapping dropdowns with sticky titles enabled
- Removed apparently obsolete limitation of selection wrapping in text editor
- Fixed bug in RevealWidget when stateTitle tiddler is missing
- Fixed bug with animation duration being blank
- Fixed Firefox problem with drag and drop placeholders in the "open" tab of the sidebar
- Ameliorated Firefox problem with sticky placeholder during drag and drop operations
- Fixed CodeMirror Plugin to use tiddler-editor-border colour
- Fixed problem using the TiddlySpot saver with cookies disabled
- Fixed framed text editor to use correct background colour
- Fixed problem with the class
tc-sidebar-lists
being used on two different areas of the sidebar, making it impossible to distinguish them in CSS selectors - Fixed problem with unnecessary "list" field created when renaming tiddlers
- Fixed crash with EditBitmapWidget and missing tiddlers
Node.js Bug Fixes and Improvements
- Added new SaveWikiFolderCommand to save a wiki as a wiki folder
- Added new DeleteTiddlersCommand
- Added (and also here) ability to specify plugins on the command line (see Using TiddlyWiki on Node.js)
- Added support for deflate and gzip compression to the WebServer ListenCommand
- Added an option to the LoadCommand to ignore loading errors
- Improved handling of JSON files by the file system adaptor:
- Use
.json
files (instead of.tid
) for any tiddler whose fields contain values that can't be stored as a .tid file - Save
application/json
tiddlers as.json
files
- Use
Developer Bug Fixes and Improvements
- Added support for widget subclassing – see https://tiddlywiki.com/prerelease/dev/#WidgetSubclassingMechanism
Contributors
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: