Skip to content

feat: integrate native final service shutdown - #20

Merged
brianvarskonst merged 2 commits into
mainfrom
feat/native-service-shutdown-20261023
Oct 23, 2026
Merged

brianvarskonst merged 2 commits into
mainfrom
feat/native-service-shutdown-20261023

Conversation

@brianvarskonst

@brianvarskonst brianvarskonst commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

The WordPress App now integrates native final service shutdown when the installed Symfony resetter supports ShutdownInterface. After WordPress shutdown actions, a weak PHP shutdown callback closes the kernel; explicit shutdown remains idempotent. Bundles shut down in reverse order, cleanup continues after errors, and a failed post-boot hook rolls back the native kernel before retry.

Autoconfiguration adapts existing reset tags for native ShutdownInterface services, preserving explicit flag/only attributes and deduplicating callbacks. Symfony owns reset execution, validation, lazy-service handling and non-shared tracking. DependencyInjection 8.1 remains supported without enabling this new integration.

Validation: complete PHPCS/PHPStan/PHPUnit QA on stable Symfony 8.1 and separately installed official 8.2/Contracts snapshots (96 tests; native 436 assertions), including the existing CLI/FPM fixture. Native regressions cover private services, initialized/uninitialized lazy services, non-shared instances, ordinary versus final resets, one-time execution, reentrancy, failure continuation, real PHP shutdown, and failing-boot-hook/retry. Seven PHPUnit notices remain visible; no tests/checks were suppressed.

Draft release blockers:

  • Symfony 8.2 and Service Contracts 3.8 are unreleased on 2026-10-23. No development requirement, Symfony implementation copy or vendor patch is added to this package.
  • Composite Framework/Doctrine/Mailer qualification passes with the stable-compatible fix in https://github.com/SymPress/framework-bundle/releases/tag/v1.0.8 (fix: preserve live kernel during container diagnostics framework-bundle#12): lint, cache reset, SQLite queries and final connection closure. Consumers that install the Framework Bundle must include its diagnostic fix (>=1.0.8) before final publication. Mailer compilation and disabled interception are checked; transport closure/delivery behavior is not inferred.
  • Requalify final stable APIs/consumer versions, independently review exact final head, rebase current main, rerun QA/CI, then rebase-merge that SHA and publish an appropriate minor release with signed tag, fresh public archive and Packagist/Composer verification.

Tracking chat: 01a16a95-4440-7222-9b20-b15e4c4db9de. Related CLI completion work is in SymPress/cli. Runtime's PHP-only Composer-host/pre-autoload process boundary remains unchanged.

@brianvarskonst
brianvarskonst force-pushed the feat/native-service-shutdown-20261023 branch from ac2b541 to 73b8753 Compare October 23, 2026 23:17
@brianvarskonst
brianvarskonst merged commit 745166a into main Oct 23, 2026
3 checks passed
@brianvarskonst
brianvarskonst deleted the feat/native-service-shutdown-20261023 branch October 23, 2026 23:19
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.

1 participant