<?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 deprecated.php</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/inc/deprecated.php#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/inc/deprecated.php</description>
        <pubDate>Wed, 17 Jun 2026 09:43:26 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&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/inc/deprecated.php#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/deprecated.php</description>
        <pubDate>Thu, 04 Jun 2026 17:29:59 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>6e39b4e379a661a3abd765df49fa679d2119741c - refactor(search): extract LegacyIndexer wrapper for BC contract</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#6e39b4e379a661a3abd765df49fa679d2119741c</link>
        <description>refactor(search): extract LegacyIndexer wrapper for BC contractMove the deprecated helpers (lookupKey, addMetaKeys, renameMetaValue,getPID, lookup) off Indexer and into a new LegacyIndexer wrapper. Thewrapper also restores the Doku_Indexer return contract (true|string)around addPage/deletePage/renamePage/clear so plugins using the legacyAPI keep working without try/catch.idx_get_indexer() now returns the LegacyIndexer; getPages stays onIndexer because plugins call it directly on Indexer instances.fixes #4645

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Thu, 28 May 2026 19:23:41 +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/inc/deprecated.php#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/inc/deprecated.php</description>
        <pubDate>Wed, 06 May 2026 21:21:37 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>9db5ea067c49c3843cc06fe5bf42e182fa36fe16 - Merge branch &apos;parser-work&apos;</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#9db5ea067c49c3843cc06fe5bf42e182fa36fe16</link>
        <description>Merge branch &apos;parser-work&apos;* parser-work:  use new ModeRegistry constant in info plugin  keep historic typo in value but not in constant  remove unused rewriteBlocks property from Handler  supress code sniffer warning on deprecation wrapper  migrate parser tests to modern namespaced classes  clean up Acronym and Preformatted  move handler methods into ParserMode classes and rename Handler  decouple hardcoded mode names in Eol and Preformatted  add unit tests for ModeRegistry  split Formatting into individual classes per formatting type  introduce ModeRegistry to encapsulate parser mode categories  deduplicate finalise() across rewriter subclasses  remove unused Doku_Handler::fetch() method  remove dead ParallelRegex::apply() method  replace magic strings with class constants in Lexer

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Wed, 06 May 2026 19:27:06 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>71096e46fcbfaeaa808667aba794e77fe2780169 - move handler methods into ParserMode classes and rename Handler</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#71096e46fcbfaeaa808667aba794e77fe2780169</link>
        <description>move handler methods into ParserMode classes and rename HandlerEach ParserMode class now implements handle() from ModeInterface,containing the token handling logic that previously lived as individualmethods on Doku_Handler.The Handler class (formerly Doku_Handler) is the single dispatch point:Lexer passes tokens to Handler::handleToken() which routes to modeobjects, plugins, or returns false. The Lexer only tokenizes andresolves mapHandler aliases.Key changes:- Add handle() to ModeInterface, implemented by all mode classes- Move Doku_Handler to dokuwiki\Parsing\Handler namespace- File extends Code (shared parsing via $type property)- Quotes uses mapHandler() + Handler::getModeName() for sub-modes- Media::parseMedia() replaces Doku_Handler_Parse_Media()- Code::parseHighlightOptions() replaces parse_highlight_options()- Per-parse state (footnote, doublequote) stays on Handler- Deprecated wrappers kept for base/header/internallink/media- Class alias and rector rules added for backward compatibility

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Sat, 18 Apr 2026 15:35:30 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>c8dd1b9d24a2f9905db764a0ac4646fb1e172af4 - introduce ModeRegistry to encapsulate parser mode categories</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#c8dd1b9d24a2f9905db764a0ac4646fb1e172af4</link>
        <description>introduce ModeRegistry to encapsulate parser mode categoriesReplace the global $PARSER_MODES definition in inc/parser/parser.phpwith a ModeRegistry singleton that initializes and manages the modecategories. The global array is still populated for backwardcompatibility with plugins that access it directly.Mode constructors now use ModeRegistry::getModesForCategories()instead of accessing the global directly. p_get_parsermodes() andp_sort_modes() are moved to inc/deprecated.php as thin wrappers.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Thu, 16 Apr 2026 15:51:43 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>9313ce6d4644bdf080e6c01951187fcbf6a3682f - SearchIndex: fix TypeError when $highlight is passed uninitialized</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#9313ce6d4644bdf080e6c01951187fcbf6a3682f</link>
        <description>SearchIndex: fix TypeError when $highlight is passed uninitializedFulltextSearch::pageSearch() type-hints $highlight as array, butcallers passed uninitialized variables (null). Initialize to [] atall call sites and add a guard in the deprecated ft_pageSearch() wrapper.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Wed, 08 Apr 2026 18:38:39 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>e1272c0811878577a2d543205c32808742d4a5da - SearchIndex: add backward compatibility wrappers</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#e1272c0811878577a2d543205c32808742d4a5da</link>
        <description>SearchIndex: add backward compatibility wrappersAdd deprecated wrappers for idx_* and ft_* functions that were removedwhen inc/indexer.php and inc/fulltext.php were replaced by the newSearch classes. These wrappers delegate to the new architecture andensure existing plugins continue to work.Deprecated standalone functions: idx_get_indexer, idx_getIndex,idx_lookup, idx_listIndexLengths, idx_indexLengths, ft_pageSearch,ft_backlinks, ft_mediause, ft_pageLookup, ft_snippet, ft_pagesorter,ft_snippet_re_preprocess, ft_queryParser.Deprecated methods on Indexer: lookupKey, getPages, addMetaKeys,renameMetaValue, getPID, lookup.Also migrates remaining core callers (Ajax, FeedCreator, ApiCore) touse the new classes directly and fixes a UTF-8 case folding bug inMetadataSearch title lookups.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Tue, 07 Apr 2026 17:55:12 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>83b3acccb42578eaa33f84e6b13612436320090b - SearchIndex: rewrite Indexer to use Collection classes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#83b3acccb42578eaa33f84e6b13612436320090b</link>
        <description>SearchIndex: rewrite Indexer to use Collection classesReplace the intermediate #2943 classes (FulltextIndex, MetadataIndex)with the new Collection-based architecture. The Indexer is now a thinstateless orchestrator that delegates all index work to collections.Key changes:- Indexer no longer extends AbstractIndex; page name passed to methods- addPage/deletePage/clear use PageTitleCollection,  PageFulltextCollection, and PageMetaCollection- New PageMetaCollection replaces separate ReferencesCollection and  MediaCollection with a single class that handles arbitrary metadata  keys dynamically- Shared writable FileIndex(&apos;page&apos;) passed to all collections- Logger callback replaces verbose parameter- Methods return void instead of bool- Index classes implement IteratorAggregate for clean data access- Indexer tests consolidated into namespaced IndexerTest.php- All callers updated to new stateless API

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Mon, 06 Apr 2026 10:31:11 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>9df9f0c8d11cfaadf321a358ea52a8328f6661ad - Merge branch &apos;master&apos; into searchIndex-finish</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#9df9f0c8d11cfaadf321a358ea52a8328f6661ad</link>
        <description>Merge branch &apos;master&apos; into searchIndex-finishThere were a lot of conflicts to resolve. Not all of them may have beenresolved correctly...* master: (1094 commits)  Login accessibility improvements  Translation update (it)  translation update  translation update  translation update  translation update  translation update  translation update  translation update  translation update  translation update  translation update  translation update  translation update  Remove HTML from strings based on title and tagline  SECURITY: fix XSS vulnerability. fixes #4512  translation update  Fix typos in usermanager English strings  Replace hardcoded message by localized string  set DOKU_INC in rector  ...

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Mon, 27 Oct 2025 13:09:16 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>8864f72790f578689ba15408545709876d1ac2fb - remove deprecated code</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#8864f72790f578689ba15408545709876d1ac2fb</link>
        <description>remove deprecated codeThis removes code that has been marked as deprecated before 2020.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Fri, 22 Nov 2024 16:20:45 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>f9a94e78392d6a178b0e7f29a005688fc44e5cc3 - deprecate ptln()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#f9a94e78392d6a178b0e7f29a005688fc44e5cc3</link>
        <description>deprecate ptln()This method was used to ensure some basic readability in the createdHTML sources long before Firebug and later the builtin inspector toolsin browsers pretty printed the HTML for you. Today, this is no longerneeded.This adds a custom rector rule to automatically change all occurances toecho statements.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Thu, 31 Aug 2023 18:44:13 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>a0aeafaa2be80428767dc89e2f806edd8de8c981 - define custom renames</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#a0aeafaa2be80428767dc89e2f806edd8de8c981</link>
        <description>define custom renamesAutomatically rename occurances of deprecated functions and classes.These renames will come in even more handy when rector is applied to 3rdparty plugins.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Wed, 30 Aug 2023 13:42:06 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>723f2b49fa59f20ad0c261f69fbd4d9373086851 - add deprecated IXR classes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#723f2b49fa59f20ad0c261f69fbd4d9373086851</link>
        <description>add deprecated IXR classes

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Sat, 02 Jul 2022 18:44:25 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4d69838b5472cfb6729c1d53080222e306851374 - add missing namespace to fallbacks</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#4d69838b5472cfb6729c1d53080222e306851374</link>
        <description>add missing namespace to fallbacks

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Mon, 28 Sep 2020 10:33:48 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cc3a3cde95a4a0b4a256109c08f12d3d6227a56a - change MetadataSearch and FulltextSearch to non-singleton</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#cc3a3cde95a4a0b4a256109c08f12d3d6227a56a</link>
        <description>change MetadataSearch and FulltextSearch to non-singletonsingleton is not effective to reduce multiple instantiations, especially for MetadataSearch which is frequently used in ajax call.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Sat, 26 Sep 2020 01:41:16 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a32da6dda625a55bd713657b22f3ab332757fca6 - change Index objects to non-singleton</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#a32da6dda625a55bd713657b22f3ab332757fca6</link>
        <description>change Index objects to non-singletonIndexer, FulltextIndex, MetadataIndex uses common directory to store *.idx files, but this does not mean they should be singleton objects to avoid lock confrictions.

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Fri, 25 Sep 2020 07:15:28 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>22df765516f39067112640541b74d5451cfee207 - fix deprecated.php</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#22df765516f39067112640541b74d5451cfee207</link>
        <description>fix deprecated.php

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Wed, 24 Jun 2020 11:09:05 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>558f089bea403960d2977d8022685c38a1e7e963 - make FulltextIndex::getIndexLengths() public</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/deprecated.php#558f089bea403960d2977d8022685c38a1e7e963</link>
        <description>make FulltextIndex::getIndexLengths() publicThird-party plugins may use this method. The [cloud plugin](https://github.com/dokufreaks/plugin-cloud) uses idx_indexLength().

            List of files:
            /dokuwiki/inc/deprecated.php</description>
        <pubDate>Wed, 24 Jun 2020 04:01:26 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
