<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in tests</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>b12755b032df1a0019d53c62e9c655ea852928f3 - Make common_pageinfo tests independent of execution order</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/#b12755b032df1a0019d53c62e9c655ea852928f3</link>
        <description>Make common_pageinfo tests independent of execution orderThe pageinfo() tests relied on running in a fixed order: test_editor_and_externaleditsmutated wiki:syntax (changelog entry + file mtime), and the other tests relied onthat page being pristine. Move the mutating test to its own page (wiki:dokuwiki) sothe shared per-class data dir stays clean, prime the last_change metadata within eachtest instead of across tests, and fix the affected expectations. The suite now passesin isolation and in random/reverse order.While here, modernize the file:- capture the pageinfo() result once instead of calling it twice- add public/protected visibility markers to all methods- convert array() to the short [] syntax- replace the deprecated addLogEntry() with the PageFile API it wraps

            List of files:
            /dokuwiki/_test/tests/inc/common_pageinfo.test.php</description>
        <pubDate>Sun, 07 Jun 2026 13:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>73dc0a8919857718a3b64a4c0741b57580a34b2a - fix(mail): keep &apos;&amp;&apos; intact in mailto links with multiple query params</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/#73dc0a8919857718a3b64a4c0741b57580a34b2a</link>
        <description>fix(mail): keep &apos;&amp;&apos; intact in mailto links with multiple query paramsMove the email-handling helpers (obfuscate, mail_isvalid,mail_quotedprintable_encode, mail_setup) out of the proceduralinc/mail.php into a namespaced dokuwiki\MailUtils class plus a newMailer::configInit(), and add a separate MailUtils::obfuscateUrl() forthe mailto-href context.The xhtml renderer and PluginTrait now build the link label and thehref separately: the address half is run through the mailguardobfuscation, the query string is preserved verbatim with only HTMLescaping applied. This fixes #1690 &#8212; in &apos;visible&apos; mode the previouscode rawurlencoded the entire address+query, turning &apos;?&apos; into &apos;%3F&apos; andbreaking multi-parameter mailto links; in all modes the query string isno longer mangled by the [at]/[dot] substitution.Core call sites (Mailer, auth, LegacyApiCore, common, the xhtmlrenderer, the parser, the bundled config/styling/usermanager plugins)are migrated to MailUtils directly. The old top-level functions andPREG_PATTERN_VALID_EMAIL constant remain as deprecated shims withrector mappings.Tests for obfuscate / mail_isvalid / mail_quotedprintable_encode areconsolidated into a single _test/tests/MailUtilsTest.php and extendedwith regression coverage for the multi-parameter, double-escape andURL-shape cases.Closes #1690Replaces #1964

            List of files:
            /dokuwiki/_test/tests/MailUtilsTest.php</description>
        <pubDate>Wed, 06 May 2026 21:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>7e687fd85a40bd8453b39b64bae8e989ab32fd36 - fix(auth): scope media ACL checks to the namespace</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/#7e687fd85a40bd8453b39b64bae8e989ab32fd36</link>
        <description>fix(auth): scope media ACL checks to the namespaceMedia files have no per-file ACLs; permissions must be evaluated againstthe namespace they live in. Several call sites passed the raw media IDto auth_quickaclcheck(), so a page-intended exact-ID rule (e.g. onwiki:secret.png) could silently apply to a media file sharing that ID.Introduce mediaAclPath() that builds the correct namespace wildcardpath (handling root-namespace media) and route all media-related ACLchecks through it. Also normalize the lone `:X` sentinel variant infetch.functions.php to the standard `:*` form.fixes: #4647

            List of files:
            /dokuwiki/_test/tests/inc/auth_mediaaclpath.test.php</description>
        <pubDate>Fri, 29 May 2026 09:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
</channel>
</rss>
