ArchitectureA supervised JVM-class runtime — OLTP on seven engines, OLAP on three. AI-native, MCP-native, observable as plain SQL.Read the architecture
Está viendo la edición Perú. Está viendo la edición Colombia. You're viewing the Pakistan edition. Cambiar a la edición global →Cambiar a la edición global →Switch to the global edition →
Engineering Blog

What the engineering team is shipping and thinking about.

Explanatory writing from the team building Airtool — product releases, architecture notes, opinions.

Engineering Blog — dark gradient panel with the page title.

October2026

  1. An SSH client in the browser, with every command written to the audit log

    A browser SSH terminal joins the platform tools. Jump hosts, keystore credentials, SFTP behind a per-grant switch, a cap on concurrent terminals, and every command typed is sanitised and written to the audit log.

    Security
  2. Grid column widths under application control, and a standalone insert page

    An application sets minimum, maximum or fixed widths per grid column and listens for resizes. Users reset saved widths from the context menu, group rows gain select-all, and tables gain a standalone insert page.

    UI
  3. A nightly suite across four projects that mails only what moved

    Every night four projects run their suites in sequence. Engines are probed first, results are compared test by test against the previous run, and a run that saw its classpath change declares itself invalid.

    Runtime and operations

September2026

  1. Four worlds, four risk classes, five gates, one audit: how MCP is governed

    An agent connects to one of four endpoints, each sized to what it may touch. Every tool carries a risk class, a grant chooses within what a role opens, five gates run again on each call, and the audit keeps the commands.

    AI and agents
  2. Acting as another user, with the session marked and the loan bounded

    A user may act as another and borrow that user's roles, databases and menu. The session shows an Alias or Admin tab, a delegation merges or supplants, and the admin login, MCP and the chat assistant serve the caller.

    Security
  3. Running work as records: sessions, cursors and scripts you can read and cancel

    The observability catalog gains session and scripts tiers. A cursor shows what it asked, a running script shows its code and line, a delete on the row cancels it, and an hour of metrics is kept every five seconds.

    Observability
  4. The in-memory observability database learns the SQL its dashboards need

    The in-memory database behind the observability catalog gains string functions, searched CASE, arithmetic, CAST and typed computed columns, and its columns keep labels, content types and colours through every SELECT.

    Observability
  5. A storage layout plan for a database's largest tables, Informix 15 first

    The storage advisor now proposes a target layout: where each large table and its indexes should sit, the statements to run and the dbspaces to create or extend, sized for growth. Informix 15 formats are understood.

    Data and engines
  6. db_grep: find the rows that contain a text, without reading the data out

    A new MCP tool searches the text and CLOB columns of business data and answers with primary keys. The engine searches where it can, memory takes the rest, row-level security applies, and what was not searched is named.

    AI and agents
  7. A JDBC driver version per database server, side by side in one process

    Each database server now chooses the JDBC driver build it connects with. Several builds of the same driver run side by side in one process, and the startup log records which one each server uses.

    Data and engines
  8. Pausing a connection pool gracefully: work in flight is allowed to finish

    Quiescing a connection pool now refuses new work at once but lets connections in use finish within a window, five minutes by default, before any are forced closed. A forced close is logged as such.

    Data and engines
  9. A storage advisor across five engines: measure, size and review a table

    Informix, PostgreSQL, SQL Server, Oracle and MySQL now answer the same storage questions: space by container, a table's partitions and indexes, sizing before a table exists, and a review with fixes.

    Data and engines
  10. Agents load tools on demand, and run the platform's procedures as tools

    An agent now starts with a short tool list and loads more by name or keyword when a task needs them. MCP prompts and resources reach agents as tools, under the same access gates as over MCP.

    AI and agents
  11. The platform manual as agent tools: search, read, validate and write

    Agents can now search and read the platform manual over MCP and, with an editor's grant, write pages that are validated against the manual's schema and versioned like any page edited by hand.

    AI and agents
  12. Result-set export with an audit record, from the database workbench

    One export service now renders a result set to eleven formats, from spreadsheets to PDF, applies the row ceiling in one place and records every export, successful or not, in the audit log.

    Developer tools
  13. Image generation as a governed model type, on OpenAI and Google Imagen

    Image models join chat and embedding models in the platform's AI configuration. OpenAI and Google Imagen are supported, calls are audited without storing the image, and scripts can generate images directly.

    AI and agents
  14. A settings console a user can read: tokens, connectors, printers, mail

    Users mint API tokens with a name and an expiry and revoke them all at once, read the commands to connect over NFS, FTP and MCP, manage printers, search their notifications, and see every mail sent for them.

    UI
  15. The clients move to Vue 3 and Vuetify 4, with a Storybook over 328 components

    The component library, the OS tools and the application client moved to Vue 3 and Vuetify 4. The build moved to Rolldown, the last Vue 2 dependency left, and a Storybook now covers 328 of 333 components with 752 tests.

    UI
  16. An internal newsroom: posts, groups, scheduled publication, AI covers, PDF

    Posts with comments, tags, companies and groups, scheduled publication, a reading list and statistics. Bodies are validated against a schema on save, covers are generated from the post, and searches export to PDF.

    UI
  17. Development sessions that know their reach, across a stack of dictionaries

    An agent developing on a layered application is told at connect what it may write, reads across every layer, edits where a definition is found, and can now read and author the application's REST endpoints.

    Developer tools
  18. One theme for every tool: dark mode, OS appearance, a density ladder, one shell

    A single theme and density engine serves every Studio client. Dark mode follows the operating system, a user chooses a theme under a role while another role edits them, and twelve entry points share one shell.

    UI
  19. Application objects as JSON documents an agent can read, write and be warned on

    A table, report or view object is served as one JSON document with a version token. An agent applies changes in one transaction with a dry-run diff, and authoring rules are harvested from proven specimens.

    AI and agents
  20. Does the dictionary parse, is it legible, does it run: lint and test runs

    Every stored code body is parsed per language and never executed. An object runs through six probe stages on a budget and rolls back. Presentation, colour, translation and security are censused per run.

    Developer tools
  21. A file explorer over any hierarchical cursor: previews, operations, search, tags

    A new view type renders any hierarchical cursor as a tree with a node pane. Previews cover markdown, HTML, images, PDF, video, code, email, 3D models and spreadsheets; seven optional events turn it into a file manager.

    UI
  22. MCP refusals that explain themselves, and an audit that says why

    Every MCP refusal now carries a kind from a closed list, hidden tools are logged by name, the MCP service can be switched per node without a restart, and each call records its tokens in both directions.

    AI and agents
  23. How an MCP tool earns its place: families, definition of done, token budget

    Path-based tools gave way to typed families with five verbs each. A tool is done when its schema matches the code, its tables are declared, its taxonomy is generated and a refusal is proven.

    AI and agents
  24. Revision history captured by the database itself, on Informix and PostgreSQL

    A diff function runs inside the engine, as a C routine on Informix and PL/pgSQL on PostgreSQL, emitting the RCS script the platform already replays. A trigger can call it, so no write escapes versioning.

    Data and engines
  25. Forms that query, subscribe to several parents, run server events, fill the page

    A tab may observe several parent tabs and join their selections, render query fields inside the form, dispatch named events that run server-side scripts, size itself to the screen, and fill the remaining height.

    UI
  26. Renaming a column across a dictionary: analyse, prove, apply, verify

    A rename is analysed read-only with a digest, JavaScript bodies are rewritten by lexing and SQL under a prepare gate, and apply runs only with a token a person types from the plan. A campaign renamed 64 columns.

    Developer tools
  27. Token-aware AI calls: accurate counts, bounded memory and one retry policy

    Conversation memory is now bounded by tokens, not messages; token counts are estimated per provider and can be confirmed before a request is sent; and every provider call shares one retry policy.

    AI and agents
  28. A demo application built as a test suite: 158 capabilities and 1,333 help pages

    The demo dictionary is rebuilt from an empty database by a test suite in three stages, mapped to a taxonomy of 158 capabilities extracted from the client's configurable surface, and documented in 1,333 help pages.

    Developer tools
  29. Every shipped third-party artifact listed, with its bundle and its licence

    One build task writes an inventory of every third-party artifact the product ships, the bundle it travels in and its licence, beside the notices file. It covers the main classpath and the four side-loaded sets.

    Security
  30. Full-text search that tells the reader what the engine can do, on six engines

    Each text column is searched at the best tier its engine offers: a text index, a LIKE scan, or nothing rather than an error. A descriptor per engine drives the query form, the escaping and the help shown.

    Data and engines
  31. Grouped PDF reports that read like a ledger: running heads and group rules

    A page that opens inside a group restates the group path in its head. Group boundaries are drawn heavier than row lines, chips and fills print as on screen, and the reader's density travels into the PDF.

    UI
  32. A node that says what it is: a diagnostic startup banner and an admin console

    Each node now prints a grouped startup report covering configuration, security, mail, cache, Redis, microservices and MCP, verifies what it can, and offers an optional in-process console for live administration.

    Runtime and operations
  33. The analytics desktop: portals with live previews and drag to place

    A portal fetches its own channels, offers live read-only preview cards that run only while on screen, accepts a card dragged onto the canvas, and undoes a placement for eight seconds.

    UI
  34. System mail with a record: a mailer, OAuth SMTP, a log that keeps the message

    One mailer sends every system mail, with per-message sender and per-group SMTP. The log keeps the body and the attachment list, states an error as a sentence, and records mail that never reached a transport at all.

    Runtime and operations
  35. A static review of a dictionary's SQL: classify, prove, explain and measure

    Quality tools classify every statement, fingerprint duplicates, prove each by prepare only, apply twelve rules served as data, scan the schema for drift and missing indexes, and read plans unrun.

    AI and agents
  36. Administering the platform through tools: provisioning, checks and security

    Databases and engine users are created, granted, revoked and dropped through the driver interface, plan then apply then verify, dry-run by default and journalled with passwords masked.

    AI and agents
  37. Where a cursor's time goes: a cost ledger, lateral joins, one statement per page

    Horizontal joins fold into one lateral statement per page, action gates evaluate as one SELECT, key descriptions resolve lazily, and a per-request ledger records statements, rows and time by cost centre.

    Data and engines

