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:
- the use of closures to pass parameters to event handlers
- 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
- Lead developer: JeremyRuston?
- Core developers: MartinBudden? and UdoBorkowski?
- Community contributors: SimonBaird?, BramChen?, BobMcElrath?, BradleyMeck?, EricShulman?, SaqImtiaz?, SteffenStrobel?