See GitHub for detailed change history of this release
Major Improvements
Performance Optimisations
This release includes several low-level performance optimisations that should improve speed and responsiveness in many common operations.
- Caching the results of parsing a tiddler
- Loop optimisations
- Tiddler iteration optimisations
- State qualifier generation
- Caching data tiddlers
- Removed expensive visual effects
There is a new setting in the control panel to enable performance instrumentation, making it much easier to measure and improve performance issues.
New Editions
Three new editions of TiddlyWiki are included in this release. These can be used as starting points for creating your own wiki for several purposes:
- The Résumé Builder Edition by @inmysocks is a custom edition to guide you through the process of using TiddlyWiki to create a good looking résumé (or curriculum vitæ)
- The Blog Edition provides tools for using TiddlyWiki under Node.js to create a static HTML blog that can be published on GitHub pages (or similar)
- The Text-Slicer Edition is a custom edition with tools to help advanced users slice longer texts up into individual tiddlers.
External Text Tiddlers
Limited support for tiddlers stored in external .tid
files:
- standalone TiddlyWiki HTML files with external text tiddlers can be built under Node.js
- wikis with external text tiddlers can be worked with in the browser, automatically lazily loading the content of external text tiddlers when it is first referenced
- saving changes in the browser doesn't work as expected: if edited, the external text tiddler is replaced with an ordinary tiddler
- lazy loading of external text tiddlers doesn't work in Chrome when viewing the TiddlyWiki HTML file on a file: URI; it works OK in Firefox
- lazy loading works on an HTTP URI on all browsers as long as the target file is either stored on the same domain or is served by a server that supports CORS
See Alice in Wonderland for an example. Try opening it without a network connection.
New "Tight" Theme
A new theme called "Tight" uses reduced padding, margins and font-sizes to pack as much text as possible:
Other Improvements
Translation Improvements
- Added Swedish translation by @Superdos
- Added Korean (Korean Republic) translation by @araname
- Improved Catalan, Chinese, Danish, Dutch, French, German, Italian, Russian and Spanish translations
Usability Improvements
- Enhanced the tiddler editor to accept new fields and tags when clicking confirm, without having to click "Add tag" or "Add field"
- Added new fold and fold others buttons to the tiddler toolbar to temporarily hide the body of a tiddler, and also added new fold all and unfold all page buttons
- Added ability to disable individual WikiText parser rules (see the Advanced tab of $:/ControlPanel). Also added a simple setting for disabling automatic linking of CamelCase words
- Extended support for automatically linked system tiddler titles to include digits and underscore
- Added warning when trying to use plugins designed for TiddlyWiki Classic
- Upgraded to version v8.8.0 of highlight.js for the Highlight Plugin
- Removed the need to manually confirm deleting alerts
- Added optional tooltips to tabs Macro
Hackability Improvements
- Updated to KaTeX v0.5.1, with several new features
- Added
publishFilter
to default save template - Allow delete button to be used in the tiddler view-mode toolbar
- Added a new hidden setting for keyboard shortcuts
- Update ActionSetFieldWidget to allow timestamp to be preserved
- Added option to suppress navigation for edit/cancel/save
- Enhance SaveTiddlersCommand with do not delete option
- Enhance RenderTiddlerCommand with template option
- Extend tm-open-window to pass variables
- Added new utility method
$tw.utils.tagToCssSelector(tagName)
for converting tag titles into a form suitable for matching thetc-tagged-*
classes generated by TiddlyWiki - Added support for tiddlers containing mp4 videos
- Extended the ActionSetFieldWidget to enable it to be used to delete a field or indexed property
- Made the tw5.com documentation available as a plugin and an edition, simplifying some scenarios for re-using it
- Improved rendering of "More" sidebar tab gradients in the "Snow White" theme
- Added option in control panel to enable the display of detailed performance instrumentation in the browser developer console
- Added a LazyLoading template for all non-system tiddlers
- Improved handling of TiddlerLinks in Markdown tiddlers
- Extended FieldManglerWidget to create the target tiddler if it does not exist
- Extended KeyboardWidget to trigger ActionWidgets
- Extended SelectWidget to support multiple selections
- Added new days Operator
- Added official plugin wrappers for the JavaScript libraries async.js and JSZip
- Added new ActionListopsWidget
- Added rows attribute to EditTextWidget
Bug Fixes
- Fixed problem introduced in 5.1.9 with processing
tiddlywiki.info
files - Fixed problem with invisible icons in $:/AdvancedSearch
- Improved check for required plugins in ServerCommand
- Fixed problem with queueing change events for deleting non-existent tiddlers
- Ensure EditTextWidget fixes height even if refresh isn't required
- Fixed the gradient on the sidebar tabs divider
- Fixed problem with tiddler titles such as
$:/templates/something
being erroneously classed as$:/temp
tiddlers, and so excluded from syncing - Switched to absolute date format in tiddler subtitles
Node.js Improvements
- Fixed problem with the filesystem adaptor saving new image files as base64-encoded .tid files instead of as native binary files with an accompanying
.meta
file - Extended
tiddlywiki.files
support in TiddlyWikiFolders to allow directories to be loaded recursively, as well as individual files
Contributors
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: