Skip to main content

Release Notes: uxopian-ai v2026.0.0

Release Date: October 2026 Version: 2026.0.0

๐ŸŽ‰ The fasttrack ride is over: 2026.0.0 is the general availability release. Since 2026.0.0-ft5, your admin console got a fresh new look, your models can read documents and PDFs, humans can review what the AI extracted, and you can write your own tools in JavaScript.

โš ๏ธ This release contains several breaking changes. Read the Upgrade notes before upgrading, and plan a transfer of your data: no automatic migration is provided from fasttrack versions.

๐Ÿ‘€ At a glanceโ€‹

What's newIn one sentence
๐Ÿท๏ธUsage profilesApplications get a new name and a stricter job: one profile per calling surface.
๐ŸงฑCode modulesWrite tools and libraries in JavaScript, right in the admin console.
โœ…Human reviewAccept, correct or refuse extracted values next to the source document.
๐Ÿ“ŽDocuments and PDFsSend files to the model, as upload or as a reference.
๐ŸงฌNuExtractExtraction with positions, so the review screen can draw boxes on the page.
๐ŸŽจNew admin consoleCollapsible menu, tabs that stay in the URL, lists that remember your columns.
๐Ÿ“„Paginated admin APIsLists answer pages with search, filters and sorting done server side.
๐Ÿ”’Hardened deploymentMandatory internal secret, Helm NetworkPolicy, strict Content-Security-Policy.

๐ŸŒŸ Highlightsโ€‹

๐ŸŽจ A console you will want to openโ€‹

The admin console, Chat and Quick Prompt get a new common look: a collapsible menu, one primary action per page, detail pages that keep their tab in the URL, and tables that remember the width, order and visibility of your columns. Double-click a row to edit it. The dashboard now greets you and shows your tenant.

The Uxopian AI dashboard: requests, tokens, time saved and the most used model, with daily activity charts

๐Ÿท๏ธ Applications become Usage profiles (action required)โ€‹

A usage profile decides, for one calling surface, which provider, model, system prompt and tools are allowed. It is the former Application with a new name, a new REST path (/api/v1/admin/usage-profiles), a new header (X-Usage-Profile-Id) and a stricter job. Existing Applications are not migrated: re-create them as usage profiles.

A usage profile: default provider and model, system prompt, tool permissions

๐Ÿงฑ Code modulesโ€‹

Write JavaScript tools and shared libraries in the admin console and let a plan, an agent or the chat call them. They run in the uxopian-code-sandbox, with a draft and publish lifecycle and a Test window. Opt-in: with no sandbox configured, the feature stays off. See Code modules.

A published code module in the admin console: JavaScript source, tool settings and publication details

โœ… Human reviewโ€‹

A new Review screen and a task queue let reviewers accept, correct or refuse extracted field values next to the source document, with keyboard shortcuts for the speed readers. See Human-in-the-loop review.

The Review screen: the source document with a box on each extracted value, and the values to accept, correct or refuse

The Review queue: documents waiting for a human decision, with their status and tags

๐Ÿ“Ž Documents and PDFs as model inputโ€‹

Requests can carry files, as multipart/form-data or as typed file references. PDFs are sent natively to OpenAI, Anthropic, Gemini, Bedrock and Mistral. The image content type is renamed base64 (action required).

๐Ÿงฉ Plans you can actually watchโ€‹

Open a plan run, expand the flow to full screen, and read the output of every step in its panel. Recovery branches (Runs when) let a plan carry on after a failure.

The flow of a plan, expanded to full screen

The detail of a completed plan run, step by step

๐Ÿ“„ Paginated admin APIs (action required)โ€‹

Every admin list now answers a page of summaries ({ collection, total, facets }) with server-side search, filters and sorting, instead of a bare array.

๐Ÿ”’ Hardened deployment (action required)โ€‹

INTERNAL_AUTH_JWT_SECRET is required in every deployment, the Helm chart always renders a NetworkPolicy, and the admin console and viewer are served with a strict Content-Security-Policy.


โœจ New featuresโ€‹

๐Ÿท๏ธ Usage profilesโ€‹

  • One profile per calling surface: default provider and model, system prompt, tool permissions, maximum tool cycles.
  • A profile's prompt replaces the default base prompt.

โ†’ Managing usage profiles

