[pmwiki-users] PmWiki 20 years, version 2.3.1 released

Petko Yotov 5ko at 5ko.fr
Sat Jan 15 07:03:42 PST 2022


PmWiki version 2.3.1 was published today, and is available at:

  	* https://www.pmwiki.org/pub/pmwiki/pmwiki-2.3.1.tgz
  	* https://www.pmwiki.org/pub/pmwiki/pmwiki-2.3.1.zip
  	* svn://www.pmwiki.org/pmwiki/tags/latest

January 2022 is the 20th year anniversary of the release of PmWiki 
version 0.1, and 13 years since I (Petko) became core developer. This 
merited additional work and effort with hopefully interesting and useful 
new production.

PHP 5.3 - 8.1 compatibility

  	* PmWiki 2.3.1 includes updates for PHP 8.0 and 8.1.
  	* Consequently, it requires PHP version 5.3 (released 2009) or more 

PmSyntax. A new function PmSyntax was added to the core, and enabled on 

  	* It highlights PmWiki syntax in the documentation, and possibly in 
the basic edit form.
  	* It only highlights PmWiki markup, and is independent from 
Highlight.js. See Cookbook:PmSyntax [1] and $EnablePmSyntax [2].
  	* It should highlight most core language features and those of many 
recipes, see this mashup of various markups [3].
  	* Developers can add custom rules in the $CustomSyntax [4] array, see 
Cookbook:CustomSyntax [5].
  	* The (:markup:) directive can now have class=norender to only show 
the source code without processing it. This may be useful, together with 
PmSyntax, in 2 cases: writing/discussing markup code without actually 
running it, or working on PageList Templates where you want to see and 
edit them highlighted.

Improvements to the edit form

  	* PmSyntax (above) can be enabled to highlight the PmWiki markup the 
edit form, and should work in recent standards-compliant browsers.
  	* The variable $EnableNotSavedWarning [6] is now enabled by default. 
Add to config.php $EnableNotSavedWarning [6] = 0; to disable it.
  	* A new variable $EnableIncludedPages [7] allows listing of other 
pages included from the currently edited page, with links to see or edit 
them. When the variable is enabled, the list of pages appears in the 
edit form, after the text area, in a collapsed <details> element. The 
list includes pages from which text, text variables, or templates are 
included from the edited page. This is enabled on pmwiki.org if you wish 
to preview it.
  	* The $EnableEditAutoText [8] function will now feel more like other 
text editors by removing the automatically inserted bullet when Enter is 
pressed twice.

Dates and times, monitoring, review

  	* The {(ftime)} Markup expression now accepts a new format '%o' for 
the ordinal suffix of the date.
  	* The Notify [9] feature now accepts a tz= timezone specifier for 
individual subscribers. See Notify#tz [10].
  	* A function based on Cookbook:LocalTimes [11] was added to the core. 
See the recipe page [11] for the differences. You can continue using the 
recipe, or disable it and enable the core function.
  	* New core variables $EnableLocalTimes [12], $CurrentLocalTime [13].
  	* New markup @2022-01-09T08:35:00Z output as a <time> element, 
formatted via $TimeFmt [14]; localized if $EnableLocalTimes [12].
  	* Added a variable $EnableRecentUploads [15] which makes it easy to 
enable the Recent Uploads feature on AllRecentChanges. This is a basic 
format that may be good enough for many wikis. For more options, see 
Cookbook:RecentUploadsLog [16].
  	* The default $RecentChangesFmt [17] now use the variable 
$CurrentLocalTime [13] instead of $CurrentTime [18]. In the wiki source 
text it saves the timestamps in a portable time format in GMT, which is 
then shown formatted per $TimeFmt [14] (wiki timezone). It looks just 
like $CurrentTime [18] did previously, but can be converted to the 
visitor's time zone if LocalTimes is enabled. If you have custom 
$RecentChangesFmt [17] entries that use $CurrentTime [18], nothing will 
change for you, but you may want to update these with $CurrentLocalTime 
[13] if you want to benefit from localization.
  	* The "page history" page now has CSS classes for the delay between 
edits: diffday, diffweek, diffmonth, diffyear. These allow styling of 
vertical spacing between individual edits in page histories. See 
Cookbook:DiffDelay [19] for an example.
  	* The page history can now have a "hidden" edit type, in addition to 
