Change Log
< Release notes | Documentation Index | Glossary >
See the cookbook recent changes page for additional updates and activity by other developers, or join the PmWiki mailing lists to discuss feature development with us.
Version 2.3.35 (2024-07-07)
- Pm Syntax
(:comment ...:)
add required space; add(:input defaults ...:)
(with "s"). - Enable highlighted source with ?action=source&highlight=1.
- Update default sidebar, https links, PITS and Mailing lists in conditional.
- Remove upload extensions "svg", "svgz", "htm", "html", "css", "swf", "fla", "epub", and files with no extension. Fix mime types for "wmf", "psd".
- Fix page title could accidentally include raw HTML.
- Update documentation.
Version 2.3.34 (2024-05-27)
- Delete wikilib.d/Pm Wiki.Per Group Customizations (unused redirect), content moved to Group Customizations 14 years ago.
- Recipe Check remove table width attribute (suggested by Simon).
- Add
(:if action browse,edit:)
conditional. $GUIButtons
remove invalid elements (warning reported by Simon).- phpdiff.php fix for PHP 8 when saving new pages (reported by Simon).
- Responsive skin: remove old CSS declarations like @-moz-keyframes (PITS:01507).
- Add upload extension 'm4a'.
- Update documentation.
Version 2.3.33 (2024-04-21)
$EnablePreviewChanges
to show "No changes" if there are no changes.- Pm Syntax add rules for colored pagenames and UR Ls inside bracket links.
- Responsive skin hide dropdown icons from printing.
- Fix some cases with conditional markup and markup expressions where an empty code could be evaluated (suggested by Goodguy00).
- Add
$HTMLTitleFmt
(PITS:01502). - Cache auth conditional results for
(:if auth level:)
. - Update blocklist.php for PHP 8, reported by Foster Schucker.
- Update documentation.
Version 2.3.32 (2024-03-24)
- Dark theme: add toggleImages(), add
⚠ $ImgDarkSuffix, $
Fmt V['$PathUpload']. Restore light styles and pictures for printing. - Responsive skin: white background when printing, move dark toggle label styles into skin.css.
- Pm Syntax: only apply dark theme colors on screen (not print).
- Add upload extensions and image extension patterns AVIF, AVIFS.
- Lock All Recent Changes in case of concurrent uploads.
- File Size Compact() allow for base 1000 (PITS:01499).
- Update documentation.
Version 2.3.31 (2024-02-23)
- Add
$EnableDarkThemeToggle
, enable 3-way theme toggle, "Light", "Dark" and "Auto", add annotation tooltip showing the current theme on tap and on mouse over. - Refactor config data passed to pmwiki-utils.php, refactor dark toggle functions into a separate script.
- Responsive skin add body attributes for group and page name, update dark theme, enable auto theme (browser preferences) by default.
- Pm Syntax improve dark theme thanks to a script by Said Achmiz; expose color properties for reuse.
- Refactor redirect quiet (PITS:01498).
- Page attributes passwords form: allow for +addition and -removal of passwords, users, groups.
- Allow
$EditTemplatesFmt
entries to apply to specific pages with name= specification (suggested by Simon). - Forms add attribute "form".
- Refactor $PostConfig to allow called functions to update it.
- Update Recipe Check to also list skins, suggested by Simon.
- Refactor Print Fmt, add $EnablePrePrintFmt.
- WikiStyles add 'columns'.
- When Highlight.js is enabled, Vardoc links will be the same color as variables in highlighted code blocks.
- Refactor
$EnableUploadVersions
. - Update documentation.
Version 2.3.30 (2024-01-22)
- Add prototype for dark theme toggle. See PITS:01497 and Cookbook:DarkColorScheme.
- Pm Wiki-responsive skin converted CSS colors to variables, added dark theme styles.
- Add skins/pmwiki/pmwiki-32.svg, enable default for
$PageLogoUrl
. - Pm Syntax added dark theme styles.
$EnableUploadMimeMatch
with Fileinfo not enabled to deny uploads.- upload.php fix warning for PHP 8.
- Recipe Check use https, suggested by Simon.
- Print Diff() add $since argument.
- Add
$EnableRedirectQuiet
= 2. Prevent infinite redirect loops. - Fix Attach: links with escaped path and filename.
- Improved readability for inline diffs in page history.
- Forms enable input e_author not only for action=edit, fix unquoted positional form action URL.
- Update documentation.
Version 2.3.29 (2023-12-18)
- Fix urlapprove.php for PHP 8.2.
- Pm Syntax textarea remove styles for width, height (Cookbook:PmSyntax-Talk), allow for fractional dimensions of the highlighted area.
$MarkupDirectiveFunctions
allow dashes in attribute names.- Update documentation.
Version 2.3.28 (2023-11-27)
- Add input month and color fields.
- Add
$NotifyRelatedTrailFmt
. - Reverse simpletable row backgrounds when there is a thead element.
- Fix pmwiki-utils.js when window.localStorage is disabled.
- Url Approvals allow https: UR Ls if the http: URL for the same domain has been approved (PITS:01431).
- Update documentation.
Version 2.3.27 (2023-10-23)
- When merging last edit, if there is no change summary, reuse the last one.
- Keep unknown date/time formats for undefined timezone (PITS:01495).
- Diff Render Source() fix for PHP 8, keep ins/del tags on the same line.
- The ".diffmarkup" element now has the style "white-space: pre-wrap".
- Add new keyword shortcuts Ctrl+B (bold), Ctrl+I (italic), Ctrl+K (link/unlink).
- Update documentation.
Version 2.3.26 (2023-09-28)
- Add configurable
$InputLabelFmt
snippet (PITS:01493). - Add configurable
$TrailFmt
snippets. - Add
$EnableSearchAtLeastOneTerm
, default disabled. - Unset upload extensions if size for the extension is set to 0.
- Update feeds.php for PHP 8.2 (PITS:01494).
- Update documentation.
Version 2.3.25 (2023-07-29)
- Updates for PHP 8.2.
- Fix pagelist when 2+ directives on the same line, reported by Simon.
- Fix possible bug with internal group(header|footer) directives caused by PRR().
- Update documentation.
Version 2.3.24 (2023-06-06)
- Add
$EnableUploadMimeMatch
. - Add
$EnableMergeLastMinorEdit
, edit functions Merge Last Minor Edit (based on Cookbook:FuseEdit), Save Change Summary (refactored out of Handle Edit). - Fix Logout Cookies() doesn't use a
$pagename
argument. - Pm Form add condition 'validemail' for use in template require.
- Add $PmCryptAlgo, pmcrypt() to call password_verify() if it exists.
- Refactor Handle Download() split Serve Download(
⚠ $filepath, $
upname). - Add Insert Edit Function(
⚠ $newfn, $
where='<Post Page'). - Add
$AuthFormRespCode
. - Add
$EnableDownloadRanges
, default 1. - When the token is expired, reopen edit form rather than abort.
- Local Times add $EnableRCListLastEdit.
- Update documentation.
Version 2.3.23 (2023-05-03)
- Refactor pmtoken() to use session tokens, enable for core actions.
- Add
(:input pmtoken:)
helper. - Pm Form add $PmFormEnablePmToken.
- Refactor
Handle Logout A()
splitLogout Cookies()
. - Fix PRCB() for PHP < 7.4.
- Update documentation.
Version 2.3.22 (2023-04-06)
- Add scripts/pmform.php, Site.Pm Form Templates.
- Fmt Date Time Z() can now accept Unix timestamps.
- Pagelists fix bug with multiple category=+A,+B entries.
- Update for PHP 8.1 (PITS:01488).
- Markup Directive Functions will now cast numeric arguments to floats.
- Prevent errors in custom Page Variables from generating internal server errors (PITS:01489).
- Improve inline diff for rare cases (end of page).
- Forms/buttons with
data-pmconfirm="Question"
will ask the question before they are submitted. - Update documentation.
Version 2.3.21 (2023-03-06)
- Add
⚠ $IsPmArchive, $
Pm Archive Dir. - Sortable tables with <time datetime=""> elements can be sorted by the datetime attribute. Fix for tables with preexisting <thead> element.
- Updates for PHP 8.
- Add CSV upload extension.
- Local Times add mode=3 to show old dates as MM'YY.
- Fix bug with multiline
$MarkupDirectiveFunctions
, reported by Antti Tikanmäki. - Add
$EnableCopyCode
and Copy code button to <pre> blocks, suggested by Alex Doré. - Update Pm TOC to work better with Cookbook:SectionEdit.
- Update documentation.
Version 2.3.20 (2023-02-12)
- Fix undefined variable warning, reported by Gregor Klarič.
Version 2.3.19 (2023-02-11)
- Only set cookie params if headers not sent.
- Update for PHP 8.2, reported by Dfaure. Page Var() update for PHP 8.
- Add variable $DiffPrepareInlineFunction.
- Page List Cache() remove unused global
$PageIndexFile
. - Add configurable
⚠ $LocalCSSDir, $
Local CSS Dir Url. - Download Url() add
⚠ $FmtV['$
Link Download'] with current or future download link. - Add pm_recode() helper function (based on Page Store::recodefn), check for more transcode options.
- Handle Browse() add
⚠ $FmtV['$
Page Source Text']. - Add helper function Keep Block().
- Add
⚠ $FarmPubDirPrefix, pm_servefile(), $
Serve File Exts. - Update documentation.
Version 2.3.18 (2023-01-15)
- Refactor scripts/utils.php, add pm_json_encode() (PITS:01486).
- Edit Auto Text() fix for lines ending with multiple backslashes.
- Pm Syntax optimize/refactor for large pages (cont.), fix inline escaped texts could ignore line markups, add Enable Stopwatch.
- Notify fix typo in regular expression.
AddRedesigned in 2.3.31$EnableUploadVersions
>=10 to rename base.ext to base-1.ext, base-2.ext,...- Cond Auth() fix bug with global $AuthList.
- Add helper function PRCB() for simpler preg_replace_callback passing variables.
- Update scripts/refcount.php for PHP 8, reported by George Murray.
- Add Page Variable
$PageLogoUrl
(PITS:01297). - Update documentation.
Version 2.3.17 (2022-12-17)
- Wiki Styles trim class names (PITS:01485).
- GUI Edit Buttons 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+Arrow Up and Arrow Down to swap lines.
- Skip upgrade check if
$EnableReadOnly
. - Fix bug with multiple
$MarkupDirectiveFunctions
. - Add
$EnableBaseNameConfig
. - Pm Syntax optimize for larger pages (cont.).
- Input password add class "inputbox" like the other fields.
- Cond Auth() added way to check for usergroup permissions.
- Update in pagelist.php for PHP 8.
- Documentation update.
Version 2.3.16 (2022-11-28)
- Class PPRC add generic callbacks.
- Include Text() update for PHP 8, reported by V.Krishn.
- Wiki Style add 'overflow', 'notoc'.
- Add Pm Nonce().
- Pm TOC update indented link style->classname.
- Responsive skin: replace
[[<<]]
with<br class='clearboth' />
, update Pm TOC styles. $EnableListIncludedPages
use class name instead of style.- guiedit.js remove unneeded style.
- Pm Syntax realign font for nested programming languages in the edit form, optimize for large pages.
- Only call session_status() if function exists.
- Edit form remove unsafe-inline script.
- Revert Wiki Style To Class Name(), Pre Print Fmt() -- need more work (PITS:01484).
- Documentation update.
Version 2.3.15 (2022-11-21)
- CSS pre, code relative/scalable font-size (pmwiki-responsive skin).
- Pm Syntax add variable --pmsyntax-fontsize-editform and split from --pmsyntax-fontsize [1].
- Pm Syntax fix
[[Highlight]]
label font size and family (reported by Hans). - Add variable
$CookieSameSite
default to 'Lax' - Add argument
⚠ $samesite to pmsetcookie(), default to $
Cookie Same Site, refactor for old and new PHP versions. - Add function pm_session_start() respecting local configuration.
- CSP header add base-uri=self; object-src 'none'.
- Add $HTTPHeaders['XSSP'] = 'X-XSS-Protection: 1; mode=block'.
- Rewrite GUI Buttons logic to avoid unsafe-inline Java Script.
- Refactor Wiki Styles, replace inline styles with class names to avoid unsafe-inline CSS.
- Refactor PQA(), tables, cells, to replace inline style="..." with class names to avoid unsafe-inline CSS.
- Add Pre Print Fmt(), refactor Print Fmt(), Print Skin() to process wiki pages, skin parts, and skin functions to HTML before outputting headers.
- Fix XSS vulnerability.
- Documentation update.
Version 2.3.14 (2022-11-03)
- Searchbox also escape custom field names.
- Prevent double-encoded entities in searchbox (reported by Simon).
- Trim
$Author
(PITS:01208). - Replace autofocus inline Java Script with attributes.
- Edit form: the label next to the "Minor edit" checkbox now toggles the checkbox.
- Pm Syntax recognize
(:template requires? ...:)
. - Update for PHP 8.
- Obsolete PCCF() from PHP 7.2 not 8.0.
- Add array $ObsoleteMarkups, function Trace Markup(), update Markup(), Markup_e() and Obsolete Markup(), 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).
- Refactor
⚠ $MultiFactorAuthFunction, add $
Failed Logins Function. - Update documentation.
Version 2.3.12 (2022-09-25)
- Stripmagic() cast null to "" and other fixes for PHP 8.
- Fix parse error for complex conditionals with empty variables (PITS:01480).
- PSFT() and Markup Expression
ftime
add %L as human readable local timestamp. - Markup Restore() fix wrong cast to empty string of false-ish values.
- Print Auth Form() split from Pm Wiki Auth().
- Fix warning for unneeded session_regenerate_id() (reported by George Murray).
- Update documentation.
Version 2.3.11 (2022-08-30)
- Add PageVariables
{$GroupHomePage}
,{$GroupHomePageName}
,{$GroupHomePageTitle}
,{$GroupHomePageTitlespaced}
. - Add
$MarkupDirectiveFunctions
. - Fix stripmagic() for arrays recently broke after PHP 8 update.
- Update documentation.
Version 2.3.10 (2022-08-20)
- Update for PHP 8.1 (reported by Armin Bühler).
- Forms will now prefill wildcard variables from
⚠ $DefaultUnsetPageTextVars or $
Default Empty Page Text Vars. $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.- Update documentation.
Version 2.3.9 (2022-08-18)
- Add non-wildcard
$DefaultUnsetPageTextVars
to(:input default:)
(reported by Johnny). - Pm Syntax handles new selectors pre.pmhlt, code.pmhlt.
- Update for PHP 8 (PITS:01478).
- Update documentation.
Version 2.3.8 (2022-07-22)
- Pm Syntax fix for 2 different
%hlt%
on the same line (reported by Simon). - Fix broken include when the first page doesn't exist.
- Update documentation.
Version 2.3.7 (2022-06-28)
- $HTTPHeaders add X-Frame-Options (suggested by Imagine Dragon) and Content-Security-Policy to disallow embedding in external websites by default.
$EnableHighlight
will now remember any links to Pm Wiki variables and restore them after the highlighting, see thread.$EnablePmSyntax
will now process%hlt pmwiki%
in addition to%pmhlt%
blocks, and escaped markup after it will be tentatively highlighted.- Update documentation.
Version 2.3.6 (2022-06-19)
- Fixes for PHP 8.
- Add form attribute "lang".
- Sortable tables allow for table headers to have markup such as bold (except links). It will now use a case-insensitive natural ordering.
- Allow for
⚠ $UploadVerifyFunction to modify $
upname. - Add variable
$PageIndexTermsFunction
. - Searchbox allow for removal of submit button if
label=""
; add defaultplaceholder="$[Search]"
. - Fix author.php may be included before some variables are defined, reported by Said Achmiz.
$EnableHighlight
convert code blocks to plain text, see thread.- Documentation update.
Version 2.3.5 (2022-05-23)
- Fix broken list=grouphomes (PITS:01477).
- Add Disable Skin Parts() helper function for recipes.
- Handle Post Upload: add
and⚠ $FmtV["$
filepath"]
with the file path and direct URL to the newly uploaded file.⚠ $FmtV["$
upurl"] - In pmwiki-utils.js, replace forgotten let with var (suggested by Ste P).
- Update for PHP 8.1.
- Update documentation.
Version 2.3.4 (2022-04-22)
- Fixes for PHP 8 warnings, reported by Siegfried Seibert.
- Update documentation.
Version 2.3.3 (2022-03-26)
- Fix for PHP 8 warnings, reported by Jean-Patrick Charrey, Dominique Faure and Siegfried Seibert.
- Update README.txt and docs/ files, suggested by Simon Davis.
- Update documentation.
Version 2.3.2 (2022-02-09)
- Allow for
$EnableLocalTimes
to define custom duration of the pulled page history. - Rename variable
⚠ $EnableIncludedPages to $
Enable List Included Pages (avoid ambiguity). - Remove $LinkAlt when an embedded picture without an alternative text fails to load.
- Pm Syntax:
- Allow for line breaks
inside headings, tables, list items (like the core). - Parallel processing of multiple blocks.
- Allow for line breaks
- Add scripts/utils.php; move loading of pmwiki-utils.js and Pm Syntax to scripts/utils.js.
- Add
$EnablePmUtils
, default enabled. - Parallel processing of the pmwiki-utils.js utility functions.
- Move pmwiki-utils.js move to
$HTMLHeaderFmt
(often prevents page redraw with the Pm Toggle/Local Times).
- Add
- Fix bug causing invalid page name when the name is "Group.0".
- Fix PHP 8.1.2 warnings, reported by Jürgen Godau and Dominique Faure.
- Localt Times fix "rcnew" classes for wikis with the older format.
- Update documentation.
Version 2.3.1 (2022-01-15)
- Fix the release script which broke the
$VersionNum
variable and the[[#anchor]]
markup with the Pm Wiki-responsive skin.
Version 2.3.0 (2022-01-15)
- Add Pm Syntax,
⚠ $EnablePmSyntax, $
Custom Syntax,{$EnabledIMap}
, see Cookbook:PmSyntax, Cookbook:CustomSyntax. (:markup:)
can now haveclass=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. - Page List 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 Local Times().
- Page history diff anchors to also have "id=" attributes in addition to "name=".
- Add
$EnableLocalTimes
(default disabled) and styles, add Handle Diff List(). - Add markup
@2022-01-09T08:35:00Z
output as <time>; localized if$EnableLocalTimes
.- Add
⚠ $CurrentLocalTime in the above format, used by default in $
Recent Changes Fmt.
- Add
- Add
⚠ $EnableRecentUploads (only Site.AllRecentChanges, only if $
Recent Uploads Fmt not defined). - Pm TOC update CSS for properly indented subheadings.
- Edit form
⚠ $EnableIncludedPages, add placeholders to e_changesummary and e_author. Enable $
Enable Not Saved Warning, add to sample-config.php. Edit Help to behave more like a word processor, typing "Enter" twice without writing text removes the preceding bullet. - Responsive skin details>summary:hover {color:navy, cursor: pointer;}.
- Print Diff() add classes for the delay between edits: diffday, diffweek, diffmonth, diffyear.
- Add helper function
Download Url(
moved from⚠ $pagename, $
path)Link Upload()
. - Add $[ULby] i18n string 'uploaded by'.
- Update documentation.
Older versions
ChangeLog Archive - changes prior to version 2.3.0.
< Release notes | Documentation Index | Glossary >
This page may have a more recent version on pmwiki.org: PmWiki:ChangeLog, and a talk page: PmWiki:ChangeLog-Talk.