Repository navigation
Releases: php-fast-forward/code-standards
Release list
v0.9.1
v0.9.0
Added
- Check this repository's root Composer metadata in CI and expose an opt-in
normalize-composerboolean in the reusable check workflow. Reuse the reviewed installed tool in check mode, independent of changed PHP selection, without applying changes, maintaining locks or installing consumer packages. (#86) - Allow same-repository data-only pull request checks to select existing Linux self-hosted runners through the reusable runs-on JSON input. Retain hosted defaults and route forks, executable ECS config and Rector to hosted Ubuntu before scheduling; validate the actual platform and execution boundary again before checkout. (#86)
v0.8.0
Added
-
Add opt-in
normalize-composermetadata checking and explicit--apply, using the composer-normalize library while retaining literal dependency constraints and significant ordering. Keep PHP check/fix unchanged; never execute Composer scripts/plugins or update locks, and report stale hashes before/after explicit manifest writes.Declare the added runtime libraries with compatible caret constraints while retaining the verified locked package versions.
Keep rejected metadata contents out of invalid-JSON diagnostics, including verbose output.
(#83)
Fixed
-
Use caret constraints for Container, PHPStan and Rector. Raise the Rector/PHPStan minimums together to the compatible 2.8.2/2.3.3 pair, replacing the historical patch-line restrictions without allowing the known parser failure.
Keep empty and fully skipped configurations rejected before processing with Rector's native active-rule check. Qualify the new native file-cache behavior without changing consumer-owned source/configuration/lock preservation.
(#87)
v0.7.0
Added
-
Check and fix one symbolic boolean part per line in existing multiline if, elseif, while and do-while conditions through an owned native ECS Sniff. Preserve single-line conditions, function/arrow/class expressions and native spacing/skip overrides. Fingerprint owned policy source for cache invalidation and record the Sniff separately from native fixer risk classifications.
Enforce first-expression and closing-wrapper placement through the native PHPCS PSR-12 implementation, adapted to the ECS spacing service. Default to four spaces/LF; document nonstandard spacing overrides explicitly and preserve alternative syntax without claiming complete standards certification.
(#63)
v0.6.0
Added
-
Add explicitly enabled Magic Numbers and Rector workflow analyses with bounded native-report classification, advisory or blocking findings policies, always-visible summaries and failing operational errors. Expose native Rector JSON preview without granting semantic apply authority.
Declare the project's consumer reusable call in a PR-only workflow while preserving push and manual project-quality testing.
Keep Magic Numbers file selection independent from Rector's configured whole-project analysis.
(#75)
-
Add explicit JSON check reports with native ECS findings, syntax results, incomplete-batch accounting and bounded nonstreaming capture; preserve default text and explicit fix behavior. (#79)
Changed
-
Clarify the portable Code Standards skill with the supported command contract, complete optional-tool routes, native configuration examples and explicit installation ownership. (#82)
-
Keep the adapted PHPDoc skill's original MIT copyright and permission notice in
its LICENSE file, removing the redundant separate NOTICE from the skill payload.(#80)
v0.5.0
Added
- Add an explicit
magic-numberscommand backed by published PHPMND, separate from check/fix. Reuse exact Git/PHP selection and consumer ignores, preserve native policy overrides and exit status, and offer deterministic native XML without loading consumer autoload implicitly. Document opt-in adoption, baseline limits and bounded invocation size. (#66) - Ship a dedicated portable PHPDoc authoring skill with concise interface-contract guidance, semantic-preservation checks and independent distribution references. (#77)
- Migrate the documentation to a single reStructuredText guide rendered by the existing PHP phpDocumentor tooling covering installation, commands, configuration, workflow trust and troubleshooting. (#29)
Fixed
- Document the process interfaces' normative execution, output and failure contracts, explain capture/run/result selection, and preserve descriptive PHPDoc and inheritance markers through qualified native formatting and refactoring. (#74)
v0.4.0
Added
-
Add development-only LLM Skills configuration for the bundled Code Standards skill, trusted Fast Forward Composer donors, Changelog and Dash artwork instructions. Keep documentation-authoring skills outside the synchronized sources. Introduce contextual Dash artwork for the repository README.
Centralize distribution exclusions in Git export-ignore attributes, preserving runtime configuration, the canonical consumer skill and the README artwork.
(#33)
-
Add a separate opt-in native Rector command with dry-run by default, explicit
configuration and apply authority, empty-rule initialization protection and
post-apply verification. Require an explicit native consumer PHP target before
processing; keep target PHP, rules and caches consumer-owned;
formatting check/fix never invoke semantic refactoring.
Allow an explicit positive per-subprocess timeout without disabling bounds;
execution timeouts fail with status 1, while cache configuration remains optional.(#52)
-
Expose optional lossless process capture with exact native exit codes and separate
stdout/stderr bytes while preserving existing transport and provider contracts.(#67)
-
Add a reproducible, isolated Twig evaluation on the existing PHP matrix. Qualify
native Finder/Git intersection, explicit configuration overrides, grammar parsing,
deterministic native JSON and check/fix boundaries without adding a consumer CLI
profile or changing the package's runtime dependencies.(#68)
Changed
-
Composer(deps): bump symplify/easy-coding-standard from 13.3.8 to 13.3.9 in the composer-production group across 1 directory
Update dependencies:
symplify/easy-coding-standard.(#57, @dependabot[bot])
Fixed
-
Avoid introducing PHP 8.0 parameter-list commas from the formatter's host runtime by default; preserve native consumer overrides and existing commas. (#65)
-
Ship the portable consumer skill with its MIT license and a self-contained
check/fix procedure, qualifying optional refactoring against the installed CLI.(#70)
v0.3.2
Fixed
-
Checks and fixes through ECS's public APIs without implicitly loading a separate
consumer vendor autoloader. Preserves consumer cwd, native configuration and cache
behavior, explicit custom-checker opt-in, and the tool's own Composer bootstrap.(#55)
v0.3.1
Changed
-
Uses each external Action's published major channel: checkout v7, setup-php v2
and Changelog's released v0 branch channel. Preserves workflow permissions,
unprivileged PR checks and runtime provenance from the called job's actual SHA.(#60)
v0.3.0
Added
-
Add weekly Dependabot checks for root Composer dependencies and GitHub Actions.
Group minor and patch version updates separately for production and development
Composer dependencies, and group GitHub Actions minor and patch updates. Keep
major updates individual and leave security-update grouping at its defaults.(#48)
Changed
-
Describes current usage and installs the compatible Composer package without a
fixed release in the README example.(#51)
-
Apply the consumer's root and nested Git ignore rules dynamically to tracked candidates in full and changed scans, including force-added matching files. Preserve Git's negation, anchor, escape and directory semantics without a second parser or host-global excludes. Replace generated-directory name exclusions with consumer-owned rules while retaining structural Git metadata and source-containment protection. Ignore-rule changes, removals and renames trigger a complete eligible tracked scan; case-insensitive policy-name detection prevents missed invalidation on case-folding filesystems. (#39)
Fixed
-
Uses the published Changelog 0.4.1 lifecycle's native repository and version title
template when preparing or refreshing the managed version pull request, without
overriding the generated title in this repository.(#50)