Repository navigation
Releases: NhanAZ/DevTools
Release list
DevTools 1.0.18
DevTools 1.0.18
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Verify compatibility with Axolotl-PM 5.50.0 at commit
fe5b3dee173b5e839783ab6fb7280005aa0a4d73, resolving issue #6. - Synchronize the development dependency, CI server source and compatibility monitor with that revision.
- Update the locked server dependencies to BedrockProtocol 63.0.1 and NetherNet 0.3.1.
- Keep runtime smoke servers on loopback RakNet and test that workflow pins match the lockfile.
Install
Download DevTools-1.0.18.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.4 remains the source, CLI and build minimum. Installing the source checkout's development dependencies now requires ext-webrtc through NetherNet; use a current Axolotl-PM PHP binary.
The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation. The full CI quality matrix runs on PHP 8.4 and PHP 8.5. The runtime validation guide covers folder plugins, shared virions and standalone PHARs on Axolotl-PM 5.50.0 with Windows x64 and PHP 8.4.24 ZTS. These tests use RakNet and do not test NetherNet client connections or gameplay.
DevTools 1.0.17 remains available for rollback. Runtime evidence is recorded separately from candidate metadata; CI on PHP 8.5 does not claim an Axolotl-PM server test on PHP 8.5.
Release assets
DevTools-1.0.18.pharcontains the installable plugin.DevTools-examples-1.0.18.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.17
DevTools 1.0.17
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Reject linked source paths, including Windows directory junctions, and avoid following them during cleanup.
- Protect existing build outputs, detect collisions with bundled virion resources and metadata, and retain supported license and notice files.
- Fix namespace preparation for numeric-leading package names and source inspection of attributed anonymous classes.
- Close shading guard gaps involving imported aliases, named arguments and argument unpacking.
- Correct virion version ordering for prereleases, build metadata and large version components.
- Improve manifest and path diagnostics, support qualified server command aliases, and remove duplicate validation and unused imports.
Install
Download DevTools-1.0.17.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.4 remains the source, CLI and build minimum. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation. The full CI quality matrix runs on PHP 8.4 and PHP 8.5. The runtime validation guide describes the server checks on Windows x64 with PHP 8.4.24 ZTS.
DevTools 1.0.16 remains available for rollback. Runtime evidence is recorded separately from candidate metadata; CI on PHP 8.5 does not claim an Axolotl-PM server test on PHP 8.5.
Release assets
DevTools-1.0.17.pharcontains the installable plugin.DevTools-examples-1.0.17.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.16
DevTools 1.0.16
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Require PHP 8.4 or newer for the source checkout, CLI, build and plugin runtime.
- Run the complete CI quality gate on PHP 8.4 and PHP 8.5.
- Default reusable GitHub build and publication workflows to PHP 8.4.
- Generate prepared Composer virion manifests with DevTools' PHP 8.4 baseline.
Install
Download DevTools-1.0.16.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.4 is the source, CLI and build minimum. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation. The full CI quality matrix runs on PHP 8.4 and PHP 8.5. The runtime validation guide records the executed server test on Windows x64 with PHP 8.4.24 ZTS. CI on PHP 8.5 does not claim an Axolotl-PM server boot on PHP 8.5.
DevTools 1.0.15 remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence is recorded separately from candidate metadata.
Release assets
DevTools-1.0.16.pharcontains the installable plugin.DevTools-examples-1.0.16.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.15
DevTools 1.0.15
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Require packaging identity strings compared with
__CLASS__to exactly match the original enclosing class. Unrelated namespace prefixes, suffixes and case mismatches remain rejected. - Resolve shaded namespaces back to their original names during final source validation so exact packaging sentinels survive reparsing without bypassing stale-reference checks.
- Add regression coverage for unrelated namespace prefixes and case-mismatched identity strings.
- Allow dynamic construction from a local static class map whose values are explicit
::classreferences immediately selected by the factory. - Preserve exact
__CLASS__ !== 'original\\Class'packaging sentinels used to detect namespace shading while continuing to reject unrelated identity strings. - Keep mutable, runtime-supplied and otherwise unproven dynamic class maps rejected.
Previous changes
- Permit a variable operand in
instanceof, whose runtime type check does not autoload a class; computed dynamic targets remain rejected. - Rewrite only the exact
Fiber::getCurrent(), non-null guard andsuspend()pattern to the native\Fiber::suspend()call. - Rewrite
ReflectionClass($className)to reflect the bound object only when the same non-static closure immediately assigned the variable fromget_called_class(). PermitReflectionClass($this)when a non-static method or closure has a bound object. - Preserve fail-closed checks for other dynamic static calls, arbitrary reflection class strings and computed
instanceoftargets.
These earlier narrow rules clear the relevant VAPM Fiber, reflection and instanceof patterns in libBedrock's prepared dependency sources. Its build still stops at a VAPM autoloader path stored as a string that no longer matches after namespace shading. No complete libBedrock PHAR or release eligibility is claimed.
Install
Download DevTools-1.0.15.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
DevTools 1.0.14 remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.15.pharcontains the installable plugin.DevTools-examples-1.0.15.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.14
DevTools 1.0.14
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Allow dynamic construction from a local static class map whose values are explicit
::classreferences immediately selected by the factory. - Preserve exact
__CLASS__ !== 'original\\Class'packaging sentinels used to detect namespace shading while continuing to reject unrelated identity strings. - Keep mutable, runtime-supplied and otherwise unproven dynamic class maps rejected.
Previous changes
- Permit a variable operand in
instanceof, whose runtime type check does not autoload a class; computed dynamic targets remain rejected. - Rewrite only the exact
Fiber::getCurrent(), non-null guard andsuspend()pattern to the native\Fiber::suspend()call. - Rewrite
ReflectionClass($className)to reflect the bound object only when the same non-static closure immediately assigned the variable fromget_called_class(). PermitReflectionClass($this)when a non-static method or closure has a bound object. - Preserve fail-closed checks for other dynamic static calls, arbitrary reflection class strings and computed
instanceoftargets.
These narrow rules clear the relevant VAPM Fiber, reflection and instanceof patterns in libBedrock's prepared dependency sources. Its build still stops at a VAPM autoloader path stored as a string that no longer matches after namespace shading. No complete libBedrock PHAR or release eligibility is claimed.
Install
Download DevTools-1.0.14.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
DevTools 1.0.12 remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.14.pharcontains the installable plugin.DevTools-examples-1.0.14.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.13
DevTools 1.0.13
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Allow object-class diagnostics inside the same short-circuit
instanceof ... || throwguard when the inspected variable is the guarded operand. This supports dependency diagnostics such as InvMenu's guarded$graphic::classmessage without permitting dynamic class loading or static dispatch. - Keep dynamic class factories, static calls, computed targets and mismatched guarded variables rejected.
Previous changes
- Permit a variable operand in
instanceof, whose runtime type check does not autoload a class; computed dynamic targets remain rejected. - Rewrite only the exact
Fiber::getCurrent(), non-null guard andsuspend()pattern to the native\Fiber::suspend()call. - Rewrite
ReflectionClass($className)to reflect the bound object only when the same non-static closure immediately assigned the variable fromget_called_class(). PermitReflectionClass($this)when a non-static method or closure has a bound object. - Preserve fail-closed checks for other dynamic static calls, arbitrary reflection class strings and computed
instanceoftargets.
These narrow rules clear the relevant VAPM Fiber, reflection and instanceof patterns in libBedrock's prepared dependency sources. Its build still stops at a VAPM autoloader path stored as a string that no longer matches after namespace shading. No complete libBedrock PHAR or release eligibility is claimed.
Install
Download DevTools-1.0.13.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
DevTools 1.0.12 remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.13.pharcontains the installable plugin.DevTools-examples-1.0.13.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.12
DevTools 1.0.12
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Permit a variable operand in
instanceof, whose runtime type check does not autoload a class; computed dynamic targets remain rejected. - Rewrite only the exact
Fiber::getCurrent(), non-null guard andsuspend()pattern to the native\Fiber::suspend()call. - Rewrite
ReflectionClass($className)to reflect the bound object only when the same non-static closure immediately assigned the variable fromget_called_class(). PermitReflectionClass($this)when a non-static method or closure has a bound object. - Preserve fail-closed checks for other dynamic static calls, arbitrary reflection class strings and computed
instanceoftargets.
These narrow rules clear the relevant VAPM Fiber, reflection and instanceof patterns in libBedrock's prepared dependency sources. Its build still stops at a VAPM autoloader path stored as a string that no longer matches after namespace shading. No complete libBedrock PHAR or release eligibility is claimed.
Install
Download DevTools-1.0.12.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
DevTools 1.0.11 remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.12.pharcontains the installable plugin.DevTools-examples-1.0.12.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.11
DevTools 1.0.11
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Allow a variable target type in
is_a($objectOrClass, $class)when the optionalallow_stringargument is omitted. Keep the fail-closed guard when callers explicitly enable string input, and keep the other dynamic-class checks unchanged. - Add regression coverage for the supported comparison and the rejected autoload-enabled form.
The change supports type matching against caller-provided catch maps, including the pinned AwaitGenerator implementation in libBedrock. In a local build of libBedrock's existing prepared dependencies, this removes the AwaitGenerator is_a() diagnostic; the build then reaches a separate dynamic Fiber static call in VAPM and still fails. No complete libBedrock PHAR or release eligibility is claimed. DevTools does not relax dynamic construction, reflection, class_exists(), is_subclass_of(), or dynamic static calls.
Install
Download DevTools-1.0.11.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
The 1.0.10 release remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.11.pharcontains the installable plugin.DevTools-examples-1.0.11.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.10
DevTools 1.0.10
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Prepare a locked Composer virion when one PHP file declares its correctly named class plus additional classes in the same namespace and directory. DevTools creates a small autoload shim for each additional class and records its source file in dependency provenance.
- Continue to reject misnamed standalone classes, duplicate class declarations and unproven dynamic class references during shading. The new preparation support does not authorize a package to build or run when another gate fails.
This release does not change the public plugin API or the behavior of existing builds without colocated classes. The libBedrock dependency graph can now pass Composer preparation with generated shims for VAPM, but its current full PHAR still fails the separate dynamic class shading check in SOFe AwaitGenerator. No libBedrock release is implied.
Install
Download DevTools-1.0.10.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
The 1.0.9 release remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.10.pharcontains the installable plugin.DevTools-examples-1.0.10.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.
Documentation
DevTools 1.0.9
DevTools 1.0.9
DevTools loads folder plugins and shared development virions on Axolotl-PM and builds standalone plugin PHARs.
Changes
- Reject an annotated dynamic class factory unless two top-level throwing guards directly precede
return new $variable(): one checksclass_exists()and the other checksis_subclass_of()against a static class. - Reject checks hidden in optional branches and a class name reassigned after validation. Earlier versions could count these checks even when they did not guard the object creation.
- Preserve the Composer virion preparation and import settings from 1.0.8. The change tightens shading validation; it does not make previously rejected dynamic packet references safe.
Root plugin classmaps and multiple package roots remain unsupported. DevTools also continues to reject dynamic class references it cannot prove safe to shade. A package passing preparation is not proof that its plugin will build or run.
Install
Download DevTools-1.0.9.phar and verify its SHA-256 with SHA256SUMS.txt. Stop the server, place the file at plugins/DevTools.phar, start the server, and run /devtools status.
The examples ZIP contains the HelloShared plugin and SharedGreeting library. Follow the example guide to load source and build a standalone PHAR.
Compatibility and verification
PHP 8.1 is the source and build baseline. The release candidate gate runs PHPStan max, syntax, style, unit tests, documentation checks and artifact validation on the selected commit. The runtime validation guide describes the pinned Axolotl-PM test and its limits.
The 1.0.8 release remains available for rollback. A successful dependency preparation or build does not prove a server boot or gameplay behavior. Runtime evidence for this release is recorded separately from candidate metadata.
Release assets
DevTools-1.0.9.pharcontains the installable plugin.DevTools-examples-1.0.9.zipcontains examples, a build workflow and a coding agent template.RELEASE_NOTES.mddescribes this release.candidate.jsonidentifies the source commit, build run and asset hashes.SHA256SUMS.txtlists checksums.