This is an old revision of the document!
Table of Contents
Releases
See release process.
This page contains details about DokuWiki core changes that affect developers (plugins, templates and others) in order to separate them from the more commercial user release notes that should encourage usage of DokuWiki and upgrading to the latest release.
You can subscribe to this page to stay informed about changes1)
Developers’ Changelog
Development night-shot
Date | Change | Submit | Affects |
---|---|---|---|
2018-09-11 | New Menu system | PR | Templates & Plugins adding their own buttons to the page menu |
Github issue tracker:
Old bug tracker: Read-only
Release winter 2017 "Frusterick Manners"
Date | Change | Submit | Affects |
---|---|---|---|
2017-xx-xx | complete this listing | or PR | |
2017-xx-xx | or PR | ||
2017-02-03 | lib/tpl/dokuwiki/css/admin.css was renamed to _admin.less | 1809 | Templates reusing dokuwiki styles |
2016-11-13 | interwiki substitution for external media files | 1737 |
Github issue tracker:
Old bug tracker: Read-only
Release summer 2016 "Elenor of Tsort"
Date | Change | Submit | Affects |
---|---|---|---|
2015-04 | Remove deprecated stuff e.g. 'disabled' files for plugins, old auth configs, double-decoding in XMLRPC putAttachment, render() in non-syntax plugins, remove cliopts, default | #1535 | |
2015-04-19 | Remove old browser support i.e. especially upto IE8 | PR 1539, #1535 | |
2015-04-18 | Add rel=noopener to links opening in new window | PR 1531 | |
2015-04-18 | Add generic 3way merge capability | PR 1529 | |
2015-04-07 | Reflection based method export for remote plugins | PR 1501 | Remote plugins |
2015-04-07 | Add support for new Django hashing methods | PR 1495 | Authentication |
2015-04-07 | Make reuse of js mediamanager popup easier | PR 1479 | Plugins |
2016-02-24 | Add event COMMON_WIKIPAGE_SAVE for intercepting wiki page saving. | PR 1472 | Plugins |
2016-02-05 | Disable/enable user editing of AD name/email via config | PR 1399 | |
2015-2016 | Improve new form | PR 1340, #1312 | |
2015-11-27 | Deactivate XSS-protection during preview | PR 1387 | |
2016-01-29 | Enable using PHP builtin webserver for routing and url rewriting | PR 1383 | Development |
2016-04-18 | Add ACL check to page_findnearest. May break e.g. current sidebar setups | #1369 or PR 1370 | Templates and plugins |
2015-03-12 | Config multicheckbox without extra string input | PR 1361 | Plugins and templates |
2015-09-25 | Add function blank(), checks if empty, but zero is not blank | PR 1365 | Development |
2015-2016 | PHP7 errors, warnings and notices | PR 1373, 234b5c9 and more | |
2016-03-12 | Renamed the config remoteuser value to !!not set!! and verify on accessing. | PR 774 | |
2016-04-18 | Show size of wiki changes in revision log | PR 1316 | |
2016-04-19 | removed deprecated changelog functions | aa13c9a | |
2015-08-17 | Update default included options for Creative commons license 3.0 Unported to CC 4.0 International | #1286, PR 1317 | Content licenses |
Github issue tracker:
- 110 issues closed
Old bug tracker: 23 Issues closed from 2015-08-10 until 2016-06-28
Release Summer 2015 "Detritus"
Date | Change | Submit | Affects |
---|---|---|---|
2015-07-30 | Removed support for style.local.ini | 656e5845 | Users with a customized template |
2015-07-30 | Removed vast amounts of the old JavaScript library | 767d1669 | plugins and templates using JavaScript |
2015-07-30 | Removed TarLib and deprecated Tar and ZipLib classes | 0b55591d | plugins handling tar packages |
2015-07-30 | Removed more deprecated stuff (subscription_addresslist() , class setting_richemail , msg param in dw_locktimer.init() ) | 34d1de72 + 3333cbc9 | |
2015-07-15 | Change all submit buttons from input to button | PR 1231 | Templates and plugins using buttons |
2015-07-27 | Remove deleted files on update of extension with deleted.files in extension folder | PR 1240 | Plugins and templates |
2015-07-18 | Add returnonly option to all link functions in XHTML renderer | PR 1239 | Plugins and templates |
2015-07-26 | Plugin Styling added, let administrators adjust the style.ini with live previewing | PR 1163 | Templates |
2015-07-26 | Removed IE7 support | PR 1253 | Templates and Plugins |
2015-07-24 | Interwiki changes: among other things, removed default definitions of dokubug , coral , freecache and sb and their respective icons | PR 1247 | Extensions using interwiki icons |
2015-02-19 | Add events TEMPLATE_SITETOOLS_DISPLAY and TEMPLATE_USERTOOLS_DISPLAY for adding buttons in sitetools or usertools. | PR 470/ PR 1278 | Templates and plugins |
2015-08-05 | Add event TPL_ACTION_GET for adding or modifying action link properties | PR 1279 | Plugins |
2015-02-19 | Add event HTML_SHOWREV_OUTPUT that modifies message above old revisions | PR 1046 | Plugins |
2015-05-27 | Let plugins send own usage data via popularity plugin with PLUGIN_POPULARITY_DATA_SETUP | PR 1150 | Plugins |
2015-05-16 | Use composer to add 3rd party libraries | PR 1152 | Development, plugins |
2015-05-16 | Filter by enabled, disabled and updatable plugins in the extension manager | PR 1113 | Templates (maybe) |
2015-05-09 | File-in-use reference at page listing in media detail view | PR 1072 | Templates' detail.php |
2015-05-08 | Cache javascript per template | PR 1130 | Template switchers |
2015-05-07 | Make it possible to remove entries from DOKU_PREFS cookie | PR 1129 | Extensions using DOKU_PREFS cookie |
2014-12-11 | Extend config cascade with user*.less files | PR 954 | Potentially plugins, templates and anything using the config cascade (e.g. farms) |
2015-02-23 | Add tbody to renderer | PR 1048 | Plugins |
Github issue tracker:
- 105 issues closed
Old bug tracker: 21 Issues closed from 2014-09-30 until 2015-08-10
Release September 2014 "Hrun"
Date | Change | Submit | Affects |
---|---|---|---|
2014-05-10 | Deprecated functions are now logged to the debug log. Developers should enable allowdebug and monitor the log to see if any deprecated functions are used. | 1419a485 | Plugins and Templates |
2014-09-29 | Extended the config cascading such that custom localization strings are read as well | PR 708 | Localizations |
2014-09-29 | Jump back to state of a page at certain date with url parameter ?at=2012-06-04 . Support timestamps and dates | PR 624 | Revisions |
Github issue tracker:
Old Issue tracker: 26 Issues closed from 2014-05-05 until 2014-09-29
Release Spring 2014 "Ponder Stibbons"
Date | Change | Submit | Affects |
---|---|---|---|
2014-02-23 | Made styles independent of IDs. | 1e94c17540, 0b1e5003aa | Templates and Plugins (CSS) |
2014-02-02 | HTML5 audio & video support | PR 265 | Syntax |
2014-01-19 | Event AUTH_ACL_CHECK let you replace default ACL mechanism, or modify its result | PR 493 | Plugins |
2014-01-19 | Deduplicate code for syntax plugins. Replaces wiki text parser render() by render_text() | PR 496 | Plugins using render() |
2014-01-19 | New extension manager which replace plugin manager | PR 284 | Completely rewritten |
2014-02-16 | Add ordering to event handlers | PR 552 | Plugins with ordening workarounds |
2014-03-24 | Adds <thead> to the html of the tables of DokuWiki, when (i) TD < 2 in a row (ii) TD <= 50% of total cells and (iii) Not all table rows can be THEAD rows | PR 387 | Plugin using <thead> |
2014-03-05 | Define overridable constants for session cookie properties | PR 578 | Some external auth plugins |
2014-03-16 | Added tpl_img_meta() and tpl_action()-actions mediaManager and img_backto . These let you thin out your template's detail.php | PR 573 | Templates detail.php |
2014-03-16 | Event COMMON_USER_LINK lets replace the user interwiki link. | PR 527 | Plugins |
2014-02-20 | Removed old fix for dateformat config | 8d443db51f | Old dformat configs |
2014-01-20 | Doku_Plugin->render() has been renamed to render_text() | 1843bbd | Non-Syntax-Plugins |
2014-02-14 | dw_qsearch as jQuery function | PR 502 | Plugins using qsearch |
2014-02-02 | window.getSelection() and window.setSelection() have been renamed to DWgetSelection() and DWsetSelection() | 7e487fcf | Plugins using JavaScript to access cursor positions |
Github issue tracker:
Old Issue tracker: 117 Issues closed from 2013-12-08 until 2014-05-05
Release Autumn 2013 "Binky"
Date | Change | Submit | Affects |
---|---|---|---|
2013-07-31 | Blowfish implementation is replaced by the AES implementation from phpseclib. e.g. PMA_blowfish_encrypt and PMA_blowfish_decrypt are replace by auth_encrypt and auth_decrypt (example) | PR 242 | Plugins using Blowfish |
2013-08-01 | Event TEMPLATE_PAGETOOLS_DISPLAY lets the pagetools in the default template be changed. (Used to be TEMPLATE_<template>_PAGETOOLS_DISPLAY in first RC.) | PR 236 | Plugins, Templates |
2013-10-13 | Cookie settings available in javascript as DOKU_COOKIE_PARAM.path and DOKU_COOKIE_PARAM.secure | PR 371 | Plugins |
2013-06-16 | Event AUTH_PASSWORD_GENERATE let plugins replace password generation | PR 230 | Plugins |
2013-08-02 | Added LESS support for CSS files | PR 240 | CSS (Templates, Plugins, userstyles) |
2013-08-03 | Made local style.ini work in farms | PR 262 | Templates |
2013-08-03 | Deprecated style.local.ini use conf/tpl/<tpl>/style.ini instead | PR 262 | Templates |
2013-08-02 | Improved localization support of templates. Added tpl_locale_xhtml('key') to read localized text files. Also javascript localization is supported. Strings are accessible at LANG.template.<your template name>.key | PR 251 | Templates |
2013-07-30 | Remote API to add and remove ACL rules | PR 239 | XML-RPC |
2013-11-17 | Removed inclusion of RTL styles | PR 406 | Templates, Plugins |
2013-11-17 | Removed 'default' userstyle from config_cascade | PR 406 | uses of old config_cascade (farms, etc) |
2013-11-17 | Removed html_attbuild() | PR 406 | plugins |
2013-11-17 | Removed 3rd parameter of cleanID() | PR 406 | plugins and templates using cleanID() |
2013-11-17 | Removed tpl_getFavicon() | PR 406 | templates |
2013-11-17 | Removed some images in lib/images/ 2) | PR 406 | plugins and templates using them |
Github issue tracker:
Issue tracker: 160 Issues closed from 2013-05-10 until 2013-12-08
Release Spring 2013, "Weatherwax"
Date | Change | Submit | Affects |
---|---|---|---|
2012-11-04 | Auth backends are replaced by Auth plugins. All backends need an update to plugins. | PR 141 | Every authentication backend |
2013-02-16 | Allow richer email addresses in notify and registernotify by using placeholders FS#2689 | a9b6a8b5 | Email notification |
2013-01-26 | Added the loadHelper() method to the Syntax Plugin class. | fec2accc | Syntax plugins |
2012-01-09 | Changed calback function search_allpages() for search(). Option dept is now absolute in stead of relative | PR 154 | Plugins |
2013-01-08 | Added template unit tests infrastructure | 629196125e | Templates |
2013-04-07 | lib/exe/fetch.php is changed to improve its security. Addition of a token to image urls when resizing or cropping is required. See also list of affected plugins | PR 203 | Plugins |
2012-11-12 | Rewrite of TarLib. More memory efficient and improved API. | PR 140 c30996a | Handling of tar packages |
2012-11-05 | The PAGEUTILS_ID_HIDEPAGE event is signalled when DokuWiki checks if a page is hidden, handlers can use it to hide a page or show a hidden page. | 8449cc9d, fb55b51e | Plugins |
2013-02-03 | Update to jQuery 1.9, deprecated jQuery migrate plugin added | cc4bb766 | Plugins, Templates and Userscripts |
2013-02-16 | deprecated the Blowfish library (Horde_Cipher_blowfish , PMA_blowfish_encrypt and PMA_blowfish_decrypt ), a new library will be included in the autumn 2013 release | 2685 | Plugins that use the Blowfish encryption |
2012-07-12 | [: check this] deprecated Wrapper subscription_addresslist for plugins emitting COMMON_NOTIFY_ADDRESSLIST themselves and relying on on this to be the default handler | e13e01da | Plugins |
2013-02-16 | Complete switch to jQuery, removed old compatibility layer | 99421189 | Plugins, Templates and Userscripts which use out-dated JavaScript |
2013-02-17 | removed functions deprecated in 2005/2006: plugin_localFN(), plugin_locale_xhtml(), plugin_email(), plugin_link(), plugin_render(), setCorrectLocale(), io_runcmd(), p_wiki_xhtml_summary(), p_cached_xhtml(), search_callback(), search_backlinks(), search_fulltext(), search_regex() | c33b315b | Plugins |
Github issue tracker: 67 Pull Requests merged
Issue tracker: 115 Issues closed from 2012-10-13 until 2013-05-10
Release 2012-10-13 "Adora Belle"
Date | Change | Submit | Affects |
---|---|---|---|
2012-01-30 | Deprecating the DOKU_TPL* constants : two new tpl_* functions returning the correct paths based on the $conf variables which can be changed from the DOKUWIKI_STARTED event | c4766956 | Templates |
2012-03-23 | Added abstraction layer to xml-rpc api | a2b7fdb8 | XML-RPC |
2012-04-08 | Removed anchors from headings | 16cc7ed7 | Templates |
2012-04-08 | Changed <abbr> to <acronym> | 940db3a3 | Templates |
2012-04-08 | Renamed smiley image class to 'icon' | 8e38227f | Templates |
2012-04-09 | Changes to the way CSS files are loaded | 6c47a78c | Templates and plugins with @media queries |
2012-04-09 | Improved HTML for search results | 91b05b6b | Templates |
2012-04-09 | Rewrote and improved HTML for TOC | d5acc30d | Templates (and changes to the TOC) |
2012-05-01 | Replace SimpleTest with PHPUnit | 3c0d44f | simpletest, unittesting |
2012-06-24 | Input ($_REQUEST/POST/GET) wrapper | 89177306 | Plugins |
2012-07-01 | Sidebar inclusion | e66d3e6 and changes 835dfcae | Templates |
2012-07-08 | Change caching to expire when dependency has equal modification time, pay attention when using circular dependencies and dependencies that could be updated at the same time as the cache | 79b37bb8 | Plugins that modify caching |
2012-07-08 | Include no longer allowed in local config. use local.protected.php instead | 499add6b | Configs using include |
2012-10-10 | __highlight__ has become a guaranteed style.ini placeholder | 5db35f6f | Templates |
2012-10-11 | Changed JS for section highlighting | 870c8a4b | Plugins and tips making use of section highlighting |
deprecated tpl_getFavicon() (wrong name) | 27833958 | templates using it should use new tpl_getMediaFile() instead |
|
deprecated DOKU_TPL and DOKU_TPLINC constants (make problems with dynamic template switching) | c4766956 | templates and plugins should use tpl_incdir() and tpl_basedir() instead | |
deprecated RTL CSS mode (had several issues, superseded by better way) | 6c47a78c | RTL styles in templates, plugins or userstyles will not be included in the resulting CSS | |
deprecated some images in lib/images/ 3) (they were very old and not in use) | c973a9c8 | they will be missing from plugins/templates using them | |
removed deprecated global $NS variable in doku.php | |||
removed deprecated images: lib/images/icon-file.png + lib/images/icon-thumb.png |
Issue tracker: 192 Issues closed from 2011-11-10 until 2012-10-13
Release 2011-11-10 “Angua”
Date | Change | Submit | Affects |
---|---|---|---|
2011-05-26 | Media revisions | e4f389ef, see also GSOC sponsored work | All media files are now versionned and data/media_attic contains old revisions. This feature can be disabled in the config |
2011-06-09 | New ajaxified media manager | d9162c6c and lots of commits following that one | Media manager has changed to handle media files revisions |
2011-05-29 | jQuery branch merged into the main repository. The core code has been rewritten since, most plugins should still be compatible (please test), the old JavaScript API will be removed in the October 2012 release. | 79344f5b and many more commits | Plugins that use JavaScript |
2011-08-19 | Meta files from plugins aren't deleted automatically anymore when the page is deleted, plugins can use the IO_WIKIPAGE_WRITE-event if they want to delete their meta files | c5f92742 | Plugins that use custom meta files |
2011-09-10 | Config_cascade support for enabling/disabling plugins, deprecated disabled plugin files | 29d511bf | Farm setup |
2011-09-25 | Namespaces ending in underscores are no longer possible. | b680ea06 | Users with namespaces ending in underscores |
2011-10-10 | Page summary limited to 255 chars | 7fa35bb1 | Changelog of any page edition is now limited to 255 chars |
2011-10-15 | Flash uploader removed | 6f0b0dd1 | The flash multi-file uploader has been superseeded by the multi-uploader of the new media manager |
2011-10-15 | Several XML-RPC fixes | b760af94 and several other commits | XML-RPC access, encoding… |
deprecated double-decoding in XMLRPC putAttachment (Bug) | 80d6fbc3 | ||
deprecated vast amounts of the old JavaScript library, replaced by new jQuery-based library | Everything in compatibility.js | Plugin and template JavaScript may stop working | |
2011-11-28 | deprecated 3rd parameter of cleanID() | 3543c6de | plugins and templates using cleanID() |
removed deprecated action “(un)subscribens” | |||
removed JavaScript function “escapeQuotes” (was deprecated in Rincewind, but was removed anyway) |
Issue tracker: 90 Issues closed from 2011-05-25 until 2011-11-10
Release 2011-05-25 “Rincewind”
Date | Change | Submit | Affects |
---|---|---|---|
2010-11-22 | Metadata has got a caching mechanism, it can be influenced using the PARSER_CACHE_USE-event. p_get_metadata does now trigger rendering metadata | 98214867 | Plugins |
2011-02-04 | Replace COMMON_PAGE_FROMTEMPLATE with COMMON_PAGETPL_LOAD event | 7b84afa2 | Plugins |
2011-02-06 | MEDIA_UPLOAD_FINISH got a sixth parameter | ffb291f2 | Plugins |
2011-02-06 | p_set_metadata can now be used in render -functions (e.g. of plugins) | 0e5fde48 | Plugins (just new feature) |
2011-02-20 | $lang['register'] has been renamed to $lang['btn_register'] | bf413a4e | Plugins and Templates which use $lang['register'] |
2011-02-26 | renamed 'default' userstyle to 'screen' in config_cascade (so 'default' is still supported, but deprecated) | 318cd03e | Farmers |
2011-02-26 | renamed userstyles for 'all', 'print', 'rtl' and 'feed' modes (back to what it was before Anteater) | 4e098b31 | Userstyles other than 'userstyle.css' |
2011-03-06 | The INDEXER_PAGE_ADD-event has been changed (different and additional parameters) | 39d6fd30 | all plugins using the event |
2011-03-08 | The indexer changes have been merged (there have been more changes after this). There is a new indexer class and a metadata index that can be used as key-/value-store. See metadata index for the new events and usage instructions. | d8e733ee | Plugins |
2011-03-19 | The password is no longer stored (encrypted) in the session, it's just the hash now. You can get it out of the login cookie, but the encryption has been changed there. | 234ce57e (session), e940aea4 (cookie) | authentication backends (if they need the password after the login) |
2011-05-08 | More caching logic for metadata, new $render parameter values for p_get_first_heading and p_get_metadata | 65aa8490, 67c15ece | Plugins (and templates) that use p_get_first_heading or p_get_metadata |
2011-01-31 | Different diff styles | 72165381 | Needs styling |
deprecated $NS in doku.php | bced4159 | ||
deprecated JavaScript function escapeQuotes, replaced by jsEscape | 20d062ca |
Issue tracker: 135 Issues closed from 2010-11-07 until 2011-05-25
Release 2010-11-07a “Anteater”
Date | Change | Submit | Affects |
---|---|---|---|
http://www.freelists.org/post/dokuwiki/Changes-in-Anteater-for-plugin-authors | Plugins | ||
Subscription management added, needs styling | Templates | ||
Mediamanager options added, need styling | Templates | ||
2010-09-09 | DokuWiki version added to admin view, needs styling | 9a2cec2e | Templates |
deprecated action “(un)subscribens” | Templates | ||
2010-10-21 | deprecated html_attbuild(), use buildAttributes() instead | c277a6bd | plugins |
Issue tracker: 265 Issues closed from 2009-12-25 until 2010-11-07
Release 2009-12-25c “Lemming”
Date | Change | Submit | Affects |
---|---|---|---|
2009-08-12 | Linkwizard added, needs styling | 56dfcc12 | Templates |
Release 2006-11-06
Unsemantical guaranteed ''style.ini'' colour placeholders have been renamed: __white__
, __medium__
, __lightgray__
, __dark__
, __black__
, __darker__
and __darkgray__
shouldn't be used anymore.
Deprecation
Removing legacy interfaces, behaviours and features is done over a period of three releases: In the first release, the object is deprecated, in the third, removed. This means that a plugin or template which only uses non-deprecated aspects should at least work in two future versions as well. Put the other way: A template or plugin older than a year is possibly broken.
The function dbg_deprecated($alternative = '')
is used for logging calls to deprecated functions since 2014. When the config allowdebug is enabled, you can find logged calls in the debuglog.