Changelog

What has shipped.

InnovaEdge has been continuously deployed since June 2026. Formal release tagging began on 27 August 2026, when release rings were introduced — so v1.0.0 is the first tagged build, not the first working one.

Production currently runs v1.6.322. The notes below are written through v1.6.97; the releases since are tagged but not yet written up.

01 — Release history

Newest first, one badge for what is actually live.

Every entry below is a real tag or a real tag range. Where one entry covers several tags, the version says so — one entry per tag would be a log, not a changelog. Exactly one carries the production badge, and it is not always the newest one.

v1.6.94 – v1.6.97 2026-09-07

An agent can price a tier and hand its buyer to us, and Modbus discovery stops guessing at the served config.

  • The platform speaks the Universal Commerce Protocol. An AI agent discovers a profile at a well-known path, negotiates capabilities, prices any tier for a fleet size from the published rates, and on Complete is handed to a person through the demo form with the buyer's details pre-filled. Nothing is provisioned or charged through the protocol; contact details are never echoed back, never placed in a URL, and are wiped when the session expires.
  • Self-hosted Modbus discovery now runs its scan rounds on the full configuration the device is actually served, filling in only the pull-channel pieces that are missing, and carries the serial settings the engine insists on — so a sweep no longer fails on a bare manifest the engine would refuse.
  • A manufacturer-cloud devices tab in the platform console: find devices, tick them, and deliver them to an organisation or tenant in one action.

v1.6.92 – v1.6.93 2026-09-06

Modbus register numbers that match the manual, a designer that authors the bus, and commands that report back.

  • Modbus register numbers use the firmware's six-digit convention everywhere — the number you read off the equipment manual is the number you type, with no re-basing between the manual, the profile and the device.
  • The profile designer became a templated-config designer: the bus and the workload — instances and read blocks — are authored in the signal designer rather than typed by hand.
  • Every command sent to a device keeps a per-device ring of acknowledgements — what was queued, whether it was received, what it answered — and the command status endpoint exposes it, so a queued reboot or describe is no longer a guess.

v1.6.91 2026-09-06

Modbus discovery, profiles that build the twin, and a delivery loop that knows when to stop.

  • A Modbus discovery run probes stations and register ranges in batches, records which come back live, and promotes the result to a draft profile — the same evidence-gated path CAN discovery already used.
  • Publishing an equipment profile now also creates the matching twin equipment type, so one act fills both ends of the platform: what the device reads, and what the ontology knows the equipment is.
  • The unattended reconcile loop no longer re-pushes a non-converging device forever. It prefers the pull channel, never opens a manufacturer-cloud job for a device that cannot pull, and gives up after a bounded number of heals — the device stays alerted, and stops generating dead jobs.

v1.6.61 – v1.6.90 2026-09-05

Resumable OTA over thin links, a modular engine core, and the manufacturer-cloud account made auditable.

  • A bundle is served in byte ranges alongside a manifest, so a device on a slow cellular link pulls one socket-sized chunk at a time, verifies it, and resumes from where it stopped rather than starting the transfer again. Progress is reported per device while it runs. Engines 1.50 through 1.65.
  • The engine splits into a lean universal core that fetches its components on demand, so a device carries what it needs rather than one monolithic body, and the console shows which components a device has fetched.
  • Every object the platform creates in a manufacturer-cloud account is recorded, journalled on every mutation, and reconciled against that account: owned, foreign, or missing. "Which of these are ours?" became answerable from either side, and a foreign object is never deleted without an explicit confirmation.
  • A device can be transferred from your inventory to a customer tenant from the device drawer, completing the path from adopted hardware to a tenant fleet.

v1.6.31 – v1.6.60 2026-09-02

