Repository navigation
Conversation
Two ports, InstanceResolverInterface and DiscoveryRegistrarInterface, replace the container in the engine, the instance pool and the reflection cache; DiscoveryCacheManager takes its driver and logger, and the Laravel provider builds them. Adds a PSR-16 cache driver, an architecture test for the part that becomes pollora/discovery, and fixes the benchmarks' memory measurement.
The engine, its contracts, the cache and #[SkipDiscovery] now come from pollora/discovery, with the same class names. The framework keeps the Laravel side: provider, commands, registrar, adapters, and the post type and taxonomy support.
refactor: let discovery run without Laravel's application
refactor: require pollora/discovery instead of shipping it
Post type and taxonomy attributes implement ConfiguresArguments, a pure function of their own values, and the method attributes ConfiguresArgumentsWithMethod; the discoveries apply them. #[Method] routes are registered by WpRestRouteRegistrar, default names come from an internal Naming helper matching Str, and the dead handle() methods of Action, Filter and WpRestRoute are gone. Pollora\Attributes no longer reaches Laravel or a framework service, which an architecture test keeps. Fixes an #[Action] or #[Filter] method of a post type or taxonomy class being registered a second time on the discovery's configuration object.
refactor: let attributes declare what they register
refactor: require pollora/attributes instead of shipping the attributes
WpRestDiscovery resolves controllers through the discovery's instance pool and hands custom HandlesAttributes attributes the PSR-11 container it was given, instead of app(); the wrapper takes the instance instead of building it with resolve() for its logger. An architecture test keeps the module to attributes, discovery, PSR contracts and WordPress. Fixes a REST controller with a constructor dependency never being built.
refactor: let the WpRest module run without Laravel's application
WpCliDiscovery builds commands through the discovery's instance pool instead of resolve(). An architecture test keeps the module, provider and generator aside, to the attributes, discovery, PSR logging and WP-CLI.
refactor: let the WpCli module run without Laravel's application
ScheduleDiscovery derives default hook names itself, matching Str::snake() so scheduled hooks keep their name. Adds the first tests that run the discovery, a parity test and an architecture test; the bridge to Laravel's scheduler stays in the framework.
refactor: let #[Schedule] run without Laravel
refactor: require pollora/wp-rest instead of shipping the WpRest module
refactor: require pollora/wp-cli instead of shipping the WpCli module
ScheduleDiscovery moves to pollora/schedule with its FQCN; the framework gives the schedule engine its container. The bridge to Laravel's scheduler stays.
config/schedule.php names the driver (POLLORA_SCHEDULE_DRIVER) and the hooks that stay on WP-Cron. pollora:schedule:list reads the cron option, which now indexes every driver's events, and shows each one's type and driver; pollora:schedule:migrate moves pending events between drivers. pollora:doctor and Site Health report an unknown or missing driver, and events a former driver still keeps.
refactor: require pollora/schedule instead of shipping ScheduleDiscovery
feat: choose the scheduling driver, list and migrate scheduled events
Updates the requirements on [larastan/larastan](https://github.com/larastan/larastan) to permit the latest version. - [Release notes](https://github.com/larastan/larastan/releases) - [Changelog](https://github.com/larastan/larastan/blob/3.x/RELEASE.md) - [Commits](larastan/larastan@v3.12.0...v3.13.0) --- updated-dependencies: - dependency-name: larastan/larastan dependency-version: 3.13.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [laravel/prompts](https://github.com/laravel/prompts) to permit the latest version. - [Release notes](https://github.com/laravel/prompts/releases) - [Changelog](https://github.com/laravel/prompts/blob/main/CHANGELOG.md) - [Commits](laravel/prompts@v0.3.24...v0.3.25) --- updated-dependencies: - dependency-name: laravel/prompts dependency-version: 0.3.25 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
feat: require pollora/hook 2.0
The laravel driver queues each event as a job delayed until it is due; the cron option is its record. Removes use_laravel_scheduler, Scheduler, Events, Jobs\JobDispatcher, RegisterSchedulerFiltersUseCase and the wp_events table. Adds pollora:schedule:recover.
…e engine is created The driver is chosen while providers register, so it resolves the bus when a job is queued. Requires pollora/schedule ^0.1.3 (Identifies).
feat: laravel scheduling driver, remove the Laravel scheduler bridge
…stan/larastan-tw-3.13 chore(deps-dev): update larastan/larastan requirement from ^3.12 to ^3.13
…vel/prompts-tw-0.3.25 chore(deps): update laravel/prompts requirement from ^0.3.24 to ^0.3.25
Map Laravel's app.env to a default WP_ENVIRONMENT_TYPE before WordPress loads, so app.env=local produces local. dev, development, testing and staging are mapped too; an explicit process environment value, a configured constant or a constant already defined still wins. Fixes #443.
…utside production The site now reports its environment as local, so the trackback test needs the wp_should_disable_pings_for_environment filter. The changelog says what the new environment changes for pings.
fix(wordpress): map app.env to WP_ENVIRONMENT_TYPE
Updates the requirements on [orchestra/testbench](https://github.com/orchestral/testbench) to permit the latest version. - [Release notes](https://github.com/orchestral/testbench/releases) - [Changelog](https://github.com/orchestral/testbench/blob/11.x/CHANGELOG-11.x.md) - [Commits](orchestral/testbench@v11.1.0...v11.3.0) --- updated-dependencies: - dependency-name: orchestra/testbench dependency-version: 11.3.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
chore(deps): require Laravel 13.36
…erval fix(schedule): give a recurring event of the laravel driver its interval
fix: listen to queued asynchronous actions at boot
chore: release v13.36.0
chore: merge develop into the release
release: v13.36.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v13.36.0: Laravel 13.36; discovery, attributes, wp-rest, wp-cli and schedule as packages of their own; hook 2.0;
WP_ENVIRONMENT_TYPEfollowsAPP_ENV. See the CHANGELOG.