@@ -15,49 +15,116 @@ This roadmap outlines planned libraries and updates for the Sons of PHP monorepo
1515- ` make test ` , ` make php-cs-fixer ` , and ` make psalm ` pass.
1616- The corresponding roadmap entry is removed.
1717
18+ ## How to Use This Roadmap
19+
20+ - Each entry below is an ** epic** with a name and short description.
21+ - Epics contain a list of tasks. Every task must:
22+ - satisfy the [ Global Definition of Ready] ( #global-definition-of-ready ) before work begins;
23+ - meet the [ Global Definition of Done] ( #global-definition-of-done ) on completion; and
24+ - define its own acceptance criteria.
25+ - Remove tasks as they are completed.
26+ - When an epic has no remaining tasks, remove the epic.
27+
1828## Prioritized Roadmap
19- 1 . ** Stabilize Core Components for 1.0 Release**
20- - Finalize public APIs for existing components.
21- - Increase test coverage and fix outstanding issues.
22- - Prepare changelogs and migration guides.
23- - ** Acceptance Criteria**
24- - Every component tagged for 1.0 has >=90% test coverage.
25- - Changelogs outline breaking changes and upgrade paths.
26- - Documentation updated for all stabilized components.
27-
28- 2 . ** Update HTTP Libraries to Latest PSR Versions**
29- - Align ` HttpMessage ` and ` HttpFactory ` components with PSR-7 v2 and PSR-17 updates.
30- - Ensure compatibility with PSR-18 clients.
31- - ** Acceptance Criteria**
32- - Components comply with PSR-7 v2 and PSR-17.
33- - Integration tests against a PSR-18 client pass.
34- - Docs include examples using the updated interfaces.
35-
36- 3 . ** Introduce Validation Component**
37- - Provide a rule-based validation system similar to Symfony Validator but framework agnostic.
38- - Include common validators and an extensible API for custom rules.
39- - ** Acceptance Criteria**
40- - New ` Component/Validation ` with rule definitions and error reporting.
41- - Unit tests cover each validator and failure scenario.
42- - Documentation with usage examples and customization guide.
43-
44- 4 . ** Add Queue Component for Background Jobs**
45- - Implement a simple queue abstraction with in-memory and Redis adapters.
46- - Provide Symfony Messenger bridge for interoperability.
47- - ** Acceptance Criteria**
48- - ` Component/Queue ` with enqueue/dequeue interfaces and adapters.
49- - Bridge package integrates with Symfony Messenger.
50- - Tests demonstrate reliable job processing and failure handling.
51-
52- 5 . ** Enhance Symfony Bridges for Symfony 7**
53- - Review all Symfony bridge packages for compatibility with Symfony 7.
54- - Add support for new security and HTTP features where applicable.
55- - ** Acceptance Criteria**
56- - Bridges pass tests against Symfony 7 components.
57- - Deprecated APIs removed and replacements documented.
58- - Release notes describe Symfony 7 compatibility.
29+
30+ ### Epic: Stabilize Core Components for 1.0 Release
31+ ** Description:** Finalize public APIs, increase test coverage, and prepare documentation for a stable 1.0 release.
32+
33+ - [ ] Finalize public APIs for existing components.
34+ - ** Acceptance Criteria**
35+ - All Global DoR items are satisfied before implementation begins.
36+ - Public APIs are documented and approved.
37+ - Implementation meets the Global DoD.
38+ - [ ] Increase test coverage and fix outstanding issues.
39+ - ** Acceptance Criteria**
40+ - All Global DoR items are satisfied before implementation begins.
41+ - Components tagged for 1.0 reach at least 90% test coverage.
42+ - All known issues are resolved.
43+ - Implementation meets the Global DoD.
44+ - [ ] Prepare changelogs and migration guides.
45+ - ** Acceptance Criteria**
46+ - All Global DoR items are satisfied before implementation begins.
47+ - Changelogs outline breaking changes and upgrade paths.
48+ - Migration guides are published.
49+ - Implementation meets the Global DoD.
50+
51+ ### Epic: Update HTTP Libraries to Latest PSR Versions
52+ ** Description:** Align HTTP components with the latest PSR standards and ensure client compatibility.
53+
54+ - [ ] Align ` HttpMessage ` and ` HttpFactory ` with PSR-7 v2 and PSR-17.
55+ - ** Acceptance Criteria**
56+ - All Global DoR items are satisfied before implementation begins.
57+ - Components comply with PSR-7 v2 and PSR-17.
58+ - Implementation meets the Global DoD.
59+ - [ ] Ensure compatibility with PSR-18 clients.
60+ - ** Acceptance Criteria**
61+ - All Global DoR items are satisfied before implementation begins.
62+ - Integration tests against a PSR-18 client pass.
63+ - Implementation meets the Global DoD.
64+ - [ ] Update documentation with examples for the updated interfaces.
65+ - ** Acceptance Criteria**
66+ - All Global DoR items are satisfied before implementation begins.
67+ - Docs include examples using the updated interfaces.
68+ - Implementation meets the Global DoD.
69+
70+ ### Epic: Introduce Validation Component
71+ ** Description:** Provide a framework-agnostic, rule-based validation system with extensible APIs.
72+
73+ - [ ] Implement ` Component/Validation ` with rule definitions and error reporting.
74+ - ** Acceptance Criteria**
75+ - All Global DoR items are satisfied before implementation begins.
76+ - Component exposes an extensible API for custom rules.
77+ - Implementation meets the Global DoD.
78+ - [ ] Add unit tests covering each validator and failure scenario.
79+ - ** Acceptance Criteria**
80+ - All Global DoR items are satisfied before implementation begins.
81+ - Tests cover common validators and edge cases.
82+ - Implementation meets the Global DoD.
83+ - [ ] Document usage examples and customization guides.
84+ - ** Acceptance Criteria**
85+ - All Global DoR items are satisfied before implementation begins.
86+ - Documentation explains basic usage and extension points.
87+ - Implementation meets the Global DoD.
88+
89+ ### Epic: Add Queue Component for Background Jobs
90+ ** Description:** Implement a queue abstraction with adapters and a Symfony Messenger bridge.
91+
92+ - [ ] Implement queue abstraction with in-memory and Redis adapters.
93+ - ** Acceptance Criteria**
94+ - All Global DoR items are satisfied before implementation begins.
95+ - ` Component/Queue ` provides enqueue/dequeue interfaces and adapters.
96+ - Tests demonstrate reliable job processing and failure handling.
97+ - Implementation meets the Global DoD.
98+ - [ ] Provide Symfony Messenger bridge for interoperability.
99+ - ** Acceptance Criteria**
100+ - All Global DoR items are satisfied before implementation begins.
101+ - Bridge integrates with Symfony Messenger.
102+ - Implementation meets the Global DoD.
103+
104+ ### Epic: Enhance Symfony Bridges for Symfony 7
105+ ** Description:** Review bridge packages for Symfony 7 compatibility and add support for new features.
106+
107+ - [ ] Review and update bridge packages for Symfony 7 compatibility.
108+ - ** Acceptance Criteria**
109+ - All Global DoR items are satisfied before implementation begins.
110+ - Bridges pass tests against Symfony 7 components.
111+ - Implementation meets the Global DoD.
112+ - [ ] Remove deprecated APIs and document replacements.
113+ - ** Acceptance Criteria**
114+ - All Global DoR items are satisfied before implementation begins.
115+ - Deprecated APIs are removed.
116+ - Docs describe new APIs and migration paths.
117+ - Implementation meets the Global DoD.
118+ - [ ] Document release notes describing Symfony 7 compatibility.
119+ - ** Acceptance Criteria**
120+ - All Global DoR items are satisfied before implementation begins.
121+ - Release notes highlight Symfony 7 support.
122+ - Implementation meets the Global DoD.
59123
60124## Suggestions
125+
61126- Automate dependency updates with a scheduled tool (e.g., Renovate or Dependabot).
62127- Establish coding style guides per component to encourage consistency.
63128- Consider setting up benchmarks for performance-critical components.
129+ - Link epics and tasks to issue trackers for traceability.
130+ - Review roadmap items quarterly to keep priorities current.
0 commit comments