<?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 ChangeLog.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>8788dbbd585b42284320d64cc932f3c875eab6b2 - &#55358;&#56598; Rector and PHPCS fixes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#8788dbbd585b42284320d64cc932f3c875eab6b2</link>
        <description>&#55358;&#56598; Rector and PHPCS fixes

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Wed, 06 May 2026 19:32:03 +0000</pubDate>
        <dc:creator>splitbrain &lt;86426+splitbrain@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>01e8d739c8b53aeb1d0a653331d65eb1f8394002 - refactor(changelog): persist external-edit detection on first read</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#01e8d739c8b53aeb1d0a653331d65eb1f8394002</link>
        <description>refactor(changelog): persist external-edit detection on first readThis addresses the flaky test that makes tests randomly fail (mostly onwindows runners).The flake in common_saveWikiText_test::test_savesequence5 came fromthis line in ChangeLog::getCurrentRevisionInfo():    &apos;date&apos; =&gt; max($lastRev + 1, time() - 1)The synthesized &quot;external delete&quot; entry was kept in memory only andonly persisted later, when saveWikiText next called detectExternalEdit.That meant the formula was evaluated twice on different ChangeLoginstances &#8212; once during the test&apos;s inspection, and again during thefollowing saveWikiText &#8212; and the two evaluations could pick differentseconds depending on how long the surrounding I/O took. The testcached the first result in $expectExternal and asserted it against theon-disk entry written during the second call. On the slower Windowsrunner the second call sometimes crossed a second boundary, producingthe off-by-one date mismatch.The questions I had was, why are we persisting external file deletions(or edits) only when a page is saved when we are obviously alreadydetecting it earlier during the changelog read already?Instead of recording the external delete at the time a new page iswritten, it makes sense to record it as soon as we detect it (when thechangelog is requested by a user or a bot). This will make the recodedtimestamp closer to the actual deletion.This patch refactors the changelog accordingly, but still tries to beminimal invasive (I think the changelog handling would need much morerefactoring, but that&apos;s beyond the scope of this change).To enable proper locking (when logging an external edit and copyingthe attic file), locking had to be moved to the Changelog class,duplicating some code of io_saveFile.PageFile::detectExternalEdit() and the deprecated procedural wrapperdetectExternalEdit() in inc/common.php are removed. A codesearch.dokuwiki.orgcheck confirmed no plugin calls the method directly; the only externalcaller of the procedural function is the farmsync plugin, which needsa parallel update.

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sat, 25 Apr 2026 15:30:23 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>d41f5a8f13cbe65aecfb29abc34975970b616198 - fix destructuring false returns from changelog functions</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#d41f5a8f13cbe65aecfb29abc34975970b616198</link>
        <description>fix destructuring false returns from changelog functionsThe changelog functions can return false when lines are unparsable ordon&apos;t exist. The result can no longer be destructured then in newer PHPversions. This adds the necessary checks.It should also handle corrupt lines within a changelog better.

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sat, 07 Mar 2026 16:10:27 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>4d95c1688e79d492a3c9ca96ecc6002c30019b5a - code style</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#4d95c1688e79d492a3c9ca96ecc6002c30019b5a</link>
        <description>code style

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sun, 24 Sep 2023 22:14:17 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>851600592bbc8267f78bad982a3c48fc5a00b15f - little refactoring</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#851600592bbc8267f78bad982a3c48fc5a00b15f</link>
        <description>little refactoring

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sun, 24 Sep 2023 22:10:01 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a835c93a8c9175f580c05a0aeb56b7664f5e8435 - Let ChangeLog set the mode(media/page) for a revision log entry</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#a835c93a8c9175f580c05a0aeb56b7664f5e8435</link>
        <description>Let ChangeLog set the mode(media/page) for a revision log entry

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sun, 24 Sep 2023 22:07:03 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>0f8604a9720b481eb6ec95c5905002745d5c7104 - don&apos;t strict compare</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#0f8604a9720b481eb6ec95c5905002745d5c7104</link>
        <description>don&apos;t strict compareI&apos;m not 100% sure but revs might be strings sometimes, so better notchage current behavior

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sat, 02 Sep 2023 08:47:33 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>90fb952c4c30c09c8446076ba05991c89a3f0b01 - code style: operator spacing</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#90fb952c4c30c09c8446076ba05991c89a3f0b01</link>
        <description>code style: operator spacing

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 31 Aug 2023 20:38:07 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>7d34963b3e75ea04c63ec066a6b7a692e123cb53 - coding style: control flow line breaks</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#7d34963b3e75ea04c63ec066a6b7a692e123cb53</link>
        <description>coding style: control flow line breaks

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 31 Aug 2023 13:04:10 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>177d6836e2f75d0e404be9c566e61725852a1e07 - coding style: control flow whitespaces</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#177d6836e2f75d0e404be9c566e61725852a1e07</link>
        <description>coding style: control flow whitespaces

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 31 Aug 2023 12:22:35 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>83bec4752cdd7b0b551fb56e3e2736f3ae1633fa - fix abstract declaration of ChangeLog::getFilename()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#83bec4752cdd7b0b551fb56e3e2736f3ae1633fa</link>
        <description>fix abstract declaration of ChangeLog::getFilename()

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 31 Aug 2023 12:08:15 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>6e695190a730214d53bcea6198b632234e98c6f2 - fix sizehandling in Changelog</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#6e695190a730214d53bcea6198b632234e98c6f2</link>
        <description>fix sizehandling in ChangelogSeems rector was too aggressive here in removing a variable.

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Tue, 29 Aug 2023 14:07:43 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>0603e565f99519c35708bab370f1c5f3271c1365 - Apply rector fixes to inc/ChangeLog</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#0603e565f99519c35708bab370f1c5f3271c1365</link>
        <description>Apply rector fixes to inc/ChangeLog

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Tue, 29 Aug 2023 12:26:54 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>aec2ae89d7547a5ff5628285842538e2e01fdf00 - Merge pull request #3607 from ssahara/revdiff2</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#aec2ae89d7547a5ff5628285842538e2e01fdf00</link>
        <description>Merge pull request #3607 from ssahara/revdiff2add mechanism to track current revision, and other code improvements

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Fri, 24 Jun 2022 12:41:41 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>10f359ad043755b26638bd58a4a7ee63949147e1 - Replace direct calls to strftime with dformat calls</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#10f359ad043755b26638bd58a4a7ee63949147e1</link>
        <description>Replace direct calls to strftime with dformat callsThis is in preparation for fixing #3573

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 28 Apr 2022 07:58:06 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>eeda7ada8c965be1a48afa72ccc473ba9e1db91b - some spelling</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#eeda7ada8c965be1a48afa72ccc473ba9e1db91b</link>
        <description>some spelling

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sun, 23 Jan 2022 20:46:39 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a19054e933f74fc12f9542af6905853350003b57 - fix typo</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#a19054e933f74fc12f9542af6905853350003b57</link>
        <description>fix typo

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sun, 23 Jan 2022 07:25:49 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>312e70954b2d03b55670ce8dc5afccba9269f4d2 - add mechanism to track external current revision</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#312e70954b2d03b55670ce8dc5afccba9269f4d2</link>
        <description>add mechanism to track external current revision

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Sun, 23 Jan 2022 04:39:43 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>86216bf050e403cf8757b5b3fc6f9cc1b450c491 - Move caching current revision info to getRevisionInfo()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#86216bf050e403cf8757b5b3fc6f9cc1b450c491</link>
        <description>Move caching current revision info to getRevisionInfo()needed to ensure initiation of the class is not using files from disk.Because getCurrentRevisionInfo needs getRevisionInfo() as well, loopingneeds to be prevented

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 06 Jan 2022 20:32:16 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>54d95e360a5bb57d7c0d7265225ccae894d3baa9 - revInfo was already retrieved</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/ChangeLog/ChangeLog.php#54d95e360a5bb57d7c0d7265225ccae894d3baa9</link>
        <description>revInfo was already retrieved

            List of files:
            /dokuwiki/inc/ChangeLog/ChangeLog.php</description>
        <pubDate>Thu, 06 Jan 2022 14:43:38 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
