All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.3.0 - 2026-05-03
- Quarantine debt report emitted on every PHPUnit run, showing scope and details of active quarantines.
- Skipper artifacts now excluded from version control via gitignore.
1.2.0 - 2026-04-09
disabledUntildate parsing now strictly enforces YYYY-MM-DD format; any other format (e.g."2026-4-1","04/01/2026", ISO-8601 with time) throws\InvalidArgumentExceptionwith the row number, instead of silently treating the test as enabled.- Dates are now pinned to UTC throughout: parsed dates are anchored to
00:00:00 UTC +1 day(so "disabled until 2026-04-01" expires at2026-04-02T00:00:00Z), and theisTestEnabled()comparison usesnowin UTC — eliminating timezone-dependent re-enable timing across CI runners.
DisabledUntilParser— standalone, testable class encapsulating strict date parsing and disabled-state evaluation.- Unit tests covering valid date, malformed date (throws), null/empty, and cross-timezone consistency.
1.1.1 - 2026-03-28
SheetsClientis no longerfinal, and bothSkipperResolverandSheetsWriternow accept an optionalSheetsClientconstructor parameter, enabling injection of test doubles without a real Google API connection.
- Unit tests for
SKIPPER_FAIL_OPEN,SKIPPER_CACHE_TTL, andSKIPPER_SYNC_ALLOW_DELETE(SkipperResolverInitializeTest,SheetsWriterTest).
1.1.0 - 2026-03-28
SKIPPER_FAIL_OPENenv var: when the API is unreachable and no valid cache exists, run all tests instead of crashing (default:true). Set tofalseto restore the previous behaviour of rethrowing the exception.SKIPPER_CACHE_TTLenv var: after every successful fetch, skipper writes a local.skipper-cache.jsonfile. On subsequent API failures the cache is used as a fallback if its age is within this TTL (default:300seconds).SKIPPER_SYNC_ALLOW_DELETEenv var: in sync mode, orphaned rows are now only logged by default. Set totrueto allow skipper to delete them from the spreadsheet (previous behaviour).
1.0.0 - 2026-03-26
- Initial release with support for PHPUnit (10/11/12), Pest (v2/v3), Behat (3.x), Codeception (5.x), PHPSpec (7/8), and Kahlan (5.x/6.x).
- Google Sheets-based test-gating via
disabledUntildates. - Sync mode (
SKIPPER_MODE=sync) to reconcile the spreadsheet with the discovered test suite. - Reference sheets support for merging test entries from multiple sheets.
- Parallel test execution support via cross-process resolver cache (
SKIPPER_CACHE_FILE,SKIPPER_DISCOVERED_DIR). - Three credential formats: file path, base64 string, environment variable.