Platform, Configuration & Security
Two changes here will stop a 2.0 server from behaving as expected with a 1.13 configuration: the LLM and embedding configuration move, and the new session limits.LLM and embedding configuration moved
Provider configuration is no longer nested insideelasticsearch.naturalLanguageSearch. It moves to a
new top-level llmConfiguration block, with embeddings as a sub-section that reuses the same
provider credentials.
Removed from naturalLanguageSearch
naturalLanguageSearch: semanticSearchEnabled, knnNumCandidatesMultiplier
(new, default 2) and a new filterExtractor block.
The 2.0 shape
conf/openmetadata.yaml
Environment variable renames
The embedding-specific variables keep their names but move under
llmConfiguration.embeddings.
Unchanged: NATURAL_LANGUAGE_SEARCH_ENABLED, SEMANTIC_SEARCH_ENABLED, EMBEDDING_PROVIDER,
MAX_CONCURRENT_EMBEDDING_REQUESTS, the COLLATE_NLQ_CACHE_*
variables, and every *_EMBEDDING_MODEL_ID / *_EMBEDDING_DIMENSION variable.
Natural-language query settings consolidate
This configuration work applies to self-managed and BYOC deployments. On fully managed instances
Collate applies it for you.
Session management
Sessions are database-backed
Behavioural. Affects multi-pod deployments.
user_session table so sessions survive pod restarts and are shared across pods.
Previously each pod held its own in-memory session state, which caused spurious logouts behind a load
balancer without sticky sessions.
Concurrent sessions are capped per user
sessionExpiry
now applies to all auth providers with a minimum of 3600 s. oidcConfiguration.sessionExpiry
becomes a deprecated fallback.
Trusted redirect URIs are now required for the browser extension
Additional trusted redirect URIs
Additive.
additionalTrustedRedirectUris allows redirect URIs beyond the callback URL and the
server’s own callbacks. Each entry must match the requested URI exactly. Intended for
browser-extension logins.RelayState, and the OIDC login loop is hardened with an
interactive fallback that preserves pending logins.
Admin test-login
Additive.
POST /v1/system/security/test-login/validate-token validates a browser-obtained OIDC
id_token against a candidate (unsaved) security configuration, so an admin can confirm a real
login resolves the expected identity before saving.LDAP
Additive.
recursiveGroupMembership (default false) enables transitive group resolution for
Active Directory nested groups.Database connection timeouts changed
Server & logging configuration
HTTP/2 is available (opt-in)
Additive.
Response compression enabled
Behavioural.
server.gzip.enabled is now true. Responses above roughly 256 bytes are gzipped.
Clients that mishandle Content-Encoding: gzip need Accept-Encoding: identity.Logging hardening
Behavioural and security-relevant.
LOG_LEVEL sets the root logger, and at DEBUG the HTTP parser prints every request header
verbatim, including Authorization: Bearer <jwt> and session cookies. Since DEBUG is exactly what
support asks customers to enable, and those logs get attached to tickets, the Jetty logger is now
pinned independently via JETTY_LOG_LEVEL.
Audit entries are logged at INFO with an audit marker and routed to logs/audit.log, and a filter
keeps them out of the console appender.
Object storage configuration expanded
Behavioural. Affects deployments using file attachments.
objectStorage block gains full s3 and azure sub-sections:
- S3: endpoint, bucket, region, credentials, IAM role, prefix path, SSE algorithm and KMS key.
- Azure: container, connection string, managed identity and blob endpoint.
provider changes from NOOP to s3, but
enabled still defaults to false, so nothing activates until you turn it on.
This backs the new /v1/attachments API for uploaded assets. For MinIO, use provider s3 and point
s3.endpoint at the MinIO server.
SCIM provisioning moves
Behavioural. SCIM provisioning is decoupled from SSO and now lives under
Settings > Team and Users > Provisioning. The capability is unchanged. Only its location in
Settings moved.
Hybrid Runner and AI Platform images are distroless
The 2.0.0 database migration
New tables
Altered tables
background_jobsgainsprogress,total,result,error,message,cancelRequested,completedAt.tag_usagegainsmetadata JSON.audit_log_eventgainssearch_text.thread_entityis renamed tothread_entity_legacy.
Data migrations
Index additions
Many, including(deleted, name) and (deleted, serviceType) composites on all 13 service
tables (for /v1/services/overview), name indexes on the new entity tables so the distributed
reindex cursor runs index-only, and an execution-id index on the workflow instance state time series.
Dependency and CVE updates
Additive. Not breaking, but relevant to hardened deployments.
ws 8.21.0, handlebars 4.5.2, js-yaml 5.2.2, fast-uri 3.1.5, nanoid 3.3.17 and
brace-expansion 1.1.18 / 5.0.9.
Other operationally relevant security fixes: test-connection workflow triggers are authorised, CSRF
failures fail secure and retry on the next request, testDestination redacts destination
configuration, and SCIM displayName synchronisation is fixed.