August2026

  1. Gantt, timeline, kanban, calendar and D3 charts as configured views of a query

    A query becomes a Gantt with editable tasks, a timeline with grouping, a kanban, a calendar whose events are dragged, or a D3 dendrogram, flowchart, graph or org chart, through JSON view configuration rather than code.

    UI
  2. Change capture without a capture server: the node watches its own tables

    Push notifications from Informix smart triggers and PostgreSQL LISTEN and NOTIFY reach the node directly. Capture is queryable as SQL, suspendable for DDL, and the watch set derives from the cache annotations.

    Runtime and operations
  3. The platform's languages served from the running server, and code proved unrun

    The XML dialect, the scripting library and the 4GL grammar are served as resources generated from the running server. SQL is proved by prepare, scripts by parse, and no proof ever runs a statement.

    Languages
  4. Cancelling a query cancels it at the database, and a task reports over SSE

    A browser abort rarely reaches the server over keep-alive, so a cancelled query ran on holding its locks. Requests now carry an id a client can cancel through, and progress streams over SSE.

    Runtime and operations
  5. Every monitored resource is actionable, audited and published to JMX

    Pools, connections, statements, databases and servers declare the actions they support. SQL triggers and JMX operations route through one service with one audit trail, and rates are sampled at three windows.

    Observability
  6. Cursor actions as Link headers, and a client that builds no URLs

    Every cursor action, DML route, thread and editor route arrives in a standard Link header with a URI template. The client stops composing addresses, so a route can move on the server without a client release.

    Developer tools
  7. The dictionary gets a journal: history, diff, status and restore for every write

    Every authoring write records a changeset inside the caller's transaction, deletes keep the full document, and tools list history, show a diff, report status and emit a restore plan that never writes.

    Developer tools
  8. Watching an agent work: live turn lifecycle, streamed reasoning, and plans that persist

    Agent runs now emit a live turn lifecycle to any registered observer, stream the model's reasoning as it arrives, and record their plan as a stored file the agent ticks off step by step.

    AI and agents
  9. An OLAP query editor in the browser: build a cube query, run it, chart it, keep it

    A new analytical editor composes a cube query from a dimension and measure tree, compiles it to the platform's SQL layer, runs it against the database, and returns the result as a grid, a chart or an exported report.

    Developer tools
  10. Informix 4GL implemented as a first-class GraalVM language on Truffle

    The platform now ships an Informix 4GL language implementation on Truffle, a peer of JavaScript, Python and Groovy in the same GraalVM runtime. Original 4GL business logic runs unchanged, in the caller's transaction.

    Languages
  11. REST APIs now publish an OpenAPI specification, with a rebuilt explorer to drive them

    The platform generates an OpenAPI specification from its REST API definitions and ships a rebuilt API explorer: endpoints in a sidebar, request beside response, a dark appearance, and a downloadable spec.

    Developer tools

