Version 2.1.27 (2006-12-11)

  • Backport in bug fix for TableRowFormat (from 2.2.0-beta16).
  • Add support for {*$Variable} syntax (from 2.2.0 page variables).

Version 2.1.26 (2006-09-11)

  • Fix a bug with variable referencing that caused feeds.php to get a confused PCache (reported by Helge Larsen).

Version 2.1.25 (2006-09-08)

  • Fixed a bug in authuser.php that would fail if $AuthUser isn't defined (reported by Hans Huijgen).
  • Added <!--XMLHeader--> and <!--XMLFooter--> aliases to <!--HTMLHeader--> and <!--HTMLFooter--> directives in skin templates (suggested by John Rankin).
  • Added $PageExistsCache (suggested by John Rankin).

Version 2.1.24 (2006-09-06)

  • Fixed a bug in authuser.php that had trouble dealing with non-array entries in $AuthUser (reported by Udo).
  • Can now specify authorization groups using $AuthUser['@group'] entries.
  • Can now specify an Apache .htgroup-formatted file for authorization groups via $AuthUser['htgroup'].

Versions 2.1.21, 2.1.22, 2.1.23 (2006-09-05, 2006-09-06)

  • Close a potential security hole with $FarmD when register_globals is set "On".
  • Correct a syntax error in feeds.php (noted by Ben Wilson).
  • Fix a bug that prevented PmWiki from reading page files generated by versions prior to 0.5.6 (discovered by Milan Avramovic).

Version 2.1.20 (2006-09-04)

  • Fixed a bug in (:attachlist:) when passed a wikiword argument (reported by Kathryn Andersen).
  • Changed $HTMLStylesFmt['markup'] to honor config.php setting (reported by Hans).

Version 2.1.19 (2006-08-30)

  • Corrected a bug in the pageindex code that was causing the .pageindex to not update as quickly as it should.
  • Slightly changed the handling of 'width' and 'height' in wikistyles.php, so that they can be be applied as attributes to <object> and <embed> tags.
  • Updated the Keep() function to recognize closing block tags as being in the 'B' block pool.
  • Fixed a bug with wikistyles and form tags.

Version 2.1.18 (2006-08-28)

  • Closed a potential cross-site scripting vulnerability in table markups (reported by JB).
  • Added (:input image:) markup (requested by JB).
  • Fixed problem with ?action=print failing to set {$Action} (reported by Bart).

Version 2.1.17 (2006-08-26)

  • Added some improvements to IMS caching to better handle logout and authorization actions (PITS:00573, reported by floozy and Henrik Bechmann).

Version 2.1.16 (2006-08-26)

  • Added $SkinLibDirs variable, to select filesystem and url locations where skins may be found (resolves PITS:00708, as reported by Hagan Fox, with additional suggestions from Ben Wilson).
  • Changed <!--HeaderText--> to <!--HTMLHeader--> in skin templates, and added an optional <!--HTMLFooter--> directive (PITS:00767).
  • Adjusted the pmwiki and print skins to use the new directives.