๐ŸŽฏ Which model answersโ€‹

  • The provider and model come from the prompt first, then from the usage profile.
  • Agents run on the provider, model and temperature of their objective prompt.
  • A provider configuration can be tested from the admin.

โ†’ Configuring LLM providers

๐Ÿงพ Structured output and success criteriaโ€‹

  • A prompt version can declare the shape of the answer it expects.
  • An agent's success criteria are a list, judged one by one.

โ†’ Writing prompts

๐Ÿงฑ Code modulesโ€‹

  • JavaScript tools and libraries, written and published from the admin console.
  • Callable from plans, agents and chat, and run in the code sandbox.

โ†’ Code modules

โœ… Human reviewโ€‹

  • A review screen and a task queue to accept, correct or refuse extracted values.
  • Keyboard shortcuts, status tiles, CSV export.

โ†’ Human-in-the-loop review

๐Ÿ“Ž Documents and files in requestsโ€‹

  • Send PDFs and files to the model, as an upload or as a reference.
  • File connectors for the filesystem, FlowerDocs, FileNet and Alfresco.
  • Keep the files you send, on request.

โ†’ REST API reference

๐Ÿ”Ž Tool calls tracedโ€‹

  • Every request lists the tools it used, in the conversation view and in the plan run.

โ†’ Conversations and requests

๐Ÿงฌ NuExtract reworkโ€‹

  • Runs on the NuMind platform, with an extraction project or a JSON template.
  • Returns values, positions, or both, so the review screen can draw them.

โ†’ Configuring LLM providers

๐Ÿงฉ Plansโ€‹

  • Recovery branches: a step can run on success, on failure, or whatever happens.
  • A new flow tool stops a plan when a step found nothing.
  • A single signal endpoint to pause, resume or stop a run.

โ†’ Agentic plans

๐Ÿ—ƒ๏ธ FileNet and ICNโ€‹

  • Find folders by name, list subfolders, and read a document's text from a template.
  • A native Uxopian AI submenu in ICN, with actions defined as Uxopian AI scripts.

โ†’ Integrating with FileNet

๐Ÿ› ๏ธ For plugin authorsโ€‹

  • Tools can add guidance for the model, and ask for confirmation before a destructive action.
  • Providers can tell the platform when a quota is exhausted.

โ†’ Custom tools

๐ŸŒ REST APIโ€‹

  • Paginated lists with filters and facets, name availability checks, and a users/me endpoint.
  • OpenAPI is grouped by type.

โ†’ REST API reference


๐Ÿ—๏ธ Platform & improvementsโ€‹

  • ๐ŸŽจ A redesigned admin console: collapsible menu, one primary action per page, tabs that stay in the URL.
  • ๐Ÿ“‹ Lists that remember you: server-side search and filters, 25 rows per page, columns you can resize and reorder, double-click to edit.
  • ๐Ÿงช A better prompt tester: it stays available while you edit, and understands loops and conditions in your templates.
  • ๐Ÿท๏ธ Prompt tags, shown and filterable in the list, and prompt versions that tell who changed them and when.
  • ๐Ÿงฉ Easier plan runs: full-screen flow, shared payload, the output of each step.
  • ๐Ÿ“Š Accurate token counts: every completion of a tool-calling conversation is now counted, so statistics for those conversations go up.
  • ๐Ÿ’ฌ Chat memory fixed: the model now receives the most recent exchanges of a long conversation.
  • ๐Ÿšฆ Clearer provider errors: out of credit, rate limit and timeout each get their own explanation in Chat and Quick Prompt, without exposing the provider's message.
  • โšก Faster, quieter chat: the answer status comes before the stream opens, and conversations are saved at most once a minute.
  • ๐Ÿ”’ A stricter Content-Security-Policy on the admin console and the viewer.
  • ๐Ÿ”— Swagger link in the admin, and scripts that refresh as soon as they are published.

๐Ÿ› Bug fixesโ€‹

  • ๐Ÿ” FileNet tenants no longer share a cache, and full-text search works again.
  • ๐Ÿ“‚ Prompt categories with a space no longer break the prompt lists.
  • ๐ŸŒฑ Re-seeding no longer overwrites your customised global prompts.
  • ๐Ÿ’ฌ Chat: the history of an existing conversation displays, openChat reopens the right conversation, and Quick Prompt shows the answer to the right question.
  • ๐Ÿ“ˆ Statistics: the latest requests are no longer dropped, and per-user counts are right.
  • ๐Ÿ“„ Viewer: filesystem documents render again, and a value without a confidence score no longer empties the queue.
  • โœ๏ธ Admin editors: a new script can be edited right away, two plan nodes added at once keep their links, the template editor no longer garbles brackets, and the permissions editor keeps the tools you allowed one by one.
  • ๐Ÿงน Admin polish: every delete confirms its success, failed lists say so and offer a retry, and malformed ids answer a clear error.
  • ๐Ÿ•’ FlowerDocs date criteria are read in UTC.
  • ๐Ÿงญ Small fixes: the Quick Prompt priority hint, choices without a description, and the Reasoning toggle removed from the chat because it had no effect.

๐Ÿ”„ Upgrade notesโ€‹

From v2026.0.0-ft5โ€‹

No automatic migration is provided between fasttrack versions, so the upgrade is a new installation plus a transfer of your data. Here is what to do and what changes for your integrations. The details of every endpoint are in the REST API reference.

๐Ÿšš Your dataโ€‹

  1. Transfer your data (action required). The data model changed since ft5: new fields and indices, Applications replaced by usage profiles, entities identified by id. Export what you need (prompts, agents, plans, scripts, MCP servers, LLM providers, usage profiles) from the ft5 deployment and re-create it in 2026.0.0, or start fresh. Existing conversations and requests are not carried over unless you transfer them yourself. Applications become usage profiles: re-create them, or let the default profile be created on first use.

๐Ÿ› ๏ธ Installationโ€‹

  1. Internal auth secret (action required). INTERNAL_AUTH_JWT_SECRET is now required in every deployment, dev included: without it, uxopian-ai refuses to start. It must be at least 32 bytes and identical to the gateway's internal-auth.jwt.secret. Add it to your Docker, Java and compose configurations. The Helm chart already required it.
  2. Kubernetes (action required). The Helm chart always renders a NetworkPolicy: only the gateway can reach the API. Add any other direct caller (FlowerDocs or ICN pod, Prometheus) to networkPolicy.allowedClients, and check that your cluster enforces NetworkPolicy. Remove appConfig.openSearch.forceRefresh from your values.
  3. Embedding and clustering. The admin console and the viewer can no longer be framed in an iframe: embed through the web components. Nodes no longer find each other by Hazelcast auto-detection: on a single node or on a network without multicast, set HAZELCAST_MULTICAST_ENABLED=false.

๐Ÿ”Œ Integrationsโ€‹

  1. REST changes (action required for REST integrators).
    • Applications are now usage profiles: /api/v1/admin/usage-profiles instead of /api/v1/admin/application/application-conf, header X-Usage-Profile-Id instead of X-Application-Id.
    • Admin lists answer pages { collection, total, facets } of summaries with offset and limit, instead of a bare array.
    • Scripts, MCP servers, usage profiles and code modules are identified by id alone: the name field is gone.
    • Content type image is renamed base64, and inline file data is read through a dedicated route instead of being part of the request JSON.
    • Provider errors: 402 for an exhausted quota (do not retry), 429 for a rate limit, 504 for a timeout.
    • Plan runs are controlled by a single POST .../plan-executions/{id}/signal instead of /pause, /resume and /stop.
    • OpenAPI groups are now one per type: /v3/api-docs/Admin and /v3/api-docs/User no longer exist.
  2. Which model answers (action required). The provider and model now come from the prompt, then from the usage profile of the calling surface. The llm_provider, llm_model, temperature and reasoning query parameters are ignored, and there is no fallback on llm.default.* at call time: a call without a provider fails. A usage profile's prompt replaces the default base prompt instead of being added to it.
  3. Web components. window.createChat now requires request and loses promptId; to launch a prompt, put a PROMPT input in the request.
  4. NuExtract (action required if you use it). Point the provider at https://bbox.nuextract.ai, remove modelId, and set the extra project: sprj_... (or start your prompt with a JSON template). The answer shape is now {"result", "localization"}, with no streaming.
  5. Custom plugins (action required for plugin authors). Rebuild your plugins and fix the imports: the integration API moved packages, AiContext and AuthenticatedUser are immutable, and HostActionDispatcher is now ClientActionDispatcher.

Ready to start? Check out the Quick Start or the full Installation Guide.