 Version 2.5.5 (2026-01-10)

    PmSyntax config without page variable, optimize rendering, stopwatch.
    Input datalist minor refactor. Simple datalists now added to $HTMLFooterFmt rather than after the element.
    Sortable headers if right-aligned, place the arrow to the left; fix clear arrows for sortable-footer.
    Enable Shift+click to check multiple adjacent checkboxes.
    Update for PHP 8.
    Disable core $HTMLStylesFmt that are already loaded from pub/lib/pmwiki-core.css.
    Update for PHP 8.5 (PITS:01531).
    PmTOC add tooltip title to back arrow links, minor refactor. Add $PmTOC['MinNumberedHeadings'], default 2.
    Add markup !!#id Heading to define the id attributes of headings.
    With $EnableMergeLastMinorEdit, checking the Minor edit checkbox will pre-fill the change summary field with the previous summary. Refactor MergeLastMinorEdit() to configure $InputTags['e_minorcheckbox'].
    PmLib add average(array), refactor draggable, dispatched events will now bubble by default, refactor core utilities.
    EnableNotSavedWarning moved to pmwiki-utils.js and can be used by custom forms.
    Notify fix tz= could modify subsequent recipients (PITS:01536).
    Refactor TextSection, add $TextSectionAnchorPatterns.
    Dark theme: slightly darker simpletable backgrounds.
    Refactor Dropzone, add directive (:dropzone uploadpage=Group.Name:).
    RecipeCheck to handle fopen gracefully (PITS:01538).
    UrlApprovals add confirmation page with preview before approving URLs.
    Input select allow to configure custom attributes.
    Update documentation. 
	
Version 2.5.4 (2025-12-06) 

	Update for PHP 8.5.
	Add helper function PPRAR() = PPRA() recursive, mkdirpdeny(), EnableGroupPageStore(), update sample-config.php.
	Add conditionals (:if empty:) (PITS:01529), (:if skin name:), and (:if attachments:) to false when uploads are disabled, alias (:if attachment:)
	PmTOC allow for heading elements to be removed or restored in links.
	Add PmLib.parser, update PmLib.isHidden.
	PmSyntax: highlight custom input elements in forms and custom conditions, include $PostConfig configurations, detect more PmWiki variables.
	Form text-like inputs add "placeholder" as 3rd positional attribute. Input datalist options can now be written in the list= attribute split by ";" or "\n".
	Add $PostDispatchFunctions, save original working directory in $PmOWD.
	Sortable tables fix bug when the header is sticky.
	Update docs/sample-config.php for EnableGroupPageStore().
	Update documentation.

Version 2.5.3 (2025-11-08)

    Darktoggle: optimize synchronization between tabs.
    RecipeCheck: update for PHP 8.4 (PITS:01526); add CSS class for easy styling.
    Fix ?action=crypt for CleanUrls (PITS:01527).
    Fix $HTMLHeader1Fmt for actions that don't load a skin.
    PmLib optimize storage, add recursive equal, Datashift allow to only move the inner child nodes.
    Update documentation. 
	
Version 2.5.2 (2025-09-14)

    Update InterMap definitions.
    Update PmFFVersion.
    Update documentation. 
	
Version 2.5.1 (2025-08-13) 
	
	Fix bug with the release scripts incorrectly calculating $VersionNum, reported by Gnuzoo.

Version 2.5.0 (2025-08-10)

    Lowest PHP version=7.0
    Refactor pmcrypt(), add pm_password_verify(), rehash_password(), remove $RehashedPassword, default $AllowPassword to false (PITS:01523).
    Update docs/sample-config.php to remove pmcrypt().
    Refactor PmNonce().
    PmLib fix bug with PmLib.adjany, move makeDraggable() to PmLib.mkDrag(), setLS() to store all data in a single window.localStorage object, fix bug with data-shift, improve revert display, identify headings in page, allow for textarea[data-pmsyntax] to be highlighted.
    Add helper function PHSCQF().
    Add $LinkPageShortFmt, $LinkPageTooltip.
    Add $EnableMinorEditKeepMeta, edit function MinorEditKeepMeta.
    In MergeLastMinorEdit(), keep the 'minor' flag if the previous edit was also minor.
    Make $CustomActions[$action]['function'] optional if "Handle$action" exists.
    Hide dark toggle icon when $EnableDarkThemeToggle is zero.
    Allow for (:input pmtoken:) to have other attributes.
    tools.php: PmMultipartMail add $PmMMCTE for Content-Transfer-Encoding, remove Content-Disposition for text or html. Add helper PmFFVersion().
    Add HandlePmForm1().
    Update documentation. 