eMondrian 10.0.42 — modules 0.0.0.47

Docker image emondrian/emondrian:10.0.42, which latest now points to. Mostly fixes, all of them found while building Power BI reports against a live cube.

Fixed

  • TopCount and BottomCount on ClickHouse returned every member instead of the N asked for — sorted correctly, never trimmed.
  • A page with many visuals failed on a random subset of them, differently on each refresh, when several visuals queried at once. Individually every visual worked.
  • A slicer on a column that contains empty values always failed.
  • A measure whose name starts with # — # Customers, # Orders — stopped Power BI from loading the model at all.
  • MCP run-mdx-query answered with an internal object description instead of the query result.

New

  • Read-only MCP. -Demondrian.mcp.readOnly=true leaves the tools that write schemas, register catalogs, read logs or report server properties unregistered, so they are absent from the tool list rather than refused when called. This is how the public demo runs its endpoint.
  • MCP save_catalog registers a catalog in datasources.xml and writes its schema file in the same call, so an agent can create a catalog and query it without a restart. Before this, that step had to be done by hand. See AI agents (MCP).

Upgrade

git pull
docker compose pull
docker compose up -d

Web tools 1.0 — October 2026

Docker images emondrian/entry:1.0, emondrian/webolapclient:1.0, emondrian/schema-editor:1.0 and emondrian/catalog-editor:1.0. The eMondrian server was 10.0.39 at the time of that release.

New

  • OLAP Client at /client/ replaces the Web OLAP client: a metadata tree, a layout builder (filters, columns, rows, measures), an MDX editor with error checking, a pivot table with expand and collapse, and a log of every query with its timings.
  • Schema Editor and Catalog Editor are separate tools. The Schema Editor (/schema-editor/) edits cubes, dimensions, measures and roles; the Catalog Editor (/catalog-editor/) edits the data sources and catalogs in datasources.xml. Each runs in its own container.
  • Installed licenses on the main page. The License section lists every license on the server with its type, modules, start and expiry date. See Installed licenses.
  • CORS in the front door. /xmla and /api answer cross-origin requests, including the SOAPAction header; CORS_ALLOW_ORIGIN in .env sets the origin. See CORS.

Improved

  • New look. The main page and all three tools use the eMondrian design, with light and dark themes.
  • New .env flags ENABLE_SERVICE_OLAP_CLIENT and ENABLE_SERVICE_CATALOG_EDITOR. The old ENABLE_SERVICE_WEB_OLAP_CLIENT still works, and the Catalog Editor follows ENABLE_SERVICE_SCHEMA_EDITOR unless it has its own flag.

Upgrade

git pull
docker compose pull
docker compose up -d --remove-orphans

--remove-orphans removes the container of the old Web OLAP client, which docker-compose.yml no longer defines.

eMondrian 10.0.39 — modules 0.0.0.43

Docker image emondrian/emondrian:10.0.39.

New

  • Power BI live connection (DAX module). Power BI connects to eMondrian through its Analysis Services connector and queries cubes in DAX. See Power BI and DAX support.
  • AI agents (MCP module). A built-in MCP server lets Claude and other MCP clients list catalogs, read schemas, run MDX and DAX, and draft, validate and save schemas. Endpoint: /emondrian/mcp/sse. See AI agents (MCP).
  • Both modules ship with Community and are unlocked by a free 30-day evaluation key.
  • MCP tool execute_query takes a cube argument — required for DAX when a catalog has more than one cube.
  • PostgreSQL JDBC driver included, alongside ClickHouse (0.8.2) and HSQLDB.
  • OnTime sample on ClickHouse — US flight data, loaded by the setup script.

Improved

  • Clear license messages. License problems are reported as they are — No .lic files found, License has expired, Module 'MCP' not found in license modules — instead of a generic “module not found” error.
  • MCP through the main port. The MCP endpoint is served by the web front door on the same port as everything else; no extra port needs to be published.

Known issues

  • DAX: unqualified measure references ([Org Salary] instead of 'HR'[Org Salary]) fail or loop. Qualify measures with their table.
  • MCP: no authentication, no row limit, no request timeout — use on localhost or a trusted network. See Security.

Upgrade

git pull
docker compose pull
docker compose up -d

Activated keys stay in modules/. Restart if you replace a key.