July2026

  1. Keystore: SSH key pairs, password secrets, and administration gated by ownership

    The keystore generates and imports SSH key pairs across RSA, ECDSA and Ed25519, stores password secrets alongside certificates, and restricts destructive and administrative actions to owners and named managers.

    Security
  2. Bringing a system up: a guided setup wizard, an admin console, and upgrades you can inspect first

    The setup tool gains a guided wizard, an interactive administration console for browsing and editing configuration, a connection editor that routes by state, and upgrade commands that list pending conversions before applying them.

    Runtime and operations
  3. One loading pipeline, eight native upserts, and a load that tells you which record failed

    Bulk loading is unified behind a single result contract with a shared loader base, insert-or-upsert becomes the caller's choice rather than the file format's, and eight database engines get a native single-statement upsert.

    Data and engines
  4. A server health report from the logs: a 24-hour window and a status

    A script call turns the node's logs into a Markdown report: resource metrics, error and warning signatures, a status of OK, WARNING or CRITICAL, and a coverage line stating the window.

    Observability
  5. TypeScript declarations generated from the platform's own Java model

    The platform's server-side JavaScript API now ships as generated TypeScript declarations, derived from the Java source model itself, and published as installable packages for editor completion and type checking.

    Languages
  6. Embeddings as a service, selectable per request, with prompt caching on the conversation path

    Text embeddings move to a dedicated ONNX microservice reached over gRPC, with the embedding model chosen per request, and the conversational assistant enables provider prompt caching with cache token usage reported.

    AI and agents
  7. The database workbench gains an AI co-pilot that proposes edits as diffs

    An agent tool proposes exact edits to the open tab and the user approves a diff before anything changes. A failed statement can be explained, a buffer translates to the engine's dialect, and Redis and Qdrant get views.

    Developer tools
  8. Connection hygiene: bad driver properties rejected, wasted transactions flagged

    A per-engine deny list removes JDBC properties that break the platform, each hit logged and a safe default restored. A lease that committed without executing is flagged, and sessions are labelled with their user.

    Data and engines
  9. Risk-based login: a score from 0 to 100 decides allow, second factor or block

    Each login is scored on location, impossible travel, device, velocity, time, method and account age. Low scores pass, middling ones need a second factor, high ones are blocked. Failures are limited three ways.

    Security
  10. The manual's PDF pipeline: live SQL grids, diagrams, form mockups, no server

    Documentation pages render to PDF with live SQL grids laid out as on the web, Mermaid and sequence diagrams as embedded SVG, and application forms drawn as mockups from markup. A script renders a page or a book.

    Developer tools
  11. Reading hybrid e-invoices: FACTUR-X, ZUGFeRD and Order-X extraction

    The document reader now extracts the machine-readable invoice XML embedded inside PDF/A-3 hybrid documents, so FACTUR-X, ZUGFeRD and Order-X invoices are read as structured data rather than scraped from a rendered page.

    Integrations
  12. Database connectivity, provisioned centrally and verified on load

    Database drivers are now provisioned cluster-wide from the platform's central configuration store and verified by checksum before they load. The runtime no longer reaches the public Internet to fetch a driver, closing a supply-chain path on the boot line.

    Data and engines
  13. Database workbench: live query results, SQL EXPLAIN and JavaScript debugging

    The database workbench adds auto-refreshing query results, a SQL EXPLAIN action, a JavaScript debugger with a configurable port, an Explorer context menu, and a console split into separate stdout and stderr tabs.

    Developer tools
  14. The Studio AI agent gains plan mode and per-conversation model selection

    The Studio AI agent now proposes a plan before acting, selects a model per conversation, exposes a configurable iteration ceiling, and logs each tool call as it runs for real-time review.

    AI and agents
  15. IntelliSense now spans every accessible database

    Schema-aware completion now reaches tables outside the metadata dictionary, offering columns and foreign keys from JDBC metadata, and resolves JavaScript modules and functions across all accessible databases at once.

    Developer tools
  16. Deploy permission gates auth changes; security-audit email notifications added

    A database_auth_deploy permission now controls who can push authentication and dictionary changes to a target database, and new security-audit and keeper-activity email templates notify on privileged actions.

    Security
  17. Schema-aware SQL and JavaScript IntelliSense arrives in the dictionary editor

    The editor now completes SQL against the statement's own FROM and JOIN tables, offers foreign-key-derived JOIN conditions, and adds go-to-definition and CRUD completion for the server-side JavaScript database API.

    Developer tools
  18. WhatsApp Business messaging gains OTP templates, call events, and audit logging

    Outbound WhatsApp Cloud API sends are now audit-logged, authentication templates support one-time-password buttons, and the webhook parser handles call status and template recategorization events.

    Integrations
  19. RF terminals for the warehouse: one form engine on VT100 scanners and browsers

    A thin client for handheld scanners downloads menus, forms and events from the dictionary and renders them on a VT100 screen or in a Carbon web view from one form engine, in eight languages.

    UI
  20. CSRF protection reaches parity across all Studio surfaces, with session re-login

    The documentation surface is now CSRF-protected at parity with the other Studio clients, and web-os-v2 gains a re-login dialog with automatic token renewal so an expired session recovers instead of failing silently.

    Security
  21. Mermaid diagrams render to PNG server-side, exposed over a gRPC endpoint

    Mermaid diagram rendering now produces PNG output alongside SVG, exposed through a new TransformMermaidToPNG gRPC call, so diagrams embed reliably in generated PDF reports.

    Integrations
  22. Agent catalog gains categories, icons, and schema-driven approval previews

    The agents panel becomes a filterable list-to-detail view with category grouping, icons and skills, and a tool-approval preview that renders a Monaco diff for file edits from the tool's own JSON Schema.

    AI and agents

