## Validator Changes
* No Changes
## Other code changes
* Naming System fix for THO
* Fix issue with rendering OperationOutcomes that don't have 'detail'
* Fix problem with value set anchor generation when rendering
***NO_CI***
## Validator Changes
* work around THO 6.0.0 problem (hack, to be reversed later)
* Improve MeasureReport validation for checking subject count
* Fix for R2B Resource.id cardinality problem
* Fix for validator using wrong property for list determination when parsing json
## Other code changes
* no changes
***NO_CI***
## Validator Changes
* Add clearer message for errors around unable to validate because unknown code system
* Fix problem with fhirVersion cardinality validating IG resources
## WHO I18n Project
* Remove Questionnaire.item.linkId from translatable content
## Other code changes
* Further revisions to rendering framework for id uniqueness, main spec rendering, and various reported issues
* Improve doco for R4/R4B renderers
* Introduce backwards compatible constructor in ValidationEngineBuilder and fix useEcosystem
* Use v2 of PublishCodeCoverageResults (#1665)
* #1583 do not serialize choice group + add testcase
***NO_CI***
## Validator Changes
* Add support for ND-JSON. Note that the validator is not expected to perform well on large ND-JSON files (or any other file type)
* Significant change: the validator was not checking for the end of the input when parsing a JSON resource finished. It will now start giving errors when JSON continues once the object is complete
* Add support for the create object syntax in FML when validating FML
* Improved error message when supplement url used instead of code system URL
## WHO Translation Project
* Add complete dutch translations (Thanks Alexander Henket)
## Other code changes
* Fix various rendering problems leading to non-unique html anchors
* Fix for unrendered data types
***NO_CI***
## Validator Changes
* Change how count is calculated when expanding value sets
* Fix value set expansion bugs
* Fix for fhirpath issue on command line (#1650)
* Add IG dependency validator
* work around bad r4 extension definitions
* don't reload different sub-version of extensions pack
## Other code changes
* Rework rendering library from ground up
* Merge Fix: Fix split logic of canonical into url and version in several places (#1663)
* Suppress spurious message when code system is unknown
* don't raise needless and wrong exceptions about extension definitions when rendering
* fix duplicate link creation
* Stop recursive rendering crash
* Obligation rendering improvements
* Handle extra profiles on resources in an IG when converting between versions
* Fixed issue with actor title not rendering in obligations
* Test and adaption for dateOp #1655
* Use assertj instead of hamcrest (#1662)
* More transifex work
* Add support for local packages during testing
***NO_CI***
## Validator Changes
* Find value sets on tx server if not tx.fhir.org
* Do not send Content-Type header with GET requests for tx servers
* Fix npe validating code system
* Support discriminator by position
* Don't check type characteristics for unknown types
## WHO I18n Project
* Fix typos in phrases, and fix up handling of apostrophes in messages without parameters
* Test and fix for single quote escapes in I18n
* Create and test transifex configuration
## Rendering Changes
* Fix contact rendering to work properly
* Fix issue resolving contained resource rendering DiagnosticReports etc
* Handle case where Contact.value has extensions instead of a string value
* Render Parameterised types
* Fix bug with LOINC Code row showing wrongly in Profile Details view
* Partial implementation of type parameters
* Fixed rendering of actor-specific obligations, added elementIds to obligation narrative rendering
* Corrected ObligationsRenderer to handle multiple actors and multiple codes. Also got obligations with elements to render properly (which means knowing whether you're on a table page or definitions page, what tab you're on, and whether the element for the obligation is in-scope for that tab (so you know whether to hyperlink or not). Had to make links on the tables point to definitions because table anchors are not unique.
## Other code changes
* split out Base.canHavePrimitiveValue() from Base.hasPrimitiveValue()
* Refactor how observation profiles are registered in order to generalise management of extra profiles
* Use validation policy to implement Observation profile rules
* Rework validation policy management in standalone validator
* Try deploying javadoc with SNAPSHOT
* Add utility to unpack the spec.internals file
* v2 in FHIR tests
* Fix bug loading language pack NPMs
***NO_CI***
## Validator Changes
* Find value sets on tx server if not tx.fhir.org
* Do not send Content-Type header with GET requests for tx servers
* Fix npe validating code system
* Support discriminator by position
* Don't check type characteristics for unknown types
## WHO I18n Project
* Fix typos in phrases, and fix up handling of apostrophes in messages without parameters
* Test and fix for single quote escapes in I18n
* Create and test transifex configuration
## Rendering Changes
* Fix contact rendering to work properly
* Fix issue resolving contained resource rendering DiagnosticReports etc
* Handle case where Contact.value has extensions instead of a string value
* Render Parameterised types
* Fix bug with LOINC Code row showing wrongly in Profile Details view
* Partial implementation of type parameters
* Fixed rendering of actor-specific obligations, added elementIds to obligation narrative rendering
* Corrected ObligationsRenderer to handle multiple actors and multiple codes. Also got obligations with elements to render properly (which means knowing whether you're on a table page or definitions page, what tab you're on, and whether the element for the obligation is in-scope for that tab (so you know whether to hyperlink or not). Had to make links on the tables point to definitions because table anchors are not unique.
## Other code changes
* split out Base.canHavePrimitiveValue() from Base.hasPrimitiveValue()
* Refactor how observation profiles are registered in order to generalise management of extra profiles
* Use validation policy to implement Observation profile rules
* Rework validation policy management in standalone validator
* Try deploying javadoc with SNAPSHOT
* Add utility to unpack the spec.internals file
* v2 in FHIR tests
* Fix bug loading language pack NPMs
***NO_CI***
## Validator Changes
* Fix issue validating codes with + in them
* Fix (well, hack) R4 vital signs issue with component units
## WHO I18n Project
* QA on i18n constants - remove spurious entries, add anything missing
* Remove test case for i18n coverage
* Generate properties translation files without blank entries
* Add transifex configuration
* Fix up .po file generation so that POEdit is supported, and remove duplicate constants (#1592)
* Most strings translated to Dutch, unchecked.
* Add utility to infer locale from region code
## Other code changes
* Remove Accept-Charset header
* Fix typos around CODESYSTEM_CONTENT_COMPLETE
***NO_CI***
## Validator Changes
* remove "LOINC 2711-0 Oxygen saturation in Venous blood" from the list in the validator that checks whether an observation is a vital sign
## WHO I18n Project
* fix value set summary line display
* update the source of truth translation files
## Other code changes
* Handle more than one expectation extensions in CapabilityStatement
* Fix NPEs in Liquid renderer
***NO_CI***
## Validator Changes
* Fix bug processing extension with explicit type slicing
* Fix wrong language code from java locale
* Don't accidently hit other terminology servers for code systems handled natively by tx.fhir.org
* Validate Additional Bindings (provisional - usage context is todo)
* Improved system specific checking of value set filters - particularly LOINC and SNOMED CT, and update LOINC validation to the latest understanding of LOINC filters
## WHO I18n Project
* Add importing translations to native resources
* Finish Migrating text phrases to i18n framework
* Fix bugs with loading translations (#1592)
## Security
* Move all network access to go through ManagedWebAccess
* More security documentation
## Other code changes
* Put jurisdiction in npm package.json
* Add testing ontoserver to test suite
* Fix NPE testing Ontoserver
* fix tx tester calling run ok when a filter is applied and tests fail
* Fix name of preferred when rendering AdditionalBindings
* Add AdditionalBinding version conversion in profiles
* Fix SNOWMED spelling
* Fix rendering of multiple imports in value sets
***NO_CI***
## Validator Changes
* Fix bug where some #refs are not resolved to the root of the resource in FHIRPath slicing evaluation
* Fix bug passing wrong type to tx server when using inferSystem
* Fix bug processing version of CodeSystem.supplements incorrectly
* Don't process wrong parent when processing snapshot of element with profiled type that is not reprofiled
* Fix typo in OID message
* Fix handling value set exclude filters
* Allow code system declared properties to be self-referential
## I18n changes
* More comprehensive internationalization phrase coverage reporting on project page
* Move many rendering phrases into i18n framework
## Rendering Changes
* Fix issue with unknown element rendering fixed value for Attachment
* Fix bug calculating value set expansion size for multiple imports
* Fix bug using wrong message for value sets that are too costly to expand
* Fix extension urls not being linked in tree view
* rendering improvements and remove static use of describeSystem
* Fix NPE rendering profile comparisons
* Fix bug where slicing and grouping gets mixed up rendering profile tree
## Other code changes
* Wrap general exception for IWorkerContext (Catch missed exception from HAPI)
* Shim interfaces and classes to support clinical reasoning project updates.
* Fix duplicate txServer getters and setters
* Use extension class on Exception to force try-catch blocks on checkCodeOnServer calls (#1609)
* rework OID handling for better consistency
* handle time outs doing vsac import (starlink obstructions)
***NO_CI***
## Validator Changes
* fix NPE loading resources
* Don't enforce ids on elements when processing CDA
* Send supplements to tx server
* fix bug processing code bindings when value sets are complex (multiple filters)
* fix spelling of heirarchy
* Look up CodeSystem from terminology server
* Don't use tx-registry when manual terminology server is set
## Other code changes
* More work on WHO language support ($1592)
* allow validation message to have count
* render versions in profile links when necessary
* rework OID handling for better OID -> CodeSystem resolution
* fix up vsac importer for changes to client
* don't send xhtml for tx operations
* FHIRPath: Backport the defineVariable code to the R4 and R4B fhirpath implementations
* FHIRPath: Remove the alias/aliasAs custom functions (use standard defineVariable now)
* Bump lombok (#1603)
***NO_CI***
## Validator Changes
* Fix up path management in the validator for resolving references in Bundles
* Add support for defineVariable in FHIRPath
* Fix problem with CDA element having multiple types
* Fix problem with 'is' not working in FHIRPath for CDA types
* Fix issue processing CDA generic type names
* Fix for NPE processing tx server response
* Add support for code system supplements when communicating with tx server
## Other code changes
* OSGI: make sure JUnit 4 and 5 dependencies are optional (#1596) (Also removed duplicate managed versions of JUnit 4.13.2 and mockwebserver 4.11.0)
* Render CapabilityStatement.imports (and instantiates)
* Terminology Service Tests - minor improvements for running in HAPI, add $lookup & $translate support, create R4 clone
* Add support for $translate to terminology client
* More i18n work in rendering context (WHO project)
* Add isServerSide for seeing if code systems are only supported on the server
* Fix R4B loading issue that lead to wrong web paths for R4B resources
* Fix problems rendering Binary files in IGs
* Add support for rendering logical URIs
* Remove path.toFile()
## Security
* Finish moving all local file access to go through ManagedFileAccess
## WHO Internationalization work
* More work on date rendering
***NO_CI***
## Validator Changes
* Validate fixed/pattern values are not changed in derived profiles
* Fix NPE validating some profiles
* FHIRPath validation: consider sub-extensions when checking extension($) use
* Fix validation of concept maps containing SCT
* Preserve message id from terminology service so editors can use it to remove hints and warnings
## Other code changes
* Fix ConceptMap.group.target conversion from R3 to R5
* Fix NPE in list renderer
* fix bug showing 'required' instead of 'current' rendering additional bindings
* Fix bad references generating narratives in bundles
* Fix bug showing extension binding twice
* Various improvements to structure map validation to support cross-version mappings
* Add rendering for UsageContext and ContactDetail
* Fix broken link in xver IG for R2
* Fix bug rendering resources in Parameters resource
* Not-pretty xhtml gets line breaks before block tags to keep line length down (work around a jekyll issue)
* Improved ConceptMap rendering for cross-version IG
* Handle xhtml:div type for old FHIR version
* FML: strip '-' from rules names when parsing
* Update FML parsers to accept R5 metadata in R4 FML format
* Break out helper classes for Terminology Service Tester
## Security
* Add start of security notes
* Start moving file access to all go through ManagedFileAccess
## WHO Internationalization work:
* Add library to parse IETF Language definitions
* Move message translations to .po files as the master source & write convertor
* Much work making rendering i18n-able
* i18n for Patient renderer
* Refactor language handling in R5 renderers
***NO_CI***
## Validator Changes
* Fix grammar in validation messages
* Fix NPE in validator for SIDs
* Duplicate designations in a code system is a warning, not an error
* Fix value set validation to validate codes in example code systems
## Other code changes
* Improved multi-language support for IG development (LanguageUtils)
***NO_CI***
## Validator Changes
* CodeSystem property validation improvements
* More valueset validation improvements after real world testing
* Fix processing of NotSelectable filters using in | not-in
* Fix wrong collection type checking FHIRPath subsetOf parameter type
## Other code changes
* Fix rendering of contained resources in Kindling
* Put jurisdiction in NPM package file
* Rendering improvements for xver IG
* More xver support for concept maps
* Fix NPE in ContextUtilities (kindling)
* Add OID Assigner utility
***NO_CI***
## Validator Changes
* Add validation for CodeSystem Properties and ValueSet filters
* More validation for Code Systems: contained code systems, supplement cross checks
* Add more validation around ValueSet.compose.include.system - must be a proper URL, and not a direct reference to a supplement
* HL7: Don't require HL7 publishing status on contained resources
* Don't walk into nested bundles when validating links in bundles
* fix up implementation of notSelectable in value set filters
* Add check for multiple version matches for a versionless canonical reference
## Other code changes
* Fix narrative generator generating duplicate anchors (prefix 'hc')
* exclude .DS_Store from generated zip files
* Add cross-version support extension
* Add ConceptMap utilities in support of cross-version module
***NO_CI***
## Validator Changes
* Fix significant bug where validator gets internal child lists incorrect and doesn't do complete validation when switching between validating profiles and resources directly
* Performance improvement for validator parsing - thanks Brian Postlethwaite
* Fix Crash on slicing a sliced element #862
* Fix ig loading from direct URL (#1559)
* Fix bug copying constraints into Bundle.entry.resource profiles
* Fix bug loading R5 extensions with imported value sets
* Replace dom-3 with custom java code, and check xhtml references to contained content
* Improve concept map code validation
* Update observation validator for committee decision not to enforce Blood Pressure profile for Mean Blood Pressure
* Validate value set internal codeSystem references
* Split value set validation into 10k batches for very large extensional value sets
* Hack fix for opd-3
* Fix bug where using ontoserver when not appropriate
* Fix issues with inferSystem
* Don't require HL7 committee for contained resources in HL7 namespace
* Fix where validator was ignoring minimum cardinality for XML attributes (especially in CDA)
* Improved ConceptMap validation
* Updated IG versions used for -cda and -ccda CLI validation options.
* Change validator so that it marks value properties in primitive data types as illegal
## Other code changes
* Fix code system rendering for uri properties
* Fix broken links Bundle and Profile rendering
* Take copy of code when doing local validation
* WIP: major refactor of cross version analysis
* Add support for subsumes in tx client
* Don't generate snapshots when scanning structure definitions for resource names
* Work on ConceptMap infrastructure for cross-version analysis
* Fix bug where not rendering ConceptMap relationships
* Fix wrong URLs rendering Profiles and Questionnaires
* Fix bug using wrong version constant for R3
* Updates for R5 StructureMap syntax
* Support for case sensitive Code system tests
* Add TurtleGeneratorTests for R5
* Introduce new validator cliContext option disableDefaultResourceFetcher (#1526)
* Render contained resources when rendering Patient resources
* Fix bug in FML Parser
***NO_CI***
## Validator Changes
* Fix bug in deciding whether a ValueSet is supported by the server
* Rework server decision making when multiple code systems being used
* Fix file type inference in ValidationService for unknown file types
## Other code changes
* Kindling related fixes for terminology stability
* Fix parameter type for system-version
* Fix mini-terminology server bugs around unknown systems
* Improvements to Identifier rendering
***NO_CI***
## Validator Changes
* Handle terminology server errors better
## Other code changes
* Fix expansion related bugs and adjust tests accordingly
* Update test framework for changes to expansion functionality
* Update presentation of fixed and pattern values in profile views
* Handle toString for XhtmlNode when nodeType == null
***NO_CI***
## Validator Changes
* Fix issues with multiple terminology servers (should be live soon)
* Rework terminology system & cache to support new terminology server ecosystem
* Handle value set with exclusion filters when expanding
* Fix to consistent error messages when value sets can't be resolved
## Other code changes
* Fix bug processing empty structure maps
* Performance improvements to common IO routines, with test cases - see https://blog.qligier.ch/posts/2024-improving-perf-ig-publisher-io/ (thanks to Quentin Ligier)
***NO_CI***
## Validator Changes
* Major rework of tx and validation test cases associated with reworking terminology / validator interface and ongoing testing + reconciliation with Ontoserver
major upgrade to validation - use terminology server to perform more logic, and standardise interface based on agreements with Vocab & Ontoserver
* Improve slicing error message
* Add warning to user when referencing an extension that doesn't exist in FHIRPath
* Fix bugs in FHIRPath implementation of split() and join()
* Fix bug handling null objects in JSON (R5)
* Fix for missing search parameter definition in R4
* fix bug handling XML name extension
* Fix FHIRPath validation errors around use of %resource and %rootResource
* Correct validator enforcement of minValue for decimal and integer (#1538)
## Other code changes
* Properly populate property definitions in expansions
* Add CVX Importer
* R6 release support
* IPS tool development
* Improved errors publishing IGs
* Refactor Context to support multiple terminology services
* change type of error when value set circularity found
* Track generated side files when rendering resources
* Support for extended Unicode characters in XHTML / XML / JSON / Turtle
***NO_CI***