Version 0.5.22 (3-Sep-2003)
- This release fixes a bug in the 0.5.21 release incorporating edit previews.
Version 0.5.21 (1-Sep-2003)
- Added page-preview capability to the core Pm Wiki distribution. This appears to not conflict with the preview.php script that was available via the Cookbook–i.e., if you have the old preview.php script installed, things still work as before. Some minor changes that might impact existing installations:
- Adding the page-preview capability required changing the handling of $Text substitution in FmtPageName() to perform html entity encoding as part of the substitution. Previously this was done as part of the HandleEdit routine.
- Previously the form given by $PageEditFmt would set a hidden control with action=post to cause the page to be saved when the user pressed the "Save" button. Now the form sets action=edit (to return to HandleEdit for previews), and HandleEdit transfers control to HandlePost if the post control (save button) is set. Old values of $PageEditFmt will continue to function as before.
- Added a "curr" Wiki Style[?] to allow style characteristics to accumulate; i.e., %curr color=red% adds color=red to the current set of style parameters.
Version 0.5.20 (16-Aug-2003)
Version 0.5.19 (11-Aug-2003)
- Added HTML-based redirection to Redirect() function.
Version 0.5.18 (10-Aug-2003)
- Updated scripts/rss.php to allow RSS 1.0 (RDF) output via the ?action=rdf command.
- Fixed [[link text]] code to allow a tab (and other whitespace) between link and text.
Version 0.5.17 (6-Aug-2003)
Minor improvements:
- Fixed function:, file:, and wiki: (in PrintFmt) to accept newlines in the argument lists.
- Changed $Group/RecentChanges to be translatable in $PrintHeaderFmt and $PrintFooterFmt.
Version 0.5.16 (5-Aug-2003)
This release adds a couple of new features. However, if upgrading from a version before 0.5.15, be sure to read the release notes below.
- Uploads can now have quotas placed on them. Quotas can be placed on individual upload prefixes (groups) and on the entire upload directory. If $UploadPrefixQuota is non-zero, it specifies the maximum space allowed for files in the prefix (per-group) directory. If $UploadDirQuota is non-zero, it specifies the maximum space allowed for all files in the upload directory.
- Added the $PrintWikiPageNotFoundFmt variable, this variable can be set to a text string to be printed if the page(s) specified by wiki:Page Name[?] doesn't exist.
Version 0.5.15 (4-Aug-2003)
This release almost warrants a major release number but I've decided to stay with the 0.5 series for now. But, it's recommended to read these release notes carefully since there are some potentially significant changes.
- The biggest change is the addition of code to support various internationalization efforts. The pmwiki-0.5.15 release itself doesn't provide the internationalization files–for those see the PmWiki Cookbook, but it does make some changes to support it. In particular:
- The $...Fmt variables now allow a new syntax of $[some phrase], which will substitute a translation for "some phrase" if one is present for any of the recognized languages (given by $XLLangs), otherwise it just outputs the phrase itself.
- Important: The default values for $PageHeaderFmt, $PageFooterFmt, etc., have been modified in pmwiki.php to make use of the translation capability.
- Important: The default values in upload.php and search.php have been modified to make use of the translation capability. In addition, the $UploadResultMsgs array in upload.php has been eliminated – the $[...] translation mechanism is used instead.
- Overall, this change should not significantly impact existing installations, unless local.php scripts rely on the $...Fmt variables having very specific values and structures.
- Links of the form WikiWord#myanchor and {{free link}}s#myanchor can now be used to jump to anchors in the middle of pages (usually defined using the [[#myanchor]] syntax). This changes slightly some of the entries in the $LinkPatterns array to be able to include the #anchor syntax.
- The scripts/fixperms.php script has been added to the distribution. This script makes it easier to reset permissions and ownerships of files in the wiki.d/ directory. If the script is enabled, then each time a page is accessed the script will check (and correct if needed) the page's permissions in wiki.d/. The script also adds "?action=fixallperms" which will attempt to fix all wiki.d/ file permissions.
- scripts/printable-page.php has been updated to the latest version in the Cookbook.
Version 0.5.14 (30-Jul-2003)
- Made minor changes to ease the process of internationalization
- A couple of minor bug fixes
Version 0.5.13 (29-Jul-2003)
- The problems surrounding the use of PATH_INFO continue. 0.5.6 would set $EnablePathInfo true if PHP is running via the "apache" SAPI, but apparently there are other SAPIs (e.g., "apache2filter" and "apache2handler") in which $EnablePathInfo should be set. This version changes the default setting of $EnablePathInfo to be true unless the SAPI is "cgi" or "cgi-fcgi".
Version 0.5.12 (23-Jul-2003)
This version adds the [[redirect:]] directive to Pm Wiki.
Version 0.5.11 (18-Jul-2003)
Miscellaneous fixes:
- Fixed incorrect icon link to wiki home page when $EnablePathInfo==0.
- Fixed handling of stripslashes() when PHP's magic_quotes_gpc is off – Pm Wiki used to expect this setting to be on.
Version 0.5.10 (15-Jul-2003)
- Another modification to Diff and Patch functions for the popen() and system() calls.
- Changed the initialization of $WikiLibDirs. Previously $WikiLibDirs was initialized after making calls to local.php, to allow local.php to set the value of $WikiDir (normally "wiki.d"). Now $WikiLibDirs is initialized prior to local.php, but uses a reference to $WikiDir to achieve the same effect as before.
Version 0.5.9 (14-Jul-2003)
- Modified the Diff and Patch functions to use popen() and system() instead of the backticks. This may improve compatibility on some webhosts that have restrictions on external program executions.
Version 0.5.8 (13-Jul-2003)
- Added miscellaneous cleanups to start to enable Pm Wiki to work when error_reporting(E_ALL) is set (stricter code).
Version 0.5.7 (11-Jul-2003)
A variety of improvements and requested features...
- Added a %comment% WikiStyle – this allows text to be placed in the markup that is not rendered upon output.
- Added $SysDiffCmd and $SysPatchCmd local configuration variables to allow alternate locations of diff(1) and patch(1) to be specified. Default values remain '/usr/bin/diff' and '/usr/bin/patch'.
- Added $EnableUploadOverwrite variable; if set to 0 then users are prevented from overwriting existing files in the upload area.
- Added a chmod() call to explicitly set the permissions of uploaded files according to the $UploadPerms variable. By default $UploadPerms is determined by the umask() in use at the time the upload.php script is loaded.
- Added a feature to allow setting a password to "nopass" to indicate that a password is not required even if a group or $DefaultPassword is set.
Version 0.5.6 (2-Jul-2003)
- Restored PATH_INFO handling back to the version that existed in 0.5.4 and earlier, mostly. Pm Wiki now attempts to determine if the PHP installation is running as an Apache filter or a CGI script, and then sets and uses $EnablePathInfo accordingly.
- Fixed problem with global $Newline definition when using UTF-8 character sets, which also improved quite a bit of the code. Now, the newline substitution sequence is held directly in the wiki.d page files (defaults to the historical value of \262 if not present), and newline substitutions are performed entirely in the Read Page[?] and Write Page[?] functions and not in the other functions. Many thanks to Serge Semashko for providing this excellent solution.
- The default value of $TimeFmt has been changed to be compatible with the standard C library version of strftime. This means that pages' last modified dates will appear with leading zeroes for the hours 00-09. To restore the previous value for $TimeFmt, add the following to local.php:
$TimeFmt = '%B %d, %Y, at %I:%M %p';
Version 0.5.5 (21-Jun-2003)
Modified PATH_INFO handling so that the pagename is determined only from a valid Group/Title component at the end of PATH_INFO. This should help systems running in environments that place the entire script name in PATH_INFO or otherwise set PATH_INFO incorrectly.
Modified the handling of $SearchTagFmt so that $PageUrl is substituted upon output (when the correct pagename is known) instead of on initialization.
Version 0.5.4 (20-Jun-2003)
Made some changes to Fmt Page Name[?] to hopefully make life easier for those who are stuck on hosting services that don't properly support the CGI PATH_INFO variable. A Wiki Administrator can simply set
$EnablePathInfo = 0;
in local.php and this will cause page names to be placed in the CGI QUERY_STRING variable instead of PATH_INFO. This is done by rewriting '$ScriptUrl/{pagename}' in fmt-strings to read '$ScriptUrl?pagename={pagename}' (and adjusting any existing query string as appropriate).
Version 0.5.3 (16-Jun-2003)
Modified PrintWikiPage() so that link and page references in included
pages are relative to the including page instead of the included page.
Added Group Footer[?] and capabilities.
Fixed an XHTML error in search.php.
Version 0.5.2 (14-Jun-2003)
Version 0.5.1 (14-Jun-2003)
Bugfix in Print Wiki Page[?]() and upload.php.
Version 0.5.0 (13-Jun-2003)
This is the 0.5.0 release. WikiAdministrators should carefully
read the notes below before upgrading from 0.4.x to 0.5, as
some substantial changes have been incorporated into this release.
- The major change in this release is a modification of the variables used to generate the headers, footers, and other portions of the HTML pages generated by Pm Wiki. In general, sites that were simply setting values for $PageHeaderFmt, $PageFooterFmt, etc. will be unaffected–sites that were using the function-call features of $PageHeaderFmt and $PageFooterFmt will need to update their local.php files a bit. However, the scheme used in 0.5 is much cleaner and more flexible than the one that existed in 0.4.x.
- A new function called PrintFmt() has been created for displaying the contents of $...Fmt variables. In particular, a $...Fmt variable passed to PrintFmt() can be:
- a string to be output (with $-substitutions as before)
- "
function:Function Name[?]", which is the name of a function to be called to generate output
- "
wiki:Group.PageName Group.AltPage1 ...", which displays the contents of Group.PageName if it exists, otherwise Group.AltPage1, etc.
- "
file:pathname1 pathname2 ...", which uses the PHP include function to include the contents of the first existing file listed
- "
headers:", which outputs the HTTP headers defined in $HTTPHeaders
- an array consisting of any combination of these
- The HTML DOCTYPE declaration that used to be stored in $HTMLStartFmt is now stored in $HTMLDoctypeFmt. $HTMLStartFmt is now an array specifying everything to be output up to the body tag – i.e., "
headers:", $HTMLDoctypeFmt, $HTMLTitleFmt, $HTMLHeadersFmt, $HTMLBodyFmt.
- The Start HTML[?] function has reversed its parameters; formerly it was called as StartHTML($title,$pagename), now it is StartHTML($pagename,$title) to provide consistency with most other functions in pmwiki.php.
- $HTTPHeaders now contains all of the headers to be output at the beginning of a page–in pmwiki-0.4.28 it contained only the Content-Type header. Because of the way the PHP headers() function works, defining a new Content-Type is as simple as writing
$HTTPHeaders[] = "Content-Type: text/html; charset=utf-8;";
- The variable $HandleBrowseFmt controls the overall layout of wiki pages. Thus it's possible for someone to completely change the structure of output by redefining the contents of this variable. The default setting of $HandleBrowseFmt is an array containing $HTMLStartFmt, $PageHeaderFmt, $PageTitleFmt, 'function:Print Text[?]', $PageFooterFmt, and $HTMLEndFmt.
- Directives such as [[spacewikiwords]], [[noheader]], etc. have been moved out of the $DoubleBrackets array and into a new $BrowseDirectives array, to provide greater ability to add new page directives.
- The variable $HandleEditFmt controls the layout of the edit page, it is defined as an array containing $HTMLStartFmt, $PageEditFmt, 'wiki:Main.Edit Quick Reference[?]', and $HTMLEndFmt .
- The variable $EditQuickReferencePage has been eliminated.
- A new PrintWikiPage($pagename) function has been created that outputs the contents of the page given by $pagename. This can be called from php scripts as
<?php PrintWikiPage('Main.MyInsetPage'); ?>
- The scripts/diag.php script now implements
?action=phpinfo to assist with debugging and diagnostics.
- HTML tags that were in uppercase have been converted to lowercase (e.g., <table> instead of <TABLE>, <dl> instead of <DL>). This was done to aim towards XHTML and XML compatibility in a future release.
- Pm Wiki now attempts to produce a valid XHTML document. The mime type is still set to be text/html to keep from confusing older browsers.
- The scripts/sessionauth.php script has been added as an alternative to using HTTP authentication. This script uses an HTML form and PHP sessions to authenticate/authorize access to wiki pages.
- The default value for $ScriptUrl is now computed slightly differently; it assumes that HTTP_HOST will have any port number already in it.
- A Wiki Word preceded by a $ is treated as a variable documentation reference (e.g., for Pm Wiki documentation) and does not result in a Wiki Word link. This is handled by the scripts/vardoc.php script. A future version of this script will cause such variable documentation references to link to the appropriate location in the documentation if one is present.