 Version 2.6.0 (2026-16-05)

    PmLib encapsulate in a function, improve safety features, add cloneFontMetrics(), echo.t(), echo.e(), pd(), pd.sp(), adj.rc(), adj.rw(), ue.core(), ue.decode(), sa() remove events, create() add shortcut properties.
    Refactor pmwiki-utils.js to not use innerHTML.
    Bare urls stop before %% (likely wikistyle).
    PmSyntax update for PmLib; fix >> style<< when there is an initial space; stop bare URLs before %%, fix display of links with multiple vertical bars, highlight Attach: intermap even if uploads are not enabled; style empty InterMap prefixes like Attach: as links not PageTextVariables; refactor for semantic page variables.
    Add helper function PrintPageFmt($pagename, $fmt), PQAA($array).
    EditShortcuts simpler notation, Primary+Shift+D=Cycle directive/markupexpression, Primary+Shift+S=Cycle wikistyles, reorder wikistyles, Primary+I to cycle more formats, insertlink() detect likely pictures, uploads, add [[#anchor]]...[[#anchorend]], context-aware insert wikistyle-code, refactor for easier custom keys, custom functions.
    Add revision identifiers to core JS files.
    Refactor/reposition LoadInterMaps() before PmUtilsJS() in order to have the parsed InterMaps highlighted in PmSyntax.
    Attach: links to strip #hash when resolving filenames.
    Update pmtoken(), pmnonce() to fail if secure random generator is missing.
    Add Media, $PmMedia, scripts/media.php, pub/lib/pmwiki-media.js.
    Fix opus mime type.
    WikiStyles if height and width are numeric and not attributes, add px.
    Attachlist add class name, remove empty title="" attribute.
    Add core css classes clear-both, clear-left, clear-right, pre-wrap, ellipsis.
    Input forms add datetime-local, pmdatetime.
    Add $PTVPreParseFn, requested by Gnuzoo.
    Add $EnableHideAttachPrefix.
    Restrict datashift targets to be contained in #wikitext, #wikileft, or #wikiright.
    Merge existing deprecated $UploadBlacklist into $UploadBlockPatterns.
    Add condition "grouphome".
    PageVars, template vars, pagelist pseudovars, include pseudovars add default value.
    Set $EnablePGCust to 99 after pgcust.php.
    Fix a dropzone could appear on the login form, reported by XES.
    Update documentation. 
	
 Version 2.5.9 (2026-04-05)
 
    PmLib highlight_pre add language as tooltip.
    PmSyntax allow for %hlt% language autodetection (except for PmWiki markup which needs to be %pmhlt%). Enable semi-transparent selection.
    Add PmLib.ready._init.
    Sortable fix when there are fewer cells in a row.
    Fix bug with $MessagesFmt shown multiple times on preview edit.
    Responsive skin add data-wikititle to #wikilogo a.
    Add wikistyle %download% for links (PITS:01528).
    Add PmLib.itext(), update guiedit.js.
    $EnableEditAutoText add new keyboard shortcuts, see Cookbook:EditHelp. Refactor EditAutoText, add PmLib.EditShortcuts to allow customization.
    SVG logo in sample-config.php.
    Fix bug with SaveAttributes.
    ParseArgs/Pagelist ignore unquoted empty arguments (PITS:01545).
    FixUrl to fully encode (with Shift) and decode (with Ctrl) all special characters (PITS:01548).
    When parsing SiteAdmin.AuthUser, join lines ending in a single backslash (allows for multiline user properties).
    Remove $EditAutoBrackets from $EnableCommonEnhancements.
    UpdatePage show current $EnablePost, $IsPagePosted in StopWatch.
    Refactor LocalTimes.
    The timestamps on page histories will now be wrapped in <time> elements.
    Update documentation. 
	
 Version 2.5.8 (2026-03-09)

    Fix warning for undefined $_SERVER['REMOTE_ADDR'] in CLI mode.
    Add $EnableEscapedUrlEmbed.
    Optimize the initial loading of Light or Dark theme stylesheets and pictures.
    Update documentation. 
	
 Version 2.5.7 (2026-03-08)

This version includes updates for PHP8, some bug fixes, and optimizations.

A new variable $IsLocalhost will be true when the wiki server is on the same computer as the browser, this can simplify configuration for mirrored wikis.

The PmLib JavaScript helper library was refactored for easier usage.

With tables, if the first and last rows have only header cells, they will be moved to <thead> or <thoot> elements. This helps with styling, sorting, filtering, and printing.

The Sortable tables function was rewritten, it now supports complex headers and footers with rowspan and colspan, and a new way to define column sort types (numeric, alphabetical, date, or no sorting).

A CSS class "center" was added, and link colors in the %note% style will inherit the note color. 