Skip to main content
FireFlo uses standard semantic versioning. What matters to you is what a version number promises and what to check before you take one.

What the number means

Your release notes accompany each build. They are the authoritative list of what changed; this page is about what to look for in them.

Releases

The current pair is .
This table lists selected releases, not every one. The releases between 0.7.4 and 0.9.23 each shipped with their own notes; ask support@fireflo.au for any of them. 0.7.0 is where this table starts, not where FireFlo starts. Earlier releases exist and are in service; their notes are available from support@fireflo.au. Published history begins here because 0.7.0 opened the line of billing work the product is currently on.
Two things the table will not tell you on its own. The control panel column shows the newest revision for that gateway release. The fourth number is a panel-only revision and moves on its own — 0.7.3 had three of them. Any panel version whose first three numbers match the gateway is a valid pair; the panel checks this at runtime and says so when it does not. Five gateway releases inside two days is not a mistake. 0.7.0 opened a piece of billing work, and each release after it closed something the previous one exposed — a segment billing defect, then the template matching it depended on, then the placeholder grammar, then the postpaid work, then three defects on the credit path. Releases cluster when a seam is being worked; that is what it looks like.

Before you upgrade

The pattern worth internalising: the changes that hurt are the quiet ones. A breaking API change announces itself; a changed default does not.
A default that moves changes behaviour on every deployment that never set the value — which is most of them. These are the entries to read closely, more than the new features.
Enabling the management port moved /q/metrics from 8080 to 9000. A Prometheus job still pointed at the old one gets 404s rather than failing loudly, so a dashboard reads as a quiet system rather than a broken monitor.
Migrations are forward-only. There is no down-migration, so the rollback path is a restore rather than a reverse migration — take the backup before, not after.
Receipt semantics have changed twice in ways that were invisible until a customer noticed. level used to always read 2, so ACCEPTD was reported as an outcome; and the User-Agent on webhook calls changed from the JDK default to FireFlo/<version>, which matters to any receiver with an allow-list.
If figures a customer can see will change, they need telling before it happens — with the number, the direction and the date. See Customer notices.

Version pairing

The gateway publishes its running version on /ops/health, and the control panel shows both its own and the gateway’s.
A mismatched pair is flagged deliberately. The panel degrades rather than breaking when it talks to an older gateway — a column simply drops out of its queries — but a feature that appears absent because of a version gap looks exactly like a feature that is broken.Check the pair before investigating anything that “should be there and isn’t”.

Reporting problems

Everything goes to support@fireflo.au. What changes is how you frame it:
Redact before sharing. Credentials, system IDs, IP addresses, phone numbers and message content all appear in configuration and logs. fireflo redacts what it can; a hand-copied log line is your own responsibility.

Customer notices

When a release changes what a customer sees.

Migrating a deployment

Coming from Jasmin or Kannel.