Skip to content

Language: emit dynamic property E_DEPRECATED under PROFILE≥8.2 (#29195) - #29198

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-29195-dynamic-prop-deprecation
Aug 9, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-29195-dynamic-prop-deprecation

Conversation

@PurHur

@PurHur PurHur commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

php-src: Zend/zend_object_handlers.c. PHP-in-PHP only (lib/VM/ErrorReporter.php, lib/VM.php, lib/JIT/DynamicPropertyDeprecationGuard.php).

Test plan

  • PHP_COMPILER_PROFILE=8.2 php bin/vm.php test/repro/maintainer_probe_dynamic_prop_deprecation.php
  • PHP_COMPILER_PROFILE=8.2 php bin/jit.php test/repro/maintainer_probe_dynamic_prop_deprecation.php
  • PROFILE=8.1 silent; AllowDynamicProperties/stdClass silent
  • vendor/bin/phpunit test/unit/EAllProfileValueTest.php
  • vendor/bin/phpunit test/unit/DynamicPropertyDeprecationCliTest.php
  • vendor/bin/phpunit test/compliance/DynamicPropertyDeprecationVMTest.php
  • vendor/bin/phpunit test/compliance/DynamicPropertyDeprecatedJITTest.php

Verification transcript

=== PROFILE=8.2 VM ===
PHP Deprecated:  Creation of dynamic property A::$x is deprecated in … on line 9
1
1
1
=== PROFILE=8.2 JIT ===
PHP Deprecated:  Creation of dynamic property A::$x is deprecated in … on line 9
1
1
1
=== PROFILE=8.1 VM ===
1
1
1

Gate snapshot (pre-claim): inventory OK 7252/7252; north-star5-fast ok; helper-runtime-prelink stale (unrelated).

Made with Cursor

Explicit PHP_COMPILER_PROFILE now uses Zend E_ALL as guest startup
error_reporting so PROFILE=8.2/8.3 are not silent; gate the notice itself
to ≥8.2 and keep the unset compliance mask (#4842/#2055).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 61f3bc8 into master Aug 9, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-29195-dynamic-prop-deprecation branch August 9, 2026 02:09
PurHur added a commit that referenced this pull request Aug 9, 2026
…(re-#29197) (#29206)

Release-readiness went red again on tip: three lib/VM property-fetch helper
fingerprints drifted with the dynamic-property deprecate path, and four
mbstring units plus inventory construct flags drifted with #29201. Republish
Docker-emitted fingerprints and regenerate bootstrap-inventory.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Language: creating dynamic property silent — Zend E_DEPRECATED (re-#21953, zend_object_handlers.c)

1 participant