Skip to content

Releases: microsoft/fhir-server

4.0.662

16 Feb 02:08
b27fbf4

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • More meta history tests by @LTA-Thinking in #5382: Add more E2E tests for _meta-history
  • Reindex racing and incremental cache update fixes by @SergeyGaluzo in #5350: Fixes issues in the incremental search param cache update logic

Common to both Azure API for FHIR and Azure Health Data Services

Other Changes

Full Changelog: release/4.0.654...release/4.0.662

4.0.654

09 Feb 02:08
cfee8db

Choose a tag to compare

What's Changed

Azure API for FHIR (Cosmos)

  • Improve SqlServer project test coverage - part 2 by @rbans96 in #5360: Improve SqlServer project test coverage.

Azure Health Data Services (SQL)

  • Allow meta history in transaction bundles by @LTA-Thinking in #5351: There was a limitation where _meta-history parameter was not working in transaction bundles. This issue has been fixed, and _meta-history parameter can now be used in transaction bundles.
  • DeletionService - IFhirDataStore scoped handling by @fhibf in #5363: For a transaction bundle, all interactions or operations either succeed or fail together. When a transaction bundle fails, the FHIR service returns a single OperationOutcome. Previously, there was an issue where soft delete operations were not being considered for the transaction bundle scope, which could cause a discrepancy in the all-or-nothing behavior of the transaction bundle. This issue has been fixed, and all interactions or operations, including soft deletes, will now correctly either succeed or fail together.
  • Improve test coverage for SqlServer project by @rbans96 in #5335
  • Push code coverage data to 1es telemetry by @rbans96 in #5368
  • Support meta history in bulk update by @LTA-Thinking in #5370: Metadata-only updates and versioning configuration with $bulk-update: Introduced new query parameter "_meta-history" for bulk update when versioning policy is set to either "versioned" or "version-update." The new query is used to configure whether or not the old version is saved as a historical record. "_meta-history = true" is the default. By default, the resource version is incremented, a new version is created, and the old version is saved as a historical record. "_meta-history=false" can be configured so that the resource version is incremented, a new version is created, but the old version isn't saved as a historical record.

Other Changes

Full Changelog: release/4.0.646...release/4.0.654

4.0.646

02 Feb 03:15
5608a06

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • [Bundle] Do not merge operations with precondition failures by @fhibf in #5359: Ensures bundle processing no longer merges operations that fail precondition checks.

Common to both Azure API for FHIR and Azure Health Data Services

  • Speed up local tests, log id, and document includes usage by @LTA-Thinking in #5349: Improves local test performance, enhances logging
  • Add RFC-compliant error handling for TokenIntrospectionController by @mikaelweave in #5348: Implements standards‑based error responses for token introspection failures.
  • Fix SearchParameter pagination bug - move TOP to outer query by @jestradaMS in #5362: There was an issue where a pagination bug in FHIR search queries caused resources to be intermittently skipped when results span multiple pages and use continuation tokens. The issue is fixed.

Other Changes

Package Updates

  • Update SDK versions: .NET 9.0.310, .NET 8.0.417 by @Copilot in #5356

Full Changelog: release/4.0.639...release/4.0.646

4.0.639

26 Jan 18:23
9f706a0

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • Fix delete issue context by @LTA-Thinking in #5336: There was an issue where some $bulk-delete queries that have paged results exceeding 1000 included items with related links could return an HTTP 500 Internal Server Error. The issue has been fixed, and the results are returned correctly now.
  • Fix SQL UNION column count mismatch in include/revinclude queries by @mikaelweave in #5340: There was an issue where queries combining _include and _revinclude (for example, GET /Patient?_include=Patient:organization&_revinclude=Observation:patient could return an HTTP 500 Internal Server Error. This issue has been fixed, and results are returned correctly now.

Common to both Azure API for FHIR and Azure Health Data Services

Full Changelog: release/4.0.635...release/4.0.639

4.0.635

26 Jan 02:08
3a44a00

Choose a tag to compare

What's Changed

Common to both Azure API for FHIR and Azure Health Data Services

  • Populating 'instantiates' field of CapabilityStatement. by @v-isyamauchi-gh in #5241: The change will populate 'instantiates' field of CapabilityStatement when necessary.
  • Improve test coverage for Azure project by @rbans96 in #5316:

Other Changes

  • Update app service with new UAMI for acr pull by @feordin in #5342

Full Changelog: release/4.0.632...release/4.0.635

4.0.632

20 Jan 22:16
7c39b63

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • $import can handle merge throttling by @brendankowitz in #5320: This pull request adds improved handling for SQL throttling errors during resource import operations in the SQL Server FHIR data store. Now, when the system detects that concurrent calls are above optimal levels, it will back off for a randomized delay, reducing the chance of repeated throttling and improving system stability.
  • Fix duplicate ids search by @LTA-Thinking in #5338: Bug fix for duplicate ID's used in search: There was a regression where searching for duplicate ID's with _id and no other search parameters would return a HTTP 500 Internal Server Error. This issue has been fixed, and correct search results are now returned.

Common to both Azure API for FHIR and Azure Health Data Services

  • Capability statement refreshes when profiles are updated by @fhibf in #5330: Improved capability statement refresh after profile updates: Previously, changes to profile updates could take up to 4 hours to reflect in the Capability Statement. This has been improved to load new profile updates in the Capability Statement after 2 minutes.

Full Changelog: release/4.0.629...release/4.0.632

4.0.629