June2026

  1. Vector search adds an Informix backend and HNSW index lifecycle control

    Informix joins Postgres pgvector, Qdrant and Redis as a vector-search backend, and pgvector bulk loads can now drop and rebuild the HNSW index to remove the per-row indexing cost that dominates ingestion time.

    AI and agents
  2. Python joins JavaScript and Groovy as a first-class scripting language

    The SQL console and script runner now accept Python: lang=python routes to the GraalPy engine, the console adds Python detection, and a shared polyglot module bridges JavaScript to both Python and Groovy.

    Languages
  3. Federated cluster monitoring: a queryable catalog across every node

    A cluster monitoring catalog fans a single query out to every online node in parallel, prepends node identity to each row, and tracks per-node query counts and last error, skipping offline nodes.

    Observability
  4. Orchestrator and sub-agents share a conversation-scoped artifact scratchpad

    A key/value store propagated across the orchestrator and all its sub-agents lets each agent read artifacts a sibling already produced, eliminating redundant re-fetches when the same data is needed across delegation boundaries.

    AI and agents
  5. Apache Groovy added as an opt-in server-side scripting engine

    Groovy is now available as a third server-side scripting engine alongside JavaScript and Python, enabled with the groovy script type and running JVM-native through JSR-223 with full standard library parity.

    Languages
  6. Agent chat adds hand-off log tree, @ agent selector, and file library

    The chat log now segments by agent hand-offs in execution order with per-segment timing; typing @ surfaces agents and skills inline; the sidebar gains an infinite-scroll AI file library with server-side search and filters.

    AI and agents
  7. Vertex AI rerank and multi-query input added to the retrieval pipeline

    The retrieval pipeline now accepts a list of query texts in a single findRelevant call and aggregates results across all queries, and Vertex AI is now supported as a rerank model provider.

    AI and agents
  8. Agent tool calls gain a human approval gate at the execution boundary

    Tool invocations from an AI agent can now pause for explicit human approval before they execute, delivered over an SSE and REST transport so the operator approves or rejects each call in real time.

    AI and agents
  9. OpenID Connect Discovery endpoint added; OAuth token outcomes logged

    The platform now publishes an OpenID Connect Discovery document so OIDC clients configure themselves automatically, and OAuth token requests record their outcome for diagnostics.

    Security
  10. Guardrails on model-written SQL: row security enforced, agent loops capped

    SQL written by a model passes a strict security resolver that validates row policies on the table and its secured parents and refuses a query that skips a join. Iteration caps are set per agent.

    AI and agents
  11. Agents and skills defined in the dictionary, skills offered as slash commands

    An agent is instantiated from a dictionary record naming its prompt, tools, skills and iteration limit, and the orchestrator registers it as a sub-agent at runtime. Skills are fetched on demand.

    AI and agents
  12. Native database user administration unified across engines

    The platform can enumerate, create and scope native database users across multiple engines through one model, with a per-verb privilege view and explicit PUBLIC grantee handling.

    Data and engines
  13. Multi-agent orchestration: parallel sub-agents with timeouts and cancellation

    An agent can now delegate to registered sub-agents that run in parallel, each with a per-call timeout, cancellation propagation and a per-instance iteration cap, with agent configuration held in the database.

    AI and agents
  14. Time-zone-aware temporal types supported across the data tier

    The data tier now reads and writes TIMESTAMP WITH TIME ZONE and TIME WITH TIME ZONE columns with the offset preserved, binds java.time values directly, and reports the standard JDBC type code for offset-aware columns.

    Data and engines
  15. Standard library adds mailbox search, antivirus scanning and rich templates

    Server-side scripts gain Microsoft Graph delegated-mailbox search, a ClamAV antivirus client, and WhatsApp template support for header media, buttons and carousel cards, all through the platform's cloud namespace.

    Languages
  16. Graph traversal inside Informix: a DataBlade with named graphs and iterators

    Named graphs are registered over ordinary edge tables and traversed by routines inside the engine: neighbours, reachability, shortest path, degree and cost. The edge table stays the source of truth.

    Data and engines
  17. Cloud integrations testable without an account: overrides and LocalStack

    Every AWS client accepts an endpoint override through the isolated class loader, so suites run against LocalStack in containers. Microsoft, Google and IBM clients take overrides too, with 108 tests on loopback stubs.

    Integrations
  18. Python scripting added — GraalPy engine selected automatically alongside JavaScript

    Server-side scripts with type='python' now route automatically to GraalPy, giving platform developers full Python execution alongside JavaScript without additional engine deployment or per-project configuration.

    Languages
  19. SPL expands with 15 grammar elements — exception handling, set operators, locking, and DDL

    SPL gains structured exception handling, ordered-set aggregates, INTERSECT/EXCEPT set operators, FOR UPDATE and SKIP LOCKED query modifiers, materialized-view DDL, and transaction isolation control across fifteen new grammar elements.

    Languages
  20. Excel export gains data format strings — number, currency, date, and time patterns per cell

    Excel cell styles now accept custom and built-in data format strings for number, currency, date, and time patterns, so exported spreadsheets carry precise display formatting without post-export manual adjustment.

    UI
  21. AI chat gains typed request context and Markdown response rendering

    AI chat requests now carry typed context objects covering query intent, schema, session state, and database metadata, and responses render Markdown, so agents can reference live data structures when answering questions.

    AI and agents
  22. RxJava dependency removed — Disposable and CompositeDisposable rewritten on JDK primitives

    The platform replaces its RxJava lifecycle primitives with JDK-native Disposable and CompositeDisposable, removing the reactive library dependency from the core module without changing call-site behaviour.

    Runtime and operations
  23. Filesystem-aware AI agent added with role-gated dictionary access

    A new AI agent variant gives language models structured read, write, and directory access to the application filesystem, controlled by a role capability that is absent on all existing roles by default.

    AI and agents
  24. MCP tool invocations added to audit trail with per-node protocol service declaration

    MCP tool invocations are now recorded in the audit trail with user identity and parameters; each cluster node also declares the protocol services it activates on startup, replacing all-services-by-default behaviour.

    AI and agents
  25. MCP server gains stateless transport and multi-version protocol negotiation

    The MCP server now accepts stateless HTTP clients without persistent session state and negotiates multiple protocol versions per connection, so older and newer agents can share a single deployment without forced upgrades.

    AI and agents
  26. OAuth 2.1 implemented with machine client credentials and mandatory PKCE

    The platform implements the OAuth 2.1 authorization framework: authorization code with mandatory PKCE for browser clients, client credentials for machine-to-machine flows, and standardized error responses across all grant types.

    Security
  27. Startup enforces RSA key length and JWT signing key strength

    Platform startup now enforces RSA key length minimums and validates JWT signing key strength before accepting configuration, returning a descriptive diagnostic and refusing to start when cryptographic keys do not meet required constraints.

    Security
  28. Graphviz component adds configurable height and fullscreen inspection mode

    The Graphviz component now accepts a height prop for fixed-height constrained rendering and opens a fullscreen dialog for inspecting complex graphs without the constraints of the inline viewport.

    UI
  29. XSQL gains integer array variables and cross-database list iteration

    XSQL server-side scripts gain integer array variables and two iteration constructs — for list and forall — that traverse in-memory lists without a database roundtrip, working uniformly across all seven supported OLTP engines.

    Languages
  30. MCP exposes data dictionary as schema resources and extends dict_validate coverage

    The MCP server advertises the data dictionary as schema:// resources, loads schema content from the AI prompt catalog at runtime, and extends dict_validate to report, virtual table, and table object kinds.

    AI and agents
  31. MCP server adds stored procedure, function, and trigger introspection tools

    Six new MCP tools expose stored procedures, user-defined functions, and database triggers as queryable objects — three list tools and three detail tools — extending schema introspection beyond tables and views.

    AI and agents
  32. dict-fs sync injects starter templates and extends rich XML object format

    Dictionary filesystem sync now injects template starter files into report, virtual table, and table directories on first use, and adds color palette and query binding fields to the rich XML object format.

    Developer tools
  33. JVM classloader topology exposed as navigable observability tree

    The JVM classloader topology is now queryable as a navigable catalog tree: a root table for the parent loader and three child detail tables covering loaded classes, classpath URLs, and per-loader resource counts — using the same browser pattern as the cache and schema catalogs.

    Observability
  34. Per-user AI model override role added to platform settings

    A new role — ToolUserSettingsAIModelSelect — lets individual users override the AI model configured at department, company, or global scope for Chat, Embeddings, Reranking, and Speech independently, without requiring administrator involvement.

    AI and agents
  35. JWT security hardened — token invalidation, database allowlist, and key rotation

    JWT session security is hardened with three coordinated additions: JTI-based per-token invalidation backed by a persistent audit table, a database-allowlist claim enforced at the REST API and Studio authentication layers, and zero-downtime key rotation with simultaneous multi-key signature verification.

    Security
  36. Meta WhatsApp Cloud API fully integrated into the standard library

    The platform's standard library covers the Meta WhatsApp Cloud API across all interaction directions: send template messages, upload media blobs, receive and parse inbound webhook events, and deserialize template components — all from server-side JavaScript or Python.

    Integrations
  37. MCP server initialization payload restructured to fit client limits

    The MCP server's InitializeHandler instructions are rewritten to stay within the 2 KB client limit: per-table write rules and the filesystem tree move from the initialization payload into individual tool descriptions, and fs_read now streams large files line-by-line.

    AI and agents
  38. Infinite scroll added to cursor and sub-cursor result sets

    Cursor and sub-cursor result sets now support infinite scroll: as the user approaches the end of the loaded page, the next page fetches and appends automatically, removing the manual pagination step for large result sets. Sub-cursors inside expanded parent rows use the same mechanism.

    UI
  39. Operating the capture server: pause a table, resume it, keep it up with systemd

    A table can be paused and resumed from the command line or the REST API so DDL runs without stopping capture. A health endpoint answers 200 or 503, and a systemd unit restarts the server.

    Runtime and operations

