You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+45-8Lines changed: 45 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,14 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [2.0.1] - 2026-03-05
11
+
12
+
### Added
13
+
- Batch embedding for LLM similarity — `precompute_embeddings()` and `get_embeddings_batch()` methods to batch OpenAI API calls (up to 2048 texts per request) instead of N+M individual calls (#242)
- Application documentation pages — new `docs/application/` section with authentication, API reference, notifications, audit logging, and deployment guides; fixed MkDocs license footer; removed dead `mike` config (#246)
16
+
- Automated GitHub Release workflow — tag-triggered `.github/workflows/release.yml` that extracts changelog sections and creates GitHub Releases; added "Releasing" section to CONTRIBUTING.md (#247)
17
+
- E2E test README and root README updates — added E2E badge, `🧪 Testing` section with all 7 spec files, environment variables, and Playwright instructions (#241)
18
+
- Enum binding regression tests — new `test_enum_binding.py` covering all enum columns (#231)
19
+
20
+
### Fixed
21
+
- Fixed PostgreSQL UUID type mismatch — `get_user` in `crud/user.py` now converts string IDs to `uuid.UUID`; `GUID.process_bind_param` coerces non-UUID values on PostgreSQL dialect (#226)
22
+
- Fixed SQLAlchemy enum case mismatch in core models — added `values_callable` to all `Enum()` column definitions in `requirement.py`, `test_case.py`, `suggestion.py`, `link.py` so lowercase values are sent to PostgreSQL (#230)
23
+
- Fixed SQLAlchemy enum case mismatch for `NotificationType` — applied same `values_callable` fix to `notification.py` (#231)
24
+
- Fixed remaining `notificationtype` enum mismatch and changed `version: int` to `version: int | None = None` in Pydantic schemas (#232)
25
+
- Fixed E2E test reliability: Playwright CI — Chromium-only in CI, fixed traceability test assertion, modal close race condition, increased download timeouts (#234)
26
+
- Fixed E2E test reliability: native dialog handling — delete confirmation now uses `page.once('dialog')` instead of DOM button lookup; fixed card title extraction; tightened traceability heading locator (#237)
27
+
- Fixed E2E test reliability: traceability matrix race condition — added `waitForResponse` for traceability API before `networkidle` (#240)
28
+
- Fixed mypy type errors — resolved `Result[Any].rowcount` attr-defined and `SimilarityAlgorithm` missing method errors with `isinstance` guard (#244)
29
+
- Fixed Docker backend failing to start on Windows clones due to CRLF line endings in `entrypoint.sh` (`exec /app/entrypoint.sh: no such file or directory`) (#248)
30
+
- Added `.gitattributes` to enforce LF line endings for shell scripts and all source files, preventing cross-platform line ending issues (#248)
31
+
32
+
### Changed
33
+
- Upgraded ESLint to v10 — bumped `eslint` to 10.0.2 and `@eslint/js` to 10.0.1 in frontend; added `.npmrc` with `legacy-peer-deps=true` (#233)
34
+
35
+
### Dependencies
36
+
- Bumped `fastapi` from 0.129.0 to 0.133.1 (#174)
37
+
- Bumped `email-validator` from 2.2.0 to 2.3.0 (#165)
38
+
- Bumped `@types/react-window` from 1.8.8 to 2.0.0 (#182)
39
+
40
+
## [2.0.0] - 2026-03-04
41
+
10
42
### Added
11
-
- Traceability matrix API endpoint with coverage analysis and gap identification (#44)
12
-
- Metrics API endpoint with coverage percentage and suggestion acceptance rate (#44)
13
-
- CSV and JSON export for traceability matrix (#44)
14
-
- Frontend traceability matrix view and metrics dashboard (#44)
15
-
- React + TypeScript frontend with suggestion review dashboard, CRUD views, and manual link management (#43)
16
-
- Dockerfile and docker-compose.yml for containerized backend deployment (#42)
17
-
- GitHub Actions CI/CD pipeline for automated testing, linting, and type checking (#40)
43
+
-**User Authentication & RBAC** — JWT-based authentication with admin, reviewer, and viewer roles; login, register, and logout flows
44
+
-**Notification System** — In-app notifications for suggestion generation, coverage drops, suggestion reviews, and requirement/test case creation events; mark as read and mark all as read
45
+
-**Audit Logging** — Full audit trail for all user actions including CRUD operations on requirements, test cases, links, and suggestions
46
+
-**Traceability Matrix View** — Visual matrix showing requirement-to-test-case coverage with filtering and PDF export
47
+
-**Metrics Dashboard** — Coverage metrics and suggestion statistics, exportable as CSV
48
+
-**E2E Test Suite** — Comprehensive Playwright end-to-end tests covering auth, CRUD, suggestions, RBAC, traceability, exports, and notifications; Docker Compose test environment (`docker-compose.test.yml`); CI workflow (`.github/workflows/e2e-tests.yml`)
49
+
-**AI Suggestion Engine Enhancements** — LLM embedding support (OpenAI & HuggingFace), batch embedding with caching, event-driven suggestion generation
50
+
-**Database Migrations** — Alembic migration system with versioned migrations for all tables (requirements, test_cases, link_suggestions, users, audit_log, notifications, performance indexes)
51
+
-**Docker & DevOps** — Full Docker Compose setup for production and testing, setup scripts (`setup.sh`, `setup.bat`), CI/CD workflows for backend, frontend, Docker, and E2E tests
52
+
-**MkDocs Documentation Site** — Material theme with dark/light mode, search, code copy, and GitHub Pages deployment; explicit nav with tabs covering all documentation sections
18
53
19
54
## [1.0.0] - 2026-02-17
20
55
@@ -37,7 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
72
- Multi-platform integration guide for building testing management applications
Copy file name to clipboardExpand all lines: docs/CHANGELOG.md
+26-2Lines changed: 26 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
10
10
## [2.0.1] - 2026-03-05
11
11
12
+
### Added
13
+
- Batch embedding for LLM similarity — `precompute_embeddings()` and `get_embeddings_batch()` methods to batch OpenAI API calls (up to 2048 texts per request) instead of N+M individual calls (#242)
- Application documentation pages — new `docs/application/` section with authentication, API reference, notifications, audit logging, and deployment guides; fixed MkDocs license footer; removed dead `mike` config (#246)
16
+
- Automated GitHub Release workflow — tag-triggered `.github/workflows/release.yml` that extracts changelog sections and creates GitHub Releases; added "Releasing" section to CONTRIBUTING.md (#247)
17
+
- E2E test README and root README updates — added E2E badge, `🧪 Testing` section with all 7 spec files, environment variables, and Playwright instructions (#241)
18
+
- Enum binding regression tests — new `test_enum_binding.py` covering all enum columns (#231)
19
+
12
20
### Fixed
13
-
- Fixed Docker backend failing to start on Windows clones due to CRLF line endings in `entrypoint.sh` (`exec /app/entrypoint.sh: no such file or directory`)
14
-
- Added `.gitattributes` to enforce LF line endings for shell scripts and all source files, preventing cross-platform line ending issues
21
+
- Fixed PostgreSQL UUID type mismatch — `get_user` in `crud/user.py` now converts string IDs to `uuid.UUID`; `GUID.process_bind_param` coerces non-UUID values on PostgreSQL dialect (#226)
22
+
- Fixed SQLAlchemy enum case mismatch in core models — added `values_callable` to all `Enum()` column definitions in `requirement.py`, `test_case.py`, `suggestion.py`, `link.py` so lowercase values are sent to PostgreSQL (#230)
23
+
- Fixed SQLAlchemy enum case mismatch for `NotificationType` — applied same `values_callable` fix to `notification.py` (#231)
24
+
- Fixed remaining `notificationtype` enum mismatch and changed `version: int` to `version: int | None = None` in Pydantic schemas (#232)
25
+
- Fixed E2E test reliability: Playwright CI — Chromium-only in CI, fixed traceability test assertion, modal close race condition, increased download timeouts (#234)
26
+
- Fixed E2E test reliability: native dialog handling — delete confirmation now uses `page.once('dialog')` instead of DOM button lookup; fixed card title extraction; tightened traceability heading locator (#237)
27
+
- Fixed E2E test reliability: traceability matrix race condition — added `waitForResponse` for traceability API before `networkidle` (#240)
28
+
- Fixed mypy type errors — resolved `Result[Any].rowcount` attr-defined and `SimilarityAlgorithm` missing method errors with `isinstance` guard (#244)
29
+
- Fixed Docker backend failing to start on Windows clones due to CRLF line endings in `entrypoint.sh` (`exec /app/entrypoint.sh: no such file or directory`) (#248)
30
+
- Added `.gitattributes` to enforce LF line endings for shell scripts and all source files, preventing cross-platform line ending issues (#248)
31
+
32
+
### Changed
33
+
- Upgraded ESLint to v10 — bumped `eslint` to 10.0.2 and `@eslint/js` to 10.0.1 in frontend; added `.npmrc` with `legacy-peer-deps=true` (#233)
34
+
35
+
### Dependencies
36
+
- Bumped `fastapi` from 0.129.0 to 0.133.1 (#174)
37
+
- Bumped `email-validator` from 2.2.0 to 2.3.0 (#165)
38
+
- Bumped `@types/react-window` from 1.8.8 to 2.0.0 (#182)
0 commit comments