Skip to content

Changelog

v1.17.1 (October 12, 2026)

Patch: section filter bars use their full width in the Paper look

Docker Images

ghcr.io/depictio/depictio-api:1.17.1
ghcr.io/depictio/depictio-viewer:1.17.1
ghcr.io/depictio/depictio-worker:1.17.1
ghcr.io/depictio/depictio-cli:1.17.1

🐛 Bug Fixes

  • A section's filter bar shares its width between its filters in the Paper look: on a wide canvas, two filters no longer sit on the left half of the bar (#1184).

v1.17.0 (October 12, 2026)

Minor: components embedded in other sites, the Paper look, and Account settings

Docker Images

ghcr.io/depictio/depictio-api:1.17.0
ghcr.io/depictio/depictio-viewer:1.17.0
ghcr.io/depictio/depictio-worker:1.17.0
ghcr.io/depictio/depictio-cli:1.17.0

✨ New Features

  • Components embedded in other sites: the export API serves one dashboard component, live, as a Plotly spec for a site's own plotly.js or as a self-contained page for an <iframe>, off until DEPICTIO_FASTAPI_EMBED_ENABLED turns it on. See Component export and embedding (#917, 6146fe0b, 387310d6).
  • Export / embed on every tile opens a dialog that picks the format, the theme and the current filters, and gives the URL, a curl command and a plotly.js or <iframe> snippet. See From a tile (#917, 44f9c20c).
  • A manifest to build on: GET …/components lists each component with its formats and its filter, with the values a filter offers on request, and every export carries a revision to poll or pin. See The API (#917, e60bf1f0, 41400f09).
  • The Paper look, now the default, draws every page on paper panels and puts a dashboard's Search, Analysis, Comments and Edit in a dock that can move, while Classic keeps the earlier layout. See Paper and Classic (#1174, e98d5bb8, 366bb5a0).
  • Account settings replace the profile page: account and profile picture, password, CLI agents, preferences (theme, look, font size), the tours and the server, opened from the avatar. See Account settings (#1180, 3c2845c3, f6ca9b5d).
  • Server information and the release check: the server status opens the version, mode and useful links, and tells administrators when a newer release is out, which DEPICTIO_VERSION_CHECK_ENABLED can turn off for good. See Release check (#1180, 012e8c71).

🚀 Improvements

  • An instance default look: Administration → Branding → Default look picks Paper or Classic for everyone who has not chosen. See Default look (#1180, 75053030).
  • A sectioned Administration page, its pages grouped under People, Content, Activity and Instance, with tasks, ingestion runs and logs read as one list. See Admin section (#1180, 112745e5).
  • The project page leads with its workflow, then one switch between Data collections and Ingestion report, and cross-DC links open on a map of the collections and their connections. See Project detail (#1180, 78e14fe5, 5a4c4533).
  • New CLI configurations in two steps: name it, then save it as ~/.depictio/CLI.yaml and run depictio config check. See Create a CLI configuration (#1180, 2bc60aba).
  • A Table display menu on the Dashboards and Projects listings sets the row height and the columns shown. See Thumbnails or table (#1180, ef826664).
  • Slider tick labels are optional: show_mark_labels: false keeps the ticks without their values, and the builder previews a slider as the dashboard draws it. See Initial values and slider options (#1180, e1b0dd11).
  • Sign-in leads with SSO and Google, then the email form (#1180, c9f5ed6a).
  • A faster Try Depictio codespace: its image is a quarter smaller, and the server's start-up shows in a terminal of the editor. See Installation (#1183, ce87f232).

🐛 Bug Fixes

  • GitHub Releases are published again: they had stopped after v1.14.0, and v1.14.1 to v1.15.1 now have theirs (#1179, d6e424cf).

v1.16.0 (October 11, 2026)

Minor: data read where it lives, projects from a run folder, and dashboards composed from the catalog

Docker Images

ghcr.io/depictio/depictio-api:1.16.0
ghcr.io/depictio/depictio-viewer:1.16.0
ghcr.io/depictio/depictio-worker:1.16.0
ghcr.io/depictio/depictio-cli:1.16.0

♻️ Migration

  • depictio ingest composes where it used to stop: a local results directory that no bundled template fits exited 2, and now gets a project with a composed dashboard, as does depictio watch. See Exit codes (#1147, e337430d).

✨ New Features

  • Data read where it lives: a data collection can read an https:// or s3:// file, an S3 prefix or a data manifest, and --bind TAG=LOCATION points one collection of a template at its own location. See Remote data and manifests (#965, 9456fe4b, 64fce850).
  • An s3:// run folder as DATA_DIR: depictio ingest s3://bucket/run42 detects the template and ingests the results where they are, and --dry-run previews what each collection would read. See A run folder on S3 (#1047, 7b452923, 5b32d899).
  • From a run folder, a new way to create a project in the web UI, checks a folder of an S3 bucket, or of this computer under depictio local, against its detected template, previews each collection and ingests in the background. See From a run folder (#1047, 4a0ac6ce, 6fee7d57).
  • A project's own bucket: Project settings → Storage keeps the endpoint and keys a project reads its s3:// data with, and From a run folder asks for them when a bucket cannot be read without them. See Project storage settings (#1047, 3bf0bdd1, 1a871d95).
  • Projects from a manifest, refreshed in place: From Manifest creates a project from a manifest URL, and Project settings → Data refresh reads its remote sources again. See Refreshing the data (#965, 21f633eb, b5d4d86e).
  • A project shared as a template: Project settings → Export and depictio template export write a bundle that --template <path> runs elsewhere, and depictio manifest from-table writes a manifest from a sample table. See Sharing a project (#965, 9456fe4b).
  • Dashboards composed from the catalog: for a run no bundled template fits, depictio ingest builds an Overview, a tab per pipeline stage and a Samples filter from the outputs the catalog recognises, and depictio template compose writes that template without ingesting. See Composed dashboards (#1147, e337430d, 8d774c29).
  • Files the catalog does not recognise are listed by the ingestion and on the project page with the command that adds each, and --include-unknown or --include GLOB adds them to the dashboard. See Files the catalog does not recognise (#1147, c69db652, dcf3b8be).

🚀 Improvements

  • --result-json FILE writes how an ingestion ended, for scripts: its status, the project, and each dashboard's link and whether it was created, kept or replaced. See Result file (#1147, 3512139b).
  • Composition hints in the catalog: a tool or output declares its stage, a card headline and any render priority, which place its renders in a composed dashboard. See Composition hints (#1147, 00f81c4b).
  • Wildcards become columns: each {name} placeholder of a recursive pattern adds a column with the value read off the path, unless the file has one. See Recursive Mode (#1147, dcf3b8be).

🔒 Security

  • Remote reads go through one gateway: the server fetches an https:// URL only from a public host or one DEPICTIO_REMOTE_URL_ALLOWLIST names, and reads an s3:// location with the project's keys or from a bucket an administrator lists, never with the instance's keys. See Remote data sources (#965, e43a4764, 40e23999).
  • The ingestion report no longer probes the server's disk: a recipe's inputs are shown as stored, so a reader cannot learn whether a server file exists or where a link leads. See What the report shows (#1047, 9a3f681b, 64b8cfad).

🐛 Bug Fixes

  • A refresh keeps the files of every run: walking each run deleted the files of the runs walked before it, so only the last run of a collection kept any. See Refreshing a project (#1047, 73ccb8eb).
  • The catalog's General Statistics offer adds the General Statistics table, not the first plot of another MultiQC module. See Where the offers come from (#1147, c69db652).

v1.15.1 (October 11, 2026)

Patch: a ready-to-run Codespaces demo, and safer startup and S3 cleanup

Docker Images

ghcr.io/depictio/depictio-api:1.15.1
ghcr.io/depictio/depictio-viewer:1.15.1
ghcr.io/depictio/depictio-worker:1.15.1
ghcr.io/depictio/depictio-cli:1.15.1

✨ New Features

  • The Codespaces badge opens a light Try Depictio workspace: the Python package on a prebuilt image, with the examples loaded, so the viewer is up seconds after the codespace starts. See Installation (#1176).

🐛 Bug Fixes

  • The S3 orphan cleanup no longer deletes tables while they are being seeded (#1175).
  • Workers start cleanly after a MongoDB wipe: none starts Beanie before the database is emptied, and a waiting worker reads this boot's lock (#1177, #1178).
Beta releases leading up to v1.15.1

v1.15.1-b1

  • The S3 orphan cleanup fix (#1175).

v1.15.1-b2

  • No worker starts Beanie before a MongoDB wipe empties the database (#1177).

v1.15.1-b3

  • A worker waiting for initialization reads this boot's lock, not an old marker (#1178).
  • The stable release adds the Try Depictio codespace (#1176).

v1.15.0 (October 9, 2026)

Minor: dashboard version history, data versions with time travel, and ingestion that runs on its own

Docker Images

ghcr.io/depictio/depictio-api:1.15.0
ghcr.io/depictio/depictio-viewer:1.15.0
ghcr.io/depictio/depictio-worker:1.15.0
ghcr.io/depictio/depictio-cli:1.15.0

♻️ Migration

  • The scan applies max_depth and ignore, which earlier releases accepted and ignored, so a collection that sets them may register fewer files, and --legacy-scan-depth ignores them for one more release. See Limiting a recursive scan (#915, dd713ad1).
  • Component tags must be unique within a tab: a YAML import that repeats one is refused, and a component without an index takes an id derived from its tag. See Component Naming (#1164, 062cfc42, 48667fc9).

✨ New Features

  • Dashboard version history: Settings → History lists every saved state of a dashboard, with bookmarks, a read-only preview link, and a restore that records the present first. See The History section (#919, d4774967, 9f1d2e27).
  • Component history: History in a component's ⋮ menu compares it with any earlier version and restores it alone. See Component history (#1164, fdd7bf14, 981381a1).
  • Data versions and time travel: each write to a table is a Delta commit, a dashboard version records the commit of each collection, and previews and Settings → Data version draw from earlier data, with a Current data badge on the components that cannot go back. See Data versions (#1164, 341b1543, 5e6a3d88).
  • Dataset history: a table's Version history on its project page lists its commits, At version previews one, and depictio data versions and depictio data vacuum list and clean them up. See Dataset history (#915, 50c3e9b5, dd713ad1).
  • Partial writes: --write-mode replace-runs rewrites only the runs in a batch, --incremental-write only those that changed, and --skip-unchanged leaves alone a table whose files did not change. See How new data versions are written (#915, e8db0da6, dd713ad1).
  • depictio watch runs the ingestion again whenever the results directory changes, as a service or a container, and a second watcher or ingestion of the same project on that machine stops at once. See Watch Command (#915, dd713ad1).
  • Run ingestion on a project page has the server ingest the project itself, where the server can read its data, and is off by default. See Run ingestion (#915, fde32da1, 50c3e9b5).
  • An ingestion worker and a jobs API: the Compose ingestion profile adds a worker that profiles large tables for --async-upsert and runs Run ingestion, and /jobs reports on that work. See Ingestion worker and Jobs (#915, fde32da1).

🚀 Improvements

  • Live ingestion steps and a Watchers pane: Log & Task shows a running ingestion's steps as they happen, and lists each watcher with Run now. See Watchers (#915, 50c3e9b5).
  • Ingestion history on the project page: the Ingestion tab's History view lists the project's runs for anyone who can open it, and the report counts new and updated files. See Ingestion history (#915, 50c3e9b5).
  • Faster rescans: a rescan skips the runs whose files did not change since the last one (--state-cache, on by default), and --sync-changed re-uploads only the files that moved. See Ingest Command (#915, dd713ad1).
  • YAML figures take every chart the builder draws, ecdf, strip, area, funnel, density_heatmap and density_contour included. See Figure Component (#1164, 062cfc42).

🔒 Security

  • A render draws a past version from the server's own record: it names the version with definition_version, and component_overrides is refused, so no request supplies a component's definition or code. See Past versions in a render (#1164, 48667fc9).

🐛 Bug Fixes

  • A slow table profile no longer drops the connection or stalls the server: it runs off the request loop, and the API server allows a request 300 seconds instead of 120, as long as the CLI waits. See Request timeouts (#915, fde32da1).

v1.14.1 (October 9, 2026)

Patch: nf-core templates v2, four new pipeline releases, and access checks on figure previews

Docker Images

ghcr.io/depictio/depictio-api:1.14.1
ghcr.io/depictio/depictio-viewer:1.14.1
ghcr.io/depictio/depictio-worker:1.14.1
ghcr.io/depictio/depictio-cli:1.14.1

✨ New Features

  • The nf-core templates move to v2: each opens on an Overview landing tab, with its analyses in tab groups, built on one set of authoring rules. See Contributing Templates (#1160).
  • Templates for atacseq 2.1.2, chipseq 2.1.0, airrflow 5.1.1 and cutandrun 3.2.2, whose outputs moved too far for the previous templates to ingest them. See atacseq (#1161).
  • category_colors: auto picks the colours at import, and text tiles print live values computed from the data. See Category colours and Live values (#1160).

🐛 Bug Fixes

  • Figure previews and dashboard exports check access to the project, and code figures reach only what a chart needs. See Code execution security (#1166).

v1.14.0 (October 8, 2026)

Minor: landing tabs written in YAML, a Guide on every dashboard, and Spotlight search across its tabs

Docker Images

ghcr.io/depictio/depictio-api:1.14.0
ghcr.io/depictio/depictio-viewer:1.14.0
ghcr.io/depictio/depictio-worker:1.14.0
ghcr.io/depictio/depictio-cli:1.14.0

♻️ Migration

  • Advanced visualization controls dock beside or above the plot on a tile with room for them, three in view and the rest under More options, unless the component sets controls_placement: popover. See Shared settings (#1145, 97da4ef6, e7321b4b).

✨ New Features

  • Text tiles take block markdown: headings, lists, tables, steps flows, tab: and params: links, colour swatches and a surface frame, with lists of tab links drawn as tab tiles or result rows. See Markdown (#1145, 3a16fb36, 44ebf0e8).
  • Plain sections and filter bars: appearance: plain draws a section as a heading over its tiles, and display: strip or filter_bar: true gathers filters in a compact bar that narrows the tab or that section only. See Filter bars (#1145, efde5134, 2b5b3959).
  • category_colors give each value of a column one colour on filter chips, figures, UpSets, trees, sunbursts and sankeys, and child tabs inherit them. See Category colours (#1145, efde5134, b83094e5).
  • Card styles (variant: headline, compact, minimal, accent, split) are set per card or per section with card_variant, beside a caption, fixed decimals and a link to a tab. See Display options (#1145, cff3d3b2, f8bbe31c).
  • figure_style: minimal draws a figure or advanced visualization as a landing-page card, its title beside an icon badge, with a caption and a link to the tab it summarises. See Figure style (#1145, c8021f23, 5d95c157).
  • Highlight components redraw a figure from another tab under this tab's filters, without copying it, from Highlight on… in its menu. See Highlight Components (#1145, 9b281d59).
  • Phylogeny summary by rank: collapse_rank draws one tip per lineage, sized by tips or reads, with a column of dots per site, and the builder sets a tree up in steps. See Summary by rank (#1145, 58ba52c9, cadbc5cf).
  • An UpSet can filter the dashboard: a click on an intersection emits its rows' selection_column values. See UpSet (#1145, 9fa11889).
  • Tab groups and tab defaults: tab_group lists child tabs under headings in the sidebar, and filter_panel_default, content_width_default and show_tab_header set what a tab opens with. See Tab groups and Tab defaults (#1145, 922a4457, 22eadf99).
  • The dashboard Guide, an entry in every dashboard's sidebar, shows how to move around, filter and read it, with live demos built from the dashboard's own components. See The dashboard Guide (#1145, 2d40cdd8, 454bf14a).
  • Spotlight search: ⌘K / Ctrl+K searches every component of every tab and lands on the one picked, unfolding whatever hides it. See Spotlight search (#1152, d2a8cb84, 12234adc).
  • Copy to tab… in a component's menu adds a copy to another tab. See Copy to tab (#1145, bf42e2a3).

🚀 Improvements

  • Settings is a dialog with a rail of sections: Your view for the reader's font size and page width, then, in edit mode, tab defaults, tiles, filtering, Guide and branding, all in the dashboard's colours. See Dashboard settings (#1145, e8545b20, f71da622).
  • A child tab without a brand of its own draws in its main tab's, figures and builder previews included. See Settings for everyone (#1145, 743ee0f8, 1cf3e4e8).
  • A section on every tab can skip some with exclude_tabs, and says Filtered with a Reset filters action where it is pinned. See Sections on every tab (#1145, 35343b57).
  • Sunburst and sankey colour by lineage, small sunburst arcs fold into Other, and stacked taxonomy strips are labelled in place. See Sunburst (#1145, b83094e5, a2bfc69d).
  • Component builders are laid out in collapsible sections, the required ones always open. See Step 3 (#1145, ccb68f97, c2953547).
  • Grids count in half rows, so fitted text and cards leave less blank, and phones lay tiles out in reading order. See Right Panel (#1145, 5755726c, 74c681cc).

🐛 Bug Fixes

  • A YAML export keeps component descriptions, text tile bodies and advanced visualization configs, which a re-import used to lose. See Landing-tab keys (#1145, 58ba52c9, cec284e3).
  • An editor opened on a narrow screen no longer saves its one-column layout as the desktop one (#1145, 72700706).
  • depictio ingest reads boolean pipeline parameters stored as strings, so an ampliseq run with --ancombc true keeps its Differential Abundance tab (#1145, f9a5dcb5).
  • The Underlying data grid opens its column menus over the popover instead of behind it (#1145, 572d711b).
  • Maps draw their title once, follow dark mode and float the legend on narrow tiles (#1145, 1847119f, 74c681cc).

v1.13.2 (October 8, 2026)

Patch: a scan that finds nothing says so, and a dry run that previews the scan

Docker Images

ghcr.io/depictio/depictio-api:1.13.2
ghcr.io/depictio/depictio-viewer:1.13.2
ghcr.io/depictio/depictio-worker:1.13.2
ghcr.io/depictio/depictio-cli:1.13.2

🐛 Bug Fixes

  • A scan that matches nothing warns where it looked, what it looked for and what it found, instead of reporting success (#1040).
  • --dry-run previews the scan: it validates the project configuration, still offline, and lists how many files each data collection would match. See Ingest Command (#1040).

v1.13.1 (October 8, 2026)

Patch: refreshes that keep attached runs and gain the template's new tabs

Docker Images

ghcr.io/depictio/depictio-api:1.13.1
ghcr.io/depictio/depictio-viewer:1.13.1
ghcr.io/depictio/depictio-worker:1.13.1
ghcr.io/depictio/depictio-cli:1.13.1

🐛 Bug Fixes

  • A refresh keeps the runs attached with --attach-run, and stops if one of their locations is missing (--drop-missing-runs drops them). See Refreshing a project (#1157).
  • A kept multi-tab dashboard gains the template tabs it lacks, and two --dashboard files with the same name stay two dashboards. See Refreshing a project (#1157).
  • -v no longer logs the substituted project configuration, and your own AWS session token is no longer sent to Depictio's S3 (#1157).
  • Interrupting depictio local up no longer leaves processes running (#1157).

v1.13.0 (October 7, 2026)

Minor: comments and annotations on dashboards, ten new visualization kinds, and thirteen new nf-core templates

Docker Images

ghcr.io/depictio/depictio-api:1.13.0
ghcr.io/depictio/depictio-viewer:1.13.0
ghcr.io/depictio/depictio-worker:1.13.0
ghcr.io/depictio/depictio-cli:1.13.0

♻️ Migration

  • A Slider filter is now a threshold, keeping the rows at or above its value; add slider_mode: eq to keep the exact match. See Initial values and slider options (#1102, 48d0bc05).
  • A card's threshold_warn on the passing side of threshold_value fails validation instead of being dropped silently. See Secondary Layout Modes (#1102, 48d0bc05).
  • ma, qq, enrichment and roc_pr_curve are views of the volcano, dot plot and pr_benchmark tiles; stored dashboards and YAML files are rewritten when read, nothing to edit. See Switchable views (#1102, 59f632ae).
  • A catalog tool's module.yaml must declare description and homepage (and may add biotools_url); copy them into your own modules. See Step 1: module.yaml (#1102, 0f1d6e21).
  • Reworked templates do not replace your dashboards on refresh: delete the old dashboard in the viewer, then refresh, to get the new layout. See Refreshing a project (#1102, b9cd837f).

✨ New Features

🚀 Improvements

🧬 Pipeline Templates

🐛 Bug Fixes

  • A table's numeric filter keeps its operator (greater than, less than, not equal), and a value of 0 is no longer ignored (#1102, 48d0bc05).
  • visu_type: violin passes validation (#1102, 59f632ae).

v1.12.0 (October 7, 2026)

Minor: the full server without Docker, one depictio command, and SeaweedFS as the bundled S3 store

Docker Images

ghcr.io/depictio/depictio-api:1.12.0
ghcr.io/depictio/depictio-viewer:1.12.0
ghcr.io/depictio/depictio-worker:1.12.0
ghcr.io/depictio/depictio-cli:1.12.0

♻️ Migration

  • The bundled S3 store is SeaweedFS instead of MinIO, and starts empty: a Docker Compose or Helm install that ran the bundled store must copy its bucket over (on Helm, before helm upgrade). An external S3 or a fresh install is not affected. See Upgrading to v1.12.0 (#1061, dfbea424).
  • DEPICTIO_MINIO_* settings are DEPICTIO_S3_*, the Compose service s3 and the Helm key s3:; the former names still work, with a deprecation warning. See Renamed settings (b729d9bf, 0d20aab9).
  • The CLI is the depictio package (pip install depictio, extras [multiqc] and [local]); depictio-cli stays an alias, but do not pip uninstall depictio-cli on its own. See CLI Installation (#1146, b59d127e).
  • CLI commands renamed, former names still accepted: run is ingest <results dir> (no --data-root), --project-name is --project, the --skip-* flags are one --skip, --CLI-config-path is --server, images push is data push-images. See Quick Reference (#1149, 2383d4ac).
  • A refresh keeps the dashboards and updates the project in place: ingest --update-config (what the Nextflow hook runs) no longer replaces dashboards edited in the viewer, rewrites the tables as --overwrite did, and keeps attached runs; --reset-dashboards starts over from the template. See Refreshing a project (#1149, 0aabde32, f2ab8c1e).
  • Custom recipes rename EXPECTED_SCHEMA to OUTPUT_SCHEMA (and OPTIONAL_SCHEMA to OPTIONAL_OUTPUT_SCHEMA), with no fallback. See Recipes (#1128, 6d6e95eb).
  • The dashboards listing opens on the table, thumbnails five per row; DEPICTIO_VIEWER_DASHBOARDS_DEFAULT_VIEW=thumbnails restores the grid. See Thumbnails or table (#1139, ed31df41).

✨ New Features

  • depictio local up runs the whole server without Docker: API, worker and viewer as plain processes, with MongoDB, Redis and SeaweedFS fetched from conda-forge; uv is the only prerequisite, on Linux and Apple silicon. local export hands it over to Docker Compose. See Python package (#1110, 6c7021d0).
  • depictio ingest <results dir> detects the template when --template is left out, and --dry-run lists the steps without contacting the server. See Ingest Command (#1149, 0aabde32).
  • One --server option names the target, local or a CLI configuration file, on every command that talks to a server. See Which server a command uses (#1149, 337a4f79).
  • Recipe sources declare an input_schema, checked before transform(): a missing column fails naming the source and the column. Every bundled recipe declares one. See The 5-Checkpoint Validation Pipeline (#1132, 9aef81a6).

🚀 Improvements

  • Clearer CLI output: -v / -vv for INFO / DEBUG, each failure reported once, and depictio --help grouped by purpose. See Global Options (#1149, 987bc950).
  • Dashboard thumbnails can be turned off or moved with DEPICTIO_PERFORMANCE_SCREENSHOTS_ENABLED / _DIR. See Performance & Timeouts (#1110, 6c7021d0).
  • Stacked taxonomy: taxon_palette pins a colour per taxon, and the nf-core/ampliseq strips can use any categorical metadata column (re-ingest to get them). See Stacked taxonomy (#1140, f80b7313, ca0172cd).

🐛 Bug Fixes

  • Stacked taxonomy strips colour each sample by its category, with hover and a legend (#1140, 895b20d5).
  • A MultiQC report no longer stays on preparing after its worker dies, and the first figures after a start no longer fail with a 500 (#1110, fd83f4fb, 5ad046dd).
  • Visitors see a data collection's files in the ingestion report, without the owners' emails (#1144, a62742ca).
  • A failed ingestion step exits 1, --continue-on-error included. See Exit codes (#1149, 24a2933e).
  • -v no longer logs tokens and passwords (#1149, a86df6f3).
  • Image dashboards import again and find their images; a taken project name answers 409 instead of 500 (#1149, e1c2c1e0, b74f95fc).

Beta releases leading up to v1.12.0

v1.12.0-b1

  • SeaweedFS as the bundled store and the DEPICTIO_S3_* names (#1061).
  • depictio local up in its first form, which also ingested results (--template, --data-root), and local export-compose; the first depictio release on PyPI (#1110).
  • The listing opening on the table, and the stacked taxonomy strips (#1139, #1140).
  • The stable release adds the depictio package and the CLI rework (#1146, #1149), the recipe schemas (#1128, #1132) and the files listing fix (#1144); local up now only starts the server (its b1 ingest options exit 2 and print the depictio ingest command), and local export-compose is local export.

v1.11.2 (September 24, 2026)

Patch: a builder preview that stays in view, and a tidier dashboards listing

Docker Images

ghcr.io/depictio/depictio-api:1.11.2
ghcr.io/depictio/depictio-viewer:1.11.2
ghcr.io/depictio/depictio-worker:1.11.2
ghcr.io/depictio/depictio-cli:1.11.2

🚀 Improvements

  • The builder's preview stays in view while the controls scroll, and every figure parameter has a description (#1105).
  • The dashboards listing has a Card display menu and loses the Tiles view. DEPICTIO_VIEWER_DASHBOARDS_DEFAULT_VIEW sets the view it opens in. See Thumbnails or table (#1108).
  • Sharper thumbnails, sized by DEPICTIO_PERFORMANCE_SCREENSHOT_*. See Performance & Timeouts (#1108).
  • The tab sidebar opens by default, the loader shows the animated rose, and an embedded dashboard can follow its host's colour scheme (#1108).

v1.11.1 (September 17, 2026)

Patch: an opt-in Nextflow trigger, and General Stats only where the report has it

Docker Images

ghcr.io/depictio/depictio-api:1.11.1
ghcr.io/depictio/depictio-viewer:1.11.1
ghcr.io/depictio/depictio-worker:1.11.1
ghcr.io/depictio/depictio-cli:1.11.1

🚀 Improvements

  • The Nextflow trigger can be installed opt-in with depictio-cli config nextflow --install --default-disabled. See config nextflow (#1103).

🐛 Bug Fixes

  • General Stats is only offered when a MultiQC report has the table, so nf-core/chipseq 2.1.0 dashboards no longer show a failed tile (#1104).
  • Table renders in the catalog gallery show their rows again (#1101).

v1.11.0 (September 14, 2026)

Minor: a feedback link on dashboards, and a funnel that follows one column

Docker Images

ghcr.io/depictio/depictio-api:1.11.0
ghcr.io/depictio/depictio-viewer:1.11.0
ghcr.io/depictio/depictio-worker:1.11.0
ghcr.io/depictio/depictio-cli:1.11.0

✨ New Features

  • An opt-in feedback link on every dashboard, carrying the dashboard, the tab and the page URL to wherever you point it, such as an issue form. Off by default: set DEPICTIO_FEEDBACK_ENABLED and DEPICTIO_FEEDBACK_URL. See Feedback (#1066, 26a99608).
  • The funnel overview can follow one column: Values of a column charts how many of its distinct values survive each filter stage, with a matrix showing which stage removed each one. See Funnel filtering (#1095, ed28aabb).
  • The dashboards table has a Last viewed column, newest first, with dashboards you never opened last (f3152736).

🚀 Improvements

  • Every advanced visualization kind has a fixed answer to analysis groups: it splits, colours one panel or stays whole. A figure the groups cannot reach carries a not grouped badge, and groups reach other tabs through the dashboard's links. See The Analysis panel (#1093, 8fc2b824).
  • Ingestion runs always close: Ctrl-C or SIGTERM records interrupted, a run nobody closed is swept to abandoned, the Ingestion pane filters by status, instance and project, and each admin pane has its own URL. See Monitoring (#1097, 38e3acfe, c681b76b).
  • UpSet and complex heatmap can pick their columns by pattern: set_columns_pattern and value_columns_pattern take a regex, so a consensus figure fits whatever samples a run has. See UpSet (#1094, #1098, 86851685, f5298ec6).

🧬 Pipeline Templates

  • nf-core/variantbenchmarking recipes find their inputs by variant-type directory, so the germline, somatic and structural routes each fill their own collections (#1081, 803fc271, c729932e).
  • nf-core/ampliseq 2.18.0 serves its phylogeny from S3 and grafts test_pplace placements with EPA-ng, and PHYLUM_LEVEL is inferred from the run. Trees ingested before this need a re-ingest (#1096, 056fb864).

🐛 Bug Fixes

  • A lasso drawn on a Manhattan plot holds in Split instead of vanishing on the next render (#1093, 8fc2b824).
  • UpSet fits long set names and highlights the hovered intersection (#1098, c580bc5f).
  • Adding a MultiQC component to an already prerendered report rebuilds it, rather than ending with MultiQC figures took too long to build (ecd5207d).

v1.10.1 (September 13, 2026)

Patch: share a filtered listing by link

Docker Images

ghcr.io/depictio/depictio-api:1.10.1
ghcr.io/depictio/depictio-viewer:1.10.1
ghcr.io/depictio/depictio-worker:1.10.1
ghcr.io/depictio/depictio-cli:1.10.1

✨ New Features

  • The dashboard and project listings keep their filters in the URL, so the address bar is always a link to the view on screen, and a button in the toolbar copies it. A new Template filter matches a pipeline whatever its version, and /dashboards gains a Workflow system filter. Opening such a link raises a Shared view banner, with Show everything to drop the scope. See Share a filtered listing (#1069, eab269cc, 5b4beb06).

🚀 Improvements

  • MinIO is pulled from quay.io/minio/minio by the compose files and the Helm chart, with the same release tag. Update any mirror or pull-through cache that names the Docker Hub image (#1080, 4421c5d3).

v1.10.0 (September 11, 2026)

Minor: the pipeline ingests its own results

Docker Images

ghcr.io/depictio/depictio-api:1.10.0
ghcr.io/depictio/depictio-viewer:1.10.0
ghcr.io/depictio/depictio-worker:1.10.0
ghcr.io/depictio/depictio-cli:1.10.0

✨ New Features

  • A Nextflow pipeline ingests its own results: a workflow.onComplete snippet runs depictio-cli run on the output directory when the pipeline finishes, turned on once per machine with depictio-cli config nextflow --install. See Nextflow trigger (#1037).
  • --pipeline-id <name>/<version>: names the pipeline that produced a run, so an automated trigger gets the bundled template without naming one. For a template project, the engine and pipeline versions and the names of the tools that ran are stamped on the workflow. See Templates (#1035, #1036, #1037).
  • A project says what triggered it: --triggered-by is stored on the project, and anything but a manual run shows a badge on its ingestion tab. On a template project, Triggered by Nextflow gives the pipeline and engine versions, the tool count and the ingested directory. See Ingestion Report & Health (#1037, 32a72156, c0444f6c).
  • --attach-run: register a data root as another run of an existing project instead of creating one. See CLI Usage (#1035, 3f3d3190).
  • CLI credentials from the environment: DEPICTIO_CLI_TOKEN, DEPICTIO_CLI_API_BASE_URL and DEPICTIO_CLI_CONFIG_PATH override the CLI.yaml, so the token can stay out of it. See CLI Usage (#1035, 3f3d3190).

🧬 Pipeline Templates

  • nf-core/variantbenchmarking 1.4.0: germline small variants, somatic indels and structural variants as three per-variant-type projects, with four benchmarking visualization kinds. See variantbenchmarking (#870, 6e581d89).
  • nf-core/ampliseq 2.18.0: handles the sbdi-gtdb database that release defaults to, whose taxonomic ranks start deeper than the 7-rank databases. See ampliseq (#1027, bcb39932).

🚀 Improvements

  • Templates ship in the depictio-cli package: a pip-installed CLI resolves --template and --pipeline-id without a checkout; only the reference datasets and seeds stay out (#1037, f578adc7).
  • The CLI ships as a container image: ghcr.io/depictio/depictio-cli, for a head node or CI runner that cannot install a Python environment. See CLI Installation (#1037).
  • --dashboard works without a template, so a custom pipeline no longer finishes green with a project and nothing to look at (#1037).
  • A connection failure in run and config check names the API URL and the config file it came from (#1037, 8c68c9c4, 3d5a538c).

🐛 Bug Fixes

  • A second automated trigger no longer exits 1 with an empty message when the project already exists (#1035, 3f3d3190).
  • A multi-location rescan stops deleting runs it has not walked yet (#1035, 3f3d3190).
  • A failed project creation is no longer reported as success (#1035, 3f3d3190).
  • An expired token fails at step 1: run used to print "Server accessibility check passed" right after rejecting the token, then fail later on a project error that did not mention authentication (#1037, 058cc4b4).
  • After -resume, a template follows the latest attempt's parameters, not the first attempt's (#1037, ced67d01).

v1.9.2 (September 1, 2026)

Patch: MultiQC reports and ampliseq tiles on full-size runs

Docker Images

ghcr.io/depictio/depictio-api:1.9.2
ghcr.io/depictio/depictio-viewer:1.9.2
ghcr.io/depictio/depictio-worker:1.9.2

🐛 Bug Fixes

  • One bad plot anchor no longer erases a whole MultiQC section: extraction walked the report per section and let a single unparseable anchor take its neighbours with it (#1015, d39746dd, 84711ba3).
  • The ampliseq phylogeny and taxonomy tiles work on a full-size run: the seeded demo bundle is small enough to hide the file-layout assumptions a real run breaks (#1014, e228f18b, 00b5c1c4).
  • The catalog-preview bundle ships in the API image: it was built but not copied, so the preview served nothing (#1019, f238e5a7).
  • Backup-restore e2e runs serialized: two specs restoring concurrently made each other's assertions non-deterministic (#1015, bb3a66f4).

v1.9.1 (August 30, 2026)

Patch: seeded dashboards reworked, and grouping in advanced viz

Docker Images

ghcr.io/depictio/depictio-api:1.9.1
ghcr.io/depictio/depictio-viewer:1.9.1
ghcr.io/depictio/depictio-worker:1.9.1

✨ New Features

  • Analysis grouping reaches advanced visualizations: a split is expressed as a list of filter constraints appended to the dashboard's own, so each panel goes through the ordinary fetch path and cross-DC link resolution still applies. A column with more values than the grid can hold becomes splittable by being narrowed first, and a value keeps its tint however far you narrow. See Interactive Selection Filtering (#1013, c617b62e).
  • Sign in and land back on the shared link you were sent, instead of on the dashboard list (#1012, 2310bdf1).

🚀 Improvements

  • Every seeded dashboard reworked into a readable funnel: the bundled iris, penguins and pipeline demos now lead with the question each tab answers rather than with whatever the data made easy to plot (#1011, e4dbdaa0, ed011dc2).

🐛 Bug Fixes

  • Seeded text tiles size to their prose instead of clipping it, and the docked map fit is sent to the subplot Plotly actually drew (#1012, ed011dc2).
  • Tool Studio's footer takes the full width of the bar, with the deploy commit in parentheses on the version line (#1010, 23c8babb, 35d32849).

v1.9.0 (August 28, 2026)

Minor: backups you can drive from the UI, and a catalog you can pick from and contribute to

Docker Images

ghcr.io/depictio/depictio-api:1.9.0
ghcr.io/depictio/depictio-viewer:1.9.0
ghcr.io/depictio/depictio-worker:1.9.0

✨ New Features

  • A Backups tab in /admin: create a snapshot, list what the server holds, download it, upload one back, and restore, with restore gated behind per-collection validation and a typed RESTORE confirmation. See Backup & Restore (#976, f4daaefe, b9cb7d6c).
  • Scheduled backups with a retention policy, off by default: an optional HH:MM UTC anchor pins the slots to a fixed grid, and old snapshots are pruned either by a plain age cutoff or by a 30 days / 4 weeks / 12 months smart policy. See Scheduled backups (#976, 6a2a51d5, bd73cc76, 8d8741cf, 7480058d).
  • Pick from catalog: adding a component now starts with a choice, and the catalog side opens a full-screen browser of the visualizations Depictio recognises in the project's ingested data, previewed at the exact grid box the component will occupy. See Picking a component from the catalog (#988, 25e1f024, 0ad04175).
  • Tool Studio, a fully client-side app for contributing a tool to the catalog: drop one output file, bind its columns in depictio's own component builder, and it forks the repo and opens the pull request for you. nf-core, Snakemake and Galaxy metadata import from a URL. See Tool Studio (#902, 23f4f285, 93e4499d).
  • A component remembers where it came from: a copyable use: <tool>/<render-id> snippet, a catalog_source stamp that survives later edits and YAML import, and a rebuilt metadata inspector covering identity, resolved configuration, data source and catalog origin. See Provenance (#988, 51bc006e).

🚀 Improvements

  • The Backups card states the database/data boundary: the snapshot covers MongoDB and leaves everything in object storage untouched, said on the card that creates a backup rather than left for an admin to discover during a recovery. See Your data: S3 and Delta Lake (#976, 8d8741cf).
  • Helm can set the two sign-in gates added in v1.8.2: password_login_disabled joins the auth keys in the backend ConfigMap, and public_access_code goes in the Secret as secrets.publicAccessCode, so a shared secret cannot be pasted into a committed values file by reflex. See Kubernetes (#1008, c6add224).
  • Catalog matching recognises derived collections: a collection produced by a recipe carries no raw pipeline path, so the recipe itself joins filename and path glob as a third match signal, and MultiQC offers narrow to the sections the ingested report actually holds (#988, dc12d901).

🐛 Bug Fixes

  • A project ZIP import no longer blames the bundle for an object-store failure: restoring the s3_data/ payload shared a try block with reading the archive, so an unreachable endpoint returned 400 Invalid ZIP bundle. It now aborts with a 502 naming the endpoint, before Mongo is touched. See Project Migration (#1009, 11fc87c5).
  • The sign-in heading keeps its colon on one line for instance names longer than "Depictio" (#1009, 11fc87c5).
  • Public config is served past the per-worker theme cache, so a branding change reaches every worker (#1003, c47bbb02).

v1.8.3 (August 28, 2026)

Patch: a real ampliseq run, and the defects a seeded demo never reaches

Docker Images

ghcr.io/depictio/depictio-api:1.8.3
ghcr.io/depictio/depictio-viewer:1.8.3
ghcr.io/depictio/depictio-worker:1.8.3

✨ New Features

  • Run provenance: a template declares a provenance: block and the CLI collects the run's parameters, thresholds and tool versions into template_origin, shown as a searchable card in the ingestion report and on the dashboard. See Run provenance (#1002, 4ef63950, 3fe35f5c).
  • The canvas leads with a real tab header: the tab's name, description and icon, all fields it already carried and never showed. See Dashboard Tabs (#1002, 4a5cf5e0).
  • Rarefaction curves are pre-aggregated at ingest into alpha_rarefaction_summary, so "Group by" offers every categorical column. See ampliseq (#1002, 740fa643).

🚀 Improvements

  • Layout and panel state: grid packing runs per section, so one section's cards no longer collide with another's, and the filter panel remembers its collapse, width and folds per tab family. See Using the dashboard (#1002, ff6e4f7b, 0712a5a8).

🐛 Bug Fixes

  • Filters that silently did nothing now apply: UpSet plots and the hierarchical heatmap match by value, not by a hardcoded column name; tag: link placeholders resolve at read time; and a section rendered family-wide no longer reads as "no constraint" elsewhere. See Cross-DC Filtering (#1002, c99a6702, b4dbf1ef, a4620325).
  • Code-mode figures keep every preprocessing line before the fig = statement, whatever the variables are called. See Figure Code Mode (#1002, 4df84208).
  • Layout and rendering: the viewer honours tab_order, server-rendered figures share the client's colours, box_plot_stats renders as a box plot, and a foreign pin: top section sits below the host tab's header (#1002, d178da2d, 054a1352, 08e92eb0).

v1.8.2 (August 28, 2026)

Patch: two more ways to close the front door, and logos that survive a redeploy

Docker Images

ghcr.io/depictio/depictio-api:1.8.2
ghcr.io/depictio/depictio-viewer:1.8.2
ghcr.io/depictio/depictio-worker:1.8.2

✨ New Features

  • Password sign-in can be closed: DEPICTIO_AUTH_PASSWORD_LOGIN_DISABLED leaves Google OAuth as the only way in, refusing at /auth/login before any credential is read. It is ignored unless OAuth is configured, so a half-done setup cannot lock everyone out, and the admin bootstrap no longer demands a password it could never use. See Authentication Modes (#1007, b778f77e).
  • A shared code can gate public mode: with DEPICTIO_AUTH_PUBLIC_ACCESS_CODE set, a visitor enters it before a temporary user is minted, so a deployment can be link-shareable without being world-open. See Authentication Modes (#1007, b778f77e, 632110e9).

🚀 Improvements

  • Uploaded logos live in the database: a branding_assets collection served from the API, so a rebuild or a pod redeploy no longer leaves a theme pointing at bytes that are gone, and no volume has to be provisioned. Logos still on disk are imported once at startup, and both new collections join the backup set. See Branding (#1007, cffc3d0a, a24bb09d).
  • The Depictio attribution is scoped: the badge renders exactly when the wordmark does not, once per surface, rather than twice on a dashboard, and a branded login card gains one where it had none. See Branding (#1007, cffc3d0a).

🐛 Bug Fixes

  • Importing a theme JSON stops orphaning the logo: the import replaced the whole draft, so the next save dropped logo_url while the image stayed behind. Import carries the logo fields forward, as applying a preset already did (#1007, cffc3d0a).

v1.8.1 (August 28, 2026)

Patch: instance branding reaches Kubernetes deployments

Docker Images

ghcr.io/depictio/depictio-api:1.8.1
ghcr.io/depictio/depictio-viewer:1.8.1
ghcr.io/depictio/depictio-worker:1.8.1

🚀 Improvements

  • A branded overlay for the EMBL internal deployment: values-embl-internal-dev-trec.yaml applies the TREC preset, the instance name, the logo and a registration gate as a thin last -f, so the base values file stays generic and dropping the overlay is the whole deploy this unbranded operation. See Authentication Modes (#1005, 0be409e3).

🐛 Bug Fixes

  • DEPICTIO_BRANDING_* reaches the cluster: the backend and worker configmaps were a hand-written allowlist, so every branding variable was dropped at render time with no warning anywhere and a Helm deployment stayed unbranded. Both forward the block by prefix now, the worker included, so exported screenshots carry the brand palette too. See Branding (#1005, 20033446).

v1.8.0 (August 27, 2026)

Minor: an instance that wears its own identity, and a tree you can navigate

Docker Images

ghcr.io/depictio/depictio-api:1.8.0
ghcr.io/depictio/depictio-viewer:1.8.0
ghcr.io/depictio/depictio-worker:1.8.0

✨ New Features

  • Brand themes: logo, name, colours, surfaces, typography and figure palette as one object, resolved across Mantine defaults, DEPICTIO_BRANDING_*, /admin and the dashboard, each layer stating only what differs. See Branding (#1003, 116c0347).
  • A Branding panel in /admin, with a live preview, presets and JSON import/export, saved server-side so it needs no redeploy. See Branding (#1003, 5e4cd68b).
  • A dashboard can carry its own brand and logo, from Settings → Appearance or a brand_theme: block, both tri-state so inherit the instance is expressible. See Using the dashboard (#1003, 5e4cd68b).
  • Font size for dashboard content: A- / A+ steps figures, tables and cards from 85% to 130%, and a tile takes a font_scale of its own. See Components (#1003, 68d8a1ed).
  • A phylogeny you can navigate: zoom and pan, undo/redo, focus mode, clade collapsing, and a clade that becomes a dashboard filter like any other. See Components (#981, 8ff22a83, 5b96bbea).

🚀 Improvements

  • tint_mode decides how far the brand travels, and gray, red, green and yellow are never remapped, so pass, warn and fail keep reading as meaning. See Branding (#1003, 116c0347).
  • Identity chrome names its role rather than a hue, so it is right in either tint mode, and tab pills truncate with a tooltip instead of overflowing (#1003, 116c0347).
  • A dense tree stays legible and stays put: the selection takes contrast instead of colour, the legend follows what is drawn, and a zoom survives a figure recompute (#981, 5b96bbea).

🐛 Bug Fixes

  • A hex brand colour paints the button you picked: the shade tuple is anchored on shade 6 rather than placed by lightness, which turned #00a550 neon (#1003, 116c0347).
  • A dashboard override stops erasing what it inherits: explicit nulls from a dump without exclude_none wiped the instance's sibling surfaces (#1003, 116c0347).
  • The per-component Theme picker works again: figure_builder overwrote the template unconditionally (#1003, 41625085).
  • Dashboards written before this release still load: legacy logo_url and plot_theme fold into brand_theme on read (#1003, 116c0347).
  • Re-clicking a clade deselects it: the selection box claimed vertical space, so the tree re-fitted and the node slid away (#981, 8a6d8ed1).

v1.7.0 (August 26, 2026)

Minor: selections you can name and compare, and filters that show what still leads somewhere

Docker Images

ghcr.io/depictio/depictio-api:1.7.0
ghcr.io/depictio/depictio-viewer:1.7.0
ghcr.io/depictio/depictio-worker:1.7.0

✨ New Features

  • Selection groups: a lasso, a set of table rows or a map polygon saves as a named, coloured group you can switch on as a filter. Groups carry across tabs and persist between visits. See Interactive Selection Filtering (#962, 00050d14, 3d3bc360).
  • The Analysis panel recolours every figure at once, from a categorical column or from your saved groups, as an Overlay or as Split panels. See Interactive Selection Filtering (#962, 1adc7082).
  • Compare groups in cards: each card draws its hero aggregation once per group, side by side, as meters, box plots, sparkbars, rings or a trend overlay (#962, 1adc7082).
  • Funnel filtering, on by default: values that no longer lead anywhere are dimmed and sorted last, each control carries an n/N available badge, and an overview charts the cascade. See Dashboards (#975, b5215a67, 0c58c254).
  • Mapping inspector: a magnifier on every cross-DC link row reports whether and how each source value matched, plus target-side orphans. Read-only, so it stays available in public and demo mode. See Cross-DC Filtering (#975, 9917b7d2).

🚀 Improvements

  • The filter panel header fits again: expand-all and density move into an overflow menu, and the active-filter count is stated once by the summary row instead of a badge that shoved the title mid-session (#975, 0c58c254, 003683b0).
  • Analysis mode shows where a group can come from: components able to feed one are outlined, and any live selection gains a Save selection as group action (#962, 91896817, 3d3bc360).

🐛 Bug Fixes

  • A second MultiQC sample filter narrows instead of widening: direct and metadata-DC filters were concatenated rather than intersected, so every active filter is now an AND constraint (#975, a8eb55b9).
  • Every linked metadata DC is honoured: filters beyond the first were silently dropped, which made the outcome depend on the order they were applied (#975, a8eb55b9).
  • MultiQC sample matching is symmetric: suffix stripping ran on mapping keys only, so a variant source value (SRR001_1, HG001_R1) never matched its canonical key (#975, a8eb55b9).
  • A selection matching no sample renders an empty figure rather than the full one: "matched nothing" and "no filter" were indistinguishable (#975, a8eb55b9).
  • A filter parked on 0 counts as active in the funnel: the active test rejected 0 alongside None and [], so a slider at a column minimum of zero never became a stage (#975, 9e30bc7c).
  • Exporting a dashboard with a selection-enabled figure works: selection_column was dropped from the lite model while selection_enabled was kept (#962, c33b900e).
  • Cross-DC links stop freezing their mapping snapshot: sample_mapping links wrote the auto-loaded mappings into link_config.mappings, which went stale on every re-ingest (#975, b5215a67).
  • Neutral card rows are grey: the All and Other entries fell back to a hardcoded teal, because the alpha helper only parsed #rrggbb and not the rgba() token they use (#962, be66c51c).

v1.6.1 (August 26, 2026)

Patch: geo tables keep their real type, plus a dashboard-visibility permission fix

Docker Images

ghcr.io/depictio/depictio-api:1.6.1
ghcr.io/depictio/depictio-viewer:1.6.1
ghcr.io/depictio/depictio-worker:1.6.1

✨ New Features

  • lat_column/lon_column in project YAML: geo tables can declare coordinates in the project YAML the same way React uploads do, with validation for half-configured pairs. (382d4966)
  • EMBL internal HA MongoDB (Helm): Percona-operator based 3-replica HA MongoDB for the EMBL internal tenant, gated on an authenticated readiness ping. (#999)
  • mongodump helper script: point-in-time dump against a running Kubernetes deployment (EMBL or generic) without an app-level admin token. (#1000)

🚀 Improvements

  • Coordinates is a capability, not a type: a table with lat/lon columns keeps its real Metadata/Aggregate type and shows a Geomap badge instead of being silently reclassified as "Coordinates"; drawn identically across the manager, viewer, and create-DC modal. (1569d6d8, d46a0683)
  • Create Data Collection stays reachable from the manager header even while the section is collapsed. (7ceb7ce0)

🐛 Bug Fixes

  • Dashboard visibility is project-driven: a project's is_public flag is now the single source of truth and cascades to every dashboard and tab; fixes a privilege-escalation bug where a signed-in visitor to a public project could gain editor/owner-level access. (#982, 54bc971e)
  • No more false "Compatible advanced visualizations" banner on plain metadata tables scored on structural shape alone. (3cde9a67)

v1.6.0 (August 26, 2026)

Minor: sections that live on every tab, and filter values that survive the switch

Docker Images

ghcr.io/depictio/depictio-api:1.6.0
ghcr.io/depictio/depictio-viewer:1.6.0
ghcr.io/depictio/depictio-worker:1.6.0

✨ New Features

  • Sections that live on every tab: Show on every tab hands a section to the whole dashboard. A grid section renders read-only on the others; a filter section's controls join every panel and keep their values across a tab switch. See Dashboards (#969, d15b0732, 4622aabf, 0371fee5).
  • persistent and pin in dashboard YAML, on both section lists. See YAML Sync (#969, d15b0732).
  • The ingestion report is offered for every project, badged Template manifest or Live project. See Dashboards (ff230e93).
  • A dashboard links to its project from the settings drawer. See Using the dashboard (c6eebf03).
  • --template reads bundled recipe seeds rather than raw inputs the bundled projects do not ship. See CLI usage (#997, fa6f49da).

🚀 Improvements

  • One Add menu for components and sections, and one dialog for both (0371fee5).
  • Placement and Performance panels in the builder, replacing the loose section picker and Max points field (8395d1be, 1fc24656).
  • Previews show a loading state instead of painting blank (fb7e4d81).
  • The bundled Iris demo is a two-tab family, sharing a filter and a table (3ee81f6c).

🐛 Bug Fixes

  • A fresh deployment starts: the S3 check ran before the bucket was created. See Environment Reference (#993, 8560249d).
  • An exported dashboard re-imports intact: text components were dropped, and a tab could vanish to the self-adapting gate (86e17aa2, 837494d6).
  • Your own filter section stays editable when a sibling tab has a persistent one of the same name (fb7e4d81).
  • The MultiQC badge is visible on the data source step (#996, ac6dd34b).
  • Dashboard thumbnails no longer capture the sign-in page (#994, 803ef8fb).

v1.5.2 (August 24, 2026)

Patch: filters follow you into the component builder, plus two deployment unblocks

Docker Images

ghcr.io/depictio/depictio-api:1.5.2
ghcr.io/depictio/depictio-viewer:1.5.2
ghcr.io/depictio/depictio-worker:1.5.2

✨ New Features

  • Active filters follow you into the component builder: a new Apply to preview toggle, on by default, makes previews reflect the dashboard's current filter state; turn it off to get the full dataset back. Components added under a filter come back already filtered. See Dashboard creation (#977, faccc810).
  • Version-less template ids: --template nf-core/ampliseq/latest, or just nf-core/ampliseq, resolves to the newest shipped version. See CLI usage (#973, ba10cd87).

🚀 Improvements

🐛 Bug Fixes

  • Bucket-scoped S3 credentials can start the server: the startup check no longer needs account-wide ListBuckets. See Environment Reference (#990, ff207d5f).
  • Google OAuth works behind multiple workers: CSRF state moved from per-process memory to MongoDB, so sign-in no longer succeeds only about one time in eight. This retires the DEPICTIO_DEV_MODE escape hatch that skipped state validation entirely: it was a workaround for this very bug, and it silently disabled CSRF protection wherever the flag was set. See Security (#991, 2863e0d8).
  • Multi-metric cards show real category names instead of placeholder Bucket 1/2/3 labels (#836, 31766a82, 2006d9c2).
  • depictio run reports the resolved template instead of the raw latest argument (#973, d07fb0a7).

Beta releases leading up to v1.5.2

v1.5.2-b2

  • Google OAuth state moved to MongoDB so sign-in works across workers and replicas (#991).

v1.5.2-b1

  • Everything else listed above. The stable v1.5.2 tag adds no code on top of v1.5.2-b2.

v1.5.1 (August 6, 2026)

Patch: telemetry counts real installations, not bots and CI runs

Docker Images

ghcr.io/depictio/depictio-api:1.5.1
ghcr.io/depictio/depictio-viewer:1.5.1
ghcr.io/depictio/depictio-worker:1.5.1

✨ New Features

  • CLI installation counting: depictio-cli sends one anonymous cli_install event per machine; same privacy model and opt-outs as the rest of telemetry. (#961)

🐛 Bug Fixes

  • Events no longer flagged as bot traffic: telemetry requests now send a Depictio User-Agent instead of the python-httpx default, which PostHog classifies as a bot. (#961)
  • CI deployments no longer counted as installations: Helm chart tests and Docker Compose now forward CI/GITHUB_ACTIONS into the containers so the existing CI suppression actually applies. (#961)

v1.5.0 (August 6, 2026)

Minor: anonymous installation telemetry, and Google Analytics finally wired

Docker Images

ghcr.io/depictio/depictio-api:1.5.0
ghcr.io/depictio/depictio-viewer:1.5.0
ghcr.io/depictio/depictio-worker:1.5.0

✨ New Features

  • Anonymous installation telemetry: the server sends one aggregate heartbeat per UTC day and depictio-cli one event per command, so the project can count installations and versions. Nothing personal and nothing about your data is ever sent; sizes are coarse buckets, never exact counts. Enabled by default, opt out with DEPICTIO_TELEMETRY_ENABLED=false or DO_NOT_TRACK=1; admins can inspect the exact payload via GET /utils/telemetry/preview. See Telemetry. (#916)
  • CLI --version flag: depictio-cli --version / -V prints the installed version. (#916)

🐛 Bug Fixes

  • Google Analytics never actually loaded: DEPICTIO_GOOGLE_ANALYTICS_* was documented but nothing ever read it. The viewer now fetches the GA4 measurement ID at boot and injects gtag (IP anonymisation on); already-configured properties start receiving data with no values change. (#916)
  • CLI instance header: instance_label was dropped during config validation, so X-Depictio-CLI-Instance (#837) never populated. (#916)

v1.4.0 (August 5, 2026)

Minor: dashboard sections, a dashboard-wide map panel, and ten new card layouts

Docker Images

ghcr.io/depictio/depictio-api:1.4.0
ghcr.io/depictio/depictio-viewer:1.4.0
ghcr.io/depictio/depictio-worker:1.4.0

♻️ Migration

  • Custom CSP must allow the basemap — connect-src now needs https://basemaps.cartocdn.com, https://*.basemaps.cartocdn.com and https://tile.openstreetmap.org. Override the policy at a proxy or ingress without them and every map renders blank. See Security (#951, a4b738a7).
  • Text tiles centre vertically — vertical_alignment now defaults to center; set it to top to keep the previous rendering. See Components (#951, #954, c647b526, 0366d5fc).
  • Helm enableServiceLinks: false — the chart now disables Kubernetes' legacy service variables on every pod, the opposite of Kubernetes' own default. See Kubernetes (#946, 99061052).

✨ New Features

  • Dashboard sections — group the grid and the filter panel into named, foldable sections with grid_sections and filter_sections; a folded section fetches nothing until you open it. See YAML Sync (#954, 071b7e84, f9a719dd).
  • Dashboard-wide map panel — placement: floating lifts a map out of the grid to follow you across every tab, floating, docked or hidden, with a table of the rows behind it. See Components (#951, 0c66045b, 7e18d931, 9909825a).
  • Ten new card layouts — secondary_layout gains histogram, threshold, completeness, uniqueness, attrition, trend, gauge, grid, composition and donut. See Components (#951, 93488c7e, be63bb45, beaa16c7).
  • Component inspector — an opt-in docked panel replacing the per-component popovers. Off by default; enable with DEPICTIO_VIEWER_INSPECTOR_ENABLED (#954, 071b7e84).

🚀 Improvements

  • Filter panel — editor and viewer draw the same panel, so authored order is what a viewer sees. It collapses to a rail that keeps the active-filter count, its width is remembered per dashboard, and active filters are a foldable list with a per-row clear (#954, da1049f8, dd4ef09f).
  • Real creation dates — dashboards and projects list a Created date distinct from Modified, rendered in your own timezone and sorted by instant rather than by string (#951, 1e4573c9).
  • Table controls on both listings — a column picker whose choice persists, compact mode on the projects table, and workflow badges carrying each system's own logo and colour (#951, 41591e6a, 96dae01f, c600b2a0).
  • Dependency refresh — runtime and static-tooling groups bumped (#947, #942, 1281ed94, 07db0f2d).

🐛 Bug Fixes

  • Sessions last the whole page session — a tab left open past the token's lifetime stopped persisting autosaves, 401'd the admin Log & Task panel, and hid a user's own projects in single-user mode. Every API call now refreshes (#940, #951, f1f9db29, 08219a5e, a246e0c4).
  • Cards under filters — skewness, kurtosis and percentile no longer blank once a filter is applied, a card's own filter_expr is applied rather than only validated, and a distinct count on a numeric column exports (#951, 532df542, be63bb45).
  • Figures and tables — axes claim the margin their rotated labels need, aggregated box plots and overlay histograms honour the author's colours, and Load all rows is offered only past five pages (#954, 31ee05f8, 7da123f0, 48b54106).
  • Dashboard saves — no longer fail on MongoDB's immutable _id or blank the thumbnail cache-buster, and seeded projects stop claiming a creation date years in the future (#951, b90d171c, 69318520).

v1.3.1 (July 30, 2026)

Patch: date-column ingestion and the seeded default thumbnails

Docker Images

ghcr.io/depictio/depictio-api:1.3.1
ghcr.io/depictio/depictio-viewer:1.3.1
ghcr.io/depictio/depictio-worker:1.3.1

🐛 Bug Fixes

  • Date columns broke ingestion — a Date or Time column's min/max reached MongoDB as a datetime.date, which BSON cannot encode, so the upsert answered 500 and every component bound to that collection answered 404 while the ingest still reported success. Only reproduced where collections are re-ingested from scratch (#925, 21fa67ab).
  • Seeded default thumbnails — the 64 thumbnails a fresh deployment seeds had been captured against un-ingested data and committed by accident, so since July 21 new deployments showed error banners in place of their dashboards. Restored, with a pre-commit hook guarding them (#926, #927, 275be00e, 164fbb3c).

Beta releases leading up to v1.3.1

v1.3.1-b2

🐛 Bug Fixes

  • Reference dashboard thumbnails restored to their last good capture (#926).
  • A pre-commit hook guards the seeded default thumbnails, so a local stack run can no longer sweep regenerated PNGs into an unrelated commit (#927).

v1.3.1-b1

🐛 Bug Fixes

  • Date and Time column specs are coerced to BSON-encodable values before they reach MongoDB, fixing a 500 on upsert and the 404s that followed it (#925).

v1.3.0 (July 29, 2026)

Minor: performance pass across ingest, serve and render, with the heavier behaviours off by default

Docker Images

ghcr.io/depictio/depictio-api:1.3.0
ghcr.io/depictio/depictio-viewer:1.3.0
ghcr.io/depictio/depictio-worker:1.3.0

♻️ Migration

  • Ingest flags renamed — DEPICTIO_MULTIQC_PRERENDER and DEPICTIO_MULTIQC_PARSE_WORKERS are now DEPICTIO_INGEST_MULTIQC_PRERENDER and DEPICTIO_INGEST_MULTIQC_PARSE_WORKERS. The old names are ignored. (65eeaa5f)

✨ New Features

  • Panels load as you reach them — a dashboard can hold dozens of panels, each needing its own request, so a panel below the fold shows a placeholder and costs nothing until you scroll near it. A progress ring and a count (for example 6/8) sit beside the dashboard title while the rest load. See Performance & Scaling. (baa83b05, 5bfdb0c6, 638d49f3)
  • Load all — figures and tables are served a bounded slice by default and say so; one click in the panel's action cluster loads every point or row. (24c196c4, 80cafdc2)
  • Benchmark harness — a new benchmark/ suite measures dashboard opens, filter round-trips, per-component latency and ingest throughput end to end, so future changes can be compared against a baseline. (ce855cd1, e0638077)

🚀 Improvements

  • Less data leaves storage — the database reads only the rows and columns it needs: box plots, histograms and bar charts are computed as an exact query over the Delta scan without materialising a single row, and filters are pushed into the scan rather than applied after it. (95556ae4, f3b4ffa0, 352b847e)
  • Bounded responses — the server returns a capped slice instead of the whole table, and advanced visualisations are reduced only in ways their renderer can survive. The charts that aggregate client-side are never silently sampled; they are badged estimated instead. (1d1a8f7d, 7e902298, bc3d6bab)
  • Lighter first paint — the browser downloads only the code the current page needs, and concurrent WebGL contexts are capped so markers stop vanishing on dense dashboards. (3b0e413b, ec342497)
  • Opt-in ingest tuning — DEPICTIO_INGEST_* flags trade memory or CPU for ingest wall-time, including MultiQC figure prerendering that removes the cold build on a collection's first open. (17621611, cee3db6b, 32ae62c7)
  • Superseded requests cancelled — changing a filter again drops the previous round's queued fetches instead of waiting for answers nobody needs. (3cbb4ed6)
  • Cheaper upserts — /deltatables/upsert no longer materialises the table four times to write its realtime journal line. (31630a4d)
  • Table page size now defaults to 100 rows instead of 10. (31630a4d)

🐛 Bug Fixes

  • Advanced viz and icons under CSP — the shipped script-src 'self' blocked Plotly's WebGL renderer, so volcano, Manhattan, dot plot, QQ, lollipop and embedding drew nothing on deployed instances, and connect-src blocked the icon CDN, leaving empty boxes. WebGL is now allowed and the icon set is bundled rather than fetched. Only ever affected deployments, since the dev server sends no CSP. (b6accd04)
  • MultiQC — the sample filter now unions across every report in a collection instead of listing whichever single report the database returned, and dark figures warm correctly rather than failing behind a warm cache. (0d1ef4c8, c4f0b7e7)
  • Filter correctness — temporal filter pushdown and link-key clustering corrected; the lollipop plot is flagged estimated when its rows are sampled. (ce00720a, 841ae191)
  • Admin monitoring — the panel probes events_enabled before opening its WebSocket, ending a 403 reconnect loop that spammed the API access log on deployments with events off. (633fdeed)

v1.2.2 (July 27, 2026)

Patch: persistent timeline footer and table column control

Docker Images

ghcr.io/depictio/depictio-api:1.2.2
ghcr.io/depictio/depictio-viewer:1.2.2
ghcr.io/depictio/depictio-worker:1.2.2

✨ New Features

  • Pinned timeline footer — a top-placed interactive component renders in a full-width footer, so the selected time window stays visible while the dashboard scrolls.
  • Compact tables — table components accept compact: true for tighter rows. See YAML Sync.

🚀 Improvements

  • Timeline header — condensed to two rows.
  • Adaptive Feedback Microscopy demo — reworked layout with box-plot distribution cards and a tighter figure set.

🐛 Bug Fixes

  • Table columns — a non-empty list now restricts the grid to exactly those columns, and compact is no longer dropped on export.
  • Single-timestamp timelines — a lone timestamp renders a usable scrubber over a ±1 minute window instead of "Timeline unavailable".

v1.2.1 (July 20, 2026)

Patch: deeper ingestion detail and runtime log control in the admin Log & Task panel

Docker Images

ghcr.io/depictio/depictio-api:1.2.1
ghcr.io/depictio/depictio-viewer:1.2.1
ghcr.io/depictio/depictio-worker:1.2.1

✨ New Features

  • Runtime log capture floor — set what the server persists (DEBUG … CRITICAL) from the Logs pane without a restart; reverts to DEPICTIO_MONITORING_APP_LOG_MIN_LEVEL on restart.
  • Per-phase ingestion steps — a run records every phase from provisioning to dashboard import with its own success / failed / skipped status and detail line.
  • Ingestion run provenance — CLI version, the invoking command line with secrets redacted, config paths, data root, and a per-data-collection scan breakdown. See Monitoring.
  • Web UI uploads — recorded alongside CLI runs with a CLI or UI source badge.

🚀 Improvements

  • Responsive panes — expanded rows render on demand, and Tasks, Ingestion and Logs gained a free-text search box.
  • Richer detail — labelled task blocks (arguments, result, error, logs) with the excerpt cap raised to 4000 characters, expandable log rows, and exact local clock times.

🐛 Bug Fixes

  • Log noise — expired access tokens and the code-mode df_modified hint dropped to DEBUG; genuinely invalid tokens still log at WARNING.
  • Code block copy button — no longer overlaps the code it copies.

v1.2.0 (July 15, 2026)

Minor: admin Log & Task monitoring with live updates

Docker Images

ghcr.io/depictio/depictio-api:1.2.0
ghcr.io/depictio/depictio-viewer:1.2.0
ghcr.io/depictio/depictio-worker:1.2.0

✨ New Features

  • Log & Task monitoring — a new admin Log & Task panel surfaces ingestion and task activity from a server-side ledger, with live WebSocket push and a polling UI. See Monitoring.

🐛 Bug Fixes

  • Single-user mode — the Log & Task tab is always shown in single-user mode.
  • Project migration — export/import now covers MultiQC and JBrowse data collections, with corrected export headers.
  • Viewer — "Start editing" targets /dashboard-edit (the removed beta route), plus data-collection upload, collapse persistence, and coordinate-map framing fixes.

v1.1.4 (July 9, 2026)

Patch: real-time dashboard events over WebSocket, plus a dependency refresh

Docker Images

ghcr.io/depictio/depictio-api:1.1.4
ghcr.io/depictio/depictio-viewer:1.1.4
ghcr.io/depictio/depictio-worker:1.1.4

✨ New Features

  • Real-time dashboard events — dashboards refresh live over WebSocket as new data is ingested, no manual reload. Opt in per project (realtime.enabled in project.yaml) and enable the server flag DEPICTIO_EVENTS_ENABLED; see Real-time Events. Ships with the adapt_feedb_ms microscopy demo and its stream_test.sh synthetic driver.

🚀 Improvements

  • Real-time demo polish — microscopy timeline, gallery new-item highlights, and dev tooling.
  • Dependency refresh — runtime and static-tooling dependency groups bumped (beanie and redis intentionally held at their pinned versions).

🐛 Bug Fixes

  • Data-collection schema — arro3 schemas are coerced to PyArrow in the polars_schema endpoint, fixing schema and bindings resolution.
  • Deprecation — replaced deprecated datetime.utcnow (for ty 0.0.56 compatibility).

Beta releases leading up to v1.1.4

v1.1.4-b3

🚀 Improvements

  • Real-time timeline and gallery polish for the microscopy demo, plus dev tooling (#900).
  • Aligned the stream_test.sh synthetic schema with the simulator, tracked the demo seed CSV, and added the real-time deployment docs.

v1.1.4-b2

✨ New Features

  • Real-time events over WebSocket land (#899) — the event pipeline, plus the microscopy dashboard timeline binding and new-item highlights.

🐛 Bug Fixes

  • Replaced deprecated datetime.utcnow (ty 0.0.56 compatibility).

🔧 Maintenance

  • Dependency sweep — runtime group (15 updates, with beanie and redis held at pinned versions), static-tooling group (4), plus ipywidgets, fastcluster, jupyterlab, and a github-actions group bump.

v1.1.4-b1

🐛 Bug Fixes

  • arro3 schemas coerced to PyArrow in the polars_schema endpoint (#897).

v1.1.3 (June 29, 2026)

Patch: passwordless magic-link login and pipeline provisioning

Docker Images

ghcr.io/depictio/depictio-api:1.1.3
ghcr.io/depictio/depictio-viewer:1.1.3
ghcr.io/depictio/depictio-worker:1.1.3

✨ New Features

  • Passwordless magic-link login — depictio-cli run --user provisions an account and emits a one-click magic-link that opens the run's dashboard, with no password required. The viewer gains a dedicated magic-link login route.
  • Pipeline provisioning — backend support for provisioning accounts and projects from a pipeline run, with the provisioning key wired into the dev Compose backend.

🚀 Improvements

  • Magic-ticket lifecycle — magic tickets are TTL-expired and reuse the run token; provisioned projects stay private.

🐛 Bug Fixes

  • Single-user mode — provisioning and magic-link login are disabled when running in single-user mode.
  • Magic-link routing — links target /dashboard/{id} on the canonical (non-beta) route, with a viewer StrictMode guard.
  • nf-core/ampliseq reference seed — a METADATA_FILE is now provided so metadata-dependent (differential) data collections survive fresh-deployment seeding.

Beta releases leading up to v1.1.3

v1.1.3-b1

🐛 Bug Fixes

  • nf-core/ampliseq reference seed now provides METADATA_FILE, so metadata-dependent differential data collections survive fresh-deployment seeding.

v1.1.2 (June 28, 2026)

Patch: auth, links & template seeds

Docker Images

ghcr.io/depictio/depictio-api:1.1.2
ghcr.io/depictio/depictio-viewer:1.1.2
ghcr.io/depictio/depictio-worker:1.1.2

✨ New Features

  • Google OAuth registration gate — DEPICTIO_AUTH_REGISTRATION_DISABLED is now honoured on the Google OAuth login path, not just email/password.

🐛 Bug Fixes

  • Open-in-new-tab — dashboard list and table titles are now standard links, so middle-click / ⌘-click opens them in a new tab.
  • nf-core/ampliseq dashboard template — the phylogenetic-tree input is now read from the run's qiime2/ output directory, so the tree renders correctly on fresh deployments.

v1.1.1 (June 27, 2026)

Patch: registration control & advanced-viz fixes

Docker Images

ghcr.io/depictio/depictio-api:1.1.1
ghcr.io/depictio/depictio-viewer:1.1.1
ghcr.io/depictio/depictio-worker:1.1.1

✨ New Features

  • Disable self-registration — set DEPICTIO_AUTH_REGISTRATION_DISABLED to block new sign-ups on a public deployment while keeping existing logins working.

🐛 Bug Fixes

  • Anonymous access — public dashboards in any public project are now visible to anonymous users.
  • MultiQC upload — restored the folder picker for MultiQC click-to-upload.
  • Advanced viz — required/optional binding badges no longer clip; fixed a 500 on the DC schema fetch (deltalake to_arrow rename).

v1.1.0 (June 23, 2026)

Minor: ingestion reports, DC linking UI, nf-core templates & performance

Docker Images

ghcr.io/depictio/depictio-api:1.1.0
ghcr.io/depictio/depictio-viewer:1.1.0
ghcr.io/depictio/depictio-worker:1.1.0

✨ New Features

  • Data-collection linking UI — create and manage cross-DC links from the interface, including MultiQC DC creation via the UI.
  • Ingestion reports & health banner — a new ingestion-report panel and dashboard health banner, backed by dedicated API endpoints and React-core types.
  • Project detail — clickable project badges, tabbed project-detail view, a sortable DC table, and filterable links.
  • Self-adapting nf-core dashboard templates — the nf-core/ampliseq and nf-core/viralrecon dashboard templates now adapt to how the pipeline was actually run: they pick the right input files for each workflow route (including viralrecon's Nanopore/ARTIC route and ampliseq's SIDLE and skip_qiime routes) and build a working dashboard even when no sample metadata is provided.
  • CLI — --dashboard-name override and multiregion params introspection.
  • Deployment — dedicated ingress for MinIO and the backend API, plus permission-based auth annotations.

🚀 Improvements

  • Performance — adaptive render offload, Polars-native figures with downsampling, Delta column projection + schema cache, higher worker concurrency, gzip responses, and async (202) MultiQC rendering.
  • nf-core release monitoring — weekly megatest drift check that opens one draft PR per pipeline.
  • Helm — EMBL-demo Celery high-availability.

🐛 Bug Fixes

  • Cross-DC filters — fixed target_column=None; Add-link modal polish (#776).
  • Public mode — screenshot debounce path corrected; "Sign In" no longer shown in public mode (#784).
  • Self-adapting layout — dashboards reflow correctly when components are pruned; components for unparsed MultiQC modules and metadata-only tabs are hidden.
  • MultiQC — tolerate FastQC alpha-channel colorscales; empty heatmap annotation categories fold into "Unclassified".
  • nf-core/viralrecon dashboard template — the genome-coverage summary cards now report the mean (average) depth across positions instead of the median, so the headline coverage figure matches the convention used elsewhere in the dashboard.

v1.0.1 (June 11, 2026)

Patch: zero-config quickstart hardening

Docker Images

ghcr.io/depictio/depictio-api:1.0.1
ghcr.io/depictio/depictio-viewer:1.0.1
ghcr.io/depictio/depictio-worker:1.0.1

🚀 Improvements

  • Zero-config quickstart — docker compose up -d boots with no .env; multi-arch (amd64/arm64) images; default admin auto-seeded in single-user mode.
  • Self-pinned compose — the published docker-compose.yaml pins every service to its release tag; quick-start file trimmed to essentials.

🐛 Bug Fixes

  • Compose security contexts — MongoDB starts under cap_drop: [ALL]; viewer and backend get writable paths for nginx config and admin bootstrap.

Beta releases leading up to v1.0.1

v1.0.1-b7 (June 11, 2026)

🚀 Improvements

  • Docker caching — split dependency and project layers so the build cache survives version bumps.

v1.0.1-b6 (June 11, 2026)

🚀 Improvements

  • Prod compose — collapse to a single light file; cache CI builds.

🐛 Bug Fixes

  • Backend — drop read-only rootfs so admin bootstrap can write.

v1.0.1-b5 (June 11, 2026)

🐛 Bug Fixes

  • Viewer — make conf.d tmpfs writable by the nginx user; drop read-only rootfs so nginx can render its config.

v1.0.1-b4 (June 10, 2026)

🐛 Bug Fixes

  • Viewer — give nginx a writable /etc/nginx/conf.d.

v1.0.1-b3 (June 10, 2026)

🚀 Improvements

  • Smoke test — poll the viewer instead of a single eager curl.

v1.0.1-b2 (June 10, 2026)

🐛 Bug Fixes

  • MongoDB — start under cap_drop: [ALL].

v1.0.1-b1 (June 10, 2026)

🚀 Improvements

  • Zero-config quickstart — docker compose up -d with no .env; multi-arch images; auto-seed default admin in single-user mode; working creds kept in .env.example for CI.

v1.0.0 (June 10, 2026)

Major: React sole frontend, Dash → React migration complete

Docker Images

ghcr.io/depictio/depictio-api:1.0.0
ghcr.io/depictio/depictio-viewer:1.0.0
ghcr.io/depictio/depictio-worker:1.0.0

♻️ Migration

  • Dash removed — depictio/dash/ deleted; DashConfig → ViewerConfig; DEPICTIO_DASH_ → DEPICTIO_VIEWER_; per-service Dockerfiles scaffolded.

✨ New Features

  • URL graduation — *-beta paths retired; React SPA serves canonical /dashboards, /dashboard/{id}, /dashboard-edit/{id}, /projects, /profile, /admin, /cli-agents, /about.
  • Split-image production — depictio-api, depictio-worker, depictio-viewer published individually.
  • Tool→viz catalog — module-granular bioinformatics catalog (nf-core / bio.tools / EDAM ontology).
  • CLI overhaul — new banner, depictio commands reference table, slimmed surface, parallel image uploads.
  • Advanced viz — richer bindings UX; graded suggestion scoring.

🔒 Security

  • Auth bootstrap from env — initial_users.yaml removed; admin seeded via DEPICTIO_BOOTSTRAP_ADMIN_PASSWORD (idempotent).
  • Secrets hardened — MinIO root password ≥8 chars, no default; CORS allowlist replaces allow_origins=["*"]; JWT verifies RS256/RS512 + exp before MongoDB; /register cannot set is_admin; IDOR file-delete fixed; JBrowse allow-same-origin removed; nginx CSP/HSTS/Permissions-Policy added.
  • Password constraints — min length 8; changeme allowed for bootstrap admin (not MinIO); single-user mode skips all enforcement.

🚀 Improvements

  • Helm chart 1.0 — image.tag defaults to 1.x; viewer runs nginx container; no default MinIO credentials.
  • MongoDB HA — Percona PSMDB Operator replaces Community Operator; viewer startup order and resource rebalance.
  • Rate limiter — Redis-backed per-IP fixed window; uses X-Real-IP in k8s.
  • Playwright e2e — CI covers auth + dashboards-management slice in parallel.

🐛 Bug Fixes

  • Screenshot debounce wrong path; Sign In hidden in public mode.
  • Demo mode: public reference dashboards restored; temp users kept for the full session.
  • Auth key-wipe race on multi-replica deployments fixed; React default thumbnail fallback added.
  • Screenshots: fonts installed in worker image; settle delay before capture.
  • Viewer tab menu refresh and icon handling in modals.

Beta releases leading up to v1.0.0

v1.0.0-b9 (June 10, 2026)

🐛 Bug Fixes

  • MultiQC — drop matplotlib dep from general-stats colormap.
  • Screenshots — regenerate reference dashboard thumbnails.

v1.0.0-b8 (June 9, 2026)

✨ New Features

  • CLI overhaul — new startup banner (favicon), depictio commands grouped reference table, slimmed user-facing surface, cleaner catalog list, parallel image uploads.
  • Advanced viz — richer bindings UX (sankey/heatmap); suggestion model reworked to graded, tolerant scoring. 🚀 Improvements

  • Deps bump — Phase A (static tooling) + Phase B (runtime); data-layer majors (deltalake/pandas/polars); monthly Dependabot health-check added.

🔒 Security

  • CLI deps — bump depictio-cli deps, fix python-jose CVEs; hold redis at 5.2.1 (redis-py 8.0 starves the API event loop).

🐛 Bug Fixes

  • Viewer — tab three-dots menu no longer triggers URL refresh.
  • Delta tables — accept pandas 3.0 str dtype in column type detection.
  • CLI — don't force ANSI on piped output; catch typer.Exit in recipe_run.
  • Devcontainer — drop dangling docker-compose.minio.yaml ref; harmonize MinIO credentials across worktree envs.

v1.0.0-b7 (June 8, 2026)

🚀 Improvements

  • MongoDB HA — Percona PSMDB Operator migration landed in Helm (#792).
  • CI — build-images trigger narrowed to build-recipe files only (#796).
  • Producers — remove suggestion engine; migrate ampliseq complex_heatmap tiles (#797).

🐛 Bug Fixes

  • Project export — export allowed for anonymous users in public/demo mode (#793).
  • Screenshots — install sans-serif fonts in worker image; settle delay before capture (#794).
  • Viewer — tab menu refresh + icon handling in tab/dashboard modals (#795).

v1.0.0-b6 (June 4, 2026)

🐛 Bug Fixes

  • Auth key-wipe race — fix multi-replica race condition wiping internal API key during dev-demo ingestion (#791).
  • React thumbnails — default fallback thumbnail shown when screenshot is missing (#791).
  • Release workflow — fix shell injection and bad parameter expansion in bump/release scripts (#790).

v1.0.0-b5 (June 4, 2026)

🚀 Improvements

  • Helm / MongoDB HA — migrate MongoDB from Community Operator to Percona PSMDB Operator; viewer startup order and resource rebalance (#788).

v1.0.0-b4 (June 4, 2026)

🐛 Bug Fixes

  • Demo mode — restore public reference dashboards; keep temp users alive for the full session (#789).

🧪 Testing

  • Playwright e2e — parallel React frontend tests covering auth + dashboards-management slice; CI runs frontend + backend suites concurrently (#782).

v1.0.0-b3 (June 4, 2026)

✨ New Features

  • Tool→viz catalog — module-granular bioinformatics catalog (nf-core / bio.tools / EDAM ontology) (#783).

🐛 Bug Fixes

  • Rate limiter — use X-Real-IP instead of TCP source so k8s nginx pod IP doesn't collapse all users into one bucket (#787).

v1.0.0-b2 (June 4, 2026)

🐛 Bug Fixes

  • Password constraints — min length 16 → 8; changeme allowed for bootstrap admin (not MinIO); single-user mode skips all enforcement (#786).
  • Screenshot — fix debounce wrong path; hide Sign In button in public mode (#784).
  • React routes — remove -beta suffix from route definitions (post-Dash cutover) (#785).

v1.0.0-b1 (June 4, 2026)

♻️ Migration

  • Dash removed — depictio/dash/ deleted; DashConfig → ViewerConfig; DEPICTIO_DASH_ → DEPICTIO_VIEWER_; per-service Dockerfiles scaffolded.

✨ New Features

  • /*-beta → canonical redirect — all *-beta paths issue HTTP 301s; existing bookmarks continue to work.
  • React on canonical URLs — FastAPI mounts SPA at /dashboards, /dashboard/{id}, etc.; Vite base path and nginx fallback updated.

🔒 Security

  • Auth bootstrap from env — initial_users.yaml removed; admin seeded via DEPICTIO_BOOTSTRAP_ADMIN_PASSWORD (idempotent; fail-fast if absent and no admin in DB).
  • Secrets hardened — MinIO root password SecretStr ≥8 chars, no default; moved out of Helm ConfigMap; mongo:8.0.5 + fixed MinIO release pinned; runAsNonRoot + drop ALL on Mongo/MinIO pods.
  • API auth — CORS allow_origins=["*"] replaced by env allowlist; JWT verifies RS256/RS512 signature + exp before MongoDB (closes alg=none); /register cannot set is_admin; import requires real user + zip-slip guard; IDOR file-delete fixed.
  • Frontend + nginx — JBrowse allow-same-origin removed; OAuth open-redirect closed; nginx viewer adds CSP, Permissions-Policy, HSTS.
  • S3 + visibility — verify=False boto3 → settings.minio.verify_tls; reference dashboards default is_public=False.

v0.13.12 (June 4, 2026)

Stable patch — cross-DC filter fix

Docker Images

ghcr.io/depictio/depictio:0.13.12

🐛 Bug Fixes

  • Cross-DC filter join column — link resolver fell back to the user's filter column instead of the link's join column; target DC silently returned every row.

v0.13.11 (May 29, 2026)

Stable patch — cross-DC filter target column

Docker Images

ghcr.io/depictio/depictio:0.13.11

🐛 Bug Fixes

  • Cross-DC filter target_column=None — dict.get("target_field", default) returned None when key existed but was null; synthetic filter propagated column_name=None → 500 on advanced-viz, silent full-table return on figures.

v0.13.10 (May 29, 2026)

Stable patch — builder: viz suggestions, text-step, screenshot regen

Docker Images

ghcr.io/depictio/depictio:0.13.10

🐛 Bug Fixes

  • Viz suggestion engine — no fingerprints for rarefaction/sankey/sunburst/alpha-diversity; added 4 producers and rewrote matching to require alias set + dtype (not dtype alone).
  • Text component "Type" step freeze — setStep(1) skipped the hidden Data Source step for text; now jumps to step 2.
  • Screenshot not regen'd on Save — enqueue skipped when editMode=false; fixed.

v0.13.9 (May 28, 2026)

Stable patch — admin bypass for public/demo write gates

Docker Images

ghcr.io/depictio/depictio:0.13.9

🐛 Bug Fixes

  • Admin locked out in public/demo mode — write gates (project creation, CLI token, agent-config) were unconditional; now is_public AND NOT is_admin.

v0.13.8 (May 28, 2026)

Stable patch — React import, screenshot ownership, Helm ingress

Docker Images

ghcr.io/depictio/depictio:0.13.8

🐛 Bug Fixes

  • React project import 404 — client hit /projects/import; corrected to /migrate/import-project-zip.
  • Shared creation timestamps — class-level datetime.now() defaults shared across instances; replaced with Field(default_factory=datetime.now).
  • Screenshots denied on duplicated dashboards — permission check consulted project owners only; now checks dashboard-level owners first.

🚀 Improvements

  • Helm dedicated ingress — separate Ingress objects for MinIO and backend API with Serve-specific annotations.

v0.13.7 (May 22, 2026)

Stable patch — viralrecon Lineage tab 500

Docker Images

ghcr.io/depictio/depictio:0.13.7

🐛 Bug Fixes

  • viralrecon Lineage tab — precompute_columns_specs aborted on sparse-string mode() with non-default index; switched to positional .iloc[0].

v0.13.6 (May 22, 2026)

Stable patch — recipe seed format, screenshot queue, EMBL resources

Docker Images

ghcr.io/depictio/depictio:0.13.6

🐛 Bug Fixes

  • viralrecon recipe DCs — init resolver kept format: csv after converting recipe DCs to file-scans against bundled TSVs; polars read them comma-delimited. Force-sets format=tsv after conversion.
  • Screenshot queue saturation — save enqueued a screenshot on every tab open/duplicate/rename, saturating celery; now skips when dual-theme PNGs are <1h old.

🚀 Improvements

  • EMBL demo/demodev — celery concurrency 2→8, limits 8 CPU / 16 GiB.

v0.13.5 (May 21, 2026)

Stable patch — viralrecon canonical seed TSVs

Docker Images

ghcr.io/depictio/depictio:0.13.5

🚀 Improvements

  • viralrecon seed TSVs — bundles 15 canonical recipe outputs (~1.5 MB); variants_long + variant_feature_matrix_canonical recipes added.

🧪 CI

  • Asserts all 19 viralrecon scan/seed files land in the image.

v0.13.4 (May 21, 2026)

Stable patch — bundled viralrecon raw data

Docker Images

ghcr.io/depictio/depictio:0.13.4

🚀 Improvements

  • viralrecon raw data — bundles multiqc.parquet + 3 mosdepth TSVs (~25 MB); Coverage & Depth + MultiQC tabs render without kubectl cp.

v0.13.3 (May 21, 2026)

Stable patch — viralrecon seed IDs + public-mode pinning

Docker Images

ghcr.io/depictio/depictio:0.13.3

🐛 Bug Fixes

  • viralrecon dashboards 404'd — 46 stale auto-generated ObjectIds remapped to STATIC_IDS["viralrecon"]; pytest invariant added.
  • Advanced Viz Coverage Track + Categorical Flow demos 404'd — DCs referenced in seeds but missing from STATIC_IDS.

🚀 Improvements

  • Public/demo pinning — dashboard pins stored in localStorage; no server write needed.

v0.13.2 (May 21, 2026)

Stable patch — K8s init containers, viralrecon scan, ampliseq seeds

Docker Images

ghcr.io/depictio/depictio:0.13.2

🐛 Bug Fixes

  • Helm installs stalled at 0 READY — init containers had no imagePullPolicy; Capsule admission webhook denied pods. Added initContainerImage.pullPolicy: Always.
  • viralrecon scan "directory does not exist" — init resolver overwrote caller-resolved DATA_ROOT from template vars; DATA_ROOT now skipped.
  • 13 ampliseq DCs "no transform config" — recipe→file_scan cleared transform block; falls through to file-scan when absent.
  • ampliseq 2.16.0 MultiQC filters dropped — metadata→multiqc_data DCLink was 2.14.0-only; mirrored to 2.16.0.

v0.13.1 (May 21, 2026)

Stable Release — nf-core/viralrecon seed, MultiQC filter, admin polish

Docker Images

ghcr.io/depictio/depictio:0.13.1

✨ New Features

  • nf-core/viralrecon — fifth bundled seed (5 dashboards); Advanced Visualisations tab renamed + overview tab dropped.
  • DEPICTIO_DISABLE_EXAMPLE_DASHBOARDS — skips seeding bundled reference projects on startup.
  • DEPICTIO_WALKTHROUGH_DISABLED — hides the onboarding overlay.
  • DC-creation viz hints — uploads matching ANCOM-BC, viralrecon variants, or role-named tables get a "Looks like X" badge.

🚀 Improvements

  • /dashboards-beta sections — Owned → Accessed → Public → nf-core → Demo (was a single "Example" section).
  • /admin-beta — bullet list per project, nested dashboard anchor tabs, Maintenance card covers all five seed projects.
  • Anchor navigation — dashboard cards and sidebar tabs are real anchors; Cmd+Click opens in a new tab.

🐛 Bug Fixes

  • MultiQC cross-DC filtering — habitat / sample / sampling_date filters now resolve sample mappings and narrow MultiQC plots.
  • Date range picker — could only pick start date; now defaults to full bounds.
  • Per-component reset icon — now lights up when the component sourced a filter.
  • Interactive filter options greyed out — non-sample columns like habitat no longer masked by MultiQC sample mappings.
  • Alpha Diversity rarefaction filter — habitat / sample filter now also narrows the rarefaction viz.

v0.13.0 (May 20, 2026)

Stable Release — Advanced Visualization component type

Introduces Advanced Visualization, a new component type providing ready-to-use visualizations for standard bioinformatics outputs.

Docker Images

ghcr.io/depictio/depictio:0.13.0

✨ New Features

  • Advanced viz renderers (React beta version only) — ComplexHeatmap, UpSet (vendored plotly-upset), GSEA / enrichment dot plot, rarefaction, ancombc, DA barplot, MA, Lollipop, Dot, QQ, Sunburst, Oncoplot — each with a Celery task and dispatch / poll endpoints.
  • Text tiles + multi-metric cards — new text variants and multi-metric card layouts (e.g. box_plot).
  • Table DC lifecycle endpoints (API) — append / replace / clear.

🚀 Improvements

  • Reset action (React beta version only) — moved to filters panel header.
  • Auto-screenshot pipeline — switched to React SPA, ~2× faster.

v0.12.2 (May 18, 2026)

Stable Release — React viewer Code Mode polish & cross-filter fixes

Patch focused on Figure Code Mode polish and tighter cross-filter behaviour around joined / MultiQC data collections.

Docker Images

ghcr.io/depictio/depictio:0.12.2

🚀 Improvements

  • Figure Code Mode (React beta version only) — collapsible help with module table, resizable editor, cross-filter preview under the chart, ownership-gated.
  • Joined DC awareness (React beta version only) — joined DCs marked in builder dropdown + info card; filter-source badge on cross-filtered components.
  • availableValues (React beta version only) — intersect MultiQC samples with table DCs (read-pair suffix matching), always include filter source.

🐛 Fixes

  • Advanced viz types (React beta version only) — heatmap / scatter_matrix removed, unsupported px kwargs filtered, no silent downgrade to scatter.
  • Cross-filtering scope (React beta version only) — restricted to scatter / scatter_3d.
  • Plotly reset (React beta version only) — reset now actually clears lasso/box selection.
  • MultiQC sample mappings (API) — fallback to canonical_samples.

v0.12.1 (May 18, 2026)

Stable Release — Text component, guided walkthrough, docs-screenshot tooling

Patch release adding rich-text authoring on dashboards, a mode-aware onboarding walkthrough in the React viewer, and a Playwright-driven pipeline for capturing documentation screenshots.

Docker Images

ghcr.io/depictio/depictio:0.12.1

✨ New Features

  • Text component + notes footer (React beta version only) — new text component type with a Tiptap-backed rich-text editor, and a collapsible Notes drawer pinned to the dashboard footer. Read-only for non-owners; the Data Source step is hidden when building a text component.
  • Mode-aware guided walkthrough (React beta version only) — first-run spotlight tour with a backdrop overlay that adapts to the current surface (projects / builder / public instance). The public tour walks visitors through the duplicate-to-temp-session flow up front.

🚀 Improvements

  • Dashboard ownership gating — edit affordances in the viewer are now gated on the current user's ownership of the dashboard.

🛠 Tooling

  • Playwright-driven docs screenshots — dev/playwright_debug/docs_screenshots.py drives the React viewer at :5173 to capture documentation thumbnails. Registry-based with a --version flag (no hardcoded releases). The admin-auth localStorage-injection helper is shared with the existing /screenshot-dash-fixed endpoint.

v0.12.0 (May 15, 2026)

Stable Release — MultiQC lifecycle and cross-DC links

Dash → React migration timeline

This release ships the React viewer in Beta at /*-beta routes. The Dash frontend was removed in v0.13.12. The React viewer graduates onto the canonical URLs in v1.0.0, when the *-beta suffix paths are retired. Track contribution paths in Contributing → Frontend Guidelines.

Docker Images

ghcr.io/depictio/depictio:0.12.0

✨ New Features

  • MultiQC DC management — full create / append / replace / clear lifecycle
  • MultiQC uniformity validator (React beta version only) — dry-run check endpoint and Check now button surface uniformity issues before ingest; runs automatically on the create flow with a checklist UI.
  • Cross-DC link — create / edit / delete links from the viewer with a polished modal
  • Map-capable table DC (React beta version only) — new DCTableCoordinatesConfig variant. The Create DC modal has a Coordinates tab, inline DC previews, and inline lat/lon detection; /create_from_upload accepts latColumn/lonColumn hints with column validation.
  • Dashboards & Projects revamp (React beta version only) — new toolbar, table view, pins, and filters across /dashboards-beta and /projects-beta; canonical selected_* keys.

🚀 Improvements

  • MultiQC: disk-persistent prerender store + Celery worker rebuild, longer preview offload timeout, collapsed multi-line log, safer append, cache-key correctness.
  • Helm: ConfigMap/Secret content checksum rolls dependent Pods on change.
  • CI/Docker: pin pnpm@10 in viewer-builder and dev-viewer stages; viewer-dev Vite port wired through the dev-port allocator.

v0.11.2 (May 7, 2026)

Stable Release

Patch release: viewer Docker prod build fix and dev-compose Vite HMR.

Docker Images

ghcr.io/depictio/depictio:0.11.2

🐛 Bug Fixes

  • Viewer Docker prod build: Dockerfile_depictio_uv.dockerfile viewer-builder stage now produces a working bundle (pnpm --filter depictio-viewer build).
  • Dev compose HMR: viewer service in docker-compose.dev.yaml runs the Vite dev server with HMR (pnpm --filter depictio-viewer dev).

📦 Packaging

  • react-resizable ^3.0.5 declared as a direct dep in depictio/viewer/package.json (was a transitive that pnpm strict resolution refused).

🧹 Internal

  • viralrecon recipes moved under the canonical projects/ path.

v0.11.1 (May 6, 2026)

Stable Release

Housekeeping release: stop tracking instance/runtime-only files. No user-facing changes.

Docker Images

ghcr.io/depictio/depictio:0.11.1

🧹 Internal

  • Untrack depictio/dashboards_yaml/ (instance/runtime-only).
  • Untrack AI session-handoff scratch under depictio/viewer/.
  • Untrack auto-generated CLAUDE.md context and superseded .claude-code/ skills.

v0.11.0 (May 6, 2026)

Major Release — React viewer is in Beta

Major release: React viewer (Beta), realtime dashboard refresh, and a Dash 3.2 → 4.1 upgrade.

Docker Images

ghcr.io/depictio/depictio:0.11.0

✨ Highlights

  • React viewer (Beta) — new Vite-built SPA at /dashboard-beta/{id} (viewer) and /dashboard-beta-edit/{id} (component builder), plus parallel /dashboards-beta, /projects-beta, /auth, /admin-beta, /profile-beta, /about-beta, /cli-agents-beta sub-apps. A "Try the new version" switcher in the legacy Dash sidebar links to it. Ships an AG Grid SSRM table, Map / JBrowse / MultiQC ports, and a Timeline interactive. Source: depictio/viewer/ + shared packages/depictio-react-core/.
  • Realtime dashboard refresh (opt-in) — new WebSocket and SSE endpoints under /depictio/api/v1/events/ for live data-collection updates. Adds the websockets dependency; degrades gracefully on standalone MongoDB.
  • Drag-and-drop data collection — new POST /depictio/api/v1/datacollections/create_from_upload endpoint lets basic-project users create a DC without depictio-cli.
  • Dash 3.2 → 4.1 upgrade — dash[async]>=4.1,<5 for a pattern-matching callback perf fix.

🚀 Improvements

  • Demo / public mode: in-viewer banner, guided tour, and write actions (Create Project, Import, Upload) disabled rather than hidden.
  • Cross-DC links: dtype-agnostic is_in resolution and consistent heatmap annotation filtering.
  • Filter-aware MultiQC caching with Celery prewarm; SVG re-encode + N+1 cache fixes for MultiQC samples.

🐛 Bug Fixes

  • Editor duplicate-component visibility and ref staleness.
  • Heatmap recipe: None-value handling, date serialization, and column-loading scope.
  • /projects 500 from ObjectId serialization in template metadata.
  • Map component filtering; DatePicker reordered first in sidebar.

v0.10.3 (May 4, 2026)

Stable Release

Patch release: manual workflow for adding additional OCI tags to the published Helm chart image.

Docker Images

ghcr.io/depictio/depictio:0.10.3

🔧 CI / Tooling

  • OCI tag workflow: new workflow_dispatch GitHub Actions workflow to add additional tags to the already-published Helm chart OCI image (e.g. tagging a release with a stable or per-customer tag without re-running the full release pipeline).

v0.10.2 (May 4, 2026)

Stable Release

Patch release: pod rollouts on config changes via Helm checksum annotations, and re-enable the CLI Agents button for single-user mode.

Docker Images

ghcr.io/depictio/depictio:0.10.2

✨ Features

  • Config-checksum annotations on Helm deployments: Backend and frontend pod templates carry a checksum/config annotation derived from rendered ConfigMaps, so helm upgrade rolls pods automatically on config changes.

🐛 Bug Fixes

  • CLI Agents button enabled in single-user mode: Single-user mode has a real authenticated user, so CLI agent token management should be reachable. Only public/demo (unauthenticated) modes now gate the button.

v0.10.1 (April 30, 2026)

Stable Release

Adds the nf-core/viralrecon template with a four-tab analysis dashboard and recipe enhancements for per-sample inputs.

Docker Images

ghcr.io/depictio/depictio:0.10.1

✨ Highlights

  • nf-core/viralrecon template (3.0.0): SARS-CoV-2 / viral genome surveillance pipeline support. Ships eight aggregated data collections and a four-tab dashboard — MultiQC overview, Coverage & Depth, Lineage Analysis, Variant Landscape. See nf-core/viralrecon.
  • Recipe enhancements: new glob_pattern field on RecipeSource for per-sample file inputs, and a metatype: "Aggregated" convention for cross-sample DCs (used by the API's join-compatibility logic to avoid silent joins at differing granularities). See Recipes.

v0.10.0 (April 30, 2026)

Stable Release

Major release: project template system, Python recipe pipeline, the nf-core/ampliseq template, and dedicated ingress for MinIO and backend.

Docker Images

ghcr.io/depictio/depictio:0.10.0

✨ Highlights

  • Project template system with template_origin metadata, template variables (e.g. DATA_ROOT, METADATA_FILE), and an automatic dashboard import flow. See Project Templates.
  • nf-core/ampliseq 2.16.0 template — first reference template, ships bundled pre-computed data files for depictio-cli run initialization.
  • Python recipe system for bioinformatics preprocessing — Polars-based recipes with dc_ref cross-DC dependency resolution. Adds new source: "transformed" to DataCollectionSource. See Recipes.
  • Dedicated ingress for MinIO and backend API in Helm — separate ingress resources with isolated annotations per route. Ships a values-serve.yaml overlay used by the hosted depictio instance on SciLifeLab Serve. See Kubernetes installation.

🐛 Bug Fixes

  • Cross-DC link filtering for figures, MultiQC, and heatmap components.
  • /projects 500 error from ObjectId serialization in template metadata.

🚀 Improvements

  • Recipe path resolution for cross-DC dependencies; fallback import for depictio.recipes from source tree.
  • Stale file cleanup when re-running with different template/data_root.

v0.9.0 (March 21, 2026)

Stable Release

Adds project migrate (cross-instance export/import) and cascade delete on project deletion.

Docker Images

ghcr.io/depictio/depictio:0.9.0

✨ Features

  • Project migrate command: depictio-cli migrate exports a project as a ZIP bundle (config, dashboards, embedded workflows/DCs, S3 objects) and imports on a target instance with conflict detection and --overwrite. Includes a UI export/import flow. See administration/migrate.
  • Cascade delete on project deletion: deleting a project now cascades to dependent MongoDB documents (workflows, data collections, dashboards) and S3 objects, preventing orphaned storage. See project deletion.

🐛 Bug Fixes

  • depictio-cli migrate invokes via app.callback() (no spurious sub-prompt).
  • Skip S3 copy for self-migration.
  • Datetime JSON serialization in export bundle.
  • Dashboard export string vs ObjectId project_id mismatch.

📦 Packaging

  • Logo and Codespaces badge in CLI README for PyPI.

v0.8.2 (March 4, 2026)

Stable Release

Security fix: disable CLI config generation in public/demo mode to prevent S3 credential exposure.

Docker Images

ghcr.io/depictio/depictio:0.8.2

🔒 Security

  • Disable CLI config generation in public/demo mode: The /cli_configs page exposed MinIO root credentials (root_user, root_password) to any user in public/demo mode. The "Add New Configuration" button, "CLI Agents" navigation, and "Logout" button are now disabled in public/demo/single-user modes. A server-side 403 guard was added on the POST /generate_agent_config API endpoint.

📦 Packaging


Beta releases leading up to v0.8.2

v0.8.2-b1 (March 4, 2026)

🔒 Security

  • Disable CLI config generation and logout in public/demo/single-user modes
  • Add server-side 403 guard on POST /generate_agent_config endpoint

v0.8.1 (March 4, 2026)

Stable Release

This release fixes the blank /auth page bug on fresh Docker installs caused by internal API key mismatch between containers.

Docker Images

ghcr.io/depictio/depictio:0.8.1

🐛 Bug Fixes

  • Fix blank /auth page on fresh Docker install: Add shared depictio_keys volume so backend, frontend, and celery-worker containers use the same internal API key. Previously each container generated a different key (based on PID/UID), causing 403 errors on every internal API call in single-user mode.
  • Upgrade internal API key generation: Replace deterministic sha256(uid+salt) with cryptographically random secrets.token_hex(32) for improved security.

📖 Documentation

  • Add update, backup & restore guide to Docker installation docs

Beta releases leading up to v0.8.1

v0.8.1-b2 (March 4, 2026)

🐛 Bug Fixes

  • Shared depictio_keys Docker volume for internal API key consistency across containers
  • Upgrade key generation from deterministic hash to secrets.token_hex(32)

v0.8.1-b1 (March 3, 2026)

✨ Features

  • Heatmap Title & Description: Taxonomy heatmap components now support configurable title and description fields

🐛 Bug Fixes

  • Fix fresh install auth redirect dead-end
  • Fix random /auth page landing in public mode
  • Fix burger icon out of sync on single-tab dashboard sidebar collapse
  • Fix data tripling in K8s multi-worker initialization and correct Faith PD axis labeling
  • Fix table rendering consistency when heatmap title/description are updated

🔧 CI / Tooling

  • Add stable tag auto-update to bump-with-helm.sh release script

v0.8.0 (March 3, 2026)

Stable Release

This is a stable release consolidating all v0.8.0 beta improvements over v0.7.6.

Docker Images

ghcr.io/depictio/depictio:0.8.0

✨ Highlights

This release brings major new visualization and data-filtering capabilities:

  • Geospatial Map Component — scatter, density, and choropleth maps with cross-filtering and selection propagation (no API key required)
  • ComplexHeatmap Integration — clustered heatmaps with dendrograms and row/column annotations via plotly-complexheatmap
  • Multi-Metric Summary Cards — display a hero metric plus secondary aggregations (median, std_dev, min, max, etc.) in a single card
  • Filter Expressions (filter_expr) — Polars-based expressions for conditional aggregation on cards and scoped options on interactive components. Supports comparisons, string methods, window functions, and group-level filtering
  • Table Title & Description — configurable headers above AG Grid tables
  • GeoJSON Data Collection Type — load GeoJSON boundary files from S3 for choropleth maps
  • Debug UI Toggle — DEPICTIO_DASH_DEBUG_UI environment variable to control Dash debug UI visibility
  • MultiQC General Statistics Table — interactive DataTable from multiqc.parquet general stats (carried over from v0.7.5)

🐛 Bug Fixes

  • Fix cross-DC filtering for figures, MultiQC, and heatmap components
  • Fix map component viewport stability — no more resets on filter/theme changes
  • Fix map theme switching with reliable dark/light tile swapping
  • Fix General Statistics table dark mode styling
  • Fix infinite React re-render loop (Maximum update depth exceeded)
  • Fix screenshot timeouts — configurable settings with increased defaults
  • Fix alpha diversity chart rendering with average + error bars

Beta releases leading up to v0.8.0

v0.8.0-b6 (March 3, 2026)

🐛 Bug Fixes

  • Fix alpha diversity chart — use average + error bars and df_modified pattern for code executor
  • Regenerate all JSON seeds via proper YAML import roundtrip for fresh deployments

v0.8.0-b5 (March 3, 2026)

🐛 Bug Fixes

  • Regenerate community JSON seed with map and heatmap components for fresh deployments

v0.8.0-b4 (March 2, 2026)

✨ Features

  • Ampliseq Reference Dashboard: Add map, heatmap, and geo metadata to the nf-core/ampliseq reference dashboard showcasing all new component types

🐛 Bug Fixes

  • Fix cross-DC filtering for figures, MultiQC, and heatmap components — filters now propagate correctly across linked data collections
  • Fix General Statistics table dark mode styling for header, data bars, and hover highlight
  • Fix screenshot timeouts — increase defaults and use configurable settings
  • Fix pixi.lock absolute path breaking CI

v0.8.0-b3 (March 2, 2026)

✨ Features

  • Multi-Metric Summary Cards: Cards can now display multiple aggregation results — a primary hero metric plus secondary metrics (median, std_dev, min, max, etc.) rendered as compact rows below the main value
  • Conditional Aggregation (filter_expr): Cards support a filter_expr field — a Polars expression that pre-filters data before computing aggregations (e.g., "count samples where coverage > 30x")
  • Scoped Interactive Components: Interactive components (MultiSelect, RangeSlider, etc.) now support filter_expr to restrict their available options to a filtered data subset
  • Bioinformatics Filter Methods: filter_expr expanded with window functions (.over()), string methods (.str.contains()), range checks (.is_between()), and group-level filtering patterns
  • Multi-Tier MultiQC Caching: Optimize MultiQC data loading with multi-tier caching for faster dashboard rendering

🐛 Bug Fixes

  • Fix secondary metrics rendering — display in dedicated container instead of being appended to hero value
  • Fix single-metric cards missing the secondary-metrics container

v0.8.0-b2 (March 2, 2026)

✨ Features

  • Debug UI Toggle: New DEPICTIO_DASH_DEBUG_UI environment variable to show/hide Dash debug UI independently of full dev mode. Debug UI is hidden by default in production.

v0.8.0-b1 (February 27, 2026)

✨ Features

  • Geospatial Map Component: New interactive map component supporting scatter maps (GPS markers), density maps, and choropleth maps (colored regions from GeoJSON). Supports cross-filtering and selection propagation. No API key required (uses Plotly's built-in tile providers).
  • Choropleth GeoJSON Support: New geojson Data Collection type that loads GeoJSON from S3. Choropleth maps can reference boundaries via URL, Data Collection tag, or inline data.
  • ComplexHeatmap Integration: Clustered heatmap with dendrograms and row/column annotations — similar to R's ComplexHeatmap — available as native visu_type: heatmap via the plotly-complexheatmap library.
  • Table Title & Description: Tables now support configurable title, description, title_size (h1/h2/h3/sm), and title_align (left/center/right) in both the stepper UI and YAML format.
  • Projects Directory Reorganization: Reference project files reorganized under depictio/projects/ with a consistent dashboards/ subdirectory layout for better versioning support.

🐛 Bug Fixes

  • Fix map component viewport stability — viewport no longer resets on filter/theme changes
  • Fix map theme switching — promote theme-store to Input for reliable dark/light tile swapping
  • Fix map component stepper save support

🔧 CI/CD

  • Fix absolute path from pixi.lock for CI portability
  • Fix CI dashboard_lite.yaml references to new dashboards/ paths

v0.7.6 (February 26, 2026)

Stable Release

This is a stable release consolidating all v0.7.6 beta improvements over v0.7.5.

Docker Images

ghcr.io/depictio/depictio:0.7.6

No user-facing changes — version bump only to promote v0.7.6-b1 to stable.


Beta releases leading up to v0.7.6

v0.7.6-b1 (February 25, 2026)

No user-facing changes — version bump only after v0.7.5 stable release.


v0.7.5 (February 25, 2026)

Stable Release

This is a stable release consolidating all v0.7.5 beta improvements over v0.7.4.

Docker Images

ghcr.io/depictio/depictio:0.7.5

✨ Features

  • MultiQC General Statistics Table: New "General Statistics" module option in MultiQC components renders an interactive DataTable from multiqc.parquet general stats data. Includes column visibility toggles, search filtering, and theme-aware styling.

🐛 Bug Fixes

  • Fix infinite React re-render loop (Maximum update depth exceeded) that could occur when multiple interactive components were linked

Beta releases leading up to v0.7.5

v0.7.5-b2 (February 25, 2026)

✨ Features

  • MultiQC General Statistics Table: New "General Statistics" module option in MultiQC components renders an interactive DataTable from multiqc.parquet general stats data. Includes column visibility toggles, search filtering, and theme-aware styling.

🐛 Bug Fixes

  • Fix infinite React re-render loop (Maximum update depth exceeded) that could occur when multiple interactive components were linked

v0.7.5-b1 (February 25, 2026)

No user-facing changes — version bump only after v0.7.4 stable release.


v0.7.4 (February 25, 2026)

Stable Release

This is a stable release consolidating all v0.7.4 beta improvements over v0.7.3.

Docker Images

ghcr.io/depictio/depictio:0.7.4

✨ Features

  • Ampliseq Dashboard Updates: Use relative abundance and ANCOM-BC data for ampliseq dashboards

🐛 Bug Fixes

  • Fix dashboard YAML import HTTP 400 errors and improve import robustness
  • Fix MultiQC plots not updating on interactive filter changes
  • Fix single-user mode: auto-create admin user, auto-login as admin, redirect /auth to /dashboards
  • Fix stale local-store tokens after instance recreation in single-user mode
  • Fix CLI config generation in public/demo mode
  • Fix MongoDB data path and improve docker-compose healthchecks
  • Fix single-user mode in Helm chart CI to fix screenshot 401 error
  • Fix CI roundtrip import to handle duplicate check with --overwrite

🚀 Improvements

  • Update ampliseq init dashboard JSONs from YAML-imported dashboards
  • Update .env for single-user mode configuration and clean up comments
  • Replace Gitpod with GitHub Codespaces and remove Gitpod files
  • Remove leftover analysis and summary markdown files

🔧 CI/CD

  • Multi-arch Docker build: native arm64 runner, amd64 early tag push, imagetools-based multi-arch merge
  • Add version input for manual workflow_dispatch
  • Add docs repo notification to stable multi-arch build merge job
  • Fix CI environment variable handling for UID/GID/DATA_DIR in backup jobs

Beta releases leading up to v0.7.4

v0.7.4-b1 (February 23, 2026)

🐛 Bug Fixes

  • Fix single-user mode: auto-create admin user, auto-login as admin, redirect /auth to /dashboards
  • Fix stale local-store tokens after instance recreation in single-user mode
  • Fix CLI config generation in public/demo mode
  • Fix MongoDB data path and improve docker-compose healthchecks
  • Fix CI environment variable handling for UID/GID/DATA_DIR in backup jobs
  • Fix CI e2e test sed patterns to match docker-compose/.env defaults

🚀 Improvements

  • Replace Gitpod with GitHub Codespaces and remove Gitpod files
  • Update .env for single-user mode configuration and clean up comments
  • Remove leftover analysis and summary markdown files

🔧 CI/CD

  • Multi-arch Docker build: native arm64 runner, amd64 early tag push, imagetools-based multi-arch merge
  • Add version input for manual workflow_dispatch
  • Add docs repo notification to stable multi-arch build merge job

v0.7.3 (February 18, 2026)

Stable Release

This is a stable release consolidating all v0.7.3 beta improvements over v0.7.2.

Docker Images

ghcr.io/depictio/depictio:0.7.3

✨ Features

  • Demo & Public Mode Architecture: Replaced unauthenticated mode with a dedicated demo mode (walkthrough tour, temporary users) and a distinct public mode for read-only access
  • YAML Dashboard Sync — Full Overhaul: Multi-tab export/import, minimal metadata, server-side Pydantic validation, icon field preservation, code-mode figure content, and stable component tags across round-trips
  • YAML Reference Dashboards: Iris, penguins, and ampliseq reference projects now ship with versioned YAML dashboard definitions
  • MultiQC Enhancements: DateRangePicker filter with value normalisation, theme switching via CSS variables, human-readable filter titles
  • Fullscreen Mode: Native browser Fullscreen API replacing the previous workaround; correct chart dimensions in fullscreen

🐛 Bug Fixes

  • Fix demo mode: owner edit-button visibility, tab copy naming, MultiQC s3_location on restore, dashboard ownership, MultiQC habitat filter, TabsTab href crash
  • Fix cross-DC filtering for card components and anonymous users in single-user mode
  • Fix MultiQC callback errors (separate view/design mode callbacks), metadata not saved from stepper
  • Fix dashboard duplication: icon colours, theme variant thumbnails, child tab listing
  • Fix duplicate/remove component issues from layout type mismatch
  • Fix DateRangePicker validation and normalisation for figure and table callbacks
  • Fix stepper navigation (duplicate edit-page-context stores)
  • Fix interactive component JavaScript callback errors

🚀 Improvements

  • Docker Compose: MinIO embedded by default; .env truly optional (critical defaults inlined); named MongoDB volume for zero-clone quick-start; frozen image and package versions
  • Theme Variables: Consistent CSS theme variables across all dashboard styles (MultiQC, Figure, card trend subtitles)
  • WebSocket: Fix WebSocket connection for K8s deployments; enable background callbacks on initial page load
  • Simplify fullscreen and interactive filtering callback code; improve card trend subtitle readability

🧹 Internal

  • Reorganise and clean up settings_models.py — remove dead code, add structured sections and field docs
  • Add YAML export/import round-trip CI test and comprehensive CLI validation unit tests
  • CI fixes: ruff import format, pyyaml version conflict, missing ampliseq child tab screenshots

Beta releases leading up to v0.7.3

v0.7.3-b8 (February 18, 2026)

✨ Features

  • Complete YAML export/import overhaul: multi-tab support, minimal metadata for MultiQC/Image components, stable component tags, layout position preservation, icon field preservation, code-mode figure content export, server-side Pydantic validation in CLI validate and import commands
  • Add YAML dashboard definitions for iris, penguins, and ampliseq reference projects

🐛 Fixes

  • Resolve demo mode round-2 issues: dashboard ownership checks, MultiQC habitat filter, TabsTab href crash
  • Resolve CI failures: ruff import format and pyyaml version conflict
  • Add missing child tab screenshots for ampliseq demo dashboard

🚀 Improvements

  • Streamline Docker Compose: embed MinIO by default, freeze image/package versions, inline critical env defaults so .env is optional, switch MongoDB to named volume for zero-clone quick-start
  • Reorganise and clean up settings_models.py
  • Add round-trip CI test and unit tests for YAML CLI validation

v0.7.3-b7 (February 17, 2026)

🐛 Fixes

  • Resolve three demo mode issues: owner edit button visibility, tab copy naming, and MultiQC s3_location population on restore
  • Update CI/CD YAML files to use current naming conventions

v0.7.3-b6 (February 17, 2026)

✨ Features

  • Add DateRangePicker filter to MultiQC component with proper value normalization
  • Add theme switching support for MultiQC and Figure components using CSS theme variables
  • Add human-readable titles to interactive filter components
  • Improve stepper component selection UX with empty states and visual feedback
  • Add colored border around image tab icons for better visual distinction

🐛 Fixes

  • Allow screenshot generation in single-user mode (remove auth dependency)
  • Resolve missing Add Tab and Edit Tab buttons in single-user mode
  • Fix MultiQC callback errors by separating view and design mode callbacks
  • Fix MultiQC component metadata not saved from GUI stepper workflow
  • Fix duplicate and remove component issues due to layout type mismatch
  • Fix stepper navigation by removing duplicate edit-page-context stores
  • Resolve Interactive component callback JavaScript errors
  • Fix fullscreen mode: implement native browser Fullscreen API and correct chart dimensions
  • Fix dashboard duplication: preserve icon colors, copy theme variant thumbnails, fix child tab listing
  • Fix cross-DC filtering for card components via link resolution
  • Allow anonymous users to use link resolution in single-user mode
  • Skip validation for empty-valued filters in runtime filter application
  • Fix DateRangePicker validation and normalization for figure and table callbacks

🚀 Improvements

  • Add owner-only permission checks for screenshot generation
  • Implement consistent theme variables across dashboard styles
  • Simplify fullscreen and interactive filtering callback code
  • Improve card trend subtitle readability (2 decimal places)

v0.7.3-b5 (February 9, 2026)

🐛 Fixes

  • Fix debug menu auto-collapse script path in HTML templates (local dev + production)

v0.7.3-b4 (February 9, 2026)

🐛 Fixes

  • Fix demo tour popover callback errors across Management App pages
  • Enhance debug menu auto-collapse for Dash 3.x compatibility

v0.7.3-b3 (February 9, 2026)

🚀 Improvements

  • Optimize dashboard interactivity and fix WebSocket connection for K8s deployments

v0.7.3-b2 (February 9, 2026)

🐛 Fixes

  • Enable WebSocket callback on initial page load
  • Remove conflicting NGINX annotations for WebSocket

v0.7.3-b1 (February 9, 2026)

🚀 Improvements

  • Migrate from unauthenticated mode to demo + public mode architecture
  • Improve demo mode with walkthrough tour and temporary user support

v0.7.2 (February 8, 2026)

Stable Release

This is a stable release with auth mode improvements and guided tour features.

Docker Images

ghcr.io/depictio/depictio:0.7.2

✨ Features

  • Single User Mode: Badge now clickable to navigate to /profile
  • Guided Tour: Added demo mode onboarding tour for new users
  • Dashboard Import/Export: Full import/export functionality integrated into New Dashboard modal
  • WebSocket Events: Real-time event system for dashboard updates
  • Tab Management: Enhanced tab editing with full CRUD and reordering capabilities

🐛 Bug Fixes

  • Skip auth modal callbacks in single-user mode
  • Fix scatter selection preservation on figure re-render
  • Fix dashboard creation in single-user mode for anonymous user
  • Fix debug menu collapse script loading across all modes
  • Harden public/demo mode dashboard visibility and tour behavior
  • Various E2E test fixes for auth flow changes

🧹 Internal Changes

  • Cypress upgrade and E2E tests for demo/single-user modes
  • UI refinements for Single User Mode badge and welcome section

v0.7.1 (February 4, 2026)

Stable Release

This is a stable release based on v0.7.1-b1, introducing tab management features.

Docker Images

ghcr.io/depictio/depictio:0.7.1

✨ Features

  • Tab Management: Full CRUD operations with drag-and-drop reordering
  • Smart Sidebar: Dynamic tab selection with improved navigation
  • Breadcrumb Navigation: Dashboard/tab breadcrumb in header title

🐛 Bug Fixes

  • Fix header to use dashboard title instead of main_tab_name for parent display
  • Add parent_dashboard_title field to DashboardData model

🚀 Improvements

  • Simplify and consolidate tab management code
  • Add comprehensive unit tests for tab functionality

Beta releases leading up to v0.7.1

v0.7.1-b1 (February 4, 2026)

✨ Features

  • Implement full tab CRUD with reordering and smart sidebar
  • Show dashboard/tab breadcrumb in header title

🐛 Fixes

  • Fix header parent display and add parent_dashboard_title field

v0.7.0 (February 3, 2026)

Stable Release

This is a stable release based on v0.7.0-b1, introducing Image component support.

Docker Images

ghcr.io/depictio/depictio:0.7.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable

✨ Features

  • Image Component: New Image data collection type with full dashboard integration
    • Add images to dashboards with gallery and modal views
    • Support for image cross-filtering with other data collections
    • CLI registration and duplication support for Image components
    • YAML dashboard import support for Image components
    • Public image serving endpoint for authenticated access

🚀 Improvements

  • Code Refactoring: Moved cross-DC filtering logic to shared utilities for better reuse across components

🐛 Bug Fixes

  • Environment Safety: Commented out DEPICTIO_MONGODB_WIPE for safer development environments

Beta releases leading up to v0.7.0

v0.7.0-b1 (February 3, 2026)

✨ Features

  • Add image support to DC links and cross-filtering
  • Add Image component CLI registration and duplication support
  • Integrate Image component into dashboard stepper and viewer
  • Implement Image component with gallery and modal views
  • Add public image serving endpoint and fix S3 cleanup
  • Enable Image DC processing in CLI workflow
  • Add Image DC model with Table DC capabilities
  • Add image component support in YAML dashboard import

🚀 Improvements

  • Refactor cross-DC filtering to shared utils for reuse

🐛 Fixes

  • Comment out DEPICTIO_MONGODB_WIPE for safety in development
  • Various CI/CD fixes for Image component testing and validation

Beta releases leading up to v0.6.3

v0.6.3-b1 (February 1, 2026)

✨ Features

  • Image Component Foundation: Initial infrastructure for Image data collection type
  • API Health Endpoint: Added /health endpoint for Kubernetes readiness checks

🐛 Bug Fixes

  • S3 Handling: Handle BucketAlreadyOwnedByYou error gracefully
  • S3 Cleanup: Prevent HTTPException from killing worker during S3 cleanup, delay cleanup on startup
  • CI/CD: Multiple fixes for health checks, token handling, and dashboard verification

🧹 Internal Changes

  • Comprehensive unit tests for Image component changes
  • Extended dashboard CLI testing with DB verification

v0.6.2 (January 29, 2026)

Stable Release

This is a stable release based on v0.6.2-b7.

Docker Images

ghcr.io/depictio/depictio:0.6.2
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable

🐛 Bug Fixes

  • MultiQC Data Processing: Removed incorrect deltatable registration from MultiQC processor to fix HTTP 400 errors on re-processing. MultiQC uses dedicated API endpoints, not the deltatables collection.
  • S3 Cleanup: Fixed orphaned file cleanup to skip MultiQC consistency checks that caused false positives.
  • Kubernetes Deployment: Mount screenshots PVC in Celery worker for shared access to dashboard preview images.
  • Screenshot Cleanup: Fixed dashboard ID extraction to properly strip _dark/_light suffixes before validation.
  • Authentication: Fixed auth redirect for stale tokens that caused AttributeError: 'NoneType' object has no attribute 'email'.
  • Race Condition: Handle duplicate project creation race condition in multi-worker Gunicorn initialization.
  • Reference Datasets: Pre-create screenshot files for reference dashboards to ensure proper display.

🧹 Internal Changes

  • Removed MultiQC from automatic reference dataset initialization (data files require separate setup)
  • Version synchronization across all configuration files

Beta releases leading up to v0.6.2

v0.6.2-b7 (January 29, 2026)

🐛 Fixes

  • Restore pre-created screenshot files for reference dashboards

v0.6.2-b6 (January 29, 2026)

🐛 Fixes

  • Fix auth redirect on stale token (NoneType attribute error)
  • Fix screenshot cleanup bug (strip _dark/_light suffix from dashboard ID)

v0.6.2-b5 (January 29, 2026)

🐛 Fixes

  • Correct corrupted version strings in pyproject.toml files
  • Correct corrupted Helm chart YAML from version bump script

v0.6.2-b4 (January 29, 2026)

🐛 Fixes

  • Handle race condition in reference dataset init (duplicate project error)
  • Remove multiqc from automatic reference dataset initialization
  • Mount screenshots PVC in Celery worker for shared access
  • Handle None user in route_authenticated_user
  • Remove incorrect MultiQC deltatable check from S3 cleanup

v0.6.2-b3 (January 29, 2026)

🐛 Fixes

  • Set reference projects/dashboards as public
  • Add frontend screenshots for reference dashboards

v0.6.2-b2 (January 28, 2026)

🐛 Fixes

  • Add missing ampliseq data files and multiqc reference project
  • Fix K8s Celery background callbacks and screenshot init container

v0.6.2-b1 (January 28, 2026)

🐛 Fixes

  • Fix K8s deployment CORS, Celery screenshots, and delta table errors
  • Remove incorrect deltatable registration from MultiQC processor

v0.6.1 (January 28, 2026)

Stable Release

This is a stable release based on v0.6.1-b1.

Docker Images

ghcr.io/depictio/depictio:0.6.1

✨ Features

  • Reference Dashboards: Added pre-configured dashboard screenshots for improved visual representation in the dashboard gallery.
  • Dashboard UI: Enhanced dashboards management page with new categories, tab count badges, and screenshot carousel tooltips.
  • Auto-Screenshots: Added automatic screenshot generation callback for dashboard viewer.

🐛 Bug Fixes

  • Kubernetes Deployment: Fixed K8s CORS configuration, Celery screenshot handling, and delta table errors.
  • Helm Chart: Added master switch to completely disable YAML dashboard sync feature.
  • Reference Datasets: Made deltatable checks non-fatal in CLI jobs to prevent blocking on optional data.
  • Authentication: Removed premature validation error on auth modal landing.
  • Theme Compatibility: Made "Back to Dashboards" link theme-compatible.

🚀 Improvements

  • Reference Projects: Reorganized demo datasets with improved project configurations.
  • Dashboard Gallery: Added dashboard counts to section headers and expand all non-empty sections by default.
  • Tab Preview: Added zoom preview to multi-tab dashboard carousel with HoverCard.

🧹 Internal Changes

  • Refactored screenshot processing from API endpoint to Celery task
  • Reorganized project configs to use project-level joins/links
  • Added auto-registration for penguins and multiqc reference datasets

Beta releases leading up to v0.6.1

v0.6.1-b1 (January 28, 2026)

✨ Features

  • Update dashboard screenshots for improved visual representation
  • Add reference dashboard screenshots and improve CI verification

🐛 Fixes

  • Add master switch to completely disable YAML dashboard sync
  • Make reference dataset deltatable checks non-fatal in CLI jobs
  • Use correct Ampliseq project name in CI verification
  • Remove redundant color parameter from box plot

v0.6.0 (January 25, 2026)

Stable Release

This is a stable release based on v0.6.0-b18.

Docker Images

ghcr.io/depictio/depictio:0.6.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable

✨ Features

  • Dashboard UI: Integrated fullscreen button into ActionIconGroup for improved component controls and better user experience

🐛 Bug Fixes

  • Kubernetes Deployment: Allow explicit DEPICTIO_FASTAPI_PUBLIC_URL override in ConfigMaps for flexible API URL configuration
  • Kubernetes Deployment: Generate api_internal_key.pem during backend startup to ensure proper key management
  • Kubernetes Deployment: Init containers now wait for private_key.pem instead of api_internal_key.pem for correct initialization sequence
  • Kubernetes Deployment: Disable YAML auto-export for K8s deployments to prevent configuration conflicts
  • EMBL Deployment: Add explicit API URL configuration and reduce replicas for EMBL dev environment optimization

🧹 Internal Changes

  • Version synchronization across all configuration files (pyproject.toml, Chart.yaml, values.yaml)
  • Helm chart version updates with date-based versioning

Beta releases leading up to v0.6.0

v0.6.0-b18 (January 24, 2026)

🐛 Fixes

  • Sync Chart.yaml appVersion to 0.6.0-b17
  • Allow explicit DEPICTIO_FASTAPI_PUBLIC_URL override in ConfigMaps
  • Add explicit API URL and reduce replicas for EMBL dev

v0.6.0-b17 (January 24, 2026)

🐛 Fixes

  • Sync all version files to 0.6.0-b17

v0.6.0-b16 (January 24, 2026)

🐛 Fixes

  • Correct corrupted appVersion in Chart.yaml

v0.6.0-b15 (January 24, 2026)

🐛 Fixes

  • Correct corrupted version strings across all files

v0.6.0-b14 (January 24, 2026)

✨ Features

  • Integrated fullscreen button into ActionIconGroup

🐛 Fixes

  • Generate api_internal_key.pem during backend startup
  • Init containers wait for private_key.pem instead of api_internal_key.pem
  • Disable YAML auto-export for K8s deployments

v0.6.0-b13 (January 24, 2026)

🐛 Fixes

  • Add YAML watcher environment variables to Helm ConfigMap

v0.6.0-b12 (January 24, 2026)

🐛 Fixes

  • Disable YAML watcher for Kubernetes deployments

v0.6.0-b11 (January 23, 2026)

✨ Features

  • Wait for Docker build and add post-deploy CLI registration

🧹 CI/CD

  • Update all Docker builds to use uv-based Dockerfile

v0.6.0-b10 (January 23, 2026)

🐛 Fixes

  • Use absolute path for secrets file on self-hosted runner

v0.6.0-b9 (January 23, 2026)

✨ Features

  • Add EMBL self-hosted deployment workflow

v0.6.0-b8 (January 23, 2026)

🧹 CI/CD

  • Fixed race condition in documentation workflow

v0.6.0-b7 (January 23, 2026)

🧹 CI/CD

  • Move API docs workflow to depictio-docs repo

v0.6.0-b6 (January 23, 2026)

Internal Release

Version bump only - no public release

v0.6.0-b5 (January 23, 2026)

Docker Images

ghcr.io/depictio/depictio:0.6.0-b5
ghcr.io/depictio/depictio:edge

✨ Features

  • Gunicorn Token Masking: Added gunicorn config with token masking in access logs for improved security. (e22778d9)
  • Celery Worker Deployment: Added Celery worker deployment to Helm charts for background task processing. (c702296c)
  • Docker Health Checks: Added healthchecks and restart policies for production readiness. (89e8522a)
  • Automated OpenAPI Docs: Added automated OpenAPI spec extraction for documentation. (0173ecc4)

🐛 Fixes

  • Fixed slider mark labels visibility in dark mode using dmc.Text components. (a59f9802, d2a0d765)
  • Fixed parameter order in update_aggregation_options callback. (c114b5ec)
  • Fixed type check for edit_context before calling .get(). (17e034c7)
  • Fixed screenshot trigger and updated accordion selectors for DMC 2.0+. (cae52478)
  • Added fallback on non-200 status in _check_deltatables. (adf75978)
  • Fixed triangle background animations visibility on auth page. (6370fc53)

🚀 Improvements

  • Comprehensive code simplification and modularization of Dash components. (bbf8395e)
  • Simplified figure and table component callbacks. (b83ecf0d)
  • Cleaned up verbose logs in table, text, and multiqc components. (ebb6c18e)
  • Removed verbose runtime logs from frontend callbacks. (af750d3f)

🧹 CI/CD

  • Use content-based hash for Docker image tags. (aa9da340)
  • Switched to uv-based Dockerfile for faster Helm builds. (8afa0a36)
  • Added Celery worker validation to test-build-push workflow. (d36df38c)

v0.6.0-b4 (January 22, 2026)

Docker Images

ghcr.io/depictio/depictio:0.6.0-b4
ghcr.io/depictio/depictio:edge

✨ Features

  • Universal DC Linking System: New cross-DC filtering system that allows linking data collections for runtime filtering without pre-computed joins. (#640)
  • Figure Code Mode Refactor: Complete refactor of figure code mode with live preview, bidirectional editor resize, and improved theme switching. (#639)
  • YAML Dashboard Validation: Pydantic-based validation for dashboard YAML configuration with column name, chart type, and aggregation validation.
  • Client-Side Table Joining: Moved table joining from server to CLI for better performance and flexibility. (#634)

🐛 Fixes

  • Fixed Ace editor theme switching and Execute button functionality in figure code mode.
  • Fixed HTTP status code checks for link create/delete in CLI.
  • Improved syntax error messages for code execution in figures.

v0.6.0-b3 (January 20, 2026)

Docker Images

ghcr.io/depictio/depictio:0.6.0-b3

✨ Features

  • Figure Component Improvements: Loading indicator for figure preview rendering, improved stepper UX. (#622)
  • Celery by Default: Celery is now enabled by default for design mode with Docker Compose profiles for flexible deployment.
  • AI Development Tools: Added Claude Code development toolkit and AI tools support in devcontainer.

🐛 Fixes

  • Eliminated multiple scrollbars in dashboard edit mode.
  • Fixed optional parameters persisting incorrectly in figure component.
  • Improved stepper header centering and spacing.

v0.6.0-b2 (January 8, 2026)

Docker Images

ghcr.io/depictio/depictio:0.6.0-b2

✨ Features

  • Dashboard Performance & UX: Major performance improvements with ALL pattern rendering for cards and interactive components. (#616)
  • Local Delta Table Caching: Added local filesystem caching for Delta tables to improve API performance.
  • Client-Side Performance Monitoring: Added performance monitoring utilities for frontend optimization.

🐛 Fixes

  • Suppressed third-party console warnings and fixed favicon issues.
  • Fixed frontend container startup issues in CI.
  • Improved quality job caching to skip when no code changes.

v0.6.0-b1 (January 7, 2026)

Docker Images

ghcr.io/depictio/depictio:0.6.0-b1

✨ Major Features

  • Multi-App Architecture: Refactored frontend into three independent Dash applications for improved performance and callback isolation. (#615, #616)
    • Management App (/): Auth, dashboards, projects, admin
    • Viewer App (/dashboard/): Read-only dashboard viewing
    • Editor App (/dashboard-edit/): Dashboard editing and component builder
  • Two-Panel Layout: Dashboard components are now organized into left (filters) and right (visualizations) panels.
  • Dashboard Tabs: Support for tabbed organization within dashboards with custom icons and colors.
  • Table Component Export: Export table data to CSV with support for filters and sorting. (#625)
  • Celery Background Processing: Redis/Celery integration for heavy computations in design mode.

🚀 Improvements

  • Dual-panel grid system with save/restore functionality.
  • Enhanced interactive component design and edit mode callbacks.
  • Improved card component metadata handling.
  • Centralized version management in VERSION file.

v0.5.3

Docker Images

ghcr.io/depictio/depictio:0.5.3
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

🐛 Fixes

  • Preserve original IDs during project creation to ensure consistency across K8s instances d4a57a5d

v0.5.2

Docker Images

ghcr.io/depictio/depictio:0.5.2
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Features

  • S3 & Project Management: Added S3 delta table checks, improved project ID handling, and auto-promotion for data collection IDs with join configurations. (bc31ff79, 103baee8, 7dfdcc24)
  • Dashboard Enhancements: Improved filtering logic, enhanced permission checks, component resizing, and metadata synchronization. (3e259297, c913dd2b, aa03799f, d03deeb8)
  • Icon & Styling Updates: Updated dashboard icons with ActionIcon, DashIconify refactor, and improved figure/component styling. (ce4acaca, 1e9e9d8a, 76c55c18)
  • MultiQC Enhancements: Added styling and metadata handling for MultiQC data collections. (b2d995fd)
  • Workflow & Helm Support: URL pattern helpers for API/MinIO and improved backend/frontend deployments. (5a7850f1, d09e6096)

🐛 Fixes

  • UI & Layout: Prevented horizontal scrollbar, removed default background on draggable components, adjusted theme switch behavior. (310a8d9f, 6e06fd6c, 937e08b1)
  • Standardization & Cleanup: Fixed naming inconsistencies in Iris Dashboard demo and commented out redundant tests/code. (ca6ee804, d7d8a3d8, 8a83fe7b, acf26a86)

v0.5.1

Docker Images

ghcr.io/depictio/depictio:0.5.1
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

🐛 Fixes

  • UI & State: Updated handle colors, navbar/logo sizing, layout IDs, and removed unused states. (08938777, 435aa448, a164f8cb)
  • Caching: Fixed Redis cache stats logging. (ffcfd7a1)

🚀 Improvements

  • Theming & Layout: Enhanced clientside layout, padding, resize handle visibility, and logo updates. (b10bf77b, 58b0690b, 250437a2)
  • Redis Integration in K8S: Added support with configuration and connectivity tests. (f86b4f10)
  • Theme Cleanup: Removed dark theme–specific styles from auth modal and Google button. (6ddaf469)
  • Component Editing: Always create component buttons in edit mode and determine initial edit state. (669fdc92, 1e56ebe3)
  • Dashboard UI: Improved header, modal layout, subtitle/icon customization, and sidebar/navbar handling. (ba99f97b, 40d10c09, 0d4ad756)

v0.5.0

Docker Images

ghcr.io/depictio/depictio:0.5.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Features

  • MultiQC Integration: Added a dedicated component to visualize and explore MultiQC outputs directly in the dashboard. This includes report scanning and aggregation, component creation through the MultiQC API, figure patching to link with external metadata, and dataset filtering to display resulting samples. (2f1e9d31)
  • User Experience: Introduced a new header design with cleaner layout and added iconography for better navigation. (d6f0c1b2)
  • Table Enhancements: Added column selector and filtering options to DataTable for more flexible data exploration. (d53caae1)
  • Live Updates: Implemented dynamic refresh for dashboard elements to reflect state changes instantly. (46a4e0a3)

🛠 Fixes

  • Data Handling: Resolved issues with inconsistent plot rendering and duplicate state updates. (02c5e7e4)
  • Theme Sync: Fixed a race condition during theme switching that caused UI flickers. (30b9f24d)

🚀 Improvements

  • Performance: Optimized DataTable rendering and minimized unnecessary callback triggers. Introduced a new component update mechanism switching from full sequential rendering to initial rendering followed by parallel patching of components using Dash properties. (f8e2f5a1)
  • UI Responsiveness: Moved more callbacks clientside for smoother interactions and reduced latency. (a86bf22e)
  • Code Cleanup: Simplified logging and removed obsolete debug statements. (bc2a93d4)

v0.4.0

Docker Images

ghcr.io/depictio/depictio:0.4.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Features

  • Caching & Performance: Added flask-caching and orjson for faster data handling. (b3bdd21f)
  • UI Interactivity: Introduced Dock-style animations and live mode toggle. (0b6d073e, 14fe2314)
  • Data Debugging: Added scripts for DataTable and plot input inspection. (b62fe583)

🚀 Improvements

  • Editing Flow: Refined UI elements, edit mode logic, and live interactivity. (71c78e83, a01f3ac9)
  • Theme & Rendering: Optimized theme updates and fixed marginal plot loops. (b05a5c9d, 0149dcca)
  • Performance: Moved UI state to clientside, added caching, and improved async handling. (59c40d06, e80e57d2, 696748d1)

v0.3.2

Docker Images

ghcr.io/depictio/depictio:0.3.2
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Features

  • Analytics & Session Management: Enhanced analytics session management, including cleanup for anonymous sessions. Implemented both in-house analytics & Google Analytics integration to track unique connections and user activity. (956d35f3, 146e042a)
  • Admin Dashboard: Implemented a dedicated Admin Analytics Dashboard with related functionalities in admin section. Enhanced the analytics data service to include user ID validation and filtering for more precise data. (8837a4fd, 41061497)

🚀 Improvements

  • Configuration: Updated MinIO and backend configurations to optimize resource limits and enhance security context. (9e681bfc)

v0.3.1

Docker Images

ghcr.io/depictio/depictio:0.3.1
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

🐛 Bug Fixes

  • Helm Chart & Deployment: Adjusted resource limits and logging verbosity for backend services. Ensured proper permissions for frontend mounted directories and fixed authentication defaults in values.yaml. (1ddc1d5e, 47214581, e574a013)
  • Data Integrity: Ensured depictio_run_id is included in joins for proper run isolation and normalized column data types in precompute_columns_specs function. (e21ef1eb, f5ce756d)

🚀 Improvements

  • Code Cleanliness & Consistency: Standardized import statements across multiple files and removed unused imports. (0349df19, 53b6b467)
  • Testing: Implemented robust typing commands for improved input reliability in tests. (f85a98e4)

🧹 Chores

  • Logging: Enhanced logging in API calls and data collection processing functions. (0d662764)
  • UMAP: Disabled UMAP visualization temporarily. (593ad1dd)

v0.3.0

Docker Images

ghcr.io/depictio/depictio:0.3.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Major Features

  • Enhanced Data Management: Optimized DataFrame loading with lazy scanning and adaptive memory management. Implemented total storage size calculation and progress indicators for data collections. (a308c300, 8afcdf2e, bfcb6fd8)
  • Comprehensive Project & Data Collection Management: Introduced new modal-based UI to manage workflows and data collection per project. Added features for creating, updating, deleting, and viewing data collections and projects. (b9cb4727, 78b93457, fb06d84e)

🐛 Bug Fixes

  • Temp users data handling: Improved error handling for temporary user cleanup. (1253e8a6, 6fd41333)
  • Figures & Components Logic: Added validation to prevent df reassignment in user code. Fix “Edit mode” for figure components. Enhanced figure generation to allow editing existing figures even with auto-generation disabled. (318c7ae9, 48f91115)
  • UI & Layout: Corrected project update logic and improved modal ID handling. (f6b68c73, 93d72bba)

🚀 Improvements

  • CLI & Theming Enhancements: Added customizable ASCII logo display for the CLI. Implemented theme-aware color handling for card and interactive components. (63a0e62f, 7d5957f0, 1c201684)

v0.2.1

Docker Images

ghcr.io/depictio/depictio:0.2.1
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Features

  • Theming & Components: Plotly templates were updated to 'mantine_light' and 'mantine_dark'. AG Grid and text components now have theme-aware styling. (04e4069e, 97e6c0f5)
  • Interactivity & Access: Interactive components can now restore saved configurations and values. Added EMBL-specific security contexts for unauthenticated mode. (892de076, 08a6e311, db18d84f)

🐛 Bug Fixes

  • Security & Stability: Addressed security vulnerabilities by updating seccompProfile. Fixed an UnboundLocalError and ensured metadata store indices are consistent. (1b18d95a, e828952a, 5a550856)
  • Layout & Visuals: Resolved footer positioning issues and adjusted default component dimensions for better layout consistency. (f245982e, 2e16fdb9)
  • Visuals: Updated logo images in the README for improved visibility in both light and dark modes. (ca46ddc1)

🚀 Improvements

  • Code Refactoring: Simplified input handling in save and text component callbacks. (8937bea3)

🧹 Chores

  • Logging: Refactored logging in various modules to reduce verbosity. (322c80c1)
  • Version: Bumped the project version from 0.2.0 to 0.2.1. (8cd1e0e2)

v0.2.0

Docker Images

ghcr.io/depictio/depictio:0.2.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Major Features

  • UI Theming & UX: Fully functional dark/light theme (68af2cc0, b085b89b). Switched from dash-draggable to dash-dynamic-react-grid (aacea638). Revised UX with improved component buttons layout. Implemented progressive loading over dashboard restore + logo animation (e40ba587, d8d696d2).
  • Figure component: UI mode completely revised > switching from documentation parsing to function signature inspection and organisation into pydantic models. New code mode allowing user to write/port existing code with RestrictedPython providing code filtering and restricted execution environment to limit dangerous operations. (691a2678, b5c229b2)
  • Table component: Infinite scrolling and pagination for the table component (99f8e5a2, 5466aa76).
  • Text component: Inline editable text components (using markdown headers style) with adjustable positioning (justify). (2b2d267a, 114f713e, 59c8fc80)
  • Card component: improved styling & provide trend information to show difference compare to non filtered data (increase/decrease) (9f2ab88c, 6d51e3af)
  • Interactive component: switched every component to DMC. Implemented scale (log/linear) + number of marks for slider & rangeslider components. (c73f4204, 9f2ab88c, 7f99958f)
  • Notes & documentation footer: notes taking using dmc.RichTextEditor (markdown style, links, bullet points, code blocks …) with fullscreen mode and responsive layout. (d226f52b, 3af94fd3, b06eb2ee, f245982e)
  • Buttons: Reset button functionality and visibility logic for interactive components (583aa04f, 166a2af1, 52684721, 8e5ef9cc).

🐛 Bug Fixes

  • Component & UI Fixes:
  • Resolved circular reference issues in the dashboard context and fixed AG Grid popup visibility (2b9e64c9, f5bf946d).
  • Addressed layout issues for Accordion components on the projects page and improved styles for draggable components in dark mode (d8907eae, 6c9febbf).
  • Authentication & CI: Fixed Google OAuth configuration and routes, and addressed CI issues related to authentication (19396605, 78dbc295).
  • Cypress Tests: Updated header element selectors and improved modal visibility checks in Cypress tests (b17fb7bb).

🚀 Improvements

  • Dash Component Refactoring: Refactored Dash components to use updated props and styling conventions, ensuring compatibility with Dash v3 and Dash Mantine 2.0+ (8ed8f068, a7a0e3bb).
  • Code & Styling Refactoring: Improved overall code structure for enhanced readability and maintainability, and refactored auth modal styles for better appearance (3ff3e54d, 7ed7c995).

Chores 🧹

  • Dependencies: Added SVG format for logos (9a9ceb9f).
  • Pre-commit: Improved pre-commit hooks for code quality enforcement (75cb3058).

v0.1.1

Docker Images

ghcr.io/depictio/depictio:0.1.1
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Major Features

  • UI Theming: Implemented functional dark/light modes with auto-theming, including progress on Plotly figures, dashboard button visibility, and projects section theming (a851f175, d6d83410).

🐛 Bug Fixes

  • Cypress Tests: Updated header element selectors and improved modal visibility checks in Cypress tests (b17fb7bb).
  • Authentication: Removed unused expiry_minutes parameters from user upgrade API calls and fixed CI issues related to authentication (b9c5241f, 78dbc295).
  • CLI Configuration: Resolved inconsistencies in CLI configuration field names and updated mock configurations for tests (ce91c581, 846fd4c1).

🚀 Improvements

  • Dash Components: Refactored Dash components to use updated props and styling conventions, ensuring compatibility with Dash v3 and Dash Mantine 2.0+ (8ed8f068, a7a0e3bb).
  • Code Structure: Improved overall code structure for enhanced readability and maintainability across various modules (3ff3e54d, 89e62ec9).

🧹Chores

  • Pre-commit: Initialized pre-commit hooks for code quality enforcement (75cb3058).

v0.1.0

Docker Images

ghcr.io/depictio/depictio:0.1.0
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

✨ Major Features

  • Backup & Restore: Implemented a comprehensive S3 backup and restore strategy manager, including CLI commands and endpoints for seamless integration (92ce14ff, c126e407).

  • Unauthenticated Mode & Temporary Users: Added full support for an unauthenticated mode with automatic anonymous login and temporary user creation for defined time, including session management, upgrade options, and automated creation and cleanup features (38ff59d7, 6caf2863, 7622d11f, a5d70429).

  • Google OAuth: Implemented Google OAuth authentication endpoints and updated related configurations (a07364cb, 19396605).

🐛 Bug Fixes

  • Screenshot Generation: Resolved screenshot endpoint authentication and CI timeout issues, and simplified screenshot generation tests (faecb4ec, 98598ee5).

🚀 Improvements

  • Performance & Caching: Implemented caching for iterative joins, component data, workflows, and data collection specs to significantly enhance performance (78a7704a, cc7d7dbe).
  • E2E Tests: Enhanced Cypress tests with improved Chrome configuration and reliability, including better login handling and dashboard navigation (dba2e3e3, ca9fac6c).
  • Code Structure: Refactored the code structure across multiple modules for improved readability and maintainability (3f1f1b9b, dfeaf1f6).
  • Type checking: Implemented type checking with ty for better code quality and consistency.
  • Logging: Reduced logging verbosity across various modules for improved log management and clarity (edd44b51, 4e408f36).

🧹Chores

  • Changelog & CI: Updated changelog generation, fixed release DNS issues in Helm CI, and added a CODEOWNERS file (dd019370).

v0.0.6

ghcr.io/depictio/depictio:0.0.6
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

This release focuses on significant enhancements across Authentication, User Management, and Security, making the application more robust and secure. Key improvements include refresh token, fix issues related to outdated tokens and provide a consolidated CI workflows for the CLI.

✨ Features & Improvements

  • Authentication: Implemented refresh token support across token management, enhancing security and user session persistence (6a198be9, ae25380f).
  • User Management: Updated the user creation process to allow optional user IDs and group parameters, and improved user existence checks (66d6aec9).
  • Security: Added a Flask security assessment scanner for comprehensive application security checks (caa5476c).

⌨️ CLI Highlights

  • CI/CD: Consolidated CI workflows by adding test, lint, build, and publish steps for depictio-cli (83abfc65).
  • Project Structure: Updated CI workflows and initial CLI structure, removing setup.py and adjusting pyproject.toml for dependencies (2915d3d2).
  • Packaging: Fixed package directory mapping and license format in pyproject.toml (9147327f, af37c922).

💻 Gitpod & Dev Environment Highlights

  • Setup: Added and enhanced Gitpod workspace setup, including zsh, starship configuration, and Docker permissions (e47b0c27, a1e50c03).
  • Configuration: Made backend and MinIO ports visible in Gitpod configuration for easier access during development (d091cfc6).
  • Environment: Updated environment configuration for Gitpod setup and adjusted logging verbosity for a cleaner development experience (6b74b5f2).

🧪 Testing & CI Highlights

  • Connectivity: Enhanced inter-service connectivity tests with readiness checks and improved error handling (ea147c59).
  • Release Process: Enhanced release name generation in CI to ensure DNS compliance (86d5feaf).
  • Issue Templates: Improved issue templates for bug reports and feature requests to streamline contributions (a0fa5096).

🐳 Docker & Helm Highlights

  • Gunicorn: Fixed a single-worker issue with Gunicorn and optimized timeouts (16d3a92d).
  • Helm: Updated public URLs in ConfigMaps and improved MongoDB connection logic and MinIO configuration in Helm charts (b93ee6cf, dce087f8).
  • Helm: Fixed an issue with backend service name in the ConfigMap to enable screenshot generation (965ca53b).

v0.0.5

Docker Images

ghcr.io/depictio/depictio:0.0.5
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

This version brings substantial updates to S3 & Services configuration, streamlining data handling and external service integration. Notable progress has also been made in CLI execution logic and Docker build workflows, alongside critical Helm chart improvements.

⚙️ Setup & Configuration Highlights

  • S3 & Services: Enhanced S3 configuration handling, logging, and URL management for better integration between internal and external services (54fec27c, 49ded59c, 5eb17f50).
  • Data: Added the Palmer Penguins dataset to test and validate the sequencing-runs ingestion pipeline (0b7b1845).
  • Environment: Added a step to generate the .env file from an example in deployment workflows to ensure consistency (f5ad8f11).

⌨️ CLI Highlights

  • CI/CD: Added a dedicated GitHub Actions workflow for testing, linting, and building the depictio-cli package (46503f33).
  • Execution: Refactored the scan/processing logic to improve logging and implemented a run function for a full, end-to-end execution of all steps (c3335e41).
  • Commands: Added run and standalone commands, improved logging, and updated command documentation (0bad4848, b3d6a8a9).

🐳 Docker Highlights

  • CI/CD: Enhanced the Docker build workflow with improved security, better output management, and service health checks (e684982b, bb65a818).
  • Configuration: Corrected the path for admin_config.yaml in the Docker copy command (77d3c4ee).

🧪 Testing & CI Highlights

  • CI/CD Workflow Refactoring: Refactored the main deployment workflow by splitting it into smaller, more manageable CI jobs with enhanced logging (1d605c88, e8f1bbf2).
  • Integration Tests: Enhanced the Iris dataset integration test with verification checks for project, deltatable, and dashboard creation (9a8a6b00).
  • Test Environment: Added and refined test fixtures to properly set the DEPICTIO_CONTEXT environment variable for tests (cb64d183, 596395e6).

⎈ Helm Highlights

  • CI/CD: Added a dedicated GitHub Actions workflow for testing, building, and pushing the Helm chart (4c965fa6).
  • Configuration: Improved service port variables, initContainers, MongoDB connection logic, and MinIO configuration (959ee2e9, dce087f8).
  • Storage: Added persistent volume claims for keys and adjusted default storage sizes for various components (fc0926ac, cd1de3f8).
  • Ingress: Enhanced the ingress configuration with default annotations, timeout settings, and correct service hostnames (4d75fb17, 770d8e5d).

v0.0.4

Generating changelog from dev to v0.0.4

Docker Images

ghcr.io/depictio/depictio:0.0.4
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge

This release introduces a first version of project-level permissions and user management features, enhancing access control for collaboration. Major UI/UX improvements and a fundamental backend refactoring to a project-centric architecture also define this version.

✨ Features & Improvements

  • Permissions & User Management: Introduced initial project-level permissions management, user and group management features, including endpoints and UI modals for creation, deletion, and management (d17f3690, 10af7623).
  • Authentication & API: Added SAML integration, API calls for token management, password editing, user registration, and improved API key validation (47e9cd43, 7b9f5437).
  • Dashboarding: Enhanced dashboard public/private toggles, edit functionality, and project-specific handling, including screenshot capturing (532e9b7c, 9c192bd0).

🎨 UI & UX Highlights

  • Modals & Components: Introduced new UI components like password editing modals and stylish modals for dashboard/item creation and deletion confirmations (767908fc, 50e510b8).
  • Layout & Styling: Improved the layout and styling across the application, notably for project items and admin management sections, with added branding favicons (c66f4d87, 6f70d027).

⚙️ Setup & Configuration

  • Environment & Logging: Refined environment variable handling and implemented centralized logging initialization (a835bb16, 2f20b67c).
  • Database & Storage: Enhanced MongoDB connection handling and initial project/user creation during database initialization, alongside MinIO configuration (93e3d610, cd9fa0b9).

🐳 Docker & Dev Environment Highlights

  • Docker Workflows & Builds: Refactored Docker workflows, enhanced environment variables, and added support for AMD64/ARM64 builds (d052856e, e0139c67).
  • Devcontainer Configurations: Enhanced Gitpod and devcontainer configurations to streamline local development setup (2ae702cc).

🧪 Testing & CI Highlights

  • GitHub Actions Workflows: Added comprehensive GitHub Actions workflows for automated release creation, changelog generation, and Docker image builds (74536b3d, 76544d7c).
  • End-to-End & Unit Tests: Implemented extensive end-to-end tests for user authentication and dashboard management, and comprehensive unit tests for various modules (72550ffa, df44475b).

🧱 Beanie Implementation

  • User & Group Management: Implemented FastAPI user and group management with Beanie ODM, including helpers for user and group creation (6470af84).
  • Testing & Model Integration: Added Beanie setup for various tests and updated model references for consistent integration (ec008e0f).

♻️ Code Refactoring

  • Code Organization & Clarity: Performed refactoring of import statements, code organization, and whitespace across numerous files (f8b0f913, 239ad86e).
  • API & Data Models: Refactored API and data models to use depictio-models as a centralized library and updated dependencies to Pydantic v2 (2170ae17, e8397589).

🐛 Bug Fixes

  • CI/CD & Deployment: Corrected workflow triggers and addressed various Docker and Helm deployment issues, including volume paths and logging (14539146, a376bf98).
  • Data & Configuration Paths: Corrected various file paths, IDs, and configurations for consistency and relative access (a835bb16, 214659e3).
  • User & Authentication: Addressed issues with user fetching functions, replacing deprecated calls and ensuring proper asynchronous execution (f334386c, 725c3d98).

Documentation

Full documentation: https://depictio.github.io/depictio-docs/

v0.0.3

Bug Fixes

  • Component size were modified to reflect better size on the dashboard

Features

  • Edit component (goes to design part (step 3 of component creation))
  • Display/hide component options
  • Component options to dmc.ActionIcon (smaller icons without text)
  • Reset all filters button
  • Change offcanvas sidebar layout
  • Admin view (list dashboards)
  • Graph interaction (click, select data through "Box select")
  • Reset graph interaction (via dedicated button)
  • Public/private dashboard (public dashboards are visible but not editable by all users ; possibility to copy public dashboard to private personal dashboard)

v0.0.2

Bug Fixes

  • Switch from dashboard & component ID increment to UUID
  • Fix double click on add component button

Features

  • Autosave dashboard
  • Duplicate dashboard
  • Edit dashboard name
  • Admin view (list users)

v0.0.1

Features

  • Initial release of the project
  • Support for creating dashboards with multiple components (figure, metrics card, interactive & table)
  • Drag & layout components on the dashboard
  • Delete components