May2026

  1. Per-column header colors, icons, and font shrink-to-fit in reports and tables

    Column headers in JDBC result sets, pixel-perfect PDF reports, and virtual tables now support per-column background colors and icon decorators configured at the query or schema level. PDF output also gains font shrink-to-fit packing so long labels in narrow cells scale rather than overflow.

    UI
  2. QBE query history logging and cursor hint in toolbar

    QBE object queries are now logged per user in a dedicated history table. The active cursor's hint string is surfaced as a subtitle line in the object toolbar so operators can confirm which query variant is running without opening the query editor.

    UI
  3. Export sidebar pre-selects active grid columns on open

    The export sidebar now pre-selects only the columns currently visible in the grid, seeded at mount time rather than on first interaction. Hidden columns remain available for manual inclusion; the exported file matches the operator's active view without requiring manual deselection.

    UI
  4. Microsoft OneDrive and SharePoint added to the standard library

    Microsoft OneDrive and SharePoint are now callable from server-side JavaScript and Python via the Microsoft Graph API, using the same credential-resolution and permission-perimeter model as the AWS and WhatsApp clients. File operations, delta queries, SharePoint list access, and document library upload and download are all supported.

    Integrations
  5. Cache observability promoted to full navigable tree with drill-down and per-user detail

    The cache subsystem is fully navigable as a drill-down tree: cache.caches lists every registered cache with hit/miss/eviction stats, per-entry contents are one drill-down away, 21 per-user inner caches are exposed through a declarative binding registry, and JDBCServer metadata caches appear as a named subtree.

    Observability
  6. Have I Been Pwned breach check added to password change flow

    Password changes in the user settings panel are now checked against the Have I Been Pwned breach dataset using the k-anonymity range API before the change is committed. Passwords that appear in a known breach set are rejected without transmitting the plaintext or the full hash to any external service.

    Security
  7. GitHub Flavored Markdown table support added to the Markdown renderer

    The platform's Markdown renderer now parses and renders GitHub Flavored Markdown tables, including left, right, and center column alignment from the separator row. Documentation pages and AI chat responses that contain GFM tables render correctly instead of falling through to raw pipe characters.

    UI
  8. JMX remote monitoring integrated into microservice container management

    JMX remote monitoring is built into the platform's microservice container management layer: an interactive CLI tool generates the JVM configuration, SSL support is available, port and hostname are overridable via environment variables, and Docker Hub credentials persist across Podman sessions.

    Observability
  9. Federated cross-database joins available from SQL and server-side scripts

    An in-memory federation layer enables SQL joins across tables from multiple connected databases in a single query. Server-side scripts access federated results through a dedicated cross-database query API, with qualifier-aware alias resolution and a declarative XML test suite covering join types and error paths.

    Data and engines
  10. A visual workflow editor that compiles to server-side JavaScript

    Workflows are drawn as nodes and edges in a canvas editor and compiled to server-side JavaScript the runtime executes: condition, note, model, calendar, integration, transform and custom-code nodes.

    Developer tools
  11. Seven more AWS services added — SQS, SNS, CloudWatch, Athena, DynamoDB, SES, Secrets Manager

    Seven additional AWS services join the standard library: SQS, SNS, CloudWatch, Athena, DynamoDB, SES, and Secrets Manager — all callable from server-side JavaScript and Python, sharing the same facade shape and credential-resolution chain as the six services shipped in the previous batch.

    Integrations
  12. Embedding pipeline gains provider-agnostic task types, title propagation, and configurable query-transformer history

    The embedding pipeline gains three improvements: a provider-agnostic EmbeddingTaskType enum that maps platform-level intent to each provider's vocabulary, title propagation from document metadata into the embedding context, and a configurable query-transformer history window via a new platform setting.

    AI and agents
  13. Database export and import with SSE progress streaming added to Studio

    Studio adds multi-table Excel export and import from the application bar. Export streams progress over Server-Sent Events with per-table row counts in a live snackbar ; import reports per-table results on completion. Table names validate against live metadata before SQL composition.

    Developer tools
  14. Six AWS services now callable from server-side scripts — S3, EC2, Lambda, IAM, Pinpoint SMS and CloudFront

    Six AWS services — S3, EC2, Lambda, IAM, Pinpoint SMS and CloudFront — are now callable from server-side JavaScript and Python under the cloud namespace. Credentials resolve through the platform store, explicit key pairs or the AWS SDK default provider chain.

    Integrations
  15. Classloader isolation keeps the AWS SDK off the platform classpath — dependency conflicts resolved at the boundary

    A dedicated child URLClassLoader loads the AWS SDK v2 in isolation from the platform classpath. A three-tier delegation model — JS wrapper, gateway interface, SDK implementation — resolves the Netty / Jackson version conflict without forking the platform's own dependencies.

    Runtime and operations
  16. HTML-to-PDF via headless browser — W3C WebDriver Print joins the document-processing microservice

    The document-processing microservice now renders HTML or URLs to PDF using the W3C WebDriver Print command through a pooled Selenium fleet. Firefox is the default engine, Chromium the fallback ; the endpoint is exposed over both HTTP and gRPC.

    Integrations
  17. Podman and Quadlet rootless deployment — the microservice fleet runs as a systemd-managed rootless container

    The microservice fleet ships a Podman + systemd Quadlet management script for rootless container deployment. A persistent service.env survives upgrades, host-side JVM diagnostics (jps, jcmd) work against the running container, and no privileged daemon is required.

    Runtime and operations
  18. Per-row CRC staleness detection — silent data drift ruled out across cursor types

    Cursor subscriptions compute a per-row CRC at selection time and validate it on every fetch. Forms whose sub-cursors fall out of sync trigger HTTP 409 Conflict with structured error details ; VTABLE and REPORT cursors now carry the same integrity guarantee TABLE cursors already had.

    Data and engines
  19. Jetty acceptor and selector pools sized to the CPU — HTTP/2 latency tails eliminated

    Acceptor and selector thread defaults moved from hardcoded 1/1 to CPU-aware auto-sizing via Jetty's standard heuristics. The change eliminates the HTTP/2 selector-saturation pattern that surfaced on high-concurrency installations ; system-property overrides remain for explicit tuning.

    Runtime and operations
  20. OpenAI 3072-dimension embeddings supported, with cross-engine HNSW benchmarks

    The vector tier supports OpenAI text-embedding-3-large at 3,072 dimensions, with cross-engine HNSW benchmarks comparing Informix and PostgreSQL at one, five and ten thousand rows. Both engines pass the correctness suite ; the numbers inform engine selection.

    AI and agents
  21. HNSW vector indexing on Informix — semantic search at OLTP scale

    A Hierarchical Navigable Small World (HNSW) access method on Informix brings approximate-nearest-neighbour vector search to one of the seven supported OLTP engines, with pgvector-compatible function names and dual file / BLOB storage.

    AI and agents
  22. MCP tool and resource access gated by caller role — the permission perimeter extends into autonomous agents

    The MCP server's tool and resource surfaces now enforce per-caller access checks at the SPI level. listTools and canAccess gates extend the platform's role and attribute-level security model into autonomous agent interactions, with backward-compatible defaults.

    AI and agents
  23. IBM watsonx joins the multi-provider AI surface with transparent IAM token refresh

    IBM watsonx joins OpenAI, Anthropic Claude and Google Vertex as a first-class LLM provider. The client handles IAM token expiry transparently — fresh token fetched within five minutes of the one-hour expiry, double-checked locking under concurrent load.

    AI and agents
  24. Google Vertex AI embeddings join the multi-provider AI surface

    Google Vertex AI embedding models are now addressable from the platform's AI configuration layer alongside OpenAI and Cohere. Endpoint-override support covers on-premises Vertex deployments ; provider choice is configuration, not a code change.

    AI and agents
  25. Python runs alongside JavaScript on the server-side scripting surface

    Server-side scripts can now be authored in Python via GraalVM's polyglot Python engine, sharing the platform's Ax standard library and security perimeter with JavaScript. The same business logic is expressible in two languages ; the hiring pool widens accordingly.

    Languages

