EryxonFlow
Release Notes

What shipped, when.

Every release of Eryxon Flow in plain language. Each entry separates shipped changes from Beta status and dated roadmap context, and links to the relevant setup docs.

v0.11.5
September 19, 2026
Stable

Faster completion and safer planning

Operators can finish work with fewer taps, while scheduling protects existing capacity and incomplete routes.

Changed

Report and complete in one step

When the reported quantity reaches the target, the terminal can record it and complete the operation in one action. Route, quantity and time progress are easier to scan.

Fixed

Planning without partial writes

Auto Schedule saves dates and allocations together. Existing capacity is preserved when work cannot be replanned, and unfinished predecessors keep later work blocked.

Changed

One flow status everywhere

The terminal and QRM overview now agree on Active, On hold, In Buffer and Expected work. Cell metrics load in one request.

Fixed

Demo dates follow the workshop calendar

New demo data uses the configured working week and factory calendar. Active work is no longer given a future start time.

Changed

Clearer plans and pricing

The website now presents the hosted trial, Premium and self-hosted Community options directly, without the long technical pitch on the homepage.

v0.11.4
September 19, 2026
Stable

Current demo planning and safer rescheduling

Demo workshops now stay current, and automatic scheduling follows job routing without moving active work.

Changed

A rolling demo timeline

Demo jobs, planned operations, production records and the factory calendar are dated relative to the day the data is created. Fresh demo work stays useful instead of becoming overdue over time.

Changed

Schedule work that has not started

Auto Schedule plans not-started operations by due date, routing and cell capacity. Work already in progress or completed keeps its existing plan.

Fixed

Expectations follow the plan

Changing an operation plan now creates a new completion expectation and keeps the earlier version as history.

Fixed

Clean demo resets

Resetting demo data also clears dependent allocations, expectations, batches and locations while preserving workshop settings and administrator accounts.

Fixed

Reliable routing data

Part routing once again returns operation status through the documented API contract.

v0.11.3
September 19, 2026
Stable

Faster operator completion and safe switching

Operators can report and complete work faster, while operation switches and timer closure now commit atomically.

Changed

A clear finish action

Released work always shows Mark complete. Report the completed quantity first, then finish the operation. Short work can be completed without starting a timer.

Changed

Confirm before switching

Scanning or starting another operation names the work that is still running and asks for confirmation before switching.

Fixed

One transaction per operator action

Switching work and Stop & complete no longer use separate requests. A rejected transition cannot leave half of the action committed.

Fixed

Repeated taps stay single

Start, pause and complete accept one transition at a time, preventing duplicate requests from fast taps.

Fixed

Sequential release covers quick completion

When sequential release is enabled, an unreleased operation cannot be completed directly through the terminal, API or MCP server.

v0.11.2
September 19, 2026
Stable

API contract and deployment cleanup

The public REST contract now matches the shipped Edge Functions, batch writes reject internal fields, and obsolete hosted endpoints have been removed.

Fixed

One current REST contract

The OpenAPI document and payload guide now describe jobs, parts, operations, batches, webhooks and private files with the field names and filters used by the running API. Removed task and stage routes no longer appear.

Fixed

Batch writes stay within their contract

Batch create and update payloads now reject lifecycle, calculated and ownership fields. Start, stop and operation assignment continue through the dedicated lifecycle endpoint.

Fixed

NCR values match the database

Category and disposition validation uses the current database values, so invalid legacy values are rejected before a write is attempted.

Changed

Hosted functions match the repository

Old test, task, stage, MQTT, billing and webhook-log functions have been removed from the hosted project. Only functions shipped from the public repository remain deployed.

Fixed

Portable scheduled evaluation

The pilot evaluator reads its deployment URL from Supabase Vault instead of carrying a hosted project address in source. Repository agent configuration no longer connects a clone to that project.

v0.11.1
September 19, 2026
Stable

MCP tenant boundaries and accurate public guidance

MCP access is now pinned to one workshop throughout, webhook targets are checked more strictly, and the website describes the current product, interfaces and licensing model without retired routes or plan names.

Fixed

MCP stays inside one workshop