Tier entitlements throughout the console, and billing that understands a reseller.

  • Account tiers, usage metrics and tier gating, advisory first: entitlements travel on the session, tier-gated affordances lock rather than fail, and an upgrade hint names the tier that unlocks the feature instead of refusing without saying why.
  • A customer tenant inherits its parent's tier and bills into the parent's allowance, so usage pools across a reseller's whole customer base; a sub-org can instead bill on its own.
  • The flow editor became a real canvas — pan and zoom, drag to wire, select, tidy, collapsible panels — compiling to the same table definition the form editor produces.
  • The i3X server gained a per-tenant namespace on an owned, configurable domain.

v1.6.3 – v1.6.30 2026-09-01

Onboarding closes its own loop: a blank device reaches a landed beacon without a person in the middle.

  • A device reports its own routing identity rather than being told what it is, IMEI is canonical, and the first-config trigger fires from the device side — so the path from unconfigured hardware to a device reporting home completes itself.
  • Alerts latch instead of flapping, and a heal is retried rather than assumed.
  • A publish channel that can connect but can never succeed is now detected as a failure rather than waiting forever, and a device that never reboots is no longer counted as having installed.

v1.6.2 2026-08-29

Artifact integrity — the device-facing build outputs are verified, not assumed.

  • The engine .lua set and X304 agent bundle are baked into the release image from a pinned contract revision and asserted present at startup, so a deployment cannot silently ship without the firmware a fleet is told to flash.

v1.6.1 2026-08-28

Device-facing artifacts ship inside the image, and a device that has never been heard from is told so.

  • Engine and X304 agent bundles baked from the pinned contract revision; health reporting asserts their presence rather than assuming it.
  • A device that has never beaconed is distinguished from one that is merely late, and the guidance names the action that fixes it rather than advising an indefinite wait.

v1.6.0 2026-08-28

Multi-tenant security hardening and device clock integrity.

  • Tenant isolation closed across fleet discovery, engine artifact selection, device licensing and capability reads.
  • Device clock integrity: an unset or skewed device clock misdates every row it lands, so it is now raised with the consequence stated instead of silently corrupting time-ordered reads.

v1.5.0 2026-08-28

Mutation ordering, and broker credentials that survive a failed delivery.

  • A refused or previewed request no longer leaves state changed; destructive steps run last and a failed publish rolls back.
  • A minted broker credential whose delivery fails is re-sent rather than locking the device out on a password it never received.

v1.4.0 – v1.4.3 2026-08-28

Usage metering, billing, ingest throughput and error reporting.

  • Per-organization metering of broker messages, bytes, sink storage and active devices, surfaced in the product.
  • A bounded ingest queue with worker threads keeps a slow sink from dropping the broker session; drops are counted, never silent.
  • Opt-in error reporting with frame locals forced off and credential-shaped fields redacted before send.
  • Deploy fixes: the OTA bootstrap paradox resolved, and per-device broker credentials no longer churned on every dry run.

v1.2.0 – v1.3.0 2026-08-27

Performance — pooling, group commit, and latest-value reads.

  • Current-state reads served from a latest-value table instead of scanning the whole heartbeat history.
  • Process-wide Postgres connection pooling; ingest group commit replaces an fsync per message.
  • Adoptions promoted from a single JSONB document to an indexed table, so org-scoped lists no longer load every tenant's devices.

v1.0.0 – v1.1.4 2026-08-27

First tagged release, plus the release and operations engineering around it.

  • v1.0.0 is the first tagged build of a product continuously deployed since June 2026.
  • Release rings: production pinned to a release, with a preflighted, health-gated promote and automatic rollback.
  • Whole-instance backups — control database, telemetry sink and broker security configuration — pulled offsite with freshness monitoring.
  • Partner and agency console: organization detail across members, invitations, keys, devices and tenants.
  • Auth hardening: failed sign-ins audited, remaining guessable endpoints rate-limited, the OpenAPI document put behind a session.

Where to go next

Roadmap

What is building now and what is planned, with nothing marked shipped before it is.

Supported devices

Which hardware is sovereign, native, bridged or telemetry-only — and which is not reached at all.

Want to know what is coming next?

This page is the record of what already shipped. The roadmap is where things are headed.