April2026

  1. AI agents gain structured outputs and parallel tool execution

    AI agents now enforce response schemas via OpenAI Structured Outputs in strict mode, guaranteeing reliable JSON parsing and eliminating malformed-output prompt-injection risk. Multi-tool parallel execution runs concurrent tool calls on virtual threads.

    AI and agents
  2. A pure orchestrator and six specialist sub-agents, with skills loaded on demand

    The main agent becomes an orchestrator over knowledge, coding, data presentation, debugging, external knowledge and document agents, each with its own tools. File tools are sandboxed; skills load on demand.

    AI and agents
  3. S/MIME decryption supports full MIME message format

    The cryptography layer's S/MIME decryption parses full MIME messages and extracts inner body content from decrypted payloads. Multi-part signed-and-encrypted email workflows round-trip cleanly ; credential and certificate-chain handling are unchanged.

    Integrations
  4. Mermaid microservice — UML, flowcharts and sequence diagrams as a platform primitive

    A new microservice converts Mermaid DSL to production-grade SVG over HTTP and gRPC — flowcharts, sequence diagrams, state machines and ERDs without a third-party plugin. Server-side rendering enables platform-managed diagram caching.

    Integrations
  5. Streaming XSLT — heap footprint cut for large document workflows

    The XSLT processor now operates in streaming mode, eliminating the need to buffer entire document trees in memory. XML-to-JSON conversion jobs on hundred-megabyte documents complete inside a small heap rather than scaling with document size.

    Integrations
  6. OCR microservice ships with dual engines and automatic fallback

    The OCR microservice now supports Tesseract 5.8 LSTM and an alternate engine with automatic fallback. Accuracy becomes the property of the service rather than any single engine ; legacy OCR pipelines can be re-pointed without service interruption.

    Integrations
  7. Database-backed filesystems served over NFS and FTP, mounted from any desktop

    The disk tool and the script dictionaries mount as NFS shares with per-user isolated views, short-lived caches and permission bits from file attributes. FTP gains TLS, rate limits and idle timeouts.

    Developer tools
  8. Regular expressions, window functions, else-if and EXPLAIN in the XML dialect

    Regular-expression match, extract and split compile per engine, with ratio-to-report, NTILE, octet length and hex conversions. Conditions gain else-if, foreign keys gain deferrability, plans are read.

    Data and engines
  9. The MCP server moves into the Studio runtime, with an SPI any module can extend

    The protocol stack moved from the documentation module into the runtime, so any module contributes tools, resources and prompts through a service loader, and access is checked on every endpoint.

    AI and agents
  10. The data dictionary as a filesystem, with a .claude overlay for coding agents

    A Java filesystem exposes dictionary tables as a dict scheme with flat and hierarchical adapters, per-user caching and permissions. Pages delete and move with real semantics; a .claude overlay serves skills.

    Developer tools
  11. Agent API exposes explicit cancel — governance controls for autonomous workflows

    AI agents now expose an explicit cancel() at the API level. Combined with the MCP server's role-aware tool access, architects gain fine-grained control over autonomous workflows — pause, cancel or rate-limit at any boundary.

    AI and agents
  12. Cohere embeddings and tokenizer, multimodal Vertex embeddings, a price per model

    Cohere's embedding models join through its second-generation API with retries, and its tokenizer is reachable from scripts. Vertex AI embeds text, image, audio, video and documents. Every provider model carries a price.

    AI and agents
  13. Every statement carries a purpose and an owner, and the catalogue lists itself

    Each statement in the monitoring catalogue is classified by what it is for, from a cursor's main query to an export, and names the user it ran for. The catalogue lists its own tables with keys, triggers and queue limits.

    Observability
  14. Google BigQuery as a JDBC engine, with its driver fetched on first use

    A complete driver on the Simba JDBC connector: dialects, types, metadata and constraints across 37 files. The connector is downloaded as a bundle and extracted on first use; BigQuery joins the engine list.

    Data and engines
  15. Agents reach the web: provider-native search, plus HTTP and search tools

    OpenAI, Anthropic and Vertex AI web search are switched on through each provider's own mechanism. An HTTP tool gives agents bounded outbound calls, and a search tool returns titles, addresses and snippets.

    AI and agents

March2026

  1. PDF reports honour display-order column rearrangement without re-querying

    The PDF rendering pipeline now respects user-defined column display order. Column widths, header names and body rows reorder visually without re-querying the database ; physical column order remains the fallback when no reordering is set.

    UI
  2. Read replicas: one pool, read-only traffic routed transparently

    A replica cluster attaches at server level. Every pool from that server can hand out a read-only connection routed to a replica with primary fallback, and a monitoring table shows each replica's health.

    Data and engines
  3. JDK 25 adoption and Argon2id password hashing strengthen the security baseline

    The runtime is now on Java 25 LTS, with native Argon2id password hashing meeting OWASP 2023 password-storage requirements. The platform sits on a Java foundation supported through the next decade ; credential-compromise surface is reduced.

    Security
  4. The grid becomes a tree: hierarchical rows, dragging, one hierarchy model

    A grid renders hierarchical rows from a parent column, with a configurable collapse depth, dragging that reports the moved rows, and per-column rendering. The tree component builds from the same hierarchy model.

    UI
  5. Microservices authentication framework — pluggable enforcement per service

    The gRPC microservice mesh gains pluggable authentication with optional per-service enforcement. Organisations enforce service-level policies without redeploying the runtime, addressing federated-architecture compliance where some services lock down before others.

    Security
  6. Database Workbench gains SSH tunnel parameters for cloud database connectivity

    Database Workbench connections accept SSH tunnel parameters for cloud and network-restricted environments. Tunnel metadata is captured against the server node ; the connection lifecycle handles the tunnel transparently — no parallel terminal session required.

    Developer tools

February2026

  1. JDBC Pool V2 benchmarks — 1K, 2K, 3K concurrent pools per JVM, sub-microsecond acquisition

    JDBC Pool V2 benchmarked against the platform's classic pool. Thread-local hit serves 70–90 % of acquisitions in 20–50 ns ; shared-pool acquisition runs 135–580 ns ; a single JVM sustains 1,000–3,000 concurrent per-(database × user) pools without saturating contention.

    Data and engines
  2. Executable documentation: the manual's SQL and JavaScript examples run

    A task executes every runnable JavaScript block and every SQL tab block in the manual against real engines started in containers, PostgreSQL first and Informix with its own initialisation, storing results per engine.

    Developer tools

