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 is only its own knobs — semanticSearchEnabled,
knnNumCandidatesMultiplier (new, default 2) and a new filterExtractor block. Every LLM
provider, credential, chat model and embedding setting now lives under llmConfiguration.
The 2.0 shape
conf/openmetadata.yaml
Environment variable renames
The embedding-specific variables keep their names but move under
llmConfiguration.embeddings.
Unchanged: SEMANTIC_SEARCH_ENABLED, EMBEDDING_PROVIDER, MAX_CONCURRENT_EMBEDDING_REQUESTS,
BEDROCK_AWS_IAM_AUTH_ENABLED, and every *_EMBEDDING_MODEL_ID / *_EMBEDDING_DIMENSION variable.
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.
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 (endpoint, bucket, region,
credentials, IAM role, prefix path, SSE algorithm and KMS key for S3; container, connection string,
managed identity and blob endpoint for Azure). The default 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.
The 2.0.0 database migration
New tables
Altered tables
background_jobsgainsprogress,total,result,error,message,cancelRequested,completedAttag_usagegainsmetadata JSONaudit_log_eventgainssearch_textthread_entityis renamed tothread_entity_legacy
Data migrations
Index additions
Many, including(deleted, name) and (deleted, serviceType) composites on all thirteen 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 authorized, CSRF
failures fail secure and retry on the next request, testDestination redacts destination
configuration, and SCIM displayName synchronisation is fixed.