What’s New in Gluesync 2.3
Gluesync 2.3 is the third major refresh of the 2.x line. It adds AI Studio (bring-your-own LLMs and in-product MCP agents), write-path controls you choose per entity, and further operations tooling on top of the 2.2 platform. This page mirrors the highlights already listed in the release notes so you can quickly understand what changes when planning your upgrade.
AI Studio
AI Studio is an in-product Control Plane workspace for customer-managed AI. Alongside governed Spark chat agents, it now provides Build & publish, Runs, Models & routing, and Governance & developer API workspaces. Super admins administer the encrypted provider vault (OpenAI, OpenAI-compatible, Anthropic, Azure OpenAI, and Ollama); managers can review providers and estimated spend. Chat agents run with the signed-in user’s permissions and a per-agent Core Hub MCP tool allow-list. Settings → AI agents (MCP) remains the separate surface for external MCP clients.
The new agent platform publishes immutable skill and agent versions, starts durable asynchronous runs with idempotency and SSE event history, and routes TEXT workloads through a canonical model catalog. Governance adds owner/API-key budgets, usage and audit views, scoped gsa_ platform keys, a native /api/ai/v1 API, and OpenAI-compatible /v1/models and /v1/chat/completions endpoints. See AI Studio and AI agent platform for roles, current TEXT-only limits, configuration, and API behavior. Super admins can also enable or disable a vaulted provider without deleting its credentials.
Managers can publish skills and agent versions
The MANAGER role can publish skills and agent versions. Super admin is no longer the only role that can freeze a skill or agent into an immutable snapshot.
Chronos can run published AI Studio agents
Chronos can invoke a published agent through ai_agent_run. The call uses prompt templates, a payload allow-list, and loop guards so a workflow cannot send unexpected fields or spin the model forever.
Enable or disable LLM providers
Super admins can leave a provider in the vault and flip it off without deleting credentials. Disabled providers are rejected at chat time, so a temporary outage, spend freeze, or model swap does not force you to tear down the vault entry. Turn it back on when you are ready.
AI Studio conversations and notification explanations
AI Studio keeps searchable conversation history with configurable retention, and can explain a notification in plain language using a read-only MCP tool set scoped to that alert’s pipeline, agent, and entity.
Spark reporting through webhooks and email
Spark agents can send custom INFO, WARNING, or CRITICAL notifications through configured Core Hub webhooks and SMTP email. Manual sends require configuration-change permission and bypass saved event and severity filters so an approved agent can report on demand. The catalog also adds webhook and email configuration, test, delivery-log, dead-letter, and retention tools. See Core Hub MCP server.
Confirmed pipeline writes from AI Studio
MANAGER and SUPER_ADMIN can reach pipeline mutation tools from the in-product AI helper. A write never runs straight from the model: the first call is held as a pending action bound to owner, conversation, and source pipeline, and only an explicit confirmation within five minutes executes it. Credentials on create_connection stay redacted from responses, traces, and persisted conversations.
Query Studio AI helper
Schema-grounded chat and suffix-only Tab SQL autocomplete in Query Studio reuse the same BYO LLM vault as AI Studio. Autocomplete proposes the next tokens and does not rewrite what you already typed. Classified PII cells are never sent to the model. See AI helper and Tab autocomplete and PII discovery and masking.
PII discovery and masking
Core Hub classifies columns that look like personally identifiable information (email, phone, names, addresses, tax and national ids, bank accounts, secrets, and more), shows tags in Query Studio and pipeline editors, and masks those cells in Query Studio results, copies, and exports. Multilingual column-name aliases and regional checksums cover common identifiers across the Americas, Europe, Africa, Asia, and Australia. AI Studio and MCP SQL results stay masked. Super admins can disable platform-wide Query Studio masking under Settings → Global settings (on by default). See PII discovery and masking.
AI as SQL virtual catalog
The Hub-owned gluesync.ai SQL surface makes AI, optional Spark agents, and read-only MCP tools available through Query Forge (SELECT answer FROM gluesync.ai WHERE question = … AND spark_agent = …). answer is the plain result; proposed_sql is a review-only draft. Queries are read-only. See AI as SQL virtual catalog.
Insert conflict strategy
When an insert hits a row that already exists on the target, each entity can choose UPSERT (the previous default), SKIP, or FAIL. Non-duplicate failures still surface. Targets where a duplicate key cannot arise hide or caveat the setting.
Scalar function call
A field function writes a target-side scalar function in place of a bind placeholder (Oracle pkg.f_…, and the same shape on other RDBMS writers that declare the capability). Use it when the value lives only on the target — business date, sequence helper — without a second UPDATE pass or a source-side change. See Field functions.
Field functions and UDFs together
A target entity can carry both a mapping UDF and field functions. The UDF runs first; field functions then run on its output. Cast mismatches fail at write time, not at configuration time.
UDFs for array and map columns
You can write and test a mapping UDF on an entity that includes array or map columns. The editor mockup no longer fails on those types, and the test run feeds the same array shape agents produce in production so a function that works in the editor works on the wire.
Custom Field Functions
Write reusable Java functions once at pipeline level, publish and install them, and bind them to target columns in the Fields Editor. A function can take several source columns (or fixed values), be shared by many entities and UDFs in the same pipeline, and be tested before it touches replicated data. See Custom Field Functions.
OIDC RP-initiated logout
When a user who signed in through OIDC clicks Logout, Core Hub still ends the local Gluesync session first, then returns an IdP logout URL from discovery end_session_endpoint (no custom Signout URL field). The UI follows that URL with id_token_hint, client_id, and post_logout_redirect_uri = \{CoreHub origin}/ui/v2/login, which the customer must register on the IdP allowlist. Local-realm logout is unchanged. See Logout flow.
Target column name case
Targets that fold unquoted identifiers now declare a single accepted case (UPPERCASE or LOWERCASE). Core Hub normalizes target column names and filter clauses when an entity is saved, CREATE TABLE follows the node’s case, and the UI forces that case as you type (with a tooltip). Snowflake, GridGain, and Db2 for i fold upper; Cassandra, ScyllaDB, Informix, and CockroachDB fold lower. Connectors that quote identifiers report BOTH and stay free. Existing stored configs are left untouched until the next entity save.
Query Studio connection-scoped data access
Super admins can set a per-user, per-wired-connection data-access policy: OPEN (default) or RESTRICTED, with schema and optional table ALLOW/DENY rules where deny wins. The same matrix can carry PII unmask grants at schema, table, or column scope. The guard applies on Query Studio, AI SQL, and MCP/Spark SQL paths without adding new UserRoles. See Query Studio and PII discovery and masking.
Ask Spark support knowledge on notifications
When AI Studio explains a notification, Spark can call search_support_knowledge (anonymized hosted ticket search) alongside documentation search. Empty or unavailable support results are ordinary tool outcomes, so the explanation still completes.
AI platform gateway: fallback, cache, and capabilities
The OpenAI-compatible agent platform gateway adds streamed chat completions, the Responses API surface (tool definitions pass through; the gateway does not execute them), embeddings, automatic model fallback with circuit breaking, exact response caching isolated by owner, API key, and model, and redaction-aware Prometheus/OTLP telemetry. GET /api/ai/v1/capabilities lists only what that Core Hub node can execute. See AI Studio and AI agent platform.
Clear Logs
Support (and operators) can empty Core Hub’s own log files and their rolled archives without stopping the process (POST /global-config/support/clear-logs), with an optional sweep of support archives in the logs directory. Agent and Conductor logs stay out of scope.
Streaming before-image
Kafka, Solace, and Google Pub/Sub targets can set includeBeforeImage so updates fill before with prior column values and deletes carry the pre-delete image when that is all the source sent. Off stays byte-identical to the previous payload. Pub/Sub also carries the shared transaction id already present on Kafka and Solace.
IBM i: per-entity column metadata
When two entities read the same IBM i physical file, file descriptions stay keyed by the file and each entity keeps its own column types, precision, and CCSID at decode time. Column attributes no longer overwrite each other in a shared per-table map.
IBM i: suspend capture for stopped entities
On IBM i (AS/400), a stopped entity used to keep receiving journal changes into its arena cache until retention swept them, which could fill the disk. With suspendCaptureForInactiveEntities enabled (unset means off — existing agents are unchanged), an entity that stays neither syncing nor snapshotting past inactiveEntityCaptureSuspensionDelayMinutes (default 30) is suspended: its table leaves the shared journal read when no sibling still needs it, it leaves the cache fan-out, and its cache is deleted. On start it catches up by reading the journal directly from its last confirmed transaction until the shared reader’s rejoin point, then returns to the cache. Suspension is refused when the journal can no longer reach that position. Turning the flag on moves the recovery window from source-change retention to journal-receiver retention. IBM i only.
Smart alerts v2
Source inactivity detection learns each entity’s cadence instead of using a naive quiet floor: sparse entities stay quiet without false incidents, heartbeat liveness stays independent, and overlapping target-side stall alerts are off in v2. Baselines and incidents survive a Core Hub restart. Keep algorithmVersion: 1 for the legacy path. See Smart alerts.
Core Hub MCP catalog (112 tools)
The embedded MCP server now exposes 112 built-in tools (up from 55 at the start of the 2.3 train). A client can create and update a pipeline, add and assign agents, create and attach connections, set connector-specific configuration, and create entities with mappings, field functions, and UDFs — not only operate a pipeline that already exists in the UI. The catalog also adds 21 Chronos tools (schedules, webhook and platform-event trigger flows, execution logs, token rotation) resolved through the connected Chronos module address, plus Core Hub webhook and email-notification tools (configuration, tests, delivery logs, and custom severity-aware sends), documentation search, and Query Studio PII classify tools (classify_table, classify_schema) that return labels only. Per-agent Query Studio SQL tools are still discovered from the caller’s token.
Carried forward from 2.2
2.3 keeps the 2.2 platform. The following remain in this train; they are not new in 2.3.
Plugin-based agent system
Agents connect to Core Hub through a plugin interface instead of managing individual WebSocket sessions. This unlocks higher throughput under heavy pipeline workloads (pooled connections), simpler horizontal scaling (each agent installs as a plugin package), and safer upgrades handled by Conductor, which decommissions legacy 2.1 agents once the plugin is live. If you are coming from 2.1, Conductor guides the migration.
Core Hub MCP server
An MCP server runs inside Core Hub (same JVM, same RBAC). Point Claude, Cursor, or any MCP client at /mcp or /mcp/http. The 2.3 catalog is 112 built-in tools; see Core Hub MCP catalog (112 tools). Tool calls use the caller’s bearer token. AI Studio (above) is the in-product workspace on top of this server; Settings → AI agents (MCP) remains the surface for external clients.
Core Hub-managed CDC checkpoints
Cache-based CDC readers persist position in Core Hub instead of a local checkpoint file, so an agent move or restart no longer resets the reader. Read errors retry instead of jumping the checkpoint. AS/400, MySQL, MariaDB, Informix, and Oracle LogMiner are in this set, with REST/WS exposure and Prometheus scrape series when a reader has persisted a position.
ArenaCache
Source agents that used Chronicle Queue as their local cache now use ArenaCache, Gluesync’s own disk-backed cache. The role is unchanged — decouple capture from Core Hub, survive short outages, expire rows by "Source change retention in hours" — but files are per entity, cheaper on disk, and recover more cleanly after a crash. Upgrade when lag is low: Chronicle Queue files are not read by the new agent. See Source-side cache.
Query Studio and Query Forge
Query Studio remains the SQL workbench embedded in the Control Plane (multi-tab editor, schema browser, explain plan, WebSocket progress, CSV/JSON/SQL/XLSX export, saved queries, 90-day audit, read-only by default). Sessions can begin / commit / rollback on a dedicated connection, UPDATE a cell in place, and run on mobile. External modules (including Chronos) can call it. Oracle CLOB / NCLOB cells render as text; Couchbase can be queried via SQL++. Classified PII columns are tagged and masked in the result grid. See Query Studio and PII discovery and masking.
Query Forge remains the federated query gateway via JDBC (jdbc:gluesync://<host>:<port>), Personal API Token only (gsp_…), scoped to pipelines and agents, read-only with filter and projection pushdown. See Query Forge. 2.3 adds the gluesync.ai catalog on this path (see AI as SQL virtual catalog).
Monitoring, alerting, and operations
The official Grafana pack (dashboard ID 22907) tracks row and byte throughput, snapshot progress, stalled entities, CDC source-reader freshness, Core Hub internal latency, live JDBC connections by purpose, HikariCP pool pressure, host CPU/memory/network, and JVM heap/GC. The Prometheus /metrics endpoint is the source of truth. Pipeline name filters entity delivery panels; pipeline id filters checkpoint lag. See Grafana dashboards and Metrics reference.
Smart alerts still use an allowlist for Monitored objects (empty means nobody; new objects stay off until you add them), Low / Normal / High sensitivity plus cooldown, and pipeline-level overrides. Nested EWMA, latency-pattern, and seasonal knobs may still appear on the wire for compatibility; those legacy detectors no longer fire. 2.3 adds v2 inactivity detection (see Smart alerts v2).
Also still in this train: over-the-air updates with per-component progress and changelog; notifications hub (SMTP, CloudEvents webhooks, history, snooze); technical columns (transaction ID, timestamp, modifying user, operation type); Chronos chained events, webhooks, platform-bound events, JWT/RBAC, and Query Studio actions; Conductor; the rebuilt pipeline wizard, Scheduler, Modules Manager, and Control Plane lists; Gluesync Mobile; pipeline maintenance mode and reset; live connection registry and the internal connections catalog (no Control Plane picker yet); realm-aware user management and OIDC.
Agents introduced in 2.2
These agents remain available in 2.3 (they were not added in this train):
-
Universal File Store agent: writes Parquet (default), JSON, or CSV to FTP, FTPS, SFTP, WebDAV, WebDAVS, SMB/CIFS, and NFS. See Universal file store agent.
-
IBM Db2 LUW CDC agent: reads and decodes Db2 transaction logs via a custom C native library. See IBM Db2 LUW CDC agent.
-
SAP HANA agent: source (triggers-based) and target.
-
RedShift agent (target): bulk operations via AWS S3 staging, plus batch transactional writes.
-
Couchbase DCP source (
couchbase-dcp): native DCP CDC without Eventing, shipped in 2.2.11.2. Existing Eventing-basedcouchbaseagents are unchanged.