Skip to content

Releases: aehrc/fhir-bulk-java

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 05:03
04cf6b6

Security

  • Fixed a path traversal vulnerability in bulk export downloads (#11): a malicious or malformed export manifest could previously cause files to be written outside the intended output directory (e.g. via absolute paths, .. segments, or a pre-placed symlink at the destination). The manifest is now validated where it enters the system — each resource type must match a safe character class — so a resolved path can never escape the output directory. A symlink at the download destination is now refused rather than followed; a plain file already there is overwritten (needed for retry, see below).
  • Bumped dependencies flagged by Dependabot (#18): logback (1.2.11 → 1.5.34), commons-io (2.13.0 → 2.14.0), org.json (20230618 → 20231013), and wiremock-jre8-standalone (test-only, 2.35.0 → 2.35.1).

Features

  • Retry downloads that are cut short mid-transfer (#16): previously, one truncated file download would abandon an entire export. Each file now gets multiple attempts (configurable), rewritten from the start each time, and the retry delay is bounded and randomised (jittered) rather than exponential, so concurrent downloads that fail together don't all back off in lockstep. New public DownloadConfig, settable on the client builder, controls maxRetries and the delay bound; a default is used if not supplied.
  • Allow a caller to supply their own Hadoop FileSystem to HdfsFileStoreFactory via a new forFileSystem API (#13), for callers that need to control filesystem identity/configuration directly (e.g. under user impersonation).
  • Output file extension is now inferred from the outputFormat MIME type (#10) — application/fhir+ndjson/application/x-ndjson → .ndjson, application/vnd.apache.parquet → .parquet, unknown formats default to .ndjson. outputExtension is now optional and, when set, overrides the inferred value.

Fixes

  • Stopped closing a shared Hadoop filesystem (#13): HdfsFileStoreFactory was closing a FileSystem instance obtained from Hadoop's JVM-wide cache, which is shared with the host application. A successful export would leave a closed, unusable instance in the cache, breaking all subsequent access to that scheme until the process was restarted. Closing the store is now a no-op — the filesystem is borrowed, not owned.

Full changelog: v1.0.4...v1.1.0

v1.0.4

Choose a tag to compare

@github-actions github-actions released this 19 Jan 04:52
v1.0.4
81ea532

What's Changed

Full Changelog: v1.0.3...v1.0.4

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 31 Jul 04:27
v1.0.3
f59ff0d

What's Changed

  • Add error logging for non-200 HTTP responses in JsonResponseHandler by @johngrimes in #4
  • Update nimbus-jose-jwt to version 9.37.2 by @johngrimes in #6

Full Changelog: v1.0.2...v1.0.3

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 27 Feb 00:12

What's Changed

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 19 Feb 07:35
v1.0.1
a01bde7

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 04:46

Initial release.
Please check README.md for supported features.

v0.1.0-alfa

v0.1.0-alfa Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Aug 03:14

Test pre-release.
Check README.md for supported features.