You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Shared:**`NumericConstraintsTrait` (min, max, multipleOf, etc.); `PipelineType` enum; variant enums `IpVersion`, `Base64Variant`, `UuidVariant` for format methods
21
-
-**String formats:** email, URL, UUID, IP, hostname, domain, time, base64, hex, regex, datetime, date
22
-
-**Schema validation:** AssociativeValidator/ObjectValidator with nested error aggregation
23
-
-**Logical combinators:**`Validator::allOf`, `anyOf`, `not`; instance `satisfiesAny`, `satisfiesAll`, `satisfiesNone`; `const()` for single allowed value; `enum()` for BackedEnum
24
-
-**Behavior:** Optional by default (null allowed unless `required()`); form-safe coercion (empty string → null, not 0/false); pipeline order guaranteed; fail-fast per field; `satisfies()` accepts validators or callables with `(value, key, input)`; extend via `satisfies()`, not custom validators
-**Shared:**`NumericConstraintsTrait` (min, max, multipleOf, etc.); `PipelineType` enum; variant enums `IpVersion`, `Base64Variant`, `UuidVariant` for format methods
21
+
-**String formats:** email, URL, UUID, IP, hostname, domain, time, base64, hex, regex, datetime, date
22
+
-**Schema validation:** AssociativeValidator/ObjectValidator with nested error aggregation
23
+
-**Logical combinators:**`Validator::allOf`, `anyOf`, `not`; instance `satisfiesAny`, `satisfiesAll`, `satisfiesNone`; `const()` for single allowed value; `enum()` for BackedEnum
24
+
-**Behavior:** Optional by default (null allowed unless `required()`); form-safe coercion (empty string → null, not 0/false); pipeline order guaranteed; fail-fast per field; `satisfies()` accepts validators or callables with `(value, key, input)`; extend via `satisfies()`, not custom validators
`config.platform.php` is set to `8.3.0` so dependency resolution targets PHP 8.3; `composer update`/`install` will not add packages that require PHP above 8.3.
34
38
@@ -40,21 +44,21 @@ PSR-12 for PHP. Mago for lint/format (`composer lint`, `composer format`). Prett
40
44
41
45
## Commit Message Guidelines
42
46
43
-
-Commit messages must follow Conventional Commits
44
-
-Write messages so they make sense for commit-by-commit development: each commit describes the actual state change from the previous shipped state. Do not mention intermediate or throwaway steps (e.g. classes created and removed in the same session). Describe what the commit delivers, not the path taken to get there
45
-
-Subject format: `<type>(<scope>): <summary>`; use `<type>: <summary>` when scope is omitted
-Breaking changes must include a `BREAKING CHANGE:` footer
59
-
-Release notes belong in CHANGELOG, not commit body. Tag format: annotated `vX.Y.Z - <headline>`; details in CHANGELOG/releases
60
-
-Quick templates: `fix(scope): <imperative summary>` and `feat(scope): <imperative summary>`
47
+
- Commit messages must follow Conventional Commits
48
+
- Write messages so they make sense for commit-by-commit development: each commit describes the actual state change from the previous shipped state. Do not mention intermediate or throwaway steps (e.g. classes created and removed in the same session). Describe what the commit delivers, not the path taken to get there
49
+
- Subject format: `<type>(<scope>): <summary>`; use `<type>: <summary>` when scope is omitted
0 commit comments