Skip to content

Release 0.13.10

Choose a tag to compare

@github-actions github-actions released this 29 May 06:32
· 165 commits to main since this release

Docker Images 🐳

ghcr.io/depictio/depictio:0.13.10
ghcr.io/depictio/depictio:latest
ghcr.io/depictio/depictio:stable
ghcr.io/depictio/depictio:edge
Click to expand the changelog for 0.13.10

Changes 📜

New Features ✨

  • feat: add DC linking UI and MultiQC DC creation via UI [9ea497a]
  • feat: add permission-based auth annotations and Serve-specific ingress values [778ca9d]
  • feat: add dedicated ingress for MinIO and backend API [45d6d52]

Bug Fixes 🐛

  • fix: handle aggregation_columns_specs as list of dicts in Cytoscape [02bf689]
  • fix: extract DC columns from enriched aggregation specs for Cytoscape [e75b7d0]
  • fix: resolve Cytoscape link edge referencing nonexistent column nodes [886984f]
  • fix: skip scan step for MultiQC DC creation and fix file naming [f5f5001]
  • fix: permission-guard logic + roll back workflow on upload failure [30cb692]
  • fix: remove unused inheritDefaultAnnotations — dead code after annotation refactor [9876e82]
  • fix: always render base nginx annotations on dedicated backend/minio ingresses [8121522]

Improvements 🚀

  • style: ruff format db_init_reference_datasets [3600420]
  • style: ruff format drift in 4 unrelated dash files [5909d6a]
  • refactor: remove hardcoded Serve annotations from dedicated ingress templates [53811b8]
  • refactor: simplify separate ingress config — drop redundant enabled flag [21163c9]

