Sync Laravel updates: #58017 → #58251 - #574
Merged
Merged
Conversation
Restore the current upstream regression for discovering real commands whose class names end in Test while excluding PHPUnit classes in the same directory. Exercise the real kernel through addCommandPaths and normal bootstrap. Keep all three upstream fixture roles and assertions, use the disposable Testbench application and an owned autoloader, and clean up only the created fixture directory. This avoids upstream test-helper machinery and shared autoloader mutation while retaining Hypervel command discovery and execution behavior. Upstream: laravel/framework#58017 and laravel/framework#58147. Port source: Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Validated the complete kernel test file, focused Foundation Console and Console suites, and formatting. Peer verification also covered generator interaction in both execution orders. No production behavior changes.
Correct the descriptions inherited from Laravel PR #58019: text capacities count bytes, not characters, and the listed integer widths, unsigned ranges and text limits belong to MySQL and MariaDB. PostgreSQL and SQLite compile several of these column types differently. Preserve all upstream numeric values while qualifying the descriptions across the 22 affected methods, including incrementing columns and foreignId. The SQL generation, types and public APIs remain unchanged; no runtime checks or compatibility branches are added. Upstream: laravel/framework#58019. Port source: Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Verified against the supported schema grammars and MySQL string type documentation. Validation: formatting and diff checks pass; peer facade-docblock verification passes. Changes are prose only and do not alter analysis annotations or executable code.
Multi-attribute SORT_NUMERIC comparisons truncated both values to integers, so different fractional prices or scores became ties and were ordered by secondary fields or input order. Compare floats to match PHP's native numeric sort and Collection's single-attribute path. Keep the existing comparison loop, sort directions, key preservation and LazyCollection delegation. Add one shared regression for both collection classes covering positive and negative fractions, numeric strings, secondary-key ties and both primary sort directions. Found while reconciling Laravel's casting update; the defect originated in its multi-attribute sort-option implementation and remains in source pin 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Upstream: laravel/framework#50269 laravel/framework#58037 Validation: the new regression failed with the integer comparator and passes with the float comparator. Affected collection, support, request and file validation tests pass, as do formatting and both PHPStan configurations.
Replace the remaining intval and floatval calls in InteractsWithData's numeric getters and the file-size rule helper with native PHP casts. All other supported source and test changes from the upstream PR are already present; SQL Server remains intentionally unsupported. Give File::toKilobytes its exact native int|float return type while keeping the current upstream conditional return and exception annotations. Data retrieval, size rounding, invalid-suffix errors and typed size properties retain their existing behavior. Port source: Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. laravel/framework#58037 Validation: existing request conversion and file-size boundary tests pass, along with the affected support tests, formatting and both PHPStan configurations. No new tests duplicate the existing conversion coverage.
Mailable delivery accepts Htmlable view values through Mailer::renderView(), but renderForAssertions() cast the same text value directly to string. Implementations with toHtml() and no __toString() sent successfully and then failed both HTML and text assertions. Use the existing Htmlable conversion when producing assertion text and describe the actual buildView() array values. Preserve the rendering cache and locale lifecycle. Add one regression using real delivery through ArrayTransport followed by HTML and text assertions. Discovered while porting laravel/framework#60466 from Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2; current upstream shares the assertion defect. Verified the regression fails before the fix. Full source/type analysis, affected mail/locale/facade tests, and formatting pass.
Port the current generic return annotations for whenHas(), whenFilled(), whenMissing(), whenEnum(), and withLocale(), together with the complete upstream type fixture. Restore the missing ValidatedInput whenEnum regression and regenerate the Request facade annotations. Keep existing native signatures, precise enum conversion, conditional callback behavior, and coroutine-local locale restoration unchanged. Add native typing to the ported runtime test callbacks while preserving literal return inference in the type fixture. Laravel PRs: laravel/framework#60466 laravel/framework#60486 laravel/framework#60507 laravel/framework#60536 Port source: Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. The new type fixture exposed the missing inference before these annotations. Full source/type analysis, affected Support/Http/mail/notification tests, facade consistency, and formatting pass.
The shared InteractsWithData implementation and Fluent retrieval tests from Laravel PR #53665 are already present. Document that Fluent input values provide the same typed retrieval methods as requests. Correct the singular fixture-key lookups in the Fluent and Request enum-array tests. They were reading absent keys and passing without checking invalid populated values or the non-backed enum case. Preserve the existing cases and add the required void return type to the touched Fluent test. Laravel PR: laravel/framework#53665. Source: Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Checked Laravel docs at 2914ba0b06c6be40c2f1f992555853f6266707d6; no matching Fluent explanation exists there. Both affected test files, the wider Support/Http checks, and formatting pass.
Port the complete current listener tests from Laravel PRs #58040 and #59309, preserving Hypervel coroutine-local query storage and the existing multibyte regression. Merge the query-cap case into its upstream test location, including exact call counts and first/last retained queries. Correct the upstream truncation fixture: 500 placeholders never reach the 2000-byte limit. Use 1000 and assert the actual truncated length as well as the retained binding count. Fix the adjacent applicationQueries display bug with Str::replaceArray(): repeated regex substitutions consumed backreference-like value text and replaced question marks inside earlier bindings. Preserve number/null/string formatting without adding a parser, connection access or retained state. Correct nullable connection-name/time annotations and add one real-renderer regression. Laravel PRs: laravel/framework#58040 laravel/framework#59309. Source: 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Current upstream shares both the ineffective fixture and display corruption. Regression fails before the fix; affected test files, complete renderer suite, full source/type analysis and formatting pass.
Complete the public documentation for Laravel PR #58048. Explain backed values, pure case names and the precedence of custom formatting handlers, while distinguishing other objects that use __toString(). The translator implementation, three enum fixtures and all upstream replacement assertions were already present and verified. Pinned Laravel localization documentation has no matching enum explanation, so add concise guidance beside the existing replacement examples. Laravel PR: laravel/framework#58048. Framework source: 01d008c9b5f32cb7c5e50a9a22273113d810b2a2; docs source checked: 2914ba0b06c6be40c2f1f992555853f6266707d6. Existing translation tests pass; prose verified against formatter precedence and reviewed.
Complete the public documentation for Laravel PR #58054. Explain how withAttributes distinguishes requests to one URL, and show fake response selection through Request::attributes(). Attributes remain local to the client and are also available to request assertions. The existing source and current upstream integration cases already cover this behavior. Checked the example against those paths; the peer independently executed the documented example and verified assertion visibility. The HTTP integration tests pass. No runtime changes or additional tests. Upstream: laravel/framework#58054 Source: laravel/framework 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. The pinned Laravel documentation contains no corresponding HTTP attributes section.
Add minimal READMEs for reflection, conditionable and macroable so future ports can identify their Laravel source. The reflection implementation, Composer wiring and license already cover the package split from Laravel PRs #58052 and #58055. Add the missing DI README linking to its AOP documentation and copy the existing sibling license with Hyperf and Hypervel attribution. The DI package history confirms its Hyperf origin; its README follows the current rule for independently maintained packages without an ongoing upstream reference. Reviewed all package paths, documentation links and README conventions. Verified the DI license is identical to the pool package license. Documentation and license files only; no runtime behavior or test changes. Upstream: laravel/framework#58052 laravel/framework#58055 Source: laravel/framework 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2.
Track PendingRequest's async state in PHPDoc so requests created by the factory infer Response, async requests infer PromiseInterface, and the fluent setter updates both its result and a separately held receiver. Port the current upstream type fixture, including QUERY coverage, and regenerate the Http facade. Remove Saloon's now-redundant response narrowing. Use a conservative bool template default instead of false: unannotated subclasses and unknown-state references must retain an honest union. Record fresh synchronous construction explicitly on Factory's two creation methods. Keep native static return types and static<T> annotations to preserve subclass identity. Bare facade fluent entry points retain their existing union precision; no generator machinery or runtime transport changes are needed. PHPStan can carry self-out state between identical factory-call expressions even when they create different objects. Preserve the correct contracts and explain the independent fixture scope; the limitation and reproduction are recorded for upstream reporting. Dropping self-out would instead mis-type held requests after async() calls. Upstream: laravel/framework#58090 laravel/framework#58232 laravel/framework#58684 laravel/framework#60663 Source: Laravel 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. QUERY source, runtime tests and public documentation were already present; this completes its conditional return annotation and type-test coverage. Validated with full source/type analysis, HTTP and Saloon tests, facade generation/tag checks, formatting and diff checks.
BlogPostResource resolves to blog_posts through snake() and pluralStudly(), not blog-posts. Correct the example inherited from Laravel's resource docs so it matches both frameworks' resource type derivation. Found while completing the usage-improvements port: laravel/framework#57960 Checked Laravel docs at 2914ba0b06c6be40c2f1f992555853f6266707d6 and the current Hypervel resolveResourceType() path. Documentation-only correction; resource behavior is unchanged.
Complete Laravel PR #58110 using the current 13.x implementation at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Collection mergeHidden() and mergeVisible() advertise string inputs but forwarded them unchanged to model methods requiring arrays. Normalize once at the collection boundary, preserving the model contracts and existing collection behavior. Extend both upstream tests with string cases while retaining their array assertions. The new cases reproduce the TypeErrors before the fix and pass afterwards. Restore the required parent setup call. Validated the complete collection test class, formatting and full source/type analysis. Upstream: laravel/framework#58110
Complete Laravel PR #58115 from current 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Restore the upstream tap regression through a faked factory request and its captured response value. Preserve the existing Hypervel chaining test, and restore the upstream macro result type assertion. Add one discoverability sentence linking the HTTP response API to the existing tap documentation. The pinned Laravel docs have no HTTP-specific tap coverage; reuse the canonical helper explanation instead of duplicating it. Validated the full HTTP client test class, formatting and full source/type analysis. Upstream: laravel/framework#58115
Port Laravel PR #58118 with the current action revision from #60672, using 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Pin git-auto-commit-action v7.2.0 to the exact reviewed commit. The other upstream auto-commit workflows and Laravel Cloud comment change have no corresponding Hypervel integration. Match the typed Application VERSION constant so version replacement actually takes effect. Pass the version through the environment instead of interpolating it into shell source, and verify the resulting literal so an unmatched replacement aborts before tagging. Repeating an already-applied version remains valid. Set the existing release-branch guard to 0.4. Component repositories must be split to current 0.4 branches before the first release; no release or split operation is performed by this change. Validated action defaults and clean-tree/push behavior against its pinned source, workflow YAML and shell syntax, and the version step on scratch copies for replacement, repeat invocation and a missing-pattern failure. Upstream: laravel/framework#58118 Upstream: laravel/framework#60672
Port the meaningful QueueFailedOver constructor descriptions from Laravel PR #58123 at current 13.x revision 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Use the native object|string union for command, matching the supported queue job inputs and the sole event construction path. Raw operations carry no job and do not dispatch this event. Preserve the command parameter name and mutable public properties. CacheFailedOver already carries the applicable types and explanations, so it needs no change. Omit redundant exception annotations under the porting policy. Validated the complete failover queue test class, formatting and full source/type analysis. Upstream: laravel/framework#58123
Port Laravel PR #58152 from the current 13.x implementation at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2: laravel/framework#58152 Accept a nullable pruning lottery and skip automatic cleanup when it is null. Retain the existing public pruner and resolver-based connection access so locks do not retain coroutine-owned pooled connections. Include the existing empty-array opt-out in the odds metadata, beyond upstream’s two-integer tuple or null. Document the empty array for store configuration, where null still selects the default odds. Restore the upstream acquisition exception annotation. The new null regression fails against the previous constructor; both opt-out cases verify acquisition without pruning. Existing forced-pruning and exception handling coverage remains. Focused cache and validation suites, formatting, and full source and type-fixture analysis pass.
Complete Laravel PR #58059 using the current 13.x tests at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2: laravel/framework#58059 The dateTime builder and past, future, nowOrPast and nowOrFuture methods are already implemented and documented. Restore both missing upstream test methods and all four strict assertions in upstream order. Adapt expected parameters to Hypervel’s standard CSV quoting while preserving all existing date-format and literal-separator coverage. The changed test file and focused suites pass, along with formatting and full static analysis.
Port Laravel framework PR #58176 from 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2: laravel/framework#58176 Reconcile its already implemented enum/countBy dependencies: laravel/framework#56856 laravel/framework#56830 Put enum-aware keyBy and countBy callback metadata on Enumerable so interface-typed calls share the concrete implementations' contract. Include supported boolean counting/grouping, null grouping and Stringable keys. Preserve the Collection return alternative for countBy implementations such as Eloquent, without changing native signatures or runtime behavior. Correct the upstream grouping contract: LazyCollection produces ordinary Collection groups, while eager collections preserve their concrete class. Keep the shared contract on Enumerable and refine eager groups locally. Order conditional key types by array-key first so PHPStan can prove their bounds, removing obsolete suppressions instead of adding runtime machinery. Stringable and enum branches cannot overlap because PHP forbids enum __toString implementations. Alias the native Stringable import to retain the existing Hypervel Support Stringable references in the same namespace. Port the current eager and lazy grouping, keyBy and countBy type assertions into the existing fixture, retaining input cases and callback assertions. Correct lazy-group expectations to match runtime and preserve more precise literal keys. Add focused interface and normalized-key regression cases. Validated with composer analyse, composer lint:fix, affected eager/lazy and Eloquent collection suites, and final focused grouping/key/count tests.
Complete the current callback metadata from Laravel framework PR #58088: laravel/framework#58088 Source: 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. The existing callback loop intentionally ignores non-Response returns, including the string and void callbacks in the upstream regression tests. The inherited Response|null annotation incorrectly rejected these supported callbacks. Describe their result as mixed and type the callback collection consistently, preserving nullable Request for caller-supplied Guzzle clients that bypass middleware capture. Extend the existing type fixture to check inferred callback arguments, string/void returns, response replacement and the synchronous fluent result. Explain that both fixture blocks need isolation from PHPStan's retained async self-out state. Runtime behavior, callback ownership and native signatures are unchanged; existing runtime tests already cover the cases. Verified full source/type analysis, formatting, immediate type-fixture checks and affected HTTP, mail, queue and relationship tests. Peer review independently confirmed the contract and fixture isolation.
Complete the public documentation for Laravel framework PR #58164: laravel/framework#58164 Source: 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Docs checked at 2914ba0b06c6be40c2f1f992555853f6266707d6. The implementation and attachment regression already support false for either withTimestamps argument, but both frameworks' documentation still requires both timestamp columns unconditionally. Replace that warning with the default requirement, column-name arguments and a disabled-column example. Explain the custom-pivot requirement to override timestamp-column methods for renamed or disabled columns: AsPivot delegates to the parent model, so setting the custom pivot's constants alone does not reliably configure these values. Keep the guidance focused on public usage. Verified the current upstream source and fixture, the existing SQLite attachment test, and the relationship/mailable paths during peer review. No source behavior or new application compatibility difference.
Complete Laravel framework PR #58187 from current 13.x: laravel/framework#58187 Source revision: 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Mailer::render only consumes the HTML/plain entries of parseView's tuple, and Job::failed invokes the conventional failed hook regardless of the parsed execution method. Remove those two unused assignments. Preserve Mailer::send's raw entry and Job::fire's method because both are used. The other three changed upstream files already contain the cleanup. No behavioral changes or additional tests: existing mail rendering and queue failure coverage passes, with formatting and full source/type analysis. The complete five-file upstream diff was reconciled.
Complete the current test expectations for Laravel framework PR #58191: laravel/framework#58191 Source: 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. All three relation matchers already reject null parent keys, and the has-one/has-many regression assertions are present. Port current upstream single-invocation expectations for relation construction, constraints and related collection creation. Remove unused timestamp-column mocks and the unused newCollection stub from Hypervel's null-foreign-key test. Keep every behavioral assertion, the extra null-foreign-key case and the string-key model fixture. Add native callback types and helper descriptions without changing the supported relationship behavior. Verified the changed file immediately, affected parallel suites, formatting and full source/type analysis. Peer review confirmed every required call and that removed mocks are not used on these paths.
Complete the public documentation for Laravel PR #58204. Show the multi-guard using() constructor beside guest redirection and its equivalent guest:admin,web alias. The source implementation and all three upstream guard-count assertions are already present, including Hypervel request-local guard selection. Upstream: laravel/framework#58204 Source reference: 01d008c9b5f32cb7c5e50a9a22273113d810b2a2 (13.x). The pinned Laravel authentication documentation has no constructor example, so this adds a concise example at the existing public surface. Validation: existing middleware source and upstream assertions reconciled; full static analysis and formatting pass. Independently reviewed with the filesystem URL batch.
Port Laravel PR #58210 from current 13.x. Strip trailing slashes from APP_URL before appending /storage so a configured application subpath does not produce URLs containing //storage. Normalize the shipped configuration rather than changing explicit filesystem URL handling or adding work to each generated URL. Cast the environment value to string before rtrim so an absent APP_URL still produces /storage under strict types. Update the matching documentation example, which remains stale in the pinned Laravel docs. Exercise the real public disk adapter using shipped config for an ordinary host, a trailing-slash subpath, and an absent environment value. Upstream: laravel/framework#58210 Source reference: 01d008c9b5f32cb7c5e50a9a22273113d810b2a2 (13.x). Validation: the subpath regression fails before the fix and passes afterwards. FoundationConfigTest, the filesystem suite, full static analysis and formatting pass. Self-reviewed and independently reviewed.
Complete the remaining Laravel #58107 surface against framework 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Regenerate the Auth facade from AuthManager and SessionGuard so hashPasswordForCookie, logoutOtherDevices and the remaining session guard methods are discoverable. Preserve guard-contract impurity through mixins, including HTTP basic authentication, with type fixtures guarding against incorrect narrowing. Retain the owner-approved HMAC-only requirement for custom guards used with auth.session. Document the required method and SessionGuard extension path, and record the deliberate omission of the raw-hash and missing-method fallbacks introduced by #58385 and #58389. No runtime fallback or compatibility branch is added. Restore the protected middleware guard return contract to AuthFactory|Guard so concrete guard overrides remain possible. Port current upstream session middleware assertions and precise remember-cookie mock counts while preserving Hypervel-specific rejection coverage. Add a regression for the concrete guard override. Validated with full formatting and source/type analysis, Auth facade generation checks, changed test classes, and the Auth, Session, Sanctum and FacadeDocumenter suites. Upstream: laravel/framework#58107 Related exclusions: laravel/framework#58385 laravel/framework#58389
Reconcile Laravel #19843, #25167, #25301 and #42316 against framework 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. The remaining Recaller decoding branch supports cookies from the Laravel 5.5/5.6 serialization transition. Current cookie middleware handles encryption serialization symmetrically before Recaller receives the plain value, and Hypervel has no legacy cookies to migrate. With owner approval, assign the constructor string directly and remove the serialized-input compatibility test. Preserve the upstream protected recaller property, all current method signatures and Hypervel cached segment parsing. Extend the existing segment test to cover valid custom fourth segments; retain third-segment-only hash behavior and all other existing assertions. Record the omitted compatibility behavior at its source insertion point. No new format checks, fallback branches or public documentation are needed for this internal legacy path. Normal authentication, custom segments and coroutine-local guard state are unchanged. Validated with the changed Recaller tests, Auth/Cookie/Session suites, full source and type analysis, formatting and final diff checks. Upstream history: laravel/framework#19843 laravel/framework#25167 laravel/framework#25301 laravel/framework#42316
…erage Port Laravel framework #61326 from 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. Connections can opt into mask_bindings_in_exception_messages, leaving placeholders in the SQL appended to QueryException messages. Original database errors, bindings, raw SQL accessors and query events retain their existing behavior. Expose DB_MASK_BINDINGS on all five supported SQL connection records, including the separate PostgreSQL pooler endpoint. Normalize the optional boolean once in Connection construction rather than repeating upstream's consumer cast in runQueryCallback. This also covers direct PdoConnection construction and raw configuration values; factory-only normalization would miss that supported path. Refresh already copies the normalized configuration from its fresh connection, without another state field. Retain every upstream masking assertion and extend execution coverage for explicit null and raw string configuration. Keep PDO execution tests on PdoConnection while shared exception construction remains driver-neutral. Document the opt-in setting and its limits, including getRawSql retaining bindings. Connection details from #58218 and #58331 are already covered. Complete #58156's missing nested-listener cases for explicitly selected read and write connections. Preserve each upstream event and query-log assertion and Hypervel's isolated SQLite fixtures. Update the README test badge URL to the current workflow endpoint from #58222. Validation: changed test classes, Database unit suite through ParaTest, scheduling and foundation configuration tests, formatting, full source and type-fixture PHPStan, and diff checks all pass. laravel/framework#61326 laravel/framework#58156 laravel/framework#58222 laravel/framework#58218 laravel/framework#58331
Complete the session enum-key port from Laravel framework PR #58241, including the already-covered additional methods and tests in #58343 and #58459, against 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. A single backed enum was cast to an array before forget(), exposing both its case name and backing value as deletion targets. Wrap the enum as one key before normalization so unrelated case-name entries survive. Use the existing array primitives instead of allocating a collection, and preserve Hypervel's coroutine-local attribute access. Pinned Laravel shares this bug. Allow enum keys through the global session() helper, matching the store and Laravel's forwarding behavior. Correct its conditional return metadata without adding runtime normalization or changing string/array/null paths. Extend the existing upstream deletion test with the colliding key and add a helper regression using existing enum fixtures. Remove the false test comment claiming PHP permits enums as array keys. Document enum session keys and the helper with a short public example; pinned Laravel docs have no corresponding enum-key section. Both regressions fail before their fixes and pass afterward. Session tests, foundation helper tests, Blade session coverage, full source/type analysis, formatting and diff checks pass. Existing upstream assertions are retained. laravel/framework#58241 laravel/framework#58343 laravel/framework#58459
Complete the current Laravel model-inspection metadata, collection-operation changes, enum unions and process assertion APIs. Ordered assertions check the recording count before individual commands; array commands retain strict comparison against the original invocation. Port the current ordered, array and falsy-command regressions and the matching process documentation. Preserve Hypervel’s native reserved-name array with array_any, use short-circuit collection predicates without intermediate filtered collections, and retain pooled/runtime adaptations in model inspection, logging and SES v2. BackedEnum remains accepted through UnitEnum. ModelInfo uses native property types and a class-owned model template shared with its array representation, correcting upstream’s collection arity and constructor/return metadata mismatch without runtime workarounds. Upstream: laravel/framework#58230 laravel/framework#60745 laravel/framework#53563 laravel/framework#58818 laravel/framework#61193 laravel/framework#61197 laravel/framework#60947 Ported from Laravel framework 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2 and docs at 2914ba0b06c6be40c2f1f992555853f6266707d6. Verified ModelInspector on SQLite, ProcessTest, affected parallel tests, generated facade consistency, formatting and full source/type analysis. Peer review independently verified the full affected package suites.
Document enum cache keys and both Redis command listeners, including boot-time registration and propagation of command failures. The cache source and complete upstream enum-key test already exist; add the missing public usage guidance without duplicating coverage. Restore the upstream exception expectation in RedisEventsTest so dispatching CommandFailed without rethrowing cannot pass. Require exactly one native command invocation in the throwing mock branch while preserving unused mocks for listener-registration tests. Laravel PRs: laravel/framework#58246 and laravel/framework#58251 Port source: laravel/framework 13.x at 01d008c9b5f32cb7c5e50a9a22273113d810b2a2. The pinned Laravel documentation does not cover these APIs, so the examples are written for Hypervel. Verified the Redis event tests, focused cache enum and repository tests through ParaTest with in-memory SQLite, formatting, and the complete diff. No runtime source or API changes.
Bring the connection and object pool redesign, consumer migrations, and subsequent cleanup and reconnection fixes into the Laravel parity branch. The automatic merge preserves the parity changes alongside the updated pool configuration and test fixtures without manual conflict resolution. Refresh local Composer metadata and autoloading without changing dependency versions. PHP-CS-Fixer and source/type-fixture PHPStan checks pass. Runtime tests are delegated to the backup PR's CI, as requested.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Laravel updates
Test, exclude PHPUnit classes, and preserve Symfony command support. Use disposable application fixtures and an owned autoloader.QUERY. Fresh factory requests infer a response; asynchronous requests infer a promise. Preserve subclass identity, native signatures and Hypervel's coroutine transport. Keep unknown-state references conservative, update the Http facade and remove redundant Saloon type narrowing.tapregression and macro result assertion while retaining existing chaining coverage. Link the response documentation to the existing helper explanation.0.4release branch. The first release still requires the component repositories to have current0.4split branches; this PR does not run a release or split.object|stringtype and retain the upstream constructor descriptions. Preserve parameter names, public properties and guarded event dispatch.nullto disable pruning when constructing a database lock. Preserve resolver-based connection access so locks do not retain pooled connections from another coroutine. Document the empty-array opt-out for store configuration, wherenullstill selects the default odds.past,future,nowOrPastandnowOrFuture. Adapt the expected strings to Hypervel's existing CSV rule serialization.APP_URLbefore appending the public filesystem's storage path. Handle trailing-slash application subpaths and absent environment values in shipped configuration, avoiding extra work on each generated URL. Correct the documentation example and exercise the real public disk adapter.auth.sessionto providehashPasswordForCookie. Document extendingSessionGuard; intentionally omit legacy raw-hash and missing-method fallbacks. Preserve concrete guard overrides in the middleware.DB_MASK_BINDINGSon all supported SQL connection configurations. Leave placeholders in the SQL appended to exception messages while preserving original database errors, binding accessors, raw SQL and query events. Normalize the setting once at connection construction, including direct PDO connections. Complete explicit read/write connection event coverage and update the README workflow badge.session()helper, and preserve existing flash, presence-check and coroutine-local storage behavior.ModelInfoproperty types, current model-inspection metadata and upstream assertions. Preserve public writable properties, ArrayAccess and direct construction. Correct collection type parameters and share the model template with the array representation.Additional Hypervel fixes
toHtml()without__toString()could be sent successfully but failed assertion rendering. Reuse the existing conversion and preserve locale handling and cached rendering.blog_poststype name.Summary by CodeRabbit
New Features
Bug Fixes
Documentation