<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us">
  <title type="text">Tiki RSS feed for the wiki pages</title>
  <subtitle type="text">Latest wiki page changes.</subtitle>
  <logo>https://dev.tiki.org/dl652</logo>
  <updated>2026-08-12T23:44:52+00:00</updated>
  <generator uri="https://getlaminas.org" version="2">Laminas_Feed_Writer</generator>
  <link rel="alternate" type="text/html" href="https://dev.tiki.org/"/>
  <link rel="self" type="application/atom+xml" href="https://dev.tiki.org/tiki-wiki_rss.php"/>
  <id>https://dev.tiki.org/</id>
  <entry>
    <title type="html"><![CDATA[Creating or maintaining translations]]></title>
    <summary type="html"><![CDATA[<blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>9</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>9</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --lang=fr --skip-remove&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>1</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>1</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --lang=fr --skip-remove&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>1<br></strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>1<br></strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;// &amp;quot;Save&amp;quot; =&amp;gt; &amp;quot;Save&amp;quot;,&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>2</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>2</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;// &amp;quot;Save&amp;quot; =&amp;gt; &amp;quot;Save&amp;quot;,&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>11</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>11</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;&amp;quot;Save&amp;quot; =&amp;gt; &amp;quot;Enregistrer&amp;quot;,&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>3</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>3</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;&amp;quot;Save&amp;quot; =&amp;gt; &amp;quot;Enregistrer&amp;quot;,&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>12</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>12</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --lang=fr&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>4</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>4</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --lang=fr&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>13</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>13</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --lang=fr --skip-remove</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>5</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>5</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --lang=fr --skip-remove</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>14</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>14</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --custom --lang=fr --skip-remove&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>6</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>6</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings --custom --lang=fr --skip-remove&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>15</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>15</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;&amp;lt;?php</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>7</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>7</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;&amp;lt;?php</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>16</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>16</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings [options]&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>8</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>8</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php translation:getstrings [options]&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- <br /><a href="tiki-editpage.php?page=_custom" title="Create page: _custom" class="wiki wikinew text-danger tips">_custom</a></blockquote>]]></summary>
    <published>2026-08-09T19:58:34+00:00</published>
    <updated>2026-08-09T19:58:34+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Creating+or+maintaining+translations"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Creating+or+maintaining+translations</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Endangered features]]></title>
    <summary type="html"><![CDATA[<blockquote>- &lt;div&gt;	&lt;span class=&quot;wpfade-span-plain&quot;&gt;		&lt;a id=&quot;wpfade-<del class="diffchar deleted"><strong>3</strong></del>-link&quot; class=&gt;			Details		&lt;/a&gt;	&lt;/span&gt;	&lt;div id=&quot;wpfade-<del class="diffchar deleted"><strong>3</strong></del>&quot; class=&quot;wpfade-div-plain&quot;&gt;			&lt;ul&gt;&lt;ul&gt;&lt;li&gt; &lt;a href=&quot;Council-of-Europe#File_galleries_and_image_galleries_merging&quot; title=&quot;Description of our dev-related activities&quot; class=&quot;wiki wiki_page&quot;&gt;&quot;The idea is to make the image galleries redundant, then obsolete, then nonexistant.&quot;&lt;/a&gt;<br>&lt;br /&gt;&lt;div id=&#039;wpfade-<del class="diffchar deleted"><strong>4</strong></del>-outer&#039; class=&#039;card &#039;&gt;&lt;div class=&#039;card-header&#039;&gt;&lt;a data-bs-toggle=&#039;collapse&#039; class=&#039;d-block&#039; href=&#039;#wpfade-<del class="diffchar deleted"><strong>4</strong></del>-inner&#039;&gt;What is missing in File galleries?&lt;span class=&#039;icon icon-menu-extra fas fa-chevron-down fa-fw&#039; style=&#039;float:right&#039;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&#039;wpfade-<del class="diffchar deleted"><strong>4</strong></del>-inner&#039; class=&#039;panel-collapse collapse&#039;&gt;&lt;div class=&#039;card-body&#039;&gt;&lt;p&gt;Following the 2<br>14-11-<br>6 BBB meeting, Jyhem did a search of everything Image Galleries offer which is not in File Galleries.</blockquote><blockquote>+ &lt;div&gt;	&lt;span class=&quot;wpfade-span-plain&quot;&gt;		&lt;a id=&quot;wpfade-<ins class="diffchar inserted"><strong>1</strong></ins>-link&quot; class=&gt;			Details		&lt;/a&gt;	&lt;/span&gt;	&lt;div id=&quot;wpfade-<ins class="diffchar inserted"><strong>1</strong></ins>&quot; class=&quot;wpfade-div-plain&quot;&gt;			&lt;ul&gt;&lt;ul&gt;&lt;li&gt; &lt;a href=&quot;Council-of-Europe#File_galleries_and_image_galleries_merging&quot; title=&quot;Description of our dev-related activities&quot; class=&quot;wiki wiki_page&quot;&gt;&quot;The idea is to make the image galleries redundant, then obsolete, then nonexistant.&quot;&lt;/a&gt;<br>&lt;br /&gt;&lt;div id=&#039;wpfade-<ins class="diffchar inserted"><strong>2</strong></ins>-outer&#039; class=&#039;card &#039;&gt;&lt;div class=&#039;card-header&#039;&gt;&lt;a data-bs-toggle=&#039;collapse&#039; class=&#039;d-block&#039; href=&#039;#wpfade-<ins class="diffchar inserted"><strong>2</strong></ins>-inner&#039;&gt;What is missing in File galleries?&lt;span class=&#039;icon icon-menu-extra fas fa-chevron-down fa-fw&#039; style=&#039;float:right&#039;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&#039;wpfade-<ins class="diffchar inserted"><strong>2</strong></ins>-inner&#039; class=&#039;panel-collapse collapse&#039;&gt;&lt;div class=&#039;card-body&#039;&gt;&lt;p&gt;Following the 2<br>14-11-<br>6 BBB meeting, Jyhem did a search of everything Image Galleries offer which is not in File Galleries.</blockquote><blockquote>- &lt;/li&gt;&lt;li&gt; &lt;span style=&quot;color:#<del class="diffchar deleted"><strong>5</strong></del><br><del class="diffchar deleted"><strong>e3c2</strong></del>&quot;&gt;-1 I find the legacy (tabbed) insertion screen faster to use and appreciate being able to switch back and forth between tabs in some cases. The larger size for the form is also useful sometimes.&lt;/span&gt; &lt;span class=&#039;sign&#039; data-animation=&#039;true&#039; data-bs-toggle=&#039;tooltip&#039; data-bs-html=&#039;true&#039; data-bs-placement=&#039;auto&#039; title=&#039;    &lt;a title=&quot;User Information&quot; href=&quot;user342&quot; class=&quot;link ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=chibaguy&quot; data-geo-lat=&quot;156<br>5745.2572629<br>6&quot; data-geo-lon=&quot;42581<br>4.<br>1636<br><br>97&quot; data-geo-zoom=&quot;18&quot;&gt;Gary Cunningham-Lee&lt;/a&gt;</blockquote><blockquote>+ &lt;/li&gt;&lt;li&gt; &lt;span style=&quot;color:#<br><ins class="diffchar inserted"><strong><br>CC<br><br></strong></ins>&quot;&gt;-1 I find the legacy (tabbed) insertion screen faster to use and appreciate being able to switch back and forth between tabs in some cases. The larger size for the form is also useful sometimes.&lt;/span&gt; &lt;span class=&#039;sign&#039; data-animation=&#039;true&#039; data-bs-toggle=&#039;tooltip&#039; data-bs-html=&#039;true&#039; data-bs-placement=&#039;auto&#039; title=&#039;    &lt;a title=&quot;User Information&quot; href=&quot;user342&quot; class=&quot;link ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=chibaguy&quot; data-geo-lat=&quot;156<br>5745.2572629<br>6&quot; data-geo-lon=&quot;42581<br>4.<br>1636<br><br>97&quot; data-geo-zoom=&quot;18&quot;&gt;Gary Cunningham-Lee&lt;/a&gt;</blockquote><blockquote>- &lt;/li&gt;&lt;li&gt; &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox1<del class="diffchar deleted"><strong>9</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox1<del class="diffchar deleted"><strong>9</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php notification:digest&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;/li&gt;&lt;li&gt; &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>2<br></strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>2<br></strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php daily-report:send&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;/li&gt;&lt;li&gt; &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox1<ins class="diffchar inserted"><strong>7</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox1<ins class="diffchar inserted"><strong>7</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php notification:digest&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;/li&gt;&lt;li&gt; &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>18</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>18</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php console.php daily-report:send&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote>]]></summary>
    <published>2026-08-07T13:02:16+00:00</published>
    <updated>2026-08-07T13:02:16+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Endangered+features"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Endangered+features</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[How to release]]></title>
    <summary type="html"><![CDATA[<blockquote>- &lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Release_Steps&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.  Release Steps&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Checkout_Tiki&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.1.  Checkout Tiki&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Setup.sh&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.2.  Setup.sh&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Update_lib_setup_twversion.class.php<del class="diffchar deleted"><strong>_before_the_release</strong></del>&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.3.  Update lib/setup/twversion.class.php<del class="diffchar deleted"><strong> before the release</strong></del>&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Run_script&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.4.  Run script<del class="diffchar deleted"><strong>&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Create_and_test_pre-release_packages&#039; class=&#039;link&#039;&gt;1.2.5.  Create and test pre-release packages</strong></del>&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Check_the_generated_README_file&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.<del class="diffchar deleted"><strong>5</strong></del>.1.  Check the generated README file&lt;/a&gt;<br><del class="diffchar deleted"><strong>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Launch_the_release_script_again&#039; class=&#039;link&#039;&gt;1.2.6.  Launch the release script again&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Troubleshooting&#039; class=&#039;link&#039;&gt;1.2.6.1.  Troubleshooting&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Mysql_credentials&#039; class=&#039;link&#039;&gt;1.2.6.1.1.  Mysql credentials&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;</strong></del>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Test_the_produced_tarballs_and_share_the_testing&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.<del class="diffchar deleted"><strong>7</strong></del>.  Test the produced &quot;tarballs&quot; and share the testing&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Upload_tarballs_to_Sourceforge&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.<del class="diffchar deleted"><strong>8</strong></del>.  Upload tarballs to Sourceforge&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#After_Release_Steps&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.  After Release Steps&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Update_lib_setup_twversion.class.php&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.1.  Update lib/setup/twversion.class.php&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Update_show2.t.o_info_Skipped_until_note_is_resolved_&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.  Update show2.t.o info (Skipped until note is resolved)&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#checkout_that_version_in_the_local_cache_folder_of_tiki_in_show2.t.o&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.1.  checkout that version in the local cache folder of tiki in show2.t.o&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#tell_tim_to_manage_also_that_branch_to_update_tiki_from_that_version_also&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.2.  tell tim to manage also that branch to update tiki from that version also&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#make_a_tar.gz_file_from_the_new_branch&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.3.  make a tar.gz file from the new branch&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#update_the_field_in_tracker5_at_dev.t.o_to_allow_users_to_choose_that_version&#039; class=&#039;link&#039;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.4.  update the field in tracker5 at dev.t.o to allow users to choose that version&lt;/a&gt;</blockquote><blockquote>+ <ins class="diffchar inserted"><strong>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Requirements_2&#039; class=&#039;link&#039;&gt;1.2.  Requirements&lt;/a&gt;<br></strong></ins>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Release_Steps&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.<ins class="diffchar inserted"><strong> </strong></ins>  Release Steps&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Checkout_Tiki&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.1.  Checkout Tiki&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Setup.sh&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.2.  Setup.sh&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Update_lib_setup_twversion.class.php&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.3.  Update lib/setup/twversion.class.php&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Run_script&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.4.  Run script&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Check_the_generated_README_file&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.<ins class="diffchar inserted"><strong>4</strong></ins>.1.  Check the generated README file&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Test_the_produced_tarballs_and_share_the_testing&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.<ins class="diffchar inserted"><strong>5</strong></ins>.  Test the produced &quot;tarballs&quot; and share the testing&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Upload_tarballs_to_Sourceforge&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.<ins class="diffchar inserted"><strong>6</strong></ins>.  Upload tarballs to Sourceforge&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#After_Release_Steps&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.  After Release Steps&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Update_lib_setup_twversion.class.php<ins class="diffchar inserted"><strong>_2</strong></ins>&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.1.  Update lib/setup/twversion.class.php&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Update_show2.t.o_info_Skipped_until_note_is_resolved_&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.  Update show2.t.o info (Skipped until note is resolved)&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#checkout_that_version_in_the_local_cache_folder_of_tiki_in_show2.t.o&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.1.  checkout that version in the local cache folder of tiki in show2.t.o&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#tell_tim_to_manage_also_that_branch_to_update_tiki_from_that_version_also&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.2.  tell tim to manage also that branch to update tiki from that version also&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#make_a_tar.gz_file_from_the_new_branch&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.3.  make a tar.gz file from the new branch&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#update_the_field_in_tracker5_at_dev.t.o_to_allow_users_to_choose_that_version&#039; class=&#039;link&#039;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.4.  update the field in tracker5 at dev.t.o to allow users to choose that version&lt;/a&gt;</blockquote><blockquote>- <h2 class="showhide_heading d-flex justify-content-start" id="Release_Steps">1.2.  Release&nbsp;Steps<a href="#Release_Steps" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h2></blockquote><blockquote>- &lt;h<del class="diffchar deleted"><strong>3</strong></del> class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Checkout_Tiki&quot;&gt;1.2.1.  Checkout&amp;nbsp;Tiki&lt;a href=&quot;#Checkout_Tiki&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>+ &lt;h<ins class="diffchar inserted"><strong>2</strong></ins> class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;<ins class="diffchar inserted"><strong>Requirements_2&quot;&gt;1.2.  Requirements&lt;a href=&quot;#Requirements_2&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;<br>&lt;ol&gt;&lt;li&gt; Unix shell environment, Linux or OSX suitable.<br>&lt;/li&gt;&lt;li&gt; Git<br>&lt;/li&gt;&lt;li&gt; PHP 7.x or 8.x </strong></ins>C<ins class="diffchar inserted"><strong>LI. &lt;br /&gt;&lt;strong&gt;Note about p</strong></ins>h<ins class="diffchar inserted"><strong>p v</strong></ins>e<ins class="diffchar inserted"><strong>rsions:&lt;/strong&gt;<br>&lt;br /&gt; Use &lt;strong&gt;PHP 7.x&lt;/strong&gt; for Tiki 25.x releases and lower<br>&lt;br /&gt; Use &lt;strong&gt;PHP 8.x&lt;/strong&gt; for Tiki 26.x releases and upper.<br>&lt;p&gt;<br>&lt;/p&gt;<br>&lt;/li&gt;&lt;li&gt; PHP </strong></ins>c<ins class="diffchar inserted"><strong>onfiguration must allow running external programs (li</strong></ins>k<ins class="diffchar inserted"><strong>e shell scripts)<br>&lt;/li&gt;&lt;li&gt; Starting fr</strong></ins>o<ins class="diffchar inserted"><strong>m &lt;strong&gt;Tiki 27.x and later &lt;/strong&gt; versions release, &lt;strong&gt;Node.js and NPM are req</strong></ins>u<ins class="diffchar inserted"><strong>ired&lt;/s</strong></ins>t<ins class="diffchar inserted"><strong>rong&gt; for the JavasScript build system(for js and css compilation). Please check the required  the versions in package.json at the root of the project in the &quot;engines&quot; property.<br>&lt;/li&gt;&lt;li&gt; 7za or 7z needed for creating 7zip archives. (may be installed in OSX through homebrew by typing &lt;code&gt;brew install p7zip&lt;/code&gt;)<br>&lt;/li&gt;&lt;li&gt; Plenty of disk space and memory 😉 - at least 64M of memory for php (in php.ini for php-cli)<br>&lt;/li&gt;&lt;li&gt; The main packaging script is at &lt;a class=&quot;wiki external&quot; target=&quot;</strong></ins>_<ins class="diffchar inserted"><strong>blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/blob/master/doc/devtools/release.php&quot; rel=&quot;external&quot;&gt;doc/devtools/release.php&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; but releasing a </strong></ins>Tiki<ins class="diffchar inserted"><strong> version is a lot more than just running the packaging script 😊<br>&lt;/li&gt;&lt;/ol&gt;&lt;hr /&gt;<br>&lt;p&gt;<br>&lt;/p&gt;<br>&lt;h2 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Release_Steps</strong></ins>&quot;&gt;1.<ins class="diffchar inserted"><strong>3.   Release&amp;nbsp;Steps&lt;a href=&quot;#Release_Steps&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h</strong></ins>2<ins class="diffchar inserted"><strong>&gt;<br>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Checkout_Tiki&quot;&gt;1.3</strong></ins>.1.  Checkout&amp;nbsp;Tiki&lt;a href=&quot;#Checkout_Tiki&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;OPTION 1 &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong> </strong></del>Clone the branch you need to create the release for in a separate folder to separate it with your development instance by doing the following. Note that the bellow command is an example, so replace the branch value with that you want to work on, the reference repository by the path of your development instance to gain time when cloning and the target folder by that you want. Also remember to ensure that the reference repository is up to date and contains the required objects for successful cloning.&lt;br /&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>39</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;default&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>39</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;git clone --branch=29.x --shared --reference=./tiki https://gitlab.com/tikiwiki/tiki.git tiki29release&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<del class="diffchar deleted"><strong>&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;OPTION 2&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; checkout the correct branch, i.e the branch you want to create the release for and make sure your origin is &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki.git&quot; rel=&quot;external&quot;&gt;https://gitlab.com/tikiwiki/tiki.git&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;. For example, if you want to create the 29.1 release, do&lt;br /&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox4<br>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;default&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox4<br>&quot; &gt;&lt;div class=&quot;code&quot;&gt;git checkout 29.x&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt; </strong></del>&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ <ins class="diffchar inserted"><strong>&lt;div class=&quot;clearfix tabs&quot; data-name=&quot;versions_tabset_<br>1&quot;&gt;&lt;div class=&#039;float-end&#039;&gt;&lt;a class=&quot;btn btn-primary btn-sm&quot; target=&quot;&quot; role=&quot;button&quot; data-role=&quot;button&quot; data-inline=&quot;true&quot;   href=&quot;/tiki-wiki_rss.php&quot; onclick=&quot;setCookie(&#039;versions_tabset_<br>1&#039;,&#039;n&#039;, &#039;tabs&#039;, &#039;session&#039;, window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);&quot; &gt;No Tabs&lt;/a&gt;&lt;/div&gt;&lt;ul class=&quot;nav nav-tabs&quot; id=&quot;nav-versions_tabset_<br>1&quot;&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link active&quot; href=&quot;#contentversions_tabset_<br>1-1&quot; data-bs-toggle=&quot;tab&quot;&gt;Option 1&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link &quot; href=&quot;#contentversions_tabset_<br>1-2&quot; data-bs-toggle=&quot;tab&quot;&gt;Option 2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;tab-content&quot; id=&quot;v-pills-versions_tabset_<br>1&quot;&gt;&lt;div id=&#039;contentversions_tabset_<br>1-1&#039; class=&#039;tab-pane pt-3 active&#039;&gt;                            &lt;p&gt;<br>&lt;/p&gt;<br></strong></ins>&lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;OPTION 1 &lt;/strong&gt;&lt;/td<ins class="diffchar inserted"><strong>&gt;&lt;/tr&gt;&lt;tr</strong></ins>&gt;&lt;td class=&quot;wikicell&quot; &gt;Clone the branch you need to create the release for in a separate folder to separate it with your development instance by doing the following. Note that the bellow command is an example, so replace the branch value with that you want to work on, the reference repository by the path of your development instance to gain time when cloning and the target folder by that you want. Also remember to ensure that the reference repository is up to date and contains the required objects for successful cloning.&lt;br /&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>21</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;default&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>21</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;git clone --branch=29.x --shared --reference=./tiki https://gitlab.com/tikiwiki/tiki.git tiki29release&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+                     </div>            <div id='contentversions_tabset_01-2' class='tab-pane pt-3 '>                            </blockquote><blockquote>- &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Setup.sh&quot;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.2.  Setup.sh&lt;a href=&quot;#Setup.sh&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>+ <ins class="diffchar inserted"><strong>&lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;OPTION 2&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;checkout the correct branch, i.e the branch you want to create the release for and make sure your origin is &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki.git&quot; rel=&quot;external&quot;&gt;https://gitlab.com/tikiwiki/tiki.git&lt;/a&gt;. For example, if you want to create the 29.1 release, do&lt;br /&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox22&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;default&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox22&quot; &gt;&lt;div class=&quot;code&quot;&gt;git checkout 29.x&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br>&lt;p&gt;&lt;/p&gt;<br><br>                    &lt;/div&gt;&lt;/div&gt;<br>&lt;p&gt;<br>&lt;br /&gt;<br>&lt;/p&gt;<br></strong></ins>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Setup.sh&quot;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.2.  Setup.sh&lt;a href=&quot;#Setup.sh&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>41</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>41</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;sh ./setup.sh&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>23</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>23</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;sh ./setup.sh&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Update_lib_setup_twversion.class.php<del class="diffchar deleted"><strong>_before_the_release</strong></del>&quot;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.3.  Update<del class="diffchar deleted"><strong> </strong></del>lib/setup/twversion.class.php<del class="diffchar deleted"><strong> before the&amp;nbsp;release</strong></del>&lt;a href=&quot;#Update_lib_setup_twversion.class.php<del class="diffchar deleted"><strong>_before_the_release</strong></del>&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;<del class="diffchar deleted"><strong>p&gt;Look for section with &quot;Release Managers sho</strong></del>ul<del class="diffchar deleted"><strong>d update this array before release.&quot; of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/blob/master/lib/setup/twversion.class.php&quot; rel=&quot;external&quot;</strong></del>&gt;<del class="diffchar deleted"><strong>https://gitlab.com/tikiwiki/tiki/-/blob/master/lib/setup/twversion.class.php&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; (of your relevant branch)<br>&lt;/p&gt;<br></strong></del>&lt;ul&gt;&lt;li&gt; <del class="diffchar deleted"><strong>i</strong></del>ncrement the version number and the star name in the constructor. The star name only needs to be updated if it is a major release (Eg. Tiki 29.<br>alpha) but this is usually done during branching, it&#039;s done during release if it was not done during branching.<br>&lt;/li&gt;&lt;li&gt; <del class="diffchar deleted"><strong>t</strong></del>emporarily, remove the vcs from the branch number. E.g<del class="diffchar deleted"><strong>.</strong></del><br>&lt;br /&gt;<del class="diffchar deleted"><strong> </strong></del>&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>4</strong></del>2&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>4</strong></del>2&quot; &gt;&lt;div class=&quot;code&quot;&gt;function TWVersion()</blockquote><blockquote>+ &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Update_lib_setup_twversion.class.php&quot;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.3.  Update<ins class="diffchar inserted"><strong>&amp;nbsp;</strong></ins>lib/setup/twversion.class.php&lt;a href=&quot;#Update_lib_setup_twversion.class.php&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;ul&gt;&lt;ul&gt;&lt;li&gt; <ins class="diffchar inserted"><strong>I</strong></ins>ncrement the version number and the star name in the constructor. The star name only needs to be updated if it is a major release (Eg. Tiki 29.<br>alpha) but this is usually done during branching, it&#039;s done during release if it was not done during branching.<br>&lt;/li&gt;&lt;li&gt; <ins class="diffchar inserted"><strong>T</strong></ins>emporarily, remove the vcs from the branch number. <ins class="diffchar inserted"><strong>&lt;br /&gt;</strong></ins>E.g<br>&lt;br /&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox2<ins class="diffchar inserted"><strong>4</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox2<ins class="diffchar inserted"><strong>4</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;function TWVersion()</blockquote><blockquote>- <del class="diffchar deleted"><strong>		// Set the development branch.  Valid are:<br>		//   stable   : Represents stable releases.<br>		//   unstable : Represents candidate and test/development releases.<br>		//   trunk     : Represents next generation development version.<br>		$this-&amp;gt;branch 	= &amp;#<br>39;stable&amp;#<br>39;;<br><br>		// Set everything else, including defaults.<br></strong></del>		$this-&amp;gt;version 	= &amp;#<br>39;22.1vcs&amp;#<br>39;;	<del class="diffchar deleted"><strong>// needs to have no spaces for releases</strong></del><br>		$this-&amp;gt;star	= &amp;#<br>39;Corona Borealis&amp;#<br>39;;&lt;/div&gt;&lt;/pre&gt;&lt;/div<del class="diffchar deleted"><strong>&gt;<br>&lt;br /</strong></del>&gt; Since we where to release 22.1, we need to remove the &quot;vcs&quot; from &quot;22.1vcs&quot;, so this part will stay as:<br>&lt;br /&gt;<del class="diffchar deleted"><strong> </strong></del>&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>43</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>43</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;// Set everything else, including defaults.</blockquote><blockquote>+ 		$this-&amp;gt;version 	= &amp;#<br>39;22.1vcs&amp;#<br>39;;	<br>		$this-&amp;gt;star	= &amp;#<br>39;Corona Borealis&amp;#<br>39;;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt; Since we where to release 22.1, we need to remove the &quot;vcs&quot; from &quot;22.1vcs&quot;, so this part will stay as:<br>&lt;br /&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>25</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>25</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;// Set everything else, including defaults.</blockquote><blockquote>- &lt;/li&gt;&lt;li&gt; <del class="diffchar deleted"><strong>u</strong></del>pdate list of valid releases in &lt;code&gt;tikiVersions()&lt;/code&gt;<br>&lt;<del class="diffchar deleted"><strong>u</strong></del>l&gt;&lt;li&gt; Make sure you add all Tiki versions (not just the one you are doing now). Ex.: when 5.<br> is released, 4.2 will probably exist, as this was added to branches/4.x but not merged by script.</blockquote><blockquote>+ &lt;/li&gt;&lt;li&gt; <ins class="diffchar inserted"><strong>U</strong></ins>pdate list of valid releases in &lt;code&gt;tikiVersions()&lt;/code&gt;<br>&lt;<ins class="diffchar inserted"><strong>/</strong></ins>l<ins class="diffchar inserted"><strong>i</strong></ins>&gt;&lt;li&gt; Make sure you add all Tiki versions (not just the one you are doing now). Ex.: when 5.<br> is released, 4.2 will probably exist, as this was added to branches/4.x but not merged by script.</blockquote><blockquote>- <del class="diffchar deleted"><strong>&lt;/li&gt;&lt;/ul&gt;</strong></del>&lt;/li&gt;&lt;li&gt;Update the star name in the list in the function &lt;code&gt;tikiStars()&lt;/code&gt; if it&#039;s not yet done.<br>&lt;/li&gt;&lt;l<del class="diffchar deleted"><strong>i</strong></del>&gt;<del class="diffchar deleted"><strong> Comm</strong></del>i<del class="diffchar deleted"><strong>t your</strong></del> c<del class="diffchar deleted"><strong>h</strong></del>a<del class="diffchar deleted"><strong>nge</strong></del>s<del class="diffchar deleted"><strong> with thi</strong></del>s<del class="diffchar deleted"><strong> </strong></del>c<del class="diffchar deleted"><strong>ommit m</strong></del>e<del class="diffchar deleted"><strong>ss</strong></del>a<del class="diffchar deleted"><strong>ge</strong></del> <del class="diffchar deleted"><strong>(ch</strong></del>a<del class="diffchar deleted"><strong>nge \$VERSION </strong></del>b<del class="diffchar deleted"><strong>y</strong></del> t<del class="diffchar deleted"><strong>h</strong></del>e<del class="diffchar deleted"><strong> </strong></del>version<del class="diffchar deleted"><strong> of </strong></del>t<del class="diffchar deleted"><strong>he rele</strong></del>ase<del class="diffchar deleted"><strong>):<br>&lt;br /</strong></del>&gt;<del class="diffchar deleted"><strong> </strong></del>&lt;div class=<del class="diffchar deleted"><strong>&quot;code</strong></del>l<del class="diffchar deleted"><strong>isting_c</strong></del>o<del class="diffchar deleted"><strong>n</strong></del>t<del class="diffchar deleted"><strong>ai</strong></del>n<del class="diffchar deleted"><strong>er&quot;</strong></del>&gt;&lt;<del class="diffchar deleted"><strong>div</strong></del> class=&quot;<del class="diffchar deleted"><strong>ico</strong></del>n<del class="diffchar deleted"><strong>_co</strong></del>p<del class="diffchar deleted"><strong>y_code fa</strong></del>r<del class="diffchar deleted"><strong> fa-cl</strong></del>i<del class="diffchar deleted"><strong>pbo</strong></del>ar<del class="diffchar deleted"><strong>d&quot;</strong></del> t<del class="diffchar deleted"><strong>abi</strong></del>n<del class="diffchar deleted"><strong>dex=&quot;<br></strong></del>&quot; <del class="diffchar deleted"><strong> data-clipboard-</strong></del>target=&quot;<del class="diffchar deleted"><strong>#codebox44</strong></del>&quot; <del class="diffchar deleted"><strong>&gt;&lt;span c</strong></del>l<del class="diffchar deleted"><strong>ass</strong></del>=&quot;<del class="diffchar deleted"><strong>copy_code_</strong></del>t<del class="diffchar deleted"><strong>ool</strong></del>t<del class="diffchar deleted"><strong>iptext&quot;&gt;C</strong></del>o<del class="diffchar deleted"><strong>py to clipboard&lt;/spa</strong></del>n<del class="diffchar deleted"><strong>&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting</strong></del>&quot;<del class="diffchar deleted"><strong> </strong></del> data-<del class="diffchar deleted"><strong>them</strong></del>e=&quot;o<del class="diffchar deleted"><strong>ff</strong></del>&quot;<del class="diffchar deleted"><strong> </strong></del> data-<del class="diffchar deleted"><strong>sy</strong></del>n<del class="diffchar deleted"><strong>tax</strong></del>=&quot;<del class="diffchar deleted"><strong>sh</strong></del>e<del class="diffchar deleted"><strong>ll</strong></del>&quot;  <del class="diffchar deleted"><strong>da</strong></del>t<del class="diffchar deleted"><strong>a</strong></del>-wr<del class="diffchar deleted"><strong>a</strong></del>p<del class="diffchar deleted"><strong>=&quot;1</strong></del>&quot; <del class="diffchar deleted"><strong> d</strong></del>i<del class="diffchar deleted"><strong>r</strong></del>=&quot;<del class="diffchar deleted"><strong>ltr&quot;  </strong></del>st<del class="diffchar deleted"><strong>yle=&quot;wh</strong></del>i<del class="diffchar deleted"><strong>t</strong></del>e<del class="diffchar deleted"><strong>-space:pre-wrap; o</strong></del>ver<del class="diffchar deleted"><strong>fl</strong></del>o<del class="diffchar deleted"><strong>w-wr</strong></del>a<del class="diffchar deleted"><strong>p:</strong></del> b<del class="diffchar deleted"><strong>r</strong></del>e<del class="diffchar deleted"><strong>ak-w</strong></del>o<del class="diffchar deleted"><strong>rd;</strong></del> wo<del class="diffchar deleted"><strong>rd-</strong></del>w<del class="diffchar deleted"><strong>rap: brea</strong></del>k<del class="diffchar deleted"><strong>-w</strong></del>o<del class="diffchar deleted"><strong>rd;&quot; </strong></del>i<del class="diffchar deleted"><strong>d=&quot;cod</strong></del>e<del class="diffchar deleted"><strong>b</strong></del>o<del class="diffchar deleted"><strong>x44&quot; &gt;&lt;div cl</strong></del>as<del class="diffchar deleted"><strong>s=&quot;code&quot;&gt;[RE</strong></del>L<del class="diffchar deleted"><strong>] Preparing \$V</strong></del>ER<del class="diffchar deleted"><strong>S</strong></del>ION <del class="diffchar deleted"><strong>rele</strong></del>as<del class="diffchar deleted"><strong>e</strong></del>&lt;/<del class="diffchar deleted"><strong>div&gt;&lt;/pre</strong></del>&gt;&lt;/div&gt;<del class="diffchar deleted"><strong><br></strong></del>&lt;<del class="diffchar deleted"><strong>/li&gt;&lt;li&gt; Then p</strong></del>u<del class="diffchar deleted"><strong>sh your commit to &lt;a target=&quot;_b</strong></del>l<del class="diffchar deleted"><strong>ank&quot;</strong></del> class=&quot;<del class="diffchar deleted"><strong>wiki</strong></del> <del class="diffchar deleted"><strong>exter</strong></del>na<del class="diffchar deleted"><strong>l&quot;  href=&quot;h</strong></del>t<del class="diffchar deleted"><strong>tp</strong></del>s<del class="diffchar deleted"><strong>://github.com/tikiwiki/tiki.git</strong></del>&quot;<del class="diffchar deleted"><strong>&gt;https://g</strong></del>i<del class="diffchar deleted"><strong>thub.com/tikiwiki/tiki.git&lt;img src</strong></del>=&quot;i<del class="diffchar deleted"><strong>mg/ic</strong></del>ons<del class="diffchar deleted"><strong>/green</strong></del>_<del class="diffchar deleted"><strong>ques</strong></del>t<del class="diffchar deleted"><strong>ion.png&quot; </strong></del>a<del class="diffchar deleted"><strong>lt=&quot;Qu</strong></del>e<del class="diffchar deleted"><strong>s</strong></del>t<del class="diffchar deleted"><strong>ion</strong></del>&quot;<del class="diffchar deleted"><strong> w</strong></del>i<del class="diffchar deleted"><strong>dth=&quot;16&quot;</strong></del> <del class="diffchar deleted"><strong>height</strong></del>=&quot;<del class="diffchar deleted"><strong>16&quot; </strong></del>na<del class="diffchar deleted"><strong>me=&quot;link</strong></del>-<del class="diffchar deleted"><strong>external&quot; t</strong></del>it<del class="diffchar deleted"><strong>l</strong></del>e<del class="diffchar deleted"><strong>=&quot;Question</strong></del>&quot; class=&quot;<del class="diffchar deleted"><strong>ico</strong></del>n<del class="diffchar deleted"><strong>&quot; /&gt;&lt;/</strong></del>a<del class="diffchar deleted"><strong>&gt; </strong></del>in <del class="diffchar deleted"><strong>the corresponding br</strong></del>a<del class="diffchar deleted"><strong>n</strong></del>c<del class="diffchar deleted"><strong>h (</strong></del>t<del class="diffchar deleted"><strong>h</strong></del>e <del class="diffchar deleted"><strong>branc</strong></del>h<del class="diffchar deleted"><strong> you a</strong></del>re<del class="diffchar deleted"><strong> d</strong></del>o<del class="diffchar deleted"><strong>i</strong></del>n<del class="diffchar deleted"><strong>g </strong></del>t<del class="diffchar deleted"><strong>h</strong></del>e<del class="diffchar deleted"><strong> </strong></del>r<del class="diffchar deleted"><strong>elea</strong></del>s<del class="diffchar deleted"><strong>e for).<br>&lt;/l</strong></del>i<del class="diffchar deleted"><strong>&gt;&lt;/ul&gt;&lt;p&gt;&lt;str</strong></del>on<del class="diffchar deleted"><strong>g&gt;No</strong></del>te<del class="diffchar deleted"><strong>&lt;/s</strong></del>t<del class="diffchar deleted"><strong>rong&gt;:</strong></del> <del class="diffchar deleted"><strong>Do no</strong></del>t<del class="diffchar deleted"><strong> pu</strong></del>s<del class="diffchar deleted"><strong>h y</strong></del>o<del class="diffchar deleted"><strong>ur chan</strong></del>ge<del class="diffchar deleted"><strong>s if you </strong></del>a<del class="diffchar deleted"><strong>re doing a p</strong></del>re-release<del class="diffchar deleted"><strong> test.<br></strong></del>&lt;/<del class="diffchar deleted"><strong>p</strong></del>&gt;<del class="diffchar deleted"><strong><br></strong></del>&lt;<del class="diffchar deleted"><strong>hr </strong></del>/&gt;<del class="diffchar deleted"><strong><br></strong></del>&lt;<del class="diffchar deleted"><strong>h3</strong></del> class=&quot;<del class="diffchar deleted"><strong>showh</strong></del>i<del class="diffchar deleted"><strong>de_h</strong></del>ea<del class="diffchar deleted"><strong>ding</strong></del> <del class="diffchar deleted"><strong>d-f</strong></del>l<del class="diffchar deleted"><strong>ex ju</strong></del>s<del class="diffchar deleted"><strong>tify-content-</strong></del>s<del class="diffchar deleted"><strong>tart&quot; id</strong></del>=&quot;<del class="diffchar deleted"><strong>Ru</strong></del>n<del class="diffchar deleted"><strong>_scr</strong></del>i<del class="diffchar deleted"><strong>pt</strong></del>&quot;<del class="diffchar deleted"><strong>&gt;1.2.4.  Run&amp;nbsp;script&lt;a</strong></del> href=&quot;#<del class="diffchar deleted"><strong>Ru</strong></del>n<del class="diffchar deleted"><strong>_</strong></del>s<del class="diffchar deleted"><strong>cr</strong></del>i<del class="diffchar deleted"><strong>p</strong></del>t<del class="diffchar deleted"><strong>&quot; cl</strong></del>as<del class="diffchar deleted"><strong>s=&quot;h</strong></del>e<del class="diffchar deleted"><strong>ading</strong></del>-<del class="diffchar deleted"><strong>link</strong></del>&quot; a<del class="diffchar deleted"><strong>ri</strong></del>a-l<del class="diffchar deleted"><strong>ab</strong></del>e<del class="diffchar deleted"><strong>l</strong></del>=&quot;<del class="diffchar deleted"><strong>he</strong></del>a<del class="diffchar deleted"><strong>ding link</strong></del>&quot;&gt;<del class="diffchar deleted"><strong>&lt;span c</strong></del>las<del class="diffchar deleted"><strong>s=&quot;</strong></del>i<del class="diffchar deleted"><strong>co</strong></del>n<del class="diffchar deleted"><strong> icon-link f</strong></del>a<del class="diffchar deleted"><strong>s fa-link &quot;   </strong></del>&gt;&lt;/<del class="diffchar deleted"><strong>span</strong></del>&gt;&lt;/<del class="diffchar deleted"><strong>a</strong></del>&gt;&lt;/<del class="diffchar deleted"><strong>h3</strong></del>&gt;<del class="diffchar deleted"><strong><br></strong></del>&lt;<del class="diffchar deleted"><strong>p&gt;The ma</strong></del>i<del class="diffchar deleted"><strong>n packaging script is at &lt;a</strong></del> class=&quot;<del class="diffchar deleted"><strong>wiki ex</strong></del>t<del class="diffchar deleted"><strong>er</strong></del>n<del class="diffchar deleted"><strong>al&quot; </strong></del>t<del class="diffchar deleted"><strong>arg</strong></del>et<del class="diffchar deleted"><strong>=&quot;_blank</strong></del>&quot; <del class="diffchar deleted"><strong>t</strong></del>i<del class="diffchar deleted"><strong>tle</strong></del>=&quot;<del class="diffchar deleted"><strong>Ext</strong></del>er<del class="diffchar deleted"><strong>nal l</strong></del>in<del class="diffchar deleted"><strong>k&quot; href=&quot;h</strong></del>t<del class="diffchar deleted"><strong>tp</strong></del>s<del class="diffchar deleted"><strong>://sourceforge.n</strong></del>et<del class="diffchar deleted"><strong>/p/t</strong></del>i<del class="diffchar deleted"><strong>k</strong></del>i<del class="diffchar deleted"><strong>wiki/</strong></del>co<del class="diffchar deleted"><strong>d</strong></del>e<del class="diffchar deleted"><strong>/HEAD/</strong></del>t<del class="diffchar deleted"><strong>r</strong></del>e<del class="diffchar deleted"><strong>e/t</strong></del>r<del class="diffchar deleted"><strong>u</strong></del>n<del class="diffchar deleted"><strong>k/doc/dev</strong></del>t<del class="diffchar deleted"><strong>ool</strong></del>s<del class="diffchar deleted"><strong>/r</strong></del>el<del class="diffchar deleted"><strong>e</strong></del>ase<del class="diffchar deleted"><strong>.</strong></del>p<del class="diffchar deleted"><strong>hp&quot;</strong></del> <del class="diffchar deleted"><strong>rel=&quot;extern</strong></del>a<del class="diffchar deleted"><strong>l&quot;&gt;do</strong></del>c<del class="diffchar deleted"><strong>/de</strong></del>v<del class="diffchar deleted"><strong>tools/r</strong></del>e<del class="diffchar deleted"><strong>lease.ph</strong></del>p&lt;/<del class="diffchar deleted"><strong>a</strong></del>&gt;&lt;<del class="diffchar deleted"><strong>img </strong></del>sr<del class="diffchar deleted"><strong>c=&quot;img/ic</strong></del>on<del class="diffchar deleted"><strong>s/</strong></del>g<del class="diffchar deleted"><strong>ree</strong></del>n<del class="diffchar deleted"><strong>_q</strong></del>u<del class="diffchar deleted"><strong>e</strong></del>s<del class="diffchar deleted"><strong>ti</strong></del>o<del class="diffchar deleted"><strong>n.p</strong></del>ng<del class="diffchar deleted"><strong>&quot; alt=&quot;Qu</strong></del>es<del class="diffchar deleted"><strong>t</strong></del>i<del class="diffchar deleted"><strong>o</strong></del>n<del class="diffchar deleted"><strong>&quot;</strong></del> <del class="diffchar deleted"><strong>width=&quot;16&quot; h</strong></del>e<del class="diffchar deleted"><strong>ight=&quot;16&quot; nam</strong></del>e<del class="diffchar deleted"><strong>=&quot;</strong></del>l<del class="diffchar deleted"><strong>ink-</strong></del>e<del class="diffchar deleted"><strong>xt</strong></del>e<del class="diffchar deleted"><strong>rnal&quot;</strong></del> t<del class="diffchar deleted"><strong>itle=&quot;Qu</strong></del>est<del class="diffchar deleted"><strong>ion&quot; cla</strong></del>s<del class="diffchar deleted"><strong>s=&quot;ic</strong></del>on<del class="diffchar deleted"><strong>&quot; /</strong></del>&gt;</blockquote><blockquote>+ &lt;/li&gt;&lt;li&gt;<ins class="diffchar inserted"><strong> </strong></ins>Update the star name in the list in the function &lt;code&gt;tikiStars()&lt;/code&gt; if it&#039;s not yet done.<br>&lt;/li&gt;&lt;<ins class="diffchar inserted"><strong>/u</strong></ins>l&gt;<ins class="diffchar inserted"><strong>&lt;/ul&gt;&lt;d</strong></ins>i<ins class="diffchar inserted"><strong>v</strong></ins> c<ins class="diffchar inserted"><strong>l</strong></ins>ass<ins class="diffchar inserted"><strong>=&quot;</strong></ins>c<ins class="diffchar inserted"><strong>l</strong></ins>ea<ins class="diffchar inserted"><strong>rfix</strong></ins> <ins class="diffchar inserted"><strong>t</strong></ins>ab<ins class="diffchar inserted"><strong>s&quot;</strong></ins> <ins class="diffchar inserted"><strong>da</strong></ins>t<ins class="diffchar inserted"><strong>a-nam</strong></ins>e<ins class="diffchar inserted"><strong>=&quot;</strong></ins>version<ins class="diffchar inserted"><strong>s_</strong></ins>ta<ins class="diffchar inserted"><strong>b</strong></ins>se<ins class="diffchar inserted"><strong>t_2&quot;</strong></ins>&gt;&lt;div class=<ins class="diffchar inserted"><strong>&#039;f</strong></ins>lo<ins class="diffchar inserted"><strong>a</strong></ins>t<ins class="diffchar inserted"><strong>-e</strong></ins>n<ins class="diffchar inserted"><strong>d&#039;</strong></ins>&gt;&lt;<ins class="diffchar inserted"><strong>a</strong></ins> class=&quot;<ins class="diffchar inserted"><strong>bt</strong></ins>n<ins class="diffchar inserted"><strong> btn-</strong></ins>pri<ins class="diffchar inserted"><strong>m</strong></ins>ar<ins class="diffchar inserted"><strong>y</strong></ins> <ins class="diffchar inserted"><strong>b</strong></ins>tn<ins class="diffchar inserted"><strong>-sm</strong></ins>&quot; target=&quot;&quot; <ins class="diffchar inserted"><strong>ro</strong></ins>l<ins class="diffchar inserted"><strong>e</strong></ins>=&quot;<ins class="diffchar inserted"><strong>bu</strong></ins>tton&quot; data-<ins class="diffchar inserted"><strong>rol</strong></ins>e=&quot;<ins class="diffchar inserted"><strong>butt</strong></ins>o<ins class="diffchar inserted"><strong>n</strong></ins>&quot; data-<ins class="diffchar inserted"><strong>i</strong></ins>n<ins class="diffchar inserted"><strong>line</strong></ins>=&quot;<ins class="diffchar inserted"><strong>tru</strong></ins>e&quot;  <ins class="diffchar inserted"><strong> href=&quot;/</strong></ins>t<ins class="diffchar inserted"><strong>iki</strong></ins>-w<ins class="diffchar inserted"><strong>iki_</strong></ins>r<ins class="diffchar inserted"><strong>ss.ph</strong></ins>p&quot; <ins class="diffchar inserted"><strong>oncl</strong></ins>i<ins class="diffchar inserted"><strong>ck</strong></ins>=&quot;s<ins class="diffchar inserted"><strong>e</strong></ins>t<ins class="diffchar inserted"><strong>Cook</strong></ins>ie<ins class="diffchar inserted"><strong>(&#039;</strong></ins>ver<ins class="diffchar inserted"><strong>si</strong></ins>o<ins class="diffchar inserted"><strong>ns_t</strong></ins>a<ins class="diffchar inserted"><strong>bset_2&#039;,&#039;n&#039;,</strong></ins> <ins class="diffchar inserted"><strong>&#039;ta</strong></ins>b<ins class="diffchar inserted"><strong>s&#039;, &#039;s</strong></ins>e<ins class="diffchar inserted"><strong>ssi</strong></ins>o<ins class="diffchar inserted"><strong>n&#039;,</strong></ins> w<ins class="diffchar inserted"><strong>ind</strong></ins>ow<ins class="diffchar inserted"><strong>.ti</strong></ins>k<ins class="diffchar inserted"><strong>iCo</strong></ins>o<ins class="diffchar inserted"><strong>k</strong></ins>ie<ins class="diffchar inserted"><strong>C</strong></ins>o<ins class="diffchar inserted"><strong>nst</strong></ins>a<ins class="diffchar inserted"><strong>nt</strong></ins>s<ins class="diffchar inserted"><strong>.BUI</strong></ins>L<ins class="diffchar inserted"><strong>TIN_COOKI</strong></ins>E<ins class="diffchar inserted"><strong>_CATEGO</strong></ins>R<ins class="diffchar inserted"><strong>Y_FUNCT</strong></ins>ION<ins class="diffchar inserted"><strong>AL);&quot;</strong></ins> <ins class="diffchar inserted"><strong>&gt;No T</strong></ins>a<ins class="diffchar inserted"><strong>b</strong></ins>s&lt;/<ins class="diffchar inserted"><strong>a</strong></ins>&gt;&lt;/div&gt;&lt;ul class=&quot;<ins class="diffchar inserted"><strong>nav</strong></ins> na<ins class="diffchar inserted"><strong>v-</strong></ins>t<ins class="diffchar inserted"><strong>ab</strong></ins>s&quot;<ins class="diffchar inserted"><strong> </strong></ins>i<ins class="diffchar inserted"><strong>d</strong></ins>=&quot;<ins class="diffchar inserted"><strong>nav-vers</strong></ins>ions_ta<ins class="diffchar inserted"><strong>bs</strong></ins>et<ins class="diffchar inserted"><strong>_2</strong></ins>&quot;<ins class="diffchar inserted"><strong>&gt;&lt;l</strong></ins>i <ins class="diffchar inserted"><strong>class</strong></ins>=&quot;na<ins class="diffchar inserted"><strong>v</strong></ins>-ite<ins class="diffchar inserted"><strong>m</strong></ins>&quot;<ins class="diffchar inserted"><strong>&gt;&lt;a</strong></ins> class=&quot;na<ins class="diffchar inserted"><strong>v-l</strong></ins>in<ins class="diffchar inserted"><strong>k</strong></ins> act<ins class="diffchar inserted"><strong>iv</strong></ins>e<ins class="diffchar inserted"><strong>&quot;</strong></ins> hre<ins class="diffchar inserted"><strong>f=&quot;#c</strong></ins>onte<ins class="diffchar inserted"><strong>ntve</strong></ins>rsion<ins class="diffchar inserted"><strong>s_</strong></ins>t<ins class="diffchar inserted"><strong>abs</strong></ins>et<ins class="diffchar inserted"><strong>_2-1&quot;</strong></ins> <ins class="diffchar inserted"><strong>da</strong></ins>t<ins class="diffchar inserted"><strong>a-b</strong></ins>s<ins class="diffchar inserted"><strong>-t</strong></ins>og<ins class="diffchar inserted"><strong>gl</strong></ins>e<ins class="diffchar inserted"><strong>=&quot;t</strong></ins>a<ins class="diffchar inserted"><strong>b&quot;&gt;P</strong></ins>re-release&lt;/<ins class="diffchar inserted"><strong>a</strong></ins>&gt;&lt;/<ins class="diffchar inserted"><strong>li</strong></ins>&gt;&lt;<ins class="diffchar inserted"><strong>li</strong></ins> class=&quot;<ins class="diffchar inserted"><strong>nav-</strong></ins>i<ins class="diffchar inserted"><strong>t</strong></ins>e<ins class="diffchar inserted"><strong>m&quot;&gt;&lt;</strong></ins>a <ins class="diffchar inserted"><strong>c</strong></ins>l<ins class="diffchar inserted"><strong>a</strong></ins>ss=&quot;n<ins class="diffchar inserted"><strong>av-l</strong></ins>i<ins class="diffchar inserted"><strong>nk </strong></ins>&quot; href=&quot;#<ins class="diffchar inserted"><strong>co</strong></ins>n<ins class="diffchar inserted"><strong>tentver</strong></ins>si<ins class="diffchar inserted"><strong>ons_</strong></ins>ta<ins class="diffchar inserted"><strong>b</strong></ins>se<ins class="diffchar inserted"><strong>t_2</strong></ins>-<ins class="diffchar inserted"><strong>2</strong></ins>&quot; <ins class="diffchar inserted"><strong>d</strong></ins>a<ins class="diffchar inserted"><strong>t</strong></ins>a-<ins class="diffchar inserted"><strong>bs-togg</strong></ins>le=&quot;<ins class="diffchar inserted"><strong>t</strong></ins>a<ins class="diffchar inserted"><strong>b</strong></ins>&quot;&gt;<ins class="diffchar inserted"><strong>Re</strong></ins>l<ins class="diffchar inserted"><strong>e</strong></ins>asin<ins class="diffchar inserted"><strong>g&lt;/</strong></ins>a&gt;&lt;/<ins class="diffchar inserted"><strong>li</strong></ins>&gt;&lt;/<ins class="diffchar inserted"><strong>ul</strong></ins>&gt;&lt;/<ins class="diffchar inserted"><strong>div</strong></ins>&gt;&lt;<ins class="diffchar inserted"><strong>d</strong></ins>i<ins class="diffchar inserted"><strong>v</strong></ins> class=&quot;t<ins class="diffchar inserted"><strong>ab-co</strong></ins>nte<ins class="diffchar inserted"><strong>n</strong></ins>t&quot; i<ins class="diffchar inserted"><strong>d</strong></ins>=&quot;<ins class="diffchar inserted"><strong>v-pills-v</strong></ins>er<ins class="diffchar inserted"><strong>s</strong></ins>i<ins class="diffchar inserted"><strong>o</strong></ins>n<ins class="diffchar inserted"><strong>s_</strong></ins>t<ins class="diffchar inserted"><strong>ab</strong></ins>set<ins class="diffchar inserted"><strong>_2&quot;&gt;&lt;d</strong></ins>i<ins class="diffchar inserted"><strong>v </strong></ins>i<ins class="diffchar inserted"><strong>d=&#039;</strong></ins>co<ins class="diffchar inserted"><strong>nt</strong></ins>e<ins class="diffchar inserted"><strong>n</strong></ins>t<ins class="diffchar inserted"><strong>v</strong></ins>er<ins class="diffchar inserted"><strong>sio</strong></ins>n<ins class="diffchar inserted"><strong>s_</strong></ins>t<ins class="diffchar inserted"><strong>ab</strong></ins>se<ins class="diffchar inserted"><strong>t_2-1&#039; c</strong></ins>las<ins class="diffchar inserted"><strong>s=&#039;tab-pan</strong></ins>e<ins class="diffchar inserted"><strong> </strong></ins>p<ins class="diffchar inserted"><strong>t-3</strong></ins> ac<ins class="diffchar inserted"><strong>ti</strong></ins>ve<ins class="diffchar inserted"><strong>&#039;&gt;                            &lt;</strong></ins>p<ins class="diffchar inserted"><strong>&gt;<br></strong></ins>&lt;<ins class="diffchar inserted"><strong>br </strong></ins>/&gt;&lt;s<ins class="diffchar inserted"><strong>t</strong></ins>rong<ins class="diffchar inserted"><strong>&gt;Do </strong></ins>n<ins class="diffchar inserted"><strong>ot p</strong></ins>us<ins class="diffchar inserted"><strong>h y</strong></ins>o<ins class="diffchar inserted"><strong>ur cha</strong></ins>nges<ins class="diffchar inserted"><strong> </strong></ins>in <ins class="diffchar inserted"><strong>pr</strong></ins>e<ins class="diffchar inserted"><strong>-r</strong></ins>ele<ins class="diffchar inserted"><strong>as</strong></ins>e test<ins class="diffchar inserted"><strong>.&lt;/</strong></ins>s<ins class="diffchar inserted"><strong>tr</strong></ins>on<ins class="diffchar inserted"><strong>g</strong></ins>&gt;</blockquote><blockquote>- &lt;p&gt;<del class="diffchar deleted"><strong>Go</strong></del> <del class="diffchar deleted"><strong>to</strong></del> <del class="diffchar deleted"><strong>the</strong></del> <del class="diffchar deleted"><strong>newly</strong></del> <del class="diffchar deleted"><strong>create</strong></del>d di<del class="diffchar deleted"><strong>re</strong></del>c<del class="diffchar deleted"><strong>t</strong></del>or<del class="diffchar deleted"><strong>y</strong></del> an<del class="diffchar deleted"><strong>d</strong></del> <del class="diffchar deleted"><strong>run</strong></del></blockquote><blockquote>+ &lt;p&gt;<ins class="diffchar inserted"><strong><br></strong></ins>    <ins class="diffchar inserted"><strong>                &lt;/</strong></ins>d<ins class="diffchar inserted"><strong>iv&gt;           </strong></ins> <ins class="diffchar inserted"><strong>&lt;</strong></ins>di<ins class="diffchar inserted"><strong>v id=&#039;</strong></ins>co<ins class="diffchar inserted"><strong>ntentve</strong></ins>r<ins class="diffchar inserted"><strong>sions_tabset_2-2&#039;</strong></ins> <ins class="diffchar inserted"><strong>class=&#039;tab-p</strong></ins>an<ins class="diffchar inserted"><strong>e pt-3 &#039;&gt;                           </strong></ins> </blockquote><blockquote>- &lt;<del class="diffchar deleted"><strong>d</strong></del>i<del class="diffchar deleted"><strong>v</strong></del> c<del class="diffchar deleted"><strong>l</strong></del>ass<del class="diffchar deleted"><strong>=&quot;</strong></del>co<del class="diffchar deleted"><strong>d</strong></del>eca<del class="diffchar deleted"><strong>ptio</strong></del>n<del class="diffchar deleted"><strong>&quot;&gt;Displa</strong></del>y <del class="diffchar deleted"><strong>Ba</strong></del>si<del class="diffchar deleted"><strong>c</strong></del> <del class="diffchar deleted"><strong>H</strong></del>el<del class="diffchar deleted"><strong>p</strong></del>&lt;/<del class="diffchar deleted"><strong>div</strong></del>&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>45</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>45</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php <del class="diffchar deleted"><strong>d</strong></del>oc<del class="diffchar deleted"><strong>/d</strong></del>e<del class="diffchar deleted"><strong>v</strong></del>too<del class="diffchar deleted"><strong>l</strong></del>s/release<del class="diffchar deleted"><strong>.</strong></del>ph<del class="diffchar deleted"><strong>p</strong></del> <del class="diffchar deleted"><strong>--</strong></del>help&lt;/<del class="diffchar deleted"><strong>div</strong></del>&gt;&lt;/p<del class="diffchar deleted"><strong>re</strong></del>&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;<ins class="diffchar inserted"><strong>ul&gt;&lt;l</strong></ins>i<ins class="diffchar inserted"><strong>&gt; Commit your</strong></ins> c<ins class="diffchar inserted"><strong>h</strong></ins>a<ins class="diffchar inserted"><strong>nge</strong></ins>s<ins class="diffchar inserted"><strong> with thi</strong></ins>s<ins class="diffchar inserted"><strong> </strong></ins>co<ins class="diffchar inserted"><strong>mmit m</strong></ins>e<ins class="diffchar inserted"><strong>ssage (</strong></ins>c<ins class="diffchar inserted"><strong>h</strong></ins>an<ins class="diffchar inserted"><strong>ge \$VERSION b</strong></ins>y <ins class="diffchar inserted"><strong>the ver</strong></ins>si<ins class="diffchar inserted"><strong>on</strong></ins> <ins class="diffchar inserted"><strong>of the r</strong></ins>el<ins class="diffchar inserted"><strong>ease):<br></strong></ins>&lt;<ins class="diffchar inserted"><strong>br </strong></ins>/&gt;<ins class="diffchar inserted"><strong> </strong></ins>&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>26</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>26</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;<ins class="diffchar inserted"><strong>[REL] Pre</strong></ins>p<ins class="diffchar inserted"><strong>aring \$VERSION release&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;/li&gt;&lt;li&gt; T</strong></ins>h<ins class="diffchar inserted"><strong>en </strong></ins>p<ins class="diffchar inserted"><strong>ush</strong></ins> <ins class="diffchar inserted"><strong>y</strong></ins>o<ins class="diffchar inserted"><strong>ur </strong></ins>c<ins class="diffchar inserted"><strong>ommit to &lt;a targ</strong></ins>et<ins class="diffchar inserted"><strong>=&quot;_blank&quot; class=&quot;wiki external&quot;  href=&quot;https://github.c</strong></ins>o<ins class="diffchar inserted"><strong>m/tikiwiki/tiki.git&quot;&gt;https://github.c</strong></ins>o<ins class="diffchar inserted"><strong>m/tikiwiki/tiki.git&lt;img </strong></ins>s<ins class="diffchar inserted"><strong>rc=&quot;img</strong></ins>/<ins class="diffchar inserted"><strong>icons/g</strong></ins>re<ins class="diffchar inserted"><strong>en_question.png&quot; a</strong></ins>l<ins class="diffchar inserted"><strong>t=&quot;Qu</strong></ins>e<ins class="diffchar inserted"><strong>stion&quot; width=&quot;16&quot; height=&quot;16&quot; n</strong></ins>a<ins class="diffchar inserted"><strong>me=&quot;link-external&quot; title=&quot;Que</strong></ins>s<ins class="diffchar inserted"><strong>tion&quot; class=&quot;icon&quot; /&gt;&lt;/a&gt; in th</strong></ins>e<ins class="diffchar inserted"><strong> corres</strong></ins>p<ins class="diffchar inserted"><strong>onding branc</strong></ins>h <ins class="diffchar inserted"><strong>(t</strong></ins>h<ins class="diffchar inserted"><strong>e branch you are doing the r</strong></ins>el<ins class="diffchar inserted"><strong>ease for).<br>&lt;</strong></ins>p<ins class="diffchar inserted"><strong>&gt;<br></strong></ins>&lt;<ins class="diffchar inserted"><strong>br </strong></ins>/&gt;&lt;/p<ins class="diffchar inserted"><strong>&gt;<br>&lt;/li&gt;&lt;/ul&gt;<br>                    &lt;/div</strong></ins>&gt;&lt;/div&gt;</blockquote><blockquote>- <br />to get the command help and see different options that can be used.</blockquote><blockquote>- <br>&lt;p&gt;To Run the release command:</blockquote><blockquote>+ <ins class="diffchar inserted"><strong>&lt;hr /&gt;</strong></ins><br><ins class="diffchar inserted"><strong>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Run_script&quot;&gt;1.3.4.  Run&amp;nbsp;script&lt;a href=&quot;#Run_script&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;ul&gt;&lt;ul&gt;&lt;li&gt; Go to the tiki instance pointing to the branch you want to release and run:<br>&lt;br /&gt;&lt;div class=&quot;codecaption&quot;&gt;Display Basic Help&lt;/div&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox27&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox27&quot; &gt;&lt;div class=&quot;code&quot;&gt;php doc/devtools/release.php --help&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  to get the command help and see different options that can be used.<br>&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;</strong></ins>&lt;p&gt;To Run the<ins class="diffchar inserted"><strong> pre-release or</strong></ins> release command:</blockquote><blockquote>- &lt;div class=&quot;c<del class="diffchar deleted"><strong>ode</strong></del>list<del class="diffchar deleted"><strong>i</strong></del>n<del class="diffchar deleted"><strong>g_c</strong></del>onta<del class="diffchar deleted"><strong>in</strong></del>e<del class="diffchar deleted"><strong>r</strong></del>&quot;&gt;&lt;div class=<del class="diffchar deleted"><strong>&quot;ic</strong></del>on<del class="diffchar deleted"><strong>_copy_co</strong></del>d<del class="diffchar deleted"><strong>e f</strong></del>a<del class="diffchar deleted"><strong>r</strong></del> <del class="diffchar deleted"><strong>fa-</strong></del>cl<del class="diffchar deleted"><strong>ipbo</strong></del>a<del class="diffchar deleted"><strong>rd</strong></del>&quot; tab<del class="diffchar deleted"><strong>i</strong></del>n<del class="diffchar deleted"><strong>d</strong></del>e<del class="diffchar deleted"><strong>x</strong></del>=&quot;<del class="diffchar deleted"><strong><br></strong></del>&quot;  data-<del class="diffchar deleted"><strong>c</strong></del>l<del class="diffchar deleted"><strong>ip</strong></del>bo<del class="diffchar deleted"><strong>ar</strong></del>d<del class="diffchar deleted"><strong>-</strong></del>ta<del class="diffchar deleted"><strong>rg</strong></del>e<del class="diffchar deleted"><strong>t</strong></del>=&quot;<del class="diffchar deleted"><strong>#cod</strong></del>e<del class="diffchar deleted"><strong>box46</strong></del>&quot; <del class="diffchar deleted"><strong>&gt;&lt;</strong></del>sp<del class="diffchar deleted"><strong>an</strong></del> cl<del class="diffchar deleted"><strong>ass</strong></del>=&quot;<del class="diffchar deleted"><strong>c</strong></del>o<del class="diffchar deleted"><strong>py_c</strong></del>o<del class="diffchar deleted"><strong>d</strong></del>e_too<del class="diffchar deleted"><strong>l</strong></del>ti<del class="diffchar deleted"><strong>pt</strong></del>e<del class="diffchar deleted"><strong>xt&quot;&gt;</strong></del>Co<del class="diffchar deleted"><strong>py </strong></del>t<del class="diffchar deleted"><strong>o</strong></del> <del class="diffchar deleted"><strong>clipb</strong></del>oa<del class="diffchar deleted"><strong>rd</strong></del>&lt;/<del class="diffchar deleted"><strong>sp</strong></del>a<del class="diffchar deleted"><strong>n</strong></del>&gt;&lt;/div&gt;&lt;<del class="diffchar deleted"><strong>pre</strong></del> class=&quot;<del class="diffchar deleted"><strong>codelisti</strong></del>n<del class="diffchar deleted"><strong>g&quot;</strong></del> <del class="diffchar deleted"><strong> d</strong></del>ata<del class="diffchar deleted"><strong>-theme=&quot;off</strong></del>&quot; <del class="diffchar deleted"><strong> </strong></del>da<del class="diffchar deleted"><strong>ta</strong></del>-s<del class="diffchar deleted"><strong>y</strong></del>nta<del class="diffchar deleted"><strong>x=&quot;</strong></del>s<del class="diffchar deleted"><strong>h</strong></del>ell&quot;<del class="diffchar deleted"><strong>  d</strong></del>ata<del class="diffchar deleted"><strong>-wr</strong></del>a<del class="diffchar deleted"><strong>p</strong></del>=&quot;<del class="diffchar deleted"><strong>1&quot;</strong></del> <del class="diffchar deleted"><strong> d</strong></del>ir=&quot;<del class="diffchar deleted"><strong>l</strong></del>tr&quot; <del class="diffchar deleted"><strong> </strong></del>st<del class="diffchar deleted"><strong>y</strong></del>le=&quot;<del class="diffchar deleted"><strong>whi</strong></del>t<del class="diffchar deleted"><strong>e-sp</strong></del>a<del class="diffchar deleted"><strong>ce:p</strong></del>re-<del class="diffchar deleted"><strong>w</strong></del>r<del class="diffchar deleted"><strong>ap; ov</strong></del>e<del class="diffchar deleted"><strong>rf</strong></del>l<del class="diffchar deleted"><strong>ow-wr</strong></del>a<del class="diffchar deleted"><strong>p: br</strong></del>ea<del class="diffchar deleted"><strong>k-word;</strong></del> <del class="diffchar deleted"><strong>word-wr</strong></del>a<del class="diffchar deleted"><strong>p: bre</strong></del>a<del class="diffchar deleted"><strong>k</strong></del>-<del class="diffchar deleted"><strong>word;&quot; </strong></del>i<del class="diffchar deleted"><strong>d=&quot;cod</strong></del>e<del class="diffchar deleted"><strong>box46</strong></del>&quot;<del class="diffchar deleted"><strong> </strong></del>&gt;&lt;<del class="diffchar deleted"><strong>div</strong></del> class=&quot;co<del class="diffchar deleted"><strong>d</strong></del>e&quot;<del class="diffchar deleted"><strong>&gt;php</strong></del> d<del class="diffchar deleted"><strong>oc/dev</strong></del>to<del class="diffchar deleted"><strong>o</strong></del>l<del class="diffchar deleted"><strong>s/r</strong></del>eleas<del class="diffchar deleted"><strong>e.php 26.1</strong></del>&lt;/<del class="diffchar deleted"><strong>d</strong></del>i<del class="diffchar deleted"><strong>v</strong></del>&gt;&lt;/<del class="diffchar deleted"><strong>pre</strong></del>&gt;&lt;/div&gt;<del class="diffchar deleted"><strong><br></strong></del>&lt;<del class="diffchar deleted"><strong>p&gt;(rep</strong></del>lace<del class="diffchar deleted"><strong> 26.1 wi</strong></del>t<del class="diffchar deleted"><strong>h</strong></del> <del class="diffchar deleted"><strong>th</strong></del>e<del class="diffchar deleted"><strong> co</strong></del>r<del class="diffchar deleted"><strong>re</strong></del>s<del class="diffchar deleted"><strong>p</strong></del>ondi<del class="diffchar deleted"><strong>ng</strong></del> rel<del class="diffchar deleted"><strong>e</strong></del>ase ve<del class="diffchar deleted"><strong>rsion)</strong></del></blockquote><blockquote>+ &lt;div class=&quot;cl<ins class="diffchar inserted"><strong>earf</strong></ins>i<ins class="diffchar inserted"><strong>x tab</strong></ins>s<ins class="diffchar inserted"><strong>&quot; da</strong></ins>t<ins class="diffchar inserted"><strong>a-</strong></ins>n<ins class="diffchar inserted"><strong>ame=&quot;versi</strong></ins>on<ins class="diffchar inserted"><strong>s_</strong></ins>ta<ins class="diffchar inserted"><strong>bs</strong></ins>e<ins class="diffchar inserted"><strong>t_3</strong></ins>&quot;&gt;&lt;div class=<ins class="diffchar inserted"><strong>&#039;fl</strong></ins>o<ins class="diffchar inserted"><strong>at-e</strong></ins>nd<ins class="diffchar inserted"><strong>&#039;&gt;&lt;</strong></ins>a cla<ins class="diffchar inserted"><strong>ss=</strong></ins>&quot;<ins class="diffchar inserted"><strong>btn</strong></ins> <ins class="diffchar inserted"><strong>b</strong></ins>t<ins class="diffchar inserted"><strong>n-prim</strong></ins>a<ins class="diffchar inserted"><strong>ry </strong></ins>b<ins class="diffchar inserted"><strong>t</strong></ins>n<ins class="diffchar inserted"><strong>-sm&quot; targ</strong></ins>e<ins class="diffchar inserted"><strong>t</strong></ins>=&quot;&quot; <ins class="diffchar inserted"><strong>role=&quot;button&quot;</strong></ins> data-<ins class="diffchar inserted"><strong>ro</strong></ins>l<ins class="diffchar inserted"><strong>e=&quot;</strong></ins>b<ins class="diffchar inserted"><strong>utt</strong></ins>o<ins class="diffchar inserted"><strong>n&quot; </strong></ins>d<ins class="diffchar inserted"><strong>a</strong></ins>ta<ins class="diffchar inserted"><strong>-inlin</strong></ins>e=&quot;<ins class="diffchar inserted"><strong>tru</strong></ins>e&quot; <ins class="diffchar inserted"><strong>  href=&quot;/tiki-wiki_r</strong></ins>s<ins class="diffchar inserted"><strong>s.</strong></ins>p<ins class="diffchar inserted"><strong>hp&quot;</strong></ins> <ins class="diffchar inserted"><strong>on</strong></ins>cl<ins class="diffchar inserted"><strong>ick</strong></ins>=&quot;<ins class="diffchar inserted"><strong>setC</strong></ins>oo<ins class="diffchar inserted"><strong>ki</strong></ins>e<ins class="diffchar inserted"><strong>(&#039;versions</strong></ins>_t<ins class="diffchar inserted"><strong>abset_3&#039;,&#039;n&#039;, &#039;tabs&#039;, &#039;sessi</strong></ins>o<ins class="diffchar inserted"><strong>n&#039;, wind</strong></ins>o<ins class="diffchar inserted"><strong>w.</strong></ins>ti<ins class="diffchar inserted"><strong>kiCooki</strong></ins>eCo<ins class="diffchar inserted"><strong>ns</strong></ins>t<ins class="diffchar inserted"><strong>ants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);&quot;</strong></ins> <ins class="diffchar inserted"><strong>&gt;N</strong></ins>o<ins class="diffchar inserted"><strong> T</strong></ins>a<ins class="diffchar inserted"><strong>bs</strong></ins>&lt;/a&gt;&lt;/div&gt;&lt;<ins class="diffchar inserted"><strong>ul</strong></ins> class=&quot;n<ins class="diffchar inserted"><strong>av</strong></ins> <ins class="diffchar inserted"><strong>n</strong></ins>a<ins class="diffchar inserted"><strong>v-</strong></ins>ta<ins class="diffchar inserted"><strong>bs</strong></ins>&quot; <ins class="diffchar inserted"><strong>i</strong></ins>d<ins class="diffchar inserted"><strong>=&quot;n</strong></ins>a<ins class="diffchar inserted"><strong>v</strong></ins>-<ins class="diffchar inserted"><strong>ver</strong></ins>s<ins class="diffchar inserted"><strong>io</strong></ins>n<ins class="diffchar inserted"><strong>s_</strong></ins>ta<ins class="diffchar inserted"><strong>b</strong></ins>se<ins class="diffchar inserted"><strong>t_3&quot;&gt;&lt;</strong></ins>l<ins class="diffchar inserted"><strong>i c</strong></ins>l<ins class="diffchar inserted"><strong>ass=</strong></ins>&quot;<ins class="diffchar inserted"><strong>n</strong></ins>a<ins class="diffchar inserted"><strong>v-i</strong></ins>t<ins class="diffchar inserted"><strong>em&quot;&gt;&lt;</strong></ins>a<ins class="diffchar inserted"><strong> cl</strong></ins>a<ins class="diffchar inserted"><strong>ss</strong></ins>=&quot;<ins class="diffchar inserted"><strong>nav-link</strong></ins> <ins class="diffchar inserted"><strong>act</strong></ins>i<ins class="diffchar inserted"><strong>ve&quot; h</strong></ins>r<ins class="diffchar inserted"><strong>ef</strong></ins>=&quot;<ins class="diffchar inserted"><strong>#con</strong></ins>t<ins class="diffchar inserted"><strong>entve</strong></ins>r<ins class="diffchar inserted"><strong>sions_tabset_3-1</strong></ins>&quot; <ins class="diffchar inserted"><strong>data-b</strong></ins>s<ins class="diffchar inserted"><strong>-</strong></ins>t<ins class="diffchar inserted"><strong>ogg</strong></ins>le=&quot;ta<ins class="diffchar inserted"><strong>b&quot;&gt;P</strong></ins>re-rel<ins class="diffchar inserted"><strong>e</strong></ins>a<ins class="diffchar inserted"><strong>s</strong></ins>e<ins class="diffchar inserted"><strong>&lt;/</strong></ins>a<ins class="diffchar inserted"><strong>&gt;&lt;/li&gt;&lt;li</strong></ins> <ins class="diffchar inserted"><strong>cl</strong></ins>a<ins class="diffchar inserted"><strong>ss=&quot;n</strong></ins>a<ins class="diffchar inserted"><strong>v</strong></ins>-i<ins class="diffchar inserted"><strong>t</strong></ins>e<ins class="diffchar inserted"><strong>m</strong></ins>&quot;&gt;&lt;<ins class="diffchar inserted"><strong>a</strong></ins> class=&quot;<ins class="diffchar inserted"><strong>nav-link &quot; href=&quot;#</strong></ins>co<ins class="diffchar inserted"><strong>nt</strong></ins>e<ins class="diffchar inserted"><strong>ntversions_tabset_3-2</strong></ins>&quot; d<ins class="diffchar inserted"><strong>ata-bs-</strong></ins>to<ins class="diffchar inserted"><strong>gg</strong></ins>l<ins class="diffchar inserted"><strong>e=&quot;tab&quot;&gt;R</strong></ins>eleas<ins class="diffchar inserted"><strong>ing</strong></ins>&lt;/<ins class="diffchar inserted"><strong>a&gt;&lt;/l</strong></ins>i&gt;&lt;/<ins class="diffchar inserted"><strong>ul</strong></ins>&gt;&lt;/div&gt;&lt;<ins class="diffchar inserted"><strong>div c</strong></ins>la<ins class="diffchar inserted"><strong>ss=&quot;tab-</strong></ins>c<ins class="diffchar inserted"><strong>ont</strong></ins>e<ins class="diffchar inserted"><strong>n</strong></ins>t<ins class="diffchar inserted"><strong>&quot;</strong></ins> <ins class="diffchar inserted"><strong>id=&quot;v-pills-v</strong></ins>ers<ins class="diffchar inserted"><strong>i</strong></ins>on<ins class="diffchar inserted"><strong>s_tabset_3&quot;&gt;&lt;</strong></ins>di<ins class="diffchar inserted"><strong>v</strong></ins> <ins class="diffchar inserted"><strong>id=&#039;contentve</strong></ins>r<ins class="diffchar inserted"><strong>sions_tabs</strong></ins>e<ins class="diffchar inserted"><strong>t_3-1&#039; c</strong></ins>las<ins class="diffchar inserted"><strong>s=&#039;tab-pan</strong></ins>e <ins class="diffchar inserted"><strong>pt-3 acti</strong></ins>ve<ins class="diffchar inserted"><strong>&#039;&gt;                            &lt;p&gt;</strong></ins></blockquote><blockquote>- <del class="diffchar deleted"><strong><br>&lt;p&gt;Note: For Tiki 31 and later We don&#039;t need this anymore since Secdb got temporary disabled,<br>&lt;br /&gt;If the previous command fails at the secdb file creation step, you may need to run the release command providing your MySQL credentials for the script to successfully create the secdb file for you.<br>&lt;/p&gt;<br><br>&lt;div class=&quot;codecaption&quot;&gt;Unnecessary for Tiki31 and later&lt;/div&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox47&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox47&quot; &gt;&lt;div class=&quot;code&quot;&gt;php -d mysqli.default_host=HOST -d mysqli.default_user=USER -d mysqli.default_pw=PASS doc/devtools/release.php 28.2&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;p&gt;<br>&lt;br /&gt;(replace the version number with the corresponding release version)<br>&lt;/p&gt;<br><br>&lt;p&gt;Note: Do not run this command first. Before running it, please start with the creation of pre-release packages as described in the next step.<br>&lt;/p&gt;<br>&lt;hr /&gt;<br></strong></del>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Create_and_test_pre-release_packages&quot;&gt;<del class="diffchar deleted"><strong>1.2.5. </strong></del> Create and test pre-release&amp;nbsp;packages&lt;a href=&quot;#Create_and_test_pre-release_packages&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>+ &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Create_and_test_pre-release_packages&quot;&gt; Create and test pre-release&amp;nbsp;packages&lt;a href=&quot;#Create_and_test_pre-release_packages&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>4</strong></del>8&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>4</strong></del>8&quot; &gt;&lt;div class=&quot;code&quot;&gt;php8.1 doc/devtools/release.php 29.<br> preRC1  --devmode&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>2</strong></ins>8&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>2</strong></ins>8&quot; &gt;&lt;div class=&quot;code&quot;&gt;php8.1 doc/devtools/release.php 29.<br> preRC1  --devmode&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>4</strong></del>9&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>4</strong></del>9&quot; &gt;&lt;div class=&quot;code&quot;&gt;php8.1 doc/devtools/release.php 29.1 pre --devmode&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;p<del class="diffchar deleted"><strong>&gt;<br>&lt;br /</strong></del>&gt;&lt;em&gt;Note: Use the command for the version of PHP which is the minimum spec for that branch. In this case we need PHP 7.<del class="diffchar deleted"><strong>1</strong></del> for Tiki <del class="diffchar deleted"><strong>19</strong></del>.x<del class="diffchar deleted"><strong>, 5.6</strong></del> for <del class="diffchar deleted"><strong>18.x </strong></del>and <del class="diffchar deleted"><strong>15.x</strong></del> an<del class="diffchar deleted"><strong>d</strong></del> <del class="diffchar deleted"><strong>5.</strong></del>3 <del class="diffchar deleted"><strong>f</strong></del>or <del class="diffchar deleted"><strong>12</strong></del>.<del class="diffchar deleted"><strong>x,</strong></del> for instance&lt;/<del class="diffchar deleted"><strong>em</strong></del>&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>2</strong></ins>9&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>2</strong></ins>9&quot; &gt;&lt;div class=&quot;code&quot;&gt;php8.1 doc/devtools/release.php 29.1 pre --devmode&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;p&gt;&lt;em&gt;Note: Use the command for the version of PHP which is the minimum spec for that branch. In this case we need PHP 7.<ins class="diffchar inserted"><strong>4</strong></ins> for Tiki <ins class="diffchar inserted"><strong>24</strong></ins>.x for <ins class="diffchar inserted"><strong>inst</strong></ins>an<ins class="diffchar inserted"><strong>ce&lt;/em&gt;<br>&lt;br /&gt;<br>                    &lt;/</strong></ins>d<ins class="diffchar inserted"><strong>iv&gt;</strong></ins>  <ins class="diffchar inserted"><strong>          &lt;div id=&#039;contentversions_tabset_3-2&#039; class=&#039;tab-p</strong></ins>an<ins class="diffchar inserted"><strong>e</strong></ins> <ins class="diffchar inserted"><strong>pt-</strong></ins>3 <ins class="diffchar inserted"><strong>&#039;&gt;                            <br>&lt;br /&gt;&lt;str</strong></ins>o<ins class="diffchar inserted"><strong>ng&gt;Note: Do not </strong></ins>r<ins class="diffchar inserted"><strong>un</strong></ins> <ins class="diffchar inserted"><strong>this command first</strong></ins>. <ins class="diffchar inserted"><strong>Be</strong></ins>for<ins class="diffchar inserted"><strong>e</strong></ins> <ins class="diffchar inserted"><strong>runn</strong></ins>in<ins class="diffchar inserted"><strong>g it, please </strong></ins>sta<ins class="diffchar inserted"><strong>rt with the creatio</strong></ins>n<ins class="diffchar inserted"><strong> of pre-release pa</strong></ins>c<ins class="diffchar inserted"><strong>kag</strong></ins>e<ins class="diffchar inserted"><strong>s as described in the first tab.</strong></ins>&lt;/<ins class="diffchar inserted"><strong>strong</strong></ins>&gt;</blockquote><blockquote>- <p>The release script has an interactive mode, enabled by default, that will ask you if you really want to do each step. It also asks for a confirmation before committing any changes. You can have a look at them with another shell by using this command:</blockquote><blockquote>- </p></blockquote><blockquote>- <div class="codecaption">Check for changes made by the release script before validating commits</div><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox50" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox50" ><div class="code">git  status</blockquote><blockquote>- git  diff</div></pre></div></blockquote><blockquote>- &lt;<del class="diffchar deleted"><strong>h4</strong></del> class=&quot;<del class="diffchar deleted"><strong>sh</strong></del>o<del class="diffchar deleted"><strong>whi</strong></del>de<del class="diffchar deleted"><strong>_head</strong></del>i<del class="diffchar deleted"><strong>ng d-flex ju</strong></del>sti<del class="diffchar deleted"><strong>fy-</strong></del>conte<del class="diffchar deleted"><strong>nt-sta</strong></del>r<del class="diffchar deleted"><strong>t</strong></del>&quot;<del class="diffchar deleted"><strong> i</strong></del>d=&quot;<del class="diffchar deleted"><strong>Che</strong></del>c<del class="diffchar deleted"><strong>k_the_ge</strong></del>n<del class="diffchar deleted"><strong>erated</strong></del>_<del class="diffchar deleted"><strong>README</strong></del>_<del class="diffchar deleted"><strong>file&quot;&gt;1.2.5.1.  Che</strong></del>c<del class="diffchar deleted"><strong>k th</strong></del>e <del class="diffchar deleted"><strong>gener</strong></del>a<del class="diffchar deleted"><strong>ted</strong></del> <del class="diffchar deleted"><strong>README&amp;nbsp;</strong></del>fi<del class="diffchar deleted"><strong>le&lt;</strong></del>a<del class="diffchar deleted"><strong> h</strong></del>r<del class="diffchar deleted"><strong>ef=</strong></del>&quot;<del class="diffchar deleted"><strong>#Check_</strong></del>t<del class="diffchar deleted"><strong>he_ge</strong></del>n<del class="diffchar deleted"><strong>erate</strong></del>d<del class="diffchar deleted"><strong>_README_fil</strong></del>e&quot; <del class="diffchar deleted"><strong>cl</strong></del>a<del class="diffchar deleted"><strong>ss=&quot;he</strong></del>a<del class="diffchar deleted"><strong>ding</strong></del>-li<del class="diffchar deleted"><strong>nk&quot; </strong></del>ar<del class="diffchar deleted"><strong>ia</strong></del>-<del class="diffchar deleted"><strong>l</strong></del>a<del class="diffchar deleted"><strong>b</strong></del>e<del class="diffchar deleted"><strong>l</strong></del>=&quot;<del class="diffchar deleted"><strong>h</strong></del>e<del class="diffchar deleted"><strong>ading</strong></del> <del class="diffchar deleted"><strong>link&quot;</strong></del>&gt;&lt;span class=&quot;<del class="diffchar deleted"><strong>i</strong></del>co<del class="diffchar deleted"><strong>n i</strong></del>co<del class="diffchar deleted"><strong>n-</strong></del>li<del class="diffchar deleted"><strong>nk</strong></del> <del class="diffchar deleted"><strong>fas</strong></del> <del class="diffchar deleted"><strong>fa-</strong></del>li<del class="diffchar deleted"><strong>nk &quot;   &gt;</strong></del>&lt;/span&gt;&lt;/<del class="diffchar deleted"><strong>a</strong></del>&gt;<del class="diffchar deleted"><strong>&lt;/h4&gt;<br></strong></del>&lt;p<del class="diffchar deleted"><strong>&gt;&lt;st</strong></del>ro<del class="diffchar deleted"><strong>ng&gt;Not</strong></del>e<del class="diffchar deleted"><strong>&lt;/</strong></del>st<del class="diffchar deleted"><strong>ro</strong></del>ng<del class="diffchar deleted"><strong>&gt;:</strong></del> <del class="diffchar deleted"><strong>F</strong></del>o<del class="diffchar deleted"><strong>r</strong></del> <del class="diffchar deleted"><strong>Tiki 3<br></strong></del> and l<del class="diffchar deleted"><strong>a</strong></del>t<del class="diffchar deleted"><strong>e</strong></del>r<del class="diffchar deleted"><strong>,</strong></del> thi<del class="diffchar deleted"><strong>s s</strong></del>tep<del class="diffchar deleted"><strong> </strong></del>ca<del class="diffchar deleted"><strong>n</strong></del> <del class="diffchar deleted"><strong>b</strong></del>e <del class="diffchar deleted"><strong>s</strong></del>k<del class="diffchar deleted"><strong>ip</strong></del>ped<del class="diffchar deleted"><strong>.</strong></del> <del class="diffchar deleted"><strong>Th</strong></del>e <del class="diffchar deleted"><strong>README </strong></del>i<del class="diffchar deleted"><strong>s</strong></del> <del class="diffchar deleted"><strong>n</strong></del>o <del class="diffchar deleted"><strong>l</strong></del>o<del class="diffchar deleted"><strong>ng</strong></del>er<del class="diffchar deleted"><strong> g</strong></del>e<del class="diffchar deleted"><strong>n</strong></del>e<del class="diffchar deleted"><strong>r</strong></del>a<del class="diffchar deleted"><strong>t</strong></del>e<del class="diffchar deleted"><strong>d</strong></del> pe<del class="diffchar deleted"><strong>r </strong></del>rel<del class="diffchar deleted"><strong>e</strong></del>a<del class="diffchar deleted"><strong>s</strong></del>e<del class="diffchar deleted"><strong>;</strong></del> th<del class="diffchar deleted"><strong>e</strong></del> <del class="diffchar deleted"><strong>v</strong></del>e<del class="diffchar deleted"><strong>rsion</strong></del> <del class="diffchar deleted"><strong>fr</strong></del>o<del class="diffchar deleted"><strong>m maste</strong></del>r<del class="diffchar deleted"><strong> (t</strong></del>r<del class="diffchar deleted"><strong>u</strong></del>n<del class="diffchar deleted"><strong>k) </strong></del>i<del class="diffchar deleted"><strong>s</strong></del> <del class="diffchar deleted"><strong>sha</strong></del>re<del class="diffchar deleted"><strong>d </strong></del>a<del class="diffchar deleted"><strong>cros</strong></del>s version<del class="diffchar deleted"><strong>s.</strong></del></blockquote><blockquote>+ &lt;<ins class="diffchar inserted"><strong>div</strong></ins> class=&quot;<ins class="diffchar inserted"><strong>c</strong></ins>ode<ins class="diffchar inserted"><strong>l</strong></ins>isti<ins class="diffchar inserted"><strong>ng_</strong></ins>cont<ins class="diffchar inserted"><strong>ain</strong></ins>er&quot;<ins class="diffchar inserted"><strong>&gt;&lt;</strong></ins>d<ins class="diffchar inserted"><strong>iv class</strong></ins>=&quot;<ins class="diffchar inserted"><strong>i</strong></ins>c<ins class="diffchar inserted"><strong>o</strong></ins>n_<ins class="diffchar inserted"><strong>copy</strong></ins>_c<ins class="diffchar inserted"><strong>od</strong></ins>e <ins class="diffchar inserted"><strong>f</strong></ins>a<ins class="diffchar inserted"><strong>r</strong></ins> f<ins class="diffchar inserted"><strong>a-cl</strong></ins>i<ins class="diffchar inserted"><strong>pbo</strong></ins>ar<ins class="diffchar inserted"><strong>d</strong></ins>&quot;<ins class="diffchar inserted"><strong> </strong></ins>t<ins class="diffchar inserted"><strong>abi</strong></ins>nde<ins class="diffchar inserted"><strong>x=&quot;<br></strong></ins>&quot; <ins class="diffchar inserted"><strong> d</strong></ins>a<ins class="diffchar inserted"><strong>t</strong></ins>a-<ins class="diffchar inserted"><strong>c</strong></ins>li<ins class="diffchar inserted"><strong>pbo</strong></ins>ar<ins class="diffchar inserted"><strong>d</strong></ins>-<ins class="diffchar inserted"><strong>t</strong></ins>a<ins class="diffchar inserted"><strong>rg</strong></ins>e<ins class="diffchar inserted"><strong>t</strong></ins>=&quot;<ins class="diffchar inserted"><strong>#cod</strong></ins>e<ins class="diffchar inserted"><strong>box3<br>&quot;</strong></ins> &gt;&lt;span class=&quot;co<ins class="diffchar inserted"><strong>py_</strong></ins>co<ins class="diffchar inserted"><strong>de_too</strong></ins>l<ins class="diffchar inserted"><strong>t</strong></ins>i<ins class="diffchar inserted"><strong>ptext&quot;&gt;Copy</strong></ins> <ins class="diffchar inserted"><strong>to</strong></ins> <ins class="diffchar inserted"><strong>c</strong></ins>li<ins class="diffchar inserted"><strong>pboard</strong></ins>&lt;/span&gt;&lt;/<ins class="diffchar inserted"><strong>div</strong></ins>&gt;&lt;pr<ins class="diffchar inserted"><strong>e class=&quot;c</strong></ins>o<ins class="diffchar inserted"><strong>d</strong></ins>e<ins class="diffchar inserted"><strong>li</strong></ins>st<ins class="diffchar inserted"><strong>i</strong></ins>ng<ins class="diffchar inserted"><strong>&quot;</strong></ins> <ins class="diffchar inserted"><strong> data-theme=&quot;</strong></ins>o<ins class="diffchar inserted"><strong>ff&quot;</strong></ins>  <ins class="diffchar inserted"><strong>d</strong></ins>a<ins class="diffchar inserted"><strong>ta-sy</strong></ins>n<ins class="diffchar inserted"><strong>tax=&quot;shell&quot;  </strong></ins>d<ins class="diffchar inserted"><strong>ata-wrap=&quot;1&quot;</strong></ins> <ins class="diffchar inserted"><strong> dir=&quot;</strong></ins>ltr<ins class="diffchar inserted"><strong>&quot;</strong></ins> <ins class="diffchar inserted"><strong> s</strong></ins>t<ins class="diffchar inserted"><strong>yle=&quot;w</strong></ins>hite<ins class="diffchar inserted"><strong>-s</strong></ins>p<ins class="diffchar inserted"><strong>a</strong></ins>c<ins class="diffchar inserted"><strong>e:pre-wr</strong></ins>a<ins class="diffchar inserted"><strong>p;</strong></ins> <ins class="diffchar inserted"><strong>ov</strong></ins>e<ins class="diffchar inserted"><strong>rflow-wrap:</strong></ins> <ins class="diffchar inserted"><strong>brea</strong></ins>k<ins class="diffchar inserted"><strong>-word; word-wra</strong></ins>p<ins class="diffchar inserted"><strong>: br</strong></ins>e<ins class="diffchar inserted"><strong>ak-wor</strong></ins>d<ins class="diffchar inserted"><strong>;&quot;</strong></ins> <ins class="diffchar inserted"><strong>id=&quot;cod</strong></ins>e<ins class="diffchar inserted"><strong>box3<br>&quot;</strong></ins> <ins class="diffchar inserted"><strong>&gt;&lt;d</strong></ins>i<ins class="diffchar inserted"><strong>v</strong></ins> <ins class="diffchar inserted"><strong>class=&quot;c</strong></ins>o<ins class="diffchar inserted"><strong>de&quot;&gt;php</strong></ins> <ins class="diffchar inserted"><strong>d</strong></ins>o<ins class="diffchar inserted"><strong>c/d</strong></ins>e<ins class="diffchar inserted"><strong>vtools/</strong></ins>re<ins class="diffchar inserted"><strong>l</strong></ins>ea<ins class="diffchar inserted"><strong>s</strong></ins>e<ins class="diffchar inserted"><strong>.php</strong></ins> <ins class="diffchar inserted"><strong>26.1&lt;/div&gt;&lt;/</strong></ins>p<ins class="diffchar inserted"><strong>r</strong></ins>e<ins class="diffchar inserted"><strong>&gt;&lt;/div&gt;<br>&lt;p&gt;(</strong></ins>re<ins class="diffchar inserted"><strong>p</strong></ins>la<ins class="diffchar inserted"><strong>c</strong></ins>e <ins class="diffchar inserted"><strong>26.1 wi</strong></ins>th <ins class="diffchar inserted"><strong>th</strong></ins>e <ins class="diffchar inserted"><strong>c</strong></ins>orr<ins class="diffchar inserted"><strong>espo</strong></ins>n<ins class="diffchar inserted"><strong>d</strong></ins>i<ins class="diffchar inserted"><strong>ng</strong></ins> re<ins class="diffchar inserted"><strong>le</strong></ins>as<ins class="diffchar inserted"><strong>e</strong></ins> version<ins class="diffchar inserted"><strong>)</strong></ins></blockquote><blockquote>- &lt;<del class="diffchar deleted"><strong>ul</strong></del>&gt;&lt;<del class="diffchar deleted"><strong>li</strong></del>&gt; <del class="diffchar deleted"><strong>Chec</strong></del>k<del class="diffchar deleted"><strong> l</strong></del>in<del class="diffchar deleted"><strong>ks/con</strong></del>tent <del class="diffchar deleted"><strong>i</strong></del>n th<del class="diffchar deleted"><strong>e</strong></del> <del class="diffchar deleted"><strong>g</strong></del>ene<del class="diffchar deleted"><strong>rat</strong></del>ed <del class="diffchar deleted"><strong>README</strong></del> <del class="diffchar deleted"><strong>f</strong></del>ile<del class="diffchar deleted"><strong><br></strong></del>&lt;/<del class="diffchar deleted"><strong>li</strong></del>&gt;&lt;<del class="diffchar deleted"><strong>/ul&gt;&lt;h</strong></del>r /&gt;<del class="diffchar deleted"><strong><br>&lt;</strong></del>h<del class="diffchar deleted"><strong>3</strong></del> c<del class="diffchar deleted"><strong>l</strong></del>as<del class="diffchar deleted"><strong>s=&quot;s</strong></del>h<del class="diffchar deleted"><strong>owhid</strong></del>e<del class="diffchar deleted"><strong>_h</strong></del>e<del class="diffchar deleted"><strong>a</strong></del>d<del class="diffchar deleted"><strong>ing</strong></del> <del class="diffchar deleted"><strong>d-</strong></del>fle<del class="diffchar deleted"><strong>x</strong></del> <del class="diffchar deleted"><strong>jus</strong></del>ti<del class="diffchar deleted"><strong>fy-c</strong></del>on<del class="diffchar deleted"><strong>tent-</strong></del>sta<del class="diffchar deleted"><strong>rt&quot;</strong></del> <del class="diffchar deleted"><strong>i</strong></del>d<del class="diffchar deleted"><strong>=&quot;La</strong></del>un<del class="diffchar deleted"><strong>ch_</strong></del>the<del class="diffchar deleted"><strong>_</strong></del>release<del class="diffchar deleted"><strong>_s</strong></del>cri<del class="diffchar deleted"><strong>pt_aga</strong></del>in<del class="diffchar deleted"><strong>&quot;&gt;1.2.6.</strong></del>  L<del class="diffchar deleted"><strong>aun</strong></del>c<del class="diffchar deleted"><strong>h the </strong></del>re<del class="diffchar deleted"><strong>l</strong></del>ease script<del class="diffchar deleted"><strong>&amp;nb</strong></del>s<del class="diffchar deleted"><strong>p;again&lt;a hr</strong></del>ef<del class="diffchar deleted"><strong>=&quot;#La</strong></del>u<del class="diffchar deleted"><strong>n</strong></del>c<del class="diffchar deleted"><strong>h_the_</strong></del>r<del class="diffchar deleted"><strong>el</strong></del>ea<del class="diffchar deleted"><strong>s</strong></del>e<del class="diffchar deleted"><strong>_</strong></del>sc<del class="diffchar deleted"><strong>r</strong></del>ip<del class="diffchar deleted"><strong>t_aga</strong></del>i<del class="diffchar deleted"><strong>n&quot;</strong></del> class=&quot;<del class="diffchar deleted"><strong>h</strong></del>ea<del class="diffchar deleted"><strong>d</strong></del>in<del class="diffchar deleted"><strong>g-link</strong></del>&quot;<del class="diffchar deleted"><strong> </strong></del>aria<del class="diffchar deleted"><strong>-</strong></del>la<del class="diffchar deleted"><strong>b</strong></del>el=&quot;<del class="diffchar deleted"><strong>hea</strong></del>ding<del class="diffchar deleted"><strong> l</strong></del>in<del class="diffchar deleted"><strong>k</strong></del>&quot;&gt;&lt;<del class="diffchar deleted"><strong>span</strong></del> class=&quot;icon<del class="diffchar deleted"><strong> i</strong></del>co<del class="diffchar deleted"><strong>n-link</strong></del> fa<del class="diffchar deleted"><strong>s</strong></del> fa-li<del class="diffchar deleted"><strong>nk</strong></del> &quot;   &gt;&lt;<del class="diffchar deleted"><strong>/</strong></del>span&gt;&lt;/a&gt;&lt;/<del class="diffchar deleted"><strong>h3</strong></del>&gt;<del class="diffchar deleted"><strong><br></strong></del>&lt;p<del class="diffchar deleted"><strong>&gt;Afte</strong></del>r <del class="diffchar deleted"><strong>t</strong></del>esting<del class="diffchar deleted"><strong>,</strong></del> <del class="diffchar deleted"><strong>l</strong></del>a<del class="diffchar deleted"><strong>u</strong></del>n<del class="diffchar deleted"><strong>c</strong></del>h the release scrip<del class="diffchar deleted"><strong>t</strong></del> a<del class="diffchar deleted"><strong>ga</strong></del>in<del class="diffchar deleted"><strong>,</strong></del> n<del class="diffchar deleted"><strong>ow</strong></del> with<del class="diffchar deleted"><strong>ou</strong></del>t <del class="diffchar deleted"><strong>&quot;</strong></del>pre<del class="diffchar deleted"><strong>&quot;:</strong></del></blockquote><blockquote>+ &lt;<ins class="diffchar inserted"><strong>p</strong></ins>&gt;<ins class="diffchar inserted"><strong>Note: </strong></ins>&lt;<ins class="diffchar inserted"><strong>strong</strong></ins>&gt;<ins class="diffchar inserted"><strong>For</strong></ins> <ins class="diffchar inserted"><strong>Ti</strong></ins>ki<ins class="diffchar inserted"><strong> 31 a</strong></ins>n<ins class="diffchar inserted"><strong>d la</strong></ins>te<ins class="diffchar inserted"><strong>r We do</strong></ins>n<ins class="diffchar inserted"><strong>&#039;</strong></ins>t n<ins class="diffchar inserted"><strong>eed</strong></ins> th<ins class="diffchar inserted"><strong>is</strong></ins> <ins class="diffchar inserted"><strong>anymor</strong></ins>e<ins class="diffchar inserted"><strong> si</strong></ins>n<ins class="diffchar inserted"><strong>c</strong></ins>e<ins class="diffchar inserted"><strong> S</strong></ins>e<ins class="diffchar inserted"><strong>c</strong></ins>d<ins class="diffchar inserted"><strong>b</strong></ins> <ins class="diffchar inserted"><strong>got</strong></ins> <ins class="diffchar inserted"><strong>temporary d</strong></ins>i<ins class="diffchar inserted"><strong>sab</strong></ins>le<ins class="diffchar inserted"><strong>d,</strong></ins>&lt;/<ins class="diffchar inserted"><strong>strong</strong></ins>&gt;<ins class="diffchar inserted"><strong><br></strong></ins>&lt;<ins class="diffchar inserted"><strong>b</strong></ins>r /&gt;<ins class="diffchar inserted"><strong>If t</strong></ins>h<ins class="diffchar inserted"><strong>e previous</strong></ins> c<ins class="diffchar inserted"><strong>omm</strong></ins>a<ins class="diffchar inserted"><strong>nd fail</strong></ins>s<ins class="diffchar inserted"><strong> at t</strong></ins>he<ins class="diffchar inserted"><strong> s</strong></ins>e<ins class="diffchar inserted"><strong>c</strong></ins>d<ins class="diffchar inserted"><strong>b</strong></ins> f<ins class="diffchar inserted"><strong>i</strong></ins>le <ins class="diffchar inserted"><strong>crea</strong></ins>tion<ins class="diffchar inserted"><strong> </strong></ins>st<ins class="diffchar inserted"><strong>ep, you m</strong></ins>a<ins class="diffchar inserted"><strong>y</strong></ins> <ins class="diffchar inserted"><strong>nee</strong></ins>d<ins class="diffchar inserted"><strong> to r</strong></ins>un<ins class="diffchar inserted"><strong> </strong></ins>the<ins class="diffchar inserted"><strong> </strong></ins>release<ins class="diffchar inserted"><strong> </strong></ins>c<ins class="diffchar inserted"><strong>ommand p</strong></ins>r<ins class="diffchar inserted"><strong>ov</strong></ins>i<ins class="diffchar inserted"><strong>d</strong></ins>in<ins class="diffchar inserted"><strong>g</strong></ins> <ins class="diffchar inserted"><strong>your</strong></ins> <ins class="diffchar inserted"><strong>MySQ</strong></ins>L<ins class="diffchar inserted"><strong> </strong></ins>cre<ins class="diffchar inserted"><strong>d</strong></ins>e<ins class="diffchar inserted"><strong>nti</strong></ins>a<ins class="diffchar inserted"><strong>l</strong></ins>s<ins class="diffchar inserted"><strong> for th</strong></ins>e script<ins class="diffchar inserted"><strong> to </strong></ins>s<ins class="diffchar inserted"><strong>ucc</strong></ins>e<ins class="diffchar inserted"><strong>ss</strong></ins>fu<ins class="diffchar inserted"><strong>lly </strong></ins>crea<ins class="diffchar inserted"><strong>t</strong></ins>e<ins class="diffchar inserted"><strong> the </strong></ins>s<ins class="diffchar inserted"><strong>e</strong></ins>c<ins class="diffchar inserted"><strong>db f</strong></ins>i<ins class="diffchar inserted"><strong>le for you.<br>&lt;/</strong></ins>p<ins class="diffchar inserted"><strong>&gt;<br><br>&lt;d</strong></ins>i<ins class="diffchar inserted"><strong>v</strong></ins> class=&quot;<ins class="diffchar inserted"><strong>cod</strong></ins>e<ins class="diffchar inserted"><strong>c</strong></ins>a<ins class="diffchar inserted"><strong>pt</strong></ins>i<ins class="diffchar inserted"><strong>o</strong></ins>n&quot;<ins class="diffchar inserted"><strong>&gt;Unnecess</strong></ins>ar<ins class="diffchar inserted"><strong>y for T</strong></ins>i<ins class="diffchar inserted"><strong>ki31 </strong></ins>a<ins class="diffchar inserted"><strong>nd </strong></ins>la<ins class="diffchar inserted"><strong>t</strong></ins>e<ins class="diffchar inserted"><strong>r&lt;/div&gt;&lt;div c</strong></ins>l<ins class="diffchar inserted"><strong>ass</strong></ins>=&quot;<ins class="diffchar inserted"><strong>co</strong></ins>d<ins class="diffchar inserted"><strong>elist</strong></ins>ing<ins class="diffchar inserted"><strong>_conta</strong></ins>in<ins class="diffchar inserted"><strong>er</strong></ins>&quot;&gt;&lt;<ins class="diffchar inserted"><strong>div</strong></ins> class=&quot;icon<ins class="diffchar inserted"><strong>_</strong></ins>co<ins class="diffchar inserted"><strong>py_code</strong></ins> fa<ins class="diffchar inserted"><strong>r</strong></ins> fa-<ins class="diffchar inserted"><strong>c</strong></ins>li<ins class="diffchar inserted"><strong>pboard&quot;</strong></ins> <ins class="diffchar inserted"><strong>tabindex=&quot;<br></strong></ins>&quot;  <ins class="diffchar inserted"><strong>data-clipboard-target=&quot;#codebox31&quot;</strong></ins> &gt;&lt;span<ins class="diffchar inserted"><strong> class=&quot;copy_code_tooltiptext&quot;</strong></ins>&gt;<ins class="diffchar inserted"><strong>Copy to clipboard</strong></ins>&lt;/<ins class="diffchar inserted"><strong>sp</strong></ins>a<ins class="diffchar inserted"><strong>n</strong></ins>&gt;&lt;/<ins class="diffchar inserted"><strong>div</strong></ins>&gt;&lt;pr<ins class="diffchar inserted"><strong>e</strong></ins> <ins class="diffchar inserted"><strong>class=&quot;cod</strong></ins>e<ins class="diffchar inserted"><strong>li</strong></ins>sting<ins class="diffchar inserted"><strong>&quot;</strong></ins> <ins class="diffchar inserted"><strong> d</strong></ins>a<ins class="diffchar inserted"><strong>ta-theme=&quot;off&quot;  data-sy</strong></ins>n<ins class="diffchar inserted"><strong>tax=&quot;s</strong></ins>h<ins class="diffchar inserted"><strong>ell&quot;</strong></ins> <ins class="diffchar inserted"><strong> da</strong></ins>t<ins class="diffchar inserted"><strong>a-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;w</strong></ins>h<ins class="diffchar inserted"><strong>it</strong></ins>e<ins class="diffchar inserted"><strong>-space:pre-wrap;</strong></ins> <ins class="diffchar inserted"><strong>overflow-wrap: b</strong></ins>re<ins class="diffchar inserted"><strong>ak-word; word-wrap: break-word;&quot; id=&quot;codebox31&quot; &gt;&lt;div c</strong></ins>l<ins class="diffchar inserted"><strong>ass=&quot;cod</strong></ins>e<ins class="diffchar inserted"><strong>&quot;&gt;php -d mysqli.def</strong></ins>a<ins class="diffchar inserted"><strong>ult_ho</strong></ins>s<ins class="diffchar inserted"><strong>t=HOST -d mysqli.d</strong></ins>e<ins class="diffchar inserted"><strong>fault_user=USER</strong></ins> <ins class="diffchar inserted"><strong>-d my</strong></ins>s<ins class="diffchar inserted"><strong>qli.default_pw=PASS do</strong></ins>c<ins class="diffchar inserted"><strong>/devtools/</strong></ins>r<ins class="diffchar inserted"><strong>elease.php 28.2&lt;/d</strong></ins>i<ins class="diffchar inserted"><strong>v&gt;&lt;/</strong></ins>p<ins class="diffchar inserted"><strong>re&gt;&lt;/div&gt;</strong></ins> <ins class="diffchar inserted"><strong>(repl</strong></ins>a<ins class="diffchar inserted"><strong>ce the vers</strong></ins>i<ins class="diffchar inserted"><strong>o</strong></ins>n n<ins class="diffchar inserted"><strong>umber</strong></ins> with<ins class="diffchar inserted"><strong> </strong></ins>t<ins class="diffchar inserted"><strong>he</strong></ins> <ins class="diffchar inserted"><strong>corres</strong></ins>p<ins class="diffchar inserted"><strong>onding </strong></ins>re<ins class="diffchar inserted"><strong>lease version)<br>&lt;p&gt;or</strong></ins></blockquote><blockquote>- &lt;div class=&quot;codecaption&quot;&gt;Unnecessary for Tiki31 and later, use simplified command instead&lt;/div&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>51</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>51</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php -d mysqli.default_host=HOST -d mysqli.default_user=USER -d mysqli.default_pw=PASS doc/devtools/release.php 29.<br> RC1&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codecaption&quot;&gt;Unnecessary for Tiki31 and later, use simplified command instead&lt;/div&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>32</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>32</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php -d mysqli.default_host=HOST -d mysqli.default_user=USER -d mysqli.default_pw=PASS doc/devtools/release.php 29.<br> RC1&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;br /&gt;<del class="diffchar deleted"><strong>O</strong></del>r</blockquote><blockquote>+ &lt;br /&gt;<ins class="diffchar inserted"><strong>The </strong></ins>r<ins class="diffchar inserted"><strong>elease script has an interactive mode, enabled by default, that will ask you if you really want to do each step. It also asks for a confirmation before committing any changes. You can have a look at them with another shell by using this command:</strong></ins></blockquote><blockquote>- <del class="diffchar deleted"><strong><br></strong></del>&lt;div class=&quot;codecaption&quot;&gt;<del class="diffchar deleted"><strong>Unn</strong></del>ec<del class="diffchar deleted"><strong>essary</strong></del> for <del class="diffchar deleted"><strong>Tiki31 </strong></del>an<del class="diffchar deleted"><strong>d</strong></del> <del class="diffchar deleted"><strong>l</strong></del>ate<del class="diffchar deleted"><strong>r,</strong></del> <del class="diffchar deleted"><strong>u</strong></del>se si<del class="diffchar deleted"><strong>m</strong></del>p<del class="diffchar deleted"><strong>li</strong></del>f<del class="diffchar deleted"><strong>i</strong></del>ed comm<del class="diffchar deleted"><strong>and </strong></del>i<del class="diffchar deleted"><strong>ns</strong></del>t<del class="diffchar deleted"><strong>ead</strong></del>&lt;/div&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>52</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>52</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;<del class="diffchar deleted"><strong>php -d mysql</strong></del>i<del class="diffchar deleted"><strong>.defaul</strong></del>t<del class="diffchar deleted"><strong>_host=HOST</strong></del> <del class="diffchar deleted"><strong>-d</strong></del> <del class="diffchar deleted"><strong>my</strong></del>s<del class="diffchar deleted"><strong>qli.def</strong></del>a<del class="diffchar deleted"><strong>ul</strong></del>t<del class="diffchar deleted"><strong>_</strong></del>us<del class="diffchar deleted"><strong>er=USER</strong></del> <del class="diffchar deleted"><strong>-</strong></del>d<del class="diffchar deleted"><strong> mysql</strong></del>i<del class="diffchar deleted"><strong>.de</strong></del>f<del class="diffchar deleted"><strong>ault_pw=PASS doc/devtools/release.php 29.1</strong></del>&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;p&gt;Note: If you run the php command without specifying explitely the version as in the above commands, please make sure your CLI php version is set to the required one of the branch you are making the release for.</blockquote><blockquote>+ &lt;div class=&quot;codecaption&quot;&gt;<ins class="diffchar inserted"><strong>Ch</strong></ins>ec<ins class="diffchar inserted"><strong>k</strong></ins> for <ins class="diffchar inserted"><strong>ch</strong></ins>an<ins class="diffchar inserted"><strong>ges</strong></ins> <ins class="diffchar inserted"><strong>m</strong></ins>a<ins class="diffchar inserted"><strong>de by </strong></ins>t<ins class="diffchar inserted"><strong>h</strong></ins>e <ins class="diffchar inserted"><strong>relea</strong></ins>se s<ins class="diffchar inserted"><strong>cr</strong></ins>ip<ins class="diffchar inserted"><strong>t be</strong></ins>f<ins class="diffchar inserted"><strong>or</strong></ins>e<ins class="diffchar inserted"><strong> vali</strong></ins>d<ins class="diffchar inserted"><strong>ating</strong></ins> commit<ins class="diffchar inserted"><strong>s</strong></ins>&lt;/div&gt;&lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>33</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>33</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;<ins class="diffchar inserted"><strong>g</strong></ins>it  s<ins class="diffchar inserted"><strong>t</strong></ins>atus<ins class="diffchar inserted"><strong><br>git </strong></ins> dif<ins class="diffchar inserted"><strong>f</strong></ins>&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;<br>&lt;p<ins class="diffchar inserted"><strong>&gt;<br>&lt;br /</strong></ins>&gt;Note: If you run the php command without specifying explitely the version as in the above commands, please make sure your CLI php version is set to the required one of the branch you are making the release for.</blockquote><blockquote>- <del class="diffchar deleted"><strong>&lt;h4</strong></del> <del class="diffchar deleted"><strong>class=&quot;showhide_heading</strong></del> <del class="diffchar deleted"><strong>d-flex</strong></del> <del class="diffchar deleted"><strong>justify-content-start&quot;</strong></del> <del class="diffchar deleted"><strong>id=&quot;Troubleshooting&quot;&gt;1.2.6.1.</strong></del>  <del class="diffchar deleted"><strong>Troubleshooting&lt;a</strong></del> <del class="diffchar deleted"><strong>href=&quot;#Troubleshooting&quot;</strong></del> <del class="diffchar deleted"><strong>class=&quot;heading-link&quot;</strong></del> <del class="diffchar deleted"><strong>aria-label=&quot;heading</strong></del> <del class="diffchar deleted"><strong>link&quot;&gt;&lt;span</strong></del> <del class="diffchar deleted"><strong>class=&quot;icon</strong></del> <del class="diffchar deleted"><strong>icon-link</strong></del> <del class="diffchar deleted"><strong>fas</strong></del> <del class="diffchar deleted"><strong>fa-link</strong></del> <del class="diffchar deleted"><strong>&quot;</strong></del>   <del class="diffchar deleted"><strong>&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;<br>&lt;h5</strong></del> <del class="diffchar deleted"><strong>class=&quot;showhide_heading</strong></del> <del class="diffchar deleted"><strong>d-flex justify-content-start&quot; id=&quot;Mysql_credentials&quot;&gt;1.2.6.1.1.  Mysql&amp;nbsp;credentials</strong></del>&lt;<del class="diffchar deleted"><strong>a href=&quot;#Mysql_cre</strong></del>d<del class="diffchar deleted"><strong>ent</strong></del>i<del class="diffchar deleted"><strong>als&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   </strong></del>&gt;&lt;/<del class="diffchar deleted"><strong>span&gt;&lt;/a&gt;&lt;/h5&gt;<br>&lt;p&gt;Note: For Tiki 31 an</strong></del>d<del class="diffchar deleted"><strong> later We don&#039;t need th</strong></del>i<del class="diffchar deleted"><strong>s anymore since Secdb got temporary disabled,</strong></del><br>&lt;<del class="diffchar deleted"><strong>br /&gt;In ste</strong></del>p<del class="diffchar deleted"><strong> 11 (or 8 ?) of the release script (&quot;&lt;strong</strong></del>&gt;<del class="diffchar deleted"><strong>8) Generate SecDB file &#039;db/tiki-secdb_12.1_mysql.sql&#039;?&lt;/strong&gt;&quot;), you might see this type of error:</strong></del><br>&lt;br /&gt;<del class="diffchar deleted"><strong>SecDB step failed because some filenames need escaping but no MySQL connection has been found.</strong></del><br>&lt;br /&gt;<del class="diffchar deleted"><strong>Try this command line instead (replace HOST, USER and PASS by a valid MySQL host, user and password) :</strong></del></blockquote><blockquote>+                     &lt;<ins class="diffchar inserted"><strong>/</strong></ins>di<ins class="diffchar inserted"><strong>v</strong></ins>&gt;&lt;/di<ins class="diffchar inserted"><strong>v&gt;</strong></ins><br>&lt;p&gt;<br>&lt;br /&gt;<br>&lt;br /&gt;</blockquote><blockquote>- &lt;<del class="diffchar deleted"><strong>div</strong></del> class=&quot;<del class="diffchar deleted"><strong>c</strong></del>ode<del class="diffchar deleted"><strong>c</strong></del>a<del class="diffchar deleted"><strong>p</strong></del>tion<del class="diffchar deleted"><strong>&quot;&gt;Unnec</strong></del>es<del class="diffchar deleted"><strong>s</strong></del>ar<del class="diffchar deleted"><strong>y</strong></del> <del class="diffchar deleted"><strong>for T</strong></del>iki31 <del class="diffchar deleted"><strong>and</strong></del> <del class="diffchar deleted"><strong>la</strong></del>te<del class="diffchar deleted"><strong>r,</strong></del> <del class="diffchar deleted"><strong>us</strong></del>e s<del class="diffchar deleted"><strong>im</strong></del>p<del class="diffchar deleted"><strong>li</strong></del>fie<del class="diffchar deleted"><strong>d comm</strong></del>a<del class="diffchar deleted"><strong>nd</strong></del> <del class="diffchar deleted"><strong>inst</strong></del>e<del class="diffchar deleted"><strong>ad&lt;/div&gt;&lt;div class</strong></del>=&quot;c<del class="diffchar deleted"><strong>od</strong></del>e<del class="diffchar deleted"><strong>listin</strong></del>g<del class="diffchar deleted"><strong>_co</strong></del>nt<del class="diffchar deleted"><strong>a</strong></del>i<del class="diffchar deleted"><strong>n</strong></del>e<del class="diffchar deleted"><strong>r</strong></del>&quot;<del class="diffchar deleted"><strong>&gt;&lt;div</strong></del> class=&quot;i<del class="diffchar deleted"><strong>co</strong></del>n<del class="diffchar deleted"><strong>_copy_code far fa</strong></del>-<del class="diffchar deleted"><strong>c</strong></del>li<del class="diffchar deleted"><strong>pboard</strong></del>&quot; <del class="diffchar deleted"><strong>t</strong></del>a<del class="diffchar deleted"><strong>b</strong></del>i<del class="diffchar deleted"><strong>ndex=&quot;<br>&quot;  dat</strong></del>a-<del class="diffchar deleted"><strong>c</strong></del>l<del class="diffchar deleted"><strong>ip</strong></del>b<del class="diffchar deleted"><strong>oard-targ</strong></del>e<del class="diffchar deleted"><strong>t</strong></del>=&quot;<del class="diffchar deleted"><strong>#co</strong></del>d<del class="diffchar deleted"><strong>ebox53</strong></del>&quot;<del class="diffchar deleted"><strong> </strong></del>&gt;&lt;span class=&quot;co<del class="diffchar deleted"><strong>py_</strong></del>co<del class="diffchar deleted"><strong>de_too</strong></del>l<del class="diffchar deleted"><strong>t</strong></del>i<del class="diffchar deleted"><strong>ptext&quot;&gt;Copy</strong></del> <del class="diffchar deleted"><strong>to</strong></del> <del class="diffchar deleted"><strong>c</strong></del>li<del class="diffchar deleted"><strong>pboard</strong></del>&lt;/span&gt;&lt;/<del class="diffchar deleted"><strong>div</strong></del>&gt;&lt;pr<del class="diffchar deleted"><strong>e class=&quot;c</strong></del>o<del class="diffchar deleted"><strong>d</strong></del>e<del class="diffchar deleted"><strong>li</strong></del>st<del class="diffchar deleted"><strong>i</strong></del>ng<del class="diffchar deleted"><strong>&quot;</strong></del>  dat<del class="diffchar deleted"><strong>a-th</strong></del>e<del class="diffchar deleted"><strong>me=&quot;off&quot;</strong></del> <del class="diffchar deleted"><strong> da</strong></del>t<del class="diffchar deleted"><strong>a-</strong></del>s<del class="diffchar deleted"><strong>yn</strong></del>t<del class="diffchar deleted"><strong>ax=&quot;sh</strong></del>e<del class="diffchar deleted"><strong>ll&quot;</strong></del> <del class="diffchar deleted"><strong> d</strong></del>a<del class="diffchar deleted"><strong>ta-li</strong></del>n<del class="diffchar deleted"><strong>e-num</strong></del>be<del class="diffchar deleted"><strong>r</strong></del>s<del class="diffchar deleted"><strong>=&quot;<br>&quot;</strong></del>  <del class="diffchar deleted"><strong>data-wrap=&quot;1&quot;</strong></del> <del class="diffchar deleted"><strong> d</strong></del>i<del class="diffchar deleted"><strong>r=&quot;ltr&quot;</strong></del>  <del class="diffchar deleted"><strong>sty</strong></del>le<del class="diffchar deleted"><strong>=&quot;whi</strong></del>te<del class="diffchar deleted"><strong>-s</strong></del>p<del class="diffchar deleted"><strong>ac</strong></del>e<del class="diffchar deleted"><strong>:p</strong></del>r<del class="diffchar deleted"><strong>e-w</strong></del>ra<del class="diffchar deleted"><strong>p</strong></del>; <del class="diffchar deleted"><strong>o</strong></del>verf<del class="diffchar deleted"><strong>l</strong></del>o<del class="diffchar deleted"><strong>w-wr</strong></del>a<del class="diffchar deleted"><strong>p:</strong></del> <del class="diffchar deleted"><strong>b</strong></del>r<del class="diffchar deleted"><strong>ea</strong></del>k<del class="diffchar deleted"><strong>-word;</strong></del> <del class="diffchar deleted"><strong>word-wr</strong></del>a<del class="diffchar deleted"><strong>p: b</strong></del>re<del class="diffchar deleted"><strong>ak-wor</strong></del>d<del class="diffchar deleted"><strong>;&quot;</strong></del> <del class="diffchar deleted"><strong>id=&quot;</strong></del>co<del class="diffchar deleted"><strong>d</strong></del>e<del class="diffchar deleted"><strong>b</strong></del>o<del class="diffchar deleted"><strong>x53&quot; </strong></del>&gt;&lt;<del class="diffchar deleted"><strong>d</strong></del>i<del class="diffchar deleted"><strong>v</strong></del> cl<del class="diffchar deleted"><strong>a</strong></del>s<del class="diffchar deleted"><strong>s=&quot;</strong></del>co<del class="diffchar deleted"><strong>d</strong></del>e<del class="diffchar deleted"><strong>&quot;&gt;/usr/b</strong></del>in<del class="diffchar deleted"><strong>/php</strong></del> <del class="diffchar deleted"><strong>-d mysql.defaul</strong></del>t<del class="diffchar deleted"><strong>_</strong></del>h<del class="diffchar deleted"><strong>ost=HOST</strong></del> <del class="diffchar deleted"><strong>-d mysql.d</strong></del>e<del class="diffchar deleted"><strong>f</strong></del>a<del class="diffchar deleted"><strong>ul</strong></del>t<del class="diffchar deleted"><strong>_us</strong></del>e<del class="diffchar deleted"><strong>r=US</strong></del>E<del class="diffchar deleted"><strong>R</strong></del> <del class="diffchar deleted"><strong>-d mysql.de</strong></del>f<del class="diffchar deleted"><strong>au</strong></del>l<del class="diffchar deleted"><strong>t_password=PASS doc/d</strong></del>e<del class="diffchar deleted"><strong>vtools</strong></del>/<del class="diffchar deleted"><strong>relea</strong></del>s<del class="diffchar deleted"><strong>e.php 12.1 be</strong></del>t<del class="diffchar deleted"><strong>a&lt;/div&gt;&lt;/p</strong></del>r<del class="diffchar deleted"><strong>e&gt;&lt;/div</strong></del>&gt;</blockquote><blockquote>+ &lt;<ins class="diffchar inserted"><strong>h4</strong></ins> class=&quot;<ins class="diffchar inserted"><strong>sh</strong></ins>o<ins class="diffchar inserted"><strong>whi</strong></ins>de<ins class="diffchar inserted"><strong>_he</strong></ins>a<ins class="diffchar inserted"><strong>ding d-flex jus</strong></ins>ti<ins class="diffchar inserted"><strong>fy-c</strong></ins>on<ins class="diffchar inserted"><strong>t</strong></ins>e<ins class="diffchar inserted"><strong>nt-</strong></ins>s<ins class="diffchar inserted"><strong>t</strong></ins>ar<ins class="diffchar inserted"><strong>t&quot;</strong></ins> i<ins class="diffchar inserted"><strong>d=&quot;Chec</strong></ins>k<ins class="diffchar inserted"><strong>_the_generated_README_f</strong></ins>i<ins class="diffchar inserted"><strong>le&quot;&gt;1.</strong></ins>3<ins class="diffchar inserted"><strong>.4.</strong></ins>1<ins class="diffchar inserted"><strong>.</strong></ins>  <ins class="diffchar inserted"><strong>Check </strong></ins>t<ins class="diffchar inserted"><strong>h</strong></ins>e <ins class="diffchar inserted"><strong>g</strong></ins>e<ins class="diffchar inserted"><strong>nerated</strong></ins> <ins class="diffchar inserted"><strong>README&amp;nb</strong></ins>sp<ins class="diffchar inserted"><strong>;</strong></ins>fi<ins class="diffchar inserted"><strong>l</strong></ins>e<ins class="diffchar inserted"><strong>&lt;</strong></ins>a <ins class="diffchar inserted"><strong>hr</strong></ins>e<ins class="diffchar inserted"><strong>f</strong></ins>=&quot;<ins class="diffchar inserted"><strong>#Che</strong></ins>c<ins class="diffchar inserted"><strong>k_th</strong></ins>e<ins class="diffchar inserted"><strong>_</strong></ins>g<ins class="diffchar inserted"><strong>e</strong></ins>n<ins class="diffchar inserted"><strong>era</strong></ins>t<ins class="diffchar inserted"><strong>ed_README_f</strong></ins>i<ins class="diffchar inserted"><strong>l</strong></ins>e&quot; class=&quot;<ins class="diffchar inserted"><strong>head</strong></ins>in<ins class="diffchar inserted"><strong>g</strong></ins>-li<ins class="diffchar inserted"><strong>nk</strong></ins>&quot; a<ins class="diffchar inserted"><strong>r</strong></ins>ia-l<ins class="diffchar inserted"><strong>a</strong></ins>be<ins class="diffchar inserted"><strong>l</strong></ins>=&quot;<ins class="diffchar inserted"><strong>hea</strong></ins>d<ins class="diffchar inserted"><strong>ing link</strong></ins>&quot;&gt;&lt;span class=&quot;<ins class="diffchar inserted"><strong>i</strong></ins>co<ins class="diffchar inserted"><strong>n i</strong></ins>co<ins class="diffchar inserted"><strong>n-</strong></ins>li<ins class="diffchar inserted"><strong>nk</strong></ins> <ins class="diffchar inserted"><strong>fas</strong></ins> <ins class="diffchar inserted"><strong>fa-</strong></ins>li<ins class="diffchar inserted"><strong>nk &quot;   &gt;</strong></ins>&lt;/span&gt;&lt;/<ins class="diffchar inserted"><strong>a&gt;&lt;/h4</strong></ins>&gt;<ins class="diffchar inserted"><strong><br></strong></ins>&lt;p<ins class="diffchar inserted"><strong>&gt;&lt;st</strong></ins>ro<ins class="diffchar inserted"><strong>ng&gt;Not</strong></ins>e<ins class="diffchar inserted"><strong>&lt;/</strong></ins>st<ins class="diffchar inserted"><strong>ro</strong></ins>ng<ins class="diffchar inserted"><strong>&gt;:</strong></ins> <ins class="diffchar inserted"><strong>For</strong></ins> <ins class="diffchar inserted"><strong>Tiki 3<br> an</strong></ins>d<ins class="diffchar inserted"><strong> l</strong></ins>ate<ins class="diffchar inserted"><strong>r,</strong></ins> t<ins class="diffchar inserted"><strong>his </strong></ins>ste<ins class="diffchar inserted"><strong>p</strong></ins> <ins class="diffchar inserted"><strong>c</strong></ins>an<ins class="diffchar inserted"><strong> </strong></ins>be<ins class="diffchar inserted"><strong> </strong></ins>s<ins class="diffchar inserted"><strong>kipped.</strong></ins> <ins class="diffchar inserted"><strong>The</strong></ins> <ins class="diffchar inserted"><strong>README</strong></ins> i<ins class="diffchar inserted"><strong>s</strong></ins> <ins class="diffchar inserted"><strong>no</strong></ins> l<ins class="diffchar inserted"><strong>ong</strong></ins>e<ins class="diffchar inserted"><strong>r genera</strong></ins>te<ins class="diffchar inserted"><strong>d </strong></ins>per<ins class="diffchar inserted"><strong> </strong></ins>r<ins class="diffchar inserted"><strong>ele</strong></ins>a<ins class="diffchar inserted"><strong>se</strong></ins>; <ins class="diffchar inserted"><strong>the </strong></ins>ver<ins class="diffchar inserted"><strong>sion </strong></ins>f<ins class="diffchar inserted"><strong>r</strong></ins>o<ins class="diffchar inserted"><strong>m m</strong></ins>a<ins class="diffchar inserted"><strong>ster</strong></ins> <ins class="diffchar inserted"><strong>(t</strong></ins>r<ins class="diffchar inserted"><strong>un</strong></ins>k<ins class="diffchar inserted"><strong>)</strong></ins> <ins class="diffchar inserted"><strong>is sh</strong></ins>ared <ins class="diffchar inserted"><strong>a</strong></ins>c<ins class="diffchar inserted"><strong>r</strong></ins>o<ins class="diffchar inserted"><strong>ss v</strong></ins>e<ins class="diffchar inserted"><strong>rsi</strong></ins>o<ins class="diffchar inserted"><strong>ns.<br>&lt;/p&gt;<br>&lt;ul</strong></ins>&gt;&lt;<ins class="diffchar inserted"><strong>l</strong></ins>i<ins class="diffchar inserted"><strong>&gt;</strong></ins> <ins class="diffchar inserted"><strong>&lt;strong&gt;Che</strong></ins>c<ins class="diffchar inserted"><strong>k </strong></ins>l<ins class="diffchar inserted"><strong>ink</strong></ins>s<ins class="diffchar inserted"><strong>/</strong></ins>co<ins class="diffchar inserted"><strong>nt</strong></ins>e<ins class="diffchar inserted"><strong>nt </strong></ins>in th<ins class="diffchar inserted"><strong>e</strong></ins> <ins class="diffchar inserted"><strong>g</strong></ins>e<ins class="diffchar inserted"><strong>ner</strong></ins>ate<ins class="diffchar inserted"><strong>d READM</strong></ins>E f<ins class="diffchar inserted"><strong>i</strong></ins>le<ins class="diffchar inserted"><strong>&lt;</strong></ins>/str<ins class="diffchar inserted"><strong>ong</strong></ins>&gt;</blockquote><blockquote>- <br />If so, provide your own HOST, USER and PASS for your MySQL from the machine where you are running the release script, and you should be fine, then.</blockquote><blockquote>- &lt;hr /&gt;<br>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Test_the_produced_tarballs_and_share_the_testing&quot;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.<del class="diffchar deleted"><strong>7</strong></del>.  Test the produced &quot;tarballs&quot; and share the&amp;nbsp;testing&lt;a href=&quot;#Test_the_produced_tarballs_and_share_the_testing&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;p&gt;Test on your server. Ideally, you have 1-2 other people trying on different servers. In case of a major version (x.<br>), you need at least 3 installations from 3 different people</blockquote><blockquote>+ <ins class="diffchar inserted"><strong>&lt;/li&gt;&lt;/ul&gt;</strong></ins>&lt;hr /&gt;<br>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Test_the_produced_tarballs_and_share_the_testing&quot;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.<ins class="diffchar inserted"><strong>5</strong></ins>.  Test the produced &quot;tarballs&quot; and share the&amp;nbsp;testing&lt;a href=&quot;#Test_the_produced_tarballs_and_share_the_testing&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;p<ins class="diffchar inserted"><strong>&gt;<br>&lt;br /</strong></ins>&gt;Test on your server. Ideally, you have 1-2 other people trying on different servers. In case of a major version (x.<br>), you need at least 3 installations from 3 different people</blockquote><blockquote>- &lt;ul&gt;&lt;li&gt; Make sure to do a file integrity check with &lt;code&gt;tiki-admin_security.php?check_files&lt;/code&gt;</blockquote><blockquote>+ &lt;ul&gt;&lt;li&gt; Make sure to do a file integrity check with &lt;code&gt;tiki-admin_security.php?check_files&lt;/code&gt;<ins class="diffchar inserted"><strong> (&lt;strong&gt;Only applies on tiki 3<br> and lower&lt;/strong&gt;)</strong></ins></blockquote><blockquote>- &lt;/li&gt;&lt;li&gt; One tester should test an upgrade</blockquote><blockquote>+ &lt;/li&gt;&lt;li&gt; One tester should test an upgrade<ins class="diffchar inserted"><strong> (from previous to newer minor version and  previous to newer major )</strong></ins></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>- &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Upload_tarballs_to_Sourceforge&quot;&gt;1.<del class="diffchar deleted"><strong>2</strong></del>.<del class="diffchar deleted"><strong>8</strong></del>.  Upload tarballs to&amp;nbsp;Sourceforge&lt;a href=&quot;#Upload_tarballs_to_Sourceforge&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>+ &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Upload_tarballs_to_Sourceforge&quot;&gt;1.<ins class="diffchar inserted"><strong>3</strong></ins>.<ins class="diffchar inserted"><strong>6</strong></ins>.  Upload tarballs to&amp;nbsp;Sourceforge&lt;a href=&quot;#Upload_tarballs_to_Sourceforge&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>- &lt;div class=&quot;clearfix tabs&quot; data-name=&quot;versions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>&quot;&gt;&lt;div class=&#039;float-end&#039;&gt;&lt;a class=&quot;btn btn-primary btn-sm&quot; target=&quot;&quot; role=&quot;button&quot; data-role=&quot;button&quot; data-inline=&quot;true&quot;   href=&quot;/tiki-wiki_rss.php&quot; onclick=&quot;setCookie(&#039;versions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>&#039;,&#039;n&#039;, &#039;tabs&#039;, &#039;session&#039;, window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);&quot; &gt;No Tabs&lt;/a&gt;&lt;/div&gt;&lt;ul class=&quot;nav nav-tabs&quot; id=&quot;nav-versions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>&quot;&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link active&quot; href=&quot;#contentversions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>-1&quot; data-bs-toggle=&quot;tab&quot;&gt;Web Interface&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link &quot; href=&quot;#contentversions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>-2&quot; data-bs-toggle=&quot;tab&quot;&gt;SCP&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link &quot; href=&quot;#contentversions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>-3&quot; data-bs-toggle=&quot;tab&quot;&gt;SFTP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;tab-content&quot; id=&quot;v-pills-versions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>&quot;&gt;&lt;div id=&#039;contentversions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>-1&#039; class=&#039;tab-pane pt-3 active&#039;&gt;                            &lt;p&gt;</blockquote><blockquote>+ &lt;div class=&quot;clearfix tabs&quot; data-name=&quot;versions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>&quot;&gt;&lt;div class=&#039;float-end&#039;&gt;&lt;a class=&quot;btn btn-primary btn-sm&quot; target=&quot;&quot; role=&quot;button&quot; data-role=&quot;button&quot; data-inline=&quot;true&quot;   href=&quot;/tiki-wiki_rss.php&quot; onclick=&quot;setCookie(&#039;versions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>&#039;,&#039;n&#039;, &#039;tabs&#039;, &#039;session&#039;, window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);&quot; &gt;No Tabs&lt;/a&gt;&lt;/div&gt;&lt;ul class=&quot;nav nav-tabs&quot; id=&quot;nav-versions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>&quot;&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link active&quot; href=&quot;#contentversions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>-1&quot; data-bs-toggle=&quot;tab&quot;&gt;Web Interface&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link &quot; href=&quot;#contentversions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>-2&quot; data-bs-toggle=&quot;tab&quot;&gt;SCP&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;nav-item&quot;&gt;&lt;a class=&quot;nav-link &quot; href=&quot;#contentversions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>-3&quot; data-bs-toggle=&quot;tab&quot;&gt;SFTP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;tab-content&quot; id=&quot;v-pills-versions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>&quot;&gt;&lt;div id=&#039;contentversions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>-1&#039; class=&#039;tab-pane pt-3 active&#039;&gt;                            &lt;p&gt;</blockquote><blockquote>-                     &lt;/div&gt;            &lt;div id=&#039;contentversions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>-2&#039; class=&#039;tab-pane pt-3 &#039;&gt;                            </blockquote><blockquote>+                     &lt;/div&gt;            &lt;div id=&#039;contentversions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>-2&#039; class=&#039;tab-pane pt-3 &#039;&gt;                            </blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>5</strong></del>4&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>5</strong></del>4&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd ~/tikipack/$VERSION</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>3</strong></ins>4&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>3</strong></ins>4&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd ~/tikipack/$VERSION</blockquote><blockquote>- <div class="codecaption">Real example</div><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox55" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox55" ><div class="code">#since 15.0 :</blockquote><blockquote>- </blockquote><blockquote>- scp *bz2 *gz *zip *7z username,tikiwiki@frs.sourceforge.net:/home/pfs/project/t/ti/tikiwiki/Tiki_XX.x_Starname/XX.Y</div></pre></div></blockquote><blockquote>-                     &lt;/div&gt;            &lt;div id=&#039;contentversions_tabset_<br><del class="diffchar deleted"><strong>1</strong></del>-3&#039; class=&#039;tab-pane pt-3 &#039;&gt;                            </blockquote><blockquote>+                     &lt;/div&gt;            &lt;div id=&#039;contentversions_tabset_<br><ins class="diffchar inserted"><strong>4</strong></ins>-3&#039; class=&#039;tab-pane pt-3 &#039;&gt;                            </blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox5<del class="diffchar deleted"><strong>6</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox5<del class="diffchar deleted"><strong>6</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;User jsmith seeks to put tiki-12.1.* .7z .zip .tgz .bz2 to the 12.1 directory of his project, tikiwiki:</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>3</strong></ins>5&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>3</strong></ins>5&quot; &gt;&lt;div class=&quot;code&quot;&gt;User jsmith seeks to put tiki-12.1.* .7z .zip .tgz .bz2 to the 12.1 directory of his project, tikiwiki:</blockquote><blockquote>+ <h2 class="showhide_heading d-flex justify-content-start" id="After_Release_Steps">1.4.  After Release&nbsp;Steps<a href="#After_Release_Steps" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h2></blockquote><blockquote>- <del class="diffchar deleted"><strong>&lt;h2 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;After_Release_Steps&quot;&gt;1.3.  After Release&amp;nbsp;Steps&lt;a href=&quot;#After_Release_Steps&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;<br>&lt;p&gt;<br>&lt;/p&gt;<br></strong></del>&lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Update_lib_setup_twversion.class.php&quot;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.1.  Update&amp;nbsp;lib/setup/twversion.class.php&lt;a href=&quot;#Update_lib_setup_twversion.class.php&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;ul&gt;&lt;li&gt; change $this-<del class="diffchar deleted"><strong>&amp;gt;</strong></del>version  = &#039;&lt;strong&gt;23.1&lt;/strong&gt;&#039;; to &#039;&lt;strong&gt;23.2vcs&lt;/strong&gt;&#039;;</blockquote><blockquote>+ &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Update_lib_setup_twversion.class.php<ins class="diffchar inserted"><strong>_2</strong></ins>&quot;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.1.  Update&amp;nbsp;lib/setup/twversion.class.php&lt;a href=&quot;#Update_lib_setup_twversion.class.php<ins class="diffchar inserted"><strong>_2</strong></ins>&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;<br>&lt;ul&gt;&lt;li&gt; change $this-<ins class="diffchar inserted"><strong>&gt;</strong></ins>version  = &#039;&lt;strong&gt;23.1&lt;/strong&gt;&#039;; to &#039;&lt;strong&gt;23.2vcs&lt;/strong&gt;&#039;;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>57</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>57</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;[REL]Closing release 12.1beta&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>36</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>36</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;[REL]Closing release 12.1beta&lt;/div&gt;&lt;/pre&gt;&lt;/div<ins class="diffchar inserted"><strong>&gt;<br>&lt;hr /</strong></ins>&gt;</blockquote><blockquote>- &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Update_show2.t.o_info_Skipped_until_note_is_resolved_&quot;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.  Update show2.t.o info (Skipped until note is&amp;nbsp;resolved)&lt;a href=&quot;#Update_show2.t.o_info_Skipped_until_note_is_resolved_&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>+ &lt;h3 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;Update_show2.t.o_info_Skipped_until_note_is_resolved_&quot;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.  Update show2.t.o info (Skipped until note is&amp;nbsp;resolved)&lt;a href=&quot;#Update_show2.t.o_info_Skipped_until_note_is_resolved_&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;</blockquote><blockquote>- &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;checkout_that_version_in_the_local_cache_folder_of_tiki_in_show2.t.o&quot;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.1.  checkout that version in the local cache folder of tiki in&amp;nbsp;show2.t.o&lt;a href=&quot;#checkout_that_version_in_the_local_cache_folder_of_tiki_in_show2.t.o&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>+ &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;checkout_that_version_in_the_local_cache_folder_of_tiki_in_show2.t.o&quot;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.1.  checkout that version in the local cache folder of tiki in&amp;nbsp;show2.t.o&lt;a href=&quot;#checkout_that_version_in_the_local_cache_folder_of_tiki_in_show2.t.o&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>- &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;tell_tim_to_manage_also_that_branch_to_update_tiki_from_that_version_also&quot;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.2.  tell tim to manage also that branch to update tiki from that version&amp;nbsp;also&lt;a href=&quot;#tell_tim_to_manage_also_that_branch_to_update_tiki_from_that_version_also&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>+ &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;tell_tim_to_manage_also_that_branch_to_update_tiki_from_that_version_also&quot;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.2.  tell tim to manage also that branch to update tiki from that version&amp;nbsp;also&lt;a href=&quot;#tell_tim_to_manage_also_that_branch_to_update_tiki_from_that_version_also&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>58</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>58</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;BRANCHES=&amp;quot;trunk 23.x 22.x 21.x 2<br>.x 19.x 18.x&amp;quot;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>37</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>37</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;BRANCHES=&amp;quot;trunk 23.x 22.x 21.x 2<br>.x 19.x 18.x&amp;quot;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;make_a_tar.gz_file_from_the_new_branch&quot;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.3.  make a tar.gz file from the new&amp;nbsp;branch&lt;a href=&quot;#make_a_tar.gz_file_from_the_new_branch&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>+ &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;make_a_tar.gz_file_from_the_new_branch&quot;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.3.  make a tar.gz file from the new&amp;nbsp;branch&lt;a href=&quot;#make_a_tar.gz_file_from_the_new_branch&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>59</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-line-numbers=&quot;1&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>59</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd /usr/local/src/tiki/</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>38</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;shell&quot;  data-line-numbers=&quot;1&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>38</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd /usr/local/src/tiki/</blockquote><blockquote>- &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;update_the_field_in_tracker5_at_dev.t.o_to_allow_users_to_choose_that_version&quot;&gt;1.<del class="diffchar deleted"><strong>3</strong></del>.2.4.  update the field in tracker5 at dev.t.o to allow users to choose that&amp;nbsp;version&lt;a href=&quot;#update_the_field_in_tracker5_at_dev.t.o_to_allow_users_to_choose_that_version&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote><blockquote>+ &lt;h4 class=&quot;showhide_heading d-flex justify-content-start&quot; id=&quot;update_the_field_in_tracker5_at_dev.t.o_to_allow_users_to_choose_that_version&quot;&gt;1.<ins class="diffchar inserted"><strong>4</strong></ins>.2.4.  update the field in tracker5 at dev.t.o to allow users to choose that&amp;nbsp;version&lt;a href=&quot;#update_the_field_in_tracker5_at_dev.t.o_to_allow_users_to_choose_that_version&quot; class=&quot;heading-link&quot; aria-label=&quot;heading link&quot;&gt;&lt;span class=&quot;icon icon-link fas fa-link &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;</blockquote>]]></summary>
    <published>2026-08-01T21:33:11+00:00</published>
    <updated>2026-08-01T21:33:11+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=How+to+release"/>
    <id>https://dev.tiki.org/tiki-index.php?page=How+to+release</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[How to Release requirements section]]></title>
    <summary type="html"><![CDATA[<blockquote>+ <h2 class="showhide_heading d-flex justify-content-start" id="Requirements"> Requirements<a href="#Requirements" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h2></blockquote><blockquote>+ <ol><li> Unix shell environment, Linux or OSX suitable.</blockquote><blockquote>+ </li><li> Git</blockquote><blockquote>+ </li><li> PHP 7.x or 8.x CLI. <br /><strong>Note about php versions:</strong></blockquote><blockquote>+ <br /> Use <strong>PHP 7.x</strong> for Tiki 25.x releases and lower</blockquote><blockquote>+ <br /> Use <strong>PHP 8.x</strong> for Tiki 26.x releases and upper.</blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ </li><li> PHP configuration must allow running external programs (like shell scripts)</blockquote><blockquote>+ </li><li> Starting from <strong>Tiki 27.x and later </strong> versions release, <strong>Node.js and NPM are required</strong> for the JavasScript build system(for js and css compilation). Please check the required  the versions in package.json at the root of the project in the "engines" property.</blockquote><blockquote>+ </li><li> 7za or 7z needed for creating 7zip archives. (may be installed in OSX through homebrew by typing <code>brew install p7zip</code>)</blockquote><blockquote>+ </li><li> Plenty of disk space and memory 😉 - at least 64M of memory for php (in php.ini for php-cli)</blockquote><blockquote>+ </li><li> The main packaging script is at <a class="wiki external" target="_blank" title="External link" href="https://gitlab.com/tikiwiki/tiki/-/blob/master/doc/devtools/release.php" rel="external">doc/devtools/release.php</a><img src="img/icons/green_question.png" alt="Question" width="16" height="16" name="link-external" title="Question" class="icon" /> but releasing a Tiki version is a lot more than just running the packaging script 😊</li></ol></blockquote>]]></summary>
    <published>2026-08-01T21:29:36+00:00</published>
    <updated>2026-08-01T21:29:36+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=How+to+Release+requirements+section"/>
    <id>https://dev.tiki.org/tiki-index.php?page=How+to+Release+requirements+section</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Release Steps]]></title>
    <summary type="html"><![CDATA[<blockquote>+ <h2 class="showhide_heading d-flex justify-content-start" id="Release_Steps">  Release&nbsp;Steps<a href="#Release_Steps" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h2></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Checkout_Tiki">1.1.1.  Checkout&nbsp;Tiki<a href="#Checkout_Tiki" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <p>For this step we have 2 options, so you can use one of your choice but the <strong>first is recommended.</strong></blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="clearfix tabs" data-name="versions_tabset_01"><div class='float-end'><a class="btn btn-primary btn-sm" target="" role="button" data-role="button" data-inline="true"   href="/tiki-wiki_rss.php" onclick="setCookie('versions_tabset_01','n', 'tabs', 'session', window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);" >No Tabs</a></div><ul class="nav nav-tabs" id="nav-versions_tabset_01"><li class="nav-item"><a class="nav-link active" href="#contentversions_tabset_01-1" data-bs-toggle="tab">Option 1</a></li><li class="nav-item"><a class="nav-link " href="#contentversions_tabset_01-2" data-bs-toggle="tab">Option 2</a></li></ul></div><div class="tab-content" id="v-pills-versions_tabset_01"><div id='contentversions_tabset_01-1' class='tab-pane pt-3 active'>                            <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <table class="wikitable table table-striped table-hover"><tr><td class="wikicell" > <strong>OPTION 1 </strong></td></tr><tr><td class="wikicell" >Clone the branch you need to create the release for in a separate folder to separate it with your development instance by doing the following. Note that the bellow command is an example, so replace the branch value with that you want to work on, the reference repository by the path of your development instance to gain time when cloning and the target folder by that you want. Also remember to ensure that the reference repository is up to date and contains the required objects for successful cloning.<br /><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox60" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="default"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox60" ><div class="code">git clone --branch=29.x --shared --reference=./tiki https://gitlab.com/tikiwiki/tiki.git tiki29release</div></pre></div></td></tr></table></blockquote><blockquote>+ <p></blockquote><blockquote>+                     </div>            <div id='contentversions_tabset_01-2' class='tab-pane pt-3 '>                            </blockquote><blockquote>+ </p></blockquote><blockquote>+ <table class="wikitable table table-striped table-hover"><tr><td class="wikicell" > <strong>OPTION 2</strong> </td></tr><tr><td class="wikicell" >checkout the correct branch, i.e the branch you want to create the release for and make sure your origin is <a class="wiki external" target="_blank" title="External link" href="https://gitlab.com/tikiwiki/tiki.git" rel="external">https://gitlab.com/tikiwiki/tiki.git</a>. For example, if you want to create the 29.1 release, do<br /><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox61" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="default"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox61" ><div class="code">git checkout 29.x</div></pre></div> </td></tr></table></blockquote><blockquote>+ <p></p></blockquote><blockquote>+ </blockquote><blockquote>+                     </div></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ <br /></blockquote><blockquote>+ </p></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Setup.sh">1.1.2.  Setup.sh<a href="#Setup.sh" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <p>Run:</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox62" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox62" ><div class="code">sh ./setup.sh</div></pre></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ <br />And choose 'b' option to install all necessary setup and exit (composer, npm, etc) instead of 'f', which is not needed for release.</blockquote><blockquote>+ </p></blockquote><blockquote>+ <hr /></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Update_lib_setup_twversion.class.php">1.1.3.  Update&nbsp;lib/setup/twversion.class.php<a href="#Update_lib_setup_twversion.class.php" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <ul><ul><li> Increment the version number and the star name in the constructor. The star name only needs to be updated if it is a major release (Eg. Tiki 29.0alpha) but this is usually done during branching, it's done during release if it was not done during branching.</blockquote><blockquote>+ </li><li> Temporarily, remove the vcs from the branch number. <br />E.g</blockquote><blockquote>+ <br /><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox63" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox63" ><div class="code">function TWVersion()</blockquote><blockquote>+ 	{</blockquote><blockquote>+ 		$this-&gt;version 	= &#039;22.1vcs&#039;;	</blockquote><blockquote>+ 		$this-&gt;star	= &#039;Corona Borealis&#039;;</div></pre></div> Since we where to release 22.1, we need to remove the "vcs" from "22.1vcs", so this part will stay as:</blockquote><blockquote>+ <br /><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox64" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox64" ><div class="code">// Set everything else, including defaults.</blockquote><blockquote>+ 		$this-&gt;version 	= &#039;22.1&#039;;	// needs to have no spaces for releases</div></pre></div></blockquote><blockquote>+ </li><li> Update list of valid releases in <code>tikiVersions()</code></blockquote><blockquote>+ </li><li> Make sure you add all Tiki versions (not just the one you are doing now). Ex.: when 5.0 is released, 4.2 will probably exist, as this was added to branches/4.x but not merged by script.</blockquote><blockquote>+ </li><li> change the version branch to "unstable", "stable", or "trunk" as explained in that file</blockquote><blockquote>+ </li><li> Update the star name in the list in the function <code>tikiStars()</code> if it's not yet done.</blockquote><blockquote>+ </li></ul></ul><div class="clearfix tabs" data-name="versions_tabset_2"><div class='float-end'><a class="btn btn-primary btn-sm" target="" role="button" data-role="button" data-inline="true"   href="/tiki-wiki_rss.php" onclick="setCookie('versions_tabset_2','n', 'tabs', 'session', window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);" >No Tabs</a></div><ul class="nav nav-tabs" id="nav-versions_tabset_2"><li class="nav-item"><a class="nav-link active" href="#contentversions_tabset_2-1" data-bs-toggle="tab">Pre-release</a></li><li class="nav-item"><a class="nav-link " href="#contentversions_tabset_2-2" data-bs-toggle="tab">Releasing</a></li></ul></div><div class="tab-content" id="v-pills-versions_tabset_2"><div id='contentversions_tabset_2-1' class='tab-pane pt-3 active'>                            <p></blockquote><blockquote>+ <br /><strong>Do not push your changes in pre-release test.</strong></blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <p></blockquote><blockquote>+                     </div>            <div id='contentversions_tabset_2-2' class='tab-pane pt-3 '>                            </blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <ul><li> Commit your changes with this commit message (change \$VERSION by the version of the release):</blockquote><blockquote>+ <br /> <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox65" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox65" ><div class="code">[REL] Preparing \$VERSION release</div></pre></div></blockquote><blockquote>+ </li><li> Then push your commit to <a target="_blank" class="wiki external"  href="https://github.com/tikiwiki/tiki.git">https://github.com/tikiwiki/tiki.git<img src="img/icons/green_question.png" alt="Question" width="16" height="16" name="link-external" title="Question" class="icon" /></a> in the corresponding branch (the branch you are doing the release for).</blockquote><blockquote>+ <p></blockquote><blockquote>+ <br /></p></blockquote><blockquote>+ </li></ul></blockquote><blockquote>+                     </div></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <hr /></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Run_script">1.1.4.  Run&nbsp;script<a href="#Run_script" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <ul><ul><li> Go to the tiki instance pointing to the branch you want to release and run:</blockquote><blockquote>+ <br /><div class="codecaption">Display Basic Help</div><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox66" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox66" ><div class="code">php doc/devtools/release.php --help</div></pre></div>  to get the command help and see different options that can be used.</blockquote><blockquote>+ </li></ul></ul><p>To Run the pre-release or release command:</blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <div class="clearfix tabs" data-name="versions_tabset_3"><div class='float-end'><a class="btn btn-primary btn-sm" target="" role="button" data-role="button" data-inline="true"   href="/tiki-wiki_rss.php" onclick="setCookie('versions_tabset_3','n', 'tabs', 'session', window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);" >No Tabs</a></div><ul class="nav nav-tabs" id="nav-versions_tabset_3"><li class="nav-item"><a class="nav-link active" href="#contentversions_tabset_3-1" data-bs-toggle="tab">Pre-release</a></li><li class="nav-item"><a class="nav-link " href="#contentversions_tabset_3-2" data-bs-toggle="tab">Releasing</a></li></ul></div><div class="tab-content" id="v-pills-versions_tabset_3"><div id='contentversions_tabset_3-1' class='tab-pane pt-3 active'>                            <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Create_and_test_pre-release_packages"> Create and test pre-release&nbsp;packages<a href="#Create_and_test_pre-release_packages" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <ul><li> This is done by executing the release script with the release version as argument, using the format major.minor preXYZ (XYZ can be RC1, RC2, alpha, beta1, beta2, etc.)</blockquote><blockquote>+ </li><li> Use the --help option of the release script for advanced help on options (like using a web proxy)</blockquote><blockquote>+ <p></blockquote><blockquote>+ </li></ul><br />E.g.</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox67" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox67" ><div class="code">php8.1 doc/devtools/release.php 29.0 preRC1  --devmode</div></pre></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox68" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox68" ><div class="code">php8.1 doc/devtools/release.php 29.1 pre --devmode</div></pre></div></blockquote><blockquote>+ <p><em>Note: Use the command for the version of PHP which is the minimum spec for that branch. In this case we need PHP 7.4 for Tiki 24.x for instance</em></blockquote><blockquote>+ <br /></blockquote><blockquote>+                     </div>            <div id='contentversions_tabset_3-2' class='tab-pane pt-3 '>                            </blockquote><blockquote>+ <br /><strong>Note: Do not run this command first. Before running it, please start with the creation of pre-release packages as described in the first tab.</strong></blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox69" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox69" ><div class="code">php doc/devtools/release.php 26.1</div></pre></div></blockquote><blockquote>+ <p>(replace 26.1 with the corresponding release version)</blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <p>Note: <strong>For Tiki 31 and later We don't need this anymore since Secdb got temporary disabled,</strong></blockquote><blockquote>+ <br />If the previous command fails at the secdb file creation step, you may need to run the release command providing your MySQL credentials for the script to successfully create the secdb file for you.</blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <div class="codecaption">Unnecessary for Tiki31 and later</div><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox70" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox70" ><div class="code">php -d mysqli.default_host=HOST -d mysqli.default_user=USER -d mysqli.default_pw=PASS doc/devtools/release.php 28.2</div></pre></div> (replace the version number with the corresponding release version)</blockquote><blockquote>+ <p>or</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codecaption">Unnecessary for Tiki31 and later, use simplified command instead</div><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox71" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox71" ><div class="code">php -d mysqli.default_host=HOST -d mysqli.default_user=USER -d mysqli.default_pw=PASS doc/devtools/release.php 29.0 RC1</div></pre></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ <br />The release script has an interactive mode, enabled by default, that will ask you if you really want to do each step. It also asks for a confirmation before committing any changes. You can have a look at them with another shell by using this command:</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codecaption">Check for changes made by the release script before validating commits</div><div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox72" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox72" ><div class="code">git  status</blockquote><blockquote>+ git  diff</div></pre></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ <br />Note: If you run the php command without specifying explitely the version as in the above commands, please make sure your CLI php version is set to the required one of the branch you are making the release for.</blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+                     </div></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ <br /></blockquote><blockquote>+ <br /></blockquote><blockquote>+ </p></blockquote><blockquote>+ <h4 class="showhide_heading d-flex justify-content-start" id="Check_the_generated_README_file">1.1.4.1.  Check the generated README&nbsp;file<a href="#Check_the_generated_README_file" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h4></blockquote><blockquote>+ <p><strong>Note</strong>: For Tiki 30 and later, this step can be skipped. The README is no longer generated per release; the version from master (trunk) is shared across versions.</blockquote><blockquote>+ </p></blockquote><blockquote>+ <ul><li> <strong>Check links/content in the generated README file</strong></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ </li></ul><hr /></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Test_the_produced_tarballs_and_share_the_testing">1.1.5.  Test the produced "tarballs" and share the&nbsp;testing<a href="#Test_the_produced_tarballs_and_share_the_testing" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <p></blockquote><blockquote>+ <br />Test on your server. Ideally, you have 1-2 other people trying on different servers. In case of a major version (x.0), you need at least 3 installations from 3 different people</blockquote><blockquote>+ </p></blockquote><blockquote>+ <ul><li> Make sure to do a file integrity check with <code>tiki-admin_security.php?check_files</code> (<strong>Only applies on tiki 30 and lower</strong>)</blockquote><blockquote>+ </li><li> There are <a href="https://profiles.tiki.org/Profiles_in_installer%20" class="wiki ext_page profiles">4 featured profiles in the installer</a> and these are great tests.</blockquote><blockquote>+ </li><li> One tester should test an upgrade (from previous to newer minor version and  previous to newer major )</blockquote><blockquote>+ </li><li> The other tester should test a fresh install</blockquote><blockquote>+ </li><li> this can help you to make test: <a target="_blank" class="wiki external"  href="http://dev.tiki.org/Tiki-Test-Plan-for-new-site-admin">http://dev.tiki.org/Tiki-Test-Plan-for-new-site-admin<img src="img/icons/green_question.png" alt="Question" width="16" height="16" name="link-external" title="Question" class="icon" /></a></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ </li></ul><hr /></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Upload_tarballs_to_Sourceforge">1.1.6.  Upload tarballs to&nbsp;Sourceforge<a href="#Upload_tarballs_to_Sourceforge" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <p>When the "tarballs" are tested, the next step is to upload them to sourceforge. For that we have 3 options:</blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <div class="clearfix tabs" data-name="versions_tabset_04"><div class='float-end'><a class="btn btn-primary btn-sm" target="" role="button" data-role="button" data-inline="true"   href="/tiki-wiki_rss.php" onclick="setCookie('versions_tabset_04','n', 'tabs', 'session', window.tikiCookieConstants.BUILTIN_COOKIE_CATEGORY_FUNCTIONAL);" >No Tabs</a></div><ul class="nav nav-tabs" id="nav-versions_tabset_04"><li class="nav-item"><a class="nav-link active" href="#contentversions_tabset_04-1" data-bs-toggle="tab">Web Interface</a></li><li class="nav-item"><a class="nav-link " href="#contentversions_tabset_04-2" data-bs-toggle="tab">SCP</a></li><li class="nav-item"><a class="nav-link " href="#contentversions_tabset_04-3" data-bs-toggle="tab">SFTP</a></li></ul></div><div class="tab-content" id="v-pills-versions_tabset_04"><div id='contentversions_tabset_04-1' class='tab-pane pt-3 active'>                            <p></blockquote><blockquote>+ <br /></blockquote><blockquote>+ <br />Follow the steps to upload on SourceForge:</blockquote><blockquote>+ </p></blockquote><blockquote>+ <ul><li> <a class="wiki external" target="_blank" title="External link" href="http://sourceforge.net/p/forge/documentation/Files/" rel="external">http://sourceforge.net/p/forge/documentation/Files/</a></blockquote><blockquote>+ <p></blockquote><blockquote>+ </li></ul><br /></blockquote><blockquote>+                     </div>            <div id='contentversions_tabset_04-2' class='tab-pane pt-3 '>                            </blockquote><blockquote>+ <br />To upload the 'tarballs', copy-paste and execute the following line (and change '$SF_LOGIN' by your SF.net login and $VERSION with the version, which may look like "7.0.rc1" ):</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox73" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-syntax="shell"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox73" ><div class="code">cd ~/tikipack/$VERSION</blockquote><blockquote>+ scp *bz2 *gz *zip *7z $SF_LOGIN@frs.sourceforge.net:/home/pfs/project/t/ti/tikiwiki/$RELEASEFOLDER$</div></pre></div></blockquote><blockquote>+ <p></blockquote><blockquote>+                     </div>            <div id='contentversions_tabset_04-3' class='tab-pane pt-3 '>                            </blockquote><blockquote>+ <br />Alternatively, you can do it with sftp</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox74" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox74" ><div class="code">User jsmith seeks to put tiki-12.1.* .7z .zip .tgz .bz2 to the 12.1 directory of his project, tikiwiki:</blockquote><blockquote>+ </blockquote><blockquote>+ $ sftp jsmith@frs.sourceforge.net</blockquote><blockquote>+ Connecting to frs.sourceforge.net...</blockquote><blockquote>+ jsmith,fooproject@frs.sourceforge.net&#039;s password: </blockquote><blockquote>+ sftp&gt; cd /home/frs/project/tikiwiki/Tiki_12.x_Altair/</blockquote><blockquote>+ sftp&gt; mkdir 12.1</blockquote><blockquote>+ sftp&gt; cd 12.1</blockquote><blockquote>+ sftp&gt; mput tiki*.*</blockquote><blockquote>+ Uploading tiki-12.1.7z to /home/pfs/project/tikiwiki/Tiki_12.x_Altair/12.1/tiki-12.1.7z</blockquote><blockquote>+ tiki-12.1.7z                                                                                                           100%   27MB   2.3MB/s   00:12    </blockquote><blockquote>+ Uploading tiki-12.1.tar.bz2 to /home/pfs/project/tikiwiki/Tiki_12.x_Altair/12.1/tiki-12.1.tar.bz2</blockquote><blockquote>+ tiki-12.1.tar.bz2                                                                                                      100%   38MB   2.9MB/s   00:13    </blockquote><blockquote>+ Uploading tiki-12.1.tar.gz to /home/pfs/project/tikiwiki/Tiki_12.x_Altair/12.1/tiki-12.1.tar.gz</blockquote><blockquote>+ tiki-12.1.tar.gz                                                                                                       100%   43MB   2.7MB/s   00:16    </blockquote><blockquote>+ Uploading tiki-12.1.zip to /home/pfs/project/tikiwiki/Tiki_12.x_Altair/12.1/tiki-12.1.zip</blockquote><blockquote>+ tiki-12.1.zip                                                                                                          100%   52MB   2.9MB/s   00:18    </blockquote><blockquote>+ sftp&gt;</div></pre></div></blockquote><blockquote>+ <p>You need to have "release technician" status on SourceForge. Ask an Admin if you don't have it.</blockquote><blockquote>+ </p></blockquote><blockquote>+ <h4 class="showhide_heading d-flex justify-content-start" id="Update_default_download_version_on_Sourceforge:"> Update default download version on&nbsp;Sourceforge:<a href="#Update_default_download_version_on_Sourceforge:" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h4></blockquote><blockquote>+ <p>This needs to be done only if you are releasing a new major version or a minor version of the latest stable branch. To do so:</blockquote><blockquote>+ </p></blockquote><blockquote>+ <ol><li> Go to the Files page while logged in to access the File Manager</blockquote><blockquote>+ </li><li> From the File Manager navigate to the directory that contains the file</blockquote><blockquote>+ </li><li> Select the "i" icon for the file you wish to set as the default download</blockquote><blockquote>+ </li><li> On the bottom right check the boxes for the operating systems which you wish the file to be the default download for.</blockquote><blockquote>+ </li><li> Select save</blockquote><blockquote>+ <p></p></blockquote><blockquote>+ </li></ol></blockquote><blockquote>+                     </div></div></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <hr /></blockquote><blockquote>+ <h2 class="showhide_heading d-flex justify-content-start" id="After_Release_Steps">1.2.  After Release&nbsp;Steps<a href="#After_Release_Steps" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h2></blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>+ <h3 class="showhide_heading d-flex justify-content-start" id="Update_lib_setup_twversion.class.php_2">1.2.1.  Update&nbsp;lib/setup/twversion.class.php<a href="#Update_lib_setup_twversion.class.php_2" class="heading-link" aria-label="heading link"><span class="icon icon-link fas fa-link "   ></span></a></h3></blockquote><blockquote>+ <ul><li> change $this-&gt;version  = '<strong>23.1</strong>'; to '<strong>23.2vcs</strong>';</blockquote><blockquote>+ <p></blockquote><blockquote>+ </li></ul><br />Needs to have no spaces and use the format X.YabcZ see tikiVersions fn below for examples</blockquote><blockquote>+ </p></blockquote><blockquote>+ </blockquote><blockquote>+ <p>You can add a commit message like this one:</blockquote><blockquote>+ </p></blockquote><blockquote>+ <div class="codelisting_container"><div class="icon_copy_code far fa-clipboard" tabindex="0"  data-clipboard-target="#codebox75" ><span class="copy_code_tooltiptext">Copy to clipboard</span></div><pre class="codelisting"  data-theme="off"  data-wrap="1"  dir="ltr"  style="white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;" id="codebox75" ><div class="code">[REL]Closing release 12.1beta</div></pre></div></blockquote><blockquote>+ <hr /></blockquote>]]></summary>
    <published>2026-08-01T21:27:35+00:00</published>
    <updated>2026-08-01T21:27:35+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Release+Steps"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Release+Steps</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Tiki Test Plan for new site admin]]></title>
    <published>2026-07-31T13:07:56+00:00</published>
    <updated>2026-07-31T13:07:56+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Tiki+Test+Plan+for+new+site+admin"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Tiki+Test+Plan+for+new+site+admin</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Testing Checklist]]></title>
    <summary type="html"><![CDATA[<blockquote>- &lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&gt; Save and verify the theme&lt;/li&gt;</blockquote><blockquote>+ &lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&gt; Save and verify the theme<ins class="diffchar inserted"><strong> in Unified Admin Backend Mode and Non-Unified Admin Backend</strong></ins>&lt;/li&gt;</blockquote>]]></summary>
    <published>2026-07-31T13:02:59+00:00</published>
    <updated>2026-07-31T13:02:59+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Testing+Checklist"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Testing+Checklist</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Tiki30]]></title>
    <summary type="html"><![CDATA[<blockquote>- &lt;div&gt;	&lt;span class=&quot;wpfade-span-plain&quot;&gt;		&lt;a id=&quot;wpfade-<del class="diffchar deleted"><strong>6</strong></del>-link&quot; class=&gt;			SOLVED list of release blockers added manually		&lt;/a&gt;	&lt;/span&gt;	&lt;div id=&quot;wpfade-<del class="diffchar deleted"><strong>6</strong></del>&quot; class=&quot;wpfade-div-plain&quot;&gt;			&lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Reported by&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Details&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Status&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-1&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strike&gt;The UAB pref (theme_unified_admin_backend) is still optional (just added it to &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://dev.tiki.org/Endangered-features#Candidates_for_removals_for_Tiki_31&quot; rel=&quot;external&quot;&gt;Endangered features&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;; too late to remove the pref for 3<br>.x?) and when it gets disabled all the admin pages are broken/unusable (due to the sections refactoring) in master/3<br>.x&lt;/strike&gt; Fix MRs: &lt;span&gt;&lt;strong&gt;&lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/1<br>622&quot; rel=&quot;external&quot;&gt;!1<br>622 &lt;span class=&quot;icon icon-gitlab fab fa-gitlab &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/strong&gt;&lt;/span&gt; and &lt;span&gt;&lt;strong&gt;&lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/1<br>719&quot; rel=&quot;external&quot;&gt;!1<br>719 &lt;span class=&quot;icon icon-gitlab fab fa-gitlab &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-2&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strike&gt;After the latest fixes and due to the sections refactoring some admin/management pages fell off the &lt;a href=&quot;Unified-Admin-Backend&quot; title=&quot;&quot; class=&quot;wiki wiki_page&quot;&gt;UAB&lt;/a&gt; again&lt;/strike&gt; Fix MRs (same as above) &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-3&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/9283#note_3277<br>339<br>1&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;Custom Modules regression&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-4&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;  &lt;strike&gt;UAB needs to be perfectly usable (e.g., no transparent top bar on tiki-admin.php control panels!)&lt;/strike&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-usbbush-section-5&quot; title=&quot;User Information&quot; href=&quot;user12<br>89&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=usbbush&quot;&gt;&lt;b&gt;@bienvenu ushindi&lt;/b&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/968<br>&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;Fix Too late to modify headers in templates&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;br /&gt;&lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/1<br><br>18&quot; rel=&quot;external&quot;&gt; &lt;strike&gt;Too later to modify in calendar new module&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-jonnybradley-section-6&quot; title=&quot;User Information&quot; href=&quot;user8515&quot; class=&quot;userlink ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=jonnybradley&quot; data-geo-lat=&quot;51.421<br>48188964&quot; data-geo-lon=&quot;-<br>.19861199975416&quot; data-geo-zoom=&quot;1<br>&quot;&gt;&lt;b&gt;@Jonny Bradley&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/934<br>&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;Prevent output_headers() from throwing when service broker catches an error and output_headers() has already been attempted&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed / Closed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-chibaguy-section-7&quot; title=&quot;User Information&quot; href=&quot;user342&quot; class=&quot;userlink ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=chibaguy&quot; data-geo-lat=&quot;156<br>5745.2572629<br>6&quot; data-geo-lon=&quot;42581<br>4.<br>1636<br><br>97&quot; data-geo-zoom=&quot;18&quot;&gt;&lt;b&gt;@Gary Cunningham-Lee&lt;/b&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/9398&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;revamp of the page header/navbar&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-chibaguy-section-8&quot; title=&quot;User Information&quot; href=&quot;user342&quot; class=&quot;userlink ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=chibaguy&quot; data-geo-lat=&quot;156<br>5745.2572629<br>6&quot; data-geo-lon=&quot;42581<br>4.<br>1636<br><br>97&quot; data-geo-zoom=&quot;18&quot;&gt;&lt;b&gt;@Gary Cunningham-Lee&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://dev.tiki.org/item895<br>&quot; rel=&quot;external&quot;&gt; &lt;strike&gt;Smartmenus are broken with an inner scroll inside dropdown menu&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;	&lt;/div&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div&gt;	&lt;span class=&quot;wpfade-span-plain&quot;&gt;		&lt;a id=&quot;wpfade-<ins class="diffchar inserted"><strong>5</strong></ins>-link&quot; class=&gt;			SOLVED list of release blockers added manually		&lt;/a&gt;	&lt;/span&gt;	&lt;div id=&quot;wpfade-<ins class="diffchar inserted"><strong>5</strong></ins>&quot; class=&quot;wpfade-div-plain&quot;&gt;			&lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Reported by&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Details&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Status&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-1&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strike&gt;The UAB pref (theme_unified_admin_backend) is still optional (just added it to &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://dev.tiki.org/Endangered-features#Candidates_for_removals_for_Tiki_31&quot; rel=&quot;external&quot;&gt;Endangered features&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;; too late to remove the pref for 3<br>.x?) and when it gets disabled all the admin pages are broken/unusable (due to the sections refactoring) in master/3<br>.x&lt;/strike&gt; Fix MRs: &lt;span&gt;&lt;strong&gt;&lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/1<br>622&quot; rel=&quot;external&quot;&gt;!1<br>622 &lt;span class=&quot;icon icon-gitlab fab fa-gitlab &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/strong&gt;&lt;/span&gt; and &lt;span&gt;&lt;strong&gt;&lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/1<br>719&quot; rel=&quot;external&quot;&gt;!1<br>719 &lt;span class=&quot;icon icon-gitlab fab fa-gitlab &quot;   &gt;&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-2&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strike&gt;After the latest fixes and due to the sections refactoring some admin/management pages fell off the &lt;a href=&quot;Unified-Admin-Backend&quot; title=&quot;&quot; class=&quot;wiki wiki_page&quot;&gt;UAB&lt;/a&gt; again&lt;/strike&gt; Fix MRs (same as above) &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-3&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/9283#note_3277<br>339<br>1&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;Custom Modules regression&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-luci-section-4&quot; title=&quot;User Information&quot; href=&quot;user199&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=luci&quot;&gt;&lt;b&gt;@luci&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;  &lt;strike&gt;UAB needs to be perfectly usable (e.g., no transparent top bar on tiki-admin.php control panels!)&lt;/strike&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-usbbush-section-5&quot; title=&quot;User Information&quot; href=&quot;user12<br>89&quot; class=&quot;userlink ajaxtips&quot; data-ajaxtips=&quot;tiki-user-info?username=usbbush&quot;&gt;&lt;b&gt;@bienvenu ushindi&lt;/b&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/968<br>&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;Fix Too late to modify headers in templates&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;br /&gt;&lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/1<br><br>18&quot; rel=&quot;external&quot;&gt; &lt;strike&gt;Too later to modify in calendar new module&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-jonnybradley-section-6&quot; title=&quot;User Information&quot; href=&quot;user8515&quot; class=&quot;userlink ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=jonnybradley&quot; data-geo-lat=&quot;51.421<br>48188964&quot; data-geo-lon=&quot;-<br>.19861199975416&quot; data-geo-zoom=&quot;1<br>&quot;&gt;&lt;b&gt;@Jonny Bradley&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/934<br>&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;Prevent output_headers() from throwing when service broker catches an error and output_headers() has already been attempted&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed / Closed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-chibaguy-section-7&quot; title=&quot;User Information&quot; href=&quot;user342&quot; class=&quot;userlink ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=chibaguy&quot; data-geo-lat=&quot;156<br>5745.2572629<br>6&quot; data-geo-lon=&quot;42581<br>4.<br>1636<br><br>97&quot; data-geo-zoom=&quot;18&quot;&gt;&lt;b&gt;@Gary Cunningham-Lee&lt;/b&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://gitlab.com/tikiwiki/tiki/-/merge_requests/9398&quot; rel=&quot;external&quot;&gt;&lt;strike&gt;revamp of the page header/navbar&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;a id=&quot;mentioned-chibaguy-section-8&quot; title=&quot;User Information&quot; href=&quot;user342&quot; class=&quot;userlink ajaxtips geolocated&quot; data-ajaxtips=&quot;tiki-user-info?username=chibaguy&quot; data-geo-lat=&quot;156<br>5745.2572629<br>6&quot; data-geo-lon=&quot;42581<br>4.<br>1636<br><br>97&quot; data-geo-zoom=&quot;18&quot;&gt;&lt;b&gt;@Gary Cunningham-Lee&lt;/b&gt;&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://dev.tiki.org/item895<br>&quot; rel=&quot;external&quot;&gt; &lt;strike&gt;Smartmenus are broken with an inner scroll inside dropdown menu&lt;/strike&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Completed/Merged&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;	&lt;/div&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div id=&quot;wplist-<del class="diffchar deleted"><strong>4</strong></del>-div&quot; class=&quot;table-responsive ts-wrapperdiv &quot; &gt;<br>    &lt;table id=&quot;wplist-<del class="diffchar deleted"><strong>4</strong></del>&quot; class=&quot;table normal table-hover table-striped&quot; data-count=&quot;32&quot;&gt;</blockquote><blockquote>+ &lt;div id=&quot;wplist-<ins class="diffchar inserted"><strong>2</strong></ins>-div&quot; class=&quot;table-responsive ts-wrapperdiv &quot; &gt;<br>    &lt;table id=&quot;wplist-<ins class="diffchar inserted"><strong>2</strong></ins>&quot; class=&quot;table normal table-hover table-striped&quot; data-count=&quot;32&quot;&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Planned&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;What&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Completed&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Note&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Monday 2<br>26-<br>2-23 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;Freeze-and-Slush&quot; title=&quot;Freeze and Slush&quot; class=&quot;wiki wiki_page&quot;&gt;Slush&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Monday 2<br>26-<br>3-<br>2 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;Freeze-and-Slush&quot; title=&quot;Freeze and Slush&quot; class=&quot;wiki wiki_page&quot;&gt;Freeze&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Saturday 2<br>26-<br>3-14 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;When-to-branch&quot; title=&quot;When to branch&quot; class=&quot;wiki wiki_page&quot;&gt;Branching&lt;/a&gt; of 3<br>.x &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Monday 2<br>26-<br>3-16&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Saturday 2<br>26-<br>3-16 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;  Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://themes.tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://themes.tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Tuesday 2<br>26-<br>3-17 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Alpha &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Tue, Mar 31 2<br>26&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;A known &lt;strong&gt;Too late to modify headers&lt;/strong&gt; error may occur in some modules(Quick adminbar, contributors, calendar_new). This is a known issue in 3<br>.<br>-alpha and will be fixed before the beta release.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Saturday 2<br>26-<br>3-21 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://doc.tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://doc.tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Frid, Mar 27 2<br>26&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Friday 2<br>26-<br>3-27 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://dev.tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://dev.tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Thursday, April <br>9 2<br>26&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Thursday 2<br>26-<br>4-<br>2&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Beta &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Tuesday 2<br>26-<br>7-14&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Monday 2<br>26-<br>4-<br>6&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;  &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Wednesday 2<br>26-<br>7-15&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Saturday 2<br>26-<br>4-11&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; 3<br>.<br>RC1 &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Saturday 2<br>26-<br>4-18&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;https://tiki.org/When%2<br>to%2<br>release%2<br>-%2<br>think%2<br>popcorn&quot; class=&quot;wiki ext_page tw&quot;&gt;Release&lt;/a&gt; of Tiki 3<br>.<br> &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Monday 2<br>26-<br>6-15 (approx)&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Release of 3<br>.1 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;- &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;- &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Planned&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;What&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Completed&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;strong&gt;Note&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Monday 2<br>26-<br>2-23 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;Freeze-and-Slush&quot; title=&quot;Freeze and Slush&quot; class=&quot;wiki wiki_page&quot;&gt;Slush&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Monday 2<br>26-<br>3-<br>2 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;Freeze-and-Slush&quot; title=&quot;Freeze and Slush&quot; class=&quot;wiki wiki_page&quot;&gt;Freeze&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Saturday 2<br>26-<br>3-14 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;When-to-branch&quot; title=&quot;When to branch&quot; class=&quot;wiki wiki_page&quot;&gt;Branching&lt;/a&gt; of 3<br>.x &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Monday 2<br>26-<br>3-16&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Saturday 2<br>26-<br>3-16 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;  Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://themes.tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://themes.tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Tuesday 2<br>26-<br>3-17 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Alpha &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Tue, Mar 31 2<br>26&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;A known &lt;strong&gt;Too late to modify headers&lt;/strong&gt; error may occur in some modules(Quick adminbar, contributors, calendar_new). This is a known issue in 3<br>.<br>-alpha and will be fixed before the beta release.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Saturday 2<br>26-<br>3-21 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://doc.tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://doc.tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Frid, Mar 27 2<br>26&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Friday 2<br>26-<br>3-27 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://dev.tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://dev.tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Thursday, April <br>9 2<br>26&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Thursday 2<br>26-<br>4-<br>2&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Beta &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Tuesday 2<br>26-<br>7-14&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Monday 2<br>26-<br>4-<br>6&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Upgrade of &lt;a class=&quot;wiki external&quot; target=&quot;_blank&quot; title=&quot;External link&quot; href=&quot;https://tiki.org&quot; rel=&quot;external&quot;&gt;&lt;span style=&quot;color:#F<br><br>&quot;&gt;https://tiki.org&lt;/span&gt;&lt;/a&gt;&lt;img src=&quot;img/icons/green_question.png&quot; alt=&quot;Question&quot; width=&quot;16&quot; height=&quot;16&quot; name=&quot;link-external&quot; title=&quot;Question&quot; class=&quot;icon&quot; /&gt;  &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt; Wednesday 2<br>26-<br>7-15&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Saturday 2<br>26-<br>4-11&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; 3<br>.<br>RC1 &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;<ins class="diffchar inserted"><strong> Wednesday 2<br>26-<br>7-22</strong></ins>&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Saturday 2<br>26-<br>4-18&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; &lt;a href=&quot;https://tiki.org/When%2<br>to%2<br>release%2<br>-%2<br>think%2<br>popcorn&quot; class=&quot;wiki ext_page tw&quot;&gt;Release&lt;/a&gt; of Tiki 3<br>.<br> &lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;<ins class="diffchar inserted"><strong> Sunday 2<br>26-<br>7-26</strong></ins>&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strike&gt;Monday 2<br>26-<br>6-15 (approx)&lt;/strike&gt; &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt; Release of 3<br>.1 &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;- &lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;- &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote>]]></summary>
    <published>2026-07-29T18:21:17+00:00</published>
    <updated>2026-07-29T18:21:17+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Tiki30"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Tiki30</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[MenuPageBanner]]></title>
    <summary type="html"><![CDATA[<blockquote>+ </blockquote><blockquote>+ <style></blockquote><blockquote>+ #community-promotion-carousel {</blockquote><blockquote>+   --promotion-control-width: 2.75rem;</blockquote><blockquote>+ }</blockquote><blockquote>+ #community-promotion-carousel .carousel-control-prev,</blockquote><blockquote>+ #community-promotion-carousel .carousel-control-next {</blockquote><blockquote>+   width: var(--promotion-control-width);</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-panel {</blockquote><blockquote>+   box-sizing: border-box;</blockquote><blockquote>+   padding: .75rem 3.25rem;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-layout {</blockquote><blockquote>+   display: flex;</blockquote><blockquote>+   align-items: center;</blockquote><blockquote>+   gap: 1.5rem;</blockquote><blockquote>+   width: 100%;</blockquote><blockquote>+   min-width: 0;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-logo {</blockquote><blockquote>+   flex: 0 0 110px;</blockquote><blockquote>+   width: 110px;</blockquote><blockquote>+   height: 100px;</blockquote><blockquote>+   padding: .5rem;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-logo img {</blockquote><blockquote>+   display: block;</blockquote><blockquote>+   width: 100%;</blockquote><blockquote>+   height: 100%;</blockquote><blockquote>+   object-fit: contain;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-copy {</blockquote><blockquote>+   min-width: 0;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-title {</blockquote><blockquote>+   margin: 0 0 .25rem;</blockquote><blockquote>+   font-size: clamp(1.25rem, 2.2vw, 1.6rem);</blockquote><blockquote>+   line-height: 1.1;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-description {</blockquote><blockquote>+   margin: 0 0 .25rem;</blockquote><blockquote>+   font-size: .95rem;</blockquote><blockquote>+   line-height: 1.2;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-products {</blockquote><blockquote>+   margin: 0 0 .35rem;</blockquote><blockquote>+ }</blockquote><blockquote>+ #evoludata-promotion-actions .btn {</blockquote><blockquote>+   padding: .25rem .6rem;</blockquote><blockquote>+ }</blockquote><blockquote>+ @media (max-width: 575.98px) {</blockquote><blockquote>+   #evoludata-promotion-panel {</blockquote><blockquote>+     padding: .75rem 2.75rem;</blockquote><blockquote>+   }</blockquote><blockquote>+   #evoludata-promotion-layout {</blockquote><blockquote>+     gap: .75rem;</blockquote><blockquote>+   }</blockquote><blockquote>+   #evoludata-promotion-logo {</blockquote><blockquote>+     flex-basis: 72px;</blockquote><blockquote>+     width: 72px;</blockquote><blockquote>+     height: 72px;</blockquote><blockquote>+     padding: .25rem;</blockquote><blockquote>+   }</blockquote><blockquote>+   #evoludata-promotion-title {</blockquote><blockquote>+     font-size: 1.05rem;</blockquote><blockquote>+   }</blockquote><blockquote>+   #evoludata-promotion-description,</blockquote><blockquote>+   #evoludata-promotion-products {</blockquote><blockquote>+     font-size: .78rem;</blockquote><blockquote>+     line-height: 1.15;</blockquote><blockquote>+   }</blockquote><blockquote>+   #evoludata-promotion-actions {</blockquote><blockquote>+     gap: .3rem !important;</blockquote><blockquote>+   }</blockquote><blockquote>+   #evoludata-promotion-actions .btn {</blockquote><blockquote>+     padding: .2rem .4rem;</blockquote><blockquote>+     font-size: .72rem;</blockquote><blockquote>+   }</blockquote><blockquote>+ }</blockquote><blockquote>+ @media (prefers-reduced-motion: reduce) {</blockquote><blockquote>+   #community-promotion-carousel .carousel-item {</blockquote><blockquote>+     transition: none !important;</blockquote><blockquote>+   }</blockquote><blockquote>+ }</blockquote><blockquote>+ </style></blockquote><blockquote>+ </blockquote><blockquote>+ <div</blockquote><blockquote>+   id="community-promotion-carousel"</blockquote><blockquote>+   class="carousel slide mb-3"</blockquote><blockquote>+   data-bs-ride="carousel"</blockquote><blockquote>+   data-bs-interval="8000"</blockquote><blockquote>+   data-bs-pause="hover"</blockquote><blockquote>+   role="region"</blockquote><blockquote>+   aria-roledescription="carousel"</blockquote><blockquote>+   aria-label="Upcoming event and EvoluData promotion"</blockquote><blockquote>+ ></blockquote><blockquote>+   <div class="carousel-inner" aria-live="polite"></blockquote><blockquote>+     <div</blockquote><blockquote>+       id="calendar-event-slide"</blockquote><blockquote>+       class="carousel-item active"</blockquote><blockquote>+       role="group"</blockquote><blockquote>+       aria-roledescription="slide"</blockquote><blockquote>+       aria-label="1 of 2"</blockquote><blockquote>+     ></blockquote><blockquote>+ </blockquote><blockquote>+ <p></blockquote><blockquote>+ </p></blockquote><blockquote>- &lt;p&gt;&lt;/p&gt;</blockquote><blockquote>+ &lt;p<ins class="diffchar inserted"><strong>&gt;<br>&lt;/p&gt;<br><br>    &lt;/div&gt;<br><br>    &lt;div<br>      id=&quot;evoludata-promotion-slide&quot;<br>      class=&quot;carousel-item&quot;<br>      role=&quot;group&quot;<br>      aria-roledescription=&quot;slide&quot;<br>      aria-label=&quot;2 of 2&quot;<br>    &gt;<br>      &lt;section<br>        id=&quot;evoludata-promotion-panel&quot;<br>        class=&quot;alert alert-light bg-white border overflow-hidden d-flex align-items-center&quot;<br>        aria-labelledby=&quot;evoludata-promotion-title&quot;<br>      &gt;<br>        &lt;div id=&quot;evoludata-promotion-layout&quot;&gt;<br>          &lt;a<br>            id=&quot;evoludata-promotion-logo&quot;<br>            href=&quot;https://evoludata.com/?utm_source=dev-tiki&amp;utm_medium=carousel&amp;utm_campaign=open-source-sites&quot;<br>            target=&quot;_blank&quot;<br>            rel=&quot;noopener noreferrer&quot;<br>            class=&quot;d-flex align-items-center justify-content-center rounded bg-light&quot;<br>            aria-label=&quot;Visit EvoluData&quot;<br>          &gt;<br>            &lt;img<br>              src=&quot;https://evoludata.com/display22&quot;<br>              alt=&quot;EvoluData&quot;<br>              width=&quot;11<br>&quot;<br>              height=&quot;1<br><br>&quot;<br>              decoding=&quot;async&quot;<br>            &gt;<br>          &lt;/a&gt;<br><br>          &lt;div<br>            id=&quot;evoludata-promotion-copy&quot;<br>            class=&quot;flex-grow-1 text-start&quot;<br>          &gt;<br>            &lt;h2<br>              id=&quot;evoludata-promotion-title&quot;<br>              class=&quot;text-primary fw-bold&quot;<br>            &gt;<br>              Open Source solutions<br>            &lt;/h2&gt;<br><br>            &lt;p id=&quot;evoludata-promotion-description&quot;&gt;<br>              Custom development, consulting, and reliable support for critical Open Source platforms<br>            &lt;/p&gt;<br><br>            &lt;p<br>              id=&quot;evoludata-promotion-products&quot;<br>              class=&quot;fw-semibold&quot;<br>            &gt;<br>              TikiWiki · Cypht · Dolibarr<br>            &lt;/p&gt;<br><br>            &lt;div<br>              id=&quot;evoludata-promotion-actions&quot;<br>              class=&quot;d-flex flex-wrap gap-2&quot;<br>            &gt;<br>              &lt;a<br>                class=&quot;btn btn-primary&quot;<br>                href=&quot;https://evoludata.com/en/Solutions?utm_source=dev-tiki&amp;utm_medium=carousel&amp;utm_campaign=open-source-sites&amp;utm_content=solutions&quot;<br>                target=&quot;_blank&quot;<br>                rel=&quot;noopener noreferrer&quot;<br>              &gt;<br>                Explore our solutions<br>              &lt;/a&gt;<br><br>              &lt;a<br>                class=&quot;btn btn-outline-primary&quot;<br>                href=&quot;https://evoludata.com/en/Contact-Us?utm_source=dev-tiki&amp;utm_medium=carousel&amp;utm_campaign=open-source-sites&amp;utm_content=contact&quot;<br>                target=&quot;_blank&quot;<br>                rel=&quot;noopener noreferrer&quot;<br>              &gt;<br>                Contact us<br>              &lt;/a&gt;<br>            &lt;/div&gt;<br>          &lt;/div&gt;<br>        &lt;/div&gt;<br>      &lt;/section&gt;<br>    &lt;/div&gt;<br>  &lt;/div&gt;<br><br>  &lt;button<br>    class=&quot;carousel-control-prev&quot;<br>    type=&quot;button&quot;<br>    data-bs-target=&quot;#community-promotion-carousel&quot;<br>    data-bs-slide=&quot;prev&quot;<br>    aria-label=&quot;Previous slide&quot;<br>  &gt;<br>    &lt;span<br>      class=&quot;carousel-control-prev-icon&quot;<br>      aria-hidden=&quot;true&quot;<br>    &gt;&lt;/span&gt;<br>  &lt;/button&gt;<br><br>  &lt;button<br>    class=&quot;carousel-control-next&quot;<br>    type=&quot;button&quot;<br>    data-bs-target=&quot;#community-promotion-carousel&quot;<br>    data-bs-slide=&quot;next&quot;<br>    aria-label=&quot;Next slide&quot;<br>  &gt;<br>    &lt;span<br>      class=&quot;carousel-control-next-icon&quot;<br>      aria-hidden=&quot;true&quot;<br>    &gt;&lt;/span&gt;<br>  &lt;/button&gt;<br>&lt;/div&gt;<br><br>&lt;p&gt;<br>&lt;br /</strong></ins>&gt;&lt;/p&gt;</blockquote>]]></summary>
    <published>2026-07-26T11:04:12+00:00</published>
    <updated>2026-07-26T11:04:12+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=MenuPageBanner"/>
    <id>https://dev.tiki.org/tiki-index.php?page=MenuPageBanner</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Tiki-End-to-End-Testing]]></title>
    <summary type="html"><![CDATA[<blockquote>- &lt;br /&gt;&lt;div id=&#039;toc&#039;&gt;&lt;div id=&#039;toctitle&#039;&gt;&lt;h3&gt;Table of contents&lt;/h3&gt;&lt;/div&gt;&lt;ul class=&quot;toc&quot;&gt;&lt;/ul&gt;&lt;!--toc--&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;br /&gt;&lt;div id=&#039;toc&#039;&gt;&lt;div id=&#039;toctitle&#039;&gt;&lt;h3&gt;Table of contents&lt;/h3&gt;&lt;/div&gt;&lt;ul class=&quot;toc&quot;<ins class="diffchar inserted"><strong>&gt;&lt;li&gt;&lt;a href=&#039;#End-to-End_Tests&#039; class=&#039;link&#039;&gt; End-to-End Tests&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Prerequisites&#039; class=&#039;link&#039;&gt; Prerequisites&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#First-time_setup&#039; class=&#039;link&#039;&gt; First-time setup&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Environment_variables&#039; class=&#039;link&#039;&gt; Environment variables&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Test_users&#039; class=&#039;link&#039;&gt; Test users&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Automatic_environment_seeding&#039; class=&#039;link&#039;&gt; Automatic environment seeding&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Running_the_tests&#039; class=&#039;link&#039;&gt; Running the tests&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Interactive_and_debug_modes&#039; class=&#039;link&#039;&gt; Interactive and debug modes&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Viewing_the_HTML_report&#039; class=&#039;link&#039;&gt; Viewing the HTML report&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Overriding_the_reporter&#039; class=&#039;link&#039;&gt; Overriding the reporter&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Directory_structure&#039; class=&#039;link&#039;&gt; Directory structure&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Adding_a_new_test_domain&#039; class=&#039;link&#039;&gt; Adding a new test domain&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Fixtures&#039; class=&#039;link&#039;&gt; Fixtures&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Test_suites&#039; class=&#039;link&#039;&gt; Test suites&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#shared-secrets_:_Shared_Secrets_and_Tracker_Encryption&#039; class=&#039;link&#039;&gt; shared-secrets/: Shared Secrets and Tracker Encryption&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#wiki-pages_:_Wiki_Page_Management&#039; class=&#039;link&#039;&gt; wiki-pages/: Wiki Page Management&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#smoke_:_Framework_and_Environment_Smoke_Tests&#039; class=&#039;link&#039;&gt; smoke/: Framework and Environment Smoke Tests&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Self-Contained_Mode&#039; class=&#039;link&#039;&gt; Self-Contained Mode&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#CI_integration&#039; class=&#039;link&#039;&gt; CI integration&lt;/a&gt;<br>&lt;ul&gt;&lt;li&gt;&lt;a href=&#039;#Accessing_the_HTML_report_artifact&#039; class=&#039;link&#039;&gt; Accessing the HTML report artifact&lt;/a&gt;<br>&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Troubleshooting&#039; class=&#039;link&#039;&gt; Troubleshooting&lt;/a&gt;<br>&lt;/li&gt;&lt;li&gt;&lt;a href=&#039;#Related_pages&#039; class=&#039;link&#039;&gt; Related pages&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li</strong></ins>&gt;&lt;/ul&gt;&lt;!--toc--&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>89</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>89</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;tests/e2e/bin/e2e-setup.sh          # setup + smoke run</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>76</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>76</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;tests/e2e/bin/e2e-setup.sh          # setup + smoke run</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>9<br></strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>9<br></strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;npm install                    # @playwright/test is a root devDependency</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>77</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>77</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;npm install                    # @playwright/test is a root devDependency</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>91</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>91</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cp tests/e2e/.env.template tests/e2e/.env&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>78</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>78</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cp tests/e2e/.env.template tests/e2e/.env&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Variable&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_BASE_URL<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>http://localhost<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Base URL of your Tiki instance&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_FIXTURE_CMD<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;auto-detected&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;PHP invocation prefix for fixture scripts&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_ADMIN_USER<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>admin<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Admin username for tests requiring admin access&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_ADMIN_PASS<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>admin1234<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Admin password&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_TEST_USER<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>Test1<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered non-admin username for permission tests&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_TEST_PASS<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>test1pass<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered user password&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_E2E_WEBSERVER<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;unset&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Set to &lt;code&gt;1&lt;/code&gt; for self-contained mode: serve this checkout via &lt;code&gt;php -S&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_E2E_PORT<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>8686<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Port for the built-in web server in self-contained mode&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_E2E_DB_*<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tiki_e2e<del class="diffchar deleted"><strong>+-</strong></del> on &lt;code&gt;127.<br>.<br>.1&lt;/code&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Dedicated test DB host, name, user and password (self-contained mode)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Variable&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_BASE_URL<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>http://localhost<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Base URL of your Tiki instance&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_FIXTURE_CMD<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;auto-detected&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;PHP invocation prefix for fixture scripts&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_ADMIN_USER<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>admin<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Admin username for tests requiring admin access&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_ADMIN_PASS<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>admin1234<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Admin password&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_TEST_USER<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>Test1<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered non-admin username for permission tests&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_TEST_PASS<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>test1pass<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered user password&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_E2E_WEBSERVER<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;unset&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Set to &lt;code&gt;1&lt;/code&gt; for self-contained mode: serve this checkout via &lt;code&gt;php -S&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_E2E_PORT<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>8686<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Port for the built-in web server in self-contained mode&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_E2E_DB_*<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tiki_e2e<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins> on &lt;code&gt;127.<br>.<br>.1&lt;/code&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Dedicated test DB host, name, user and password (self-contained mode)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;User&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Password&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Role&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Test1&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>test1pass<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered, primary tester&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Test2&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>test2pass<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered, secondary&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;admin&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>admin1234<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Administrator&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;User&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Password&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Role&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Test1&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>test1pass<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered, primary tester&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Test2&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>test2pass<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Registered, secondary&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;admin&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>admin1234<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Administrator&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox9<del class="diffchar deleted"><strong>2</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox9<del class="diffchar deleted"><strong>2</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;php tests/e2e/fixtures/create_test_users.php&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>7</strong></ins>9&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>7</strong></ins>9&quot; &gt;&lt;div class=&quot;code&quot;&gt;php tests/e2e/fixtures/create_test_users.php&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;br /&gt;Adapt the PHP invocation to your environment <del class="diffchar deleted"><strong>(-+</strong></del>ddev exec php<del class="diffchar deleted"><strong>+-</strong></del>, &lt;code&gt;docker exec&lt;/code&gt;, plain &lt;code&gt;php&lt;/code&gt;<del class="diffchar deleted"><strong>)</strong></del>.</blockquote><blockquote>+ &lt;br /&gt;Adapt the PHP invocation to your environment<ins class="diffchar inserted"><strong>:</strong></ins> <ins class="diffchar inserted"><strong>&lt;code&gt;</strong></ins>ddev exec php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>, &lt;code&gt;docker exec&lt;/code&gt;,<ins class="diffchar inserted"><strong> or</strong></ins> plain &lt;code&gt;php&lt;/code&gt;.</blockquote><blockquote>- &lt;/li&gt;&lt;li&gt; &lt;code&gt;enable_encryption.php&lt;/code&gt; persists the &lt;strong&gt;User Encryption&lt;/strong&gt; security fe<del class="diffchar deleted"><strong>atu</strong></del>re <del class="diffchar deleted"><strong>(-+</strong></del>feature_user_encryption=&#039;y&#039;<del class="diffchar deleted"><strong>+-)</strong></del> in the database.</blockquote><blockquote>+ &lt;/li&gt;&lt;li&gt; &lt;code&gt;enable_encryption.php&lt;/code&gt; persists the &lt;strong&gt;User Encryption&lt;/strong&gt; security <ins class="diffchar inserted"><strong>pre</strong></ins>fer<ins class="diffchar inserted"><strong>enc</strong></ins>e <ins class="diffchar inserted"><strong>&lt;code&gt;</strong></ins>feature_user_encryption=&#039;y&#039;<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins> in the database.</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>93</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>93</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;npm run test:e2e         # all suites</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>8<br></strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>8<br></strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;npm run test:e2e         # all suites</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>94</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>94</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd tests/e2e</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>81</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>81</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd tests/e2e</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>95</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>95</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;# Open Playwright UI: browse, filter, and re-run tests interactively</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>82</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>82</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;# Open Playwright UI: browse, filter, and re-run tests interactively</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>96</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>96</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd tests/e2e</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>83</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>83</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;cd tests/e2e</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>97</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>97</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;npx playwright test --reporter=list   # terminal only</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>84</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>84</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;npx playwright test --reporter=list   # terminal only</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>9</strong></del>8&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>9</strong></del>8&quot; &gt;&lt;div class=&quot;code&quot;&gt;tests/e2e/</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox8<ins class="diffchar inserted"><strong>5</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox8<ins class="diffchar inserted"><strong>5</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;tests/e2e/</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>99</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;typescript&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>99</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;import { useSuiteFixtures } from &amp;quot;../../common/fixtures&amp;quot;;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>86</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;typescript&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>86</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;import { useSuiteFixtures } from &amp;quot;../../common/fixtures&amp;quot;;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Script&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Used by&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>create_test_users.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Global setup&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Ensure Test1/Test2 exist with known passwords&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>enable_encryption.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Global setup&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Persist &lt;code&gt;feature_user_encryption=&#039;y&#039;&lt;/code&gt; in the DB, idempotent&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>clean_baseline.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Maintenance&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Wipe all TC-prefixed keys and trackers from the DB, for recovery after a killed run in existing-instance mode&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>provision_admin.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Provisioning&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Set admin password and &lt;code&gt;pass_confirm&lt;/code&gt; on a fresh install, called by &lt;code&gt;e2e-provision.sh&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>provision_defaults.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Provisioning&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Test-friendly prefs on a fresh install, for example no admin wizard, called by &lt;code&gt;e2e-provision.sh&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc<br>4_setup.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create tracker, encrypted field and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc<br>4_teardown.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-<br>4 tracker and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc<br>6_setup.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create tracker and key, return Test1 share string&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc<br>6_teardown.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-<br>6 tracker and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc1<br>_setup.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create tracker and key with share string&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc1<br>_teardown.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-1<br> tracker and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc11_setup.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create key for the regeneration test&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>shared-secrets/tc11_teardown.php<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-11 key&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Script&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Used by&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>create_test_users.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Global setup&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Ensure Test1/Test2 exist with known passwords&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>enable_encryption.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Global setup&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Persist &lt;code&gt;feature_user_encryption=&#039;y&#039;&lt;/code&gt; in the DB, idempotent&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>clean_baseline.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Maintenance&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Wipe all TC-prefixed keys and trackers from the DB, for recovery after a killed run in existing-instance mode&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>provision_admin.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Provisioning&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Set admin password and &lt;code&gt;pass_confirm&lt;/code&gt; on a fresh install, called by &lt;code&gt;e2e-provision.sh&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>provision_defaults.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Provisioning&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Test-friendly prefs on a fresh install, for example no admin wizard, called by &lt;code&gt;e2e-provision.sh&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc<br>4_setup.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create tracker, encrypted field and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc<br>4_teardown.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-<br>4 tracker and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc<br>6_setup.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create tracker and key, return Test1 share string&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc<br>6_teardown.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-<br>6 tracker and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc1<br>_setup.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create tracker and key with share string&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc1<br>_teardown.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-1<br> tracker and key&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc11_setup.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Create key for the regeneration test&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>shared-secrets/tc11_teardown.php<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;shared-secrets&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Remove TC-11 key&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Coverage&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>1-encryption-tab.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Encryption tab visible and accessible&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>2-create-key.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key creation with one shared user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>3-create-key-with-users.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key creation with shared users&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>4-tracker-field-encryption.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Write and read an encrypted tracker field&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>5-edit-key.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Edit key metadata: rename, description, duplicate guard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>6-unlock-flow.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Encrypted field unlock flow: share entry, session unlock&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>7-delete-key.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key deletion flow&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>8-security.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Unauthorized access is blocked&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>9-algorithm.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Algorithm dropdown, absent on 27.x and future-proofed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc1<br>-manual-key-entry.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Manual share entry via the UI modal&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc11-key-regeneration.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key regeneration flow&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Coverage&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>1-encryption-tab.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Encryption tab visible and accessible&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>2-create-key.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key creation with one shared user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>3-create-key-with-users.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key creation with shared users&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>4-tracker-field-encryption.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Write and read an encrypted tracker field&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>5-edit-key.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Edit key metadata: rename, description, duplicate guard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>6-unlock-flow.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Encrypted field unlock flow: share entry, session unlock&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>7-delete-key.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key deletion flow&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>8-security.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Unauthorized access is blocked&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>9-algorithm.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Algorithm dropdown, absent on 27.x and future-proofed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc1<br>-manual-key-entry.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Manual share entry via the UI modal&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc11-key-regeneration.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Key regeneration flow&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Coverage&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>1-page-lifecycle.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Create, view content and delete a wiki page&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>2-page-access.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Page listing accessible, nonexistent page prompts creation&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Coverage&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>1-page-lifecycle.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Create, view content and delete a wiki page&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>2-page-access.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Page listing accessible, nonexistent page prompts creation&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Needs live Tiki&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Coverage&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br><br>-subpath-routing.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;no&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>page.goto<del class="diffchar deleted"><strong>+-</strong></del> subpath prefixing: prepends &lt;code&gt;BASE_PATH&lt;/code&gt; to leading-slash URLs, leaves absolute and relative paths untouched&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>tc<br>1-environment.spec.ts<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;yes&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Environment readiness: instance reachable, admin credentials log in, User Encryption feature enabled&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Needs live Tiki&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Coverage&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br><br>-subpath-routing.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;no&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>page.goto<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins> subpath prefixing: prepends &lt;code&gt;BASE_PATH&lt;/code&gt; to leading-slash URLs, leaves absolute and relative paths untouched&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>tc<br>1-environment.spec.ts<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;yes&lt;/td&gt;&lt;td class=&quot;wikicell&quot; &gt;Environment readiness: instance reachable, admin credentials log in, User Encryption feature enabled&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>1<br><br></strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>1<br><br></strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;# 1. Provision once (writes db/local.php, installs the schema, sets the admin password).</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>87</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-syntax=&quot;bash&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>87</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;# 1. Provision once (writes db/local.php, installs the schema, sets the admin password).</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Job&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Runs&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>e2e-all<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Every suite under &lt;code&gt;suites/&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>e2e-suite: <del class="diffchar deleted"><strong>&lt;a class=&quot;wiki&quot;   href=&quot;</strong></del>smoke<del class="diffchar deleted"><strong>&quot; rel=&quot;&quot;&gt;sm</strong></del>o<del class="diffchar deleted"><strong>k</strong></del>e<del class="diffchar deleted"><strong>&lt;/a</strong></del>&gt;<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Framework and environment smoke checks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>e2e-suite: <del class="diffchar deleted"><strong>&lt;a class=&quot;wiki&quot;   href=&quot;</strong></del>shared-secrets<del class="diffchar deleted"><strong>&quot; rel=&quot;&quot;&gt;share</strong></del>d<del class="diffchar deleted"><strong>-s</strong></del>e<del class="diffchar deleted"><strong>crets&lt;/a</strong></del>&gt;<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;The Shared Secrets domain&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>e2e-suite: <del class="diffchar deleted"><strong>&lt;a class=&quot;wiki&quot;   href=&quot;wiki-pages&quot; rel=&quot;&quot;&gt;</strong></del>wiki-pages&lt;/<del class="diffchar deleted"><strong>a</strong></del>&gt;<del class="diffchar deleted"><strong>+-</strong></del>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;The wiki-pages domain&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Job&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Runs&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>e2e-all<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins>&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Every suite under &lt;code&gt;suites/&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>e2e-suite: <ins class="diffchar inserted"><strong>[</strong></ins>smoke<ins class="diffchar inserted"><strong>]&lt;/c</strong></ins>o<ins class="diffchar inserted"><strong>d</strong></ins>e&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Framework and environment smoke checks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>e2e-suite: <ins class="diffchar inserted"><strong>[</strong></ins>shared-secrets<ins class="diffchar inserted"><strong>]&lt;/co</strong></ins>de&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;The Shared Secrets domain&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>e2e-suite: <ins class="diffchar inserted"><strong>[</strong></ins>wiki-pages<ins class="diffchar inserted"><strong>]</strong></ins>&lt;/<ins class="diffchar inserted"><strong>code</strong></ins>&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;The wiki-pages domain&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>- &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<del class="diffchar deleted"><strong>1<br>1</strong></del>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<del class="diffchar deleted"><strong>1<br>1</strong></del>&quot; &gt;&lt;div class=&quot;code&quot;&gt;https://gitlab.com/tikiwiki/tiki/-/jobs/&amp;lt;job-id&amp;gt;/artifacts/file/tests/e2e/playwright-report/index.html&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>+ &lt;div class=&quot;codelisting_container&quot;&gt;&lt;div class=&quot;icon_copy_code far fa-clipboard&quot; tabindex=&quot;<br>&quot;  data-clipboard-target=&quot;#codebox<ins class="diffchar inserted"><strong>88</strong></ins>&quot; &gt;&lt;span class=&quot;copy_code_tooltiptext&quot;&gt;Copy to clipboard&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;codelisting&quot;  data-theme=&quot;off&quot;  data-wrap=&quot;1&quot;  dir=&quot;ltr&quot;  style=&quot;white-space:pre-wrap; overflow-wrap: break-word; word-wrap: break-word;&quot; id=&quot;codebox<ins class="diffchar inserted"><strong>88</strong></ins>&quot; &gt;&lt;div class=&quot;code&quot;&gt;https://gitlab.com/tikiwiki/tiki/-/jobs/&amp;lt;job-id&amp;gt;/artifacts/file/tests/e2e/playwright-report/index.html&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</blockquote><blockquote>- &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Symptom&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Likely cause and fix&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Global setup warns that fixtures could not run&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;<del class="diffchar deleted"><strong>-+</strong></del>TIKI_FIXTURE_CMD<del class="diffchar deleted"><strong>+-</strong></del> does not match your environment. Set it to &lt;code&gt;php&lt;/code&gt;, &lt;code&gt;ddev exec php&lt;/code&gt;, or your Docker equivalent.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;A spec file is skipped with a fixture warning&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Its &lt;code&gt;tcNN_setup.php&lt;/code&gt; failed. Run the script manually from the Tiki root to see the PHP error.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Tabs or modals time out&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;The frontend bundles are missing. Run &lt;code&gt;npm run build&lt;/code&gt; so &lt;code&gt;public/generated/&lt;/code&gt; exists, otherwise Bootstrap JS never loads.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Key creation fails with a math error&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;<del class="diffchar deleted"><strong>-+</strong></del>bcmath<del class="diffchar deleted"><strong>+-</strong></del> is not installed. The Shamir secret-sharing library behind shared secrets requires it.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Leftover TC-prefixed keys or trackers after a killed run&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Run &lt;code&gt;php tests/e2e/fixtures/clean_baseline.php&lt;/code&gt; from the Tiki root, in existing-instance mode only.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<del class="diffchar deleted"><strong>-+</strong></del>e2e-provision.sh<del class="diffchar deleted"><strong>+-</strong></del> refuses to run&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;A &lt;code&gt;db/local.php&lt;/code&gt; already exists. Use a fresh checkout or worktree, or pass &lt;code&gt;--force&lt;/code&gt; to reset.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote><blockquote>+ &lt;table class=&quot;wikitable table table-striped table-hover&quot;&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;&lt;strong&gt;Symptom&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;&lt;strong&gt;Likely cause and fix&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Global setup warns that fixtures could not run&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>TIKI_FIXTURE_CMD<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins> does not match your environment. Set it to &lt;code&gt;php&lt;/code&gt;, &lt;code&gt;ddev exec php&lt;/code&gt;, or your Docker equivalent.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;A spec file is skipped with a fixture warning&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Its &lt;code&gt;tcNN_setup.php&lt;/code&gt; failed. Run the script manually from the Tiki root to see the PHP error.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Tabs or modals time out&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;The frontend bundles are missing. Run &lt;code&gt;npm run build&lt;/code&gt; so &lt;code&gt;public/generated/&lt;/code&gt; exists, otherwise Bootstrap JS never loads.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Key creation fails with a math error&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>bcmath<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins> is not installed. The Shamir secret-sharing library behind shared secrets requires it.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;Leftover TC-prefixed keys or trackers after a killed run&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;Run &lt;code&gt;php tests/e2e/fixtures/clean_baseline.php&lt;/code&gt; from the Tiki root, in existing-instance mode only.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;wikicell&quot; &gt;<ins class="diffchar inserted"><strong> &lt;code&gt;</strong></ins>e2e-provision.sh<ins class="diffchar inserted"><strong>&lt;/code&gt;</strong></ins> refuses to run&lt;/td&gt;&lt;td class=&quot;wikicell&quot;  colspan=&quot;2&quot;&gt;A &lt;code&gt;db/local.php&lt;/code&gt; already exists. Use a fresh checkout or worktree, or pass &lt;code&gt;--force&lt;/code&gt; to reset.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</blockquote>]]></summary>
    <published>2026-07-23T13:19:51+00:00</published>
    <updated>2026-07-23T13:19:51+00:00</updated>
    <link rel="alternate" type="text/html" href="https://dev.tiki.org/tiki-index.php?page=Tiki-End-to-End-Testing"/>
    <id>https://dev.tiki.org/tiki-index.php?page=Tiki-End-to-End-Testing</id>
  </entry>
</feed>
