Skip to content

3.0.0

Choose a tag to compare

@coisa coisa released this 15 Oct 21:10
3.0.0
38ba2c1

3.0.0 - 2026-10-15

Added

  • Static HeaderExtractor methods to read the configuration's opening block comment without executing it.
  • An explicit ext-tokenizer requirement for header extraction.
  • PHPUnit 12.5 unit and integration suites covering configuration isolation, headers, overrides, exclusions, CLI behavior and idempotency, with a PHP 8.3–8.5 dependency matrix.
  • A read-only reusable workflow for changed PR PHP files that preserves the caller's Finder scope and disables Composer plugins and scripts.
  • Weekly Dependabot updates for Composer dependencies and GitHub Actions.
  • Historical changelog entries and matching GitHub release notes for versions 1.0.0–2.1.0.

Changed

  • Require PHP 8.3+ and PHP CS Fixer ^3.95, without a forced PHP 7.4 Composer platform.
  • Use the public rule-set definition interface and rename @CoiSA to @CoiSA/default.
  • Rename CoiSA\PhpCsFixer\RuleSet\Sets\CustomSet to CoiSA\PhpCsFixer\RuleSet\DefaultSet.
  • Register definitions per configuration through the public API, keeping headers and application-last rule overrides independent.
  • Use @auto and @autoPHPMigration:risky alongside @PhpCsFixer and @PhpCsFixer:risky; derive PHP migration targets from the consumer's Composer minimum.
  • Enable date_time_immutable and disable automatic multibyte substitutions, property-unset rewrites and trailing-whitespace removal inside strings.
  • Apply available PER 3.1 rules for redundant case braces and private enum constants, and preserve PER trailing commas and clone/case parentheses across presets.
  • Keep README and documentation focused on current usage, with release history and upgrade changes in the changelog and release notes.
  • Reference GitHub Actions by major version.
  • Mark test classes and their filesystem support class as internal.
  • Limit package export exclusions to existing development and test files, retaining the README, changelog, license and coding-style documentation.

Removed

  • The unused global-registration adapter CoiSA\PhpCsFixer\RuleSet\RuleSets.
  • The separate .docheader template, replaced by the configuration's own opening block comment.
  • The Doctrine style set, redundant formatting overrides and fixed PHPUnit 8.4 migration.
  • The Lando configuration and Makefile.

Fixed

  • Honor !directory exclusions before checking whether a path exists.
  • Normalize raw, single-line and multiline PHPDoc headers, including the nonempty header 0.
  • Preserve asterisks, suffixes and whitespace in raw headers; strip comment syntax only from a single complete block.
  • Refresh copyright end years after the formatter writes literal dates, preserving creation years and other dates.