From Many Matters

PmWiki: Release Notes

Version 2.1.4, 2.1.5 (2006–03–29)

This release fixes a few more bugs:

The release also adds a couple of items:

Version 2.1.3 (2006–03–17)

This release fixes a bug that prevents the lines= option from
working on sites running PHP 5.1.1 or later. It also re-fixes
a bug involving empty passwords and LDAP authentication.

Version 2.1.2 (2006–03–16)

This release fixes a bug with handling “nopass” passwords. It also
makes some speed improvements to large web feeds, and fixes a couple
of minor HTML tag mismatches.

Version 2.1.1 (2006–03–13)

This release primarily fixes a bug with passwords containing
multiple authorization groups, and in the process slightly liberalized
the formatting of “@group” and “id:name” handling. This release also
adds a new mechanism for managing and displaying FAQ pages.

Version 2.1.0 (2006–03–12)

This set of release notes is fairly lengthy, as it chronicles all of the changes since 2.0.13 (four months of development). A lot remains the same, but some changes warrant extra care when upgrading from a 2.0.x version to 2.1.0 (thus the major revision number change). As always, questions and issues can be mailed to the pmwiki-users mailing list.

Here’s the list:

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

Version 2.0.13 (2005–11–10)

This is a release containing minor bugfixes and improvements
in preparation for the 2.1.beta series.

Wiki administrators should note that after this release PmWiki will default to having WikiWords disabled.

To make sure WikiWords are enabled, use $LinkWikiWords = 1; in
the local/config.php file.

Version 2.0.12 (19-Oct-2005)

This release cleans up problems with page validation for page links
containing query fragments and ampersands, changes PmWiki 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 PmWiki.

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

For sites using LDAP authentication with authuser.php, PmWiki
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.

This release also fixes the $VersionNum variable that was supposed to
appear in 2.0.6.

An accesskey shortcut (ak_textedit) is being added to the edit form
text area.

Lastly, this release adds a timelimit to the generation of .linkindex,
to avoid long page times when generating the .linkindex.

Version 2.0.6 (16-Sep-2005)

In this release, we provide quite a few more updates for sites that
want or need to use utf-8 encoding, fix a large number of utf-8
related bugs, introduce better handling of author cookies, and
better support for keeping track of version releases.

The biggest change is to the xlpage-utf-8.php recipe, which has
been substantially rewritten from the previous version. This new
version of xlpage-utf-8.php no longer depends on the
mb_strtoupper()
function, which seems to be not available in many PHP installations.
The new version of xlpage-utf-8.php uses mb_strtoupper() if it’s
available, but if not available then it manually performs case
conversions from a Unicode table that is directly encoded in the
script. At present this table only understands case conversions
for Western European (Latin-1 or ISO-8859–1) and Cyrillic characters,
we’ll want to expand the table to support other language character
sets as needed. Just contact me on the listserv if a particular
character isn’t yet supported.

In addition to the above, author names and cookies in utf-8 environments
now work again, and link suffixes containing non-ASCII characters work
again also.

The GUI button handling in IE has been greatly improved; text selection
in IE now works as you would expect it to work when a gui button is
pressed. Possibly still no hope for Mac Safari browsers, unfortunately…

A $CookiePrefix variable has been introduced; a wiki administrator
can set $CookiePrefix to prevent PmWiki’s cookies from interfering with
cookies set from other applications under the same domain name.

Some XHTML validation issues surrounding the use of <script> tags
have been fixed.

And lastly, for script and recipe authors, there is now a $VersionNum
numeric value that makes it easier to determine if the currently running
version of PmWiki is older or newer than a known release. $VersionNum
is composed from the release number by padding the major and minor
release numbers with zeroes to three digits, thus $VersionNum for this
release (2.0.6) is 2000006, while a release like “2.1.24″ will have
$VersionNum set to 2001024.

As mentioned on the pmwiki-users mailing list, we are also now maintaining
PITS entries for enhancements and changes to consider making in the
core distribution. The list can be found at
http://www.pmwiki.org/PITS/CoreCandidate, all are welcome to add
comments and vote on the items under consideration.

Version 2.0.5 (9-Sep-2005)

This version adds an ?action=logout and cleans up a few things
for internationalization (i18n) support.

We’ve also formally deprecated and eliminated the $Newline variable
from the core code — sites that absolutely need pages stored in
the 1.x format can set $NewlineXXX. (Note that this version
continues to be able to read pages from all previous PmWiki
formats.)

Version 2.0.4 (8-Sep-2005)

One week after the release of 2.0.0 we’re now up to 2.0.4, most
changes have been minor bug fixes and improvements. This release
provides a few improvements here and there.