"minor". This is intended to be used by recipes in order to hide, rather 
than delete, some edits from the page history. A couple of new recipes 
using this feature will be added in the next few days.

PageLists, categories, backlinks

	* PageLists [20] now accept a new argument category=Name which lists 
only pages declared in the category with the markup [[!Name]], and does 
not include pages simply linking to [[Category/Name]] (unless they also 
contain [[!Name]]).

  	* The differentiation between links to !Name and Category.Name 
requires the pages containing category links to be re-indexed; see 
Cookbook:ReindexCategories [21] which can automate this.

  	* Also in PageLists, the arguments link= and category= now accept 
multiple and negative specifiers, and wildcards. See PageLists#wildcards 
[22]. If you previously used the recipe Cookbook:PageListMultiTargets 
[23], please disable it when you upgrade to 2.3.0.
  	* Category links can now have a different text, like [[!Name|Text]], 
and the markup generally behaves like other links, see PITS:01095 [24].

Styles (core skin PmWiki-responsive)

  	* Collapsible sections details+summary will now change the cursor to 
the "pointer" style over the clickable element, and the color will 
change to "navy".
  	* The core table of contents function ($PmTOC [25]) has had its styles 
updated, in order to properly indent long sub-headings.

Core helper functions

  	* A new helper function PSFT() can now be used as an _almost_ drop-in 
replacement for strftime() and gmstrftime() which became deprecated in 
PHP 8.1. Please review the documentation at Functions#PSFT [26]. If you 
have local configurations or recipes using strftime() you can change for 
PSFT() now.
  	* A helper function DownloadUrl($pagename [27], $path) was added, see 
Functions#DownloadUrl [28]. It can simplify the handling of attached 
files by recipes.

Last but not least, the documentation in English has been updated with 
the latest development (and in German by MFWolff).

See also Upgrading from version 2.2.145 to 2.3.0 [29].

Note: _Our release script wasn't configured for a change from 2.2.x to 
2.3.x and unexpectedly zeroed the $VersionNum variable which broke some 
settings in 2.3.0. This quick 2.3.1 release fixes it._

As always, if you have any questions or difficulties, please let us 


[1] https://www.pmwiki.org/wiki/Cookbook/PmSyntax
[2] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#EnablePmSyntax
[3] https://www.pmwiki.org/wiki/Test/PmSyntax
[4] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#CustomSyntax
[5] https://www.pmwiki.org/wiki/Cookbook/CustomSyntax
[7] https://www.pmwiki.org/wiki/PmWiki/EditVariables#EnableIncludedPages
[8] https://www.pmwiki.org/wiki/PmWiki/EditVariables#EnableEditAutoText
[9] https://www.pmwiki.org/wiki/PmWiki/Notify
[10] https://www.pmwiki.org/wiki/PmWiki/Notify#tz
[11] https://www.pmwiki.org/wiki/Cookbook/LocalTimes
[12] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#EnableLocalTimes
[13] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#CurrentLocalTime
[14] https://www.pmwiki.org/wiki/PmWiki/BasicVariables#TimeFmt
[16] https://www.pmwiki.org/wiki/Cookbook/RecentUploadsLog
[17] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#RecentChangesFmt
[18] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#CurrentTime
[19] https://www.pmwiki.org/wiki/Cookbook/DiffDelay
[20] https://www.pmwiki.org/wiki/PmWiki/PageLists
[21] https://www.pmwiki.org/wiki/Cookbook/ReindexCategories
[22] https://www.pmwiki.org/wiki/PmWiki/PageLists#wildcards
[23] https://www.pmwiki.org/wiki/Cookbook/PageListMultiTargets
[24] https://www.pmwiki.org/wiki/PITS/01095
[25] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#PmTOC
[26] https://www.pmwiki.org/wiki/PmWiki/Functions#PSFT
[27] https://www.pmwiki.org/wiki/PmWiki/BasicVariables#pagename
[28] https://www.pmwiki.org/wiki/PmWiki/Functions#DownloadUrl
[29] https://www.pmwiki.org/wiki/PmWiki/Upgrades#v22v23
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pmichaud.com/pipermail/pmwiki-users/attachments/20220115/8986258d/attachment.html>

More information about the pmwiki-users mailing list