Skip to content

Commit ce295c3

Browse files
author
Test
committed
docs(changelog): drop internal kanban IDs from 3.4.1 entries
BUG-21 / BUG-23 references are private kanban trackers (.kanban-tasks/, gitignored). Keep them in commit messages where git log is the canonical traceability layer; the public changelog should describe behaviour change only.
1 parent 7193ef3 commit ce295c3

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

docs/changelog.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ All notable changes to this project are documented here.
66

77
### Fixed
88

9-
- **Unknown CLI options no longer silently shift the parser** in `flow`, `flows` and `job` (BUG-21). The three execution commands keep `ignoreValidationErrors()` on so that `job <name> -- <args>` keeps forwarding extra args to the underlying tool, but a typo such as `flow qa --foo=bar --config=/path/x.php` would previously make Symfony swallow `--foo` *and* silently drop `--config`, then fall back to `qa/githooks.php` — wrong config, wrong jobs, no error. A new `ValidatesUnknownOptionsBeforeDashDash` concern now inspects the input tokens before either command reads `--config`, rejects unknown long options and short shortcuts (cluster-aware), and emits a Symfony-style `The "--foo" option does not exist.` per offender; `flow` and `flows` additionally emit a custom error if `--` itself is present (neither command supports passthrough). The new behaviour caps any input-validation typo at exit 1 *before* the configuration file is resolved, so a typo can no longer accidentally execute the project-wide QA flow.
9+
- **Unknown CLI options no longer silently shift the parser** in `flow`, `flows` and `job`. The three execution commands keep `ignoreValidationErrors()` on so that `job <name> -- <args>` keeps forwarding extra args to the underlying tool, but a typo such as `flow qa --foo=bar --config=/path/x.php` would previously make Symfony swallow `--foo` *and* silently drop `--config`, then fall back to `qa/githooks.php` — wrong config, wrong jobs, no error. A new `ValidatesUnknownOptionsBeforeDashDash` concern now inspects the input tokens before either command reads `--config`, rejects unknown long options and short shortcuts (cluster-aware), and emits a Symfony-style `The "--foo" option does not exist.` per offender; `flow` and `flows` additionally emit a custom error if `--` itself is present (neither command supports passthrough). The new behaviour caps any input-validation typo at exit 1 *before* the configuration file is resolved, so a typo can no longer accidentally execute the project-wide QA flow.
1010

11-
- **`script`-typed jobs now report their job key in OK/KO/SKIP logs instead of the executable path** (BUG-23). `ScriptJob::getDisplayName()` historically overrode the parent and returned `$this->executable`, so two parallel jobs of `type: script` sharing the same `executable-path` (e.g. two shards invoking the same `./run-tests` runner with different `other-arguments`) printed two identical `./run-tests - OK. Time: …` lines, making them indistinguishable in the dashboard, JSON v2 dry-run and stats. The override was undocumented and inconsistent with every other Job type (Phpstan, Phpunit, Phpcs, Phpmd, Psalm, ParallelLint, Rector, PhpCsFixer, Phpcpd, Paratest, Custom, all of which inherit `JobAbstract::getDisplayName()` returning `$this->name`). Removed. The JSON v2 envelope is unaffected — its `name`/`type` fields come from `getName()`/`getType()`, not `getDisplayName()`.
11+
- **`script`-typed jobs now report their job key in OK/KO/SKIP logs instead of the executable path**. `ScriptJob::getDisplayName()` historically overrode the parent and returned `$this->executable`, so two parallel jobs of `type: script` sharing the same `executable-path` (e.g. two shards invoking the same `./run-tests` runner with different `other-arguments`) printed two identical `./run-tests - OK. Time: …` lines, making them indistinguishable in the dashboard, JSON v2 dry-run and stats. The override was undocumented and inconsistent with every other Job type (Phpstan, Phpunit, Phpcs, Phpmd, Psalm, ParallelLint, Rector, PhpCsFixer, Phpcpd, Paratest, Custom, all of which inherit `JobAbstract::getDisplayName()` returning `$this->name`). Removed. The JSON v2 envelope is unaffected — its `name`/`type` fields come from `getName()`/`getType()`, not `getDisplayName()`.
1212

1313
## [3.4]
1414

0 commit comments

Comments
 (0)