The biggest change is the addition of a link indexing system for
improving the speed of Categories and backlinks (using the
(:pagelist link=...:) markup. The system uses a .linkindex
file to keep track of all page links within the site, generating and
updating the file as needed and using the file to avoid scanning pages
that are known to not link to the target. The .linkindex
file can be removed at anytime to cause it to be regenerated from
scratch. Link indexing can be disabled by setting $EnableLinkIndex=0;
in local/config.php.

The “change summary” associated with each edit is now limited to
a maximum of 100 characters. A local customization can increase
the size of the summary.

The tilde sequences used to generate signatures are now precise;
only a sequence of exactly three or four tildes result in a signature.
Longer sequences of tildes such as ~~~~~~~~ are left alone and not
converted to signatures. (Generating a sequence of three or four
tildes still requires creative use of escapes, as in [=~~=]~ and
[=~~=]~~.)

A number of previously hard-coded prompts are now internationalized.

Many PHP E_NOTICE messages (displayed when error_reporting() is
set to its maximum value) are now eliminated.

Version 2.0.3 (6-Sep-2005)

This is a minor update; it enhances the core to display change
summaries in the page history, and makes additional attributes
available to input forms in forms.php.

This release also fixes a bug in the setting of the $sub parameter
for LDAP authentication, improves the setting of default values
in scripts/urlapprove.php, and fixes the search pages and skin
to use $SiteGroup instead of the hard-coded “Site” variable.

Lastly, this update changes the (:searchbox:) markup to
be a bit smarter about form generation when $EnablePathInfo
is set.

Version 2.0.2 (3-Sep-2005)
Version 2.0.1 (2-Sep-2005)

These versions correct some minor bugs in the loading and saving
of pages, the MailPosts feature, and documentation.

Version 2.0.0 (1-Sep-2005)

At long last, I’m very pleased to announce the official release of
PmWiki 2.0.0, now available at http://www.pmwiki.org/pub/pmwiki .

PmWiki 2.0 has been in development for well over a year, with more
than eighty development and beta releases. In addition, the
cookbook for 2.0 continues to expand, and currently has over 200
recipes and more on the way.

Not available at press time: For those who may be concerned
that their “must-have feature” didn’t make it into the 2.0.0 release,
don’t be. The 2.0.0 release isn’t the end of development, but
just the stable basis for the next set of features and improvements.
Even if some features (e.g., discuss/comments pages, table of
contents, authorization groups, faster backlinks/categories)
aren’t in the 2.0.0 release, I’m comfortable that we’re at a point
where these features can be added as 2.0.x releases with minimal
impact to existing 2.0 sites. And if not, then we’ll start on 2.1. :-)

Upgrading to 2.0.0: Many sites have been keeping relatively
up-to-date with the latest 2.0 beta releases; for most of these
sites upgrading to 2.0.0 is a minor upgrade (but see the notes below).
For sites running beta versions of PmWiki older than 2.0.beta44,
the upgrade may require a bit of extra work — check the ReleaseNotes
for more details. For sites running 1.x or 0.6 versions of PmWiki,
see http://www.pmwiki.org/wiki/PmWiki/UpgradingFromPmWiki1 for
tips on successfully migrating the site to PmWiki 2.0.0.

PmWiki 2.0.0 does have some changes over the previous (beta55)
release:

What’s next: Next I plan to work on getting internationalizations updated to 2.0.0 — many i18n items “broke” in beta44 and need to be cleaned up. In conjunction with this will be page improvements and cleanups on pmwiki.org, as well as addressing outstanding PITS entries. After that will come more feature enhancements, including comments pages, section edits, and improved indexing/search capabilities.


Thank you: My sincere and humble thanks to everyone who has contributed so much of their time, ideas, opinions, writing, and code to PmWiki. I notice that the PmWiki:Contributors page is way out of date, so if you’ve helped at all with PmWiki core development, don’t be shy or modest — feel free to add yourself to the list and be associated with an outstanding group.

And, as always, comments, suggestions, questions, and bug reports can be reported to the mailing list or the PmWiki Issue Tracking System.

Thanks again,

Pm


Version 2.0.beta55 (25-Aug-2005)

I was really hoping that the next release would be 2.0.0, but it
didn’t work out that way. Really all that needs to be done now is
to finish cleaning up the documentation.

This release has a number of important changes and bugfixes. First,
the ‘value=‘ wikistyle is working again, having been broken in an
earlier release. WikiStyles now also accept dots and parens in values,
so that things like “1.5em” and “rgb(255,255,255)” work. There’s a
new “%cframe%” wikistyle, which centers content in a 200-pixel frame
(this can be adjusted with a “width=“ parameter in the wikistyle).

The (:include:) directive now allows a list of pages to be searched
for inclusion; the first existing page is selected. Thus the markup

    (:include Page1 Page2 Page3:)

includes the contents of the first available of Page1, Page2, or Page3.