January2026

  1. The running server as a database: live monitoring tables queried with SQL

    An in-memory SQL engine serves the JVM's live state as schema-qualified tables: memory, threads, GC, class loaders, pools, connections and statements. A JDBC driver lets any SQL tool query it, live.

    Observability
  2. JDBC Pool V2 — the new in-house connection-pool architecture that replaces our previous design

    A new generation of the platform's JDBC connection pool ships, replacing the in-house design we have iterated on for years. The architecture handles thousands of independent (server × database × user) pools simultaneously — the property no generic pool can match — at sub-microsecond per-acquisition latency.

    Data and engines

December2025

  1. One SQL dialect per engine: MERGE, pagination and DROP IF EXISTS on 13 databases

    Engine behaviour moves from one 3,700-line switch into a dialect class per database, 13 in all. MERGE compiles natively or is emulated, DROP IF EXISTS works everywhere, and pagination and RETURNING follow each engine.

    Data and engines
  2. Temporary tables marked once, on twelve engines

    A temporary table is written as a braced marker and resolved to a unique name on each engine. The braces avoid clashes with MySQL variables and SQL Server parameters, and a temp table outlives the statement that made it.

    Data and engines
  3. Pivot rebuilt: hierarchical headers, several measures per pivot and a fluent API

    Result-set pivoting is rewritten with a standard and a hierarchical form, grouped column headers as in a spreadsheet, several value columns each with its own aggregation, and a fluent options API.

    Data and engines
  4. Monaco editor gains TypeScript-aware Ax API autocompletion

    The Monaco editor inside the form surface ships with type definitions for the Ax standard library — IntelliSense, inline parameter hints and refactoring across embedded JavaScript snippets. Configurable diagnostics run inside script tags without blocking the authoring flow.

    Languages
  5. Secrets at rest: AES-GCM, a prefix-aware verifier, and a guard against scripts

    Stored secrets move to an authenticated AES-GCM cipher with salt. Password verification reads the algorithm from the hash prefix, server passwords are encrypted at rest, and a script context cannot read a plain password.

    Security
  6. Single-session mode: a new login ends the user's other sessions on every node

    A company-level setting keeps one session per user. A login publishes an event over Redis, every node invalidates that user's other sessions, and a 1,200-line overview documents the whole login system.

    Security
  7. Studio in Kubernetes: Jib images, liveness and readiness probes, EKS Terraform

    Studio and the microservices build images with Jib, answer liveness and readiness probes with component checks, and ship Kubernetes manifests and Terraform for an EKS cluster, on AMD64 and ARM64.

    Runtime and operations
  8. Mailbox integration grows: attachments, folders, labels, recurring events

    The mail service fetches attachments from Gmail and Outlook, lists Gmail labels and Outlook folders, returns signatures, includes spam and trash on request, and accepts recurrence rules on calendar events.

    Integrations

November2025

  1. Vector store expansion — Qdrant official gRPC client and Redis Stack as a third backend

    The vector store layer expands to three backends : Qdrant migrates from a hand-authored HTTP client to the official gRPC API, retiring 654 lines of custom serialisation ; Redis Stack joins as the third option, co-locating HNSW vector search with operational cache data on a single Redis cluster.

    AI and agents
  2. Real-time AI chat over Server-Sent Events — streaming, cancellable, connection-leased

    Streaming chat delivers LLM tokens progressively over Server-Sent Events with connection-lease management against exhaustion and mid-stream cancellation. The knowledge-aware assistant integrates document context as a first-class multi-turn interaction.

    AI and agents
  3. Promises in server-side scripts: async S3, SOAP, mail, OneDrive and HTTP

    Server-side JavaScript gains native promises over Java futures, with allOf and anyOf. S3, SOAP, mail, OneDrive, Ansible and the HTTP client offer asynchronous forms beside the synchronous ones.

    Languages
  4. VirtualThreadExecutor — JEP 444 virtual threads become first-class platform infrastructure

    A platform-wide VirtualThreadExecutor lands on the runtime, replacing every newVirtualThreadPerTaskExecutor call-site with a single supervised executor that carries graceful shutdown, structured cancellation and a uniform observability surface. JEP 444 virtual threads become first-class infrastructure on every async path.

    Runtime and operations

October2025

  1. A change-data-capture server that keeps cluster caches consistent

    A standalone capture server reads Informix CDC and PostgreSQL logical replication and publishes cache-invalidation events over Redis. Nodes subscribe with backoff and choose a cache-sync strategy each.

    Runtime and operations
  2. LDAP over StartTLS, with injection-safe filters

    Directory authentication negotiates StartTLS with host-name verification, beside plain LDAP and LDAPS. Search filters are sanitised against injection, and Dockerised OpenLDAP tests cover bind and search.

    Security

September2025

  1. Flight Recorder events for pools, connections, statements and caches

    The data tier emits JDK Flight Recorder events: pool acquire, release, scavenge and exhaustion; connection open and close; statements with user, parameters and SQL state; cache clears; large result sets.

    Observability

August2025

  1. Unified tool-result contract for AI agent outputs

    The AI agent's tool-result handling consolidates table results, chart visualisations and file attachments under one contract — replacing the fragmentation between SQL-result-set and chart-specific handlers. One canonical render pipeline serves every tool output.

    AI and agents
  2. Script sandboxing: a host-access allow list and forbidden classes for GraalVM

    Every script context comes from one factory with a sandbox policy. A generated allow list names the Java classes scripts may reach; file, network, thread, system and reflection classes are forbidden.

    Languages

June2025

  1. JMX-based observability for the gRPC microservice fleet

    The microservice runtime exposes interceptor metrics and manifest metadata through JMX, surfacing operational state to Prometheus, Grafana and the customer's existing JVM monitoring stack. Server-status endpoints become Kubernetes-ready health checks.

    Observability

May2025

  1. Login rate limits, an administrator login, and JavaScript authenticators

    Login attempts are rate-limited by IP and by user, with the block list readable as a result set. Administrators sign in on a separate page with a CSRF token, and custom authenticators run as JavaScript.

    Security
  2. Microsoft Outlook integration via the modern Graph SDK

    The microservice mesh adds first-class Outlook support — email send, thread-based retrieval, attachment handling — through Microsoft Graph with OAuth 2.0 and MSAL bearer-token flows. Outlook joins Google Gmail and Calendar as a peer in the unified connector protocol.

    Integrations
  3. JDK 24 and GraalVM 24.2.1 — the runtime steps to the next Java release

    The runtime moves to JDK 24 and GraalVM 24.2.1, with Gradle 8.14 supporting the new toolchain. The upgrade brings stable virtual threads, structured-concurrency previews and the GraalVM JIT improvements that the platform's polyglot scripting surface depends on.

    Runtime and operations