The server now requires TENANT_ID, rejects cross-workshop RPC arguments and validates ownership before it reads or writes relationship tables. Operator PIN actions, routing and notifications also work correctly with the service-role connection used by the server.

Fixed

Stricter webhook targets

Webhook configuration accepts HTTPS endpoints only. Dispatch rejects localhost subdomains and does not follow redirects to a different target.

Changed

Clearer fit for metal fabrication

The landing page now explains the path from ERP work order to cell queue and reported production. REST and webhook integration come first; MCP remains available for approved automation.

Changed

Docs match the running product

Current guides, examples and in-app plan labels no longer refer to removed endpoints, a retired pricing route or the former Premium name.

v0.11.0
September 18, 2026
Stable

Agent-ready: MCP 2026-07-28, rebuilt webhooks, sequential release

Everything an operator or planner can do in the app can now be done by an AI agent or an ERP through the same rules: an MCP server on the 2026-07-28 specification with 113 tools, webhooks rebuilt for production, a sequential-release setting, a buffer that follows the routing, and the MQTT publisher removed.

Added

MCP server on the 2026-07-28 specification

Stateless Streamable HTTP or stdio, 113 tools with annotations and output schemas, and a test that proves every REST endpoint and database action has a tool. Starting, pausing and completing go through the same database function the terminal uses, so timers, job state and sequential release apply to agents too. Generate the server configuration from the new MCP page in the admin.

Added

Webhooks rebuilt

One database trigger emits 36 events with a versioned payload and a timestamped HMAC signature. Deliveries are retried five times, logged with status and latency, and can be re-sent or tested from the admin page. Endpoints that keep failing switch themselves off.

Added

Sequential release setting

Turn it on under Organization settings and an operation can only start once every earlier operation on the same part is completed. The database enforces it for the terminal, the API and agents alike. Off by default.

Added

Drop-off locations in the demo

The onboarding wizard asks whether you use drop-off slots and seeds them per cell. The work queue shows where a part is, and the Location tab shows free slots at the next cell.

Changed

In Buffer means the part is ready

In Buffer lists operations whose earlier steps are completed. Expected lists the ones still waiting upstream. Starting work while clocked on another operation switches instead of failing, and rule violations are shown in your language.

Changed

Faster admin, tighter database

Half the JavaScript on first load, on-demand language catalogs, fewer round trips on the dashboard and assignments, twenty new indexes and rewritten row-level security policies. Anonymous clients can call eight pre-login functions and nothing else.

Removed

MQTT publisher

It never opened an MQTT connection and was never tested. Use webhooks and bridge to a broker outside the app. The in-app Swagger page went too; the REST reference lives here.

v0.10.1
September 8, 2026
Stable

One workshop per self-hosted installation

A self-hosted Eryxon Flow now serves exactly one workshop, with no trial and no quotas, as the Community licence describes. The hosted service keeps running many workshops.

Changed

The first sign-up is the workshop

On your own installation the first account creates the workshop and becomes its admin. Colleagues join by invitation; a second workshop is refused by the database, and the sign-in page stops offering registration.

Changed

No trial, no quotas at home

A self-hosted workshop has no 30-day trial and no job, part or storage limits. Plans, trials and quotas only apply on app.eryxon.eu.

Fixed

Signed webhook events stay internal

The database function that emits webhook events can no longer be called by API clients directly.

v0.10.0
September 7, 2026
Stable

A shared responsive interface and a stronger maintenance baseline

Community now uses one responsive operator interface. This release fixes tenant boundaries, PIN sessions, production transactions, and the release workflow. PWA installation is optional.

Changed

One interface across devices

Phones, tablets, and desktops use the same operator queue and details. Existing mobile bookmarks redirect to the shared routes. The standard web app works without PWA installation.

Fixed

Reliable production changes

Operation, batch, and time-tracking changes run in database transactions. Concurrent requests cannot partially start a batch or create duplicate active timers.

Fixed

Tenant and terminal boundaries

Tenant permissions, storage access, invitations, and API writes enforce ownership. PIN verification binds an employee to the current terminal session and preserves that identity in time reports.

