<div dir="ltr">Petko<div><br></div><div>congratulations on another outstanding PmWiki release.</div><div>Congratulations too on your leadership and stewardship of PmWiki over 16 years. </div><div><br></div><div>I appreciate and applaud you on keeping PmWiki up to date with the web ecosystem, relevant, and tremendously useful.</div><div><br></div><div>Again well done</div><div><br></div><div>with many many thanks</div><div><br></div><div>Simon</div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, 20 Jan 2025 at 05:13, Petko Yotov <<a href="mailto:5ko@5ko.fr">5ko@5ko.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello. PmWiki version 2.4.0 was published today, and is available at:<br>
<br>
<a href="https://www.pmwiki.org/pub/pmwiki/pmwiki-2.4.0.tgz" rel="noreferrer" target="_blank">https://www.pmwiki.org/pub/pmwiki/pmwiki-2.4.0.tgz</a><br>
<a href="https://www.pmwiki.org/pub/pmwiki/pmwiki-2.4.0.zip" rel="noreferrer" target="_blank">https://www.pmwiki.org/pub/pmwiki/pmwiki-2.4.0.zip</a><br>
svn://<a href="http://www.pmwiki.org/pmwiki/tags/latest" rel="noreferrer" target="_blank">www.pmwiki.org/pmwiki/tags/latest</a><br>
<br>
I'm happy to announce PmWiki version 2.4.0, a milestone that also marks<br>
185 versions in 16 years of my journey as the core developer (Petko).<br>
Fun fact: that's 20 years in octal and 10000 years in binary. ;-)<br>
<br>
To mark the occasion, some extra work seemed appropriate. I hope you<br>
will find the new production interesting and useful.<br>
<br>
Structure changes:<br>
* Added a new pub/lib directory, moving core files such as<br>
pmwiki-utils.js, pmwiki-syntax.css, pmwiki-syntax.js, and<br>
pmwiki-darktoggle.js to it.<br>
* Added pmwiki-core.css which includes core styles previously injected<br>
into $HTMLStylesFmt. This change is aimed at improving performance and<br>
supporting stricter Content-Security-Policy. The styles include support<br>
for both light and dark themes and responsive layouts, with easier<br>
customization options.<br>
* Added pmwiki-lib.js, a new core JavaScript library for DOM<br>
manipulation, asynchronous operations, preference storage, and<br>
reporting. These functions can also be used by recipes.<br>
* Added $HTMLHeader1Fmt for insertion right after the <head> tag to<br>
facilitate early loading of scripts and styles, improving features like<br>
dark mode and easing core style overrides by skins.<br>
<br>
JavaScript and CSS updates:<br>
* Refactored the InsertWikiPageCSS() function. Added $WikiPageInlineCSS<br>
(default enabled); if set to 0, local styles will be served as a<br>
separate browser request ($PageUrl?action=pagecss), aligning with the<br>
stricter Content-Security-Policy.<br>
<br>
Form and textarea enhancements:<br>
* The edit form "Preview" button no longer requires validation.<br>
* Improved $EnableMergeLastMinorEdit behavior.<br>
* If $EnableEditAutoText is set to 2, any textarea with the autotext<br>
class will enable Cookbook:EditHelp. New shortcuts for line swapping<br>
(Alt+ArrowUp and Alt+ArrowDown) have been added.<br>
* Introduced $EditAutoBrackets to automatically insert closing<br>
characters in autotext textareas. If text is selected, typing an<br>
opening character will wrap the selection with matching characters.<br>
* If $EnablePmSyntax is set to 2, any textarea with the class pmsyntax<br>
will enable Cookbook:PmSyntax. The F8 key can now toggle syntax<br>
highlighting.<br>
* Added the (:input range:) element to forms.<br>
* Added support for data-labelvalue="1" attribute in form input elements<br>
color and range to display their values.<br>
(:input color c1 #ff4500 data-labelvalue=1:)<br>
(:input range r1 10 min=0 max=30 data-labelvalue=1:)<br>
<br>
New variables and enhancements:<br>
* Added $EnableUploadTargets and $UploadTargets to track files attached<br>
to a page.<br>
* Introduced $RehashedPassword, which contains a new hash when a user<br>
logs in with an outdated password hash, allowing add-ons to update the<br>
password hash.<br>
* Added $PagePathResolveFmt, if enabled, will resolve the current page<br>
name instead of $PagePathFmt. This is useful for wikis where both<br>
Main.Name and Name.HomePage (or Name.Name) exist, allowing the Name<br>
group to open instead of Main.Name.<br>
<br>
Table of contents updates:<br>
* The Table of Contents now uses <details>, <summary>, <nav> elements<br>
for toggling. Custom styles for div.PmTOCdiv should be updated to<br>
.PmTOCdiv, and div.PmTOCtable should be updated to .PmTOCtable. The<br>
back arrow is now defined in CSS.<br>
<br>
Other notable changes:<br>
* Added helper function XLHSC() and updated PosArgs().<br>
* The RecentChanges "plus" button from Cookbook:LocalTimes is now an<br>
input button element. After downloading recent page edits, it will<br>
display "minus" instead of disappearing, and clicking "minus" will hide<br>
the edits and toggle back to "plus".<br>
* The ?action=diag page now includes defined constants and functions,<br>
aiding diagnostics.<br>
* A couple of bugs were fixed.<br>
<br>
Documentation:<br>
* Simplified the docs/sample-config.php.<br>
* $EnableCopyCode works only on HTTPS websites. It will be disabled on<br>
HTTP without any console errors.<br>
* Updated documentation to reflect changes and new features.<br>
<br>
These changes aim to improve performance, flexibility, and usability<br>
across the core system, while also supporting better customization and<br>
tighter security.<br>
<br>
If you have any questions or encounter any issues during the upgrade,<br>
feel free to reach out -- I'd be happy to assist you.<br>
<br>
Thanks,<br>
Petko<br>
-- <br>
If you upgrade : <a href="https://www.pmwiki.org/Upgrades" rel="noreferrer" target="_blank">https://www.pmwiki.org/Upgrades</a><br>
<br>
<br>
_______________________________________________<br>
pmwiki-announce mailing list<br>
<a href="mailto:pmwiki-announce@pmichaud.com" target="_blank">pmwiki-announce@pmichaud.com</a><br>
<a href="http://pmichaud.com/mailman/listinfo/pmwiki-announce" rel="noreferrer" target="_blank">http://pmichaud.com/mailman/listinfo/pmwiki-announce</a><br>
</blockquote></div>