Skip to content

Commit 9e53950

Browse files
Merge pull request #254 from bg-playground/copilot/sync-changelog-files
Sync changelogs: backfill v2.0.1 entries and replace stale root CHANGELOG.md
2 parents 5f95597 + 0900d19 commit 9e53950

2 files changed

Lines changed: 71 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

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)
14+
- Persistent DB-backed embedding cache — new `embedding_cache` table, CRUD module, `load_cached_embeddings`/`save_embeddings_to_db` async methods, `compute_text_hash` utility (#243)
15+
- 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+
1042
### 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
1853

1954
## [1.0.0] - 2026-02-17
2055

@@ -37,7 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3772
- Multi-platform integration guide for building testing management applications
3873
- Getting Started guide for new users
3974
- CONTRIBUTING.md with contribution guidelines
40-
- LICENSE file (Creative Commons Attribution 4.0 International)
75+
- LICENSE file (MIT License)
4176
- GitHub issue templates for bug reports, documentation improvements, feature requests, and template contributions
4277
- Project labels: documentation, enhancement, templates, examples, integration
4378
- Project milestones: v1.0 Core Framework, v1.1 Templates & Examples, v2.0 Traceability & AI Features, v3.0 App Integration
@@ -48,4 +83,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4883
### Changed
4984
- Standardized all phase documentation to follow a uniform structure
5085

86+
[2.0.1]: https://github.com/bg-playground/BGSTM/releases/tag/v2.0.1
87+
[2.0.0]: https://github.com/bg-playground/BGSTM/releases/tag/v2.0.0
5188
[1.0.0]: https://github.com/bg-playground/BGSTM/releases/tag/v1.0.0

docs/CHANGELOG.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [2.0.1] - 2026-03-05
1111

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)
14+
- Persistent DB-backed embedding cache — new `embedding_cache` table, CRUD module, `load_cached_embeddings`/`save_embeddings_to_db` async methods, `compute_text_hash` utility (#243)
15+
- 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+
1220
### 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)
1539

1640
## [2.0.0] - 2026-03-04
1741

0 commit comments

Comments
 (0)