Skip to content

Iceberg Data Platform 0.5.0

Release date: 2026-09-22

Changes

  • Share selected tables and views with another team, external recipients, or both. Team members use their own accounts, and access follows membership, expiry and revocation.
  • Received shares appear in Catalog and Notebooks as read-only databases. Recipient teams can open notebooks without owning a database; their saved files stay in their own team/environment workspace.
  • MCP endpoints for workspace users and platform administrators, authenticated through Keycloak. Users explore their catalogs with their own permissions; team administrators can manage their databases. Platform administrators can manage platform resources.
  • A separate Databases menu in the user portal, with creation, renaming, deletion and recovery of incomplete deletions. The team overview keeps its database summary and links to Manage databases.
  • Authenticated workspace API documentation at http://localhost:3002/docs, with working Swagger requests and the same team permissions as the portal.
  • Shared notebook display helpers and DuckDB flight-data examples for reading and writing Iceberg tables.
  • Fixed: several open notebooks could exhaust the runtime's thread limit. Native numerical thread pools are now bounded, and concurrent flights generation is checked under runtime resource limits.

See the changelog for details.

Upgrade from 0.4.1

No data migration is required. Preserve your existing configuration and PostgreSQL, RustFS, pgAdmin and shared notebook volumes.

Update all three application images: portal, users and notebook. Restart the platform so keycloak-bootstrap registers the new iceberg-mcp client. Existing installations can set MCP_CALLBACK_PORT in .env; its default is 3010. Users must sign in again after the portals restart. Newly started notebook sessions use the updated notebook image.

Existing shares remain external; no share conversion is required. Sharing destinations are fixed at creation: revoke and recreate a share to change them. Internal sharing requires updated portal and user images so creation, membership changes and revocation apply the same grants. Update the notebook image to receive the shared-data starter; existing saved notebooks are preserved, and the new starter is added as shared_workspace.py.

Install this version

These commands become available after the release workflow publishes v0.5.0.

Linux / macOS:

curl -fsSL https://github.com/sanderdw/iceberg-data-platform/releases/download/v0.5.0/install.sh | sh

Windows PowerShell:

irm https://github.com/sanderdw/iceberg-data-platform/releases/download/v0.5.0/install.ps1 | iex

The installers pin the installation bundle and all application images to 0.5.0. Docker with Compose is required. The release workflow builds images for Linux AMD64 and ARM64.

Publication

Follow the release workflow. Merge the reviewed changes into main, wait for hosted CI, then tag that commit v0.5.0. Pushing the tag triggers image builds and publication of the source archive, installation bundle, installers and checksums.

Preparation checks

Local preparation completed on 2026-09-22:

  • Full verification: 302 tests passed, 9 skipped; Python lint and JavaScript syntax checks passed.
  • Browser fixtures: team/database management, catalog, data shares, forms and navigation passed.
  • Notebook syntax checks passed. The notebook image started with a read-only filesystem and no network; HTML and Jupyter exports passed.
  • Python and npm dependency audits reported no known vulnerabilities.
  • Gitleaks found no secrets in the packaged source.
  • Release checks validate matching project, lockfile and both portal API versions.

The skipped tests require PowerShell, which is unavailable in the local environment. Hosted CI must still run the native installer, live Docker/Keycloak integration, MCP smoke tests and notebook image checks before publication. Multiarchitecture release images are built by the tag-triggered workflow.