Skip to content

Releases: openEHR/archie

Archie v3.3.0

02 May 09:29
46b1078
Compare
Choose a tag to compare

What's Changed

  • Revert rules differentiator changes by @MattijsK in #494
    • Adding equals() and hashCode() to RuleElement class tree (#483) led to unforeseen bugs in the FixableAssertionsChecker. This release reverts this and another change that depended on it (#486). A longer term solution will follow at a later moment.

Full Changelog: v3.2.0...v3.3.0

Archie v3.2.0

24 Apr 09:20
24d23a7
Compare
Choose a tag to compare

What's Changed

  • CAttributeFlattener restore old behaviour behind config by @MattijsK in #489
    • Warning: v3.1.0 unintentionally introduced new (correct) behaviour in flattening specialized archetypes. Before v3.1.0 it was possible to exclude an object (e.g. CLUSTER[id5]occurrences matches {0}) before specializing it (e.g. CLUSTER[id5.1] matches...). Cluster 5.1 would still appear in the flattened archetype. The specification clearly says that an exclusion should always appear at the end. The in v3.1.0 introduced behaviour applies this and removes specialized objects after excluding the parent nodes when flattening.
    • v3.2.0 reverts this correct behaviour to the pre-v3.1.0 behaviour. It introduces a config variable for this: FlattenerConfiguration.allowSpecializationAfterExclusion. WIthin this major version of Archie, the default will be set to true as setting this to false is in theory backwards incompatible.
    • The ArchetypeValidator now adds a warning to the validation result in all cases where this configuration parameter would make a difference: when validating a specialized archetype with a node with occurrences matches {0}, with the node id equal to that in the parent, followed by a specialization of that node in the specialized archetype.

Example of such a case:

CLUSTER[id5] matches {
    items matches {
        ELEMENT[id8] occurrences matches {0}
        ELEMENT[id8.1] matches {
            ....
        }
    }
}

The fix is changing the order of the id8 and id8.1 statements, as specified as being the only correct order to do so in the ADL 2 specification in https://specifications.openehr.org/releases/AM/latest/ADL2.html#_exhaustive_and_non_exhaustive_redefinition . The warning has been added because according to that same specification, it is incorrect to do this in another order.

The problem was introduced with a fix in the flattener with problems with sibling order (#477) . Disabling or enabling this configuration parameter does not impact this fix - in both cases the issues fixed there will no longer be present in version 3.2.0

Full Changelog: v3.1.0...v3.2.0

Archie v3.1.0

13 Apr 11:51
1737c4d
Compare
Choose a tag to compare
Archie v3.1.0 Pre-release
Pre-release

Release notes Archie 3.1.0

Disclaimer

This is set to be a pre-release and NOT production-ready due to unintended backwards incompatible behaviour. Use v3.2.0 instead and see those release notes for more information.

Features

Bugfixes

  • Sibling order bug fixes, more edge case fixes and tests by @MattijsK in #477
  • BUGFIX nullpointer parent archetype id by @EBrader in #478

Full Changelog: v3.0.0...v3.1.0

Archie v3.0.0

02 Feb 14:00
3f361cb
Compare
Choose a tag to compare

Release notes Archie 3.0.0

Archie 3.0.0 contains fixes and some breaking changes:

Breaking changes

  • Add validation for OpenEHR term bindings by @mathijshudepohl in #467
    • The configuration of isFailOnUnknownTerminologyId no longer applies to openEHR term bindings.
  • Fix serialization of closed archetype slot with occurrences still present by @pieterbos in #464
    • This is technically a breaking change, but none of the ADL code generated by Archie that used this 'feature' serialised correctly. So this is only breaking if someone hand-edited a closed slot with occurrences.
  • Update BMMs to latest version + json schema improvements by @pieterbos in #459
  • Upgrade antlr to 4.11.1, keeping JDK8 support by @pieterbos in #469
    • Could give problems if the project contains other packages that use antlr.

Fixes and features

Full Changelog: v2.1.0...v3.0.0

Archie 2.1.0

23 Nov 13:42
5a230ac
Compare
Choose a tag to compare
  • Fix serialization of partial DV_DATE_TIMEs without time components (#446)
  • Remove unnecessary terminology in ADL1.4 conversion (#421)
  • Add constructor with value parameter to DvBoolean (#452)
  • Add Kryo URI serializer (#443)
    • If you use the com.nedap.archie.util.KryoUtil yourself for (de)serialization, this is a breaking change. Archie itself uses Kryo only for cloning objects.
  • Add matchSpecialisedNodes option to RMPathQuery (#448)

Dependency updates

  • Update Jackson from 2.13.2 to 2.13.4 (#428)
  • Update Jackson Databind to version 2.13.4.2 (#449)
  • Update threeten-extra from 1.7.0 to 1.7.1 (#420)
  • Update commons-text from 1.9 to 1.10.0 (#440)

Archie 2.0.5

12 Sep 08:30
868963d
Compare
Choose a tag to compare
  • Change cardinality validation MessageType (#426)

Archie 2.0.4

25 Aug 08:20
2a33e0e
Compare
Choose a tag to compare
  • Add equal/hash in RMObjectValidationMessage (#413)
  • Improve validator to include more complex specializations (#418)
  • Fix indices of paths returned for RM path queries with indices (#422)

Archie 2.0.3

26 Jul 08:35
Compare
Choose a tag to compare
  • Fixed an Exception during rule evaluation when an implies is used inside a for_all: disable lazy evaluation implies (#416)

Archie 1.0.7

26 Jul 08:13
Compare
Choose a tag to compare
  • Fixed an Exception during rule evaluation when an implies is used inside a for_all: backport Disable lazy evaluation implies (#417)

Archie 2.0.2

15 Jul 06:15
Compare
Choose a tag to compare
  • Use continues indices for Nedap flat format (#405)
  • Bump guava from 31.0.1-jre to 31.1-jre (#394)
  • Fix flattener template with overlay as use archetype bug (#400)
  • Add missing operand setters, fixing json deserialization (#414)
  • Make ArchieTypeResolverBuilder a public class (#415)