Fixed

Self-hosted backends outside supabase.co

A container pointed at your own Supabase host, a LAN address or a custom domain now adds that origin to the Content Security Policy when it starts. Runtime settings are written as plain data, and an invalid backend URL stops the container instead of serving a page that cannot connect.

Fixed

No production actions without a verified PIN

A shared terminal signed in with an operator account must verify an employee PIN before starting, pausing or completing work. Old /m links and the operator routes send an unverified terminal to the PIN screen, and the database refuses lifecycle writes without a verified employee session.

Fixed

One start event per operation

Stopping and restarting a timer on an operation that is already in progress no longer sends a second operation.started webhook or MQTT event.

Fixed

Batch images before the batch exists

Nesting and layout images chosen while creating a batch upload to a tenant-scoped staging location, so the upload succeeds before the batch is saved.

Changed

Reviewed releases

Release checks cover the app, documentation, API helpers, MCP server, and a clean local database. Releases record their exact source commit and image digest. Production rollout remains an explicit action.

v0.9
July 5, 2026
Stable

Community and Premium editions under the Business Source License

Eryxon Flow moved from Apache 2.0 to the Business Source License 1.1 and split into a Community edition you can self-host for one workshop and a Premium edition for multi-site use, native apps and ERP planning connectors. Covers v0.9.0 through v0.9.2.

Changed

Business Source License 1.1

The source stays readable and modifiable. Community is free to self-host for a single production site. Multi-site use, offering it as a service and the commercial add-ons need a commercial license. Each version converts to GPL v2 or later four years after release.

Changed

Community is a web app

Native iOS and Android integration, barcode scanning through the device, biometric unlock and push notifications moved to Premium. Community keeps camera and photo upload through the browser and runs on any tablet or phone.

Changed

Planning connectors are Premium

Announced at the time. Correction (0.11.0): no planning connector exists and there is no Premium edition; ERP and planners integrate through the REST API, webhooks and the MCP server.

Fixed

Version and test housekeeping

The package version matches the changelog again, the dependency lockfile no longer carries the removed native tree, and the test suite runs on current Node releases.

v0.8.5
June 29, 2026
Stable

Location tracking that works out of the box

Follow-up to v0.8.4 for the drop-off location module. The slot picker now shows the slots for the cell a part heads to next instead of every cell's slots, demo workspaces come with example slots so the feature shows working data, and Organization Settings reminds you to set slots up when tracking is on but none exist.

Changed

The slot picker shows the right lane

When an operator records where a part went, the picker now shows the drop-off slots for the cell the part heads to next, plus any general slots, instead of listing every cell's slots. If that cell has none set up, it falls back to showing all of them so there is always somewhere to pick.

Added

Example slots in demo workspaces

Location tracking is on by default. A fresh demo workspace now comes with a few drop-off slots per cell, so the feature shows real, working data the first time you open it instead of an empty picker.

Added

A reminder to set slots up

If location tracking is on but you have not added any slots yet, Organization Settings now shows a short reminder with a link to set them up. It guides; it never blocks an operator from finishing.

v0.8.4
June 29, 2026
Stable

Finishing a job no longer fails

A small hotfix on top of v0.8.3. Marking an operation complete could fail with an error; that is fixed. Priority Bullet Cards now always sort to the top of their section with clearer styling, and the empty instruction box is gone. Self-hosters also get database schema updates applied automatically on deploy.

Fixed

Completing an operation works again

Marking an operation complete could fail with an error, so operators got stuck at the last step of a job. The completion path is fixed and finishing a job goes through cleanly.

Fixed

Bullet Cards stay on top

A priority Bullet Card now always sorts to the top of its section — the whole point of flagging it — and reads with clearer card styling. The empty instruction box no longer shows up when an operation has no instruction.

Changed

Schema updates apply on deploy

For self-hosters: database schema changes now apply automatically when you deploy a new version, so the app and its database stay in step instead of drifting apart after an update.

v0.8.3
June 28, 2026
Stable

Operator terminal: real-unit time and time-tracking fixes

