Skip to main content

Fire Arrow Server 1.5.0

· 2 min read

Fire Arrow Server 1.5.0 has been released.

  • (feature) Add licensing system
  • (bugfix) Fix CarePlan task scheduling drift after DST transitions
  • (bugfix) Fix delivery tracking for message channel subscriptions

Why 1.5.0?

This release jumps from 1.0.0 directly to 1.5.0 to signal a significant operational change: the introduction of a licensing system. While the release contains no breaking API changes, Fire Arrow Server can no longer start without a valid license file from this version onwards. We chose the version bump to make this requirement clearly visible to anyone upgrading, rather than burying it in a patch release.

Existing deployments upgrading from 1.0.0 will need to obtain a license before moving to 1.5.0. Reach out to Evoleen to get your license file.

Licensing System

Fire Arrow Server now requires a license to start and continue running.

The license is configured via the fire-arrow.license.* properties and can be supplied as a file path or inline value.

Bug Fixes

CarePlan task scheduling drift after DST transitions

When a CarePlan was created, the UTC offset from period.start (e.g. +01:00 for CET in winter) was used as a fixed timezone for all task scheduling. After a DST transition, tasks that should have been scheduled at 08:00 local time would instead appear at 09:00 because the offset no longer matched the wall-clock time.

The fix ensures that when a proper IANA timezone (e.g. Europe/Berlin) is available on the CarePlan or Patient resource, it takes precedence over fixed offsets extracted from datetime values. This means task schedules now correctly follow DST transitions. Deployments using only fixed-offset timezones like UTC are unaffected.

Delivery tracking for message channel subscriptions

The subscription success tracker was bound to a rest-hook-specific delivery hook, which meant that message channel subscriptions (such as the Azure Storage Queue delivery) never recorded a successful delivery. After seven days without a recorded success, the subscription sweep job would disable these subscriptions, which in turn broke CarePlan lifecycle re-materialization.

The fix now works for all channel types, and also prevents redundant delivery to the internal message broker after a successful Azure Queue send.