April2025

  1. Right-to-left PDF reports: writing modes, complex scripts and the Dubai font

    Report output follows the locale's direction: writing mode set on blocks and components, complex-script shaping for ligatures and bidirectional text, and the Dubai font embedded in three weights.

    UI

March2025

  1. Google Calendar event creation with Hangouts Meet conferencing

    Calendar event creation through the cloud-connector mesh adds conference URIs and Hangouts Meet integration, with attendee management and pagination tokens. The event model decouples field mapping from JSON serialisation against API-version drift.

    Integrations

February2025

  1. Anthropic Claude 3.7 Sonnet joins the multi-provider AI surface

    Anthropic Claude 3.7 Sonnet — including extended-thinking and reasoning-budget support — is now addressable through the platform's unified LLM interface alongside OpenAI and Google Vertex. Message-content handling is refactored to be model-agnostic.

    AI and agents
  2. ClickHouse JDBC support — columnar OLAP SQL through the standard database interface

    ClickHouse joins the platform's multi-database JDBC layer as the first columnar OLAP engine. A complete SQL dialect covers ClickHouse's distinctive surface — date arithmetic, Nullable column semantics, OLAP aggregates, lateral joins and materialised views — through the same XSQL, workbench and virtual-table interfaces the OLTP engines already use.

    Data and engines
  3. Vertica joins the engine list, with its data types and a driver quirk handled

    The Vertica driver lands with array, JSON, multiset, geometry, blob, UDT and text-search types, plus database creation, metadata, users and explain. Vertica keeps one result set open, so the platform drains the first.

    Data and engines

January2025

  1. gRPC consolidation of the document-processing services

    PDF, XSLT and HTML rendering services unify under a single gRPC architecture with shared error semantics. IP location and self-signed-certificate support join the cluster's secure inter-service path — the foundation later microservice additions build on.

    Runtime and operations

December2024

  1. A monthly AI spend limit per user, and a default model per level

    Each user carries a monthly AI budget, checked against the AI log before a call runs. Default models resolve per user, then department, then company, and every provider client reports its usage the same way.

    AI and agents
  2. Google Vertex AI joins the multi-provider AI surface as the third LLM provider

    Google Vertex AI joins OpenAI and Anthropic Claude as the platform's third LLM provider. Gemini Pro and Flash models are addressable through the unified AI configuration layer ; a JavaScript model builder API exposes provider-specific options — regional endpoint override, grounding citations, thinking budget — without breaking the neutral application surface.

    AI and agents
  3. Studio UI ships Chinese and Urdu language packs — seven languages plus RTL

    Chinese and Urdu translations join English, Spanish, Catalan, French, German, Italian and Portuguese in the platform UI. RTL framework support remains for Arabic and Hebrew when those packs ship — multinational Asia and South Asia deployments on a single platform.

    UI
  4. Accessible PDF output: PDF/UA-1 from the report engine, with Arabic type

    The report engine renders PDF/UA-1 documents: tagged structure, a document language, declared metadata and alternate text on every image. Noto Sans Arabic ships in six weights for right-to-left output.

    UI
  5. A chat assistant that charts SQL, finds objects and reads the manual, securely

    The Studio chat assistant gains tools: it charts a query in nine chart types, finds dictionary objects and answers from the manual. Its SQL runs through the XML query layer, so row security applies to the model too.

    AI and agents

November2024

  1. Login hardening: a TOTP second factor, failed-attempt delay, single-session mode

    Time-based one-time passwords with QR enrolment, a delay after repeated failed logins, an option that keeps one session per user, and SAML, JWT and OAuth refinements for federated sign-in.

    Security
  2. Multi-provider credential management for cloud integrations

    A credentials-manager SPI abstracts cloud credential storage across S3, Azure Blob, IBM Cloud and Google Cloud Storage. Enterprises integrate their secret-management policy of choice without rewriting application code ; rotation moves out of the application and into the platform.

    Integrations
  3. Analytical Card v2 — horizontal-layout dashboard primitive

    A horizontal-layout analytical card joins the form-editor component palette — flexible node positioning, focus layering, configurable legends. Composable data-responsive designs replace static card layouts ; executive dashboards compose without per-screen custom styling.

    UI
  4. Row-level security injected into every SQL path, through one resolver

    A row-security rule declared once on a table is injected into every path that reads it: foreign-key lookups, vertical joins, reports, scripts and cursors, through one resolver, with ANSI joins and an explicit opt-out.

    Security

October2024

  1. SAP HANA joins the engine list: hierarchies, column tables and triggers

    The engine-neutral SQL dialect compiles to SAP HANA: triggers, START WITH and CONNECT BY hierarchies, column-store tables. Hive connects through its JDBC bundle, and drivers without server-level connections declare it.

    Data and engines
  2. Playbook: runnable code with its explanation, in folders, tagged and shared

    A notebook-style Studio tool where code and its explanation live together: folders, colour-coded tags, templates, a runner with a database connection and console, typed API completion, and notifications on sharing.

    Developer tools
  3. One procedure language, seven engines: triggers, CTEs, FOR IN loops, dynamic SQL

    The stored-procedure language compiles triggers, common table expressions, FOR IN loops, UNION, EXECUTE IMMEDIATE and dynamic SQL with cursors to seven engines, and records where an engine refuses a construct.

    Languages
  4. The schema model places tables, large objects and indexes in storage spaces

    The schema compiler emits storage placement: a dbspace per table, per large-object column by name pattern and per index, checked for existence first. Unique indexes may allow multiple nulls. Layouts are recorded.

    Data and engines

September2024

  1. Geometry functions in the engine-neutral SQL dialect, on six engines

    Twelve spatial functions, from constructing points and polygons to area, buffer, intersection, length and centroid, compile to Informix, Oracle, PostgreSQL, SQL Server, DB2 and MySQL from one dialect.

    Data and engines

August2024

  1. The XML SQL dialect grows: UNION, several CTEs, synonyms, DECODE, text search

    The engine-neutral query dialect gains UNION with ordering, several common table expressions per query, synonyms, CROSS JOIN and nested joins, a rowid column, DECODE, an include resolver and full-text search.

    Data and engines

June2024

  1. Anthropic Claude joins as the second LLM provider, with RAG query rewriting

    Anthropic's Claude API joins OpenAI as the platform's second LLM provider, wired through the same provider-agnostic AI configuration layer. A RAG query transformer ships alongside it : the transformer generates multiple rephrased variants of the user's question before each retrieval pass, broadening recall against the vector index without changing the question the user sees.

    AI and agents

April2024

  1. A reranker API with Cohere and a local service, and a question-answer chain

    Retrieval gains a reranking stage: a Cohere reranker with retries and a local Infinity service with a timeout, behind one interface. A question-answer chain wires retriever, reranker and query transformer.

    AI and agents

February2024

  1. Qdrant vector database — dedicated semantic search for RAG workloads

    Qdrant joins the platform as its first dedicated vector database, callable from server-side JavaScript through the platform's vector database namespace. A typed gRPC client replaces the earlier microservice dependency ; collection configuration, embedding store operations and payload-filtered nearest-neighbour queries are all available from scripts that hold the platform's standard role permissions.

    AI and agents

The platform ships consistently.

Twenty-seven product releases over the last eighteen months. The cadence is the evidence.