A maintenance release for the operator terminal. Time now reads in plain units (1h 20m, not a mislabelled 90h), the detail panel adds time booked versus budget and who worked on the job, Complete no longer makes you stop the clock first, and several time-tracking and UI bugs are fixed.

Fixed

Time reads in real units everywhere

Operation time is stored in minutes, but the terminal was labelling it with an h — so a 90-minute weld read 90h. Every time display in the operator views now uses one shared formatter: 45m, 1h 20m, 2h. No more minutes dressed up as hours.

Fixed

Yellow Card standstill flow restored

Reporting an issue now asks whether the work is at a standstill. Saying yes parks the operation under a Yellow Card so the floor sees it is interrupted, and the card clears automatically when the issue is resolved. Parked operations stay visible at the cell instead of dropping out of the queue.

Changed

Bullet and Yellow cards are formatting, not pills

The priority Bullet Card (red) and the Yellow Card (amber, on hold) now show as row styling and sorting rather than extra chips, and the redundant status and operation-type pills are gone from the queue and detail panel.

Added

Booked vs budget, and who worked on it

The detail panel now shows time booked so far against the operation's budget, with an over/under chip and a progress bar, plus the operators who put time on the job and a live dot for anyone running right now. It guides the team leader; it never blocks the operator.

Added

Step-by-step checklist while you work

When you are clocked on, the operation's sub-steps surface as a checklist in the Steps tab instead of hiding inside the routing list — so you can tick through the work in order.

Changed

Complete without stopping the clock first

Completing an operation while still clocked on used to be blocked — you had to Pause, then Complete. Now Complete stops your own timer and finishes in one tap (the button reads Stop & complete). It only holds back if another operator is still clocked on, or the next cell is at capacity.

Fixed

Operator time tracking corrected

Three bugs in the time chain: duplicate clock-entries from race conditions were stored in seconds instead of minutes (a 60x inflation) and their time was never added to the operation's actual total; and the live booked figure ignored pauses, so it dropped the moment you clocked off. All three are fixed.

Changed

A calmer operator panel

Removed duplicate pills that repeated the operation name and a work-readiness state that was the same on every row. The panel keeps the signals that matter — status and the Bullet Card — and the instruction note now sits under a clear Instruction label.

Changed

Drop-off location prompt on by default

The placement flow — asking where parts were put down and pointing to the next cell — shipped switched off, so most shops never saw it. It is now on by default and still switchable per workshop in Organization Settings.

Fixed

Selection checkboxes are visible again

Row-selection checkboxes in the Operations workspace were drawn with an almost-invisible border on the dark theme. They now have a clear box in both light and dark.

v0.8.1
June 27, 2026
Stable

The Bullet Card stops calling itself a Rush

A small wording fix: the operator terminal's priority chip now reads Bullet, matching the Bullet Card it represents, instead of a generic Rush label the product never actually had.

Changed

Priority chip reads Bullet, not Rush

Eryxon Flow has one priority signal — the Bullet Card — and no separate rush flag. The operator terminal still showed a generic Rush badge for it. The chip now says Bullet (EN/NL/DE), so the screen matches the card it stands for. The card and how it works are unchanged.

Removed

Stale duplicate articles cleaned out of the docs

A couple of articles had been duplicated into the documentation sidebar and gone stale. Articles live on the blog; the docs copies are removed and their links redirect there.

v0.8.0
June 27, 2026
Stable

A calmer operator terminal: one header, the rest behind tabs

The operator detail panel is rebuilt around tabs — Steps, Batch, Location, Info — so the drawing and instructions get room to breathe, and the drop-off flow now names the cell each part is heading to next.

Changed

Operator detail panel rebuilt around tabs

The panel used to stack a row of bordered cards that squeezed the drawing into a sliver and repeated the same facts more than once. It now leads with one calm header — job, part, cell, status — and tucks everything else behind tabs that fill the screen: Steps (instructions and routing), 3D and PDF that load only when you open them, Batch, Location, and Info. Tabs show up only when they have something to say. The whole panel reflows to a single column on a phone.

Added

Location tab that names the next cell

