Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
6f3851b
5.27.1 (#6670)
dktapps Apr 6, 2025
d3f6c22
5.27.2 is next
pmmp-admin-bot[bot] Apr 6, 2025
835c383
Update Composer dependencies
dktapps Apr 6, 2025
f661443
Update Ubuntu base image for GitHub Actions
dktapps Apr 15, 2025
2548422
AvailableEnchantmentRegistry: reject non-string tags
dktapps Apr 20, 2025
4a5c1e7
Entity: truncate fire ticks instead of throwing exceptions
dktapps Apr 20, 2025
1ea5c06
bruh
dktapps Apr 20, 2025
6f35063
Bump the github-actions group with 3 updates (#6683)
dependabot[bot] May 1, 2025
f2e7473
Update PHP-CS-Fixer
dktapps May 4, 2025
d789c75
Improve PHPStan error reporting for unsafe foreaches
dktapps May 8, 2025
5e830c7
Protocol changes for 1.21.80 (#6687)
dries-c May 9, 2025
134c730
5.28.1 is next
pmmp-admin-bot[bot] May 9, 2025
d90fc34
fixed wrong version info (#6689)
ItzxDwi May 9, 2025
04de72e
Fix changelog typo (#6690)
Sergittos May 10, 2025
67f3bb9
Update composer dependencies
dktapps May 17, 2025
dca37d5
Hack: forcibly remove symfony/polyfill-mbstring
dktapps May 17, 2025
e0864e7
composer: also axe unnecessary ctype polyfill
dktapps May 17, 2025
abb004f
Ready 5.28.1 (#6696)
dktapps May 17, 2025
280911e
5.28.2 is next
pmmp-admin-bot[bot] May 17, 2025
a37353c
composer: fixed borked version constraints
dktapps May 17, 2025
81d3017
Murphy's Law (#6698)
dktapps May 17, 2025
647c258
5.28.3 is next
pmmp-admin-bot[bot] May 17, 2025
657e6c8
Added trigger cron workflow for RestrictedActions branch sync
dktapps May 17, 2025
b5f236c
Apparently we're supposed to use replace for this, not provide
dktapps May 17, 2025
94fb5d9
CommonThreadPartsTrait: fixed thread crashes sometimes missing cause …
dktapps May 17, 2025
9606c0e
Remove stale labels as well as Waiting on Author labels
dktapps May 23, 2025
3636173
...
dktapps May 23, 2025
5527a0c
Entity: make stepHeight accessable (#6702)
ItzxDwi May 25, 2025
a554d2a
Revert change that can't go on stable
dktapps May 25, 2025
b40b99f
Player: fixed crash on action item return
dktapps May 28, 2025
0910a21
Fixed improper pre-checking of PlayerAuthInputPacket flags
dktapps May 28, 2025
b4b6bbe
BaseInventory: fixed internalAddItem() setting air slots to air
dktapps May 29, 2025
e99665f
Bump docker/build-push-action in the github-actions group (#6719)
dependabot[bot] Jun 2, 2025
69b3980
prob everything
KanadeBlue Jun 4, 2025
5d7e88a
yes
Jun 6, 2025
67a9164
fff
Jun 6, 2025
d7f8308
fixed?
Jun 6, 2025
ca3c452
ddd
KanadeBlue Jun 6, 2025
1a39618
Stucture_Void
Jun 6, 2025
d636ad7
Merge branch 'Patch-4' of https://github.com/STCraftNetwork/STCraft-P…
Jun 6, 2025
8e9f494
oops
Jun 6, 2025
8730c27
ChunkRequestTask & UpdateCheckTask used more cpu% then needed now alo…
KanadeBlue Jun 15, 2025
bb444a9
Improved slightly
KanadeBlue Jun 17, 2025
e98e242
need for better profiling
KanadeBlue Jun 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/branch-sync-cron-trigger.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#Since GitHub automatically disables cron actions after 60 days of repo inactivity, we need the active repo (PM)
#to trigger the branch merge workflow explicitly. This avoids the need for TOS-violating actions which we previously
#used to keep the restricted action active, as the workflow depends on the activity of this repo anyway.

name: Trigger branch sync

on:
schedule:
- cron: "0 0 * * *" #once per day so we don't spam merge commits on busy days
workflow_dispatch: #for testing

jobs:
trigger:
name: Trigger branch sync RestrictedActions workflow
runs-on: ubuntu-22.04

steps:
- name: Generate access token
id: generate-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.RESTRICTED_ACTIONS_DISPATCH_ID }}
private-key: ${{ secrets.RESTRICTED_ACTIONS_DISPATCH_KEY }}
owner: ${{ github.repository_owner }}
repositories: RestrictedActions

- name: Dispatch branch sync restricted action
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ steps.generate-token.outputs.token }}
repository: ${{ github.repository_owner }}/RestrictedActions
event-type: pocketmine_mp_branch_sync
10 changes: 5 additions & 5 deletions .github/workflows/build-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
build:
name: Update Docker Hub images
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- name: Set up Docker Buildx
Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
run: echo NAME=$(echo "${GITHUB_REPOSITORY,,}") >> $GITHUB_OUTPUT

- name: Build image for tag
uses: docker/build-push-action@v6.15.0
uses: docker/build-push-action@v6.18.0
with:
push: true
context: ./pocketmine-mp
Expand All @@ -66,7 +66,7 @@ jobs:

- name: Build image for major tag
if: steps.channel.outputs.CHANNEL == 'stable'
uses: docker/build-push-action@v6.15.0
uses: docker/build-push-action@v6.18.0
with:
push: true
context: ./pocketmine-mp
Expand All @@ -79,7 +79,7 @@ jobs:

- name: Build image for minor tag
if: steps.channel.outputs.CHANNEL == 'stable'
uses: docker/build-push-action@v6.15.0
uses: docker/build-push-action@v6.18.0
with:
push: true
context: ./pocketmine-mp
Expand All @@ -92,7 +92,7 @@ jobs:

- name: Build image for latest tag
if: steps.channel.outputs.CHANNEL == 'stable'
uses: docker/build-push-action@v6.15.0
uses: docker/build-push-action@v6.18.0
with:
push: true
context: ./pocketmine-mp
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/discord-release-notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup PHP and tools
uses: shivammathur/setup-php@2.32.0
uses: shivammathur/setup-php@2.33.0
with:
php-version: 8.2

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/draft-release-pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ permissions:
jobs:
check-intent:
name: Check release trigger
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

outputs:
valid: ${{ steps.validate.outputs.DEV_BUILD == 'false' }}
Expand All @@ -43,13 +43,13 @@ jobs:
#don't do these checks if this isn't a release - we don't want to generate unnecessary failed statuses
if: needs.check-intent.outputs.valid == 'true'

runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@2.32.0
uses: shivammathur/setup-php@2.33.0
with:
php-version: 8.2

Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/draft-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ env:
jobs:
skip:
name: Check whether to ignore this tag
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

outputs:
skip: ${{ steps.exists.outputs.exists == 'true' }}
Expand Down Expand Up @@ -54,12 +54,12 @@ jobs:
needs: [check]
if: needs.check.outputs.valid == 'true' && github.ref_type != 'tag' #can't do post-commit for a tag

runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- name: Generate access token
id: generate-token
uses: actions/create-github-app-token@v1
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.RESTRICTED_ACTIONS_DISPATCH_ID }}
private-key: ${{ secrets.RESTRICTED_ACTIONS_DISPATCH_KEY }}
Expand All @@ -79,15 +79,15 @@ jobs:
needs: [check]
if: needs.check.outputs.valid == 'true' || github.ref_type == 'tag' #ignore validity check for tags

runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
with:
submodules: true

- name: Setup PHP
uses: shivammathur/setup-php@2.32.0
uses: shivammathur/setup-php@2.33.0
with:
php-version: ${{ env.PHP_VERSION }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-php-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:
type: number
image:
description: 'Runner image to use'
default: 'ubuntu-20.04'
default: 'ubuntu-22.04'
type: string

jobs:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ jobs:

codestyle:
name: Code Style checks
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false

steps:
- uses: actions/checkout@v4

- name: Setup PHP and tools
uses: shivammathur/setup-php@2.32.0
uses: shivammathur/setup-php@2.33.0
with:
php-version: 8.2
tools: php-cs-fixer:3.49
php-version: 8.3
tools: php-cs-fixer:3.75
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -40,7 +40,7 @@ jobs:

shellcheck:
name: ShellCheck
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false

Expand Down
32 changes: 18 additions & 14 deletions .github/workflows/pr-remove-waiting-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,23 @@ jobs:
with:
github-token: ${{ github.token }}
script: |
const [owner, repo] = context.payload.repository.full_name.split('/');
try {
await github.rest.issues.removeLabel({
owner: owner,
repo: repo,
issue_number: context.payload.number,
name: "Status: Waiting on Author",
});
} catch (error) {
if (error.status === 404) {
//probably label wasn't set on the issue
console.log('Failed to remove label (probably label isn\'t on the PR): ' + error.message);
} else {
throw error;
async function removeLabel(owner, repo, issue_number, name) {
try {
await github.rest.issues.removeLabel({
owner: owner,
repo: repo,
issue_number: issue_number,
name: name,
});
} catch (error) {
if (error.status === 404) {
//probably label wasn't set on the issue
console.log('Failed to remove label ' + name + ' (probably label isn\'t on the PR): ' + error.message);
} else {
throw error;
}
}
}
const [owner, repo] = context.payload.repository.full_name.split('/');
removeLabel(owner, repo, context.payload.number, "Status: Waiting on Author");
removeLabel(owner, repo, context.payload.number, "Stale");
2 changes: 1 addition & 1 deletion .github/workflows/team-pr-auto-approve.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
steps:
- name: Generate access token
id: generate-token
uses: actions/create-github-app-token@v1
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.RESTRICTED_ACTIONS_DISPATCH_ID }}
private-key: ${{ secrets.RESTRICTED_ACTIONS_DISPATCH_KEY }}
Expand Down
6 changes: 6 additions & 0 deletions .php-cs-fixer.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
->in(__DIR__ . '/tests')
->in(__DIR__ . '/tools')
->notPath('plugins/DevTools')
//JsonMapper will break if the FQNs in the doc comments for these are shortened :(
->notPath('crafting/json')
->notPath('inventory/json')
->notPath('data/bedrock/block/upgrade/model')
->notPath('data/bedrock/item/upgrade/model')

->notName('PocketMine.php');

return (new PhpCsFixer\Config)
Expand Down
4 changes: 2 additions & 2 deletions build/dump-version-info.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
*/

/**
* @var string[]|\Closure[] $options
* @phpstan-var array<string, string|\Closure() : string> $options
* @var string[]|Closure[] $options
* @phpstan-var array<string, string|Closure() : string> $options
*/
$options = [
"base_version" => VersionInfo::BASE_VERSION,
Expand Down
6 changes: 6 additions & 0 deletions changelogs/5.27.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,9 @@ If you're upgrading from 5.25.x directly to 5.27.0, please also read the followi
## General
- Aded support for Minecraft: Bedrock Edition 1.21.70.
- Removed support for earlier versions.

# 5.27.1
Released 6th April 2025.

## Fixes
- Updated RakLib to get ping timestamp handling fixes.
34 changes: 34 additions & 0 deletions changelogs/5.28.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 5.28.0
Released 9th May 2025.

This is a support release for Minecraft: Bedrock Edition 1.21.80.

**Plugin compatibility:** Plugins for previous 5.x versions will run unchanged on this release, unless they use internal APIs, reflection, or packages like the `pocketmine\network\mcpe` or `pocketmine\data` namespace.
Do not update plugin minimum API versions unless you need new features added in this release.

**WARNING: If your plugin uses the `pocketmine\network\mcpe` namespace, you're not shielded by API change constraints.**
Consider using the `mcpe-protocol` directive in `plugin.yml` as a constraint if you're using packets directly.

## General
- Added support for Minecraft: Bedrock Edition 1.21.80.
- Removed support for earlier versions.

## Fixes
- `AvailableEnchantmentRegistry` now requires provided tags to always be `string`. Previously, this wasn't enforced, leading to random crashes in core code related to enchanting.
- `Entity->setFireTicks()` and `Entity->setOnFire()` now truncate the fire time to the max value instead of throwing exceptions.

## Internals
- Improved PHPStan error reporting for unsafe foreaches. Foreach on an array with implicit keys now generates different errors than foreach on an array with string keys.

# 5.28.1
Released 17th May 2025.

## Fixes
- Fixed errors when PlayStation players attempt to join due to null `TitleID`.

# 5.28.2
Released 17th May 2025.

## Fixes
- Fixed version constraints which were incorrectly updated during the 1.21.80 update. This led to an unnoticed failure to update BedrockProtocol in the previous patch release.
- Actually fixed PlayStation issues this time
12 changes: 8 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
"adhocore/json-comment": "~1.2.0",
"netresearch/jsonmapper": "~v5.0.0",
"pocketmine/bedrock-block-upgrade-schema": "~5.1.0+bedrock-1.21.60",
"pocketmine/bedrock-data": "~4.1.0+bedrock-1.21.70",
"pocketmine/bedrock-data": "~5.0.0+bedrock-1.21.80",
"pocketmine/bedrock-item-upgrade-schema": "~1.14.0+bedrock-1.21.50",
"pocketmine/bedrock-protocol": "~37.0.0+bedrock-1.21.70",
"pocketmine/bedrock-protocol": "~38.1.0+bedrock-1.21.80",
"pocketmine/binaryutils": "^0.2.1",
"pocketmine/callback-validator": "^1.0.2",
"pocketmine/color": "^0.3.0",
Expand All @@ -45,18 +45,22 @@
"pocketmine/log": "^0.4.0",
"pocketmine/math": "~1.0.0",
"pocketmine/nbt": "~1.1.0",
"pocketmine/raklib": "~1.1.0",
"pocketmine/raklib": "~1.1.2",
"pocketmine/raklib-ipc": "~1.0.0",
"pocketmine/snooze": "^0.5.0",
"ramsey/uuid": "~4.7.0",
"symfony/filesystem": "~6.4.0"
},
"require-dev": {
"phpstan/phpstan": "2.1.8",
"phpstan/phpstan": "2.1.16",
"phpstan/phpstan-phpunit": "^2.0.0",
"phpstan/phpstan-strict-rules": "^2.0.0",
"phpunit/phpunit": "^10.5.24"
},
"replace": {
"symfony/polyfill-ctype": "*",
"symfony/polyfill-mbstring": "*"
},
"autoload": {
"psr-4": {
"pocketmine\\": "src/"
Expand Down
Loading
Loading