What's Changed
- chore(start-here): refresh What's new with latest blog posts by @gorkem-bwl in #4182
- Feat: Centralize presentation date formatting utilities by @Br0wnHammer in #4175
- feat(frontend): apply TableEmptyStateLayout to inventory and framewok tables by @Innagl in #4178
- perf(dashboard): parallelize first-login metrics fetch and dedup /projects by @gorkem-bwl in #4181
- Feat: Optimistic update cache by @Br0wnHammer in #4183
- Tenant-Isolation Matrix by @MuhammadKhalilzadeh in #4187
- feat(settings): add help text to admin tabs and hide AI Approval Rules by @gorkem-bwl in #4193
- Fix: AI Trust Centre Empty States by @Br0wnHammer in #4186
- Critical End-to-End Journey & Deadline Warning by @MuhammadKhalilzadeh in #4197
- feat(forms): add blur validation and focus first invalid field on submit by @Innagl in #4146
- deps(eval): update fairlearn requirement from >=0.13.0 to >=0.14.0 in /EvaluationModule by @dependabot[bot] in #4200
- deps(eval): update pandas requirement from >=3.0.3 to >=3.0.4 in /EvaluationModule by @dependabot[bot] in #4201
- deps(eval): update openai requirement from >=2.41.0 to >=2.44.0 in /EvaluationModule by @dependabot[bot] in #4202
- deps(eval): update sentence-transformers requirement from >=5.5.1 to >=5.6.0 in /EvaluationModule by @dependabot[bot] in #4203
- deps(frontend): bump @ai-sdk/react from 3.0.210 to 4.0.5 in /Clients by @dependabot[bot] in #4207
- Better Email Templates by @MuhammadKhalilzadeh in #4210
- feat(frontend): apply TableEmptyStateLayout to AI apps, training, reporting, trust center, and vendors by @Innagl in #4191
- feat(frontend): standardize empty states on policy, incident, and approval pages by @Innagl in #4196
- Fix tableName mismatch on VendorsProjects and ProjectFrameworks models by @gorkem-bwl in #4199
- Feat: Frontend test by @Br0wnHammer in #4209
- deps(backend): bump tmp from 0.2.6 to 0.2.7 in /Servers by @dependabot[bot] in #4074
- deps(backend): bump form-data from 4.0.5 to 4.0.6 in /Servers by @dependabot[bot] in #4090
- deps(backend): bump multer from 2.1.1 to 2.2.0 in /Servers by @dependabot[bot] in #4108
- deps(backend): bump hono from 4.12.23 to 4.12.27 in /Servers by @dependabot[bot] in #4211
- deps(frontend): bump js-yaml from 4.1.1 to 4.3.0 in /Clients by @dependabot[bot] in #4212
- deps(backend): bump tar from 7.5.15 to 7.5.19 in /Servers by @dependabot[bot] in #4213
- deps(backend): bump http-proxy-middleware from 4.0.0 to 4.1.1 in /Servers by @dependabot[bot] in #4114
- deps(backend): bump undici in /Servers by @dependabot[bot] in #4148
- Feat: Global api error toast by @Br0wnHammer in #4215
- fix(a11y): improve modal focus handling and drawer ARIA labels by @Innagl in #4217
- Add Model risk management (tiering, validation, monitoring, attestation) by @gorkem-bwl in #4228
- fix(mrm): use IN instead of ANY() for array-bound stage filters in attestation by @gorkem-bwl in #4230
- docs(mrm): add Model risk management in-app user guide article by @gorkem-bwl in #4231
- feat(mrm): route sub-tabs and settings sections, add SectionNav by @gorkem-bwl in #4232
- feat(mrm): scenario-driven metric simulator and gap-finder by @gorkem-bwl in #4234
- fix(mrm): persist external_key on model inventory update by @gorkem-bwl in #4233
- feat(mrm): make external_key settable at model create + in the UI by @gorkem-bwl in #4235
- fix(mrm): batch metric ingestion 500s when a batch contains a duplicate point by @gorkem-bwl in #4237
- feat(mrm-sim): real metric computation + config-driven fleet (simulator v2a) by @gorkem-bwl in #4236
- feat(mrm-sim): live web dashboard for the metric simulator (v2b) by @gorkem-bwl in #4238
- Feat: Server HTML Sanitization Rich Text by @Br0wnHammer in #4220
- fix(a11y): add keyboard focus trap for Help sidebar and lightbox by @Innagl in #4226
- 4026 enforce coverage gates in ci by @DeboraSerra in #4227
- fix(auth): return 401 when a valid token references a missing user by @gorkem-bwl in #4229
- Added ansible UI with Semaphore by @HarshP4585 in #4250
- feat(mrm): configurable metric retention with audit-safe daily prune by @gorkem-bwl in #4252
- feat(mrm): alert emails, alerts configuration, and auto-opened findings by @gorkem-bwl in #4264
- docs(mrm): model metrics ingestion developer guide by @gorkem-bwl in #4263
- Detach Regulations from Use Cases by @MuhammadKhalilzadeh in #4253
- Disable current password check validations by @HarshP4585 in #4224
- chore(deps): bump the npm_and_yarn group across 1 directory with 5 updates by @dependabot[bot] in #4248
- Feat: Async Boundary by @Br0wnHammer in #4249
- feat(advisor): cross-fade the copy button icon by @gorkem-bwl in #4251
- ci: bump actions/github-script from 7 to 9 by @dependabot[bot] in #4254
- deps(frontend): bump typescript from 6.0.3 to 7.0.2 in /Clients by @dependabot[bot] in #4262
- chore(deps-dev): bump ws from 7.5.10 to 7.5.11 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #4267
- feat(themes): add color primitive pools and derive semantic palette by @Innagl in #4269
- Increasing integration tests coverage by @MuhammadKhalilzadeh in #4271
- Merge develop into master (July 14) by @HarshP4585 in #4270
Full Changelog: v2.4...v2.4.1