GUIEditButtons refactor to enable Undo in textarea; allow for custom functions to configure mopen, mclose, and unselect for their buttons.
EditHelp refactor to allow undo; add shortcuts Ctrl+L convert selection to lowercase, Ctrl+Shift+L to uppercase, Ctrl+Shift+ArrowUp and ArrowDown to swap lines.
Replace autofocus inline JavaScript with attributes.
Edit form: the label next to the "Minor edit" checkbox now toggles the checkbox.
PmSyntax recognize (:template requires? ...:).
Update for PHP 8.
Obsolete PCCF() from PHP 7.2 not 8.0.
Add array $ObsoleteMarkups, function TraceMarkup(), update Markup(), Markup_e() and ObsoleteMarkup(), to retrieve and show files and line numbers for obsolete/disabled markup rules.
Fix bug with PSFT format %L.
Update documentation.
Version 2.3.13 (2022-10-07)
Close potential XSS vulnerability, reported by lukystreik (PITS:01483).
$EnablePmSyntax = 3; will enable syntax highlighting in the edit form by default, without the user clicking on "Highlight". Fix occasional text mis-alignment between the text area and the highlighted block.
(:markup:) can now have class=norender to only show the source code without processing it.
Updates for PHP 8.1, hide warnings, add PSFT() replacement for strftime() and 2 callbacks, $EnableFTimeNew, update core function calls, add %o for the ordinal suffix of the date (PITS:01418).
Notify: tz= (timezone) per-user.
PageList add category= argument (PITS:00447, PITS:01475); link= and category= now accept multiple pages, wildcards, and negations (PITS:00908).
[[!Category]] links can have alternative text (PITS:01095).
Simplify/optimize pmwiki-utils.js when using datasets, simplify sorting of table rows without cloning, add LocalTimes().
Page history diff anchors to also have "id=" attributes in addition to "name=".
Add $EnableLocalTimes (default disabled) and styles, add HandleDiffList().
Add markup @2022-01-09T08:35:00Z output as <time>; localized if $EnableLocalTimes.
PmTOC update CSS for properly indented subheadings.
Edit form $EnableIncludedPages, add placeholders to e_changesummary and e_author. Enable $EnableNotSavedWarning, add to sample-config.php. EditHelp to behave more like a word processor, typing "Enter" twice without writing text removes the preceding bullet.
PrintDiff() add classes for the delay between edits: diffday, diffweek, diffmonth, diffyear.
Add helper function DownloadUrl($pagename, $path) moved from LinkUpload().
Add $[ULby] i18n string 'uploaded by'.
Update documentation.
Version 2.2.145 (2021-12-11)
Hide undefined variable notices for PHP8.
Pagelist searches with wrong $SearchPatterns (list=abc argument) will now use $SearchPatterns["default"] rather than an empty array (effectively all pages). This is to allow admins to limit search locations.
Obsolete markups: change ⚠ emoji for entity ⚠ (emoji doesn't work in non-UTF8 wikis).
Update documentation.
Version 2.2.144 (2021-11-06)
Fix CmpPageAttr() for PHP 8 (suggested by Chris Caputo).
Optimize conditional "exists" if called many times, like from a pagelist.
Allow for CondExists(), MatchPageNames(), and MatchNames() to be called with a $caseinsensitive argument set to false (default case insensitive is true like before).
Update intermap.txt for Meatball wiki (PITS:01472).
Update documentation.
Version 2.2.143 (2021-10-02)
Prevent PHP from crashing with older markups and patterns.
Add ObsoleteMarkup(). Obsolete markup rules are now disabled and will appear framed with a "warning" icon.
Fix warnings for undefined variables in PHP 8 (PITS:01461).
Update pub/drt-utils.js to use the new API function call for Highlight.js, the old one having been deprecated. This change requires Highlight.js version 10.7.0 or newer (currently 11.0.0).
Update documentation.
Version 2.2.139 (2021-05-05)
Remove empty title attributes, reported by Martin Cuno.
Hide warning in pagelist.php for PHP 8, reported by Dominique Faure.
Hide warning in wikiwords.php for PHP 8, reported by Jue (PITS:01461).
Update documentation.
Version 2.2.138 (2021-03-02)
Fix details summary incorrectly escaped HTML, reported by Jack Applin (PITS:01465).
Update documentation.
Version 2.2.137 (2021-02-26)
Fix bug with twice encoded entities in PQA() quoted arguments.
Version 2.2.136 (2021-02-26)
Fix XSS vulnerability for WikiStyles reported today by Igor Sak-Sakovskiy.
The PQA() function accepts a second argument $keep default true.
Version 2.2.135 (2021-01-31)
Fix a number of PHP8 compatibility issues. Report others at PITS:01461.
Add pmtoken(), AutoCheckToken() currently transparent.
Blocklists: disabled a defunct one.
PmTOC: rewrite handling of section editing links.
Update documentation.
Version 2.2.134 (2020-11-30)
Update documentation.
Version 2.2.133 (2020-10-25)
Escape unintended variable evaluation in link tooltip titles, reported by Finar.
Responsive skin css: remove ul/ol forced padding (clips numbered list markers in long lists, reported by Colin Cody; complex to override cross-browser).
Add image extensions WEBP and APNG (PITS:01454) and upload extensions.
Fix potential vulnerability to CWE-384: Session Fixation, reported by Dominique Faure. Add $EnableAuthPostRegenerateSID default enabled.
RecipeCheck - only inject CSS when the action is called.
Update documentation.
Version 2.2.132 (2020-09-30)
Update documentation.
Version 2.2.131 (2020-08-30)
Update documentation.
Version 2.2.130 (2020-07-04)
Update documentation.
Version 2.2.129 (2020-05-21)
Mute some PHP notices.
Copy "simpletable" styles from the "pmwiki-responsive" skin into the old "pmwiki" skin.
Update documentation.
Version 2.2.128 (2020-04-26)
Strip some trailing spaces and convert some tabs to spaces.
Add comments next to preg_replace() and create_function() where old addons may cause PHP deprecation notices.
Mute some PHP notices.
Print the invalid pagename in the error message.
Update documentation.
Version 2.2.127 (2020-03-23)
Mute some PHP "undefined variable" notices.
Responsive skin set #wikiedit textarea max-height: 60vh (after discussion+tests at PmWiki:Skins-Talk).
Prefix PmTOC classes "pmtoc-show" and "pmtoc-hide" to avoid processing by other frameworks (reported by Finar).
Fix WikiStyles where "pct" was incorrectly dropped from some classnames (PITS:01404).
Hide warning about missing intermap file.
Add pmwiki-responsive skin, based on modified Skins:2016.
Responsive skin: Hide icon if PageActions empty. Fix "close" icon didn't appear for the PageActions block. Unrestrict menu height. Switching from portrait view with menu open to landscape: page should not be greyed out (PITS:01406). Landscape view: fix overflow for search form in Epiphany (likely Safari and other AppleWebKit-based browsers). Move the <main> tag up to allow scrolling of the whole #wikibody. Large preformatted blocks will also scroll in the mobile view. Set limit for desktop layout to 50em~800px. Scrollable tables via cosmetic JavaScript.