Location tracking now has its own tab in the terminal: see where a part is, and record or move it any time — not just at completion. Both the tab and the drop-off picker name the cell the part heads to next and suggest a slot near it, so the next operator walks straight to it.

Added

Batch tab on the terminal

Parts that run as part of a nest or batch show a Batch tab — the batch number, whether it is a nest or a plain batch, its status, and how many operations move through production together.

v0.7.2
June 27, 2026
Stable

Terminal stays up under load, admins reach the floor on mobile

Hotfixes for busy shop floors: the operator terminal keeps loading even when a batch lookup fails, and admins open the mobile floor view without an operator badge.

Fixed

Operator terminal keeps loading when a batch lookup fails

The terminal builds batch context for every job in the queue. On a busy floor one of those lookups could fail and take the whole view down with it, so nobody could clock on. A failed lookup now leaves the job list intact — operators keep working, just without batch grouping until it recovers.

Fixed

Admins reach the mobile floor view without a badge

Opening the app on a phone sent admins to the operator badge-and-PIN screen even when they were already signed in. Admins now go straight to the floor view for oversight, and are never recorded as the operator doing the work.

Changed

Location tracking stays out of the way when it is off

Drop-off location tracking is off by default. The terminal no longer reaches for location data when the feature is disabled, so a floor that does not use it carries none of its weight.

v0.7.0
June 22, 2026
Stable

Location-aware work, issue reporting, and operator modes

Four areas tightened at once: parts that know where they are and where they go next, issue reports that carry cell context, work queues that read like real manufacturing, and an operator terminal that tells setup apart from production.

Added

Location-aware issue reporting

A quality issue now records where the part was and where it was headed next. The route stays attached to the problem, so a planner or operator can act without reconstructing it afterward.

Added

Batch production mode

A batch can run in manual or automated mode. Automated mode is reserved for laser-nesting batches, where one program drives the whole nest.

Added

Resources assigned to cells

Machines and resources can be tied to the cells they belong to, so the queue and the floor agree on what runs where.

Added

Operator terminal work modes

The terminal separates setup and prep from production. A shared terminal handles login and operator switching, so one tablet serves a real cell instead of one fixed user.

Added

Scan a CNC program from the terminal

Operators can scan the program name straight from the terminal detail panel, so the right file loads at the machine without retyping.

Fixed

Admin Users page rendered raw keys

A translation namespace clash dropped most of the Users page labels. Fixed the merge and filled the missing translations across English, Dutch, and German — no more raw keys on screen.

Fixed

API key generation on the hosted app

Generating an API key and uploading storage failed from the hosted frontend. Cross-origin handling now matches the request against an allowed list instead of a single hardcoded address.

Changed

Admin polish across Operations, Assignments, and Parts

Translated the last hardcoded English, added labels to icon-only buttons, and evened out page spacing and loading states.

v0.6
May 24, 2026
Stable

Eryxon Flow installs to your desktop

Install Eryxon Flow straight from Chrome or Edge on Windows and macOS — it runs in its own window, no app store, no installer. A touch-first operator preview ships alongside it.

Added

Installable PWA

Add Eryxon Flow to your desktop from Chrome or Edge on Windows and macOS, or to the home screen on a tablet. It runs as a standalone window with operator shortcuts (Queue, Scan, Issues) and updates in the background without forcing a mid-shift reload.

Added

Touch-first operator preview