The [@...@] markup is now the “preformatted text” markup. It can be
used instead of the space [=...=] markup to generate blocks of
preformatted and escaped text. It’s also fairly smart about handling
extra newlines inside the [@...@], so that there isn’t a lot of
unwanted vertical space displayed in the output.

And speaking of unwanted vertical space, PmWiki’s handling of “blank lines”
in the markup text has been changed somewhat. In previous versions
of PmWiki, some directives
(e.g., (:comment:), (:keyword:), (:noleft:), (:if:)) often
resulted in blank lines in the markup text, which then
generated vertical space on the output. In this release, only those
lines that are blank in the original source markup (before processing)
end up generating vertical space in the output. This ends up being
much more natural for authors and allows cleaner markup sequences.

This change may have some ramifications for selected recipe authors.
If a custom markup rule produces other wiki markup to be processed by
PmWiki, and the output wiki markup contains blank lines that is intended
to generate vertical space in the page output, then the custom markup rule
needs to either generate ‘<:vspace>’ tags for the blank lines or call
the PVS() function to convert blank lines into vertical space tags.
(For more details or assistance, query the mailing list.)

Some may have noticed that pmwiki.org now has a new skin; some version of
this skin is expected to become the standard skin in the next release.
The current 2.0.beta skin will be made available for download in the
Cookbook for sites that want to continue using it.

Version 2.0.beta54 (1-Aug-2005)
Version 2.0.beta53 (30-Jul-2005)

This release restores ?action=search, to be able to perform searches
in the context of a group or current page. It also modifies the
(:searchbox:) directive to allow a “group=“ option to limit
searches to certain groups.

Version 2.0.beta52 (29-Jul-2005)

This release provides a number of minor bugfixes and introduces improvements
to image handling. Most of the improvements for images are described
on the PmWiki.Images page. Other changes are in the ChangeLog.

Version 2.0.beta51 (22-Jul-2005)

This release corrects a problem introduced by the “Save and Edit”
capabilities introduced in 2.0.beta44 — posts made with “Save and Edit”
could bypass blocklists, urlapprovals, and simultaneous edits.

For administrators and recipe writers who have been working with
posting capabilities, posting is now controlled by an $EnablePost
variable. Setting $EnablePost to zero suppresses the actual post —
previously this was generally performed with unset($_POST['post']).
If appropriate, a message for why the post was suppressed can
usually be placed in the $MessagesFmt array.

Version 2.0.beta50 (20-Jul-2005)

This release makes two major improvements to the authorization
semantics in PmWiki:

1. The $HandleAuth array can be used to set the authorization
level required for executing a corresponding action. For example,
setting $HandleAuth[‘diff’] to ‘edit’ means that edit authorizations
are required to view the page history (?action=diff). Similarly,
setting $HandleAuth[‘source’] to ‘admin’ means that only the
admin would be able to use ?action=source.

2. Passwords can now “cascade” — that is, if a page sets a ‘read’
password but not an ‘edit’ password, then the read password
is also used as the edit password. Similarly, if a page sets
an ‘edit’ password but not an ‘attr’ password, then the edit
password is also used as the attr password.

This prevents situations where authors set an edit password
on a page but don’t set a corresponding attr password.

This does not change PmWiki’s other passwording characteristics —
i.e., page passwords still override group passwords, and group
passwords still override site passwords. Password cascading
is only used where there’s no page, group, or site password set
for a given authorization level.

Version 2.0.beta49 (19-Jul-2005)

This release adds a Content-Disposition: header for sites that have
direct downloads disabled (automatically fills in a browser’s filename
for such downloads). It also fixes some issues with \\ markup at the
ends of lines.

Version 2.0.beta48 (13-Jul-2005)
Version 2.0.beta47 (12-Jul-2005)
Version 2.0.beta46 (11-Jul-2005)
Version 2.0.beta45 (10-Jul-2005)
Version 2.0.beta44 (10-Jul-2005)

This release has a number of major changes, and is hopefully the
last such “major” release before 2.0.0.

Included with this release is a special transition.php script
that reconfigures PmWiki as needed to cause it to work as it did
in previous releases. In the release notes below any changes
that are handled by the transition script are marked by [ ].
This transition script is automatically loaded by default so the
site admin doesn’t need to do anything to use it.

Eventually the transition script will also provide diagnostic
options to inform site admins of places where they may be relying
on outdated or deprecated features, and how they can change their
settings to be up-to-date.

PmWiki now sets CSS stylings so that all images within a page are
displayed without a border (HTML’s default is a 1-pixel border).
To restore the behavior of previous versions, add the following to
local/config.php:

    $HTMLStylesFmt[‘img’] = ‘ img { border:1px solid; } ‘;
    $ImgTagFmt=“<img src=‘\$LinkUrl’ style=‘border:0px;’ alt=‘\$LinkAlt’ />”;

