The last web-app feature release before the mobile work. The focus is integration and operations: planning adapters, a hardened MCP server, resilient MQTT, and a self-hosting setup that holds up in production. In-progress metrics charts were removed rather than shipped half-done.
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.
FrePPLe and Odoo planning adapters
An adapter interface with FrePPLe and Odoo implementations, including pagination and tenant-safe feedback.
MCP HTTP/SSE transport
Direct-only MCP server for trusted self-hosted deployments, with stdio and Streamable HTTP transports and a Dockerfile.
MQTT resilience
Retry, circuit breaker, dead-letter logging, and per-attempt timeout handling.
Self-hosting hardening
Runtime /env.js injection, Node 22, a health endpoint, and a .dockerignore so config changes need no image rebuild.
Security and auth hardening
CORS fails closed when ALLOWED_ORIGIN is unset, IPv6 loopback blocked in webhook validation, and Turnstile login made non-blocking.
OEE and reliability charts
Stripped the in-progress OEE and reliability metrics and dashboard charts to keep the release honest about what works.