Releases: b2ihealthcare/snow-owl
Releases · b2ihealthcare/snow-owl
Snow Owl v9.2.0
API
- New
ETag
,If-None-Match
andCache-Control
HTTP header support (#1270)- Content HTTP responses now have an
ETag
header value generated based the queried branch reference - Cache-Control header value is also being returned using the
api.cache_control
configuration setting- Default value is
s-maxage=0,max-age=0,must-revalidate
which ensures that caching can happen but the cached response has to be revalidated before using
- Default value is
If-None-Match
header is now also supported to allow clients to send theETag
value and receive aHTTP 304 Not Modified
when revalidating an earlier response. This allows the cached response to be used until it is not overridden by the server with a new response.
- Content HTTP responses now have an
Bugs/Improvements
- [index] support wildcard index queries (b904b47)
- [index] allow ObjectNode type in index documentation mapping classes (#1274)
- [index] ensure that fast-forward merges do no produce unnecessary zero change revisions (#1281)
- [core]
api.rate_limit.capacity
replaces the now deprecatedapi.rate_limit.overdraft
configuration setting (#1270) - [core] fixed some serialization issues affecting certain collection types in 3rd party plugins (#)
- [core] add
-Dso.component.scan
JVM argument to allow 3rd party plugins to use their own namespaces for their classpaths (#1294) - [snomed] RF2 import release archive validation improvements (70b6a06, 6c615e8, b297247)
- [snomed] fix incorrect temporary directory name when building internal representation of an RF2 release during an RF2 import (a0831c7)
- [snomed] ensure that SubAnnotationPropertyOf axioms are properly handled in the SNOMED CT tooling (#1288, #1290, #1292)
- [snomed] fixed an issue where an incorrect identifier was returned in the RF2 import resource than the one used to request it (#1296)
- [ecl] ensure that any term matches do not produce unnecessary low-level wildcard/regex query clauses (8391852)
- [ecl] wild lexical searches now use the wildcard index query for better user experience (030304a)
- [api] properly response with an HTTP 400 Bad Request response when a required query parameter is missing (#1273)
- [api] fixed an issue where
moduleId
was not propagated to nested member create requests causing an HTTP 400 Bad Request response (#1276) - [api] fixed an issue where
namespaceConceptId
was not propagated to nested description and relationship create requests causing incorrect namespace value to be used for the components (#1295) - [fhir] fixed an issue where
includeDesignations=true
did not append the member designations in certain FHIR ValueSet$expand requests (#1275, dfba2b2) - [fhir] fixed an issue where the
POST /ValueSet/$expand operation
fails with an internal server error when displayLanguage is not present (e9d1866) - [fhir] report ECL syntax details in FHIR OperationOutcome responses (3b62aaf)
- [fhir] make sure the ECL part in an implicit SNOMED CT Value Set url is always get decoded before evaluation (1667d1e)
Dependencies
- Upgrade bucket4j to 8.10.1
- Replace embedded jsr305 v3.0.2 with dedicated dependency (#1279)
Huge thanks to @abelardy for testing and providing feedback to improve ECL evaluation and FHIR ValueSet$expand operation implementations!
Snow Owl v9.1.2
Bugs/Improvements
- [index] fixed an issue where incorrect search results were returned due to incorrect search_analyzer configuration (#1268)
- [index] disable optional regular expression flags when performiny any kind of regexp query (#1266)
- [fhir] fixed an issue where using both the system and version parameters could result in a resource not found error (#1266)
- [fhir] fixed an issue where
ValueSet#expand
operation responded with a randomized compose definition on each request (#1266) - [fhir] move resource-level operations to their right place in CapabilitiesStatement (#1266)
Snow Owl v9.1.1
Bugs/Improvements
- [core] align timestamps during versioned so that resource metadata changes are visible when requesting content with the versions createdAt timestamp (versioned state requests) (#1265)
Dependencies
- Bump commons-compress to 1.26.0 (#1263, resolves CVE-2024-25710 and CVE-2024-26308)
- Bump Spring to 6.1.4 (#1264, resolves CVE-2024-22243)
- Bump Spring Security to 6.2.2 (#1264, resolves CVE-2024-22234)
Snow Owl v9.1.0
Local Code Systems
- XLS/CSV import improvements (available in paid tiers)
- Support auto-detecting and importing
locale
values for preferred terms and synonyms - Support auto-detecting and importing hierarchical relationships in the form of a
parentId
column - Support importing terminologies with multi-line concept definitions
- Support auto-detecting and importing
Bugs/Improvements
- [lcs] ignore BOM characters when importing a CSV file describing code system concepts
- [lcs] detect auto-recognized column headers case insensitively
- [loinc] remove duplicate
import
path segment from import API route - [loinc] fixed an issue that caused the LOINC import API to report a failure even if the request was valid
Dependencies
- Bump Elasticsearch 7 to 7.17.18
- Bump Elasticsearch 8 client to 8.12.2
- Bump Eclipse Platform to e4.30
- Bump Xtext to 2.33.0
- Bump EMF to 2.35.0
- Bump MWE2 to 2.16.0
- Bump ECL to 2.1.5
- Bump SLF4J to 2.0.11
- Bump Logback to 1.4.14
- Bump Jackson to 2.16.1
- Bump Jetty to 12.0.3 (with Jakarta EE10)
- Bump Spring to 6.1.3
- Bump springdoc to 2.3.0
- Bump Swagger libraries to 2.2.20
- Bump Guava to 32.1.3-jre
- Bump OWLAPI to custom 4.5.26
- Bump Protege to custom 5.0.7
- Bump snomed-owl-toolkit to a custom 5.1.1
- Bump fastutil to 8.5.12
- Bump rest-assured to 4.5.1
- Bump mockito to 5.9.0
- Bump bytebuddy to 1.14.11
- Bump uuid-creator to 5.3.7
- Bump failsafe to 3.3.2
- Bump rxjava to 2.2.21
- Bump netty to 4.1.106.Final
- Bump kotlin-osgi-bundle to 1.9.22
- Bump mapdb to 3.1.0
- Bump failsafe to 3.2.2
- Bump micrometer to 1.12.2
- Bump zjsonpatch to 0.4.16
- Bump bucket4j to 8.7.0
- Bump hibernate validator to 8.0.1.Final
- Bump java-jwt to 4.4.0
- Bump jwks-rsa to 0.22.1
- Bump testcontainers to 1.19.4
- Add required Apache Commons libraries
- Bump Tycho to 4.0.6
Snow Owl v8.13.0
Local Code Systems
- XLS/CSV import improvements (available in paid tiers)
- Support auto-detecting and importing
locale
values for preferred terms and synonyms - Support auto-detecting and importing hierarchical relationships in the form of a
parentId
column - Support importing terminologies with multi-line concept definitions
- Support auto-detecting and importing
Bugs/Improvements
- [lcs] ignore BOM characters when importing a CSV file describing code system concepts
- [lcs] detect auto-recognized column headers case insensitively
- [loinc] remove duplicate
import
path segment from import API route - [loinc] fixed an issue that caused the LOINC import API to report a failure even if the request was valid
Dependencies
- Bump Elasticsearch 7 to 7.17.18
- Bump Elasticsearch 8 client to 8.12.2
- Bump Eclipse Platform to e4.30
- Bump Xtext to 2.33.0
- Bump EMF to 2.35.0
- Bump MWE2 to 2.16.0
- Bump ECL to 2.1.5
- Bump SLF4J to 2.0.11
- Bump Logback to 1.4.14
- Bump Jackson to 2.16.1
- Bump Jetty to 12.0.3 (with Jakarta EE10)
- Bump Spring to 6.1.3
- Bump springdoc to 2.3.0
- Bump Swagger libraries to 2.2.20
- Bump Guava to 32.1.3-jre
- Bump OWLAPI to custom 4.5.26
- Bump Protege to custom 5.0.7
- Bump snomed-owl-toolkit to a custom 5.1.1
- Bump fastutil to 8.5.12
- Bump rest-assured to 4.5.1
- Bump mockito to 5.9.0
- Bump bytebuddy to 1.14.11
- Bump uuid-creator to 5.3.7
- Bump failsafe to 3.3.2
- Bump rxjava to 2.2.21
- Bump netty to 4.1.106.Final
- Bump kotlin-osgi-bundle to 1.9.22
- Bump mapdb to 3.1.0
- Bump failsafe to 3.2.2
- Bump micrometer to 1.12.2
- Bump zjsonpatch to 0.4.16
- Bump bucket4j to 8.7.0
- Bump hibernate validator to 8.0.1.Final
- Bump java-jwt to 4.4.0
- Bump jwks-rsa to 0.22.1
- Bump testcontainers to 1.19.4
- Add required Apache Commons libraries
- Bump Tycho to 4.0.6
Snow Owl v9.0.0
Breaking changes
Supported Elasticsearch versions
- Starting from Snow Owl version 9, Elasticsearch 7.x series support has been marked as deprecated. Maintenance and security fixes will continue to be added to the system, but support will be dropped in the next major release.
API changes
- Removed deprecated
POST /login
endpoint in favor ofPOST /token
endpoint (6693bf6) - Removed deprecated
timestamp
query parameter from Bundle, CodeSystem, ValueSet, ConceptMap get by id endpoints (336eba6) - Removed deprecated Suggest API parameters (d1f0e33)
- Removed deprecated
codeSystemUri
property from generic concept representations (27d45a5) - Removed
charset=UTF-8
part from JSON and XML media types (#1238) - FHIR ConceptMap R4 and R4B representations are currently not supported. It is recommended to migrate the resource to R5 locally and then send it to Snow Owl. (see #1227)
Core
- New, overhauled Terminology Upgrade and Analysis API (available in paid tiers) (#1193, #1197, #1211, #1237)
- Replaces the now deprecated and removed CodeSystem Upgrade API
- Supports upgrade of any kind of terminology resource type to a newer version dependency via content specific analysis, reporting and isolated branch management
- Terminology Resource Collections (#1196)
- New resource type and infrastructure that allows bundling and managing multiple resources together
- The first supported Terminology Resource Collection instance type is SNOMED CT Reference Set Collections (available in paid tiers)
- Add support for special resource ID suffixes and the tilde (
~
) path expression (#1228)~
character is an URL safe character that from now on can be used to denote direct subpaths of a resource (eg. version) or can be used by third party libraries to denote an altered/derived version of a resource that is stored and managed by another index
- New, index schema migration infrastructure has been added to automatically migrate existing datasets when a mapping change occurs in the system (#1249, #1250, #1251)
FHIR
- Support FHIR R5 specification (#1227)
- Add missing properties to CapabilityStatement (#1219, #1247)
- Add
status
filter support to FHIR resource search (#1217) - Add
after
andnext
properties to ValueSet expansions (#1216)
Bugs/Improvements
- [index] support dynamic field expressions (e91acb4)
- [index] support branch name and path aliases (#1209)
- [index] revise merged revisions to avoid content duplication and/or disappearance (#1170)
- [core] support ResourceURI values when locking content branches (#1198)
- [core] improved lock context propagation (#1212)
- [core] move
draft
resources toactive
status after successful versioning (7857d9f) - [core] fluent job wait-retry API to simplify client usage (#1233)
- [core] prevent unnecessary post-processing after versioning a resource (#1225)
- [core] make validation jobs cancellable (#1246)
- [api] support
timestamp
filtering when expandingcommits()
on resource responses (#1201) - [api] support nested expansion of transitive resource
dependencies
(1560ced, 2f84339) - [api] support expanding
resources
forcommit
objects (e74a176, 0920bec) - [api] support
relativeBranch
parameter for resource contentcommits
expansion (37239d9) - [api] add
versionResourceURI
property to Version representation (ace55e5) - [api] fix a potential NPE when trying to partially load a
version
object (5d27504) - [api] support branch
metadata
filtering using dynamic filters (0263b1f) - [snomed] keep pre-configured SNOMED CT code system
locales
after a successful RF2 import (#1215) - [snomed] minor functional and performance improvements to ECL query optimizations (#1229)
- [snomed] report added vs. added conflicts only if there are changes in non-
effectiveTime
RF2 fields (6141e3e) - [snomed] improve performance of SNOMED CT descendant expansion (#1186)
- [snomed] make sure concept inactivation always sets the definition status to primitive regardless of input parameters (#1241)
- [snomed] phase out MOVED_FROM association reference set support (#1243)
- [packaging] properly distinguish update sites and packages (#1245)
Dependencies
Snow Owl v8.12.1
Snow Owl v8.12.0
Core
- Introduce new terminology resource dependency model (#1188)
- Dependency fields
extensionOf
andupgradeOf
became deprecated, they still function, but will be removed in the next major version - New
dependencies
array is available for all terminology resource types. Each dependency entry encapsulates a resourceuri
field (with optionalquery
part) and an optionalscope
field to allow a more dynamic dependency graph to be built between resources
- Dependency fields
SNOMED CT
- Expression Constraint Language query optimization improvements are now GA (#1185)
Bugs/Improvements
- [snomed] fixed an issue where RF2 export would use the latest available SNOMED version only even if the client has specified an explicit version to export (1140b4a)
- [validation] fixed an issue with rule664 where unpublished terms were not reported in some cases (#1190)
- [deps] removed unused H2 database jars to eliminate security vulnerability warnings (#1191)
Snow Owl v8.11.1
Snow Owl v8.11.0
Core
- Support ECL expressions inside expand parameters (#1183)
FHIR
- Add new
X-Owner
andX-OwnerProfileAttribute
headers to specify ownership properly and allow a different user to commit the change via theX-Author
header (#1181)
Bugs/Improvements
- [mrcm] include unapproved attributes when validating concepts via MRCM (#1179)
- [snomed] fix invalid Elasticsearch query when exporting query type reference sets (#1184)
- [api] list SNOMED CT CodeSystems first when listing resources (e0ff6b0)
- [api] prevent returning empty path segments in resource API when field is not selected (5d2502d)
- [api] apply boost when filtering resources by title (5880ea5)
- [api] fix incorrect
fields
parameter when expanding partial version objects (fb6f2c0) - [api] ensure we fall back to the server default
en
locale in FHIR API calls (54827a1) - [api] fix serialization issue when selecting fields for version objects (0728b78)
- [fhir] ensure create and update operations are not allowed for ready-only API keys (#1174)
- [authz] ensure nested requests are being checked when committing a bulk request (#1182)
- [performance] load only the mandatory resource fields when translating concepts between codesystems (a3abfd4)
- [docs] upgrade API docs site to new rapidoc version (#1171)