With this release we are officially initiating use of the “Site”
group discussed on the pmwiki-users mailing list. The Site group
is intended to hold a variety of utility and configuration pages
used by PmWiki, and many of PmWiki’s pages have moved from the
“Main” group into this new location. More on this in a bit.

The major internal change is that this release provides support
for input forms. Notably, the “Edit Page” form layout can now
be specified using wiki markup in the Site.EditForm page. ( [ ] However,
PmWiki still honors the $PageEditFmt variable for those sites or
skins that may have customized edit forms.)

The edit form now includes a “change summary” line where authors
can summarize the edits. The edit form can also contain
a “Save and edit” button to save changes but continue editing, and
a “Cancel” button for abandoning changes.

The $EditMessageFmt variable for displaying messages to authors
is now the $MessagesFmt array, which can be displayed using the
(:messages:) markup. [ ] The transition script takes care
of moving messages between $EditMessageFmt and $MessagesFmt as
need to preserve correct operation.

A number of traditional locations for pages have now been moved
into the Site group, many of which are handled by the transition
script:

The $PagePreviewFmt variable no longer exists in standard PmWiki (it’s now handled by Site.EditForm). [ ] However, to preserve backwards compatibility it is loaded by the transition script in certain situations.

The $PageName substitution (deprecated in 2.0.devel14) is now gone.
Use $FullName instead.

The GUI buttons can now have accesskeys associated with them.

GUI buttons are now displayed via a (:e_guibuttons:) directive in Site.EditForm, instead of being attached to $EditMessagesFmt.

This release now provides the ability for user and browser-specific
preferences and customizations, including accesskeys and form element
sizes. More details about this will be forthcoming in documentation.

The release adds standard (:noleft:) and (:noright:) directives for suppressing the display of the left and right sidebars (depending on skin template).

Version 2.0.beta43 (8-Jul-2005)

This release adds the long awaited (:div:) markup. The format of
the markup is

    
    (:div:)
    ...
    (:divend:)
    

