diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9c2fb5e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,81 @@ +# Changelog + +## 1.0.0 (2026-06-07) + + +### Features + +* **CP-102,CP-103:** invitation accept/decline + GitHub commit sync ([25f8ece](https://github.com/Loopless-Portal/Loopless/commit/25f8ece81510953d6b13b14c1480e67812226fea)) +* **CP-102,CP-103:** invitation accept/decline + GitHub commit sync ([c49fca4](https://github.com/Loopless-Portal/Loopless/commit/c49fca41b47c0d7e8359136341db10db96cc2b5b)) +* **CP-104:** add GetProjectDashboard query + ProjectTask CRUD ([7e3eb87](https://github.com/Loopless-Portal/Loopless/commit/7e3eb875a79bd74b59ea612d147c8485f39a0aad)) +* **CP-105,CP-106:** messaging domain — Conversation/Message entities, SignalR MessagingHub, and full command/query slice ([52e227f](https://github.com/Loopless-Portal/Loopless/commit/52e227fe60156fdf68514dd734d94b0584822907)) +* **CP-105,CP-106:** messaging domain — Conversation/Message entities… ([3081e80](https://github.com/Loopless-Portal/Loopless/commit/3081e8048351ea8ed66e8c30ebcbd80dcce2965c)) +* **CP-107, CP-108:** freelancer matching endpoint + AI project summary ([cf74e3f](https://github.com/Loopless-Portal/Loopless/commit/cf74e3f5db7b5cb40b8d7562530443c9987f74c4)) +* **CP-107, CP-108:** freelancer matching endpoint + AI project summary ([b015d73](https://github.com/Loopless-Portal/Loopless/commit/b015d736d46e562163ad26c23fbfa2cc64161d6a)) +* **CP-120:** add Nginx Ingress and HPA manifests for frontend/backend ([7dff8c9](https://github.com/Loopless-Portal/Loopless/commit/7dff8c95dcb34965ff3663242cda47bff2988bee)) +* **CP-121:** add Terraform AWS modules + staging/production envs ([ecbc8c2](https://github.com/Loopless-Portal/Loopless/commit/ecbc8c2887af79780cad7225158bfecab80cf1e1)) +* **CP-122,CP-123:** add Prometheus scrape config, Grafana dashboards, and alert rules ([78775b0](https://github.com/Loopless-Portal/Loopless/commit/78775b023dfb29c9084187cb17faf42b2676ec42)) +* **CP-122,CP-123:** add Prometheus scrape config, Grafana dashboards… ([c1055d4](https://github.com/Loopless-Portal/Loopless/commit/c1055d4781970c13f7bc6cc76b71d6acda8ab514)) +* **CP-126, CP-127:** wire onboarding wizard and discovery feed to ba… ([d834488](https://github.com/Loopless-Portal/Loopless/commit/d83448854a0ff806080e3f3ca4b4ae166c475c71)) +* **CP-126, CP-127:** wire onboarding wizard and discovery feed to backend APIs ([239fa9b](https://github.com/Loopless-Portal/Loopless/commit/239fa9bd58e69d1f6f2b0d882fc26f74fd5f78ac)) +* **CP-131:** implement RabbitMQ consumer, publisher and IEventPublisher abstraction ([60eb152](https://github.com/Loopless-Portal/Loopless/commit/60eb1524328ccadf2cf005e11dc822d1b2430b37)) +* **CP-131:** implements RabbitMQ consumer, publisher and IEventPublisher abstraction. ([85609f5](https://github.com/Loopless-Portal/Loopless/commit/85609f549dc671240e7ec96113f1e8b6a6810c64)) +* **CP-132:** implement Leave/Archive Project ([26d9167](https://github.com/Loopless-Portal/Loopless/commit/26d9167f7bd74f1f944bdf62ec83c90440e5029c)) +* **CP-132:** implement Leave/Archive Project ([115c57f](https://github.com/Loopless-Portal/Loopless/commit/115c57fba7b064671abe719f1414a8aac5c034a2)) +* **CP-140:** add platform analytics dashboard with admin endpoint an… ([77c97af](https://github.com/Loopless-Portal/Loopless/commit/77c97af946578e234f19ae6fbae4446b937aab46)) +* **CP-140:** add platform analytics dashboard with admin endpoint and SVG trend charts ([f3cba83](https://github.com/Loopless-Portal/Loopless/commit/f3cba8376cd57e95f19e81882357cedd58dae371)) +* **CP-141:** standup analytics endpoint + widget + CSV export ([d205c83](https://github.com/Loopless-Portal/Loopless/commit/d205c835c29577330a70e265016fd5dd9584d7a6)) +* **CP-144,CP-145:** add staging kustomize overlay and staging auto-d… ([7a6273f](https://github.com/Loopless-Portal/Loopless/commit/7a6273ff6db891f4c7ce2d624a8b10c06dc2c880)) +* **CP-144,CP-145:** add staging kustomize overlay and staging auto-deploy CD pipeline ([fcc5e6f](https://github.com/Loopless-Portal/Loopless/commit/fcc5e6f88d0f9e9e27669a21e170edfeafdeffed)) +* **CP-146,CP-147:** production deploy gate + mobile responsive polish ([ef769ac](https://github.com/Loopless-Portal/Loopless/commit/ef769ac2eb2bf05f4d4ba8d2637e6939ec72cb9f)) +* **CP-148:** complete WCAG 2.1 AA accessibility audit (focus states, contrast, a11y labels, keyboard nav, Lighthouse >=90) ([39ef35a](https://github.com/Loopless-Portal/Loopless/commit/39ef35a817f017de1dbae4edf9eb93a0b04c89f9)) +* **CP-148:** complete WCAG 2.1 AA accessibility audit (focus states,… ([81eed92](https://github.com/Loopless-Portal/Loopless/commit/81eed924c831d372774674295c4e1e6f201f7136)) +* **CP-149,CP-150:** add Lighthouse perf audit + k6 load test script ([48089a9](https://github.com/Loopless-Portal/Loopless/commit/48089a9582cc7d60dd45a60768bda317f0629a62)) +* **CP-149,CP-150:** add Lighthouse perf audit + k6 load test script ([c5a60bd](https://github.com/Loopless-Portal/Loopless/commit/c5a60bd7c078c82b44fee0be6002a6b012afb731)) +* **CP-207:** add Terraform apply runbook and CI validation workflow ([f36f694](https://github.com/Loopless-Portal/Loopless/commit/f36f694a44e63a20a6586f50cbbe0117dd65d832)) +* **CP-61, CP-79:** responsive landing page and direction-aware wizar… ([a67647a](https://github.com/Loopless-Portal/Loopless/commit/a67647a6e839297035f376ac831c5977855f8f97)) +* **CP-61, CP-79:** responsive landing page and direction-aware wizard animations ([feea593](https://github.com/Loopless-Portal/Loopless/commit/feea593ecc7061663a70112de2bf319178f7a5b2)) +* **CP-63,CP-64:** add mocked Discovery, Projects pages + app navigat… ([907c526](https://github.com/Loopless-Portal/Loopless/commit/907c52671132cc6ac4f37f4f328902f96df77acd)) +* **CP-63,CP-64:** add mocked Discovery, Projects pages + app navigation + docs sync ([ee3f6e9](https://github.com/Loopless-Portal/Loopless/commit/ee3f6e9bf9bfecc7e30b5f8e4605ba6ab2618623)) +* **CP-65:** add mocked Messaging UI + docs sync ([d8fab1f](https://github.com/Loopless-Portal/Loopless/commit/d8fab1f4e83be655efbca527761b849141b82839)) +* **CP-65:** add mocked Messaging UI + docs sync ([f96113b](https://github.com/Loopless-Portal/Loopless/commit/f96113b574d2a896652dcd5bb935fcaf997ae9ca)) +* **CP-66:** build mocked standup UI ([f369580](https://github.com/Loopless-Portal/Loopless/commit/f36958025b39d1ec045f2d85d77a2b046a7ad18b)) +* **CP-66:** build mocked standup UI ([957cbca](https://github.com/Loopless-Portal/Loopless/commit/957cbcafc5db82340953f05252137eeb53aae38f)) +* **CP-67:** add mocked Freelancer and Enterprise Profile pages ([b538f71](https://github.com/Loopless-Portal/Loopless/commit/b538f714ce5caa87b8d09859f64e5f20d5bfc289)) +* **CP-67:** add mocked Freelancer and Enterprise Profile pages ([d22c489](https://github.com/Loopless-Portal/Loopless/commit/d22c4898196b776c388566e64b78ccd5efa2e915)) +* **CP-67:** wire profile avatar link and polish own-profile view ([bcbacb0](https://github.com/Loopless-Portal/Loopless/commit/bcbacb03d6416374a2b598a98624d4b35de72353)) +* **CP-67:** wire profile avatar link and polish own-profile view ([a50f0c0](https://github.com/Loopless-Portal/Loopless/commit/a50f0c06c196291026d5dd875fe06afcbf2d4431)) +* **CP-76, CP-77:** complete GitHub SSO mock flow and polish AuthPage… ([f016636](https://github.com/Loopless-Portal/Loopless/commit/f01663671507088646786e10ee611d4be99b5ca3)) +* **CP-76, CP-77:** complete GitHub SSO mock flow and polish AuthPageShell ([d78824c](https://github.com/Loopless-Portal/Loopless/commit/d78824c8af96e2a5af3d89e2c8bd1bccf3080168)) +* **CP-78:** add onboarding confirmation step and project docs ([7d83ec4](https://github.com/Loopless-Portal/Loopless/commit/7d83ec44e286b6e298e16cb799a6c97d949a7fef)) +* **CP-82:** wire Keycloak JWT Bearer auth + RBAC policies ([5309fb1](https://github.com/Loopless-Portal/Loopless/commit/5309fb1fde661c9c8ff73d5ac2e2bad0493e99d8)) +* **CP-82:** wire Keycloak JWT Bearer auth + RBAC policies ([9e5a8b2](https://github.com/Loopless-Portal/Loopless/commit/9e5a8b2a633fe4033ab4dff2f5ad8bab69245b4b)) +* **CP-83:** add Serilog structured logging pipeline ([b81c361](https://github.com/Loopless-Portal/Loopless/commit/b81c361a95c8b32fefba265fd8b6e4b07b6eb8ed)) +* **CP-83:** add Serilog structured logging pipeline ([278cc6e](https://github.com/Loopless-Portal/Loopless/commit/278cc6e8242c10c9633f4583f2aa086bfc9917d9)) +* **CP-84:** add MediatR pipeline with validation and logging behaviors ([fd501b7](https://github.com/Loopless-Portal/Loopless/commit/fd501b71e1297c90ed3903fcec83c3a6cad0f37b)) +* **CP-84:** add MediatR pipeline with validation and logging behaviors ([532a69c](https://github.com/Loopless-Portal/Loopless/commit/532a69c4471c6367f1ad46fffb35f26d243cc502)) +* **CP-85,CP-86:** auth domain + onboarding skills/embeddings ([162ebbe](https://github.com/Loopless-Portal/Loopless/commit/162ebbee4b7e1248aaca5c9aab99a43f47b4d52c)) +* **CP-85,CP-86:** auth domain + onboarding skills/embeddings ([060b5bc](https://github.com/Loopless-Portal/Loopless/commit/060b5bcc191b8d6786352a23e948d908249aa513)) +* **CP-87:** standup domain (entity, submit command, paged feed query) ([b9994c6](https://github.com/Loopless-Portal/Loopless/commit/b9994c6a7b6bcb3c847e24bdec426098b8edc60f)) +* **CP-87:** standup domain (entity, submit command, paged feed query) ([3a484ed](https://github.com/Loopless-Portal/Loopless/commit/3a484ed73e2ea0df86825c92ac66adefb5979028)) +* **CP-94:** standup reminder notification service ([e24de12](https://github.com/Loopless-Portal/Loopless/commit/e24de12b53db35a58c2a80290437f3e1f79b4d08)) +* **devops:** bootstrap-ubuntu script hardened with ssh, users, systemd, cron, certbot ([28ad60b](https://github.com/Loopless-Portal/Loopless/commit/28ad60b5f433113a8552f52e18c69d31ecc88858)) +* **files:** implement S3-compatible file upload & signed download URLs ([2073d2c](https://github.com/Loopless-Portal/Loopless/commit/2073d2c305b37a67d728aaa19b167fa555aed1b2)) +* **files:** implement S3-compatible file upload & signed download URLs ([4fb28ff](https://github.com/Loopless-Portal/Loopless/commit/4fb28ff9a071b8b1beee873ac6da8e62b6c41761)) +* **sprint-5:** close M4/M5 deliverables (AIOps demo, postmortem, ERD, n8n, e2e fixtures, ProfileMenu logout) + fix 8 RBAC handlers ([4a6a598](https://github.com/Loopless-Portal/Loopless/commit/4a6a598eeab0193fdf773726b0722262421e02b5)) +* wire AuthGuard/AdminGuard + fix CI blockers ([b644549](https://github.com/Loopless-Portal/Loopless/commit/b64454997b2e84ef8e979361ac911d44fa167d7c)) +* wire AuthGuard/AdminGuard + fix CI blockers ([0bd4de3](https://github.com/Loopless-Portal/Loopless/commit/0bd4de32fe864b7232f08da1d6479e14d10e5553)) +* wire SignalR messaging UI and add admin user management endpoints ([a68121d](https://github.com/Loopless-Portal/Loopless/commit/a68121d63742b0c2664e5c02df86a70512ccaafc)) +* wire SignalR messaging UI and add admin user management endpoints ([e119bcb](https://github.com/Loopless-Portal/Loopless/commit/e119bcb4417edb50441db25213a6cfdd5bd5a98a)) + + +### Bug Fixes + +* **ci:** drop gitleaks-action (org license required) ([3421436](https://github.com/Loopless-Portal/Loopless/commit/3421436dee00f686b797bfd1809453d141cacf46)) +* **ci:** remove duplicate pages outside (protected) and bump Trivy action ([28cbbbd](https://github.com/Loopless-Portal/Loopless/commit/28cbbbd431e793e9085038226654f2e15c1eb783)) +* **ci:** use v-prefixed Trivy tag (v0.36.0) ([0abacb2](https://github.com/Loopless-Portal/Loopless/commit/0abacb2b1dd3a17f297dc2836a955e8dc291dd49)) +* dedupe app/* pages, fix Trivy/Gitleaks, close FE-2/FE-5 gaps ([1bbf640](https://github.com/Loopless-Portal/Loopless/commit/1bbf640e40ea23d1e79bf5b45d42ec8bf3dcca45)) +* **fe:** close FE-2/FE-5 gaps + delete remaining app/* duplicates ([2de2aa6](https://github.com/Loopless-Portal/Loopless/commit/2de2aa65fe18d30fbde380a2baeedbce0ff83a7c)) +* **frontend:** rename next.config.ts to next.config.mjs for Docker runtime ([af1c81a](https://github.com/Loopless-Portal/Loopless/commit/af1c81a28f04d6a17889ee746480a9f866cd48cd)) +* **frontend:** replace setState-in-effect with render-time derived state ([582c017](https://github.com/Loopless-Portal/Loopless/commit/582c017787973ac0478ff82a12f10f43ed099914)) +* remove postgres exporters postgres dependency ([e705de0](https://github.com/Loopless-Portal/Loopless/commit/e705de08410bb76dfc5052200368b4381770b12c))