A /m/* route shell built for phones and tablets: work queue, QR/barcode scanner, activity timeline, issues feed, and terminal overview, with PIN and biometric login. In preview.

Added

Pilot activation card

New evaluators land on a single activation card that walks them through their first work order.

Changed

Operator preview touch targets

Operator preview frames use a 56px touch target across phone and tablet sizes for glove-friendly tapping.

v0.5.1
May 6, 2026
Stable

Maintenance hotfix

A small maintenance hotfix on top of v0.5.0 — refreshed release metadata and licensing summary, no functional changes.

Fixed

Release metadata and licensing summary

Refreshed the OpenTrace knowledge-graph counts and aligned the README licensing summary with the repository LICENSE.

v0.5.0
May 6, 2026
Beta

Planning adapters, MQTT resilience, and self-hosting hardening

FrePPLe and Odoo planning adapters, a hardened MCP HTTP transport, resilient MQTT, and a serious self-hosting and security pass.

Added

FrePPLe and Odoo planning adapters

Announced as Beta. Correction (0.11.0): this code never shipped in the app; connect a planner through the REST API and webhooks instead.

Added

MCP HTTP/SSE transport

Direct-only MCP server for trusted self-hosted deployments, with stdio and Streamable HTTP transports and a Dockerfile.

Added

MQTT resilience

Retry, circuit breaker, dead-letter logging, and per-attempt timeout handling.

Changed

Self-hosting hardening

Runtime /env.js injection, Node 22, a health endpoint, and a .dockerignore so config changes need no image rebuild.

Fixed

Security and auth hardening

CORS fails closed when ALLOWED_ORIGIN is unset, IPv6 loopback blocked in webhook validation, and Turnstile login made non-blocking.

Removed

OEE and reliability charts

Stripped the in-progress OEE and reliability metrics and dashboard charts to keep the release honest about what works.

v0.4.1
March 29, 2026
Beta

CSV import and a docs accuracy pass

CSV import templates with realistic Dutch job-shop data, a working bulk-sync pipeline, and a thorough pass to purge inaccurate claims from the docs.

Added

CSV import templates

Import templates with realistic Dutch job-shop data and download links, proven end-to-end (15/15 tests).

Fixed

Bulk-sync pipeline

Enabled bulk-sync on api-parts and api-operations — CSV import was previously broken.

Fixed

Batch lifecycle end-to-end

RLS fix plus machine-reported support so the batch lifecycle works E2E.

Changed

Documentation accuracy

Removed inaccurate and unbuilt-feature claims across the docs, verifying each claim against the code.

v0.4.0
March 28, 2026
Beta

Operator status bar, POLCA signals, and the batch API

Shop-floor focus: an industrial operator status bar, POLCA cell signals, rush/hold controls, and a full batch CRUD + lifecycle API.

Added

Operator status bar

Industrial stripe patterns, timing controls, and a cell selector — glanceable status from a metre away.

Added

POLCA cell signals

Current-to-next cell signal with a GO/PAUSE capacity indicator and backlog status in the terminal.

Added

Rush and hold controls

Rush jobs sort first across Jobs and Parts tables, with rush filters, badges, and work-queue totals.

Added

Batch API

api-batches CRUD plus api-batch-lifecycle (start/stop/add-operations), with tenant scoping.

Changed

Auth hook refactor

Split useAuth into focused selector hooks (useProfile, useTenant, useSession, useAuthActions).

Fixed

Flow column rendering

Rebuilt the routing hooks and Flow column so job routing displays reliably.

v0.3.3
March 9, 2026
Beta

MCP server, batch management, and self-hosting hardening

A large consolidation release: a modernised MCP server, enhanced batch and nesting management, a password-reset flow, and a much-improved self-hosting setup.

Added

MCP server for AI assistants

A universal MCP server supporting both self-hosted and cloud setups, with a modernised validation and tooling layer.

Added

Enhanced batch management

Nesting, images, and editing support for batches, plus batch API endpoints and lifecycle handling.

Added

Password reset flow

Self-service password reset via Supabase auth, with Turnstile captcha support.

Added

Automated self-hosting setup

A setup script and Edge Functions deployment automation, with hardcoded project URLs removed.

Changed

Standardised toast notifications

Migrated to Sonner with a progress bar and full internationalisation.

Fixed

React error #185 in routing

Fixed infinite re-render loops in routing hooks and related job-flow display bugs.

v0.1.0
January 18, 2026
Beta

First public release

The first public, source-available release of Eryxon Flow — job and part tracking, operator terminals, and a self-hostable React + Supabase stack.

Added

Job and part tracking

Track work orders and parts through cutting, bending, welding, and assembly on a Supabase-backed Postgres schema.

Added

Operator terminals

Touch-friendly work queues per production cell, built on the React app.

Added

Self-hostable stack

React + Vite frontend with a Supabase backend, deployable on your own infrastructure.