19 Jan 02:09
c8b4412

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • Fix reindex scalability by @jestradaMS in #5324: Introduces several improvements to the reindexing job orchestration and SQL Server search logic to enhance scalability and reliability, especially for large datasets.
  • Removed not used global start id by @SergeyGaluzo in #5326: Eliminated redundant global start ID to streamline code.
  • Exposing resource count in get surrogate ids ranges methods by @SergeyGaluzo in #5327: Display resource counts when retrieving surrogate ID ranges.
  • Fix infinite loop with multiple includes by @LTA-Thinking in #5297: Bug fix for _sort with multiple _include/_revinclude parameters. Resolved issue where using multiple _include/_revinclude parameters in a search with _sort could lead to the includes continuation tokens to get into an infinite loop if there are more than two pages of results. This issue is fixed, and the includes continuation tokens are correct now.

Common to both Azure API for FHIR and Azure Health Data Services

  • Fix for Ambiguous match exception in patch call by @Charles-Patrick-Moore (merged via @PTaladay) in #5321: Improved error handling for PATCH requests with an empty body. Previously, PATCH requests sent to the FHIR with an empty body returned HTTP 500 Internal Server Error. This has been improved to return HTTP 400 Bad Request with more informative messaging to inform user that Content-Type and body are required.
  • SMART on FHIR Token Introspection Endpoint by @mikaelweave in #5257
  • Reindex job reliability improvements by @jestradaMS in #5331: Improves the reliability and resilience of the FHIR reindexing jobs by introducing smarter retry logic for transient database errors and by making the resource fetching process more robust against out-of-memory (OOM) errors.

Other Changes

Full Changelog: release/4.0.621...release/4.0.629

4.0.621

13 Jan 19:46
9444ee9

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • Adding stored procedure instead of UNION by @SergeyGaluzo in #5300: Replaces UNION-based queries with a stored procedure to improve performance and maintainability.
  • Refactor SearchProxyTests structure by @jestradaMS in #5308: This pull request adds support for configuring proxy-related HTTP headers in the E2E search tests by introducing new environment variables. This allows the tests to be more flexible and adaptable to different deployment environments.
  • Allow hard delete inside transaction bundle by @paorodma-ms in #5291: Hard delete now supported inside transaction bundles. Previously, hard deletes and conditional deletes were not supported inside transaction bundles. Now, hard deletes are allowed inside transaction bundles. Conditional deletes remain unsupported inside transaction bundles.
  • Improve test coverage for schema manager project by @rbans96 in #5307
  • Remove incorrect coding pattern for GetResourceSurrogateIdRanges stored procedure by @SergeyGaluzo in #5312
  • Extend usage of get async to search on multiple ids by @SergeyGaluzo in #5311

Common to both Azure API for FHIR and Azure Health Data Services

Other Changes

Full Changelog: release/4.0.611...release/4.0.621

4.0.611

05 Jan 02:09
39e6358

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • Add meta history to PATCH by @LTA-Thinking in #5290: Introduced new query parameter "_meta-history" for PATCH updates when versioning policy is set to either "versioned" or "version-update" to configure whether or not the old version is saved as a historical record. "_meta-history = true" is the default. By default, the resource version is incremented, a new version is created, and the old version is saved as a historical record. "_meta-history=false" can be configured so that the resource version is incremented, a new version is created, but the old version is not saved as a historical record.

Other Changes

Full Changelog: release/4.0.607...release/4.0.611

4.0.607

30 Dec 20:32
f9bebe9

Choose a tag to compare

What's Changed

Azure Health Data Services (SQL)

  • Remove parameters hash from sql query hash calculation by @SergeyGaluzo in #5294: Fixes custom query bug that prevents reusing custom stored procedures across different parameter values.
  • Simplify generated SQL by removing "predecessorTable" alias by @SergeyGaluzo in #5295: This change removes the misleading “predecessorTable” alias introduced earlier by switching to uniquely named columns in virtual inline views to disambiguate joins, simplifying generated SQL and restoring pre-change behavior with no functional or query‑logic changes.

Common to both Azure API for FHIR and Azure Health Data Services

  • Increase coverage for Fhir.Core across versions by @rbans96 in #5277: Increase core project test coverage across all versions
  • Changes to include Structure Definition version in canonical URL by @paorodma-ms in #5280: The capability statement lists details of the stored profiles on the FHIR server. There was a bug where the capability statement wasn't showing the profile version that is currently loaded into the FHIR server. The issue is fixed, and the capability statement now correctly states the profile version that is loaded on the FHIR server.
  • Block update or delete of system defined search parameters. by @paorodma-ms in #5288: Updates in responses for update and deletion of FHIR spec-defined search parameters: We have made a few updates and improvements to the behaviors and responses for update and deletion of FHIR spec-defined search parameters. This includes:
    • Deletion of out-of-box FHIR spec-defined search parameters previously returned a "204 No Content" and the parameter would not actually be deleted. This response has been updated to correctly return "405 Method Not Allowed".
    • Update of out-of-box FHIR spec-defined search parameters previously returned "201 Created", which can cause unintended behavior. This has been updated to return "405 Method Not Allowed". If you wish to update an out-of-box FHIR spec-defined search parameter, please create a new custom search parameter with a different URL.
    • This update also includes: Deletion of non-existent search parameter previously returned a "204 No Content". This response has been improved to be more informative and now returns "404 Not Found".
  • Check AadSmartProxy for well-known/smart-configuration by @feordin in #5292

Other Changes

  • Removing validate search parameter hash from ReindexProcessingJob by @jestradaMS in #5286
  • Pin Microsoft Graph modules to version 2.33.0 to address bug by @jestradaMS in #5289

Full Changelog: release/4.0.599...release/4.0.607