Release 6.1.0 Alpha 1
authorAlexander Ebert <ebert@woltlab.com>
Mon, 29 Jul 2024 09:48:11 +0000 (11:48 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 29 Jul 2024 10:04:34 +0000 (12:04 +0200)
com.woltlab.wcf/files_pre_check.tar [new file with mode: 0644]
com.woltlab.wcf/package.xml
wcfsetup/install/files/lib/system/WCF.class.php
wcfsetup/install/files/lib/system/page/PageLocationManager.class.php
wcfsetup/install/files/lib/system/request/RequestHandler.class.php

diff --git a/com.woltlab.wcf/files_pre_check.tar b/com.woltlab.wcf/files_pre_check.tar
new file mode 100644 (file)
index 0000000..6e29cc1
Binary files /dev/null and b/com.woltlab.wcf/files_pre_check.tar differ
index f216a753cbaa204ca3db47261e583dbcc097acf4..fccd94b00e54f1a91fa29429ccf62b57b49f5c3b 100644 (file)
@@ -5,8 +5,8 @@
                <packagedescription>Free CMS and web-framework, designed for awesome websites and communities.</packagedescription>
                <packagedescription language="de">Freies CMS und Web-Framework, das eindrucksvolle Websites und Communities ermöglicht.</packagedescription>
                <isapplication>1</isapplication>
-               <version>6.1.0 dev 1</version>
-               <date>2024-04-19</date>
+               <version>6.1.0 Alpha 1</version>
+               <date>2024-07-29</date>
        </packageinformation>
 
        <authorinformation>
 
                <instruction type="script">acp/install_com.woltlab.wcf_step2.php</instruction>
        </instructions>
+
+       <instructions type="update" fromversion="6.0.*">
+               <!--
+tar cvf com.woltlab.wcf/files_pre_check.tar -C wcfsetup/install/files/ \
+       acp/update_com.woltlab.wcf_6.1_checkSystemRequirements.php \
+       acp/update_com.woltlab.wcf_6.1_messageEmbeddedObject.php \
+       acp/update_com.woltlab.wcf_6.1_sharedTemplate.php \
+       acp/database/update_com.woltlab.wcf_6.1.php
+               -->
+               <instruction type="file">files_pre_check.tar</instruction>
+
+               <!-- Checks that need to happen before the upgrade starts. -->
+               <instruction type="script" run="standalone">acp/update_com.woltlab.wcf_6.1_checkSystemRequirements.php</instruction>
+
+               <!-- Required for the shared templates. -->
+               <instruction type="script">acp/update_com.woltlab.wcf_6.1_sharedTemplate.php</instruction>
+
+               <!-- Clean up any duplicate entries in the message embedded objects table. -->
+               <instruction type="script" run="standalone">acp/update_com.woltlab.wcf_6.1_messageEmbeddedObject.php</instruction>
+
+               <!-- Migrate the database as early as possible. -->
+               <instruction type="database">acp/database/update_com.woltlab.wcf_6.1.php</instruction>
+
+               <!-- Deploy the new application code. -->
+               <instruction type="file"/>
+               <instruction type="acpTemplate"/>
+               <instruction type="template"/>
+
+               <instruction type="script" run="standalone">acp/update_com.woltlab.wcf_6.1_spider_step1.php</instruction>
+               <instruction type="database" run="standalone">acp/database/update_com.woltlab.wcf_6.1_spider_step2.php</instruction>
+
+               <instruction type="language"/>
+               <instruction type="objectTypeDefinition"/>
+               <instruction type="objectType"/>
+               <instruction type="packageInstallationPlugin"/>
+               <instruction type="page"/>
+               <instruction type="menuItem"/>
+               <instruction type="templateListener"/>
+               <instruction type="aclOption"/>
+               <instruction type="eventListener"/>
+               <instruction type="userGroupOption"/>
+               <instruction type="coreObject"/>
+               <instruction type="userProfileMenu"/>
+               <instruction type="box"/>
+               <instruction type="bbcode"/>
+               <instruction type="acpTemplateDelete"/>
+               <instruction type="acpSearchProvider"/>
+               <instruction type="acpMenu"/>
+               <instruction type="fileDelete"/>
+               <instruction type="userMenu"/>
+               <instruction type="mediaProvider"/>
+               <instruction type="menu"/>
+               <instruction type="option"/>
+               <instruction type="smiley"/>
+               <instruction type="templateDelete"/>
+               <instruction type="cronjob"/>
+               <instruction type="clipboardAction"/>
+               <instruction type="userOption"/>
+               <instruction type="userNotificationEvent"/>
+
+               <instruction type="script" run="standalone">acp/update_com.woltlab.wcf_6.1_serviceWorker.php</instruction>
+       </instructions>
 </package>
index aa52e18efdb7575fecd7587a455617b6b166602b..c50861e36624906310c428318b3180965d14e6ff 100644 (file)
@@ -79,7 +79,7 @@ if (\function_exists('mb_regex_encoding')) {
 \mb_language('uni');
 
 // define current woltlab suite version
-\define('WCF_VERSION', '6.1.0 dev 1');
+\define('WCF_VERSION', '6.1.0 Alpha 1');
 
 // define current unix timestamp
 \define('TIME_NOW', \time());
index e007cfba73bde98d67c87658f163a226bb757bb8..a3b3460842cf5ca4d70d9d5c48809398c3f2b49b 100644 (file)
@@ -37,7 +37,19 @@ class PageLocationManager extends SingletonFactory
     public function init()
     {
         $pageID = $pageObjectID = 0;
-        $page = RequestHandler::getInstance()->getActivePage();
+
+        if (\str_starts_with(\WCF_VERSION, '6.0')) {
+            // `RequestHandler::getActivePage()` was added in 6.1, but is being
+            // indirectly accessed during the upgrade from 6.0 → 6.1 in the
+            // shutdown handler for the session.
+            //
+            // This branch should be removed in 6.2 because it only exist for
+            // the upgrade itself. DO NOT remove it in 6.1 in case later
+            // releases are being used for the upgrade.
+            $page = null;
+        } else {
+            $page = RequestHandler::getInstance()->getActivePage();
+        }
 
         if ($page !== null) {
             $pageID = $page->pageID;
index b4c06bf17c68bf14e876fa41c41170cfaef7ceeb..b3716b0ee7d2983f83e2b6ba4cacc0beb8205a1a 100644 (file)
@@ -336,6 +336,9 @@ final class RequestHandler extends SingletonFactory
         return false;
     }
 
+    /**
+     * @since 6.1
+     */
     public function getActivePage(): ?Page
     {
         if (!isset($this->activePage)) {