From e85605af7feca34e5fa50c97566b08f0c6363a83 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 9 Jun 2023 01:44:45 +0100 Subject: [PATCH 01/11] changelog: fixed typo [ci skip] --- changelogs/4.22.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelogs/4.22.md b/changelogs/4.22.md index f47b0a684..9f38e53b6 100644 --- a/changelogs/4.22.md +++ b/changelogs/4.22.md @@ -27,7 +27,7 @@ If you're upgrading from 4.20.x directly to 4.22.x, please also read the followi Released 9th June 2023. ## Fixes -- Reokaced workaround for an old teleporting client bug: +- Replaced workaround for an old teleporting client bug: - This workaround broke due to an additional client bug introduced by 1.20, causing players to become frozen to observers when teleported. - The original client bug has still not been fixed, meaning a new workaround was needed, but no perfect solution could be found. - The new workaround involves broadcasting teleport movements as regular movements, which causes unwanted interpolation between the old and new positions, but otherwise works correctly. This solution is not ideal, but it is the best we can do for now. From f4dab17a1b5c39a1ddb2769be4b2186eecc9b235 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 10:29:14 +0100 Subject: [PATCH 02/11] Added deprecation notices --- .github/workflows/draft-release.yml | 2 ++ src/Server.php | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index ac2e65b2f..edb8bae63 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -84,3 +84,5 @@ jobs: **For Minecraft: Bedrock Edition ${{ steps.get-pm-version.outputs.MCPE_VERSION }}** Please see the [changelogs](${{ github.server_url }}/${{ github.repository }}/blob/${{ steps.get-pm-version.outputs.PM_VERSION }}/changelogs/${{ steps.get-pm-version.outputs.PM_VERSION_SHORT }}${{ steps.get-pm-version.outputs.CHANGELOG_SUFFIX }}.md#${{ steps.get-pm-version.outputs.PM_VERSION_MD }}) for details. + + :warning: **4.x is now deprecated. Please read https://github.com/pmmp/PocketMine-MP/issues/5784 for details, and prepare to upgrade to 5.x.** diff --git a/src/Server.php b/src/Server.php index 11a2b157a..d4aba8282 100644 --- a/src/Server.php +++ b/src/Server.php @@ -1054,6 +1054,11 @@ class Server{ $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslatableName()))); $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_donate(TextFormat::AQUA . "https://patreon.com/pocketminemp" . TextFormat::RESET))); + + $this->logger->alert($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_obsolete_warning1("4.x", "5.0"))); + $this->logger->alert($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_obsolete_warning2("4.x", "2023-09-01"))); + $this->logger->alert($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_obsolete_warning3("https://github.com/pmmp/PocketMine-MP/issues/5784"))); + $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_startFinished(strval(round(microtime(true) - $this->startTime, 3))))); $forwarder = new BroadcastLoggerForwarder($this, $this->logger, $this->language); From 249ef9c534656e4286e5fffb6ff60705dc424414 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 11:41:04 +0100 Subject: [PATCH 03/11] ProcessLoginTask: remove old key expiry since we don't have a hard date for this, and I've already made one wrong educated guess, I'd rather not have another massive outage. A security update will have to be made to remove the old key as soon as the new one is rolled. This is not ideal, but it's the least disruptive option. --- src/network/mcpe/auth/ProcessLoginTask.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/network/mcpe/auth/ProcessLoginTask.php b/src/network/mcpe/auth/ProcessLoginTask.php index 8d65f62c2..2da3b5fae 100644 --- a/src/network/mcpe/auth/ProcessLoginTask.php +++ b/src/network/mcpe/auth/ProcessLoginTask.php @@ -38,9 +38,21 @@ use function time; class ProcessLoginTask extends AsyncTask{ private const TLS_KEY_ON_COMPLETION = "completion"; + /** + * Old Mojang root auth key. This was used since the introduction of Xbox Live authentication in 0.15.0. + * This key is expected to be replaced by the key below in the future, but this has not yet happened as of + * 2023-07-01. + * Ideally we would place a time expiry on this key, but since Mojang have not given a hard date for the key change, + * and one bad guess has already caused a major outage, we can't do this. + * TODO: This needs to be removed as soon as the new key is deployed by Mojang's authentication servers. + */ public const MOJANG_OLD_ROOT_PUBLIC_KEY = "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8ELkixyLcwlZryUQcu1TvPOmI2B7vX83ndnWRUaXm74wFfa5f/lwQNTfrLVHa2PmenpGI6JhIMUJaWZrjmMj90NoKNFSNBuKdm8rYiXsfaz3K36x/1U26HpG0ZxK/V1V"; - public const MOJANG_OLD_KEY_EXPIRY = 1688169600; //2023-07-01 00:00:00 UTC - there is no official date for the changeover to the new key, so this is a guess + /** + * New Mojang root auth key. Mojang notified third-party developers of this change prior to the release of 1.20.0. + * Expectations were that this would be used starting a "couple of weeks" after the release, but as of 2023-07-01, + * it has not yet been deployed. + */ public const MOJANG_ROOT_PUBLIC_KEY = "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAECRXueJeTDqNRRgJi/vlRufByu/2G0i2Ebt6YMar5QX/R0DIIyrJMcUpruK4QveTfJSTp3Shlq4Gk34cD/4GUWwkv0DVuzeuB+tXija7HBxii03NHDbPAD0AKnLr2wdAp"; private const CLOCK_DRIFT_MAX = 60; @@ -154,7 +166,7 @@ class ProcessLoginTask extends AsyncTask{ throw new VerifyLoginException($e->getMessage(), 0, $e); } - if($headers->x5u === self::MOJANG_ROOT_PUBLIC_KEY || (time() < self::MOJANG_OLD_KEY_EXPIRY && $headers->x5u === self::MOJANG_OLD_ROOT_PUBLIC_KEY)){ + if($headers->x5u === self::MOJANG_ROOT_PUBLIC_KEY || $headers->x5u === self::MOJANG_OLD_ROOT_PUBLIC_KEY){ $this->authenticated = true; //we're signed into xbox live } From c86c9b3ead1cc0df84bc4ddd102148012f6a2e84 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 11:43:36 +0100 Subject: [PATCH 04/11] Update Composer dependencies --- composer.lock | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/composer.lock b/composer.lock index 2bed1c324..27343a0c6 100644 --- a/composer.lock +++ b/composer.lock @@ -224,16 +224,16 @@ }, { "name": "pocketmine/bedrock-data", - "version": "2.3.0+bedrock-1.20.0", + "version": "2.3.1+bedrock-1.20.0", "source": { "type": "git", "url": "https://github.com/pmmp/BedrockData.git", - "reference": "b3dd3f4b8e3b6759c5d84de6ec85bb20b668c3a9" + "reference": "fb89ccdc039252462d8d068a769635e24151b7e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pmmp/BedrockData/zipball/b3dd3f4b8e3b6759c5d84de6ec85bb20b668c3a9", - "reference": "b3dd3f4b8e3b6759c5d84de6ec85bb20b668c3a9", + "url": "https://api.github.com/repos/pmmp/BedrockData/zipball/fb89ccdc039252462d8d068a769635e24151b7e2", + "reference": "fb89ccdc039252462d8d068a769635e24151b7e2", "shasum": "" }, "type": "library", @@ -244,9 +244,9 @@ "description": "Blobs of data generated from Minecraft: Bedrock Edition, used by PocketMine-MP", "support": { "issues": "https://github.com/pmmp/BedrockData/issues", - "source": "https://github.com/pmmp/BedrockData/tree/bedrock-1.20.0" + "source": "https://github.com/pmmp/BedrockData/tree/2.3.1+bedrock-1.20.0" }, - "time": "2023-06-07T19:06:47+00:00" + "time": "2023-06-13T16:42:09+00:00" }, { "name": "pocketmine/bedrock-item-upgrade-schema", @@ -1089,16 +1089,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.23", + "version": "v5.4.25", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5" + "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5", - "reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", + "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", "shasum": "" }, "require": { @@ -1133,7 +1133,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.23" + "source": "https://github.com/symfony/filesystem/tree/v5.4.25" }, "funding": [ { @@ -1149,7 +1149,7 @@ "type": "tidelift" } ], - "time": "2023-03-02T11:38:35+00:00" + "time": "2023-05-31T13:04:02+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1571,16 +1571,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.5", + "version": "v4.16.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" + "reference": "19526a33fb561ef417e822e85f08a00db4059c17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", + "reference": "19526a33fb561ef417e822e85f08a00db4059c17", "shasum": "" }, "require": { @@ -1621,9 +1621,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" }, - "time": "2023-05-19T20:20:00+00:00" + "time": "2023-06-25T14:52:30+00:00" }, { "name": "phar-io/manifest", @@ -2221,16 +2221,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.1.3", + "version": "10.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d" + "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2379ebafc1737e71cdc84f402acb6b7f04198b9d", - "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35c8cac1734ede2ae354a6644f7088356ff5b08e", + "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e", "shasum": "" }, "require": { @@ -2270,7 +2270,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.2-dev" } }, "autoload": { @@ -2302,7 +2302,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.1.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.3" }, "funding": [ { @@ -2318,7 +2318,7 @@ "type": "tidelift" } ], - "time": "2023-05-11T05:16:22+00:00" + "time": "2023-06-30T06:17:38+00:00" }, { "name": "sebastian/cli-parser", From e61796b146b2b4f59dafceb3563eeb0732db38ff Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 11:49:44 +0100 Subject: [PATCH 05/11] Composer: do not allow automatic minor dependency updates manual intervention should always be used here, since we need to present a consistent API to plugins. --- composer.json | 8 ++++---- composer.lock | 38 +++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/composer.json b/composer.json index 09501a7ba..8359b55ba 100644 --- a/composer.json +++ b/composer.json @@ -31,8 +31,8 @@ "ext-zip": "*", "ext-zlib": ">=1.2.11", "composer-runtime-api": "^2.0", - "adhocore/json-comment": "^1.1", - "fgrosse/phpasn1": "^2.3", + "adhocore/json-comment": "~1.2.0", + "fgrosse/phpasn1": "~2.5.0", "pocketmine/netresearch-jsonmapper": "~v4.2.999", "pocketmine/bedrock-block-upgrade-schema": "~2.2.0+bedrock-1.20.0", "pocketmine/bedrock-data": "~2.3.0+bedrock-1.20.0", @@ -49,8 +49,8 @@ "pocketmine/raklib": "^0.15.0", "pocketmine/raklib-ipc": "^0.2.0", "pocketmine/snooze": "^0.5.0", - "ramsey/uuid": "^4.1", - "symfony/filesystem": "^6.2" + "ramsey/uuid": "~4.7.0", + "symfony/filesystem": "~6.2.0" }, "require-dev": { "phpstan/phpstan": "1.10.16", diff --git a/composer.lock b/composer.lock index e27182c1c..c3aa53e98 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5483e35c09044ab9d989cec8fdf4a399", + "content-hash": "3b102702eabc31fd8b2651db6c259397", "packages": [ { "name": "adhocore/json-comment", @@ -998,16 +998,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.2.10", + "version": "v6.2.12", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894" + "reference": "b0818e7203e53540f2a5c9a5017d97897df1e9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd588debf7d1bc16a2c84b4b3b71145d9946b894", - "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b0818e7203e53540f2a5c9a5017d97897df1e9bb", + "reference": "b0818e7203e53540f2a5c9a5017d97897df1e9bb", "shasum": "" }, "require": { @@ -1041,7 +1041,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.2.10" + "source": "https://github.com/symfony/filesystem/tree/v6.2.12" }, "funding": [ { @@ -1057,7 +1057,7 @@ "type": "tidelift" } ], - "time": "2023-04-18T13:46:08+00:00" + "time": "2023-06-01T08:29:37+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1287,16 +1287,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.5", + "version": "v4.16.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" + "reference": "19526a33fb561ef417e822e85f08a00db4059c17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", + "reference": "19526a33fb561ef417e822e85f08a00db4059c17", "shasum": "" }, "require": { @@ -1337,9 +1337,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" }, - "time": "2023-05-19T20:20:00+00:00" + "time": "2023-06-25T14:52:30+00:00" }, { "name": "phar-io/manifest", @@ -1937,16 +1937,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.2.2", + "version": "10.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1ab521b24b88b88310c40c26c0cc4a94ba40ff95" + "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1ab521b24b88b88310c40c26c0cc4a94ba40ff95", - "reference": "1ab521b24b88b88310c40c26c0cc4a94ba40ff95", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35c8cac1734ede2ae354a6644f7088356ff5b08e", + "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e", "shasum": "" }, "require": { @@ -2018,7 +2018,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.2" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.3" }, "funding": [ { @@ -2034,7 +2034,7 @@ "type": "tidelift" } ], - "time": "2023-06-11T06:15:20+00:00" + "time": "2023-06-30T06:17:38+00:00" }, { "name": "sebastian/cli-parser", From 321972b87b36bced53fb40f4a5fbd76d2d0e21ec Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 11:57:13 +0100 Subject: [PATCH 06/11] Composer: do not allow automatic minor dependency updates manual intervention should always be used here, since we need to present a consistent API to plugins. --- composer.json | 10 +++++----- composer.lock | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index f80e2aad6..028af15bd 100644 --- a/composer.json +++ b/composer.json @@ -31,8 +31,8 @@ "ext-zip": "*", "ext-zlib": ">=1.2.11", "composer-runtime-api": "^2.0", - "adhocore/json-comment": "^1.1", - "fgrosse/phpasn1": "^2.3", + "adhocore/json-comment": "~1.2.0", + "fgrosse/phpasn1": "~2.5.0", "pocketmine/netresearch-jsonmapper": "~v4.2.999", "pocketmine/bedrock-block-upgrade-schema": "~2.2.0+bedrock-1.20.0", "pocketmine/bedrock-data": "~2.3.0+bedrock-1.20.0", @@ -51,9 +51,9 @@ "pocketmine/raklib": "^0.14.2", "pocketmine/raklib-ipc": "^0.1.0", "pocketmine/snooze": "^0.3.0", - "ramsey/uuid": "^4.1", - "symfony/filesystem": "^5.4", - "webmozart/path-util": "^2.3" + "ramsey/uuid": "~4.7.0", + "symfony/filesystem": "~5.4.0", + "webmozart/path-util": "~2.3.0" }, "require-dev": { "phpstan/phpstan": "1.10.15", diff --git a/composer.lock b/composer.lock index 27343a0c6..64b63f866 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "fcfde015c4c61d0a422234b5858b98a7", + "content-hash": "01dabd17488f8f5a5ac5c65b9eb8eea4", "packages": [ { "name": "adhocore/json-comment", From 1698eac6dc9dcecbe3c3ef6e23154ece0aabc875 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 12:04:59 +0100 Subject: [PATCH 07/11] Release 4.22.2 --- changelogs/4.22.md | 14 ++++++++++++++ src/VersionInfo.php | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/changelogs/4.22.md b/changelogs/4.22.md index 9f38e53b6..9df65fbf9 100644 --- a/changelogs/4.22.md +++ b/changelogs/4.22.md @@ -32,3 +32,17 @@ Released 9th June 2023. - The original client bug has still not been fixed, meaning a new workaround was needed, but no perfect solution could be found. - The new workaround involves broadcasting teleport movements as regular movements, which causes unwanted interpolation between the old and new positions, but otherwise works correctly. This solution is not ideal, but it is the best we can do for now. - See issues [#4394](https://github.com/pmmp/PocketMine-MP/issues/4394) and [#5810](https://github.com/pmmp/PocketMine-MP/issues/5810) for more details. + +# 4.22.2 +Released 1st July 2023. + +## Changes +- Added obsoletion warnings to the server log at the end of the startup sequence. + +## Fixes +- Fixed players being disconnected en masse with "Not authenticated" messages. + - This occurred due to a check intended to disable the old authentication key after July 1st. + - We expected that the new key would have been deployed by Mojang by now, but it seems like that has not yet happened. + - Due to the lack of a hard date for the key changeover, we guessed that July 1st would be a safe bet, but this appears to have backfired. + - This version will accept both old and new keys indefinitely. + - A security release will be published to remove the old key after the transition occurs. diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 3d719e3b5..7d3e92073 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -32,7 +32,7 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; public const BASE_VERSION = "4.22.2"; - public const IS_DEVELOPMENT_BUILD = true; + public const IS_DEVELOPMENT_BUILD = false; public const BUILD_CHANNEL = "stable"; private function __construct(){ From bbabccfc89d688c47dff1fcf08cc39166ea7b3c9 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 12:04:59 +0100 Subject: [PATCH 08/11] 4.22.3 is next --- src/VersionInfo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 7d3e92073..7cb5ff4d3 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -31,8 +31,8 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; - public const BASE_VERSION = "4.22.2"; - public const IS_DEVELOPMENT_BUILD = false; + public const BASE_VERSION = "4.22.3"; + public const IS_DEVELOPMENT_BUILD = true; public const BUILD_CHANNEL = "stable"; private function __construct(){ From 2278275505a7f9d768027673e699e6199575c8bc Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 12:18:10 +0100 Subject: [PATCH 09/11] Release 5.1.3 --- changelogs/5.1.md | 22 ++++++++++++++++++++++ src/VersionInfo.php | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/changelogs/5.1.md b/changelogs/5.1.md index 6b00f5624..b6b39bc18 100644 --- a/changelogs/5.1.md +++ b/changelogs/5.1.md @@ -28,3 +28,25 @@ Released 9th June 2023. - [4.22.1](https://github.com/pmmp/PocketMine-MP/blob/4.22.1/changelogs/4.22.md#4221) - Teleportation client bug workarounds This release contains no other changes. + +# 5.1.3 +Released 1st July 2023. + +**This release includes changes from the following releases:** +- [4.22.2](https://github.com/pmmp/PocketMine-MP/blob/4.22.2/changelogs/4.22.md#4222) - Authentication time bomb fix + +## General +- Updated logos to new RGB-style logo. Thanks to @MrCakeSlayer and @HBIDamian for their efforts. +- Improved error messages generated by the world system when some version tags are missing from `level.dat` in Bedrock worlds. +- Outsourced Composer dependencies now only receive patch updates automatically (pinned using the `~` constraint). + - Minor and major updates now require manually updating `composer.json`, to ensure that the plugin API is not broken by libraries getting randomly updated from one patch release to the next. + +## Documentation +- Updated doc comment for `Player->setGamemode()` to remove outdated information. +- Added documentation for the `$clickVector` parameter of `Block->onInteract()` to specify that it is relative to the block's position. +- Added missing `@required` tag for `BlockStateUpgradeSchemaModelBlockRemap->newState`. + +### Fixes +- Fixed blue candles not appearing in the creative inventory. +- Fixed server crash when block-picking candle cakes. +- `World->useItemOn()` now ensures that the `$clickVector` components are always in the range of 0-1. Previously, any invalid values were accepted, potentially leading to a crash. diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 3b9260f71..fd60fb686 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -32,7 +32,7 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; public const BASE_VERSION = "5.1.3"; - public const IS_DEVELOPMENT_BUILD = true; + public const IS_DEVELOPMENT_BUILD = false; public const BUILD_CHANNEL = "stable"; /** From 41281db6a5e5c736f6b62b2c211d055ba19b58e4 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 12:18:13 +0100 Subject: [PATCH 10/11] 5.1.4 is next --- src/VersionInfo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VersionInfo.php b/src/VersionInfo.php index fd60fb686..f5a791db4 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -31,8 +31,8 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; - public const BASE_VERSION = "5.1.3"; - public const IS_DEVELOPMENT_BUILD = false; + public const BASE_VERSION = "5.1.4"; + public const IS_DEVELOPMENT_BUILD = true; public const BUILD_CHANNEL = "stable"; /** From b78c18ad2d0a002029af93190a76b7a201a873a1 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 1 Jul 2023 12:23:19 +0100 Subject: [PATCH 11/11] changelog: fix header size :( [ci skip] --- changelogs/5.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelogs/5.1.md b/changelogs/5.1.md index b6b39bc18..9ef8e7b9b 100644 --- a/changelogs/5.1.md +++ b/changelogs/5.1.md @@ -46,7 +46,7 @@ Released 1st July 2023. - Added documentation for the `$clickVector` parameter of `Block->onInteract()` to specify that it is relative to the block's position. - Added missing `@required` tag for `BlockStateUpgradeSchemaModelBlockRemap->newState`. -### Fixes +## Fixes - Fixed blue candles not appearing in the creative inventory. - Fixed server crash when block-picking candle cakes. - `World->useItemOn()` now ensures that the `$clickVector` components are always in the range of 0-1. Previously, any invalid values were accepted, potentially leading to a crash.