Releases: FirelyTeam/firely-net-sdk
6.0.0-alpha1
Introducing Firely SDK 6
SDK 6.0 is a major release putting the POCOs more and more at the center of our development efforts. We are extending the POCOs to be more flexible and the interface between POCOs and the FhirPath engine (and validation) to be more performant. This is our plan to make this a reality:
- Add "overflow" to POCOs, so they can contain data elements that are unknown or incorrect. Create the notion of a "DynamicResource" that can represent any unknown resource.
- Change our parser so they can take advantage of this overflow.
- Make sure any ITypedElement can be converted to a POCO, so you are basically getting the flexibility you have with ITypedElement, but then working with POCOs.
- Make the POCOs implement ITypedElement and ISourceNode so existing code can still use these concepts, but with POCOs as an underlying transport.
- Change the FhirPath engine and the validator to work against POCOs instead of ITypedElement.
This will almost completely remove the dependency on the ITypedElement stack from our POCOs and FP/validation, resulting in more performance and less memory use. At the same time we strive to keep the current ITypedElement-based code working for the forseeable future.
This early alpha is really an internal release, so unfortunately there is no documentation available on the new features, and it is likely the new APIs will change based on the feedback we get from testing this alpha in our Firely products. That said, we expect this 6.0 to be mostly backwards-compatible, so you CAN definitely try to update to this release and see if your software still works. We'd love to learn about any regressions you might encounter.
- For a bit more background check one of our design documents here: https://github.com/FirelyTeam/firely-net-sdk/wiki/Unifying-POCO-and-ITypedElement
- Here is a link to our 6.0 epic, containing more details about progress and planned work: #2899
Changes:
- #2991: Implement ISourceNode on Base
- #2989: Forward SDK 5 changes to SDK 6
- #2990: Align null behaviour for DateTimes
- #2987: Moved SearchParamDefinition from STU3+ to a separate class in Base.
- #2988: Introduce IEqualityComparer instead of Matches/IsExactly
- #2986: Some renames to types that were incorrect.
- #2985: Multiple small refactorings
- #2983: Draft of a new PocoElementNode instead of IScopedNode
- #2935: Unify FhirTypeConstants and FhirTypeNames
- #2981: Generalize handling of Base/Conformance properties that changed type
See More
- #2984: Bump FluentAssertions from 6.12.2 to 7.0.0
- #2980: Start development phase 5.11.2
- #2978: Turn Element.ElementId and Extension.Url into FHIR Primitives
- #2979: Bump Newtonsoft.Json and Microsoft.NET.Test.Sdk
- #2973: Remove Children, NamedChildren and IDictionary
- #2953: Replace PocoBuilder to support overflow
- #2964: Refactored FhirPath engine to work against IScopedNode
- #2950: Base POCO parsers/serializers on POCO, not IROD
- #2921: Defined IScopedNode
- #2946: Move to netstandard 2.1
- #2834: Remove dependency on old ucum library
- #2939: 2930 Clean up IsNested/BackboneType attribute information
- #2945: Merged latest 5.0 changes into 6.0
- #2909: changed type of FhirEvalContext.TerminologyService
- #2913: Make Base implement IScopedNode - phase 1
- #2910: Implement
IScopedNode
explicitly on POCO's - #2918: #2901 Add support for overflow to POCOs
- #2901: Add overflow Dictionary to POCOs
- #2920: removed IBaseElementNavigator
- #2919: Update apply-versioning-steps-template.yml
This list of changes was auto generated.
5.11.1
Breaking changes :
⚠️ We have reverted our recent changes related to theSnapshotGeneratorSettings
. We have encountered some regressions using the new regeneration behavior that was introduced and decided to revert it until we are sure these changes are correct.
Changes:
- #2968: Bugfix/2854 fix validate code
- #2972: Make RemoveAllNonInheritableExtensions public
- #2975: Revert snapshot generation settings
- #2803: fix: #2802 - let SnapshotSource reuse self-generated snapshot
- #2943: Use proper snapshot generation settings, fixed obsolete warnings
- #2971: Bump System.Text.Json and System.Buffers
- #2970: Bump System.Threading.Tasks.Dataflow from 8.0.1 to 9.0.0
- #2962: Bump FluentAssertions from 6.12.1 to 6.12.2
- #2961: Start development phase 5.11.1
This list of changes was auto generated.
5.11.0
Breaking changes ⚠️
- EvaluationContext.WithResourceOverrides() introduced in 5.10 is refactored to now be an extension method instead of a static construction method. It should now be called on an instance of EvaluationContext, and will mutate and return that instance.
- We changed the datatype of the Attachment.Url from FhirUrl to FhirUri. The type of this element was changed with the introduction of R4. (FhirUrl doesn't exist in STU3). When we moved Attachment to base, we wrongfully put FhirUrl here, which is the more specific datatype of the two. We have corrected this.
Changes:
- #2956: Bump MSTest.TestAdapter from 3.3.1 to 3.6.2
- #2959: Bump MSTest.TestFramework from 3.3.1 to 3.6.2
- #2958: Bump xunit from 2.8.0 to 2.9.2
- #2957: Bump Newtonsoft.Json and Microsoft.NET.Test.Sdk
- #2955: Bump NSubstitute from 5.1.0 to 5.3.0
- #2952: Fix wrong attachment url datatype in PocoSummaryProvider
- #2949: Update release-notes.md
- #2886: Remove all non-inheritable extensions from the base profile before snapshotting
- #2943: Use proper snapshot generation settings, fixed obsolete warnings
- #2884: Fixed element definition element.id not being merged by the snapshot generator
See More
- #2922: Remove the Charset from the Accept Header and replace it with the Accept-Charset Header.
- #2912: Update Parameters.cs for Get from remove to retrieve
- #2888: Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/Hl7.Fhir.Base in the nuget group across 1 directory
- #2877: Added unit test for generating Snapshots for multiple nested extensions
- #2799: Snapshot generator does not expand complex extensions defined in a an extension.
- #2869: Start development phase 5.10.4
This list of changes was auto generated.
5.10.3
Intro:
Hotfix: Fixed an incorrect string concatenation and subsequent argument exception when the Id of a contained resource was not set.
Changes:
This list of changes was auto generated.
5.10.2
Intro:
Hotfix: Fixed inconsistency in contained resource referenceable IDs
Changes:
- #2866: Fixed inconsistency when resolving references to contained resources
- #2861: Closes issue #2860.
- #2860: HttpContentParsers Create resource error when response location header relative
This list of changes was auto generated.
5.10.1
Intro:
This is a hotfix release that fixes the NullReferenceException when enumerating bundled/contained resources
Changes:
- #2857: Start new development phase 5.10.1
- #2859: Clarify usage of new FhirPath context inference
- #2858: Fixed NullReferenceException when enumerating bundled/contained resources
- #2853: Bump FluentAssertions from 6.12.0 to 6.12.1
This list of changes was auto generated.
5.10.0
Changes:
Bugfixes:
- #2801: Expanded codes of Value set with filter "op" : "is-not-a" includes the code that should not be included
New Functionality:
Others:
- #2803: fix: #2802 - let SnapshotSource reuse self-generated snapshot
- #2841: %resource and %rootResource in default context
- #2849: Added support for choice types with unbound choices and CodeableReference
- #2847: Fix isNotA filter code in ValueSet expander
See More
- #2842: Changed iif to work with the correct context
- #2840: Bump Newtonsoft.Json from 13.0.1 to 13.0.3
- #2829: Added CDS Hooks (de)serialization
- #2838: Added exceptions for value sets that cannot be expanded
- #2830: Add serialization engine extensions allow for arbitrary stream writers and reader
- #2837: Add instructions on how to generate a binary compatibility suppression file.
- #2836: Bump BenchmarkDotNet from 0.13.12 to 0.14.0
- #2833: Start new development phase 5.9.2
This list of changes was auto generated.
5.9.1
Intro:
Hotfix release:
- Fixed breaking change in the FhirJsonConverter constructors.
- Solved issue around the "Location" property of SourceNode
Changes:
- #2831: FS location issue fix
- #2828: Added back missing FhirJsonConverter
- #2827: start new development phase 5.9.1
This list of changes was auto generated.
5.9.0
Intro:
General improvements and bugfixes
Changes:
Bugfixes:
- #2784: Location on SourceNode differs from that on TypedElementToSourceNodeAdapter
New Functionality:
- #2264: Add terminology support for some non-supplied codesystems
- #2517: Support position information in FHIRPath expressions
Others:
- #2825: ValueSet expander: excluding a code, shouldn't remove its children
- #2822: Removed cardinality attribute from Binary.content
- #2819: Either set binary.data or binary.content when parsing binaries in the FhirClient
- #2811: Integrating generated code for Base, DataType, PrimitiveType and Extension
See More
- #2810: Code changes because of new generator
- #2814: Bump System.Threading.Tasks.Dataflow from 8.0.0 to 8.0.1
- #2813: Start development phase 5.8.3
- #2805: Fixed base url for FhirClient resources
- #2807: Removed decimal to string conversions that did not use invariant culture
- #2804: #2784 Fix source node location when round tripping via adapters
- #2793: Update metrics library to 1.3.0
- #2789: IMetricService implementation
- #2788: Fix expected result message in FhirClient
- #2787: #2264 fixing language terminology support
- #2779: fhirpath parsing now includes comments and whitespace into the Expression object model.
- #2780: Remove the use of the TestXXXX classes.
- #2774: Include the position information for the Expression nodes in the Fhipath Parser
- #2776: Bump xunit.runner.visualstudio and NETStandard.Library
- #2777: Bump xunit from 2.7.0 to 2.8.0
- #2775: Start development phase 5.8.2
New Contributors
Full Changelog: v5.8.2...v5.9.0
5.8.2
Intro:
Hotfix release:
- Updated
System.Text.Json
to 8.0.4 to solve high risk vulnerability CVE-2024-30105