Version 2.1.15 (2006-08-25)

  • Fixed issue dealing with order of @_site_* passwords (reported by Jean-Fabrice and others).
  • Added $LocalDir variable (requested by John Rankin).
  • Removed an unnecessary setting of $DefaultPage in scripts/pgcust.php (it's now handled by ResolvePageName() ).
  • Added some variables and changes in wikistyles.php to better support wikipublisher (contributed by John Rankin).
  • RetrieveAuthPage (PmWikiAuth) now recognizes a $level of 'ALWAYS' as indicating that access should always be allowed, regardless of current passwords or identities.
  • Added filter specifier for AuthUser LDAP authentication (contributed by Balu).

Version 2.1.13, 2.1.14 (2006-08-15, 2006-08-16)

  • Updated scripts/authuser.php to allow ldaps://... authentications (contributed by Michael Brenner).
  • Fixed problem with numeric passwords introduced in 2.1.beta20 (reported by Christophe David and Dirk Blaas).

Version 2.1.12 (2006-08-07)

  • Corrected typo in Site.SideBar file (reported by Judith Zacharie).
  • Suppressed warning message for search on sites without a wikilib.d/ directory.
  • Added capability for nested divs.
  • Use $Transition['nodivnest'] to restore previous non-nesting div/table behavior.
  • Including authuser.php now automatically resolves pagename.
  • Added (:noaction:) directive to turn off actions.
  • Fixed bug in wikistyles prior to image blocks.
  • Added white-space as allowed wikistyle (suggested by C. Ridderström).
  • Allow colons, hyphens, and dots in id= tags.

Version 2.1.11 (2006-06-09)

  • Fixed generation of empty paragraphs around %define=...% wikistyles (PITS:00753).

Version 2.1.10 (2006-06-04)

  • Added a <span> around the RecentChanges link in the pmwiki skin (PITS:00750, suggested by Hagan Fox).
  • Changed the $Action variable to $ActionTitle (PITS:00749, reported by Hagan Fox).
  • Changed $FPLTemplatePageFmt to be an array of pages to be searched for page templates, enabled searching of current page and Site.LocalTemplates page.
  • Updated .vspace margin in sidebar for pmwiki skin (PITS:00751, by Hagan Fox).

Version 2.1.9 (2006-06-02)

  • Fixed a bug with [[~Author]] links (PITS:00530 reported by Klonk, PITS:00611 reported by weijang, PITS:00671 reported by Stirling Westrup, and helpful clues provided by Clayton Curtis).

Version 2.1.8 (2006-06-01)

  • Added ability to specify notification entries from local/config.php as well as Site.Notify (suggested by Christophe David).
  • Fixed $Transition['vspace'] from 2.1.7.

Version 2.1.7 (2006-05-31)

  • Adjusted width of edit form for IE browsers (contributed by Roman and H. Fox).
  • Suppress authentication failure error from LDAP (PITS:00739).
  • Fixed problem with invalid page names resulting in redirect loop (PITS:00723, reported by jojoo).
  • Added "Group." and "Group/" page name syntax, resolving PITS:00736 (from a suggestion by Pico).
  • Changed handling of "vspace" paragraphs.
  • Fixed some XSS vulnerabilities in uploads.php and url links (reported by Moritz Naumann,
  • Added notify.php script, allowing finer control of email notifications.

Version 2.1.6 (2006-05-22)

  • Optimized performance of urlapprove.php.
  • Added (:if auth xyz PageName:) syntax.
  • Corrected XSS bug in trails.php.
  • Slightly improved performance of free links.
  • Restore ability to use hyphens in InterMap links (reported by Henrik Bechmann).

Version 2.1.4, 2.1.5 (2006-03-29)

  • Fixed problem with pagelist-based feeds (PITS:00709, reported by Jon Haupt).
  • Added {$Action} page variable. (PITS:00696, reported by Sebastian Pipping).
  • Added stripmagic() around variables submitted to authuser.php.
  • Fixed problem with multi-term searches containing special characters (PITS:00713, reported by Leo).
  • Switched (:attachlist:) to use a natural case sort (suggested by H. Fox).

Version 2.1.3 (2006-03-17)

  • Re-fixed problem with PHP 5.1.1 and lines= option to (:include:) (PITS:00620).
  • Fixed empty LDAP password issue (reported by Thomas Lederer).

Version 2.1.2 (2006-03-16)

  • Fixed <h1>/<h2> tag mismatches (PITS:00702, reported by Martin Hason).
  • Fixed bug with $AllowPassword and "nopass" (reported by M. Weiner and bram brambring).
  • Improved the speed of RSS and other web feeds when $EnablePageListProtect is not set.

Version 2.1.1 (2006-03-13)

  • Fixed a bug with multiple authorization groups as a password (PITS:00699, reported by Ari Epstein).
  • Updated the authorization code to be a bit more liberal with password/group settings.
  • Updated PmWiki.FAQ page to be able to grab FAQ items from other pages in the documentation.

Version 2.1.0 (2006-03-12)

  • Many many documentation updates (special thanks to many authors).
  • Allow trailing underscores in upload names (requested by Hans).
  • Fixed 'ak_print' problem causing accesskey='a' for print (noted by Pico).
  • Added code to make sure each anchor is generated only once per page (for XHTML validity).
  • Added a $BlockPattern variable to recognize block HTML tags.
  • Made an adjustment to Keep() so that it places strings with block HTML into the 'B' pool.
  • Adjusted stdmarkup.php to not produce paragraphs for keep blocks in the 'B' pool.
  • Corrected a variety of i18n phrases.
  • Added class='escaped' to distinguish @@...@@ from [@...@] (from a comment by Hans).
  • Slightly changed styling of .faq divs.
  • Made the edit textarea a couple of rows smaller to better fit on smaller displays (suggested by H. Fox).

Version 2.1.beta38 (2006-03-09)

  • Fixed auth bug in HandleSearchA (reported by noskule).
  • Fixed print skin to be XHTML 1 compliant and use updated i18n phrases (PITS:00690, contributed by Athan).
  • Fixed ?action=search to honor markup escapes when checking current page for (:searchresults:).
  • Fixed bug in handling blank lines in preformatted text.
  • Fixed extra newlines appearing after [@...@] markups (reported by H. Fox).
  • Added class= and caption= arguments for (:markup:) markup.
  • Added apply=pre to wikistyles.

Version 2.1.beta37 (2006-03-08)

  • Converted (:redirect:) to be a true markup, now honors conditional markup and includes.
  • Added status= option to redirect.
  • Allow redirecting to an anchor within a page (PITS:00558).
  • Added experimental server-side page caching.

Version 2.1.beta36 (2006-03-06)

  • Fixed problem with PmWiki under PHP 5.1.2 with lines= option to (:include:) (PITS:00620, thanks to Eric Wolleson for the fix).
  • Added (:if exists PAGENAME:) conditional markup.
  • Fixed bug with pages using 'nopass' as password (reported by H. Baas and J. Demartini).

Version 2.1.beta35 (2006-03-05)

  • Revised authorization code to be faster/cleaner, and to support "@_site_edit" authorization.
  • Adjusted Site.SideBar so that edit permissions default to site's edit permissions.

Version 2.1.beta34 (2006-03-04)

  • Updated the simuledit.php script so that an author won't lose edits when the merge fails (PITS:00391).

Version 2.1.beta33 (2006-03-02)

  • Added transparent button images (PITS:00347, suggested by Klonk).
  • Added some new button images to pub/guiedit, including a button "blank" for creating new buttons.
  • Added $EditRedirectFmt option to allow save/cancel in ?action=edit to redirect somewhere other than the current page (PITS:00674, requested by T. Dowling).
  • Restored lost scripts/.htaccess and docs/.htaccess files.
  • Added {$Description} page variable, changed feeds.php to use this instead of $ItemDesc.
  • Added conditional expressions, based on cookbook recipe from D. Faure (PITS:00531).

Version 2.1.beta32 (2006-02-27)

  • Fixed minor glitch with call to flush() in pagelist.php causing spurious "headers already sent" warnings (reported by Robin Sheat and others).

Version 2.1.beta31 (2006-02-26)

  • Changed "inputbox" to "inputbutton" in (:searchbox:) directive (reported by Hans).
  • Switched setting of $SkinDir to include a leading "./".
  • Added option to suppress fields in ?action=attr display.

Version 2.1.beta30 (2006-02-25)

  • Fixed bug with custom $SearchBoxFmt (noticed by Hans and Han Baas).

Version 2.1.beta29 (2006-02-24)

  • Restored default setting of $EnablePageListProtect to 1 (was inadvertently switched to zero in beta27).
  • Fixed "group=" option in (:searchbox:), and added ability to pass other options to search results.
  • Added rule to ignore a blank line immediately following a heading (suggested by J. Durcholz and H. Fox).
  • Revised pmwiki skin stylesheet (contributed by H. Fox)
  • Added <!--PageActionFmt--> section to pmwiki skin.
  • Added target= option to (:searchbox:).
  • Added change to use the current page for ?action=search if it has (:searchresults:) in the page's markup.
  • $PageSearchForm can now be an array of pages to possibly be used to display the results of ?action=search -- first one found is used (suggested by Hans).
  • Fixed bug with pageindex not including page's name in list of terms to search.

Version 2.1.beta27-28 (2006-02-24)

  • Removed .linkindex, converted to .pageindex for faster word searches.
  • Fixed bug with setting of $AuthId after logins.
  • Added order=group for pagelists (requested by B. Boltwood)
  • Added appropriate settings for magic_quotes_runtime and magic_quotes_sybase PHP settings.
  • Fixed problem with include lines=... chopping off last line of text when fewer than requested lines in page.
  • Updated handling of links to non-existent pages and query strings.
  • Added some useful comments to scripts/feeds.php.

Version 2.1.beta26 (2006-02-16)

  • Changed PmWiki's default pmwiki.css styles to look a little cleaner in various browsers (suggestions from H. Fox).
  • The (:include:) directive now supports a self=0|1 parameter to tell the directive if it should include the current page.
  • $GroupHeaderFmt and $GroupFooterFmt now have "self=0" added to prevent their contents from being displayed twice.
  • Page links with query arguments are now treated as "existing page" links even if the page does not exist (from suggestions by Jon Haupt).
  • Modified scripts/author.php so that $Author is automatically set from $AuthId (unless overridden by a local config or by the author).
  • Added order=random option to (:pagelist:).
  • Added $Transition['fplbygroup'] to restore FPLByGroup function.
  • Changed $EnableDefaultWikiStyles to $EnableWikiStyles.
  • Added $UploadNameChars to allow customization of characters in upload filenames.

Version 2.1.beta24-25 (2006-02-08)

  • Improved interface to transition.php code to allow better granularity.
  • Changed default of $EnableTransitions to 0.
  • Fixed problem with (:markup:) closing divs (reported by H. Fox).
  • Added $Action value for ?action=search (suggested by H. Fox).
  • Added class=inputbox and class=inputbutton to various input controls (PITS:00577, suggested by H. Fox, Hans, and others).
  • Fixed bug with "list=normal" when drafts enabled.

Version 2.1.beta23 (2006-02-07)

  • Fixed bug with PageExists("") returning true (reported by Sebastian Siedentopf and others).
  • Fixed $InterMapFiles to allow fmt substitutions.
  • Removed unused $DiffAuthorPageExistsFmt and $DiffAuthorPageMissingFmt from pagerev.php.
  • Resolved some issues of "double-posts" and simultaneous edits.
  • Added {$LastModifiedSummary} page variable.
  • Allow spaces around '#' in [[target | # ]] links (suggested by Ryan Varick).
  • Added docs/UPGRADE.txt (thanks to Hagan Fox).
  • Added draft capabilities with $EnableDrafts = 1 .
  • Changed default setting of $UploadUrlFmt to be based on $PubDirUrl (excellent suggestion by Hagan Fox).
  • Removed problem of simultaneous edits interfering with reading of simple text files in wiki.d/ .
  • Pressing "Save" with no text changes now actually performs a save.

Version 2.1.beta22 (2006-01-28)

  • Fixed a bug in feeds.php with ?action=dc.
  • Added code to be able to capture remainder of trail lines in trail index pages.

Version 2.1.beta21 (2006-01-27)

  • Updated page variable code to better handle null values of $pagename.
  • Improved guard against register_globals poisoning (courtesy of Francesco 'ascii' Ongaro).
  • Added a <pubDate> tag to RSS feeds (from suggestions by Jean Demartini).
  • Added wildcard capabilities for pagelists and conditional markups.
  • Improved page-not-found handling, changed Site.PageNotFound (PITS:00556).
  • Fixed bug in whitespace handling (reported by Christian Ridderstrom).
  • Fixed handling of query strings and anchors in trail index pages.
  • Null targets in links now produce null output.

Version 2.1.beta20 (2006-01-12)

  • Redesigned/improved handling of session authorization variables.
  • Suppressed warning from fileowner/filegroup in fixperms (courtesy Dominique Faure)
  • Restored Last-Modified headers to algorithm used in 2.1.beta17, but the code now detects changes in configuration files and recipes.
  • Added (:encrypt <phrase>:) markup, to simplify generation of encrypted passwords in Site.AuthUser.

Version 2.1.beta18-19 (2006-01-10)

  • Added 'class=' option to (:pagelist:) (based on suggestions from H. Bass).
  • Changed Site.InterMap to {$SiteGroup}.InterMap.
  • Fixed E_NOTICE errors.
  • Corrected bug in $SaveAttrPatterns in scripts/stdmarkup.php.
  • Removed $text global variable (use $_POST, $_GET, or $_REQUEST['text']).
  • Removed saving of 'excerpt' attribute -- this is being reworked.
  • Fixed bug with PageVar's handling of pagenames containing slashes (reported by Hans).
  • Page action links in PmWiki skin no longer display with "non-existent page" decorations.
  • Added more robots to $RobotPattern.
  • Adjusted script to generate Last-Modified headers whenever $LastModFile is set.
  • Added docs/ directory, several documentation files, and README.txt (courtesy H. Fox).
  • Moved sample-config.php and COPYING to docs/ directory.

Version 2.1.beta16-17 (2005-12-29)

  • Fixed bug with titled links (reported by blues).
  • Restored $FPLFunctions variable.
  • Restored (:if enabled:) conditional (PITS:00630).
  • Fixed bug with PCache.
  • Added rel='nofollow' to various links where robots should not be going (suggestion by H. Fox).

Version 2.1.beta15 (2005-12-28)

  • Removed Main.GroupAttributes and PmWiki.GroupAttributes from the distribution.
  • Switched to using _crypt() for AuthUserConfig (requested by D. Faure).
  • Fixed bug in httpauth.php with double-prompting for passwords (noted by M. Weiner).
  • Added new page variables code, adding PageVar() function and redesigning FmtPageName().
  • Added PmWiki.PageVariables, removed PmWiki.MarkupVariables.
  • Added (:if equal ...:).
  • Optimized processing of includes and conditional markup.
  • Optimized PCache().
  • Removed deprecated $NewlineXXX variable.
  • Added 'ctime' page attribute.
  • Redesigned pagelist.php to use pagelist templates.
  • Changed $EnablePageListProtect to default to 1.
  • Added Site.PageListTemplates.
  • Removed FPLByGroup, FPLSimple, and FPLGroup.
  • Added more conversions to scripts/compat1x.php (suggested by C. Ridderström).

Version 2.1.beta13-14 (2005-12-10)

  • Added scripts/feeds.php, which replaces scripts/rss.php (now removed from the distribution).
  • Trail links are no longer saved as part of targets=.
  • Keywords and description markup are saved as meta values in page files, along with an initial portion (excerpt) of the rendered HTML for a page.

Version 2.1.beta12 (2005-12-07)

  • Fixed bug with storing group authorizations via ?action=attr (discovered by Dan Weber).

Version 2.1.beta11 (2005-12-06)

  • Fixed problem with ?action=login for admin password (PITS:00612, reported by Klonk).
  • Updated xlpage-utf-8.php for sites that have pcre installations that don't understand /u (reported by Andres Kulikauskas).

Version 2.1.beta10 (2005-12-05)

  • Class attributes in wikistyles are now additive.
  • Added capability for shared pages in farms (PITS:00459).
  • Fixed XHTML validation problem for empty pagelists (PITS:00601, reported by Mickael Nilsson).

Version 2.1.beta9 (2005-11-30)

  • Added ?action=login.

Version 2.1.beta8 (2005-11-30)

  • Fixed a problem with paragraphs after lists (reported by Bronwyn Boltwood).
  • Added robot controls to scripts/robots.php (PITS:00563).

Version 2.1.beta7 (2005-11-29)

  • Added capability to load InterMap entries from Site.InterMap page (PITS:00522).
  • Fixed bug with AuthList code (reported by Ilana Kingsley and others).

Version 2.1.beta6 (2005-11-29)

  • Revised authuser.php to obtain configuration from Site.AuthUser page.
  • Included capability for authorization groups.

Version 2.1.beta5 (2005-11-25)

  • Fixed bug with read-protected Site.AuthForm (reported by Matt Strauser)

Version 2.1.beta4 (2005-11-24)

  • Fixed bug with authentication after unsuccessful attempt (PITS:00551, reported by Uli and Bronwyn).

Version 2.1.beta3 (2005-11-23)

  • Fixed bug with "id:*" authorization string (reported by Bronwyn).

Version 2.1.beta2 (2005-11-22)

  • Fixed bug with formatting surrounding [@...@] code blocks.
  • Added <span class='wikiword'>...</span> around wikiword links to provide additional wikiword formatting.
  • Changed authorization prompt to default to Site.AuthForm.
  • Revised PmWikiAuth function to be able to authorize against groups or multiple authentications.
  • Fixed session handling in authorization code to create and open session only if needed.
  • Fixed bug with display of directives in page history (PITS:00592, reported by floozy).
  • Added white-space:nowrap to command section of pmwiki skin (PITS:00591, contributed by floozy).
  • Fixed a possible bug with urls for direct-download attachments (PITS:00588, reported by Henning).

Version 2.1.beta1 (2005-11-18)

  • WikiWords are now disabled by default (PITS:00520).
  • Whitespace at the beginning of lines can be used for nesting within lists (PITS:00562).
  • Added ability to specify percentages in wikistyles (use "pct" instead of "%").
  • Fixed problem with including to end of text (PITS:00560, thanks to Klonk).
  • Added (:if enabled VAR:) conditional markup.
  • Added [[target|+]] titled markup.
  • Adjusted </div> markup bug in (:markup:) (reported by Hans).
  • Fixed problem of nested apostrophe markups (PITS:00590, reported by floozy).
  • Added (:input file:) and $InputValues array (PITS:00566).

Version 2.0.13 (2005-11-10)

  • Fixed PostPreview function to allow page preview even if page is saved.
  • Fixed downloading code so that large files don't run into memory limits (reported by Daniel Scheibler).
  • Changed urlapprove.php so that admins can always post.
  • Fixed XSS bug in pagelist.php (reported by Mauritz Naumann,

Version 2.0.12 (19-Oct-2005)

  • Fixed cast of $ApprovedUrlsFmt in transition.php (reported by Patrick Ogay).
  • Changed PmWiki's exit() call to a return (PITS:00548, requested by Wesley Tanaka).
  • Fixed bug that was erroneously converting '&' back to '&' in query fragments (from a bug report by Chris Cox).

Version 2.0.11 (17-Oct-2005)

  • Fixed problem with blank passwords in LDAP authentication (PITS:00547, reported by Paul Eden).
  • Added support for whitespace indent rules.
  • Fixed problem with losing history on changing passwords (PITS:00555, thanks to floozy).
  • Added support for (:linebreaks:) and (:nolinebreaks:) (PITS:00549).
  • Added support for MySQL passwords in authuser.php (suggestions from Ahmed Ibrahim).
  • Added an (:if date:) condition to the markup.

Version 2.0.10 (29-Sep-2005)
Version 2.0.9 (28-Sep-2005)

  • Fixed oversight in xlpage-utf-8.php that doesn't upcase ASCII letters when mb_strtoupper isn't present.
  • Updated copyright dates.

Version 2.0.8 (27-Sep-2005)

  • Changed $Name to $Title in print skin (found by Robert Riebisch).
  • Added capability to use quotes to enter pass phrases in ?action=attr (requested by Simon).

Version 2.0.7 (26-Sep-2005)

  • Updated xlpage-utf-8.php to use a different case conversion algorithm, and completed tables for other character sets.
  • Fixed $VersionNum variable.
  • Added ak_textedit and default value of ',' (PITS:00528, offered by Christoph Lange).
  • Added a time limit to generation of .linkindex files.

Version 2.0.6 (16-Sep-2005)

  • Updated xlpage-utf-8.php so that mb_strtoupper() is no longer required.
  • UTF-8 module now is able to handle UTF-8 characters in link suffixes (PITS:00432, reported by Schlaefer).
  • Fixed a bug with vardoc.php when an empty $VarIndex is loaded (PITS:00491, reported by Jean-Dom).
  • Improved the guiedit buttons for IE browsers -- selections now work more like one would hope they would (PITS:00515, suggested by floozy).
  • Fixed