<?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 dokuwiki</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>2cda016644e923dbda996c52bedee2113ba6d653 - Indexer: signal nothing-to-do via boolean return instead of void</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#2cda016644e923dbda996c52bedee2113ba6d653</link>
        <description>Indexer: signal nothing-to-do via boolean return instead of voidThe TaskRunner runs indexing, sitemap, digest and changelog-trim tasksin sequence and relies on each task returning false when it did no workso the next one is tried. The indexer rewrite changed addPage(),deletePage() and renamePage() to return void and only abort viaexceptions, breaking that contract: indexing always looked like work wasdone and the following tasks never ran.Restore the boolean return on these three methods (true when work wasdone, false when there was nothing to do) while still using exceptionsto signal errors, and propagate it through TaskRunner::runIndexer().runIndexer() also no longer forces reindexing on every call.The legacy compatibility layer is adjusted to match: LegacyIndexer andidx_addPage() forward the boolean, mapping SearchExceptions back to thehistoric error-message/false returns. LegacyIndexer::renamePage()restores the &apos;page is not in index&apos; message that the move plugin expects.Closes #4661

            List of files:
            /dokuwiki/_test/tests/Search/IndexerTest.php/dokuwiki/inc/Search/Indexer.php/dokuwiki/inc/Search/LegacyIndexer.php/dokuwiki/inc/TaskRunner.php/dokuwiki/inc/deprecated.php</description>
        <pubDate>Wed, 17 Jun 2026 09:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>c651c34be7c4cf4969c59d38345113e03e76a1ad - BacklinksTest: give testLinksInDeletedPages its own page</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#c651c34be7c4cf4969c59d38345113e03e76a1ad</link>
        <description>BacklinksTest: give testLinksInDeletedPages its own pagetestLinksInDeletedPages reused test:internallinks, the same pagetestInternallink already saves and indexes. Since the data dir isshared across the class, when the re-save and the earlier index landin the same second, needsIndexing() now (correctly) reports the pageas up to date and addPage() skips reindexing, leaving stale link data.backlinks(&apos;test:internallink&apos;) then returned an empty array.Use a dedicated page (test:deletedlinks) with its own link targets sothe test no longer collides with testInternallink&apos;s index state.

            List of files:
            /dokuwiki/_test/tests/Search/BacklinksTest.php</description>
        <pubDate>Wed, 17 Jun 2026 13:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>5d71952d31abc4330d2c25023ac7420bbed1c051 - Translation update (de)</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#5d71952d31abc4330d2c25023ac7420bbed1c051</link>
        <description>Translation update (de)

            List of files:
            /dokuwiki/lib/plugins/config/lang/de/lang.php</description>
        <pubDate>Tue, 16 Jun 2026 16:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>b12755b032df1a0019d53c62e9c655ea852928f3 - Make common_pageinfo tests independent of execution order</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#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>c959e5ab963ba051e2d168d1c866a0659c90ed54 - &#55358;&#56598; Rector and PHPCS fixes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#c959e5ab963ba051e2d168d1c866a0659c90ed54</link>
        <description>&#55358;&#56598; Rector and PHPCS fixes

            List of files:
            /dokuwiki/inc/MailUtils.php/dokuwiki/inc/Mailer.class.php</description>
        <pubDate>Sun, 07 Jun 2026 13:00:00 +0000</pubDate>
        <dc:creator>splitbrain &lt;86426+splitbrain@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>879510b42ede7376d013bdaf6e40dc5fc130eada - &#55358;&#56598; Update deleted files</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#879510b42ede7376d013bdaf6e40dc5fc130eada</link>
        <description>&#55358;&#56598; Update deleted files

            List of files:
            /dokuwiki/data/deleted.files</description>
        <pubDate>Sun, 07 Jun 2026 13:00:00 +0000</pubDate>
        <dc:creator>splitbrain &lt;86426+splitbrain@users.noreply.github.com&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/#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/rector.php/dokuwiki/_test/tests/MailUtilsTest.php/dokuwiki/inc/Extension/PluginTrait.php/dokuwiki/inc/Parsing/ParserMode/Emaillink.php/dokuwiki/inc/Parsing/ParserMode/Internallink.php/dokuwiki/inc/init.php/dokuwiki/inc/load.php/dokuwiki/inc/parser/xhtml.php/dokuwiki/lib/plugins/config/core/Setting/SettingEmail.php/dokuwiki/lib/plugins/styling/_test/general.test.php/dokuwiki/lib/plugins/usermanager/admin.php/dokuwiki/lib/plugins/usermanager/remote.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/#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/dokuwiki/inc/File/MediaFile.php/dokuwiki/inc/Remote/ApiCore.php/dokuwiki/inc/Remote/Response/Media.php/dokuwiki/inc/changelog.php/dokuwiki/inc/fetch.functions.php/dokuwiki/inc/media.php/dokuwiki/inc/search.php/dokuwiki/lib/exe/detail.php</description>
        <pubDate>Fri, 29 May 2026 09:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>75aef198cdc7307a75ab63c9403e704e2194959a - Merge pull request #4633 from dokuwiki/issue-1690</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#75aef198cdc7307a75ab63c9403e704e2194959a</link>
        <description>Merge pull request #4633 from dokuwiki/issue-1690fix(mail): keep &apos;&amp;&apos; intact in mailto links with multiple query params

            List of files:
            /dokuwiki/inc/Remote/LegacyApiCore.php/dokuwiki/inc/auth.php/dokuwiki/inc/common.php</description>
        <pubDate>Thu, 04 Jun 2026 17:00:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>3e427828956691caaeb7030348434e4631461c99 - Translation update (sk)</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/#3e427828956691caaeb7030348434e4631461c99</link>
        <description>Translation update (sk)

            List of files:
            /dokuwiki/inc/lang/sk/lang.php/dokuwiki/lib/plugins/config/lang/sk/lang.php/dokuwiki/lib/plugins/extension/lang/sk/lang.php/dokuwiki/lib/plugins/logviewer/lang/sk/lang.php/dokuwiki/lib/plugins/logviewer/lang/sk/nolog.txt</description>
        <pubDate>Tue, 02 Jun 2026 17:00:00 +0000</pubDate>
        <dc:creator>Wizzard &lt;wizzardsk@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
