Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/phpstan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,15 @@ jobs:

- name: Run PHPStan
run: ./vendor/bin/phpstan --error-format=github --no-interaction

# The gate the auto-fix job is not. fix-php-code-style-issues.yml rewrites and
# commits, but it is path-filtered and pushes with GITHUB_TOKEN, which starts
# no new run -- so it can never report a failure and cannot be a required
# check. This step can: laranail-pint --test against the shared config in
# vendor/laranail/package-tools. When the auto-fix job has pushed a fix, this
# run stays red on the old head until the next push re-runs it.
# `composer pint` rather than `composer lint`, because lint also runs PHPStan
# (the step above) and Rector (rector.yml).
- name: Check formatting
if: ${{ !cancelled() }}
run: composer pint
22 changes: 15 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ Entries below `Unreleased` are written by CI from the GitHub release body — se
- `PostIncDecToPreIncDecRector` is skipped. Rector rewrote `$i++` to `++$i` in 21 files and Pint's
`increment_style` rewrote every one of them back, so the two gates could never both pass.
Formatting belongs to Pint.
- `require` now declares `illuminate/routing`, which `Testing\FluentRulesTester` imports
(`Redirector`). It arrived only transitively before.
- Dropped the `vcs` repositories for `laranail/atlas` and `laranail/enumerator`: nothing in this package's `require` or
`require-dev` closure installs them (checked with `composer why` after a fresh `composer update`).

### Added

- The `PHPStan` workflow also runs `composer pint` (`laranail-pint --test`). The auto-fix
workflow rewrites and commits but is path-filtered and pushes with `GITHUB_TOKEN`, which starts
no new run, so it could never fail a pull request. This step can, and has no path filter.

## v0.1.0 - 2026-08-27

Expand Down Expand Up @@ -100,13 +110,6 @@ The 1.0 major: the package graduates to real SemVer, the README's stability cont
binding (stable surfaces break only in a major; deprecations live at least one minor), and the
`rector-migrate-1.0.php` set auto-migrates the one mechanical break. See `UPGRADING.md`.

### Fixed

- `CachedDnsResolver` crashed mid-validation when the cache backend resolved but could not
answer — a database store with no migrated cache table being the canonical case. The store
erroring now falls back to a direct lookup, the same contract as having no cache at all: an
optimization's infrastructure failure costs speed, never a verdict.

### Added

- Initial laranail release. Type-aware fluent rule builders (`FluentRule` and the twelve
Expand Down Expand Up @@ -162,6 +165,11 @@ binding (stable surfaces break only in a major; deprecations live at least one m

### Fixed

- `CachedDnsResolver` crashed mid-validation when the cache backend resolved but could not
answer — a database store with no migrated cache table being the canonical case. The store
erroring now falls back to a direct lookup, the same contract as having no cache at all: an
optimization's infrastructure failure costs speed, never a verdict.

Divergences from Laravel's own validator, found by differential testing against it. Each can
change whether input an application previously accepted still passes, so read `UPGRADING.md`
before upgrading.
Expand Down
9 changes: 1 addition & 8 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,6 @@
"type": "vcs",
"url": "https://github.com/laranail/console"
},
{
"type": "vcs",
"url": "https://github.com/laranail/atlas"
},
{
"type": "vcs",
"url": "https://github.com/laranail/enumerator"
},
{
"type": "vcs",
"url": "https://github.com/laranail/validation-js"
Expand Down Expand Up @@ -77,6 +69,7 @@
"php": "^8.5",
"illuminate/contracts": "^13.0",
"illuminate/http": "^13.0",
"illuminate/routing": "^13.0",
"illuminate/support": "^13.0",
"illuminate/validation": "^13.0",
"laranail/package-tools": "^0.1",
Expand Down
Loading