See GitHub for detailed change history of this release

Congratulations to Atronoush for his winning design for the banner for this release (here are the other entries).
Performance Improvements
- amélioré filter execution to use a more efficient linked list structure for intermediate results
- mis à jour widget mechanism to cache the result of parsing macros which don't use text substitution
- mis à jour page templates to use a single VarsWidget instead of several SetVariableWidgets, for improved performance and easier debugging
- mis à jour ListWidget to not initialize parsers for blank
emptyMessage
attributes
Usability Improvements
- renommé "references" to "backlinks" in the tiddler info panel
- ajouté warning message about using the online plugin library with the client-server configuration
- mis à jour favicon for the prerelease edition
- retiré normalize.css's styling of search input fields and mis à jour to a modern fork of normalize.css
- retiré unneeded editor toolbar buttons when editing SVG tiddlers
- ajouté global keyboard shortcut for switching layouts
- cacher the
.tid
exporter when more than one tiddler to export
Import Mechanism Improvements
- ajouté support for renaming tiddlers and a warning about overwriting existing tiddlers
- ajouté colour coding for import items that will overwrite existing tiddlers, and for other warnings
- amélioré other warnings in the import listing
- corrigé content type of imported
.tid
files that do not have atype
field - corrigé extraneous system tiddlers created during import process
Palette Improvements
- corrigé the $:/PaletteManager to show "indirect" colours (ie, colours defined by another
<<colour>>
macro) - ajouté new "Desert Sand" palette
- ajouté new "Cupertino Dark" palette
- ajouté "Solarized Dark" palette
- mis à jour (and ici) the Vanilla theme to optionally use palette colours for the browser selection outline
- mis à jour "Gruvbox" palette readability of toolbar buttons
Keyboard Handling Improvements
- ajouté support for navigating the search and new tag dropdowns via the keyboard. The keyboard-driven-input Macro can be used to add this capability to other dropdowns
- ajouté a tabIndex property to the tiddler editor input area to make it easier to use the tab key to move between edit controls
- ajouté keyboard support for cycling through the tabs in $:/AdvancedSearch
- ajouté keyboard support for navigating the field name dropdown in the Edit Template
- ajouté keyboard support or navigating the
type
field input in the Edit Template - ajouté keyboard support for using the insert wikilink toolbar dropdown in the Edit Template
- ajouté a keyboard shortcut for saving the wiki
- ajouté a keyboard shortcut for deleting a field in the edit template
- ajouté a keyboard shortcut to change the sidebar layout
Widget Improvements
- ajouté EventCatcherWidget for low level event handling
- ajouté new LogWidget and ActionLogWidget to help debugging
- ajouté new ActionConfirmWidget to prompt the user for simple yes/no questions
- étendu ButtonWidget and DroppableWidget so that changing the class attribute does not trigger a refresh. This makes it easier to use classes to trigger CSS animations
- étendu the RevealWidget to optionally dynamically refresh popup positions when the state tiddler changes
- ajouté support for disabled attribute to EditWidget, EditTextWidget, CheckboxWidget, RadioWidget and RangeWidget
- ajouté support for disabled attribute to ButtonWidget
- étendu the MacroCallWidget to be able to optionally render the raw text of the macro (previously the output was always wikified)
- mis à jour the LinkWidget to work within SVG elements
- ajouté accept attribute to the BrowseWidget
- étendu the ActionPopupWidget to allow popups to be dismissed
- étendu the EditWidget to pass all attributes through to the sub-widget
- étendu the LinkCatcherWidget to pass keyboard modifier status to actions
- étendu the RadioWidget to support actions
- étendu the RangeWidget to support actions
- ajouté autocomplete attribute to the EditTextWidget and EditWidget
- corrigé incorrect behaviour of default values with lookup Operator
- corrigé has Operator when used with the tags field
- corrigé crash when using edition Operator in the browser
- corrigé class attribute of DroppableWidget
Filter Improvements
New capabilities:
- ajouté support for multiple operands for filter operators
New filter run prefixes:
- ajouté support for named filter run prefixes
- ajouté new :filter filter run prefix which is analagous to the new filter Operator but applies to a filter run
- ajouté new :intersection filter run prefix to get the intersection of two filter runs
- ajouté new :reduce filter run prefix
New operators:
- ajouté new filter and reduce operators for processing lists of items
- ajouté new power Operator and log Operator
- ajouté new draft Operator to check if a tiddler is a draft of another tiddler
- ajouté new search-replace Operator to search and replace in strings
- ajouté new enlist-input Operator to parse its input titles as a title lists
- ajouté new slugify Operator and duplicateslugs Operator for generating human readable filenames/URLs
- ajouté new sortsub Operator for sorting by a user defined subfilter
- ajouté new format Operator for formatting dates
- ajouté new reduce Operator to apply a subfilter to each input title in turn, accumulating a single value
- ajouté new filter Operator to apply a subfilter to each input title and return the titles that return a non-empty result from the subfilter
- ajouté new toggle Operator to toggle a title in a list
- ajouté new cycle Operator
- ajouté new pad Operator
Other improvements:
- étendu the trim Operator to optionally trim a given string instead of whitespace, and trim from front, back, or both sides of input tiddlers
- étendu jsonstringify Operator and stringify Operator to support "rawunicode" suffix
Tiddler File Naming Improvements
étendu the mechanism for Customising Tiddler File Naming to:
- Save drafts to a special folder for each user
- Allow filters in $:/config/FileSystemPaths to change the path of a tiddler file on disk
- Allow filters in $:/config/FileSystemExtensions to change the extension of a tiddler file on disk
- ajouté
th-make-tiddler-path
hook for low-level control of tiddler path construction - étendu tiddlywiki.files Files specification with
isEditableFile
attribute allowing files to be saved back to their original location
Hackability Improvements
- ajouté basic support for switching page templates
- étendu the WidgetMessage: tm-scroll message to allow the target element to be specified by a CSS selector, making it possible to scroll to positions within a tiddler
- corrigé modals to incorporate a NavigatorWidget so that links work as expected
- étendu the Table-of-Contents Macros to support custom link targets
- ajouté new Hyperdrive saver for use with Beaker Browser v1.0
- étendu favicon mechanism to support _canonical_uri images
- ajouté support for recording the startup timestamp in $:/info/startup-timestamp (see InfoMechanism)
- ajouté support for SVG favicons
- étendu
th-saving-tiddler
hook to include information about the draft tiddler (see https://tiddlywiki.com/dev/#Hook%3A%20th-saving-tiddler) - étendu WidgetMessage: tm-rename-tiddler to control whether relinking occurs
- étendu WidgetMessage: tm-import-tiddlers to override the title $:/Import and to better control whether the import tiddler is opened automatically
- étendu the internal
<$element>
widget to add a hook so that plugins can intercept DOM node creation - ajouté original event to
tm-navigate
event - étendu the password prompt to enable it to be customised
- étendu syncer to enable syncadaptors to customise the login prompt
- étendu the tabs Macro to support
actions
andexplicitState
attributes - mis à jour (and ici) filters used for syncing on node.js and saving the single file version to exclude multiple story lists and history lists based on their prefix, as well as multiple tiddlers that might be used for the import process
- ajouté post-render startup actions
- ajouté support for username/password parameters for
tm-login
message - ajouté support for the content type image/jpg (the correct type is image/jpeg but the misspelling is common so most browsers now support it)
- ajouté support for an override saver
- ajouté utility CSS classes to replace use of
to introduce visual separation - ajouté option to configure the tag used for TableOfContents in the menubar
- modifié the KeyboardWidget to not trap keys if there are no actions to be invoked
- ajouté buttons to the Edit Template toolbar for the editor-height and the stamp tool for tiddlers of type application/javascript,application/json and application/x-tiddler-dictionary
- mis à jour all instance of the tabs Macro in the core to use the explicitState attribute
- ajouté support for the meta key as a modifier in actions
- ajouté support for $:/info/darkmode to the InfoMechanism, reflecting the browser dark mode vs. light mode setting
- mis à jour
story.js
to remove dependency onwiki.js
for story start up and navigator
Plugin Improvements
JSZip Plugin
étendu the JSZip Plugin with the ability to dynamically create Zip files, and thus to conveniently build multi-file static sites within the browser
Consent Banner Plugin
ajouté the new Consent Banner Plugin plugin helps make websites that are compliant with "cookie legislation" such as the EU General Data Protection Regulation. It presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.
By default, content embedded with <iframe>, <embed> and <object> is blocked unless the user consents to accept cookies.
Consent status is available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.
Please note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice.
Freelinks Plugin
- ajouté (and ici) support for ignoring case when matching titles
- corrigé bug with autolinking within HTML
<a>
elements
Twitter Plugin
- ajouté warning if wiki needs to be saved and reloaded
Dynaview Plugin
CodeMirror Plugin
- corrigé issue with
e.toggleComment
being undefined with CodeMirror Sublime keymap - mis à jour CodeMirror plugins to version 5.58.3
Markdown Plugin
- corrigé encoding of Markdown image files
- corrigé issue with whitespace and linebreaks
- ajouté tc-tiddlylink-external class to external links
- corrigé to add
rel="noopener noreferrer"
to external links - mis à jour to use palette colours
Amazon Web Services Plugin
- ajouté a new aws-encodeuricomponent filter that also encodes single quotes
BibTeX Plugin
- mis à jour to a later fork of the underlying third party BibTeX parsing library
Menubar Plugin
- mis à jour so the top margin of the side bar adjusts to the height of the menu
Dynannotate Plugin
- ajouté examples of usage in the View Template
External Attachments Plugin
- corrigé a bug with relative paths in the External Attachments Plugin
Highlight Plugin
- mis à jour to use palette colours
Translation Plugins
- ajouté new Arabic (Palestine) translation
- mis à jour Catalan translation
- mis à jour (and ici) Chinese translation
- mis à jour Dutch translation
- mis à jour French translation
- mis à jour German translation
Other Bug Fixes
- corrigé parsing of dates from 0 to 100CE
- corrigé handling of negative dates (see Date Fields and DateFormat)
- corrigé "409 conflict" errors with the GitHub saver when saving within 60 seconds of the last save
- corrigé behaviour of system tiddler syncing with the client server configuration. By default, changes to system tiddlers are not synced from the server to the client, restoring the behaviour from v5.1.21 and earlier. Bidirectional syncing of system tiddlers can be enabled with the configuration tiddler $:/config/SyncSystemTiddlersFromServer
- corrigé hover effect for search dropdown items
- corrigé restored missing parameter to
saveTiddler()
method of syncadaptors - corrigé MakeLibraryCommand to skip non-directories
- corrigé erroneous use of
$tw.wiki
- corrigé high CPU usage with animated syncing icon introduced in v5.1.22
- corrigé $:/config/NewJournal/Tags appearing in tag dropdowns
- corrigé popups not being cancelled when clicking within a text editor
- corrigé issue with timeline Macro and invalid date values
- corrigé hover colours of tag dropdowns in the sidebar
- corrigé alignment of tag pill icons
- corrigé crash with droppable widget
- corrigé issue with adding tags in $:/Manager
- corrigé edit template "type" dropdown positioning
- corrigé edit template field dropdown positioning
- corrigé (with addendum) syntax error in ScrollableWidget
- corrigé problem with headers not being treated case insensitively
- corrigé problem with
Content-Type
HTTP header sent asContent-type
- corrigé EntityWidget not refreshing correctly
- corrigé Markdown Plugin to honour alignment directives
- corrigé syncing issues with external JS template
- corrigé incorrect base64 encoding of astral plane Unicode text
- corrigé server error when saving a new tiddler created by following a tiddler link
- ajouté a
plugin-priority
field to the TiddlyWeb plugin so that language plugins can override its language strings - corrigé bug whereby joining an empty list would not return an empty list
- corrigé bug exporting tiddlers with double quoted titles
- corrigé bug with syncing plugin tiddlers
- corrigé bug with the position of the tiddler title when there is no icon in use
- corrigé unwanted autosave in the upgrade wizard
- corrigé problem whereby
$:/temp
tiddlers were being saved in single file wikis - corrigé a bug with the
sortan
filter operator when used with date fields - corrigé a bug for location hashes that contain a
#
character - corrigé default branch to main for saving to GitHub
- corrigé shadow tiddlers not refreshing when their plugin is deleted or modified
- corrigé
tc-dirty
class not appearing on external windows - corrigé
static.tiddler.html
template to make rendered tiddlers full-width
Contributors
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: