Release 2026.11.05-1
Administrator keys, an Import log and plain text file import arrive in preview, sessions and password changes are tighter, and application logs keep document content and personal details out.
- Cloud, United States
- Cloud, Australia
- Self-hosted image
- ghcr.io/docaifabric/docaifabric:2026.11.05-1
Security
- Sessions now end after 7 days without use and 30 days after sign-in, however much they are used. Anyone signed in for more than a month signs in again once after the update.
- Setting a new password now signs you out of your other sessions and disconnects your connected agents; connect them again with the new password. The same applies when you reset it from the emailed link.
- Ending a session (signing out, revoking it, deactivating the account or setting a new password) now always takes effect, even while the session is in use.
- Session, password reset and invitation tokens are no longer written to the application log. Without email set up, a password reset request is now refused instead of writing the link’s token there.
- The log lines the application writes no longer carry values, text or model answers from documents, file names, email addresses, or the names of document classes, fields, rules and API clients; they use ids, and request lines show the route and ids only, never search text or the client’s IP address. Emails, keys and tokens that reach a log line by mistake are masked before it is written, and model endpoint API keys are never logged. This work continues in the next releases.
- Behind our global edge network, sign-in limits and the audit log now use each visitor’s own address, so one visitor’s failed sign-ins can no longer slow down others.
- Changing a tenant’s name, description or metadata through the API now requires the Manage tenant permission, the same as renaming it in the app. A renamed tenant shows its new name everywhere, and the audit log retention set by the platform operator can no longer be changed this way.
- Changes to the deployment’s single sign-on now appear in the audit log of every tenant they affect.
- The Sub-processors page now says that the AI assistance our engineers use may read a tenant’s configuration and processing status. It never receives documents or extracted data.
- Third-party packages updated to releases with security fixes.
New
- Administrator keys (Preview): give an AI agent, a script or a colleague a key that opens only part of the deployment’s administration (settings and models, the audit log, or single sign-on), read-only if it only reads and always with an expiry. Open a tenant for support with a short-lived key: the tenant sees it with a Support badge, its administrators are emailed the reason, and they can revoke it. Changes that decide where email, links or model calls go wait for your confirmation in the admin MCP, which the SaaS service now serves too. See Administrator keys.
- Import log (Preview): see every document that did not get in during the last week, and why: an upload refused, a connector item moved to its failure folder, a mailbox or folder that could not be reached. It is on the Monitoring page, counted under Processing issues, with Retry for a connector’s item. See Import log.
- Text file import (Preview): upload plain text files (.txt), or drop them in a hotfolder or a ZIP archive. They are laid out on pages and processed like any PDF, with their exact text read and no OCR. See Text file import.
Improved
- A workflow with a step that can never run is shown as an error in the workflow editor and cannot be published, and its transactions stop before processing starts instead of failing at the end. The editor marks on the canvas the steps an error or warning is about, and shows a step that cannot run because of another step with a dashed outline.
- Saving a classification rule or an SLA script now refuses code that could never run, as rules and Data Transform scripts already did, naming where it is. Importing a project or getting one from the Library lists any such code, so you can fix it before publishing.
- When a table’s rows stop before the end of the table, Extract now says so with a processing warning naming the table and the page of its last row, instead of storing it as complete.
- The Processing issues section on the Monitoring page counts import problems in an Import column, replacing Connectors: refused uploads, failed connector items and connector outages, with each import connector’s state now.
- The Failed items list of an import connector on the Monitoring page (formerly Skipped items) now covers the last seven days and is kept when the service restarts.
- The Models page shows and sets a model’s Max output (tokens), the most it may write in one answer.
- Testing a model shows each endpoint’s token quota and what a page image and each script’s text cost in tokens.
- The Activity Log shows each step’s model tokens, the pages sent and how long the answers were against the length asked for. Evaluation’s Cost tab shows tokens per step, with or without model prices.
- The Assistant can change the review priority of a Failed transaction, as My Work Queue does.
- When the Assistant’s model cannot read the page images it is sent, the Assistant now says so and suggests marking the model as text-only, instead of showing a general error.
- An organization’s administrator now sets its country of registration, and whether it may be introduced to an authorized partner, under Organization settings in the profile menu.
- Subscribe to the weekly release notes email from docaifabric.com/release-notes, or tick Release notes on any subscribe form on the website. The forms are also less likely to turn visitors away when several people sign up in the same hour.
- Data Processing Agreement 1.2 and Privacy Policy 1.4 describe when our engineers’ AI assistant, Anthropic, may analyse customer content for support, development and operations, and how long the copies are kept.
- Self-hosted:
da admin models addandupdatetake--modalities textto mark a model that does not read images.
Fixed
- A complete model answer ending in one stray bracket is now accepted instead of being sent to the model again, which saves tokens and time on long documents.
- A table row returned with too many or too few cells no longer gets a wrong page. When its values cannot be matched to the columns, the row is kept with confidence 0, Review flags it, and the Activity Log says how many rows of the table are affected.
- A table row placed on a page the model never received no longer gets a page that does not exist, and no longer marks the table as complete.
- A classification rule now assigns only a class its Classify step offers (its selected classes, or Unknown). A rule naming another class is ignored, the step classifies the document as usual, and the Activity Log says which class was ignored. The rule builder lists only the step’s classes.
- A document too large for the model deployment’s per-minute token quota now fails at once with the limit named, instead of waiting and retrying until the step times out.
- A model’s
max_output_tokensset through the Models API or withda modelsnow limits its answers. - A sign-up that fails partway now cleans up after itself, so the same email can sign up again. A sign-up that cannot give the new owner the Admin role now fails and can be retried, instead of creating an account with no administrator.
- An administrator can now clear what a failed sign-up or an interrupted tenant delete left behind, so that person can sign up again with the same email.
- A tenant deleted automatically after its licence expired now has its role assignments, API client and account records removed, as a manual deletion does.
- Deleting a tenant that does not exist now returns not found without changing anything or adding a deletion to the audit log.
- Removing a role or a user no longer reports success when storage failed to delete it.
- Escalating transactions from My Work Queue no longer undoes review details saved by processing at the same moment.
- An integration API key that names its project with
?project_id=can now list Agent Review tasks and approve or reject them through the REST API. - The dialog that explains why a lookup table can’t be deleted keeps its list of rules and its button inside the dialog, however long the rule names.
- The “Choose what you receive” page for update emails now links to Release notes as well as What’s new and Security advisories.
- Self-hosted: the standalone Compose file now passes the system model file and its override setting to the application, so the models can be kept in a file and applied again.
API
/admin/keysissues, lists and revokes administrator keys (root admin key only). Admin routes refuse a scoped key with 403admin_key_scope,admin_key_read_onlyoradmin_key_root_only.GET /admin/tenantsaddscreated_via,owner_user_idandowner_auth_method.- An organization’s limits (priority, request rates, queue depth, concurrent transactions) are set with
PATCH /admin/tenants/{id}andda admin tenant update. That route sets limits only and refuses other fields (422). The organization sets its country and partner choice withPATCH /auth/tenant/organization. - API clients no longer carry
can_create_tenantsorcan_list_all_tenants. DELETE /admin/tenants/{tenant_id}/remainsremoves what still refers to a tenant whose data is gone, andDELETE /admin/tenants/{tenant_id}now answerssteps_failed.- A model’s overrides no longer take
context_windowormax_output_tokens; they are the model’s own fields.
Removed
- The Admin API’s
/admin/clientsroutes and theda admin clientandda admin keycommands. An organization’s API keys are made on its Agents & API page, and the deployment’s administrator opens an organization with a support key. - A standalone
tablefield can no longer be added. Use a repeating group with the 2-D Table structure; existing settings keep loading.
Upgrade notes
- Deployments with a separate immutable audit container (
AUDIT_STORAGE_CONTAINERorAUDIT_STORAGE_BUCKET) now keep the deployment’s own audit stream there too. Before starting the new release, copysecurity/from the data container to the audit container (see Audit log administration, Immutable storage). - A model whose overrides set
max_output_tokensorcontext_windowis no longer limited by them. Move a value set for the whole model to the model’s own field (limits for a system model), and remove one set for a single task. - An API key of a client that is not one organization’s own, such as one made through
/admin/clientsto reach several organizations, stops working with401 client_not_tenant_scoped. Before upgrading, create an integration key on the Agents & API page of each organization such an integration uses.