Repository navigation
Release v2.15.0
v2.15.0
Changelog
FormKit: services tagged by autoconfiguration, translation parity check, docs/spec refresh (no API change) See UPGRADING.
Changed
- Symfony wiring (REQ-SF-003): the bundle form types, form type extensions and Twig extensions (
LocaleTabsTwigExtension,CsrfActionFormExtension,UnlabelledChoiceAriaLabelExtension, the types and extensions ofservices.yaml) are now tagged through Symfony autoconfiguration (FrameworkBundle / TwigBundle) instead of manualform.type/form.type_extension/twig.extensiontags. Service ids, classes, arguments and runtime behaviour are unchanged; only the per-typestateless_csrfextensions keep their explicitextended_typetag. See UPGRADING. - Demo (REQ-DEMO-007):
make update-bundle(demo/symfony8) runscomposer update nowo-tech/form-kit-bundle(without--with-all-dependencies),dump-autoload,cache:clearandassets:install; the demorelease-checktargets run it before the tests and the HTTP verification.
Added
make validate-translations(REQ-MAKE-004): YAML lint,NowoFormKitBundle.<locale>.yaml-only catalogues and key parity across the 7 locales (.scripts/validate-translations.php); part ofmake release-checkand CI.
Documentation
- USAGE: how applications override the bundle messages (
translations/NowoFormKitBundle.<locale>.yaml) with the key list (REQ-I18N-001). - SECURITY: scope, attack surface, threat model, secrets, logging, dependencies and exposure sections; release checklist item for the AI security audit (REQ-SEC-001 / REQ-SEC-002).
.github/SECURITY.md: repository name and supported 2.x line (REQ-SEC-003). - CONTRIBUTING: Cursor Agent settings (Ctrl+Enter submit, queued follow-ups; REQ-IDE-006) and translation validation.
- README
## Documentation: base links in the canonical order, non-base docs under Additional documentation (REQ-DOCS-002); measured coverage (REQ-TEST-007). - Tables of contents with every
##/###section in the long docs (REQ-DOCS-005);SPEC-DRIVEN-DEVELOPMENT.mdREQ-*table, user stories and scope (REQ-DOCS-013); Spec Kit baseline and inventory cover all 77 production files (REQ-SPECKIT-001 / REQ-SPECKIT-003).
Fixed
- Twig-CS-Fixer lint is clean again: help-modal shells use the
include()function instead of theincludetag (same output) andform_renderer.html.twighash spacing. - Rector (
ExplicitNullableObjectInstanceRector) inConstraintDefinitionFactory::constructorAccepts()(no behaviour change).
Tests
- PHPUnit docblock annotations (
@dataProvider,@runInSeparateProcess,@preserveGlobalState) migrated to attributes (REQ-TEST-010); autoconfiguration test for the bundle services. - Vitest: covers mutations that only add non-element nodes, restoring the 100% TypeScript coverage gate of
make test-ts(thehelp-modal.tsearly return was uncovered since 2.14.1).
What's Changed
- chore: bring FormKitBundle to 100% of the bundle REQ spec by @HecFranco in #53
Full Changelog: v2.14.1...v2.15.0