Chores 🧹

  • ci: add repackage-helm-chart workflow to overwrite OCI tag contents (#772) [28064f6]
  • chore: ruff format drift + remove unused var [7cb918a]
  • chore: ignore node_modules, .vscode/, generated cli configs [40ce011]
  • chore: gitignore root pnpm node_modules and depictio-react-core node_modules [15bfcce]
  • chore: refresh uv.lock, CLAUDE.md stale section, regenerated screenshots [edaa0c4]
  • chore: untrack depictio/dashboards_yaml/ (instance/runtime-only) [3bedc30]
  • chore: untrack AI session handoff scratch in depictio/viewer/ [d7e0161]
  • chore: untrack auto-generated CLAUDE.md context + superseded .claude-code/ skills [69b5e67]
  • ci: add manual workflow to add additional OCI tag to Helm chart [05989ad]
  • ci: fix pixi resolution + ruff format [ca1a896]
  • ci: skip ghcr-dependent jobs on fork PRs [05c5bbf]

Documentation Updates 📚

  • docs: design proposal for advanced visualisation component family [55eca3d]
  • docs: sync claude-mem auto-generated activity logs [56068a6]

Other Changes 📝

  • Bump version: 0.13.9 → 0.13.10 [0744cc7]
  • fix(builder): viz suggestion precision, text-step skip, screenshot regen on Save (#775) [592f918]
  • Update CHANGELOG.md for v0.13.9 [315b707]
  • Bump version: 0.13.8 → 0.13.9 [9e7e469]
  • fix(auth): let admins bypass public/demo-mode write-action gates (#774) [c11a794]
  • Update CHANGELOG.md for v0.13.8 [0241543]
  • Bump version: 0.13.7 → 0.13.8 [b24c7bd]
  • Fix React project import 404 and per-project creation timestamps (#773) [5bbe89a]
  • fix(screenshots): honour dashboard-level owners after duplication (#771) [6fd87c6]
  • Update CHANGELOG.md for v0.13.7 [7bd5527]
  • Bump version: 0.13.6 → 0.13.7 [4996254]
  • fix(deltatables): use positional indexing in precompute_columns_specs (#769) [c5f7af6]
  • Update CHANGELOG.md for v0.13.6 [172f24f]
  • Bump version: 0.13.5 → 0.13.6 [4b49216]
  • fix(seeds): force format=tsv on recipe DC conversion (#768) [fccb100]
  • Update CHANGELOG.md for v0.13.5 [1e2e29b]
  • Bump version: 0.13.4 → 0.13.5 [aee046e]
  • feat(viralrecon): bundle 15 canonical seed TSVs + missing recipes + CI check (#767) [9400824]
  • Update CHANGELOG.md for v0.13.4 [f8b852a]
  • Bump version: 0.13.3 → 0.13.4 [c00a1d2]
  • feat(viralrecon): bundle minimal scan-target test data into image (#766) [e293e51]
  • Update CHANGELOG.md for v0.13.3 [4cb1b2a]
  • Bump version: 0.13.2 → 0.13.3 [eba8199]
  • test(seeds): assert all reference-dashboard dc_ids match STATIC_IDS [98f63f4]
  • fix(seeds): viralrecon dashboards use static DC IDs + invariant test (#765) [5110ca3]
  • Update CHANGELOG.md for v0.13.2 [5facb5c]
  • Bump version: 0.13.1 → 0.13.2 [691c108]
  • fix(viewer): enable dashboard pinning in public/demo mode [a12461f]
  • fix(ampliseq): add metadata→multiqc_data DCLink to 2.16.0 template [7429ddb]
  • fix(cli): process materialised recipe DCs as file scans [61d23f1]
  • fix(seeds): preserve resolved DATA_ROOT for viralrecon [089606d]
  • fix(helm): set imagePullPolicy=Always on busybox/curl init containers [731cb33]
  • Update CHANGELOG.md for v0.13.1 [f01a6d2]
  • Bump version: 0.13.0 → 0.13.1 [73d83f0]
  • feat(card-builder): live preview for top_n / coverage / concentration [78a31a8]
  • fix(card-builder): Mantine 7 group format for Multi-metric select [58370a6]
  • fix(seeds): preserve source=transformed on recipe DCs after materialisation [b6220e2]
  • fix(card): persist multi-metric config + guard against missing outliers [90324f4]
  • fix(dashboards): duplicate child tabs alongside the main tab [7b9d19d]
  • fix(screenshot): honour configured capture timeout on element / page screenshot [317cd2d]
  • feat(viewer): surface template-origin chip on /dashboards-beta + settings drawer [cc3e255]
  • feat(auth): hand off session across Dash → React beta origin boundary [f7e6880]
  • chore(screenshots): refresh ampliseq tab thumbnails [dcbf7b5]
  • fix(ampliseq): wire alpha-diversity habitat filter to rarefaction viz [8b7db98]
  • feat(admin-beta): include all seed projects in maintenance cleanup [e95a996]
  • feat(admin-beta): list all seed dashboards under each project [dd2bc1f]
  • fix(viewer): date picker range selection + interactive reset state [ae546e2]
  • fix(multiqc): wire cross-DC filter resolution from metadata DC [b9f7d7f]
  • feat(advanced-viz): producer fingerprints for nf-core column shapes [b9abfb4]
  • chore(screenshots): refresh seed dashboard thumbnails + add viralrecon [10eed95]
  • refactor(admin-beta): replace project badge cluster with bullet list [7c91aba]
  • feat(viewer): make dashboard cards and sidebar tabs proper anchor links [a1471d2]
  • feat(viewer): regroup /dashboards-beta into nf-core + demo sections [7727c4a]
  • feat(viralrecon): register nf-core/viralrecon 3.0.0 as seeded reference dataset [b561ff8]
  • refactor(advanced-viz): drop overview tab, rename to Advanced Visualisations [a6df9bf]
  • feat(api): add DEPICTIO_DISABLE_EXAMPLE_DASHBOARDS env var to gate seeding [a6ec6ae]
  • feat(walkthrough): add DEPICTIO_WALKTHROUGH_DISABLED kill switch [a118c5b]
  • fix(walkthrough): gate on /auth, DEPICTIO_DEV_MODE, and screenshots [9524c6f]
  • Update CHANGELOG.md for v0.13.0 [d6f3d15]
  • Bump version: 0.12.2 → 0.13.0 [68e3029]
  • ci(ampliseq): download phylogenetic tree + taxonomy + ASV table [f6dcdc0]
  • fix(ci): align iris dashboard title with seed after polish commit [ff571c4]
  • test(deltatables): mock collect_schema for filter-applied path [4d87e31]
  • merge: resolve conflicts with main [d29572d]
  • refactor(viewer,api): apply reviewer + simplifier feedback from PR review [bcd57b8]
  • fix(ampliseq): propagate cross-DC filters to figures/tables/advanced viz [72f54e9]
  • feat(viewer): move Reset to filters panel header [60f6cd1]
  • chore(showcase): iris/penguins dashboard polish [d5a3b7b]
  • chore(showcase): explicit layouts on iris/penguins YAML + regen script [e47396d]
  • chore(screenshots): regenerate dashboard screenshots + auto-gen CLAUDE.md update [e81d5b8]
  • feat(dev): nfcore-megatests showcase init project (advanced-viz testbed) [e41ed68]
  • chore(dev): /import-template + /reseed slash commands, reseed script, fixtures docs [13e7bb2]
  • chore(deps): bump viewer deps (mantine tiptap 7.17 + tiptap 2.27) [dfb61a7]
  • feat(builder): viz suggestions in project detail + card builder + DC pre-filter [2d82dfc]
  • feat(viralrecon): variant/coverage canonical recipes + dashboard restructure [cc82341]
  • feat(ampliseq): funnel restructure (alpha-diversity/ordination/phylogeny tabs) + canonical recipes [7b7db7c]
  • feat(coverage-track): genome annotation overlay (GFF) for SARS-CoV-2/HIV/HBV/RSV [6e45f03]
  • feat(advanced-viz): palette overrides, Manhattan controls, col-annotation strips [69de760]
  • feat(api): expose table DC append / replace / clear endpoints [4c40708]
  • feat(advanced-viz): producer registry + viz-kind suggestion engine [e769d32]
  • feat(components): text tiles + multi-metric card layouts (box_plot/top_n/coverage/concentration) [f80adcc]
  • fix(advanced-viz): merge filter columns into projection before runtime filters [5032947]
  • fix(io): R-emitted NA handling + MinIO single-part PUT + deltalake>=0.24 fallback [4fb0135]
  • Update CHANGELOG.md for v0.12.2 [86921c8]
  • Bump version: 0.12.1 → 0.12.2 [8fc8505]
  • feat(viewer): gate figure Code Mode behind ownership + deployment mode [1f15d7c]
  • fix(viewer): cast Plotly selection-clear payloads for strict types [1c44f78]
  • fix(viewer): add @types/plotly.js so CI tsc finds plotly types [ae674ec]
  • fix(viewer): declare 'plotly.js' module so tsc accepts the import [e2bd805]
  • chore(screenshots): refresh dashboard light thumbnail [4165510]
  • fix(figure): drop heatmap+scatter_matrix, filter unsupported px kwargs [464235e]
  • fix(figure): advanced viz types no longer silently downgrade to scatter [8975a69]
  • fix(viewer): cross-filtering only for scatter / scatter_3d visus [3392239]
  • docs(viewer): drop the threat-model section from About Code Mode [52fea13]
  • fix(viewer): single-line layout for pre-loaded modules [b1b3432]
  • feat(viewer): code-mode help — module table, threat-model, columns-as-table [4130737]
  • feat(viewer): code-mode polish — under-preview cross-filter, resizable editor, collapsible help [bb62bdf]
  • feat(viewer): mark joined DCs in component-builder dropdown + info card [f6600f3]
  • feat(viewer): order interactive options by availability, then natural sort [b646e27]
  • fix(viewer): match read-pair suffixes when intersecting multiqc samples [3734d41]
  • fix(viewer): always include filter source DC in available-values intersection [a6e8c4f]
  • fix(api): multiqc sample-mappings falls back to canonical_samples [b115300]
  • fix(viewer): derive project_id from stored_metadata, ignore empty available sets [7ae6a3d]
  • feat(viewer): availableValues now intersects multiqc samples with table DCs [59dae5a]
  • fix(viewer): reset actually clears Plotly lasso/box (use imported Plotly, gate on transition) [af649d0]
  • fix(viewer): alias bare plotly.js to dist/plotly in vite config [76b120f]
  • fix(viewer): use window.Plotly handle instead of importing plotly.js [5cb5baf]
  • fix(viewer,cli): persistent reset icon, clear Plotly selection, join fan-out check [c8f3458]
  • fix(viewer): reset-button styling, builder section parity, auth/data fixes [dedcd53]
  • feat(viewer): filter source badge, cross-filter toggle parity, available-values greying [bb30c39]
  • perf(screenshots): switch auto-screenshot to React SPA, ~2× faster than Dash [2e99e9d]
  • feat(api,dev): React-beta screenshot endpoint + advanced-viz docs capture pipeline [1d09d0c]
  • feat(advanced-viz): merge ancombc_differentials into da_barplot [e24fb12]
  • fix(ci): register plotly-upset pixi source + reformat fixtures script [d524221]
  • feat(advanced-viz): MA/Lollipop/Dot/QQ/Sunburst/Oncoplot renderers + Show-data filter fixes [2b6968f]
  • feat(showcase): UpSet plot dashboard tab [e10c0fd]
  • feat(advanced-viz): React UpsetRenderer + dispatch wiring [dc3eb62]
  • feat(advanced-viz): dispatch/poll endpoints for UpSet + register dashboard [2007ed7]
  • feat(advanced-viz): Celery compute_upset task [b7572ca]
  • feat(advanced-viz): backend model for UpSet plot [bd1de48]
  • chore(deps): vendor plotly-upset package + register editable source [0285f57]
  • feat(showcase): ComplexHeatmap dashboard tab on the feature matrix [50f89f1]
  • feat(advanced-viz): React ComplexHeatmapRenderer + dispatch wiring [980e2f5]
  • feat(advanced-viz): Celery compute_complex_heatmap task [107727f]
  • feat(advanced-viz): backend model + dispatch/poll endpoints for ComplexHeatmap [e3d72bf]
  • feat(showcase): GSEA dot-plot fixture + dashboard tab [f572ced]
  • feat(advanced-viz): React EnrichmentRenderer (dot plot) [0a40013]
  • feat(advanced-viz): backend model for GSEA / GO / pathway enrichment [aa74cd9]
  • feat(showcase): rarefaction + ancombc + DA barplot fixtures and dashboard tabs [d5073d7]
  • feat(advanced-viz): React renderers for rarefaction + ancombc + DA barplot [baddfb2]
  • feat(advanced-viz): backend models for rarefaction + ancombc_differentials + da_barplot [ea28733]
  • feat(advanced-viz): expose cluster + color cols on feature DC so live UMAP gets Colour-by [d663e33]
  • fix(advanced-viz): Show-data popover uses AG Grid Community [c0e7fc2]
  • fix(chrome): wrap each extraActions child individually so vertical orientation works [3fe09b6]
  • fix(advanced-viz): chrome-integrated Settings + Show-data ActionIcons [47ed061]
  • fix(advanced-viz): visible frame, fullscreen, controls + show-data popovers [5b61b33]
  • feat(advanced-viz): live Celery clustering (PCA/UMAP/t-SNE/PCoA) with cache [333f18e]
  • fix(advanced-viz): titles + border, drop show-data drawer, scanpy styling, tree filter+branch-len [04d59e6]
  • feat(advanced-viz): phylogenetic tree viz (Microreact-style) [82ae444]
  • fix(clustering): stronger signal + paper-grade scatter styling [905fc96]
  • fix(advanced-viz): show-data overlap + AG Grid drawer; wire density toggle [e2ab8e8]
  • fix(showcase): main-tab _id must equal project_id so child tabs surface [4267f4a]
  • feat(advanced-viz): fix Manhattan + StackedTaxonomy + add 4 clustering tabs + collapsible data table [87e6089]
  • fix(advanced-viz): pass init_data to load_deltatable_lite to avoid 401 [e4fa510]
  • fix(advanced-viz): re-export fetchAdvancedVizKinds/Data + fetchPolarsSchema from depictio-react-core [9b75d7a]
  • feat(showcase): dedicated advanced-viz demo project with 5 dashboards [72756ec]
  • feat(ampliseq): seed advanced-viz showcase dashboard + dc_ref-based recipes [0503fec]
  • feat(advanced-viz): MVP component family — volcano, embedding, manhattan, stacked taxonomy [5f6f11b]
  • docs(advanced-viz): add per-viz input schemas, compute class, Celery offload [5ffe703]
  • Update CHANGELOG.md for v0.12.1 [a5b418b]
  • Bump version: 0.12.0 → 0.12.1 [14b4bc8]
  • fix(screenshots): restore correct dark variant for 646b0f3c1e4a2d7f8e5b8ca2 [4a2e0c9]
  • chore(screenshots): refresh dashboard thumbnails [1f200cc]
  • feat(docs): playwright-driven docs screenshot capture for React viewer [8930f8a]
  • feat(viewer): NotesFooter read-only for non-owners [039baa9]
  • fix(viewer): move notes footer toggle from bottom-left to bottom-right [8b9d58b]
  • fix(viewer): import @mantine/tiptap/styles.css so RichTextEditor renders [cf9d46c]
  • feat(viewer): hide Data Source step for text + fullscreen notes drawer [f96cd2d]
  • fix(viewer): add tiptap deps to workspace pnpm-lock.yaml [a61e875]
  • feat(viewer): add text component and notes footer drawer [103752b]
  • viewer: gate edit affordances on dashboard ownership [c9cc578]
  • viewer(walkthrough): guide visitor through actual duplicate flow [914cb5a]
  • viewer(walkthrough): mention duplicate-to-temp-session upfront in welcome [a1a0ef9]
  • viewer(walkthrough): add duplicate-to-temp-session step in public tour [761f68b]
  • viewer(walkthrough): public tour rewrite for shared-instance framing [84e4d6c]
  • viewer(walkthrough): tighten copy on resize + dashboard-save steps [2a9681a]
  • viewer(walkthrough): render bold in step body strings [1af2751]
  • viewer(walkthrough): expand component-build phase with configure + resize steps [e7728f2]
  • viewer(walkthrough): unblock target-pending state + clickable component-type [426e10c]
  • viewer(walkthrough): fix component-builder route + watch DOM with MutationObserver [c277a3c]
  • viewer(walkthrough): builder copy revisions + open-editor step [864a6f5]
  • viewer(walkthrough): projects-first flow, favicon hero, race-safe auto-advance [5ec7b33]
  • viewer(walkthrough): drop route guard from builder welcome step [36b784b]
  • viewer(walkthrough): mode-aware guided tour with spotlight backdrop [5a2b98d]
  • Update CHANGELOG.md for v0.12.0 [23bb3d7]
  • Bump version: 0.11.2 → 0.12.0 [70a09e1]
  • chore(claude): add slash commands for bump/commit/worktree workflows [7bc3d9f]
  • feat(viewer): inline coordinates detection in Create DC modal [a73373c]
  • feat(viewer): dashboards + projects revamp (toolbar, table, pins, filters) [fdcd3ee]
  • fix(viewer-dev): unbreak favicon under Vite's base prefix [62c077f]
  • fix(dev): unblock side-by-side worktree dev stacks [03129fe]
  • feat(viewer): map config rename + chrome polish + screenshot skip-on-unreachable [5137d1a]
  • chore(api): bump MultiQC preview offload timeout + collapse multi-line log [118d406]
  • feat(viewer): Coordinates tab in Create DC + inline DC previews + Map-aware builder [59ebecb]
  • feat(sdk): fetchMultiQCBuilderOptions helper + latColumn/lonColumn upload input [9fcf8a5]
  • feat(api): /create_from_upload accepts lat/lon hints with column validation [7f77fe3]
  • feat(models): DCTableCoordinatesConfig — Map-capable table DC variant [57b2ccb]
  • chore(dev): multi-run report generator — companion tables + bad-scenario fixtures [efe16dd]
  • refactor(viewer): canonical selected_* keys + SPA route polish [c26fc02]
  • feat(multiqc): disk-persistent prerender store + Celery worker rebuild [e496a6b]
  • feat(viewer): polish cross-DC Link create/edit modal [7b428ae]
  • feat(viewer,api): unified Manage Data Collection modal + Table append/replace/clear [71a2372]
  • feat(multiqc): uniformity validator + dry-run check endpoint + Check now button [5e9edf2]
  • chore(devcontainer): wire viewer-dev Vite port through allocator [092d662]
  • feat(viewer): Create DC modal polish + MultiQC uniformity checklist [f965039]
  • feat(multiqc): run uniformity checks on the create flow [c452168]
  • fix(api): cascade-delete cross-DC links when a DC is removed [6d6b1e6]
  • fix(viewer): let Vite rewrite favicon path via base [1ad68ee]
  • fix(screenshots): regenerate clean example dashboard previews [d897c7e]
  • fix(viewer): hide demo banner + tour in React routes [35df5cf]
  • feat(viewer): cross-DC link CRUD + MultiQC create/manage in React [d54916b]
  • feat(multiqc): HTTP endpoints for create + append + replace from React [1ab41b0]
  • fix(multiqc): cache key correctness + safer append + helper tests [295743e]
  • fix(multiqc): authorize destructive endpoints + tighten suffix regex [9bc52d6]
  • feat(multiqc): DC manage flow + folder uploads + live cache + prewarm [46233d6]
  • Add sample metadata TSV generation to multi-run report script [b68228c]
  • Add multi-run MultiQC parquet report generator [6a4a929]
  • ci(docker): pin pnpm@10 in viewer-builder + dev-viewer stages [57d098d]
  • helm: roll Pods on ConfigMap/Secret change via include-based checksum [fdab0bf]
  • Update CHANGELOG.md for v0.11.2 [541835e]
  • Bump version: 0.11.1 → 0.11.2 [5359b86]
  • viewer: declare react-resizable as direct dep [6e9a4d5]
  • viewer: fix Docker build for prod + dev compose HMR [0f9cb77]
  • Update CHANGELOG.md for v0.11.1 [363f05e]
  • Bump version: 0.11.0 → 0.11.1 [c7c2e32]
  • Move viralrecon recipes to canonical projects/ path [909a55a]
  • Update CHANGELOG.md for v0.11.0 [2539176]
  • Bump version: 0.10.3 → 0.11.0 [d4eb9e3]
  • viewer: gate write actions in public/demo mode (UI + API) [6f1645e]
  • viewer: unify per-mode button gating, drop anonymous public flow, fix resize handles [49f19fc]
  • ci(helm): bump minikube to 6G/4 CPU for inter-service test headroom [8c24c69]
  • viewer(events): make realtime opt-in, fix standalone-mongo retry loop [c1e23ff]
  • docker: split Node.js into dev-viewer stage to unblock CI [e12ecd9]
  • viewer: settings drawer rewrite, edit-mode borders, multi-tab nav [5e89067]
  • viewer: permissions modal + role exclusivity, fix dev compose mount [6d2471a]
  • viewer: selection UX, realtime refresh, dev container, admin dedup [1e4d222]
  • projects(adapt_feedb_ms): yaml + simulation scripts for realtime testing [20a0daa]
  • dash(assets): multiqc icon SVGs + depictio-logo / multiqc-icon CSS [718a343]
  • dash(modules): figure parameter discovery + multiqc general-stats [268141a]
  • dash: layout cleanups and utils.py slim-down [f2354f5]
  • deps: add websockets + enable realtime event flags [4f93017]
  • react(timeline): honor compact prop for marks visibility [d68be46]
  • api(core): viewer-static-mount, anon-user gate, and user-by-email lookup [cf508e9]
  • api(dashboards): bulk-compute, image, and figure endpoints for react viewer [1c7fe96]
  • api(filters): dtype-agnostic is_in + cross-DC link filter resolution [8256aba]
  • api(events): WebSocket + SSE endpoints for realtime dashboard refresh [35a6762]
  • models: shared types for image / timeline / row-selection / cross-DC links [9924ab4]
  • react(layout): compact mode for grouped slider/rangeslider/timeline [b643a50]
  • react(viewer): demo mode banner, upgrade flow, and guided tour [fec371b]
  • react(viewer): app shell wires realtime, selections, and filter sidebar [1b261a6]
  • react(multiqc): figure + general-stats refetch on realtime tick [6db4b14]
  • react(interactive): renderer updates + Timeline [dd18dec]
  • react(renderers): figure/table/image/map selection + realtime refetch [7c3491a]
  • react(layout): InteractiveGroupCard, TopPanel, secondary metrics [376c910]
  • react(realtime): WebSocket-driven dashboard refresh + new-item highlight [dcf4aac]
  • react(selection): add chart/table cross-filter helpers [8377eca]
  • react(api): add types and exports for selection, realtime, layout helpers [30ad983]
  • Update CHANGELOG.md for v0.10.3 [70b9688]
  • Bump version: 0.10.2 → 0.10.3 [e9a5602]
  • Update CHANGELOG.md for v0.10.2 [e00c8c6]
  • Bump version: 0.10.1 → 0.10.2 [d6992f1]
  • feat(deployment): add annotations for config checksum in backend and frontend [59768b2]
  • Update CHANGELOG.md for v0.10.1 [ca160d3]
  • Bump version: 0.10.0 → 0.10.1 [b72b35a]
  • fix(test): set glob_pattern=None when bypassing RecipeSource validation [398e7de]
  • Update CHANGELOG.md for v0.10.0 [f3a6b72]
  • Bump version: 0.9.0 → 0.10.0 [f8db3b7]
  • fix(profile): enable CLI Agents button in single-user mode [05ce615]
  • Reduce duplication in depictio-react-core api.ts [361eab4]
  • test: set glob_pattern on bypassed RecipeSource instances [28a376e]
  • feat(api+react): create data collection from upload [7d56c1f]
  • Use real workflow logos for template chip in projects list [6c5ccaa]
  • Add "Try the new version" switcher in Dash sidebar → React beta [a81da71]
  • Add React component builder (/dashboard-beta-edit/{id}) [5911c36]
  • Add /projects-beta React sub-app with detail + permissions [f00b0e1]
  • Add /about-beta, /admin-beta, /profile-beta, /cli-agents-beta sub-apps [06d1b39]
  • Add /auth and /dashboards-beta React sub-apps [419ddf5]
  • Add viewer chrome: AppSidebar, Header, ProfileBadge, TabModal [4530ce1]
  • Extend depictio-react-core for projects + figure builder [49fb381]
  • Add API endpoints for React viewer (figures, multiqc, projects, users) [60d9ebc]
  • Wire React SPA serving + multi-route mounts in FastAPI [d725ab8]
  • fix(editor): use inset shadow for duplicate flash so left panel renders identically [9660a50]
  • fix(editor): duplicate component visibility + ref staleness [46c0c34]
  • perf(multiqc): filter-aware caching + Celery prewarm + cloudpickle [db16e88]
  • Add React editor at /dashboard-beta-edit/{id} [acf7a58]
  • Add UI chrome to React viewer: header, sidebar, action icons [e129a16]
  • Wire interactive sample-filter into render_multiqc [7f5ee35]
  • Extend _fetch_s3_locations_from_dc with multiqc_collection fallback [c74d841]
  • Fix render_multiqc: use the richer fallback to resolve s3_locations [a9cea17]
  • Add Phase 2 handoff doc with smoke-test checklist [0e6dc14]
  • Add Map, JBrowse, and MultiQC ports to React viewer [31ce40a]
  • Add 5 component renderers + AG Grid SSRM to React viewer [6625294]
  • React viewer MVP + shared component library [cfc283c]
  • Perf fixes: SVG re-encode, MultiQC samples strip + N+1 cache, route guard [424af6f]
  • Bump Dash 3.2 → 4.1 for pattern-matching callback perf fix [6a81050]
  • revert: remove Serve-specific permission/auth logic from generic chart template [a87bfe1]
  • Fix cross-DC link filtering + heatmap annotations on filter [503a4d0]
  • Fix metadata links: source_column sample→ID (matches actual metadata column name) [0de966f]
  • Fix heatmap annotations disappearing on filter + add metadata→heatmap link [b19a625]
  • Consistent auto-coloring: use Plotly palette for heatmap annotations [5fb51f1]
  • Add samplesheet->taxonomy_heatmap link for cross-DC filtering (works for base+extended) [2e5f7e1]
  • Heatmap annotations: only habitat + city, skip name/dates/coordinates [78b0fc0]
  • Fix heatmap: sanitize annotations at render time to handle stale delta data with None [89a4351]
  • Fix heatmap: skip annotations with empty values (ComplexHeatmap KeyError) [25177e1]
  • Fix heatmap recipe: convert None values to empty string in annotations [78174f9]
  • Fix heatmap annotations: extract _col_annotations_json in core.py rendering path [feac518]
  • Disable component filter + add heatmap annotation debug logging [54ddbbd]
  • Fix heatmap column loading: return empty list (all columns) when no value_columns specified [b313fdc]
  • Fix heatmap: include _col_annotations_json in required columns for data loading [b24950d]
  • Fix map component filtering, reorder DatePicker first in sidebar [8f726f0]
  • Add sampling locations map + fix heatmap date serialization [4077866]
  • Fix heatmap recipe: convert date objects to strings for JSON serialization [4654b58]
  • Add GROUP_COL_DISPLAY for title-cased labels, fix sampling_date [fd787d2]
  • Fix Total Samples card: use ID column instead of sample for metadata DC [a17d357]
  • Add DatePicker to both tabs, fix sample column refs in full_analysis [023be96]
  • Fix full_analysis dashboard: use ID column for metadata sample filter [f18a60f]
  • Remove base project variant, add template_origin to ampliseq reference [95449b6]
  • Fix MultiQC metadata: remove prevent_initial_call so content loads on first click [5f4f60f]
  • Use inline key:value groups for tighter template info layout [5d288c8]
  • Reduce spacing between key/value in template info column [97080bf]
  • Redesign template origin section: two-column layout with icons [f153129]
  • Fix template_origin display: handle both dict and model types [10a9a4d]
  • Store template variables in TemplateOrigin + show in data manager [4dde187]
  • Add template origin section to Project Data Manager page [3034cf6]
  • Consistent badge size (sm) across all project badges [782cf04]
  • Make template badge clickable with docs link + open-in-new icon [eb38a3a]
  • Show template docs URL as separate clickable link in project details [6bec348]
  • Add template info to project details + fix ObjectId serialization [3cfbbf8]
  • Fix /projects 500 error and unify template badge styling [009900d]
  • Filter unresolved dashboard components + fix path resolution [f7c5a8d]
  • Fix file scanner path resolution and dashboard DC tag scoping [7635fdf]
  • Graceful handling of missing data collections [7b43445]
  • Remove alpha diversity/rarefaction from base dashboard [cf633c1]

Documentation 📖

For more details, please refer to the documentation