On-Prem Release Notes - 2026
v0.178.0 — August 27, 2026
Consolidates changes from v0.178.0 since the previous on-prem stable release (v0.177.0). Platform OSS version: v0.186.2 (unchanged). No stateful component is version-bumped, no persistent volume or on-disk format changes, and nothing in this release is irreversible.
New Features
- Direct Microsoft Azure AD (Entra ID) sign-in, without Auth0: On-prem deployments can now authenticate users straight against a Microsoft Entra tenant, with no Auth0 application and no Auth0 in the login path — previously the only option was Entra brokered through Auth0. Users sign in with their Entra credentials, and their group membership (including nested groups) resolves to an Unstract role on every login. This is opt-in and off by default: existing installs keep authenticating through Auth0 with no change, and nothing new is rendered or mounted until you enable it. See Helm Configuration Changes below for what to set, and the Unstract Roles Guide for how groups map to roles.
Helm Configuration Changes
- To turn on direct Entra sign-in (Auth0 installs need no action — leave these alone): set
backend.configMap.AUTH_PROVIDER: "azure_ad"andglobal.sharedConfigs.authAzureAd.enabled: truetogether, supplyAZURE_AD_TENANT_ID,AZURE_AD_CLIENT_IDandAZURE_AD_CLIENT_SECRETin that group (or your ownauthAzureAd.existingSecret), and setENABLE_ENTERPRISE_SSO_SETUP: "True"withORG_NAMEandROLE_MAPPINGfilled in andingress.hostLookup.unstractmatching the host inglobal.host.baseUrl. The chart rejects a half-configured pair at render rather than letting it fail at first login.ROLE_MAPPINGentries use the Entra group's Object ID with"provider": "waad". Setup, the Microsoft Graph permissions the app registration needs, and the optionalAZURE_AD_*tuning values are covered in the enterprise SSO documentation. ENABLE_ENTERPRISE_SSO_SETUPmust now be a quoted string: the chart rejects the YAML booleanTrue/Falseat render. Unquoted, the value never matched the"True"the chart compares against, so the enterprise SSO setup Job was silently skipped with no error. Installs using"True"or"False"— including the shipped default — are unaffected; quote the value if you hand-edited it unquoted.frontend.imagePullPolicydefault changed fromAlwaystoIfNotPresent: the setting previously never reached the frontend Deployment and had no effect; it now does. If you deploy the frontend from a mutable tag and rely on a pod restart to pick up a new build, set it back toAlways. Pinned tags need no action.
v0.177.0 — August 20, 2026
Consolidates changes from v0.174.0, v0.175.0, v0.176.0 and v0.177.0 since the previous on-prem stable release (v0.173.1). Platform OSS version: v0.186.2 (from v0.179.1).
Three chart defaults change how this upgrade behaves. No stateful component (RabbitMQ, Redis, MinIO, Postgres, PgBouncer) is version-bumped and no persistent volume or on-disk format changes, so the upgrade is reversible — but review these before you start:
- Executor worker drain raised 300s → 3660s. A rolling upgrade or scale-down now waits up to ~61 minutes per executor pod for in-flight extractions to finish before terminating it. This is a ceiling, not a delay — idle pods still exit in seconds — but a busy cluster's rollout can take far longer than previous upgrades. Size your maintenance window for the longest extraction you expect to be running.
- Redis network access is now confined to the release namespace by default. The chart now ships
redis.networkPolicy.enabled: truewithallowExternal: falseplus a namespace-local ingress rule. No pods restart, but anything outside the Unstract namespace that connects to this Redis will lose access on upgrade. See Restricting Redis Network Access — if your cluster does not enforce NetworkPolicy, the policy is accepted and silently ignored, so nothing changes. - The connection pooler restarts.
TXN_POOL_SIZEdoubles from 100 to 200, which rolls thedb-proxypod and briefly drops pooled connections. Confirm your PostgreSQLmax_connectionshas headroom for the larger pool before upgrading.
New Features
- MCP servers for coding agents: Unstract now hosts two Model Context Protocol servers, so agents can run document extraction as tool calls instead of hand-built HTTP requests — one scoped to a single API deployment and authenticated with that deployment's API key, and one scoped to the organization and authenticated with a platform API key. Neither key works on the other server. See the MCP Server guide for setup.
- Global API deployment keys: A single API key can now authenticate against several API deployments in an organization — either an explicit set or all of them — instead of minting and rotating one key per deployment. Managed under Settings, with create, edit, rotate and delete.
- Grouped output for agentic table extraction: The agentic table extractor can now group extracted rows by a section value — nesting line items under each property or invoice, for example — with an optional summary line of totals per group. Grouping is driven by the shape of the project's output schema rather than a separate "Group Key(s)" setting (now removed), supports multiple group keys, and runs inside the main extraction pass instead of an extra pass over every page, so grouped extractions finish faster and cost less. Multi-sheet workbooks pick their sample sheets more accurately, and reasoning models that reject the temperature setting are now supported.
- Lookups on agentic table prompts: You can now attach a lookup to an agentic table prompt to enrich its extracted table — previously not possible at all. The lookup runs once over the whole table by default; an "Enrich each row separately" option runs it per row, with an up-front cost warning since that means one call per row. Rows that fail to enrich keep their original values and are reported in a summary rather than failing the run.
- Co-owners for shared resources: Agentic Prompt Studio projects and other shared resources can now have co-owners, so more than one person can manage and edit them. Co-owner addition and revocation send email notifications — see Helm Configuration Changes for the template IDs.
- Unpublish an exported tool: An exported Prompt Studio tool can now be removed from the registry without deleting the project behind it. A tool still attached to a workflow, pipeline or deployment is refused, and the refusal names what is blocking it. Note that unpublishing is not reversible in place: re-exporting mints a new tool identifier and does not carry over its existing shares, so anything holding the old identifier (saved workflow JSON, API collections, internal docs) must be updated.
- Paginated list pages: Workflows, Prompt Studio, adapter and connector lists now load a page at a time and search by name across all rows, so these pages stay fast as an organization grows. Adapter and Prompt Studio lists also show created and last-modified times, and the Agentic Prompt Studio project list is sortable with an owner column.
- MiniMax LLM adapter: MiniMax models can now be connected as an LLM adapter.
- Newer Amazon Bedrock model families: The OpenAI GPT-5.x, Google Gemma and xAI Grok families hosted on Amazon Bedrock now work — reported by an on-prem customer using
openai.gpt-5.6-terra. Model IDs are still entered bare; the adapter picks the right endpoint itself. Guardrails and application inference profiles are unavailable for these models and are stripped with a warning rather than silently appearing to be enforced. - Documentation links on every adapter and connector screen: Every Add Connector and Add LLM / Vector DB / Embedding / Text Extractor screen now links to that item's setup page, falling back to its category page.
- Opt-in LLM prompt caching: Prompt caching for Anthropic and Amazon Bedrock models can be switched on to cut cost and latency where a large document context is reused across many prompts on the same document. It is off by default and changes nothing until enabled — see Helm Configuration Changes.
Fixes & Improvements
- Execution logs for group- and org-shared users: Teammates who receive a deployment or pipeline through a group share or an organization-wide share now see its runs on the Logs page, which previously came up empty for them. Run logs, log exports and per-file results are now restricted to people the resource was actually shared with, instead of being readable by anyone in the organization holding the link.
- Shared Prompt Studio projects show model names: Output tiles now show the model name and icon for anyone who can open the project, not just its owner, and Prompt Studio ownership checks validate the person making the request rather than the profile creator.
- Connector names in agentic project settings are now displayed instead of being left blank.
- LLMWhisperer V2 line splitter strategy is applied: The strategy chosen on the LLMWhisperer Text Extractor-v2 adapter had never reached the service, so every extraction ran with the default. It now takes effect, and the document's file name appears in LLMWhisperer usage reports. Behaviour change: a stored value outside the supported choices now fails the extraction instead of being ignored — check any adapter configured with a non-standard value before upgrading.
- Extended Thinking beyond Claude: The "Enable Extended Thinking" control now maps to the reasoning-effort setting for non-Anthropic model families, where it previously had no effect.
- Single-pass extraction returns a clear error: A model that answers a single-pass extraction with prose or a list instead of structured output now produces an actionable error rather than an unexpected server error, both in the backend and at the internal worker API.
- Prompt Studio export and deploy: Fetching a response now falls back to the project's default LLM profile instead of failing when the prompt has none; tools exported with LLM Challenge enabled no longer fail validation at deployment; and registry listings keep the back-reference to the Prompt Studio project that produced each entry.
- Agentic table extraction robustness: Rows continuing across a page break are no longer split into separate records when the model returns the same identifier with different capitalization; single-group summaries fall back correctly; vision-mode output truncation is retried; and orphaned rows are adopted into their group instead of being dropped.
- API Hub usage tracking: Usage had stopped being recorded, so subscription dashboards no longer reflected the pages processed, with no error surfaced. Header lookups now retry on a cache miss, the completion check no longer races the status write, and usage resolves correctly on shared products where the subscriber differs from the account owning the underlying deployment.
- MCP requests are no longer blocked by subscription checks: Deployment-scoped MCP calls now pass through subscription validation instead of being rejected.
- List table presentation: The "Owned By" and "Updated" columns line up across every row on the Prompt Studio, adapter, connector and workflow lists, list titles match the Agentic Prompt Studio project list, and noisy tooltips have been removed.
- API keys no longer written to logs: The LLMWhisperer and API Hub portals stopped logging customer API keys in plain text — the bridge previously dumped the full request header set on every authenticated request, and the portal logged the decrypted key on the provisioning, rotation and billing paths. Logging-only change; no schema, config or API change.
Helm Configuration Changes
- OpenTelemetry transport default changed to
http/protobuf:otel.configMap.OTEL_EXPORTER_OTLP_PROTOCOLinsample.on-prem.values.yamlnow defaults tohttp/protobufinstead ofgrpc, and the endpoint example is a full URL on port 4318 rather thanhost:porton 4317. Action required if you enabled tracing at v0.173.0 withgrpc: gRPC does not work reliably with the prefork worker pool the Celery workers use, so switch tohttp/protobufand updateOTEL_EXPORTER_OTLP_ENDPOINTto the matching URL. See On-Prem Observability & Tracing. - Redis ingress confined to the release namespace (new default):
redis.networkPolicy.enabled: truewithallowExternal: falseand a namespace-localextraIngressrule for ports 6379 and 26379. This closes an unauthenticated cross-namespaceREPLICAOFpath that can turn the instance read-only and flush its keyspace. No operator action is needed to adopt it; see the warning above and Restricting Redis Network Access if you need to widen it again. Note that enablingredis.metricsre-opens the port cluster-wide through the subchart's own metrics rule.
v0.173.1 — July 15, 2026
Consolidates changes from v0.173.1 since v0.173.0. Platform OSS version: v0.179.1 (from v0.178.1).
New Features
- Mistral embedding adapter: Added a
mistral-embedembedding adapter for indexing and retrieval with Mistral's embedding model.
Fixes & Improvements
- Newer Claude models no longer error on temperature: The deprecated
temperatureparameter is now stripped for Claude Sonnet 5 and other post-4.7 models that reject it, so prompts against these models run without adapter errors. - Output Analyzer shows the profile name: Output Analyzer tabs now display the LLM profile name instead of the underlying LLM name, making profiles easier to tell apart.
Helm Configuration Changes
- No manual
values.yamlchanges are required for this release.
v0.173.0 — July 13, 2026
Consolidates changes from v0.173.0 since the previous on-prem stable release (v0.172.0). Platform OSS version: v0.178.1 (from v0.177.7).
Helm Configuration Changes
- OpenTelemetry tracing is now a single chart flag: The
unstract-platformchart can enable OpenTelemetry tracing across all backend, web, and worker services by settingotel.enabled: trueand pointing the exporter at your OTLP collector — previously on-prem had no built-in tracing option. The flag defaults tofalseand the disabled render is unchanged, so no action is required unless you want to turn tracing on. See On-Prem Observability & Tracing for setup.
v0.172.0 — July 6, 2026
Consolidates changes from v0.171.2 and v0.172.0 since the previous on-prem stable release (v0.171.1). Platform OSS version: v0.177.7 (from v0.177.6).
New Features
- Restrict adapter and connector creation to org admins: A new organization setting lets admins restrict who can create LLM adapters and connectors to organization admins only. When it's on, non-admin members work from the shared adapters and connectors an admin has already set up. The toggle lives in Platform Settings and is off by default, so existing behavior is unchanged until you enable it.
- Rotate platform API keys via the API: Platform API keys on the
full_accesstier can now call the key rotation endpoint, so credentials can be rotated through automation instead of only from the admin UI. - See your running platform version: The profile page now shows the platform version you're currently on, making it easy to reference the exact version when reporting an issue.
Fixes & Improvements
- API deployment runs no longer get stuck on staging failures: When an API deployment run fails while staging its input file, the execution is now marked as failed with the error reason instead of appearing to run indefinitely.
Helm Configuration Changes
- No manual
values.yamlchanges are required for this release.
v0.171.1 — July 1, 2026
Consolidates changes from v0.170.1, v0.170.2, v0.171.0 and v0.171.1 since the previous on-prem stable release (v0.170.0). Platform OSS version: v0.177.6 (from v0.176.3).
New Features
- Excel support for agentic table extraction: The agentic table extractor now accepts Excel (
.xlsx/.xls) files, including multi-sheet workbooks with per-sheet extraction and code generation.
Fixes & Improvements
- Agentic table/content extraction robustness: The content extractor now handles LLM output truncation with a split-text retry, and code-generation prompts explicitly list allowed modules to prevent retries triggered by disallowed imports.
- Structure tool non-object output: The structure tool no longer crashes when single-pass extraction returns a value that is not a structured object.
- Lookups: An orphaned assignment no longer blocks lookup deletion, and switching the extractor now correctly re-extracts.
- DRF security hardening: Django REST Framework bumped to 3.17 to address a vulnerability; the automatic
UniqueTogetherValidatoris dropped on upsert/catch serializers, and the central DRF error path now surfacesnon_field_errorsand names resources in404responses. - Long S3 presigned URLs:
URLValidatormax_lengthraised to 8192 so long Amazon S3 presigned URLs validate successfully instead of being rejected. - Frontend rendering and performance (UN-3185): Restored global Prism initialization for
prismjsadd-ons, fixing blank Prompt Studio detail and HITL pages; deterministic single-bundle CSS cascade with asset gzip; lazy-loaded verticals and LLMWhisperer route pages; deferred login-route chunks with fingerprinted-asset caching; and Edit LLM Profile modal/layout fixes. - LLMWhisperer adapter env knobs are now surfaced in the workers
sample.env.
Helm Configuration Changes
- MinIO object-storage credentials (fixes 403s): MinIO server credentials now follow the storage block, and the MinIO HA tenant boots correctly even when root credentials contain stray quotes — both resolving intermittent
403errors on object storage. INTERNAL_SERVICE_API_KEYandDJANGO_SECRET_KEYnow ship as chart defaults and have been removed from the on-prem values file. Required: set your own secure values for both keys before deploying — the chart-bundled defaults are identical across every download and must not be used in any environment.- Opt-in Redis Sentinel cold-start guard overlay to harden Redis Sentinel HA start-up.
- Opt-in
PriorityClassfor critical stateful HA components (Redis, RabbitMQ, MinIO), so they are scheduled ahead of lower-priority workloads under resource pressure. - Single
global.nodeSelectorknob: one node-selector value is now bridged to the Bitnami Redis/RabbitMQ/MinIO subcharts via Sentinel, replacing per-subchart node-selector configuration. - Enterprise SSO setup Job is now pinned to a fixed backend image tag instead of a floating tag.
- Decommissioned services:
prompt-service,rentroll-service,tool-structure, and the legacy SDK1 prompt module are removed — fewer images to mirror for air-gapped installs. On upgrade, remove any blocks referencing these services from your customvalues.yamloverrides.
v0.170.0 — June 24, 2026
Consolidates changes from v0.168.0, v0.169.0, v0.169.1, v0.169.2 and v0.170.0 since the previous on-prem stable release (v0.167.0).
New Features
- User groups and group-based sharing: Users can now be organized into groups, and projects, adapters, and resources can be shared with an entire group instead of one user at a time. Group-based sharing works across Prompt Studio, Agentic Prompt Studio, and workflows, and adapters shared with a group can be used directly in Prompt Studio and workflows.
- NVIDIA Build and OpenRouter adapters: New OpenAI-compatible LLM and embedding adapters for NVIDIA Build and OpenRouter, expanding the set of model providers you can connect.
- Clearer adapter configuration forms: Adapter setup forms now display their fields in a defined order, with the Amazon Bedrock adapter surfacing its authentication fields more prominently.
- Automatic default LLM profile in Prompt Studio: New Prompt Studio projects now start with a default LLM profile created for you, and the document-upload tooltip is clearer about what to do next.
- Prompt Studio project transfer keeps per-prompt settings: Transferring a Prompt Studio project now carries each prompt's table and agentic extraction settings along with it, so a transferred project behaves the same as the original without manual reconfiguration.
- Batched, failure-only notifications: Notifications can now be grouped per time window, with an option to be notified only when runs fail.
- Quick access to execution logs: Running a workflow now shows an alert with a direct link to its execution logs, so you can jump straight to the run details.
Fixes & Improvements
- Adapters in use are protected from deletion: You can no longer delete an adapter that is still used by a workflow tool instance, preventing workflows from breaking unexpectedly.
- Google Drive connector: The Google Drive folder browser no longer breaks when a folder contains Google Docs files, and Google Drive connections now work reliably across all execution workers.
- Correct LLMWhisperer adapter key label: The API key field on the LLMWhisperer adapter is now labeled "LLMWhisperer Key" instead of the misleading "Unstract Key".
- Org admins and service accounts see all lookups: Organization admins and service accounts now have visibility into every lookup in the organization.
- Cleaner sharing dialogs: Organization admins no longer show up as redundant entries in resource sharing lists or the share dropdown, and project shares now also apply to exported Prompt Studio tools.
- Last org admin protection: The last remaining organization admin can no longer accidentally demote themselves.
Helm Configuration Changes
This is the largest chart-configuration window of the year — review before upgrading from v0.167.0.
global.sharedConfigssecret/configmap restructure (breaking): per-service secrets and configmaps are replaced by shared templates rendered as<release>-<config>, consumed via per-serviceadditionalConfigs/envFrom. Values are consolidated into a singlesample.on-prem.values.yaml(plus basevalues.yaml) and the oldsample.on-prem.secret.yamlis removed. Migrate any custom secret overlay intoglobal.sharedConfigs; each shared config still accepts anexistingSecretoverride. A deriveddatabaseAliasessecret (PG_BE_*,DB_USERNAME,REDIS_USERNAME) now fails the render fast if its inputs are missing.- RabbitMQ bumped to
4.1.3-management(was3.13.7-management): the broker rolls with a brief downtime on upgrade and cannot be downgraded once volumes are at the 4.x format. If you self-mirror images, pull the new tag before upgrading. - Single image registry knob —
global.image.registry: set once to redirect every chart image (core services, all workers, init/tool images, redis, minio + minio-mc, rabbitmq, pgbouncer, libreoffice) to your private registry. Ensure the mirror is complete before upgrading air-gapped/ECR installs. - Image pull secrets consolidated onto
global.imagePullSecrets: thegcr.registryblock is removed (.Values.gcr.*no longer exists).global.sharedConfigs.imageRegistry.IMAGE_PULL_SECRET_NAMEnow defaults tonulland is derived from the firstglobal.imagePullSecretsentry — move anygcr.registry.namevalue there. The in-cluster RabbitMQ broker now also receivesglobal.imagePullSecrets(fixesImagePullBackOffon private-registry brokers). - Optional automated enterprise SSO group-to-role mapping: new backend configMap keys
ENABLE_ENTERPRISE_SSO_SETUP(default"False"),ORG_NAME, andROLE_MAPPING(default"[]") run a gated one-time Job that declaratively reconciles IdP group → Unstract role mappings on install/upgrade. An emptyROLE_MAPPINGclears all mappings. See the Unstract Roles Guide for setup. list-onprem-images.shis no longer bundled in the chart: download the unified script fromhttps://docs.unstract.com/unstract/files/list-onprem-images.shand run it withunstractas the target argument (./list-onprem-images.sh unstract …) to enumerate the images to mirror. See the Helm Chart Container Images guide for full usage.
v0.167.0 — June 1, 2026
Consolidates changes from v0.166.0 and v0.167.0 since the previous on-prem stable release (v0.165.0). Platform OSS version: v0.172.0.
New Features
- AWS Bedrock Guardrails: The Amazon Bedrock LLM adapter now accepts a Guardrail identifier and version, applying the configured AWS Bedrock Guardrail to prompts and responses for content filtering and safety enforcement.
- Full document text in API responses: API deployment responses can return the full extracted text of the input file alongside the structured output, removing the need for a separate call to fetch source text.
- Frontend request ID propagation: The frontend now forwards a request ID through the request chain and surfaces it on error notifications, enabling end-to-end correlation of failures from UI to backend logs.
Fixes & Improvements
- Adapter key persistence on tool instances:
adapter_keyis now stamped alongsideadapter_id_keywhen a tool instance is PATCHed, fixing cases where an adapter change was not fully persisted on the tool instance. - Apostrophes in Platform API Key names: Platform API Key name and description fields now accept apostrophes, so values like
Acme's keyare no longer rejected at validation. - LLMWhisperer: portal/bridge image bumped to
v0.26.0.
Helm Configuration Changes
helm-schema-genplugin is now registered in the marketplace and an empty-anchor YAML issue in the chart values was fixed, sovalues.yamlschema generation works without manual anchor patching. No action required unless you maintain a fork of the chart values.
v0.165.0 — May 27, 2026
Consolidates changes from v0.164.0 and v0.165.0 since the previous on-prem stable release (v0.163.0).
New Features
- Agentic Prompt Studio onboarding: A sample project, guided empty states on each step, and a dashboard CTA accelerate first-run discovery of Agentic Prompt Studio. Onboarding template assets are bundled with the release and the stepper is gated sequentially.
- OpenAI-compatible LLM adapter: A dedicated adapter for any provider that speaks the OpenAI API (self-hosted gateways and OpenAI's own gpt-5 / o-series models), separate from the standard OpenAI adapter. Zero-cost tracking is wired in for free-tier endpoints.
- Prompt Studio HITL feedback indicator: Prompt Studio surfaces a change indicator when a prompt's output has been edited via the HITL feedback loop. A new plugin slot lets enterprise plugins customize the indicator.
Fixes & Improvements
- Org admin access to all organization resources: Org admins now have full access to every resource in their organization — Prompt Studio projects, adapters, and shared
ProfileManagerprofiles — without each resource being explicitly shared with them. The Python SDK exposes equivalent service-account-level access for automated org-to-org migration flows. - Large file uploads in Prompt Studio: File uploads stream directly to remote storage instead of being buffered in backend memory, removing the backend-memory ceiling on document size.
- Default triad adapters for invited users: Invited users now inherit the organization's default LLM, embedding, and vector DB adapters on first login, removing the manual adapter-selection step.
- Table extraction — cross-page orphan rows: Subtable values placed by the LLM into the main values payload are now merged into the parent row across page boundaries, fixing orphaned rows on multi-page tables.
Helm Configuration Changes
ENABLE_HIGHLIGHT_API_DEPLOYMENTis now enabled by default in the on-prem chart values, surfacing source-document highlighting for API deployments. Override in yourvalues.yamlif you previously kept it off.bulk-downloadworker: pinned to a single replica with HPA disabled. If yourvalues.yamlpreviously enabled autoscaling for this worker, the override is now ineffective — review and remove it.
v0.163.0 — May 18, 2026
New Features
- Lookups V2 — post-extraction LLM enrichment for Prompt Studio: A new enrichment stage runs additional LLM lookups on already-extracted data, letting you cross-reference and normalize values without a second extraction pass. Includes lookup reference file upload and sharing-notification emails when a lookup is shared with another user. See Look-Ups for details.
- AWS Bedrock bearer token authentication: Bedrock LLM and embedding adapters now support
AWS_BEARER_TOKEN_BEDROCKauthentication, an alternative to static keys and IRSA for environments that prefer a simpler, long-term API key over provisioning an IAM user. Note: short-lived/refreshing tokens are not supported. - Workflow execution log export: The workflow execution logs modal can now export logs as CSV or JSON for offline analysis and sharing.
full_accesspermission tier: A newfull_accesspermission tier authorizes DELETE operations on the Platform API.
Fixes & Improvements
- Lookups: fixed a 500 error on lookup reference file upload; the public share viewer now skips lookup probes and defaults to the Enriched view; restored Prompt Studio public sharing after the Lookups V2 wiring; fixed the empty Default tab in Prompt Studio Combined Output.
- Tool-run logs: cloud plugin tool-run logs now stream to the workflow execution UI; log output was trimmed and clarified, and
log_events_idis restored on tool-run dispatch so logs persist even without an active UI subscriber. - Adapters: deprecated sampling parameters are stripped for Claude Opus 4.7; fixed the Bedrock bearer token being lost on
LLM.complete()re-validation. - Usage metrics: embedding usage records are flushed on the indexing path, line-item executor usage records propagate up the prompt chain, and single-pass lookup metrics are aggregated under a single
lookup_llmlist. - Observability: worker logs are now bound to
request_idand trace context for end-to-end correlation.
Helm Configuration Changes
- New
REMOTE_LOOKUP_FILE_PATHbackend config (# <REQUIRED>) — remote storage path for Lookups V2 data (e.g.<bucket-name>/lookups). Set this before upgrading. - Redis and MinIO now create dedicated ServiceAccounts by default (
serviceAccount.create: true,automountServiceAccountToken: false), so the chart works out of the box on clusters whose admission policies prohibit thedefaultservice account. - The
worker-executor-v2baseline is now part of the chart defaults, with db-proxy PodDisruptionBudget alignment. - IRSA service accounts are now attached to S3-touching worker deployments.
v0.162.0 — May 11, 2026
New Features
- HITL audit logging, change tracking, and statistics: Comprehensive audit trail for Human-in-the-Loop reviews — captures per-leaf JSON diffs, classifies row add/delete operations on list-valued fields, and surfaces edit markers in the audit UI.
- Agentic table extractor plugin: New multi-agent, LLM-powered table extraction plugin (
agentic_table_settings_v2) for complex tabular documents. - Gemini embedding adapter for Google AI Studio: New embedding adapter with
gemini-embedding-001as the default model. See Gemini embedding adapter for details. DISABLE_SSO_IDP_AUTHORIZATIONflag: New configuration flag to control SSO IdP authorization behavior for user management. See Enterprise SSO — On-Prem for details.- Live tool-run log streaming: Tool-run logs now stream into the workflow execution UI with markdown rendering.
- MinIO ILM lifecycle rules codified in Helm: Object lifecycle (ILM) rules for MinIO are now part of the Helm chart, enabling automated cleanup without manual
mccommands.
Fixes & Improvements
- HITL: workflow deletion is no longer blocked when audit logs exist; restored the change history drawer; fixed audit plugin CSS that broke the adapter modal layout.
- S3 connector: lists only buckets the configured credentials can actually browse and drops cross-region buckets from the picker.
- SharePoint connector: more reliable
site_url/drive_idpersistence and safer OAuth token refresh — fewer re-auth prompts on long-running pipelines. - LLM & embedding reliability: unified retry logic across LLM and embedding providers reduces transient failures during prompt runs and indexing.
- CORS: SocketIO and Django now accept wildcard subdomain origins, making multi-tenant subdomain deployments work out of the box.
- Observability:
workerExecutorV2is now wrapped with OpenTelemetry auto-instrumentation, so worker spans show up alongside backend traces.
Helm Configuration Changes
- New plugin config
agentic_table_settings_v2added to on-prem configuration and Docker build (required to enable the agentic table extractor). - New
DISABLE_SSO_IDP_AUTHORIZATIONenvironment flag for SSO user management. - MinIO ILM lifecycle rules are now codified in the Helm chart — review existing manual ILM policies before upgrading to avoid conflicts.
- Removed unused
MODEL_PRICESenvironment variables fromplatform-servicecharts.
v0.159.4 — May 20, 2026
Hotfix on the v0.159.3 line. Does not pull in features from v0.160.x–v0.163.x.
Security
- litellm CVE-2026-42208 (UN — OSS HOTFIX): Bumps
litellmfrom the Zipstack GitHub fork (1.82.3) to 1.83.10 from PyPI, clearing the SQL injection inlitellm.proxyauth (affects 1.81.16–1.83.6). Unstract does not uselitellm.proxy, but third-party scanners flag the installed package regardless.
Helm Configuration Changes
- No new variables or required secrets.
v0.159.3 — May 7, 2026
New Features
- AWS Bedrock IAM Role / Instance Profile authentication: New Authentication Type selector on the Bedrock LLM and embedding adapters lets EKS-hosted deployments authenticate via IRSA, instance profile, or task role — no static AWS access keys required. When the IAM Role mode is selected,
boto3's default credential chain takes over, picking up the pod's ambient identity. See the AWS IRSA Setup for EKS Deployments guide for end-to-end setup including OIDC provider association, IAM role + trust policy creation, and verification.
v0.158.4 — March 27, 2026
New Features
- AWS S3 IRSA authentication: Support for IAM Roles for Service Accounts (IRSA) on both S3 storage and S3 connectors, eliminating the need for static credentials in EKS deployments
- HTTP session lifecycle management: Managed HTTP session pooling for workers API clients, improving connection reuse and reliability
Fixes & Improvements
- Added TTL to API HITL settings and fixed NaN TTL display
- Security hardening: cookie security attributes and XSS prevention headers
- Added input validation and Content Security Policy (CSP) headers across backend and frontend
- Frontend CSP adjustments for RJSF form rendering (
unsafe-eval) and PDF viewer (blob:) - Switched litellm to Zipstack fork after PyPI quarantine
- Upgraded litellm to 1.82.3 to fix Azure OpenAI connection errors
- Monkey-patched litellm Cohere embed timeout for Bedrock embeddings
- Added LLMCompat bridge class to fix retriever LLM compatibility with llama-index
- Handle LLM refusal responses to prevent NoneType errors
- Include adapter name in error messages for easier debugging
Helm Configuration Changes
- Hardcoded image references now configurable via
values.yaml— previously hardcoded container image paths can be overridden for air-gapped or custom registry deployments
v0.158.0 — March 19, 2026
New Features
- Platform API keys for programmatic access to the Unstract Platform API. Organization admins can create, list, update, rotate, and delete API keys via the UI under Platform > Platform API Keys. Keys provide Bearer token authentication for all Platform API endpoints. See Platform API Keys documentation for details.
- Service account access bypass for pluggable apps, enabling automated integrations without manual permission grants
- Agentic Prompt Studio (beta): new backend and frontend for agentic document extraction workflows. See Agentic Prompt Studio for details.
- HITL enhancements: sidebar navigation, queue deletion, nested table support, fetch-specific for targeted document review, reviewer name display on in-review documents, and default TTL changed from unlimited to 90 days. See HITL documentation for details.
- CSV, TXT, and Excel file support in Prompt Studio file converter
- Dashboard metrics system with plan banner, welcome card, and subscription usage tab
- Card-based layout for Pipelines and API Deployments listing pages
- Profile page now displays role and organization info
- 1M context support for Anthropic LLM adapters
- Vertex AI
vertex_locationsupport for regional endpoint configuration. See Gemini Pro adapter for details. total_pages_processedexposed in execution API response and worker destination metadata- SharePoint/OneDrive connector for filesystem integration. See Connectors for details.
- Azure AI Foundry adapter for LLM access
- Redis Sentinel HA support with dual-mode configuration for backend, Celery, cache, tool containers, sidecars, and manual review queue. See HA Deployment for details.
- RabbitMQ HA with configurable quorum queues. See HA Deployment for details.
- MinIO HA support via optional MinIO Operator. See HA Deployment for details.
- OAuth product scope added to login/signup authorization requests
- Dynamic plugin loading infrastructure for enterprise components, migrations, and rule engine
- Sidebar expand-on-hover UX improvement
- Documentation link popover for connectors in the UI
- Workflow deletion errors now show specific pipeline/API deployment names
Fixes & Improvements
- HITL reliability: PostgreSQL count mismatch and slow query optimizations, bulk queries with lrange, soft-delete for DB-synced records, TTL display in days, rule engine nested array flattening fix, API rules evaluation fix after removal, add-row race condition fix, and queue metadata backfill migration
- Custom data support added to single pass extraction; fixed string values being wrapped in extra quotes. See Custom Data for details.
- PostgreSQL race condition in concurrent table creation handled
- Memory and resource leak fixes: database cursor closure in subscription usage handler, platform-service resource leaks
- Ollama adapters fixed post LiteLLM migration. See Ollama adapter for details.
- Packet processing final fetch response API fix
- Role update failures for existing users resolved
- LLMWhisperer API key lookup database fallback added; client retry backoff configuration added
- SIGTERM trap handlers for graceful container shutdown
- Worker API timeout increased to prevent stuck executions during cron storms
- Vertex AI thinking config skip for pro models when disabled
- Azure OpenAI cost tracking now uses actual model name
- Worker query optimization and retry configuration improvements
- fsspec directory listing cache fix on connectors (including Azure listings expiry regression)
- SharePoint
walk()now supportsdetail=True - Secure cookie settings and CSRF cookie secure attribute enabled
- Forbidden email handling in Auth0 OAuth callback
- PDF viewer error fallback when document fails to load
- Frontend migrated from Create React App to Vite
- Export reminder state persists across page reloads
- HTTP 409 returned when tool image not found in container registry
- Legacy Celery file processing workers and dead code removed
Helm Configuration Changes
- Redis Sentinel HA: new
REDIS_SENTINEL_MODEenv var added to prompt, runner, and multi-az values for dual-mode (standalone/sentinel) support - RabbitMQ HA: configurable quorum queues support added
- MinIO HA: optional MinIO Operator support (operator deployed separately)
- HITL worker secrets added to on-prem secret template
- Agentic Studio apps and URLs added to on-prem configuration
- Backfill metrics enabled by default for on-prem deployments
MODEL_PRICES_TTL_IN_DAYSchanged from 7 to 1- Legacy worker templates removed:
useUnifiedWorkerstoggle andworkerLoggingconfig no longer needed