Releases: microsoft/fhir-server
Releases · microsoft/fhir-server
4.0.582
What's Changed
Azure Health Data Services (SQL)
- Merge hotfix to retain history if only meta is updated via PATCH by @rbans96 in #5253: Resolved issue where metadata-only updates made via PATCH incremented the resource version without preserving the previous version. This issue was resolved on December 1, 2025.
Full Changelog: release/4.0.581...release/4.0.582
4.0.581
What's Changed
Azure Health Data Services (SQL)
- Changes to upsert searchparameter by @paorodma-ms in #5243: Added support for PUT requests to allow creation of a resource if it doesn't exist.
- Smart v2 - Inc & RevInc searches by @apurvabhaleMS in #5224: Enabled support for _include and _revinclude searches when using SMART v2 granular scopes.
- Fix log meesage for if read only connection or not by @rbans96 in #5246
Common to both Azure API for FHIR and Azure Health Data Services
- Ignore cid-0 by @brendankowitz in #5221
- Adding a support for 'context' parameter. by @v-isyamauchi-gh in #5211: Added support for "context" parameter for $expand operation for US Core 6 IG support
- Add FHIR Server Instance Configuration by @jestradaMS in #5226
- Updated the DOTNET SDK to latest by @v-rachitsh in #5238
Other Changes
- Fix build issues by @LTA-Thinking in #5239
Full Changelog: release/4.0.573...release/4.0.581
4.0.573
What's Changed
Azure Health Data Services (SQL)
- Compartment rewriter to use requested resource types list by @apurvabhaleMS in #5206
- Disallow job creation after cancellation by @LTA-Thinking in #5222
Common to both Azure API for FHIR and Azure Health Data Services
- Fix reindex job processing and error handling by @jestradaMS in #5225: Improved error handling, internationalization, and robustness in the reindex job orchestration logic
Full Changelog: release/4.0.570...release/4.0.573
4.0.570
What's Changed
Azure Health Data Services (SQL)
- Remove raw resource from log by @LTA-Thinking in #5212: Remove raw resource data from logs.
- Add silent meta update by @LTA-Thinking in #5144: Introduced new query parameter "_meta-history" for PUT updates that allows changes that only update metadata fields to happen without adding a historical version. "_meta-history = true" is the default and creates a historical version if metadata is changed. _meta-history=false will not record a historical version, but version id and last updated time will still change.
- Remove n-square problem and fix collation by @SergeyGaluzo in #5223: Optimized query performance by eliminating an n² complexity issue and corrected inconsistent collation handling for Token-String composite search parameters, fixing previous mismatches in searches involving supplementary characters.
Common to both Azure API for FHIR and Azure Health Data Services
- Fix content type error format by @LTA-Thinking in #5207: Previously, when using an incorrect content-type with POST search, the error returned was plain text error message. This has been enhanced to return error message "Rejecting POST with invalid Content-Type." along with a OperationOutcome response that will provide more details on the error.
- [Bundles] Stale operations checks by @fhibf in #5203: Added validation to check for stale Bundle Orchestrator Operations in memory.
- [Bundle] In-memory operations are cleaned in case of failures by @fhibf in #5217: Ensure in-memory operations are cleaned in case of failures.
- Work around for Entra ID not allowing / character by @feordin in #5213: Implemented a workaround for Entra ID restrictions on "/" character in SMART v2 scopes, by allowing the use of "%2f" to replace "/".
- Handle SMART scopes in OpenIdDict eventhandler vs. loading to EF memory by @jestradaMS in #5219: Streamlines SMART scope handling by registering only base scopes and dynamically validating clinical scopes during authorization, improving performance and maintainability. This only impacts development mode, not release/production.
Documentation
Full Changelog: release/4.0.561...release/4.0.570
4.0.561
What's Changed
Azure Health Data Services (SQL)
- Add architectural doc for duplicated clinical notes by @feordin in #5052
- Reindex updates for zeroCountParams and PendingDelete by @jestradaMS in #5205: Reindex improvements: Updates to reindex, including more robust loading of soft-deleted search parameters, better logging, and performance improvements in filtering and status updates.
Full Changelog: release/4.0.559...release/4.0.561
4.0.559
What's Changed
Azure Health Data Services (SQL)
- Remove second hash from includes by @SergeyGaluzo in #5202: Removed second hash from include/revinclude query part to allow for caching query plan. For simple include/revinclude queries, this helps reduce total compliation time on subsequent executions.
- Index LastUpdated in SearchParam and set BG sync to 20 seconds by @jestradaMS in #5198: Enhancements to timing for caching updates, improving custom search parameter performance
Common to both Azure API for FHIR and Azure Health Data Services: Update new SQL schema version to v98 and added an index to improve search parameter performance.
- Exclude non business logic files from test coverage by @apurvabhaleMS in #5197
- Report test coverage for Unit tests and Integration tests by @apurvabhaleMS in #5201
- Insert into temp table only for include and revinclude searches by @apurvabhaleMS in #5209
Other Changes
Package Updates
- Bump Microsoft.Extensions.TimeProvider.Testing to 9.4.0 by @dependabot[bot] in #4945
Full Changelog: release/4.0.552...release/4.0.559
4.0.552
What's Changed
Azure Health Data Services (SQL)
- Simplified query logic for id api requests by @PTaladay in #5159: Improved query execution plan generation.
Common to both Azure API for FHIR and Azure Health Data Services
- Add NSP a separate stage by @rbans96 in #5181: Added creating NSP (Network Security Perimeter) as a separate stage.
- Add support for SMART v2 cruds scopes by @feordin in #5096: Added support for new SMART v2 scopes.
Breaking Changes & Warnings 🛠
- [Reindex] Search Param refresh before Reindex Job processing by @fhibf in #5189: Improvements to reindex job processing, including improving background job reliability and flexibility by refining cache refresh timing (moving from a minute-based setting to a second-based setting), enhancing reindex job handling, and preventing Create, Update, Delete, and Patch changes to Custom Search Parameters while a reindex job is running.
Full Changelog: release/4.0.548...release/4.0.552
4.0.548
What's Changed
Azure Health Data Services (SQL)
- Blocking by defrag example by @SergeyGaluzo in #5186: Introduced an example of blocking behavior caused by SQL defragmentation to help diagnose and mitigate performance issues in Azure Health Data Services.
Common to both Azure API for FHIR and Azure Health Data Services
- [ValueSet] Configurable max size by @fhibf in #5192
- [Tests] New configurations to support ValidateConfiguration test by @fhibf in #5195
Other Changes
- Adding cleanup of resources created. by @v-isyamauchi-gh in #5175
Package Updates
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #5182
Full Changelog: release/4.0.543...release/4.0.548
4.0.543
What's Changed
Azure Health Data Services (SQL)
- Add reference resource id back to hash by @SergeyGaluzo in #5180
- Reindex job fixes for surrogate id ranges and logging by @jestradaMS in #5177: Several improvements and bug fixes to the reindex orchestrator logic in the FHIR server to increase reliability and performance.
Other Changes
- Removes .net6 references by @brendankowitz in #5170
Full Changelog: release/4.0.540...release/4.0.543
4.0.540
What's Changed
Azure Health Data Services (SQL)
- Not Referenced Specific Fields by @LTA-Thinking in #5148: Adds the ability to use not referenced search to look for the lack of specific references. For example, to search for Patients without an Encounter listing them as a subject: /Patient?_not-referenced=Encounter:subject
Common to both Azure API for FHIR and Azure Health Data Services
- Implementing $expand operation on ValueSet. by @v-isyamauchi-gh in #5160: Implementing $expand operation on ValueSet and UT/E2E tests based on the HL7 specification.
- Fix reference remover by @LTA-Thinking in #5171: Bug fix for bulk delete remove references feature - Previously, when performing a bulk delete with "remove references," if a resource has a reference removed and another reference remains—whose ID contains the ID of the removed reference but does not exactly match it—that second reference will also be removed unintentionally. This issue has been fixed by changing from contains check to exact match for ID checking, and only the correct reference will be removed now.
- Fixing bugs in $docref. by @v-isyamauchi-gh in #5173: Fixed a bug in $docref converting Parameters to IReadOnlyList<Tuple<string, string>> when there are more than one parameters in Parameters with the same name.
- Enabling $docref and $expand by default. by @v-isyamauchi-gh in #5179
Other Changes
- Fixing ValidateTests to check expected profiles only. by @v-isyamauchi-gh in #5174
- Fixing the max count test validation in BasicSearchTests. by @v-isyamauchi-gh in #5178
Full Changelog: release/4.0.533...release/4.0.540