Skip to content

Milestone 0.3.0

Latest
Compare
Choose a tag to compare
@stephenfuqua stephenfuqua released this 18 Oct 14:35
· 60 commits to main since this release
12ebd16

Release Notes for Milestone 0.3.0

What's new:

  • We've introduced API queries using OpenSearch (e.g GET /ed-fi/students?firstName=Pat). Driven by change data capture flowing through Kafka. Design Docs: DMS Feature: Change Data Capture to Stream.
  • The application now supports cascading updates for allowed key changes, for example when changing a Session.Name. Design Docs: DMS Feature: Cascading Updates into JSON Documents.
  • Resilience - automatic retries when transient database errors occur, with a configurable circuit breaker using Polly. Design docs: DMS Resilience Strategies.
  • /health endpoint, integrated with PostgreSQL, for health checks.
  • Docker Compose testing "environments" in /eng/docker-compose.

We have also begun work on the DMS Configuration Service, which replaces the ODS Admin API. There are several pull requests already merged, but we are not "officially" including it in this milestone because it is not yet integrated with the core Data Management Service, and we have not developed the release workflow yet.

New Features

API Queries:

  • [DMS-89] OpenSearch query integration in PR 224
  • [DMS-288] [DMS-312] Opensearch 2 + Query parameter validation in PR 250
  • [DMS-322] Deletes through Kafka to Opensearch in PR 257
  • [DMS-289] Part 3: Query by parameters support in OpenSearch in PR 259
  • [DMS-364] Validate query parameter value type in PR 278

Cascading updates:

  • [DMS-71] Selectively allow natural key updates in PR 245
  • [DMS-72] Cascade Updates Non-Reference Identity Values in PR 276
  • [DMS-368] Cascade Updates in PR 284

Improvements

  • [DMS-302] Add Polly for Postgres exception retries in PR 221
  • [DMS-304] Disallow duplicate references with the same identity in a collection in PR 226 and PR 235
  • [DMS-189] Backend circuit breaker in PR 228
  • [DMS-307] Move front end response serialization to middleware in PR 238 and PR 248
  • [DMS-309] Appropriate message to report The document ID provided is invalid. in PR 247
  • [DMS-286] New docker compose environment and misc small fixes in PR 246
  • [DMS-49] Add a Healthcheck for DMS API image in PR 251
  • [DMS-362] Add IsDescriptor to documents table in PR 265
  • [DMS-65] Enrich Saved Document with Trace ID in PR 290
  • [DMS-361] Mask request data in DEBUG logging in PR 291
  • [DMS-394] Fix missing audit data on update in PR 304

Bug Fixes

  • [DMS-308] Update Api schema to avail empty string check in PR 223
  • [DMS-359] Assessment must be able to accept multiple Performance Levels in PR 271
  • [DMS-366] Remove unnecessary ToJsonString in PR 266
  • [DMS-373] Investigate deadlocks in PR 297
  • [DMS-383] Serialization problem when Parse a non valid Body in PR 295
  • [DMS-384] ReferentialId mismatch between base resource and referenced resource. "Grade" example.(in closed source MetaEd)
  • [DMS-294] Key unification for assessmentScoreRangeLearningStandards in PR 229
  • [DMS-363] Paging tests failing in PR 268

Dms Configuration Service

  • [DMS-314] Keycloak developer setup in PR 274
  • [DMS-339] Vendor CRUD in PR 302
  • [DMS-340] CRUD operations for Applications in PR 305

Full Changelog: 0.2.0...0.3.0