Skip to content

Commit fe2044d

Browse files
CopilotCopilot
andcommitted
chore: release v3.25.0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent fb1724f commit fe2044d

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

.squad/agents/alfred/history.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,3 +217,15 @@ Completed comprehensive review of Feature 112 (API Performance Testing) scope an
217217
**Decision:** Baselines MUST be captured against real PostgreSQL via `PERF_USE_REAL_DB=true` flag (already implemented in `PerformanceWebApplicationFactory`). This requires Docker/Testcontainers in CI. Local baseline capture must use a real PostgreSQL instance. PR smoke tests can continue using in-memory for speed (they're sanity checks, not baselines).
218218

219219
**Documentation:** Decision merged to `decisions.md`; findings integrated into engineering guide's performance testing section.
220+
221+
### 2026-03-23 — v3.25.0 Changelog Entry (Alfred)
222+
223+
**Task:** Compose v3.25.0 CHANGELOG entry summarizing 11 commits since v3.24.3 release.
224+
225+
**Commits Grouped:**
226+
1. **Features:** PostgreSQL 18 upgrade across docker-compose files (hardened DHI image)
227+
2. **Refactoring:** Exception middleware switch, DI registration cleanup, service method nesting depth reduction (4 service classes)
228+
3. **Testing:** 54 new unit tests (coverage gaps), performance baselines (NBomber, all 4 load scenarios), Testcontainers + PostgreSQL 18, zero skipped tests
229+
4. **Documentation:** Archive features 112, 114, 115, 119; close 121, 122, 123
230+
231+
**Format:** Followed existing CHANGELOG.md style (Feature/Refactoring/Testing/Documentation sections). Date: 2026-03-23. Prepended to top of CHANGELOG after intro line, before [3.23.0] entry.

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@
22

33
All notable changes to Budget Experiment.
44

5+
## [3.25.0] - 2026-03-23
6+
7+
### Features
8+
9+
- **docker:** Upgrade PostgreSQL from version 16 to 18 across all docker-compose files; use hardened DHI image `dhi.io/postgres:18` for production deployments per Docker Hardened Images policy
10+
11+
### Refactoring
12+
13+
- **api:** Replace string matching in `ExceptionHandlingMiddleware` with `ExceptionType` switch statement — cleaner exception routing logic
14+
- **api:** Remove redundant DI registrations — eliminate duplicate service registrations in composition root
15+
- **app:** Reduce method nesting depth in service classes — `RecurringTransactionInstanceService`, `RuleApplicationService`, `TransactionImportService`, `BudgetCalculationService` simplified for improved maintainability
16+
17+
### Testing
18+
19+
- **test:** Fill coverage gaps with 54 new unit tests — `RecurringTransactionInstanceServiceTests` (20 tests), `UserSettingsServiceTests` (17 tests); convert test duplicates to `[Theory]` patterns; remove low-value framework behavior tests; **zero tests skipped**, 5,450 total
20+
- **test:** Add complete performance baselines for all load scenarios using NBomber — `get_accounts` p95=0.66ms, `get_budgets` p95=0.76ms, `get_calendar` p95=12.02ms, `get_transactions` p95=11.61ms; fixed CI bug in `performance.yml` where `tail -1` discarded 3 of 4 CSV reports
21+
- **test:** Upgrade to PostgreSQL 18 in test infrastructure — remove in-memory database; use migrations with real database for improved EF Core behavior parity
22+
23+
### Documentation
24+
25+
- **docs:** Archive completed features 112, 114, 115, 119
26+
- **docs:** Close features 121, 122 (complete)
27+
- **docs:** Feature 123 — Backend Code Quality Cleanup (complete)
28+
529
## [3.23.0] - 2026-03-11
630

731
### Features

0 commit comments

Comments
 (0)