<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>DokuWiki: Recently Opened Tasks</title>
    <link>https://github.com/dokuwiki/dokuwiki</link>
    <description></description>
    <pubDate>Thu, 20 Aug 2026 18:39:29 +0000</pubDate>
    <xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
      <title>[issue-open]: Extension plugin: list without using remote repository</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4737</link>
      <description>When I list the plugins installed on my DokuWiki instances, I often don't care whether updates are available, so I'd like to add an option to the CLI command `plugin.php extension list` to not contact the remote server to reduce time and traffic.&lt;br&gt;&lt;br&gt;I was thinking `-n` and `--no-remote`, or `-o` and `--offline`, but anything sensible would work.</description>
      <content:encoded><![CDATA[When I list the plugins installed on my DokuWiki instances, I often don't care whether updates are available, so I'd like to add an option to the CLI command `plugin.php extension list` to not contact the remote server to reduce time and traffic.<br><br>I was thinking `-n` and `--no-remote`, or `-o` and `--offline`, but anything sensible would work.]]></content:encoded>
      <author>iainhallam</author>
      <pubDate>Thu, 13 Aug 2026 09:53:14 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: do=debug - code in html.php ($conf array copy before debug_guard) causes AuthAD failure</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4736</link>
      <description>## The problem&lt;br&gt;&lt;br&gt;### Browser (Client) shows&lt;br&gt;[...]&lt;br&gt;Auth backend capabilities:&lt;br&gt;&lt;br&gt;    TypeError: Cannot access offset of type string on string&lt;br&gt;    An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the authad plugin.&lt;br&gt;    More info has been written to the DokuWiki error log.&lt;br&gt;&lt;br&gt;### DokuWiki error log&lt;br&gt;2026-08-12 14:53:06TypeError: Cannot access offset of type string on string C:\inetpub\wwwroot\dokuwiki\lib\plugins\authad\auth.php(697)&lt;br&gt;#0 C:\inetpub\wwwroot\dokuwiki\lib\plugins\authad\auth.php(143): auth_plugin_authad-&gt;loadServerConfig()&lt;br&gt;#1 C:\inetpub\wwwroot\dokuwiki\inc\html.php(777): auth_plugin_authad-&gt;canDo()&lt;br&gt;#2 C:\inetpub\wwwroot\dokuwiki\doku.php(105): html_debug()&lt;br&gt;#3 {main}&lt;br&gt;&lt;br&gt;### Solution / Bugfix&lt;br&gt;\inc\html.php - change line 728  (dokuwiki-2026-07-14a_Mort)&lt;br&gt;from:&lt;br&gt;&lt;br&gt;    $cnf = $conf;&lt;br&gt;&lt;br&gt;to&lt;br&gt;&lt;br&gt;    $cnf = unserialize(serialize($conf));      &lt;br&gt;&lt;br&gt;and do the same for the following arrays changing:&lt;br&gt;(This is not needed to solve the do=debug/AuthAD issue but I would recommend this to avoid future issues.)&lt;br&gt;&lt;br&gt;    $nfo = $INFO;&lt;br&gt;    $ses = $_SESSION;&lt;br&gt;&lt;br&gt;to&lt;br&gt;&lt;br&gt;    $nfo = unserialize(serialize($INFO));      &lt;br&gt;    $ses = unserialize(serialize($_SESSION;));&lt;br&gt;&lt;br&gt;before calling function debug_guard&lt;br&gt;&lt;br&gt;## Used versions&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2025-05-14b "Librarian"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.5.7&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;IIS (Windows Server 2019)&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Chrome 151.0.7922.109&lt;br&gt;&lt;br&gt;## Additional environment information&lt;br&gt;&lt;br&gt;### Working fine (no issue) are&lt;br&gt;&lt;br&gt;- regular operation&lt;br&gt;- do=check &lt;br&gt; &lt;br&gt;### Evidence&lt;br&gt;#### Content of $conf&lt;br&gt;**inc\html.php – add $conf in addition to $cnf**&lt;br&gt;    &lt;br&gt;    echo '&lt;b&gt;$cnf:&lt;/b&gt;&lt;pre&gt;';&lt;br&gt;    print_r($cnf);&lt;br&gt;    echo '&lt;/pre&gt;';&lt;br&gt;&lt;br&gt;    echo '&lt;b&gt;$conf:&lt;/b&gt;&lt;pre&gt;';&lt;br&gt;    print_r($conf);&lt;br&gt;    echo '&lt;/pre&gt;';&lt;br&gt;&lt;br&gt;**Result:**&lt;br&gt;$cnf and $conf are both containing the same information for $conf[‘plugin’][‘authad’]&lt;br&gt;[authad] =&gt; ***&lt;br&gt;=&gt; $conf is owerwritten for key $conf['plugin']['authad'], the rest is as expected / no furhter issues are present&lt;br&gt;&lt;br&gt;### Root cause analysis&lt;br&gt;#### Summary&lt;br&gt;Issue caused by References in array $conf[]&lt;br&gt;&lt;br&gt;#### Number of References – debug_zval_dump($conf);&lt;br&gt;**inc\html.php** – add debug output at  line 728 in function html_debug()  (dokuwiki-2026-07-14a 'Mort') &lt;br&gt;&lt;br&gt;    ob_start();&lt;br&gt;    debug_zval_dump($conf);&lt;br&gt;    $dump = ob_get_clean();&lt;br&gt;&lt;br&gt;    error_log($dump);&lt;br&gt;&lt;br&gt;**Result: (php_errors.log)** - debug_zval_dump is showing references within the $conf array, most with refcount(1) as in&lt;br&gt;&lt;br&gt;    ["authldap"]=&gt;&lt;br&gt;    array(1) refcount(1){&lt;br&gt;      ["server"]=&gt;&lt;br&gt;          […]&lt;br&gt;    }&lt;br&gt;however for **["authad"] refcount(2)**:&lt;br&gt;&lt;br&gt;      ["authad"]=&gt;&lt;br&gt;          reference refcount(2) {&lt;br&gt;          […]&lt;br&gt;      }&lt;br&gt;&lt;br&gt;#### Bugfix as known solution for refenence in array issue&lt;br&gt;&lt;br&gt;    $cnf = $conf;                                        // creates only a shallow copy - references in array are copied !!!&lt;br&gt;    $cnf = unserialize(serialize($conf));      // creates a deep copy&lt;br&gt;&lt;br&gt;Proof: deep copy solves the issue.&lt;br&gt;&lt;br&gt;#### PHP copy of variable&lt;br&gt;According to PHP documentation copying a variable (array) will copy references in arrays as well.&lt;br&gt;This is the case for the mentioned line for bugfixing:&lt;br&gt;&lt;br&gt;    $cnf = $conf;&lt;br&gt;&lt;br&gt;**\lib\plugins\authad\auth.php** - line 87  (dokuwiki-2026-07-14a 'Mort') &lt;br&gt;&lt;br&gt;    // we load the config early to modify it a bit here&lt;br&gt;        $this-&gt;loadConfig();&lt;br&gt;&lt;br&gt;Number of References &lt;br&gt;before call of loadConfig:&lt;br&gt;    ["authad"]=&gt;&lt;br&gt;    array(17) refcount(1){&lt;br&gt;after call of loadConfig:&lt;br&gt;    ["authad"]=&gt;&lt;br&gt;    reference refcount(2) {&lt;br&gt;&lt;br&gt;\inc\Extension\PluginTrait.php - line 218  (dokuwiki-2026-07-14a 'Mort') &lt;br&gt;&lt;br&gt;    public function loadConfig()&lt;br&gt;    {&lt;br&gt;    [...]&lt;br&gt;        $this-&gt;conf =&amp; $conf['plugin'][$plugin];   // Here the reference is created by '=&amp;'&lt;br&gt;&lt;br&gt;### Why is =&amp; no a bug?&lt;br&gt;=&amp; is neede to write content to $conf by use of object property as in line 91 and following:&lt;br&gt;    $this-&gt;conf['additional'] = str_replace(' ', '', $this-&gt;conf['additional']);&lt;br&gt;In my oppinion this is ok / a smart approach.&lt;br&gt;An alternative solution would be to implement a function similar to getConf named writeConf.&lt;br&gt;The use of this function in auth.php however will not simplify the code.&lt;br&gt;In addition the proposed solution is not creating any delay to regular operation which could be the case for any alternative solutions in AuthAD / the plugins.&lt;br&gt;&lt;br&gt;### DokuWiki latest version 'Mort'&lt;br&gt;According to my check in the source code the issue should be present in latest version as well.&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;Please check the information given above!&lt;br&gt;```&lt;br&gt;File to reproduce issue &amp; created output:&lt;br&gt;&lt;br&gt;[bug-reproduction.php](https://github.com/user-attachments/files/31020202/bug-reproduction.php)&lt;br&gt;&lt;br&gt;[bug-reproduction_output.txt](https://github.com/user-attachments/files/31020230/bug-reproduction_output.txt)&lt;br&gt;&lt;br&gt; </description>
      <content:encoded><![CDATA[## The problem<br><br>### Browser (Client) shows<br>[...]<br>Auth backend capabilities:<br><br>    TypeError: Cannot access offset of type string on string<br>    An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the authad plugin.<br>    More info has been written to the DokuWiki error log.<br><br>### DokuWiki error log<br>2026-08-12 14:53:06TypeError: Cannot access offset of type string on string C:\inetpub\wwwroot\dokuwiki\lib\plugins\authad\auth.php(697)<br>#0 C:\inetpub\wwwroot\dokuwiki\lib\plugins\authad\auth.php(143): auth_plugin_authad->loadServerConfig()<br>#1 C:\inetpub\wwwroot\dokuwiki\inc\html.php(777): auth_plugin_authad->canDo()<br>#2 C:\inetpub\wwwroot\dokuwiki\doku.php(105): html_debug()<br>#3 {main}<br><br>### Solution / Bugfix<br>\inc\html.php - change line 728  (dokuwiki-2026-07-14a_Mort)<br>from:<br><br>    $cnf = $conf;<br><br>to<br><br>    $cnf = unserialize(serialize($conf));      <br><br>and do the same for the following arrays changing:<br>(This is not needed to solve the do=debug/AuthAD issue but I would recommend this to avoid future issues.)<br><br>    $nfo = $INFO;<br>    $ses = $_SESSION;<br><br>to<br><br>    $nfo = unserialize(serialize($INFO));      <br>    $ses = unserialize(serialize($_SESSION;));<br><br>before calling function debug_guard<br><br>## Used versions<br><br>### Version of DokuWiki<br><br>2025-05-14b "Librarian"<br><br>### PHP Version<br><br>8.5.7<br><br>### Webserver and version of webserver<br><br>IIS (Windows Server 2019)<br><br>### Browser and version of browser, operating system running browser<br><br>Chrome 151.0.7922.109<br><br>## Additional environment information<br><br>### Working fine (no issue) are<br><br>- regular operation<br>- do=check <br> <br>### Evidence<br>#### Content of $conf<br>**inc\html.php – add $conf in addition to $cnf**<br>    <br>    echo '<b>$cnf:</b><pre>';<br>    print_r($cnf);<br>    echo '</pre>';<br><br>    echo '<b>$conf:</b><pre>';<br>    print_r($conf);<br>    echo '</pre>';<br><br>**Result:**<br>$cnf and $conf are both containing the same information for $conf[‘plugin’][‘authad’]<br>[authad] => ***<br>=> $conf is owerwritten for key $conf['plugin']['authad'], the rest is as expected / no furhter issues are present<br><br>### Root cause analysis<br>#### Summary<br>Issue caused by References in array $conf[]<br><br>#### Number of References – debug_zval_dump($conf);<br>**inc\html.php** – add debug output at  line 728 in function html_debug()  (dokuwiki-2026-07-14a 'Mort') <br><br>    ob_start();<br>    debug_zval_dump($conf);<br>    $dump = ob_get_clean();<br><br>    error_log($dump);<br><br>**Result: (php_errors.log)** - debug_zval_dump is showing references within the $conf array, most with refcount(1) as in<br><br>    ["authldap"]=><br>    array(1) refcount(1){<br>      ["server"]=><br>          […]<br>    }<br>however for **["authad"] refcount(2)**:<br><br>      ["authad"]=><br>          reference refcount(2) {<br>          […]<br>      }<br><br>#### Bugfix as known solution for refenence in array issue<br><br>    $cnf = $conf;                                        // creates only a shallow copy - references in array are copied !!!<br>    $cnf = unserialize(serialize($conf));      // creates a deep copy<br><br>Proof: deep copy solves the issue.<br><br>#### PHP copy of variable<br>According to PHP documentation copying a variable (array) will copy references in arrays as well.<br>This is the case for the mentioned line for bugfixing:<br><br>    $cnf = $conf;<br><br>**\lib\plugins\authad\auth.php** - line 87  (dokuwiki-2026-07-14a 'Mort') <br><br>    // we load the config early to modify it a bit here<br>        $this->loadConfig();<br><br>Number of References <br>before call of loadConfig:<br>    ["authad"]=><br>    array(17) refcount(1){<br>after call of loadConfig:<br>    ["authad"]=><br>    reference refcount(2) {<br><br>\inc\Extension\PluginTrait.php - line 218  (dokuwiki-2026-07-14a 'Mort') <br><br>    public function loadConfig()<br>    {<br>    [...]<br>        $this->conf =& $conf['plugin'][$plugin];   // Here the reference is created by '=&'<br><br>### Why is =& no a bug?<br>=& is neede to write content to $conf by use of object property as in line 91 and following:<br>    $this->conf['additional'] = str_replace(' ', '', $this->conf['additional']);<br>In my oppinion this is ok / a smart approach.<br>An alternative solution would be to implement a function similar to getConf named writeConf.<br>The use of this function in auth.php however will not simplify the code.<br>In addition the proposed solution is not creating any delay to regular operation which could be the case for any alternative solutions in AuthAD / the plugins.<br><br>### DokuWiki latest version 'Mort'<br>According to my check in the source code the issue should be present in latest version as well.<br><br>### Relevant logs and/or error messages<br><br>```text<br>Please check the information given above!<br>```<br>File to reproduce issue & created output:<br><br>[bug-reproduction.php](https://github.com/user-attachments/files/31020202/bug-reproduction.php)<br><br>[bug-reproduction_output.txt](https://github.com/user-attachments/files/31020230/bug-reproduction_output.txt)<br><br> ]]></content:encoded>
      <author>stracfor</author>
      <pubDate>Wed, 12 Aug 2026 14:43:04 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: disableactions bypass</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4731</link>
      <description>Reported by email. The reporter wishes to stay anonymous.&lt;br&gt;&lt;br&gt;It is possible to bypass some of the actions disabled through $conf["disableactions"] by prepending and/or appending underscores to the action name.&lt;br&gt;&lt;br&gt;How to reproduce:&lt;br&gt;&lt;br&gt;* Set $conf["disableactions"] = "media";&lt;br&gt;* Access a wiki page using ?do=media_ (or even ?do=_media__foo_bar___)&lt;br&gt;* Expected result: Either "Action disabled: media" or "Unknown action: media_".&lt;br&gt;* Actual result: The media library is shown.&lt;br&gt;&lt;br&gt;I do not understand the code well enough to see why this happens.&lt;br&gt;&lt;br&gt;The ActionRouter constructor cleans the action name with act_clean(), but this preserves underscores since that's in use by export_html and others. The setupAction method then checks if "media_" is disabled, which it is not (it's not in $this-&gt;disabled), to the processing continues. When loadAction runs, it removes underscores from the action name when looking up the class name, and ends up resolving the action to 'dokuwiki\\Action\\Media', and runs the code in inc/Action/Media.php, which I would expect it not to do.&lt;br&gt;&lt;br&gt;This way of bypassing $conf["disableactions"] does not work for all actions, I see that some actions explicitly check if the operation should proceed by calling actionOK() with a constant parameter, for example inc/Action/Register.php:&lt;br&gt;&lt;br&gt;      if (!actionOK('register')) throw new ActionDisabledException();&lt;br&gt;&lt;br&gt;But the classes that don't do this extra check (inc/Action/Media.php seems to be one of those), seem to be vulnerable.&lt;br&gt;&lt;br&gt;From the documentation on https://www.dokuwiki.org/devel:action_router it looks like the ActionRouter is responsible for checking the action against the disableactions setting, and that each class should not be required to do the extra actionOK() check.&lt;br&gt;&lt;br&gt;</description>
      <content:encoded><![CDATA[Reported by email. The reporter wishes to stay anonymous.<br><br>It is possible to bypass some of the actions disabled through $conf["disableactions"] by prepending and/or appending underscores to the action name.<br><br>How to reproduce:<br><br>* Set $conf["disableactions"] = "media";<br>* Access a wiki page using ?do=media_ (or even ?do=_media__foo_bar___)<br>* Expected result: Either "Action disabled: media" or "Unknown action: media_".<br>* Actual result: The media library is shown.<br><br>I do not understand the code well enough to see why this happens.<br><br>The ActionRouter constructor cleans the action name with act_clean(), but this preserves underscores since that's in use by export_html and others. The setupAction method then checks if "media_" is disabled, which it is not (it's not in $this->disabled), to the processing continues. When loadAction runs, it removes underscores from the action name when looking up the class name, and ends up resolving the action to 'dokuwiki\\Action\\Media', and runs the code in inc/Action/Media.php, which I would expect it not to do.<br><br>This way of bypassing $conf["disableactions"] does not work for all actions, I see that some actions explicitly check if the operation should proceed by calling actionOK() with a constant parameter, for example inc/Action/Register.php:<br><br>      if (!actionOK('register')) throw new ActionDisabledException();<br><br>But the classes that don't do this extra check (inc/Action/Media.php seems to be one of those), seem to be vulnerable.<br><br>From the documentation on https://www.dokuwiki.org/devel:action_router it looks like the ActionRouter is responsible for checking the action against the disableactions setting, and that each class should not be required to do the extra actionOK() check.<br><br>]]></content:encoded>
      <author>splitbrain</author>
      <pubDate>Mon, 10 Aug 2026 18:49:38 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Should $updateVersion be updated in master?</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4730</link>
      <description>Not sure if this a bug or not?&lt;br&gt;&lt;br&gt;I have Git 2026-07-25 (150329c0dc8e5841ec440422331d3ab6da78fdec) (`master`) installed for testing and it shows the notification:&lt;br&gt;`Hotfix release available: 2026-07-14a "Mort". upgrade now! [57.1] (what's this?)`&lt;br&gt;&lt;br&gt;However _upgrading_ `master` to 2026-07-14a "Mort", an older version, makes no sense and might even be harmful.&lt;br&gt;&lt;br&gt;Should `$updateVersion` be updated to to the latest release version in master when a new release is published? In this case that would be to `$updateVersion = "57.1";`.&lt;br&gt;https://github.com/dokuwiki/dokuwiki/blob/150329c0dc8e5841ec440422331d3ab6da78fdec/doku.php#L16&lt;br&gt;</description>
      <content:encoded><![CDATA[Not sure if this a bug or not?<br><br>I have Git 2026-07-25 (150329c0dc8e5841ec440422331d3ab6da78fdec) (`master`) installed for testing and it shows the notification:<br>`Hotfix release available: 2026-07-14a "Mort". upgrade now! [57.1] (what's this?)`<br><br>However _upgrading_ `master` to 2026-07-14a "Mort", an older version, makes no sense and might even be harmful.<br><br>Should `$updateVersion` be updated to to the latest release version in master when a new release is published? In this case that would be to `$updateVersion = "57.1";`.<br>https://github.com/dokuwiki/dokuwiki/blob/150329c0dc8e5841ec440422331d3ab6da78fdec/doku.php#L16<br>]]></content:encoded>
      <author>fiwswe</author>
      <pubDate>Sun, 09 Aug 2026 21:29:49 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: CSS: &lt;file&gt; and &lt;code&gt; copy button should not move when scrolling content</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4729</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;When content of `&lt;file&gt;` and `&lt;code&gt;` block is very large, one can horizontally scroll the content. The copy-to-clipboard button should stay in the upper right corner but instead it scrolls with the content. Eventually, it will leave the viewbox.&lt;br&gt;&lt;br&gt;I expect the copy button to stay in the upper right corner.&lt;br&gt;&lt;br&gt;How to recreate:&lt;br&gt;&lt;br&gt;Add this wiki code in a page, save, then scroll horizontally.&lt;br&gt;```&lt;br&gt;&lt;code&gt;&lt;br&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;br&gt;&lt;/code&gt;&lt;br&gt;```&lt;br&gt;&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;Mort&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;NA&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;NA&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;NA&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>Hi,<br><br>When content of `<file>` and `<code>` block is very large, one can horizontally scroll the content. The copy-to-clipboard button should stay in the upper right corner but instead it scrolls with the content. Eventually, it will leave the viewbox.<br><br>I expect the copy button to stay in the upper right corner.<br><br>How to recreate:<br><br>Add this wiki code in a page, save, then scroll horizontally.<br>```<br><code><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<br></code><br>```<br><br><br>### Version of DokuWiki<br><br>Mort<br><br>### PHP Version<br><br>NA<br><br>### Webserver and version of webserver<br><br>NA<br><br>### Browser and version of browser, operating system running browser<br><br>NA<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>schplurtz</author>
      <pubDate>Sun, 09 Aug 2026 09:33:37 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: List handling in mixed dw+md or md+dw mode</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4728</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;List handling in mixed (md+dw and dw+md) modes could be relaxed a bit.&lt;br&gt;&lt;br&gt;Steps:&lt;br&gt;- select dw+md mode&lt;br&gt;- have a page with non-indented lists such as:&lt;br&gt;&lt;br&gt;```&lt;br&gt;* item 1&lt;br&gt;* item 2&lt;br&gt;&lt;br&gt;1. item&lt;br&gt;2. item&lt;br&gt;&lt;br&gt;```&lt;br&gt;- expected: snippet is rendered as a bulleted (ul) and numbered (ol) list&lt;br&gt;- actual: snippet is rendered as regular text&lt;br&gt;&lt;br&gt;Rationale: dw+md mode will be the most common way to transition away from markdowku plugin. Using md+dw mode would not support dw-style numbered lists, since the dash is understandably interpreted as regular bullet. However, markdowku did support non-indented lists.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2026-07-14a "Mort"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.4&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>List handling in mixed (md+dw and dw+md) modes could be relaxed a bit.<br><br>Steps:<br>- select dw+md mode<br>- have a page with non-indented lists such as:<br><br>```<br>* item 1<br>* item 2<br><br>1. item<br>2. item<br><br>```<br>- expected: snippet is rendered as a bulleted (ul) and numbered (ol) list<br>- actual: snippet is rendered as regular text<br><br>Rationale: dw+md mode will be the most common way to transition away from markdowku plugin. Using md+dw mode would not support dw-style numbered lists, since the dash is understandably interpreted as regular bullet. However, markdowku did support non-indented lists.<br><br><br><br><br><br>### Version of DokuWiki<br><br>2026-07-14a "Mort"<br><br>### PHP Version<br><br>8.4<br><br>### Webserver and version of webserver<br><br>_No response_<br><br>### Browser and version of browser, operating system running browser<br><br>_No response_<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>tkilla77</author>
      <pubDate>Thu, 06 Aug 2026 14:08:14 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Code block yaml syntax highlight seems to be buggy</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4727</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;I have created some pages on my wiki where I show yaml file examples (for Crowdsec), and it seems to me that yaml syntax highlighting has issues with some character sequences. &lt;br&gt;&lt;br&gt;Here is an example that fails to highlight properly:&lt;br&gt;&lt;br&gt;```&lt;br&gt;onsuccess: next_stage&lt;br&gt;#debug: true&lt;br&gt;filter: "evt.Parsed.program == 'exim'"&lt;br&gt;name: kurgan/exim-logs&lt;br&gt;description: "Parse exim logs"&lt;br&gt;pattern_syntax:&lt;br&gt;  NO_DOUBLE_QUOTE: '[^"]+'&lt;br&gt;  NO_END_BRACKET: '[^\]]+'&lt;br&gt;```&lt;br&gt;In this example, the row  `NO_DOUBLE_QUOTE: '[^"]+'` fails to parse correctly at the `"` character, then the rest is not parsed anymore.&lt;br&gt;&lt;br&gt;You can see it in action here: https://kb.kurgan.org/crowdsec:crowdsec-exim&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2026-07-14a "Mort"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.3.32&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Apache 2.4 on Debian&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Firefox 153 on Linux&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>I have created some pages on my wiki where I show yaml file examples (for Crowdsec), and it seems to me that yaml syntax highlighting has issues with some character sequences. <br><br>Here is an example that fails to highlight properly:<br><br>```<br>onsuccess: next_stage<br>#debug: true<br>filter: "evt.Parsed.program == 'exim'"<br>name: kurgan/exim-logs<br>description: "Parse exim logs"<br>pattern_syntax:<br>  NO_DOUBLE_QUOTE: '[^"]+'<br>  NO_END_BRACKET: '[^\]]+'<br>```<br>In this example, the row  `NO_DOUBLE_QUOTE: '[^"]+'` fails to parse correctly at the `"` character, then the rest is not parsed anymore.<br><br>You can see it in action here: https://kb.kurgan.org/crowdsec:crowdsec-exim<br><br><br><br>### Version of DokuWiki<br><br>2026-07-14a "Mort"<br><br>### PHP Version<br><br>8.3.32<br><br>### Webserver and version of webserver<br><br>Apache 2.4 on Debian<br><br>### Browser and version of browser, operating system running browser<br><br>Firefox 153 on Linux<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>Kurgan-</author>
      <pubDate>Thu, 06 Aug 2026 11:27:33 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: italic text ending with : is most times not recognized</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4726</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;```&lt;br&gt;//Note://&lt;br&gt;&lt;br&gt;//ItalicNote:// text //ItalicNote without colon//&lt;br&gt;&lt;br&gt;//NoItalicNote:// text //NoItalicNote with colon://&lt;br&gt;```&lt;br&gt;This italic _Note:_ is not recognized due to the `:` before the closing `//`. e.g `//Note:h//` works.&lt;br&gt;It works if after the italic note which includes a colon, there follows in that paragraph another italic text without colon before the closing tag.&lt;br&gt;&lt;br&gt;Just guessing: is it eventually related to link syntax?&lt;br&gt;&lt;br&gt;I suppose it was working before the recent refactoring of the parser, as on _devel:unittesting_ wiki page it was used several times.&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;git master&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.2&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Apache on Ubuntu&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Chrome on Ubuntu 24.04&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```&lt;br&gt;[Edit: corrected semicolon in colon]</description>
      <content:encoded><![CDATA[### The problem<br><br>```<br>//Note://<br><br>//ItalicNote:// text //ItalicNote without colon//<br><br>//NoItalicNote:// text //NoItalicNote with colon://<br>```<br>This italic _Note:_ is not recognized due to the `:` before the closing `//`. e.g `//Note:h//` works.<br>It works if after the italic note which includes a colon, there follows in that paragraph another italic text without colon before the closing tag.<br><br>Just guessing: is it eventually related to link syntax?<br><br>I suppose it was working before the recent refactoring of the parser, as on _devel:unittesting_ wiki page it was used several times.<br><br>### Version of DokuWiki<br><br>git master<br><br>### PHP Version<br><br>8.2<br><br>### Webserver and version of webserver<br><br>Apache on Ubuntu<br><br>### Browser and version of browser, operating system running browser<br><br>Chrome on Ubuntu 24.04<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```<br>[Edit: corrected semicolon in colon]]]></content:encoded>
      <author>Klap-in</author>
      <pubDate>Tue, 04 Aug 2026 21:42:22 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Release zip's contain .git directory</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4720</link>
      <description>I noticed that the github releases (zip/tarfiles) contain the .git directory.&lt;br&gt;If, following the upgrade/setup instructions, these are unpacked in the webroot, the .git folder wil be available online.&lt;br&gt;&lt;br&gt;While this isn't really a problem, scanning services like Shadowserver trigger warnings on this (and then mail abuse-departments at hosters).&lt;br&gt;&lt;br&gt;I recently upgraded to 2026-07-14a, and then got one of those abuse mails today. It took a while to find out why this was triggered, but it seems that they alert on retrieving .git/config on any webhost/ip.&lt;br&gt;&lt;br&gt;We could probably cleanup the .git folder on release zips ... as these don't need to be available for users just running released versions.&lt;br&gt;&lt;br&gt;I looked into the package workflow, but didn't see a quick way to rectify this, so no patch / PR yet.</description>
      <content:encoded><![CDATA[I noticed that the github releases (zip/tarfiles) contain the .git directory.<br>If, following the upgrade/setup instructions, these are unpacked in the webroot, the .git folder wil be available online.<br><br>While this isn't really a problem, scanning services like Shadowserver trigger warnings on this (and then mail abuse-departments at hosters).<br><br>I recently upgraded to 2026-07-14a, and then got one of those abuse mails today. It took a while to find out why this was triggered, but it seems that they alert on retrieving .git/config on any webhost/ip.<br><br>We could probably cleanup the .git folder on release zips ... as these don't need to be available for users just running released versions.<br><br>I looked into the package workflow, but didn't see a quick way to rectify this, so no patch / PR yet.]]></content:encoded>
      <author>sigio</author>
      <pubDate>Fri, 31 Jul 2026 12:00:33 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: TypeError gotcha for missing config value</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4719</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;I have a very old dokuwiki install with a custom local config, where `$conf['syntax']` was never configured.&lt;br&gt;&lt;br&gt;When upgrading to 2026-07-14a Mort today I got this:&lt;br&gt;&lt;br&gt;```&lt;br&gt;TypeError: dokuwiki\Parsing\ModeRegistry::__construct(): Argument #1 ($syntax) must be of type string, null given, called in .../public/inc/parserutils.php on line 239&lt;br&gt;```&lt;br&gt;&lt;br&gt;Which is fine and easy to fix, but looking at this line 239 (and surrounding):&lt;br&gt;&lt;br&gt;https://github.com/dokuwiki/dokuwiki/blob/master/inc/parserutils.php#L239&lt;br&gt;&lt;br&gt;```&lt;br&gt;function p_get_instructions($text, $syntax = null)&lt;br&gt;{&lt;br&gt;    global $conf;&lt;br&gt;&lt;br&gt;    $registry = new ModeRegistry($syntax ?? $conf['syntax']);&lt;br&gt;```&lt;br&gt;&lt;br&gt;I mean I'm not saying it's wrong but `$syntax` would be null and then although it matches the type hint in the comment it still falls on its face.&lt;br&gt;&lt;br&gt;Maybe no `$conf['syntax']` is a lesser known edge case with my &lt;br&gt;&lt;br&gt;```&lt;br&gt;define('DOKU_CONF', __DIR__ . '/../../conf');&lt;br&gt;```&lt;br&gt;&lt;br&gt;So maybe it would just be a good idea to mention this again in the upgrade doc, although I honestly don't remember if this was an official method of having several wikis or if it was just some hack :)&lt;br&gt;&lt;br&gt;And yes, I'm gonna sync my dokuwiki.php in the DOKU_CONF dir now because not overwriting this is the main problem I guess, so possibly more of an FYI than a bug.&lt;br&gt;&lt;br&gt;Thanks for continued updates!&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2026-07-14a Mort&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.4&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>I have a very old dokuwiki install with a custom local config, where `$conf['syntax']` was never configured.<br><br>When upgrading to 2026-07-14a Mort today I got this:<br><br>```<br>TypeError: dokuwiki\Parsing\ModeRegistry::__construct(): Argument #1 ($syntax) must be of type string, null given, called in .../public/inc/parserutils.php on line 239<br>```<br><br>Which is fine and easy to fix, but looking at this line 239 (and surrounding):<br><br>https://github.com/dokuwiki/dokuwiki/blob/master/inc/parserutils.php#L239<br><br>```<br>function p_get_instructions($text, $syntax = null)<br>{<br>    global $conf;<br><br>    $registry = new ModeRegistry($syntax ?? $conf['syntax']);<br>```<br><br>I mean I'm not saying it's wrong but `$syntax` would be null and then although it matches the type hint in the comment it still falls on its face.<br><br>Maybe no `$conf['syntax']` is a lesser known edge case with my <br><br>```<br>define('DOKU_CONF', __DIR__ . '/../../conf');<br>```<br><br>So maybe it would just be a good idea to mention this again in the upgrade doc, although I honestly don't remember if this was an official method of having several wikis or if it was just some hack :)<br><br>And yes, I'm gonna sync my dokuwiki.php in the DOKU_CONF dir now because not overwriting this is the main problem I guess, so possibly more of an FYI than a bug.<br><br>Thanks for continued updates!<br><br>### Version of DokuWiki<br><br>2026-07-14a Mort<br><br>### PHP Version<br><br>8.4<br><br>### Webserver and version of webserver<br><br>_No response_<br><br>### Browser and version of browser, operating system running browser<br><br>_No response_<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>winks</author>
      <pubDate>Wed, 29 Jul 2026 14:31:37 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Mangled emails in diff dropdowns</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4718</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;When a wiki is configured to show editors as email, the revision dropdowns on the diff page show mangled email as double-encoded HTML entities instead of the address, e.g.:&lt;br&gt;&lt;br&gt;```&lt;br&gt;16.07.2026 10:39 &amp;#97;&amp;#100;&amp;#109;&amp;#105;&amp;#110;&amp;#64;&amp;#111;&amp;#108;&amp;#97;...&lt;br&gt;```&lt;br&gt;&lt;br&gt;**Relevant config**:`showuseras = email` or `email_link`, and `mailguard = hex` (default)&lt;br&gt;&lt;br&gt;Diff dropdowns show broken obfuscated emails.&lt;br&gt;&lt;br&gt;This is probably caused by `editorinfo()`/`userlink()` (`inc/common.php`) not honoring `$textonly` for the emails, combined with `inc/Ui/PageDiff.php::buildRevisionOptions()` escaping the result again.&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2026-07-14a "Mort"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.5&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Nginx&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;any&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>When a wiki is configured to show editors as email, the revision dropdowns on the diff page show mangled email as double-encoded HTML entities instead of the address, e.g.:<br><br>```<br>16.07.2026 10:39 &#97;&#100;&#109;&#105;&#110;&#64;&#111;&#108;&#97;...<br>```<br><br>**Relevant config**:`showuseras = email` or `email_link`, and `mailguard = hex` (default)<br><br>Diff dropdowns show broken obfuscated emails.<br><br>This is probably caused by `editorinfo()`/`userlink()` (`inc/common.php`) not honoring `$textonly` for the emails, combined with `inc/Ui/PageDiff.php::buildRevisionOptions()` escaping the result again.<br><br>### Version of DokuWiki<br><br>2026-07-14a "Mort"<br><br>### PHP Version<br><br>8.5<br><br>### Webserver and version of webserver<br><br>Nginx<br><br>### Browser and version of browser, operating system running browser<br><br>any<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>annda</author>
      <pubDate>Wed, 29 Jul 2026 11:17:49 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: SSRF via RSS Feed Parser — No Internal IP Filtering (CWE-918)</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4717</link>
      <description>## Summary&lt;br&gt;The `{{rss&gt;URL}}` wiki syntax triggers server-side HTTP requests without any IP validation. Attackers can access internal services and cloud metadata endpoints.&lt;br&gt;&lt;br&gt;## Details&lt;br&gt;- **Files:** inc/Parsing/ParserMode/Rss.php, inc/Feed/FeedParserFile.php, inc/HTTP/HTTPClient.php&lt;br&gt;- **Auth:** AUTH_EDIT (any user with edit permission)&lt;br&gt;- **CWE:** CWE-918 (Server-Side Request Forgery)&lt;br&gt;- **CVSS Estimate:** 8.8&lt;br&gt;&lt;br&gt;The `HTTPClient` class has NO protection against:&lt;br&gt;- Loopback (127.0.0.1)&lt;br&gt;- Private IPs (10.x, 172.16-31.x, 192.168.x)&lt;br&gt;- Cloud metadata endpoints (169.254.169.254)&lt;br&gt;&lt;br&gt;## PoC&lt;br&gt;1. Edit any wiki page&lt;br&gt;2. Insert: `{{rss&gt;http://169.254.169.254/latest/meta-data/}}`&lt;br&gt;3. Save — server fetches the URL on page render&lt;br&gt;&lt;br&gt;## Impact&lt;br&gt;- Access cloud metadata (AWS, GCP, Azure)&lt;br&gt;- Port scan internal network&lt;br&gt;- Access internal services (Redis, Elasticsearch, databases)&lt;br&gt;&lt;br&gt;## Fix&lt;br&gt;Add IP validation in HTTPClient to block private/loopback/link-local IP ranges before making requests.&lt;br&gt;&lt;br&gt;## Additional Findings&lt;br&gt;Two more vulnerabilities found in the same codebase:&lt;br&gt;1. **CSRF on User Registration** (CVSS 8.0) — `register()` in inc/auth.php doesn't call `checkSecurityToken()`&lt;br&gt;2. **SVG XSS via Weak Content Check** (CVSS 7.6) — Only checks first 256 bytes and doesn't validate SVG properly&lt;br&gt;&lt;br&gt;## Credits&lt;br&gt;Discovered by Javokhir Tursunboyev (@javokhir-sec) on 2026-07-28&lt;br&gt;&lt;br&gt;---&lt;br&gt;*Reported per DokuWiki's SECURITY.md which accepts GitHub Issues for vulnerability reports.*</description>
      <content:encoded><![CDATA[## Summary<br>The `{{rss>URL}}` wiki syntax triggers server-side HTTP requests without any IP validation. Attackers can access internal services and cloud metadata endpoints.<br><br>## Details<br>- **Files:** inc/Parsing/ParserMode/Rss.php, inc/Feed/FeedParserFile.php, inc/HTTP/HTTPClient.php<br>- **Auth:** AUTH_EDIT (any user with edit permission)<br>- **CWE:** CWE-918 (Server-Side Request Forgery)<br>- **CVSS Estimate:** 8.8<br><br>The `HTTPClient` class has NO protection against:<br>- Loopback (127.0.0.1)<br>- Private IPs (10.x, 172.16-31.x, 192.168.x)<br>- Cloud metadata endpoints (169.254.169.254)<br><br>## PoC<br>1. Edit any wiki page<br>2. Insert: `{{rss>http://169.254.169.254/latest/meta-data/}}`<br>3. Save — server fetches the URL on page render<br><br>## Impact<br>- Access cloud metadata (AWS, GCP, Azure)<br>- Port scan internal network<br>- Access internal services (Redis, Elasticsearch, databases)<br><br>## Fix<br>Add IP validation in HTTPClient to block private/loopback/link-local IP ranges before making requests.<br><br>## Additional Findings<br>Two more vulnerabilities found in the same codebase:<br>1. **CSRF on User Registration** (CVSS 8.0) — `register()` in inc/auth.php doesn't call `checkSecurityToken()`<br>2. **SVG XSS via Weak Content Check** (CVSS 7.6) — Only checks first 256 bytes and doesn't validate SVG properly<br><br>## Credits<br>Discovered by Javokhir Tursunboyev (@javokhir-sec) on 2026-07-28<br><br>---<br>*Reported per DokuWiki's SECURITY.md which accepts GitHub Issues for vulnerability reports.*]]></content:encoded>
      <author>javokhir-sec</author>
      <pubDate>Tue, 28 Jul 2026 17:58:04 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Toolbar disappears</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4716</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;After updating to DokuWiki 2026-07-14a the toolbar on top of the edit window disappears.&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;DokuWiki 2026-07-14a&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.4&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Apache 2.4&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Firefox 153.0, Chrome 150.0.7871.186 on Windows 11 Pro 25H2&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>After updating to DokuWiki 2026-07-14a the toolbar on top of the edit window disappears.<br><br>### Version of DokuWiki<br><br>DokuWiki 2026-07-14a<br><br>### PHP Version<br><br>8.4<br><br>### Webserver and version of webserver<br><br>Apache 2.4<br><br>### Browser and version of browser, operating system running browser<br><br>Firefox 153.0, Chrome 150.0.7871.186 on Windows 11 Pro 25H2<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>ul71rich</author>
      <pubDate>Mon, 27 Jul 2026 06:18:51 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Please consider putting your wiki software on https://www.home-assistant.io/</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4713</link>
      <description>Please consider putting your wiki software on https://www.home-assistant.io/ I have been through 3 wiki programs (dokuwiki being one of them), that say they support Home Assistant, and none of them work the way they should.  Only one of them supports Ingress with Home Assistant.</description>
      <content:encoded><![CDATA[Please consider putting your wiki software on https://www.home-assistant.io/ I have been through 3 wiki programs (dokuwiki being one of them), that say they support Home Assistant, and none of them work the way they should.  Only one of them supports Ingress with Home Assistant.]]></content:encoded>
      <author>robertsaron</author>
      <pubDate>Sat, 25 Jul 2026 06:50:22 +0000</pubDate>
    </item>
  </channel>
</rss>