Attributes (e.g., id='name' and class='class' can be supplied
to the (:div:) directive. (:div:) lives in the same markup
layer as advanced tables (:table:), so divs and tables do not
nest, and any div or advanced table directive ends any previous
(:div:). (We may change this in a future release; for now we’ll go
with the non-nesting version.)

The release also adds a div shortcut, any line beginning with >><<
marks a new div section. In addition, wikistyle specifications
can go between the >> and <<, thus >>bgcolor=#ffffdd<< will create
a division with a light yellow background. Similarly, one can
do things like >>id=foo<<, >>class=bar<<, and even make
use of author-defined wikistyles such as >>center« or »Don<<.

Lastly, the wikistyle code now supports %id=name%, which
allows an HTML id='name' attribute to be added to the
affected text.

Version 2.0.beta42 (7-Jul-2005)

This minor release adds the (:if attachments:) conditional markup, to include/exclude markup based on the (non)existence of attachments to the current page.

Version 2.0.beta41 (7-Jul-2005)

This is a minor release with some small bugfixes to uploads, adding the ability to set the item number for ordered lists with %item value=nn%, and enabling nested Keep()s for module writers.

Version 2.0.beta40 (22-Jun-2005)

This very minor release simply updates the authuser.php script to
support Apache MD5 encryption in .htpasswd files.

Version 2.0.beta39 (20-Jun-2005)

This release primarily fixes some bugs with wikistyles and their interactions with block structures such as tables and headings. In addition, the release fixes some nagging errors with opening directories in PITS and other recipes.

This release also adds definition lists to the available syntaxes for building WikiTrails.

Finally, this release adds scripts/authuser.php, which is a preliminary script for user-authentication based on .htpasswd (and similarly formatted) files.

Version 2.0.beta38 (14-Jun-2005)

This version performs a minor bug fix to the ListPages() function for those sites that are storing pages in per-group subdirectories.

Version 2.0.beta37 (26-May-2005)

This version performs some minor bug fixes and improvements:

Version 2.0.beta36 (30-Apr-2005)

This release fixes a rather large bug with excluded terms in the
pagelist code, and a very minor bug with generating cells if there
are spaces after the final ‘||’ in a simple table.

Version 2.0.beta35 (24-Apr-2005)

This release fixes some bugs in the new pagelist code.

Version 2.0.beta34 (23-Apr-2005)

Version 2.0.beta33 (22-Apr-2005)

This version introduce a major redesign of working and speed of scripts/pagelist.php, which defines (:pagelist:) and (:searchresults:) markups. This version now have a parameter link= to display pages with links to target page (i.e. “backlinks”). There is also “order=“ and “count=“ parameters which can be used for sorting listed pages and limit display length.

However, the changes also mean that it’s possible that any
local customizations or cookbook recipes that depended on the
previous pagelist code will no longer work, so be careful
when upgrading.

This release also optimizes the rendering of page links and
fixes a performance bug in the FmtPageName() function. These
changes have been observed to improve page rendering times by
up to 40%.

What remains before the 2.0 official release: redesign of the
edit page form, addition of a “comments” feature, and fixing
PmWiki documentation.

Lastly, the trailing ?> sequences have been removed from all
scripts to simplify installations on VMS and other environments
that have trouble with newlines after the closing ?>.

Version 2.0.beta32 (17-Apr-2005)

Version beta32 adds the $RCLinesMax variable, which limits the maximum
number of lines that are saved in RecentChanges files. The default
is set to zero, meaning “no limit”.

Version 2.0.beta31 (15-Apr-2005)

This release adds the ability to store and serve attachments (uploads)
from directories that is not directly accessible to the webserver.
The “download” action (?action=download) tells PmWiki to retrieve
an attachment associated with the current page. This can be used for
protecting attachments via a page’s passwords, or for working around
webservers that cannot access files in the PmWiki-created uploads/
directories.

Setting $EnableDirectDownload=0; tells PmWiki to generate links to
?action=download to retrieve attachments instead of accessing
the attachments directly through the webserver. Note that this
setting by itself may not be enough to protect uploads; one may need
also need to to configure the webserver or uploads/ directory
to block direct requests to the webserver for attachment files.

This release also adds $EnableFixedUrlRedirect. When PmWiki receives
a url with a “partial pagename” (such as the name of a WikiGroup),
it first determines the correct “full name” for the page. Normally
PmWiki then issues a “redirect” to the browser requesting the browser
to reload the page with its full, “official” url, but setting
$EnableFixedUrlRedirect to zero will suppress the reload so that the
determined page is sent immediately (and keeps the same url used to
access the page).

Version 2.0.beta30 (14-Apr-2005)

This release works around some problems with PHP sessions resulting in
deadlocked web processes. The changes to the authorization code in
2.0.beta29 greatly increased the likelihood of such deadlocks, so
all sites running 2.0.beta29 are encouraged to upgrade to this one.

This release also changes the wikiword-handling functions so that
wikiwords are no longer spaced if $LinkWikiWords is disabled.

Finally, this release adds $PageTextStartFmt and
$PageTextEndFmt to allow local customization of the container
surrounding <!--PageText→ in skin templates.

Version 2.0.beta29 (11-Apr-2005)

This release incorporates some significant changes in the authorization
and page storage code, so production-level sites might want to wait for
any new bugs to found and fixed before upgrading. Or, go ahead and
upgrade but be prepared to revert back to beta28 or earlier if you
start to notice problems.

However, I do need lots of testers for the new code in this release,
of which there’s a fair bit. Thus, I’d greatly appreciate any
help people can provide with testing the new system and suggesting
improvements. I’m particularly looking for suggestions about how
the interfaces can be made easier to understand.

The Page Attributes form (reached via ?action=attr and used to set
passwords) has been improved so that it’s now possible to see which
passwords have been set, and if those passwords are coming from the
group or site defaults. For an example, see
http://www.pmwiki.org/wiki/Test/AttrExample?action=attr . These
prompts are not yet internationalized — I want to get the english
interface finalized first and then we’ll make the i18n strings for it.

Multiple passwords (separated by spaces) can now be set on pages and groups,
thus entering “one two” for an edit password will means that either “one” or
“two” will be accepted. Because of this, passwords cannot contain
spaces (I hope this won’t be a major loss — let me know if it will).

The password request field now appears within a normal skin layout
(i.e., with header, sidebar, footer); previously requests for
passwords were undecorated forms that appeared alone in the browser
window.

There is an (:if auth ...:) conditional markup available for
processing depending on the current authorizations in effect. For
example, one can create a bullet list with

    
    (:if auth read:)* [[View page -> {$Name}?action=browse]]
    (:if auth edit:)* [[Edit page -> {$Name}?action=edit]]
    (:if auth upload:)* [[Attachments -> {$Name}?action=upload]]
    (:if auth attr:)* [[Page Attributes -> {$Name}?action=attr]]
    (:if auth admin:)* You're logged in as admin
    (:ifend:)
    

and only those items corresponding to the user’s current authorizations
will appear. This should be very useful in creating action buttons.

Assuming there’s already some mechanism in place for identifying
and authenticating someone, pages can specify a password field of
“id:xyz”, which means to allow only user “xyz” the specified
access. For example, specifying an edit password of “id:alice”
means that only user “alice” (and the admin) is allowed to edit the
page. Multiple ids can be specified as either “id:alice,bob,carol”
or “id:alice id:bob id:carol”. The special value “id:*” is used
to mean any authenticated user, and users can be excluded via the
minus sign, as in “id:-eve,*”.

User-based authentication can completely coexist and mix freely with
password-based authentication, thus an edit password of
“id:alice glorp” will allow Alice and anyone who knows the
password “glorp” to edit the page.

2.0.beta29 supports only REMOTE_USER authentication; future releases
will add other authentication mechanism.

Version 2.0.beta28 (27-Mar-2005)

This release makes some substantial improvements to the attachments/uploads feature in PmWiki. The specific enhancements include:

Version 2.0.beta27 (26-Mar-2005)

This release makes a number of minor changes and bugfixes. The more significant changes are listed below.

Version 2.0.beta26 (5-Mar-2005)

This release adds support for edit page templates; i.e., site administrators can specify the default text for new pages. More details are available at Cookbook:EditTemplates.

Version 2.0.beta25 (2-Mar-2005)

Version 2.0.beta24 (1-Mar-2005)

This release contains an important correction to the processing of QUERY_STRING parameters, and changes to the way that PageNotFound messages are generated. These are needed to prevent webcrawlers (notably the one used by inktomi) from generating long sequences of links to non-existent pages.

This release also adds a ParseArgs() function to make it easier for cookbook recipes and other components to parse directive arguments. Documentation for the function will be forthcoming at Cookbook:ParseArgs.

List and heading markups have been changed to consume any single space character that follows the list or heading marker.

A $EnablePostAttrClearSession switch has been added to control whether or not changing a page’s attributes causes any existing passwords to be forgotten. The default is that changing attributes forgets any passwords entered; this can be changed by setting $EnablePostAttrClearSession to zero.

Version 2.0.beta23 (24-Feb-2005)

This release adds a couple of improvements.

First, the passwording system has been improved slightly to hopefully make passwords a little less confusing (although more improvements are coming). Previously PmWiki would remember all passwords previously entered during the current browser session. In this release, changing a page’s password causes PmWiki to “forget” all of the previously entered passwords, thus eliminating the confusion that arose when a page would appear unprotected when in fact a previously entered password was authorizing access.

This release also adds as $EnablePageListProtect option. When set, the (:pagelist:) and (:searchresults:) directives will exclude pages for which the browser does not have read authorization.

Version 2.0.beta22 (23-Feb-2005)

This release makes some feature enhancements and some bugfixes.

The skins loading code has undergone some enhancements and substantial rewriting, but it should have no negative impacts on existing skins. The $BasicLayoutVars variable has been deprecated and is no longer needed. This version introduces a SetTmplDisplay() function that makes it easier for local customizations to disable sections of a skin template.

The password prompt form has been customized so that the cursor is
automatically placed in the form when the page is loaded.

The ?action=source action has been fixed for pages with characters
outside of ASCII.

The graphical button bar can now be used for buttons with arbitrary
HTML elements (e.g., “save” and “preview” buttons).

Other changes are noted in the ChangeLog.

Version 2.0.beta21 (13-Feb-2005)

This version has a number of changes. The major change that could (but shouldn’t) affect some sites is that PmWiki has changed its default umask from 000 to 002, which will improve the default permissions for files and directories created by PmWiki for some sites, while (hopefully) not affecting others.

Many of you probably don’t know (or care) what a umask is. If everything still works after upgrading to this version, you can continue to not know or care. However, if after upgrading to this version you start seeing file permission errors where you weren’t seeing them before, try adding the line

    umask(0);

to your local/config.php and things should work again. (And be sure to report that you ran into trouble so we can investigate and improve things for the next version!)

This release also changes the <title> tag generated by ?action=rss
to properly honor the (:title:) setting on various pages.

Finally, the release fixes some minor bugs in the HTML generation for tables, corrects some bugs with settings for $AuthorPage and $AuthorLink, and makes some cookbook-related additions to the v1 conversion script.

For more details, see the ChangeLog.

Version 2.0.beta20 (30-Jan-2005)

This version has a number of relatively minor changes.

First, the $UrlLinkFmt variable has been modified so that links to external urls automatically have a rel=‘nofollow’ attribute added to them, to help combat wiki spam as described in http://www.google.com/googleblog/2005/01/preventing-comment-spam.html. Site administrators can customize $UrlLinkFmt and $UnapprovedLinkFmt to supply or omit rel=‘nofollow’ as appropriate.

The algorithm for creating page names from [[free links]] has been modified slightly. First, letters following a hyphen are no longer automatically capitalized, thus [[page-link]] refers to a page named “Page-link” and not “Page-Link”. This is more compatible with version 1′s naming syntax. Also, single quotes don’t promote the following letter to uppercase, thus [[John's page]] now links to JohnsPage and not JohnSPage.

Sites that want to keep PmWiki 2′s prior behavior can do so with the following:

    
    $PageNameChars = '-[:alnum:]';
    $MakePageNamePatterns = array(
      "/[^$PageNameChars] /" => ' ',
      "/(\\b\\w)/e" => "strtoupper('$1')",
      "/ /" => '');
    

The localmap.txt InterMap file can now contain comments (denoted by leading ‘#’ in the file).

Headings (!! markup) can now have block wikistyles.

More information is available in the PmWiki.ChangeLog.

Version 2.0.beta19 (17-Jan-2005)

PmWiki uses PHP’s sessions for tracking passwords and page authorizations; however, if a session times out (or is otherwise lost) while an author is in the middle of editing a password-protected page, the author’s edits may be lost when re-prompted for the password. This release fixes this problem by preserving the edit text and other posted form variables when prompting for a password.

Version 2.0.beta18 (17-Jan-2005)

This release makes improvements to the gui buttons, fixes some bugs, and minor other improvements and changes.

Alternate text is now valid inside of WikiTrails; i.e., one can use <<|[[TrailPage | alternate text]]|>> to change the text of the link to the trailpage.

The GUI button module has a number of changes.

This release also eliminates the <p>…</p> tags that were being generated around markup lines that contained other HTML block markups (e.g., search results, page listings, forms). As a result, these pages are now valid HTML and pass the W3C validator.

$HTMLHeaderFmt has been changed so that skin designers can completely turn off the inline-styles mechanism used by PmWiki and other cookbook modules. To disable the inline styles, use $HTMLHeaderFmt['styles'] = ''; .

Finally, this release fixes a call to setlocale() which was supposed to only return the current locale but instead was causing the locale to change.

Version 2.0.beta17 (12-Jan-2005)

This release simply makes some minor bug fixes to wikistyles (colors set in wikistyles extend to anchor tags), arrays of default passwords, and advanced table handling.

Version 2.0.beta16 (11-Jan-2005)

Version 2.0.beta15 (10-Jan-2005)

The major feature of this release is the addition of the graphical buttons in the edit page. By default this feature is disabled — to enable it, use the following in config.php.

    $EnableGUIButtons = 1;

If your site customizes the $PageEditFmt variable, then note that the buttons are placed at the end of the $EditMessageFmt and that the <textarea> needs to have id='edit' in order for the buttons to work.

The rss.php script has also been improved — it now automatically translates named character entities (from HTML 4) into their numeric equivalents. This eliminates a lot of feed validation errors and problems in specific RSS feed consumers.

This release adds a $Titlespaced variable and {$Titlespaced} markup; $Titlespaced is replaced by either a page’s title (if defined by the (:title:) directive) or by the spaced version of the page’s name.

Finally, a number of WikiStyles bugs have been fixed.

Version 2.0.beta14 (28-Dec-2004)

This release introduces a number of relatively minor optimizations and improvements, summarized below. If you don’t understand what any of these mean, they probably don’t affect you. :-)

Version 2.0.beta13 (22-Dec-2004)

This release fixes a bug introduced in 2.0.beta7 that prevented the refcount.php (for ?action=refcount) from generating links correctly. It also cleans up the handling of wikistyles and %-in-urls (which is what 2.0.beta7 was supposed to fix).

In general, all sites using the 2.0.betaXX series are recommended to upgrade to this latest release.

Version 2.0.beta12 (21-Dec-2004)

This release adds a number of <div> tags and identifiers around the
various forms that PmWiki produces (e.g., uploads, search results,
attribute pages, etc.). This makes such forms easier to style in CSS.

In addition, this release adds some functionality to the urlapprove.php
script to limit the number of unapproved urls that can be saved in
a page (helps to combat wikispam).

Finally the release adds the (:description:) markup for generating <meta name=‘description’ … /> tags in the output. (:description:) may also get used for other features later on (e.g., excerpts in search results, etc.).

Version 2.0.beta11 (19-Dec-2004)

This release primarily cleans up a number of items in the handling of uploads:

  1. A new $LinkUpload variable has been defined for $…Fmt strings — it contains the URL of the upload page for the current attachment
  2. (:attachlist:) automatically adds “replace-attachment” links (denoted by triangles) to the items in the list
  3. After performing an upload, the “upload name” field is automatically cleared
  4. Fixed error message when upload exceeds maximum allowed by PHP

This release also changes the StopWatch() function (used internally for benchmarking/timing PmWiki performance) to only have an effect when $EnableStopWatch is set to 1 (wall clock timings only) or 2 (wall clock and user-process timings).

Version 2.0.beta10 (14-Dec-2004)

This release makes some substantial improvements in the installation
procedure. First, the installation steps have been simplified, and PmWiki
provides accurate instructions when it encounters a PHP “safe_mode”
environment.

The release also provides better handling of the ‘.flock’ file — if
PmWiki discovers it cannot open an existing .flock file for writing,
it removes the file and tries again rather than complaining about it.
This makes the system more robust when page directories are going
through backup restore.

Version 2.0.beta9 (14-Dec-2004)

This release provides some very minor bugfixes to the [[target |#]] markup, to the appearance of $…variables in documentation, and extends uploads.php to be able to work better with url rewriting.

Version 2.0.beta8 (13-Dec-2004)

This release makes a number of reasonably significant changes. First and
foremost, it changes the ?pagename= uri syntax to be ?n=, and
installation now defaults to $EnablePathInfo = 0; to make better
compatibility.

Sites which wish to continue using the .../Main/HomePage form of uri
instead of ?n=Main.HomePage should set $EnablePathInfo = 1 in
config.php.

This release also fixes a probable bug in the handling of author
names which was causing spaces to be incorrectly removed.

2.0.beta8 includes features for advanced CSS styling of tables
via the $TableRowAttrFmt and $TableCellAttrFmt variables, more description
will be forthcoming in a Cookbook recipe.

Also, this release includes vastly improved support for UTF-8 sites,
including the ability to have UTF-8 characters in pagenames and
[[utf-8 links]]. We’re still working out the details to be
able to support UTF-8 wikiwords — PHP’s functions don’t provide
good support for this. See scripts/xlpage-utf-8.php for more
information on UTF-8.

Finally, the Q: and A: markups are back, and a few other minor
bug fixes and documentation improvements have been included.

Version 2.0.beta7 (8-Dec-2004)

This release has a number of improvements and changes to it. First,
this release provides a scripts/xlpage-utf-8.php file, which adapts
PmWiki to be able to work somewhat with utf-8 characters in pagenames.
Since PHP’s preg_* functions seem to be unable to detect UTF-8 alphanumeric
characters, the trade-off at the moment is that WikiWord links are limited
to the ASCII character set. We’re working on ways to get around this
restriction, however.

The xlpage-utf-8.php script can be automatically loaded by any XLPage
translation that specifies ‘xlpage-i18n’ => ‘utf-8′.

This release also:

Version 2.0.beta6 (5-Dec-2004)

This release contains a number of relatively minor bugfixes (see the ChangeLog), and it also restores the $WikiWordCount functionality from PmWiki 1 in which the wiki administrator can limit the number of conversions for each WikiWord.

The sample-config.php file has been updated with more comments and suggestions for customizations.

Finally, this release increases the default value of $MaxIncludes to 50 (and provides better documentation of the $MaxIncludes variable).

Version 2.0.beta5 (1-Dec-2004)

Version 2.0.beta4 (1-Dec-2004)

These releases fix a number of bugs introduced by the changes in 2.0.beta3.
Users of 2.0.beta3 are encouraged to upgrade directly to this release.

Version 2.0.beta3 (30-Nov-2004)

This release provides a simple version of the (:attachlist:) markup (different sorting orders are not available yet as the syntax is likely to change), as well as fixes the PmWiki.EditQuickReference and PmWiki.UploadQuickReference pages. It also provides default pages to lock passwords in the Main and PmWiki groups and adds uppercase versions for “.GIF”, “.JPG”, and “.PNG” files.

Internally, this release also changes the edit page sequence to use the $_POST autoglobal instead of $_REQUEST (i.e., posting edits is only allowed via method=‘post’ and not via query string parameters).

Version 2.0.beta2

This release fixes the bug that caused $PageTemplateFmt to no longer
work in pmwiki-2.0.beta1.

Version 2.0.beta1

This release marks PmWiki 2.0 as entering “beta” status, as it finally
begins moving towards official release. The major change for this release
is in the skins code — previous versions of PmWiki used $PageTemplateFmt
to specify the location of the template file to be used; newer versions
now use the $Skin variable to specify the location of the skins directory
(in pub/skins/) that contains the skin template file, php configuration
script, and other files.

In general, if you previously had $PageTemplateFmt set to “pub/skins/myskin/myskin.tmpl”, then you now simply set $Skin=‘myskin’; to get things to work. See PmWiki.LayoutBasics for more details.

Version 2.0.devel releases

These are the release notes for the development releases of PmWiki 2.0.

First, this is definitely still in the development stages, so many
things are likely to change between now and the official releases.

Second, at present there’s not a good way to upgrade from PmWiki 1.0
to PmWiki 2.0, although upgrade support is expected to arrive in future
(development) releases. So, you can use this version just to see the
new developments and gain some experience, but migrating from 1.0
to this version is still likely to be a bit of a chore.

Bugs and other requests can be reported to the PmWiki Issue Tracking
System at http://www.pmwiki.org/wiki/PITS/PITS. Any help
in testing, development, and/or documentation is greatly appreciated.

Retrieved from http://www.manymatters.com/PmWiki/ReleaseNotes
Page last modified on March 29, 2006, at 09:22 PM