# Changelog

**Package:** Laravel Test Lanes | **Version:** 1 | **URL:** https://mozex.dev/docs/laravel-test-lanes/v1/changelog

---

All notable changes to `laravel-test-lanes` will be documented in this file.

## 1.1.1 - 2026-08-01

### What's Changed

* The lock-holder-connection and unsupported-driver errors now end by pointing at `TEST_LANES_ENABLED=false`, so a suite that never needed a database learns about the switch-off right where it fails.
* Documented a known `--parallel` quirk in the README and the Boost skill: compiled Blade view directories named for lanes linger, because Laravel's runner only cleans the ones named for the raw worker index.
* Declared `symfony/process` as a dev dependency and aligned the dependabot config, CI badge, and CLAUDE.md layout with the other mozex packages.

**Full Changelog**: [1.1.0...1.1.1](https://github.com/mozex/laravel-test-lanes/compare/1.1.0...1.1.1)

## 1.1.0 - 2026-08-01

### What's Changed

* The package is now a drop-in: its service provider registers the lane resolver on its own whenever tests run under `APP_ENV=testing` (Laravel's phpunit.xml default), so no `TestCase` changes are needed. Requiring the package is the opt-in. `TestLanes::register()` stays public as the manual fallback for suites running under a different environment name, and `TEST_LANES_ENABLED=false` still switches everything off.
* The in-memory SQLite no-op answer is no longer memoized, so an app that boots on `:memory:` and later points its default connection at a real server claims a real lane instead of inheriting the no-op.

**Full Changelog**: [1.0.0...1.1.0](https://github.com/mozex/laravel-test-lanes/compare/1.0.0...1.1.0)

## 1.0.0 - 2026-08-01

### What's Changed

* Every concurrent test process now claims a machine-unique lane through a database advisory lock, and the lane becomes Laravel's parallel-testing token. Databases are named `{base}_test_lane{n}`, so two runs started at the same time in one project never share a database, and a killed or crashed run frees its lane on its own.
* Serial runs are routed through the same machinery: `TestLanes::register()` forces `LARAVEL_PARALLEL_TESTING`, so a plain `php artisan test` gets its own lane database instead of sharing the base one.
* Postgres, MySQL, and MariaDB ship supported. Unknown drivers and `DB_URL`-style connections fail loudly instead of silently sharing databases, and the `locks` config map takes custom `AdvisoryLock` implementations for other drivers.
* An in-memory SQLite suite is left alone, mirroring Laravel's own behavior.
* Added `test-lanes:cleanup`, which drops lane databases whose locks are free and keeps any lane claimed by a live run, so it is safe to run mid-test.
* `Storage::fake()` roots are lane-scoped too, so concurrent runs stop deleting each other's fake-disk files.

**Full Changelog**: https://github.com/mozex/laravel-test-lanes/commits/1.0.0

---

## Table of Contents

- [Quick Start](https://mozex.dev/docs/laravel-test-lanes/v1)
- [AI Integration](https://mozex.dev/docs/laravel-test-lanes/v1/ai-integration)
- [Support Us](https://mozex.dev/docs/laravel-test-lanes/v1/support-us)
- [Requirements](https://mozex.dev/docs/laravel-test-lanes/v1/requirements)
- [Changelog](https://mozex.dev/docs/laravel-test-lanes/v1/changelog)
- [Contributing](https://mozex.dev/docs/laravel-test-lanes/v1/contributing)
- [Questions & Issues](https://mozex.dev/docs/laravel-test-lanes/v1/questions-and-issues)
- [About Mozex](https://mozex.dev/docs/laravel-test-lanes/v1/about)