## Validator Changes
Post DevDays Release - many significant changes!
* Add ```-watch-mode``` parameter (See [doco](https://confluence.hl7.org/display/FHIR/Using+the+FHIR+Validator#UsingtheFHIRValidator-Watchmode))
* Start checking constraint expressions defined in profiles and logical models, and update FHIRPath for logical models
* Start checking ElementDefinition.mustHaveValue and ElementDefinition.valueAlternatives
* Start validating derived questionnaires
* Tighten up checking on FHIRPath - enforce use of ```'```, and don't accept ```"``` for string delimiters
* Add ```-allow-double-quotes-in-fhirpath``` parameter ([doco](https://confluence.hl7.org/display/FHIR/Using+the+FHIR+Validator#UsingtheFHIRValidator-LegacyFHIRPathSetting))
* Fix error when validating profiles that mix canonical() and Reference() types
* Fix extension context checking
* Fix erroneous FHIRPath expression eld-11 when loading
* Fix incomplete support for ```-display-issues-are-warnings``` parameter
* Fix broken NullFlavor binding in R4
* Fix various NPE errors doing value set validation (+ logging tx operations)
* Minor performance improvements to start up time
* Auto-update implied slicing elements when min < slice min
## Other code changes
* Add CodeQL to the build process
* Various NPE fixes
* Add getValueAsString(TemporalPrecisionEnum) method to date/time types
* Fix rendering for unresolvable ValueSets
* Remove r4b eclipse project files
* Upgrade multiple dependency libraries (per CodeQL)
* Only record sorting errors when generating snapshots when debug mode is on
* Tighten up SSL certificate checking
* Partial refactor of CLI parameter handling
* Fix path regex (per CodeQL)
* Remove erroneous logging from conversion tests
* Rendering improvements for various profile related extensions
* More work on TxTests operation (lenient wrt extensions)
* Fix handling of summary extension (delete duplicate tools summary extension, and don't inherit it)
* Reprocess URLs in Markdown extensions on both StructureDefinition and ElementDefinition
* Improve URL detection in markdown when reprocessing URLs
***NO_CI***
## Validator Changes
* no changes
## Other code changes
* Fix bugs in language handling
* Implement Trivy vulnerability scanning and update POI and okhttp libraries
***NO_CI***
## Validator Changes
* Add support for "Obligation Profiles" (see https://chat.fhir.org/#narrow/stream/179177-conformance/topic/Proposed.20new.20Profile.20features)
* Adjust slice min/max checking to ignore type slices (rules are different in this case)
* Properly handle validating mime/type when terminology server is not available
## Other code changes
* Rework Pipelines - more stability and quicker
* Fix bug where elementmodel.Element.copy() didn't clone children. Users of the Element Model (not the normal model) should check all uses of copy. (Only known users are Validator + IG publisher)
* Add nimbus & ZXing to core library dependencies for forthcoming improved SHC/SHL support
***NO_CI***
## Validator Changes
* Snapshot Generation Changes:
** Check for slicenames without any slicing
** Check that slice names are unique
** Check for additional slicing rules in a set of slices
** Check that the minimum cardinality of a set of slices is correct
* Clean up duplicate errors when dates/dateTimes/instants have invalid formats
* Handle unknown code systems consistently when validating coded elements
* Handle sub-slicing case where slice matches both the slice definition and the sub-slice definition
## Other code changes
* Add support for R4B to loader
* Change type if cache-id parameter
* Change snapshot generation to not update documentation from profile for elements with profiled types that are not extensions
* Add support for TestPlan and SubscriptionTopic in R4 IGs
***NO_CI***
## Validator Changes
* Update terminology for changes to tx validation policy: Wrong displays change from a warning to an error
* Add parameter ```-display-issues-are-warnings``` for restoring original behaviour that display issues are warnings
* Relax constraints on Reference targets for logical models
* Update dutch and german validation error messages + minor improvements to error messages
* Fix r5 url for package fetch (#1260) …
## Other code changes
* Fix up all terminology cache tests
* Switch to System.err for now + report missing constants
* Add I18n tests for coverage and plural validity + fix missing messages
* Partial fix for R4/R5 conversion issues
***NO_CI***
## Validator Changes
* Fix NPE validating StructureMap
* Improve error message about uri values
* Fix for wrong display when server returns error
* Slight improvement in performance
* Fix FHIRPath split function (parameter is not regex)
* Stop warning that Markdown autolinks need to be escaped
* Allow NPM package versions to have the form {id}#{url} for direct access to packages
## Other code changes
* Support for NamingSystem conversion of url, version, and title (for THO)
* Update Conversion package docs (#1257) …
* Return codeableConcept from validate-code
* Refactor: Resource Root Elements Conversion
* Minor fixes for R5 redirector
* Fix bug handling filter, and refactor terminology code
* Fix for dstu2016may Resource equals methods (#1251) + Tests a
***NO_CI***
## Validator Changes
* Fix bug accessing canonical resources on servers
## Other code changes
* Various changes to support terminology service testing
***NO_CI***
## Validator Changes
* Structure map validation improvements
## Other code changes
* Fix wrong name for systemVersion Parameter
* Language improvements for Lang Packs
* Fix up StructureMap R4/R5 conversion
***NO_CI***
## Validator Changes
* Improved Error messages when code is not in value set + various typo fixes
* Updated Dutch translations for error messages
* More informative failures when questionnaire value set validation fails
* Warnings when extension context is 'Element'
* Fix missing source id for tx server messages in validation output
## Other code changes
* Move HTTP logging to a sub-directory of temp
* Default to text log not HTML log for terminology logging, and don't spuriously escape the text log
* Use JSON not XML by default when using R4 terminology service
* Add support for R6 final version
* Bump HAPI to 6.4.1
***NO_CI***
## Validator Changes
Note: This validator release is accompanied by a new release of tx.fhir.org, and earlier versions
of the validator will not perform validation correctly for some valuesets and languages. This is
in effect a mandatory upgrade
* Major **Breaking** change: test multi-lanugage support on the terminology service API, and make many fixes.
** This release also includes full support for supplements providing designations and properties
* Add support for -install operation to install packages and generate snapshots while at it (support simplifier packages in sushi)
* Add support for ```lang-transform extract``` and ```-lang-transform inject``` to the validator (start of multi-lingual implementation support)
* Add support for -tx-tests to validator
* Change settings file to fhir-settings.json in .fhir, instead of fhir-tools-setting.ini (see [here](https://confluence.hl7.org/display/FHIR/Using+fhir-settings.json) for documentation)
* Add provisional support for running without a network: -no-network. Beware: this is not fully tested at this point
* Warning not error when the code system isn't known validating questionnaires
* Fix up loading of IG bundles
* Work around issue with R5 path in extensions pack
* Fix issue with SearchParameter validation throwing an exception if no expressions are valid
## Other code changes
* Code to support translation functionality
* Partial fix for problem parsing maps from previous versions
* Fix Code System rendering for supplements, and when there's 1..2 display translations
* Remove spurious header from ConceptMap rendering
* Return ID part correctly when FhirPath expression result is converted to string
* fix problem with leaf rendering in profile driven renderer
* Fix R4B tests to be based on R4B
* fix index error validating HierarchicalTable
* fix NPE in requirements renderer
* Fix NPE in code generator
* Rework package cache manager - add testing mode
* Add link to questionnaire rendering questionnaireResponse + Fix access violation rendering questionnaire
* Fix bugs generating narratives
* Defining the existence of R6
* i18n framework for HTML generation in renderers - step #1
* Re-org validation testing to be more memory efficient
* Better error handling loading resources
* Restore broken R4 loading
* Add new R5 fields to R4/R5 conversion for ValueSet
* minor changes two HumanName.getNameAsSingleString (missed family name)
***NO_CI***
* Bump JUnit Version and manage dependencies via bom
* Bump JUnit Version and manage dependencies via bom
* Remove explicit version references in child projects
* Vintage engine isn't managed. Manage it explicitly
## Validator Changes
* no changes
## Other code changes
* Fix R5 path for spec in generated narratives
* Hack to fix wrong R5 paths in generated narratives in extensions pack
* Suppress Prism rendering if ttl source is too big
* Fix up URLs in untouched elements when processing snapshots
* Fix up URLs in binding.description when generating snapshots
***NO_CI***
## Validator Changes
* Make checking displays in concept map not case sensitive and just a warning
## Other code changes
* Fix loading version of extensions package in test cases
* Don't suppress error when FML doesn't parse in FMLParser
* Add PathBuilder (documentation + clean up code)
***NO_CI***
Final Code changes for R5 release
## Validator Changes
* Fix NPE validating maps
## Other code changes
* Refactor Loader for easier loading of earlier versions
* Fix various NPEs from version conversion testing
* First draft of Code generation for Extensions
* Improve summary message for map conversion outcome
* Move web path out of userData into resource field
* Fix FTP problem on windows (remote seperator)
* Update tests to use R5 package from test case repo everywhere
* Finish removing population type
* Rebuild .index.json if it's empty when installing a package
***NO_CI***
## Validator Changes
* Fix up stated path in CodeSystemValidator
* Validate example URLs in value sets correctly
* Fix problem with composition library reference in R4
## Other code changes
* More work to sort out mappings
* Fix broken links in FMM & standards status levels
* Fix type of IG-parameter extension
* FTP: Stop re-initializing file type and mode with each upload (#1178) …
* Fix snaphot generation warning when when profile-element is used
* fix path failure in tests
* Inline help16.png when generating narrative
* Suppress img.src=data content when rendering narrative
* Suppress value set expansion for core value sets that tx.fhir.org is getting wrong
* Fix NPE in profile comparison
***NO_CI***
## Validator Changes
* Fix problems validating variables
* No longer ignore hl7.org/fhir/tools when validating
## Other code changes
* Fixed bug with incorrect parameter type when POSTing a $validate-code request to a remote terminology server
* Fix OS issue with zipslip protection
* Fix for where profile_element extension was being ignored when checking types after snapshot generation
* Fix generated name for FML rules to be a valid name
* Allow loaders to decide which resources to load into the context
***NO_CI***
## Validator Changes
* Don't validate codes in value sets if terminology vlidation is turned… …
* Fix nPE validating bundles
## Other code changes
* Add file: to URL scheme list when checking for absolute URLs
* Adjust mappings handling code generating snapshots
* More improvements to r4/r5 transform testing
* Better error messages setting properties when transforming
* Better error messages converting types
* FHIRPath tests on element model
* Refactor FTPClient to perform fewer directory creates (#1159) …
* Document how to build validator_cli locally (#1171)
***NO_CI***
## Validator Changes
* Add format codes ```md``` and ```url``` to FHIRPath escape() and unescape()
* Add second parameter ```s_last``` to FHIRPath join() to use a different separator for the last time (e.g. ```.join(', ', 'and')```)
## Other code changes
* Parse status when parsing FML metadata
* Fix NPE in FHIRPath resolve() for contained resources ([discussion](https://chat.fhir.org/#narrow/stream/179167-hapi/topic/fix.20to.20FHIRPathEngine))
***NO_CI***
## Validator Changes
* no changes
## Other code changes
* Tdy up extensions for R5 release
* Hack R5 observation for fix after QA
* Improve StructureMap rendering again
* Clarify Error messages converting between versions
***NO_CI***
## Validator Changes
* Add support for new ColorRGB code system (special case)
## Other code changes
* Add support for special case code systems internally
***NO_CI***
## Validator Changes
* More validation of StructureMaps
## Other code changes
* Add new R5 version to R4 version enumeration
* Fix for NPE generating profile comparison
* Add FML renderer for StructureMaps + various parsing fixes
***NO_CI***
## Validator Changes
* Fix up issues validating whitespace
* Multiple fixes to StructureMap and ConceptMap validation
## Other code changes
* rename ig-r4.json to ig-r4.jsonx in IGs
* move R5 package to test cases
***NO_CI***
## Validator Changes
* Add ConceptMap validation
* Add StructureMap validation
* Validate using type regex (had been omitted to now, mostly affects decimal validation)
* Add new -output-style values compact and compact-split
* Fix bug validating CDA choice elements without [x] in their names
## Other code changes
* Various fixes and utilities to support StructureMap & ConceptMap validation
* Fix Observation.value conversion between R5 and other versions
* Recognise R4B and R5 core packages
* Improvements to specification diffference engine for R5 publication
* More efficient XHTML AST model
***NO_CI***
## Major change:
* New R5 release - rebuild R5 implementation, update a lot of related code
## Validator Changes
* Load separate R5 extensions package
* Load FML directly, and validate mapping as much as possible
## Other code changes
* Fix bugs in Java R5 code generator
* Add more control at the code level over how to handle unknown profiles when generating snapshots
* Rework ConceptMap for major R5 changes
* Fix bug in CommaGeneratedStringBuilder (calling toString() multiple times duplicated content)
* handle case [reference].where(resolve() is X) when analysing types+elements in FHIRPath statements
***NO_CI***
## Validator Changes
* Fix validation for query references with empty parameter values
* Fix validation for conditional references
## Other code changes
* Fix resource rendering for conditional references
* Fix bug caused by changing DiagnosticReport.conclusion to markdown
* Track target types on references in FHIRPath
* Minor type checking fixes for FHIRPath
* Fix bugs in FHIRPath type checking discovered during R5 preparation
* Add standardsStatus support to core model
* Update okhttp library
* Allow HTTPS for terminology server URL
* Update table generator to suppress external links in base row and column
***NO_CI***
## Validator Changes
* Fix bug checking canonical URLs in bundles with dashes in them
* Fix extension messages (modifier and normal messages reversed)
* Change how error location paths are reported in bundles for easier resolution (no counting!)
* fix bugs checking whether binding is allowed in corner cases
## Other code changes
* Rendering Improvements: Additional Bindings, Search Parameters, Operation Definitions
* FHIRPath implementations for comparable(), highBoundary(), lowBoundary()
* Fix list of canonical resources from VersionUtilities
* Fix bug parsing html entities in XHTML parser
* Rename extension to http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile
***NO_CI***
* fix type of issue source extension
* update extension extractor
* FHIRPath changes for as - case and singleton issues
* minor fixes for extension rendering
* Update test cases version
---------
Co-authored-by: Grahame Grieve <grahameg@gmail.ccom>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## Validator Changes
* Fix for NPE rendering resources
* Consider CanonicalResource to be a CanonicalResource when validating profile references
* Work around error in R5 sdf-29 invariant
## Other code changes
* XHTML processing: Cater for "." in XML element and attribute names
* Handle R3 encoding of primitive values when validating profiles
* Improve error messaging when validating StructureDefinition
* Temporary Support for MedicationStatement in R5
* Work around for Identifier.use = ? in THO R5 package (old error)
* Rework Package API to allow for authentication on package servers
* Structure mapping now finds source Structure Definition by URI and sets ParserBase logical property appropriately.
* DOn't convert ig-r4 when converting package versions
***NO_CI***
## Validator Changes
* update FHIRPath implementation for corrections to 'as' (R5 only in validator)
* Critical Security fix: enforce correct paths when unpacking archives (SecurityAdvisory-1082, CVE TBA)
## Other code changes
* Update to latest FHIRPath for older versions
* Add new ElementModel based parser for StructureMaps
* go-publish related changes
* FTP Client upload and logging improvements
* Refactor base64 handling for Android compatibility
## Security Note
The validator unzips archive files to the local file system when
it is scanning zip files it has been asked to validate, and when it is
installing packages. These processes are now resistant to the zip-slip
vulnerability.
***NO_CI***
* Update cache and comparison downloads to use https
* Zip Slip tests and fix
* Zip Slip tests 2 and fix
* Add missing tempDir child in ScannerTest
* Add win format zip test
* Add tests to r4b
* Add tests and fixes for slips in tgz processing
* Update fhir-test-cases version
## Validator Changes
* Better tracking and reporting of snapshot generation issues
* Update FHIRPath implementation to R4 with all corrections and extensions from R5 implemnetation
## Other code changes
* Inclusion of SAXON dependency for processing XSLT
* Error message spacing correction
* Basic FTPClient implementation
* test NPE in markdown processing
* go-publish support
* Start implementing loading structure maps with validation
***NO_CI***
## Validator Changes
* Add support for fhir_comments in R2/R2B
* Add validator checking around versions in extension URLs
* Fix bug generating cross-version extensions
## Other code changes
* Fix minor NPEs running IG publisher
* Add new PE module (PEDefinition/PEInstance)
* Add support for liquid filters (resolve FHIRPath conflict)
* Fix up round-tripping of XPath constraints R4/R5
* Refactor R5 ProfileUtilities (and move rendering to rendering package)
* Fix appending text when generating snapshots
***NO_CI***
* Add test util for diff
* Start moving pathprocessor params into dedicated object
* Move diff to Params
* Move base and diff Limits to params
* Rename to newBaseCursor and newBaseLimit
* More renames
* Move url and webUrl to params
* Move profileName to params
* Add contextPathSource to params, adjust indent for processPaths calls
* Move contextPathTarget to params
* Code cleanup, unused variables + move trimDifferential to params
* Create PathSlicingParams
* Shuffle param order
* Move redirector to params
* Move sourceStructureDefinition to params
* Move derived to params
* Move debug statements to dedicated methods
* split processSimplePath
* split processPathWithSlicedBase
* Start splitting ProfilePathProcessor
* Move all params into ProfilePathProcessor
* Move all profile utility related classes to own package
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## Validator Changes
* Remove use of .fhir/package-client cache (only use the main .fhir/package now)
## Other code changes
* Hack work around for broken template input for R5 OperationOutcome
* Fix up problems with test case consistency in R5 test cases
* Add R5-snapshot3 version enum to R4 version list
***NO_CI***
## Validator Changes
* Change Java minimum version from 8 to 11
* Fix Error message missing parameter (very minor fix)
## Other code changes
* Refactoring package-list.json handling
* Upgrade code to latest R5 release (Snapshot 3)
* Fix bug with version patching loading package for the first time + fix bug determining spec reference
* Add Ids to profile spreadsheets
***NO_CI***
## Validator Changes
* Change rules around Document and Link Message validation (see [Jira](https://jira.hl7.org/browse/FHIR-39502) and [Zulip](https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Entry.20isn't.20reachable.20by.20traversing.20from.20first.20Bundle.20entry) for details)
* Allow https://example in questionnaire example links
## Other code changes
* Rendering Improvements for deprecated codes Including deprecation reason
* Add Accept header fetching JSON
* Fix version comparison bug
* Fixes for producing profile summary in IGs
* Add contents to .index.json and bump to v2
* Fix stated package & version in alternate versions packages
* Refactor ProfileUtilities.generateSnapshot
* Fix bug in XHTML generation around empty tags
* Fix NPE appending slashes
* Fix rendering timing to not use a specific verb
* Fix R2 - RX ValueSet convertor for Code Systems
***NO_CI***
## Validator Changes
* Perform canonical resolution using package dependencies even for version specific references (workaround for VSAC bad behaviour)
## Other code changes
* Fix conversion between R3 andR4/R5 for Immunization.notGiven
* Fix parameter handling for tx server responses
* Add cast support for more types in FML implementation
* Fixes to GQL Schema generation
***NO_CI***