This new release incorporates a number of changes:
- Move to the Spring Boot framework
- Upgrade to Spark 3
- Refactored FHIRPath class model
- Request caching
- Improved error handling and reporting
- Improved configuration
- Support for invoking the `aggregate` operation with a GET request
- Bug fixes and performance improvements
Breaking changes
- Changes have been made to the encoding of the Parquet files from FHIR - any pre-existing Parquet data will need to be re-created from the FHIR sources before use with Pathling 3.
- The format of the request to the `aggregate` operation has been simplified, removing the labels and flattening the structure of the parameters.
- Configuration has been completely reworked - see the [Configuration](https://pathing.csiro.au/docs/configuration.html) page for the new variable names.
- Pathling now uses Spark 3 - this change will need to be reflected in any Spark cluster installations used to host Pathling.
- The semantics of the `subsumes` function have changed, and may yield different results in Pathling 3. See
[subsumes](https://pathling.csiro.au/docs/fhirpath/functions.html) for the new specification.
- Source URLs used with the `import` operation now need to be whitelisted, for security purposes. A list of valid prefixes can be configured, by default you can import from `file:///usr/share/staging`.
- For servers with a configured S3 warehouse source that uses authentication - you will now need to specify `pathling.storage.aws.anonymousAccess=false` in addition to the variables containing the authentication details, see [Configuration - Storage](https://pathling.csiro.au/docs/configuration.html#storage).
Resolves 2, 6, 70, 76, 88, 157, 167, 175, 179, 181, 182, 184, 185, 186, 196, 202, 212, 213, 218, 220, 229, 233.