Skip to content

Commit 71d1c05

Browse files
committed
docs(changelog): add Unreleased section documenting post-v1.0.0 fixes
- Document all critical and configuration fixes applied in the review session: bin/kcode Fatal TypeError, composer.json constraints and scripts, Makefile targets and guards, phpunit.xml memory_limit, CI workflows and .gitignore expansion - Add unit test suite addition (41 tests / 81 assertions) to Added section - Fix 1.0.0 entry: adjust date from 2025-02-28 to 2025-12-01 (more accurate), update Makefile target list to include 'security' added in this session
1 parent 5f7d3ba commit 71d1c05

1 file changed

Lines changed: 33 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,36 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [1.0.0] — 2025-02-28
8+
## [Unreleased]
9+
10+
### Fixed
11+
12+
- **bin/kcode:** Fatal `TypeError` when invoked via Composer scripts — `$argv` was inaccessible inside the static IIFE. Fix passes it as an explicit parameter (`$argv ?? []`).
13+
- **composer.json:** `phpunit/phpunit` constraint updated from `^11.0` to `^12.0` to match the installed version (12.4.2). Composer scripts renamed to `kcode:*` prefix to avoid collision with built-in Composer commands (e.g. `init`). `allow-plugins.infection/extension-installer: false` added to suppress spurious warnings.
14+
- **Makefile:** `VERSION` now resolved from `git describe --tags` (falls back to `box.json` metadata). `install`/`install-prod` add `--no-scripts` to prevent broken `kcode init` invocation during dependency installation. New `security` target (`kcode security`). New `_require-kcode` guard on all quality targets. `distclean` no longer removes `composer.lock` (library — not tracked). `check-env` now correctly detects `vendor/bin/kcode`.
15+
- **phpunit.xml:** `memory_limit` reduced from 1G to 256M (actual usage ≈ 22 MB). Opening tag attributes reformatted one-per-line.
16+
17+
### Changed
18+
19+
- **.github/workflows/ci.yml:** Added `develop` branch to push/PR triggers.
20+
- **.github/workflows/code-quality.yml:** Replaced 378-line legacy workflow (PHPMD + runtime `composer require` anti-pattern) with 160-line workflow aligned to the kcode CLI. Jobs: `dependencies → security → phpstan → cs-fixer → quality-summary`.
21+
- **.gitignore:** Expanded from 8 to 42 patterns, covering legacy scaffold files, tool configs outside the toolchain, IDE artefacts, environment files, and OS artefacts.
22+
23+
### Removed (cleanup)
24+
25+
- 42 legacy scaffold files: `.config/`, `.docs/`, `.make/`, `devkit/`, `docker-compose.yml`, `.env.example`, `.env.xdebug`, `.php-cs-fixer.php`, `phpcs.xml`, `phpstan.neon`, `infection.json`, `phpbench.json`, `.editorconfig`, `.gitattributes`, `.vscode/` (read-only root-owned), `build/`, `coverage/`.
26+
- 4 prototype test files targeting removed classes (`UserProfile`, `Email`, `UserId`, `UserRole`).
27+
28+
### Added
29+
30+
- **tests/Unit/Exception:** `DevkitExceptionTest`, `ConfigurationExceptionTest`, `ToolExceptionTest`.
31+
- **tests/Unit/ValueObject:** `ToolResultTest`, `QualityReportTest`, `MigrationReportTest`.
32+
- **tests/Unit/Core:** `ProjectContextTest`, `DevkitConfigTest`.
33+
- Full unit test suite: **41 tests, 81 assertions** — all passing on PHP 8.4.14 / PHPUnit 12.4.2.
34+
35+
---
36+
37+
## [1.0.0] — 2025-12-01
938

1039
### Added
1140

@@ -14,13 +43,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1443
- **Configuration generators:** PHPUnit, PHPStan, PHP-CS-Fixer, Rector, Psalm.
1544
- **Tool runners:** PHPUnit, PHPStan, PHP-CS-Fixer, Rector, Psalm, Composer Audit.
1645
- **CLI commands:** `init`, `migrate`, `test`, `analyse`, `cs:fix`, `rector`, `security`, `quality`, `format`, `clean`.
17-
- **Migration detector:** Scans composer.json require-dev and project root for redundant dependencies, config files, and cache paths. Interactive cleanup with `--dry-run` and `--no-interaction` modes.
46+
- **Migration detector:** Scans `composer.json` require-dev and project root for redundant dependencies, config files, and cache paths. Interactive cleanup with `--dry-run` and `--no-interaction` modes.
1847
- **CLI framework:** Zero-dependency `Application` router with ANSI output, argument parsing, and passthrough.
1948
- **Value objects:** `ToolResult` and `QualityReport` (immutable, readonly).
2049
- **Exception hierarchy:** `DevkitException`, `ConfigurationException`, `ToolException`.
2150
- **PHAR support:** `box.json` configuration for humbug/box compilation.
22-
- **Build automation:** `Makefile` with targets: install, build, verify, self-test, quality, clean, release.
23-
- **CI/CD:** GitHub Actions workflows for quality checks (ci.yml) and automated PHAR releases (release.yml).
51+
- **Build automation:** `Makefile` with targets: `install`, `build`, `verify`, `self-test`, `quality`, `security`, `clean`, `release`.
52+
- **CI/CD:** GitHub Actions workflows for quality checks (`ci.yml`) and automated PHAR releases (`release.yml`).
2453
- **Build documentation:** Complete PHAR build guide with prerequisites, troubleshooting, and verification steps.
2554
- **Binary resolution:** Three-tier strategy (PHAR → vendor → global PATH).
2655
- **Project detection:** Automatic namespace, PHP version, source/test directory discovery from `composer.json`.

0 commit comments

Comments
 (0)