## Version 2.1.beta1 through beta19 (2006-01-10)

The next set of "beta" releases are leading up to version 2.1. All of the changes between 2.0.13 and 2.1.0 will be collected here, instead of having separate sections for each. The plans and features for 2.1 are listed at PITS:00565.

    span.wikiword a.createlink { display:none; }
{ border-bottom:none; text-decoration:none; color:inherit; }


• The (:pagelist:) code has been substantially revised. Pagelist formatting can now be specified using markup, and several defaults are available from Site.PageListTemplates. Also, several built-in pagelist formatting functions (FPL Simple, FPL By Group, FPL Group) are now removed in favor of the template code. If anyone has trouble migrating pagelist customizations to the new format, contact the mailing list for help.

• The EnablePageListProtect variable now defaults to true, so that read-only pages appear in pagelists only if the visitor has read authorization. • Whitespace indentation rules now exist and are enabled by default. Any line that begins with whitespace and aligns with a previous list item is considered to be "within" that list item. Text folds and wraps as normal, and the (:linebreaks:) directive is honored. To turn off whitespace indentation, use DisableMarkup('^ws');. • The built-in authorization function has gone through some substantial internal changes, however these changes should be fully backward compatible so that it doesn't impact any existing sites. (If it does cause a problem, please let me know so I can investigate why!) The password prompts are now specified by an admin-customizable Site.Auth Form page. In addition, the authorization function no longer creates PHP sessions for visitors that aren't being authenticated. • The authuser.php has likewise been substantially updated. The new version should have complete backwards compatibility with previous authuser.php settings, but this version also offers the ability to configure authentication resources and authorization groups through the Site.AuthUser page. Note that by default the Site.Auth User page can only be edited using the admin password. • There is now an ?action=login action available. • The [[PageName |+]] markup is now available by default; this creates a link to PageName and uses that page's title as the link text. • What used to be "markup variables" are now "page variables". These are always specified using the {variable} syntax, and can be used in markup and in $...Fmt strings. In addition, one can request a value for a specific page by placing the pagename in front of the variable, as in {pagename$variable}.

• The scripts/rss.php script is now scripts/feeds.php, and is a complete redesign for web feed generation. The new version supports UTF-8 and other encodings, can generate Atom 1.0 (?action=atom), Dublin Core Metadata (?action=dc) output, and enclosures for podcasting. It also allows feeds to be generated from trails, groups, categories, and backlinks, and provides options (same as pagelists) for sorting and filtering the contents of the feed. Most sites can simply switch to using include_once("scripts/feeds.php"); instead of the previous rss.php include. The rss.php file has been removed from the distribution (but still works with Pm Wiki 2.1 for those sites that wish to continue using it).

• InterMap entries can now come from a Site.InterMap page as well as the local/localmap.txt and local/farmmap.txt files. The format of these files has changed slightly, in that the Inter Map name should now have a colon after it (previously the colon was omitted).

• We can now provide better control of robot (webcrawler) interactions with a site to reduce server load and bandwidth. The $RobotPattern variable is used to detect robots based on the user-agent string, and any actions not listed in the$RobotActions array will return a 403 Forbidden response to robots. In addition, setting $EnableRobotCloakActions will eliminate any forbidden ?action= values from page links returned to robots, which will reduce bandwidth loads from robots even further (PITS:00563). • WikiStyles can now make percentage specifications by using "pct" to mean "%". • Class attributes in WikiStyle shortcuts are now cumulative, so that %class1 class2% results in class='class1 class2' instead of just class='class2' in the output. • A problem with the (:include PageName#from#:) markup not working has been fixed (PITS:00560). • It's now easier to share pages among multiple sites (e.g., WikiFarms), see Cookbook:SharedPages (PITS:00459). • A problem with nested apostrophe markups has been fixed (PITS:00590). • There is now an (:if equal ...:) conditional markup. • Added an$InputValues array that can supply default values for certain form controls (PITS:00566).

• The $text global variable has been removed (use$_GET['text'], $_POST['text'], or$_REQUEST['text']).

• A possible problem with url-encoding of attachments with non-ASCII characters has been addressed (PITS:00588).

• Page actions in non-existent pages no longer display with non-existent link decorations.

• A README.txt file has been added, and several documentation files are now available through the docs/ directory.

• Pm Wiki is no longer available through CVS on sourceforge.net. It is now available via SVN on pmwiki.org, at svn://pmwiki.org/pmwiki/tags/latest . For more details, see PmWiki:Subversion.

## Version 2.0.12 (19-Oct-2005)

This release cleans up problems with page validation for page links containing query fragments and ampersands, changes Pm Wiki to use a PHP "return" statement instead of "exit", and fixes a warning in scripts/transition.php.

## Version 2.0.11 (17-Oct-2005)

This release fixes a couple of important bugs and adds some new features to Pm Wiki.

Most importantly, this release fixes bug with ?action=attr affecting the page history.

For sites using LDAP authentication with authuser.php, Pm Wiki now provides $AuthLDAPBindDN and$AuthLDAPBindPassword variables to specify the binding to be used for searching. It also works around a PHP oddity that causes users to appear authenticated when an empty password is provided. Authuser.php also now handles straight md5 password encryptions (commonly used by MySQL databases).

The core now includes the (:linebreaks:) markup (from Cookbook:LineBreaks), which causes text on separate lines in the markup to appear as separate lines in the output (i.e., no auto-joining of one line to the previous one).

There have been some internal changes designed to provide better support for leading-whitespace rules (more details on this in a future release).

The core now provides an (:if date:) markup to display text only if the current day is within a range of supplied dates.

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

This release fixes an oversight in xlpage-utf-8.php that failed to uppercase ASCII letters when mb_strtoupper isn't present.

## Version 2.0.8 (27-Sep-2005)

This release simply adds the capability to use quotes to enter pass phrases (passwords containing spaces) using ?action=attr, and fixes a bug with displaying the name instead of the title in the default print skin.

## Version 2.0.7 (26-Sep-2005)

This version changes the xlpage-utf-8.php case conversion slightly to use a more direct conversion table, and completed the table for more characters in the utf-8 set.