TiddlyWiki.org

2.2 Release Note

These are the changes that have been committed for Version 2.2.

Server Connectivity

  • Support for multiple pluggable server adaptors (ticket #250)
  • Improved <<importTiddlers>> to allow tiddlers to be obtained from any server type (for example, MediaWiki? or Socialtext, as well as from standalone TiddlyWiki files)
  • Added support for server synchronisation with the <<sync>> macro
  • Added support for missing tiddlers to be automatically retrieved from a server
  • New 'field' toolbar command that pops up a list of the extended fields attatched to a tiddler
  • New 'syncing' toolbar command that pops up a menu showing the current synchronisation status of a tiddler and allowing it to be synced to a different server
  • Added changeCount extended field to all tiddlers to simplify synchronisation (ticket #249)
  • Extended 'contentPublisher' mechanism and renamed tag to 'systemServer'

Backstage

  • Added "backstage" user interface to provide a consistent location for tools needed by TiddlyWiki authors (ticket #247)
  • Added <<backstage>> macro that creates a button that jumps straight to a particular backstage tab. For example, <<backstage sync>>

Usability

  • Added popup previews of tiddler contents in the <<plugins>>, <<import>> and <<sync>>
  • Added ability to progressively reveal additional commands in tiddler toolbars with '>' (which renders as 'more')
  • Added explanatory annotations for shadow tiddlers when in edit mode
  • Extended <<allTags>> macro to allow tags to be excluded if they are themselves tagged with excludeLists
  • Added <<options>> macro to automatically list all available config.options
  • Improved message displayed by core code when the browser has JavaScript? switched off
  • Improved error message for failed saving
  • Added 'size' column to ImportTiddlers? and PluginManager? (ticket #298)
  • Improved <<newTiddler>> and <<newJournal>> macros to accept custom fields
  • Embolden tags that are defined as tiddlers in the tag listing (ticket #114)
  • Added support for heading level 6 (ticket #271)
  • Added ability to use dots in tiddler slice names (ticket #314)
  • Improved default heading styles
  • Tweaked wizard behaviour to hide completed steps
  • Extended <<edit>> macro with second parameter of number of rows for the textbox

Performance

  • New storage format using <PRE> to preserve white space
  • Rearranged HTML file layout to bring the user content closer to the top of the file
  • New 'DOM scrubbing' feature to deal with memory leaks. This will have a big impact on TW coding styles - it permits two useful techniques to be used safely:
    1. the use of closures to pass parameters to event handlers
    2. the storage of JavaScript? objects in DOM attributes
  • Removed the old easter egg (slomo animations when shift is pressed)
  • Improved animation engine that adapts better to the performance of the browser
  • Added new Morpher animator that allows for some cleaner, faster animations

Hackability

  • More detailed source code comments available in Trac
  • Added ability to control the execution order between interdependent plugins (ticket #54)
  • Added paramifier to override readOnly state (eg, http://www.tiddlywiki.com/#readOnly:yes, http://www.tiddlywiki.com/#readOnly:no) (ticket #246)
  • Refactored option handling to make it easier to add new data types (ticket #19)
  • Added init() method for macros
  • Added facilities for dynamically changing or hiding toolbar commands (ticket #242)
  • Added alertAndThrow() utility function
  • Added the ability to inherit certain attributes for newly created tiddlers (ticket #273)
  • Added support for writing strings in JSON format
  • Improved timing instrumentation on main() processing (ticket #257)
  • Added ability to select wikifier based on wikiformat attribute (ticket #260)
  • Simplified Array.prototype.pushUnique (ticket #285)
  • Refactored popup code to make it easier to reuse (ticket #275)
  • Refactored XMLHttpRequest code (ticket #291)
  • Enhanced createTiddlyDropDown (ticket #128)
  • Improved identifiability of TW files (ticket #290)
  • Improved ability to use TiddlyWiki as a PHP template (ticket #304)
  • Added startup time column to <<plugins>> manager
  • Extended toolbar command mechanism to directly support popups
  • Switched to standard K&R code layout (ticket #232)
  • Refactored inefficient code (ticket #227)
  • Rearranged shadow tiddlers into their own, unencoded store area (ticket #184)
  • Refactored saveChanges code to make it easier to add new save mechanisms
  • Increased lint compliance: 312 lint warnings in 2.1.3 reduced to 19 warnings in 2.2

Internationalization

  • Improved internationalization of date formats (tickets #252 and #94)
  • Improved ViewTemplate? shadow tiddler so that it normally does not require localization (ticket #261)
  • Added StyleSheetLocale? shadow tiddler to better support languages which use a logographic writing system (eg Chinese, Japanese and Korean) (ticket #286)
  • Added support for non-ASCII pathnames (ticket #75)
  • Added facility to override the language attribute in TiddlyWiki's XML prologue (ticket #330)

Bug Fixes

  • Fixed problem with chkToggleLinks and the "jump" command (ticket #156)
  • Fixed problem with document title set to " - " under Safari (ticket #109)
  • Fixed problem with overwriting open shadow tiddlers (ticket #191)
  • Fixed problem with search results displayed in reverse order (ticket #296)
  • Fixed endless loop in Tiddler.prototype.changed() (ticket #231)
  • Fixed problem with a:hover style definition changing too many background properties (ticket #240)
  • Fixed problems with some translatable strings in lingo.js not being in double quotes (ticket #241)
  • Fixed problem with highlightify() (ticket #244)
  • Fixes to TiddlySaver? for Linux (ticket #253)
  • Fixed repeated notifications in Story.saveTiddler (ticket #278)
  • Fixed problem with refreshElements() and IFRAMEs (ticket #204)
  • Fixed problem with undefined tiddler reference in wikifier during refresh (ticket #310)

Credits