From 6c59912ed59fb5ef22d7bd2d19d8e8447140da88 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 19 Jul 2023 15:19:33 +0100 Subject: [PATCH 01/15] LevelDB: workaround 0 bpb palettes with a length prefix this was caused by a plugin overriding the world provider. related: - https://github.com/pmmp/PocketMine-MP/issues/5911 - https://github.com/Refaltor77/CustomItemAPI/issues/68 fixes #5911 --- src/world/format/io/leveldb/LevelDB.php | 31 ++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/world/format/io/leveldb/LevelDB.php b/src/world/format/io/leveldb/LevelDB.php index a42d8d53e..6f6c99d80 100644 --- a/src/world/format/io/leveldb/LevelDB.php +++ b/src/world/format/io/leveldb/LevelDB.php @@ -27,6 +27,7 @@ use pocketmine\block\Block; use pocketmine\data\bedrock\BiomeIds; use pocketmine\data\bedrock\block\BlockStateDeserializeException; use pocketmine\nbt\LittleEndianNbtSerializer; +use pocketmine\nbt\NBT; use pocketmine\nbt\NbtDataException; use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\TreeRoot; @@ -155,7 +156,35 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ $nbt = new LittleEndianNbtSerializer(); $palette = []; - $paletteSize = $bitsPerBlock === 0 ? 1 : $stream->getLInt(); + if($bitsPerBlock === 0){ + $paletteSize = 1; + /* + * Due to code copy-paste in a public plugin, some PM4 worlds have 0 bpb palettes with a length prefix. + * This is invalid and does not happen in vanilla. + * These palettes were accepted by PM4 despite being invalid, but PM5 considered them corrupt, causing loss + * of data. Since many users were affected by this, a workaround is therefore necessary to allow PM5 to read + * these worlds without data loss. + * + * References: + * - https://github.com/Refaltor77/CustomItemAPI/issues/68 + * - https://github.com/pmmp/PocketMine-MP/issues/5911 + */ + $offset = $stream->getOffset(); + $byte1 = $stream->getByte(); + $stream->setOffset($offset); //reset offset + + if($byte1 !== NBT::TAG_Compound){ //normally the first byte would be the NBT of the blockstate + $susLength = $stream->getLInt(); + if($susLength !== 1){ //make sure the data isn't complete garbage + throw new CorruptedChunkException("CustomItemAPI borked 0 bpb palette should always have a length of 1"); + } + $logger->error("Unexpected palette size for 0 bpb palette"); + }else{ + $logger->debug("Normal 0 bpb palette found :)"); + } + }else{ + $paletteSize = $stream->getLInt(); + } for($i = 0; $i < $paletteSize; ++$i){ try{ From 82b75e0ccbb87837c0f571050ffd4e806b631afa Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 19 Jul 2023 15:21:47 +0100 Subject: [PATCH 02/15] LevelDB: Remove happy debug message --- src/world/format/io/leveldb/LevelDB.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/world/format/io/leveldb/LevelDB.php b/src/world/format/io/leveldb/LevelDB.php index 6f6c99d80..40a93ba9e 100644 --- a/src/world/format/io/leveldb/LevelDB.php +++ b/src/world/format/io/leveldb/LevelDB.php @@ -179,8 +179,6 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ throw new CorruptedChunkException("CustomItemAPI borked 0 bpb palette should always have a length of 1"); } $logger->error("Unexpected palette size for 0 bpb palette"); - }else{ - $logger->debug("Normal 0 bpb palette found :)"); } }else{ $paletteSize = $stream->getLInt(); From 1b9c2821948d724b0a00ee7364056ef9a35dc84c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 19 Jul 2023 16:29:14 +0100 Subject: [PATCH 03/15] LevelDB: tolerate incorrect number of biome palettes, as long as there are enough for each real subchunk modern versions save 24 exactly, but previous versions saved more. We don't use the excess, so it's not a problem if they are missing, but this is nonetheless non-compliant with vanilla. --- src/world/format/io/leveldb/LevelDB.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/world/format/io/leveldb/LevelDB.php b/src/world/format/io/leveldb/LevelDB.php index 40a93ba9e..5fb104feb 100644 --- a/src/world/format/io/leveldb/LevelDB.php +++ b/src/world/format/io/leveldb/LevelDB.php @@ -304,6 +304,11 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ if($nextIndex <= Chunk::MAX_SUBCHUNK_INDEX){ //older versions wrote additional superfluous biome palettes $result[$nextIndex++] = $decoded; } + if($stream->feof() && $nextIndex >= Chunk::MAX_SUBCHUNK_INDEX){ + //not enough padding biome arrays for the given version - this is non-critical since we discard the excess anyway, but this should be logged + $logger->error("Wrong number of 3D biome palettes: expected $expectedCount, but got " . ($i + 1) . " - this is not a problem, but may indicate a corrupted chunk"); + break; + } }catch(BinaryDataException $e){ throw new CorruptedChunkException("Failed to deserialize biome palette $i: " . $e->getMessage(), 0, $e); } From b33a9690e975df0e50a9615619e638106785c778 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 19 Jul 2023 16:30:13 +0100 Subject: [PATCH 04/15] LevelDB: simplify condition --- src/world/format/io/leveldb/LevelDB.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/world/format/io/leveldb/LevelDB.php b/src/world/format/io/leveldb/LevelDB.php index 5fb104feb..2cb5fc42c 100644 --- a/src/world/format/io/leveldb/LevelDB.php +++ b/src/world/format/io/leveldb/LevelDB.php @@ -303,8 +303,7 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ $previous = $decoded; if($nextIndex <= Chunk::MAX_SUBCHUNK_INDEX){ //older versions wrote additional superfluous biome palettes $result[$nextIndex++] = $decoded; - } - if($stream->feof() && $nextIndex >= Chunk::MAX_SUBCHUNK_INDEX){ + }elseif($stream->feof()){ //not enough padding biome arrays for the given version - this is non-critical since we discard the excess anyway, but this should be logged $logger->error("Wrong number of 3D biome palettes: expected $expectedCount, but got " . ($i + 1) . " - this is not a problem, but may indicate a corrupted chunk"); break; From 86810c5e1c11ccc60e7bdc0565c5d943f30465a1 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 19 Jul 2023 16:31:10 +0100 Subject: [PATCH 05/15] LevelDB: clearer error message --- src/world/format/io/leveldb/LevelDB.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/world/format/io/leveldb/LevelDB.php b/src/world/format/io/leveldb/LevelDB.php index 2cb5fc42c..3d4f577a1 100644 --- a/src/world/format/io/leveldb/LevelDB.php +++ b/src/world/format/io/leveldb/LevelDB.php @@ -305,7 +305,7 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{ $result[$nextIndex++] = $decoded; }elseif($stream->feof()){ //not enough padding biome arrays for the given version - this is non-critical since we discard the excess anyway, but this should be logged - $logger->error("Wrong number of 3D biome palettes: expected $expectedCount, but got " . ($i + 1) . " - this is not a problem, but may indicate a corrupted chunk"); + $logger->error("Wrong number of 3D biome palettes for this chunk version: expected $expectedCount, but got " . ($i + 1) . " - this is not a problem, but may indicate a corrupted chunk"); break; } }catch(BinaryDataException $e){ From 24d979bd08e15202a05e3c2ae9420142d1a285f5 Mon Sep 17 00:00:00 2001 From: Dylan T Date: Wed, 19 Jul 2023 16:33:16 +0100 Subject: [PATCH 06/15] Fixed /kill not properly killing the player under certain conditions, closes #4680 (#5919) This occurs if the player had very high levels of Health Boost or other weird modifications. It doesn't really make sense to apply damage modifiers to suicide anyway. Really I'm doubtful that suicide should even be considered a damage type (perhaps we should add an EntitySuicideEvent), but that's a discussion for another time. --- src/command/defaults/KillCommand.php | 2 +- src/entity/Living.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/command/defaults/KillCommand.php b/src/command/defaults/KillCommand.php index e58234ead..fbc743690 100644 --- a/src/command/defaults/KillCommand.php +++ b/src/command/defaults/KillCommand.php @@ -53,7 +53,7 @@ class KillCommand extends VanillaCommand{ return true; } - $player->attack(new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, 1000)); + $player->attack(new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, $player->getHealth())); if($player === $sender){ $sender->sendMessage(KnownTranslationFactory::commands_kill_successful($sender->getName())); }else{ diff --git a/src/entity/Living.php b/src/entity/Living.php index e615e4148..c6fdf34a7 100644 --- a/src/entity/Living.php +++ b/src/entity/Living.php @@ -517,7 +517,9 @@ abstract class Living extends Entity{ $source->cancel(); } - $this->applyDamageModifiers($source); + if($source->getCause() !== EntityDamageEvent::CAUSE_SUICIDE){ + $this->applyDamageModifiers($source); + } if($source instanceof EntityDamageByEntityEvent && ( $source->getCause() === EntityDamageEvent::CAUSE_BLOCK_EXPLOSION || From 777a90193268bc28d05fba81100db272997a0904 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 16:37:33 +0100 Subject: [PATCH 07/15] Bump shivammathur/setup-php from 2.25.2 to 2.25.4 (#5829) Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.25.2 to 2.25.4. - [Release notes](https://github.com/shivammathur/setup-php/releases) - [Commits](https://github.com/shivammathur/setup-php/compare/2.25.2...2.25.4) --- updated-dependencies: - dependency-name: shivammathur/setup-php dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/discord-release-notify.yml | 2 +- .github/workflows/draft-release.yml | 2 +- .github/workflows/main.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/discord-release-notify.yml b/.github/workflows/discord-release-notify.yml index 5f4e944a8..5275c445b 100644 --- a/.github/workflows/discord-release-notify.yml +++ b/.github/workflows/discord-release-notify.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup PHP and tools - uses: shivammathur/setup-php@2.25.2 + uses: shivammathur/setup-php@2.25.4 with: php-version: 8.1 diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index ac2e65b2f..b5376f3ba 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -18,7 +18,7 @@ jobs: submodules: true - name: Setup PHP - uses: shivammathur/setup-php@2.25.2 + uses: shivammathur/setup-php@2.25.4 with: php-version: 8.1 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f83a2e597..60e513d80 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -173,7 +173,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup PHP and tools - uses: shivammathur/setup-php@2.25.2 + uses: shivammathur/setup-php@2.25.4 with: php-version: 8.1 tools: php-cs-fixer:3.17 From 4517948297f1edcf5d4a3db95b841c002d944aec Mon Sep 17 00:00:00 2001 From: IvanCraft623 <57236932+IvanCraft623@users.noreply.github.com> Date: Wed, 19 Jul 2023 11:12:05 -0500 Subject: [PATCH 08/15] FrostedIce: Remove non-Bedrock melting behaviour (#5486) --- src/block/FrostedIce.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/block/FrostedIce.php b/src/block/FrostedIce.php index ba8c7b536..38c552a95 100644 --- a/src/block/FrostedIce.php +++ b/src/block/FrostedIce.php @@ -48,12 +48,7 @@ class FrostedIce extends Ice{ } public function onNearbyBlockChange() : void{ - $world = $this->position->getWorld(); - if(!$this->checkAdjacentBlocks(2)){ - $world->useBreakOn($this->position); - }else{ - $world->scheduleDelayedBlockUpdate($this->position, mt_rand(20, 40)); - } + $this->position->getWorld()->scheduleDelayedBlockUpdate($this->position, mt_rand(20, 40)); } public function onRandomTick() : void{ From 5e7f18cbcf2240c3dac6c6dccd91c9bbda5a380a Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 20 Jul 2023 16:20:34 +0100 Subject: [PATCH 09/15] StandardEntityEventBroadcaster: suppress client-side emote messages if users want these, they can broadcast them themselves using Server::broadcastMessage(), which will also record the message in the server log like chat closes #5669 --- src/network/mcpe/StandardEntityEventBroadcaster.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/mcpe/StandardEntityEventBroadcaster.php b/src/network/mcpe/StandardEntityEventBroadcaster.php index 9996b354b..160022722 100644 --- a/src/network/mcpe/StandardEntityEventBroadcaster.php +++ b/src/network/mcpe/StandardEntityEventBroadcaster.php @@ -138,6 +138,6 @@ final class StandardEntityEventBroadcaster implements EntityEventBroadcaster{ } public function onEmote(array $recipients, Human $from, string $emoteId) : void{ - $this->sendDataPacket($recipients, EmotePacket::create($from->getId(), $emoteId, "", "", EmotePacket::FLAG_SERVER)); + $this->sendDataPacket($recipients, EmotePacket::create($from->getId(), $emoteId, "", "", EmotePacket::FLAG_SERVER | EmotePacket::FLAG_MUTE_ANNOUNCEMENT)); } } From 6ea7fd7d6b7cb8219f7ffb54d15c8ddf2632d6e0 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 20 Jul 2023 16:36:25 +0100 Subject: [PATCH 10/15] ShulkerBox: do not offer support for other blocks --- src/block/ShulkerBox.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/block/ShulkerBox.php b/src/block/ShulkerBox.php index de8cefeb8..49de988cd 100644 --- a/src/block/ShulkerBox.php +++ b/src/block/ShulkerBox.php @@ -25,6 +25,7 @@ namespace pocketmine\block; use pocketmine\block\tile\ShulkerBox as TileShulkerBox; use pocketmine\block\utils\AnyFacingTrait; +use pocketmine\block\utils\SupportType; use pocketmine\item\Item; use pocketmine\math\Vector3; use pocketmine\player\Player; @@ -103,4 +104,8 @@ class ShulkerBox extends Opaque{ return true; } + + public function getSupportType(int $facing) : SupportType{ + return SupportType::NONE(); + } } From 4bdd6410db2636fb521c155eced5c385014e2ead Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 20 Jul 2023 17:00:32 +0100 Subject: [PATCH 11/15] Fire: fixed support requirements closes #5599 --- src/block/Fire.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/block/Fire.php b/src/block/Fire.php index 648724529..0f2f7c876 100644 --- a/src/block/Fire.php +++ b/src/block/Fire.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\block; use pocketmine\block\utils\BlockDataSerializer; +use pocketmine\block\utils\SupportType; use pocketmine\entity\Entity; use pocketmine\entity\projectile\Arrow; use pocketmine\event\block\BlockBurnEvent; @@ -99,9 +100,13 @@ class Fire extends Flowable{ return []; } + private function canBeSupportedBy(Block $block) : bool{ + return $block->getSupportType(Facing::UP)->equals(SupportType::FULL()); + } + public function onNearbyBlockChange() : void{ $world = $this->position->getWorld(); - if($this->getSide(Facing::DOWN)->isTransparent() && !$this->hasAdjacentFlammableBlocks()){ + if(!$this->canBeSupportedBy($this->getSide(Facing::DOWN)) && !$this->hasAdjacentFlammableBlocks()){ $world->setBlock($this->position, VanillaBlocks::AIR()); }else{ $world->scheduleDelayedBlockUpdate($this->position, mt_rand(30, 40)); From 9b43ddecbd77e5ff750ed305eb7d0433a3bca6cc Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 20 Jul 2023 17:10:39 +0100 Subject: [PATCH 12/15] Drop usages of Process:kill() with subprocesses parameter we don't need this any more with console reader improvements, and this was not working correctly anyway. closes #5234 --- src/PocketMine.php | 2 +- src/Server.php | 6 +++--- src/console/ConsoleReaderChildProcess.php | 2 +- src/utils/Process.php | 5 ++++- src/utils/ServerKiller.php | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/PocketMine.php b/src/PocketMine.php index c653d33ea..cbab95c85 100644 --- a/src/PocketMine.php +++ b/src/PocketMine.php @@ -343,7 +343,7 @@ JIT_WARNING if(ThreadManager::getInstance()->stopAll() > 0){ $logger->debug("Some threads could not be stopped, performing a force-kill"); - Process::kill(Process::pid(), true); + Process::kill(Process::pid()); } }while(false); diff --git a/src/Server.php b/src/Server.php index d4aba8282..d1f7ea4b9 100644 --- a/src/Server.php +++ b/src/Server.php @@ -1446,7 +1446,7 @@ class Server{ private function forceShutdownExit() : void{ $this->forceShutdown(); - Process::kill(Process::pid(), true); + Process::kill(Process::pid()); } public function forceShutdown() : void{ @@ -1514,7 +1514,7 @@ class Server{ }catch(\Throwable $e){ $this->logger->logException($e); $this->logger->emergency("Crashed while crashing, killing process"); - @Process::kill(Process::pid(), true); + @Process::kill(Process::pid()); } } @@ -1668,7 +1668,7 @@ class Server{ echo "--- Waiting $spacing seconds to throttle automatic restart (you can kill the process safely now) ---" . PHP_EOL; sleep($spacing); } - @Process::kill(Process::pid(), true); + @Process::kill(Process::pid()); exit(1); } diff --git a/src/console/ConsoleReaderChildProcess.php b/src/console/ConsoleReaderChildProcess.php index 2d4e3fc56..20a3e5bf1 100644 --- a/src/console/ConsoleReaderChildProcess.php +++ b/src/console/ConsoleReaderChildProcess.php @@ -90,4 +90,4 @@ while(!feof($socket)){ //For simplicity's sake, we don't bother with a graceful shutdown here. //The parent process would normally forcibly terminate the child process anyway, so we only reach this point if the //parent process was terminated forcibly and didn't clean up after itself. -Process::kill(Process::pid(), false); +Process::kill(Process::pid()); diff --git a/src/utils/Process.php b/src/utils/Process.php index 96169b34f..c4dd848d5 100644 --- a/src/utils/Process.php +++ b/src/utils/Process.php @@ -125,7 +125,10 @@ final class Process{ return count(ThreadManager::getInstance()->getAll()) + 2; //MainLogger + Main Thread } - public static function kill(int $pid, bool $subprocesses) : void{ + /** + * @param bool $subprocesses @deprecated + */ + public static function kill(int $pid, bool $subprocesses = false) : void{ $logger = \GlobalLogger::get(); if($logger instanceof MainLogger){ $logger->syncFlushBuffer(); diff --git a/src/utils/ServerKiller.php b/src/utils/ServerKiller.php index 1739643d0..b7f415528 100644 --- a/src/utils/ServerKiller.php +++ b/src/utils/ServerKiller.php @@ -49,7 +49,7 @@ class ServerKiller extends Thread{ }); if(time() - $start >= $this->time){ echo "\nTook too long to stop, server was killed forcefully!\n"; - @Process::kill(Process::pid(), true); + @Process::kill(Process::pid()); } } From d65d8c33566bc8e77413c68005b6135926c47df4 Mon Sep 17 00:00:00 2001 From: IvanCraft623 <57236932+IvanCraft623@users.noreply.github.com> Date: Fri, 21 Jul 2023 04:34:34 -0500 Subject: [PATCH 13/15] Fix typo in documentation of `ChunkSelector:selectChunks()` (#5924) --- src/player/ChunkSelector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/player/ChunkSelector.php b/src/player/ChunkSelector.php index feb1b25e2..14d6b2888 100644 --- a/src/player/ChunkSelector.php +++ b/src/player/ChunkSelector.php @@ -30,7 +30,7 @@ use const M_SQRT2; final class ChunkSelector{ /** - * @preturn \Generator|int[] + * @return \Generator|int[] * @phpstan-return \Generator */ public function selectChunks(int $radius, int $centerX, int $centerZ) : \Generator{ From cdf72563f4b483ef657bdb29aa107d38d1883b7e Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 24 Jul 2023 11:58:50 +0100 Subject: [PATCH 14/15] Update composer dependencies --- composer.lock | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/composer.lock b/composer.lock index 81c81e27c..cae00386d 100644 --- a/composer.lock +++ b/composer.lock @@ -2221,16 +2221,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.2.3", + "version": "10.2.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e" + "reference": "1c17815c129f133f3019cc18e8d0c8622e6d9bcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35c8cac1734ede2ae354a6644f7088356ff5b08e", - "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c17815c129f133f3019cc18e8d0c8622e6d9bcd", + "reference": "1c17815c129f133f3019cc18e8d0c8622e6d9bcd", "shasum": "" }, "require": { @@ -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.2.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.6" }, "funding": [ { @@ -2318,7 +2318,7 @@ "type": "tidelift" } ], - "time": "2023-06-30T06:17:38+00:00" + "time": "2023-07-17T12:08:28+00:00" }, { "name": "sebastian/cli-parser", @@ -2830,16 +2830,16 @@ }, { "name": "sebastian/global-state", - "version": "6.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "aab257c712de87b90194febd52e4d184551c2d44" + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44", - "reference": "aab257c712de87b90194febd52e4d184551c2d44", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { @@ -2879,7 +2879,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { @@ -2887,7 +2888,7 @@ "type": "github" } ], - "time": "2023-02-03T07:07:38+00:00" + "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", From 70dd8732e2955245f3c1a2a47befcaebf93f0bc9 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 24 Jul 2023 11:59:11 +0100 Subject: [PATCH 15/15] Update build/php to pmmp/PHP-Binaries@46604f2f6a07e3f68a82e4f4d7efdd45629b101e --- build/php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/php b/build/php index 16378ffcc..46604f2f6 160000 --- a/build/php +++ b/build/php @@ -1 +1 @@ -Subproject commit 16378ffcc39036cf4905d32ce845b2c831db4331 +Subproject commit 46604f2f6a07e3f68a82e4f4d7efdd45629b101e