Repository navigation
v2.8.0 — Laravel 13 & hardening
Highlights
Laravel 13 support. The package now declares illuminate/contracts and illuminate/support ^11.0 || ^12.0 || ^13.0, and CI covers Laravel 11, 12 and 13 on Ubuntu and Windows (Laravel 13 on PHP 8.3 and 8.4). The suite also passes with Pest 4 and laravel/mcp 1.x.
Safer CSV exports. Values starting with =, +, -, @, tab or carriage return are now written with a leading ', so opening an export in Excel, LibreOffice or Google Sheets cannot evaluate them as formulas. The package strips the quote again when it reads the file, so every value round-trips exactly. Controlled by the new csvEscapeFormulas option (default true).
Heads-up: exported CSVs now contain
'=…where they used to contain=…. If another tool consumes the CSV, either let it strip the leading quote or setcsvEscapeFormulastofalse.
Fixed
- Configs published before newer options keep working.
check,checkerClass,jsonFileName,jsonNestedandjsonFormatwere required, so a config published (or cached) before an option existed failed validation on every command after an upgrade. They now fall back to the shipped defaults. - The database handler matches groups on the full prefix and escapes LIKE wildcards.
authno longer matchesauthors.*, and a group name containing%or_no longer matches other groups, which could make a write soft-delete their keys. - CSV reader: blank lines are skipped, an empty file reads as no translations, and an unreadable file fails with a clear message instead of a TypeError.
set-translation-group-toolreturns an error response for an invalid locale instead of throwing.- Lang directories are created with
0755instead of0777. - The facade docblock lists every service method with its real return type.
Changed
- PHPStan now runs in CI.
phpunit.xml.distno longer configures coverage reports: on PHPUnit 12 they made every run without a coverage driver exit before any test ran.composer test-coveragestill passes--coverage.- CI actions bumped:
actions/checkoutv7,dependabot/fetch-metadatav3.1.0.
No configuration changes are required. Verified against brunoscode/twill-translation-handler v2.3.0 (tests and PHPStan green).
Full Changelog: v2.7.0...v2.8.0