All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Docs: added
docs/site/public/llms.txtso the published documentation site exposes the same AI-readable project summary as the repository root.
- Dev: upgraded
commander14→15. No CLI signature change expected; existinganalyze <source>,compare <sourceA> <sourceB>,--help, and--versionbehavior remains intended to be compatible. - Docs: aligned README prerequisites with the current Node 22 and pnpm 11 requirements.
- Docs: copies the generated Starlight
sitemap-index.xmltositemap.xmlduring docs builds for better crawler compatibility. - Docs: updated root
llms.txtto report version 0.2.0.
0.2.0 - 2026-06-01
- Dev: migrated pnpm config from
package.jsonpnpm.onlyBuiltDependencies(removed in pnpm 11) topnpm-workspace.yamlallowBuilds.packageManagerandengines.pnpmbumped to pnpm 11. No user-facing behaviour change; published package surface is identical. - BREAKING: minimum Node version raised from 20 to 22 (
engines.node >=22.0.0). Driven by upstream pnpm 11.x dropping Node 20 support (usesnode:sqlite, available in Node 22.13+ only).@types/nodebumped to^24(LTS line). - Upgraded CLI framework
commander12→14. No user-facing behaviour change expected;--help,--version, and subcommand signatures (analyze <source>,compare <sourceA> <sourceB>) are unchanged. If--helpoutput formatting shifts (whitespace), it is upstream cosmetic. - BREAKING: short version flag changed from
-vto-Vfor consistency with sibling CLIs (fhir-resource-diff,fhir-test-data) and the commander default convention.--version(long form) is unchanged. Pre-1.0 release; scripts using-vshould switch to-Vor--version. - Dev: bumped typescript 5.9→6 and vitest 2→3 (
@vitest/coverage-v82→3); addedignoreDeprecations: "6.0"andtypes: ["node"]totsconfig.jsonfor tsup DTS compatibility. vitest 4 deferred pending vitepress 2 stable (vite 5 → 6 peer constraint). No user-facing behaviour change. - Dev: bumped eslint to 10; removed unused zod dependency. No user-facing behaviour change.
0.1.3 - 2026-04-24
- Corrected AU Core profile detection to use the HL7 Australia canonical prefix
http://hl7.org.au/fhir/core/ - Clarified that supported profile URL prefixes are FHIR canonical identifiers and may not resolve in a browser
- README: added "Why this exists" section, Development section, ecosystem table with all three sister tools, and pipeline integration examples; fixed the "What this tool does NOT do" entry for authentication to reflect that bearer tokens are supported but OAuth flows are not
llms.txt: updated with authentication details, exit codes, cross-references tofhir-resource-diffandfhir-test-data
0.1.2 - 2026-04-19
- OAuth 2.0 bearer token support for secured FHIR servers:
--bearer-token <token>flag onanalyzeandcomparecommands; falls back toFHIR_TOKENenvironment variable FetchOptionstype exported from the library for consumer usefetchCapabilityStatement(url, options?)now accepts an optionalheadersmap
- Removed deprecated
tsconfig.jsonoptions (baseUrl,esModuleInterop: false) that would stop functioning in TypeScript 7.0
0.1.1 - 2026-04-19
- Profile detection for FR Core (Interop'Santé / HL7 France), NL Nictiz (Netherlands), and IHE (Integrating the Healthcare Enterprise)
0.1.0 - 2026-04-19
analyzecommand: fetch and analyze a FHIR server's CapabilityStatement from a URL or local JSON filecomparecommand: compare two FHIR servers' capabilities side by side;--exit-on-diffflag for CI assertions- Output formats:
text(human-readable),json(stable machine-consumable schema),markdown(tables) - Profile detection for 9 international/national FHIR profile families: US Core, UK Core, AU Core, AU Base, CA Baseline, IPS, IPA, SMART App Launch, ISiK (Germany)
- Warning rules for common CapabilityStatement issues: missing security, draft status, search-type without search parameters, unrecognized FHIR version, no resources declared
- Browser-safe TypeScript core (
src/core/,src/registry/,src/formatters/) — works in Node.js, Deno, Cloudflare Workers, and browser bundles - Library exports:
fetchCapabilityStatement,parseFromJson,analyze,comparefrom main entry;detectProfiles,PROFILE_REGISTRYfromfhir-capability-analyzer/registry - Three example CapabilityStatement fixtures:
examples/hapi-r4.json,examples/us-core-server.json,examples/ips-server.json - VitePress documentation site at dnlbox.github.io/fhir-capability-analyzer
- GitHub Actions: CI (Node 20 + lts/*), docs deploy, npm + GitHub Packages publish on release