Skip to main content

Changelog

v0.0.29 (SDK) β€” 2026-08-27

  • pluto.query.upload_file β€” attach a file to an existing run over plain HTTP, with no lifecycle or metadata side effects (unlike init(resume=True)). Also the recovery path for files reported as unsent. See Uploading a file to an existing run.
  • File uploads are never silently dropped β€” transient upload failures now retry for the life of the run’s sync process with capped exponential backoff, instead of being abandoned after a fixed number of attempts. finish() now waits for file uploads and reports honestly if any remain unsent, with a recovery command. See Upload reliability and recovery.

v0.0.65 (Server) β€” 2026-08-13

Rendering for migrated Weights & Biases content.
  • Custom charts render β€” migrated wandb.plot.* panels are drawn as Vega instead of arriving as a bare table. See What a migrated run looks like.
  • Interactive viewers β€” Plotly and matplotlib figures, 3D point clouds and HTML render inline rather than as downloads. See Interactive viewers.
  • Image annotations β€” bounding boxes and segmentation masks draw over images, with per-layer toggles. See Annotations.
  • String metrics β€” non-numeric series are drawn as a staircase. See String metrics.
  • Sweeps tab β€” runs that belonged to a hyperparameter sweep are grouped into a browsable view, with parameter importance, best-so-far progress, parallel coordinates and a sortable run table. Runs imported by pluto migrate wandb land here automatically.
  • Clearer widget limits β€” a widget over the 200-run cap now says so instead of appearing empty, and reports when no selected run logged its metric. See Run limits.
  • Run duration measured to the finish β€” editing a finished run’s tags or config no longer inflates its duration.
  • Projects page β€” search by name, and sort by any column.
  • Self-hosted MCP deployments now set their public URL explicitly, so remote OAuth handshakes resolve correctly.

v0.0.28 (SDK) β€” 2026-08-13

  • pluto migrate wandb β€” import historical Weights & Biases runs with a resumable two-phase export and load that preserves original timestamps. See Exporting Weights & Biases Runs.
  • String metrics β€” log() accepts string values and records them as a categorical series. See String metrics.
  • Image annotations β€” pluto.Image(boxes=…, masks=…). See Annotations.
  • log(timestamp=…) β€” record a point at a historical wall-clock time, used by the importer.
  • disable_system_metrics β€” suppress the host’s own hardware metrics, for backfills and imports.
  • Clearer auth failures β€” a persistent 401 is reported as an expired or revoked key, with the key page to fix it, rather than as a server outage.

v0.0.64 (Server) β€” 2026-08-04

Histogram axis scaling, plus fixes to run duration and chart legends.
  • Per-step histogram axes β€” in Step mode each step is scaled to its own range, with a Lock axes across steps toggle to restore the shared axis. See Axis scaling.
  • Ignore outliers on the Charts tab β€” previously dashboard-only, and it now engages when a small number of steps run away. See Settings.
  • Historical finish times β€” POST /api/runs/status/update accepts an optional statusUpdated, so imported runs report their real duration.
  • Hidden runs stay hidden β€” runs hidden from the runs table are kept out of legends, PNG exports and fullscreen.
  • Grouping the runs table no longer overwrites each run’s own colour.
  • A resumed run is no longer marked stale while it is still reporting.

v0.0.63 (Server) β€” 2026-07-27

  • Move charts between sections in the Charts view β€” drag across sections or use the searchable Move to section… menu, add and rename your own sections, and keep the Save bar in view while scrolling. See The Charts View.

v0.0.62 (Server) β€” 2026-07-23

  • Rearrange the Charts view β€” reorder and hide sections in the default Charts view, saved on the project and shared with everyone in the org. See The Charts View.

v0.0.61 (Server) β€” 2026-07-16

  • Delete a whole project β€” owners and admins can delete a project from the projects list behind a type-to-confirm dialog, removing every run in it along with all metrics, logs, files, and dashboards. See Deleting a whole project.

v0.0.27 (SDK) β€” 2026-07-16

  • Step range in get_metrics β€” pluto.query.get_metrics(...) accepts step_min / step_max to fetch just a window of steps instead of the whole series. See Querying Runs.
  • TERMINATED on preemption β€” the SDK now installs a SIGTERM handler that marks the run TERMINATED the moment it’s signalled (spot reclaim, pod eviction), so preempted runs don’t linger as RUNNING. See Run States.

v0.0.56 (Server) β€” 2026-07-08

Multi-level run grouping and a reworked run-state UX.
  • Grouping v2 β€” group the runs table into a multi-level bucket tree by any field a run carries (status, group: tags, config, or system metadata), up to 5 nested levels. See Grouping Runs.
  • Run-state UX β€” a live indicator on running runs, a sortable Duration column, filter-by-state from the Status column header, and a checkbox column for selecting runs and bulk-deleting them. See Run Visibility and Deleting Runs.

v0.0.55 (Server) β€” 2026-06-26

  • Sync Sample Indices for multi-sample media β€” step through the same sample index across every image, video, and audio widget at once, or scope it to a single widget. See Sync Sample Indices.

v0.0.53 (Server) β€” 2026-06-24

The Distributions widget, media pinning for video and audio, and the full MCP tool catalog.
  • Distributions widget β€” histograms for numeric metrics and bar charts for {bars} rollups, with Step / Ridgeline / Heatmap views. See Histograms and Bar Charts.
  • Media pinning on video and audio β€” pin runs at a step (this panel, all panels, or best-step) on video and audio widgets, with step-sync across sections. See Video and Audio.
  • MCP tool catalog β€” the MCP server publishes its full 16-tool catalog at GET /tools. See MCP Integration.
  • Run status now renders as a colored badge in the project runs table.

v0.0.52 (Server) β€” 2026-06-16

  • Server-side media captions β€” a caption passed to pluto.Image / Video / Audio renders under the media card and in fullscreen.

v0.0.50 (Server) β€” 2026-06-12

  • Filter runs by config and system metadata β€” list_runs (SDK query language and the MCP config_filter) filters over arbitrary config.* and systemMetadata.* fields. See Filtering runs and Filtering by config.

v0.0.49 (Server) β€” 2026-06-12

  • Video loop + autoplay β€” videos autoplay on a loop by default, with a per-player loop toggle and an L shortcut.
  • Copy-on-click run-ID pill and other runs-table quick wins.

v0.0.47 (Server) β€” 2026-05-24

Konduktor job lookup in MCP, bulk run deletion, and API-key management.
  • Konduktor job lookup in the Pluto MCP β€” list_runs accepts konduktor_job_prefix to find the run(s) for a Konduktor job, and get_run surfaces a labeled Konduktor Job block. See MCP Integration.
  • Bulk delete runs β€” select runs and delete them behind a type-to-confirm dialog. See Deleting Runs.
  • API keys gained revocation (soft-delete), an Expired badge, and auto-hiding of stale keys.

v0.0.45 (Server) β€” 2026-05-18

  • Tooltip Min / Max columns β€” opt-in Min and Max columns in the pinned line-chart tooltip, plus a Raw Value column when smoothing is on. See Customizing Columns.
  • β€˜Other matches’ runs-table search β€” searching while a filter or constrained view is active surfaces hidden matches in a dropdown you can add from. See Finding runs outside the current view.

v0.0.44 (Server) β€” 2026-05-08

  • Group metrics within dynamic sections β€” combine sibling metrics that share a prefix into one multi-metric widget by suffix, with Simple or Regex prefix restriction. See Grouping Metrics Within Widgets.

v0.0.41 (Server) β€” 2026-04-24

Side-by-side comparison performance fixes, runs-table bugfixes, and backend memory hardening. Changes:
  • Fix side-by-side view lag: hidden dashboard tree was still mounted, so chart queries, dynamic-section regex queries, and timers kept running in the background
  • Fix Config section in side-by-side rendering every row up front (thousands of JSON.stringify and inline-diff passes per click) β€” now lazy
  • Fix runs table where deselecting a URL-linked run could leave selection in a broken state
  • Backend: trim runs.list responses to only return field values for visible columns (avoids ~17 MB responses on Hydra-style configs); kill duplicate runs.list queries from a localStorage/saved-view pageSize mismatch and from refetchType: "all" over stale cache entries; pause auto-refresh when the browser tab is hidden
  • Runs table pageSize is now stored per saved view (DB) instead of in browser localStorage β€” every saved view (Default and custom presets) carries its own config.pageSize, and pageSize changes in the dropdown only persist when you save the active view

v0.0.20 β€” 2026-04-23

wandb dual-logging, run-lifecycle improvements, and broader display-ID acceptance in the query API. SDK Changes:
  • wandb dual-logging via a .pth import hook β€” set PLUTO_API_KEY (and either PLUTO_PROJECT or your existing WANDB_PROJECT) and every wandb.log() also logs to Pluto, with no code changes. Set DISABLE_WANDB_LOGGING=true for Pluto-only mode. See Weights & Biases Migration.
  • New run.close() β€” local teardown without marking the run complete on the server. Unregisters the atexit hook so a side process that attaches to an active run can exit without ending it. See Run Lifecycle.
  • Display IDs accepted in every query helper β€” get_metrics, get_statistics, get_files, download_file, get_logs, and compare_runs now take a display ID like "MMP-42" in addition to numeric IDs. Previously only get_run() did.
  • Deep merge for config inheritance β€” pluto.init(fork_run_id=..., inherit_config=True, config=...) now deep-merges your override into the parent’s config (was shallow). run.update_config() is also deep-merge now.
  • Run forking via pluto.init(fork_run_id=..., fork_step=...) (preview) β€” info-log emitted at init time.
  • Internal: scope Sentry exception reporting to pluto-touching code only.

v0.0.40 (Server) β€” 2026-04-16

Ops-only release hardening backend memory under load. Changes:
  • Cap L1 cache memory to prevent backend pod OOM under bursty load
  • Add runs.list memory-pressure regression test that fails on dead bursts (not isolated 503s)
  • Add hybrid-auth test infra for L1 cache regression testing

v0.0.39 (Server) β€” 2026-04-15

Run status-transition timeline, per-widget best-step pinning, multi-sample media nav, and chart-perf improvements. Changes:
  • Add durable run-status transition timeline on the run summary page; new GET /api/runs/status/history endpoint and runs.statusHistory tRPC procedure
  • Apply terminal-status precedence (FAILED > CANCELLED > TERMINATED > COMPLETED) for api-source writes so DDP fan-out collapses to a single timeline entry and a late COMPLETED can’t clobber a FAILED
  • Per-widget best-step pinning so each image widget gets its own argmin/argmax step per run (no more β€œNo image at step N” placeholders when one widget happens to lack the metric’s argmax step)
  • Scoped unpin for cross-panel and best-step pins: dropdown with Unpin this image vs Unpin across all panels
  • Multi-sample media nav (β—€ i / N β–Ά) for wandb-style list-of-media logging across images, audio, and video β€” in both the Charts tab and the Dashboards tab. Previously the multi-group renderer dropped all but one sample per (run, step)
  • Inline ↔ fullscreen sample-index sync; pin remembers the active sample index across Charts ↔ Dashboards tab switches
  • Image fullscreen: zoom floor lowered to 10% (20% step), Ctrl + scroll for fine zoom; centered images instead of stuck at the top of the container; phantom-scrollbar fix
  • Chart performance: zoom + bounds CTE, metric-discovery cache, TTL memoization
  • Replace smartDateFormatter with formatAbsoluteTimeTooltip for tooltips
  • Patch 23 high-severity dependency security alerts; bump ClickHouse query log line length

v0.0.38 (Server) β€” 2026-04-10

Per-run image pinning and metric-driven best-step pinning land. Changes:
  • Per-run image pinning: pin individual runs at specific steps in multi-run image comparison. Pinned runs stay frozen while the global stepper drives others. Two scopes β€” pin in a single panel (β—‡) or across all panels (β—ˆ)
  • Best-step pinning: in the runs table, click a metric column header β†’ β€œPin steppers at min/max value” β†’ each run gets pinned at its own argmin/argmax step (β˜…). Backed by ClickHouse argMin / argMax aggregates
  • β€œWith image” variants of the best-step actions, restricting argmin/argmax to steps where an image actually exists for that run
  • Find best step submenu rename with a Target icon and clearer wording
  • Clear All Pins button in the Image Settings popover
  • UI polish: smaller run-name labels (truncate + title tooltip), max 2 images per row, default stepper to max step, distinct pin-type colors and symbols, fullscreen pinned indicator

v0.0.19 β€” 2026-04-09

Internal robustness fixes. SDK Changes:
  • Handle headless sessions during run init
  • Suppress Sentry breadcrumbs from internal Pluto trigger endpoint requests so user telemetry isn’t polluted

v0.0.37 (Server) β€” 2026-04-08

Chart bugfixes, performance improvements, and a new step deduplication feature for line charts. Changes:
  • Add query-time step deduplication toggle for line charts to eliminate duplicate values from distributed training
  • Add maintenance window banner with localStorage-based dismissal
  • Fix Y-axis not rescaling when hiding/unhiding runs via the eye icon
  • Fix X-axis not shrinking when hiding runs with wider data ranges
  • Fix cursor sync not working across charts until first click
  • Fix tooltip search breaking the table layout
  • Fix pinned tooltip not updating highlight when moving mouse vertically or across charts
  • Fix hidden runs with no data still appearing in the tooltip
  • Fix tooltip pinning failing in sparse chart regions
  • Performance: reduce tooltip DOM elements from N (one per chart) to a single shared instance
  • Performance: fix fullscreen open/close lag on dashboard widgets by replacing React state with DOM class toggle
  • Fix fullscreen legend sidebar not highlighting the hovered run
  • Fix dynamic section widget bugs (stale widgets on last-run deselect, widget count mismatch when hiding runs)
  • Fix dashboard search false positives on collapsed dynamic sections

v0.0.18 β€” 2026-04-06

Added Sentry telemetry for error tracking and pinned httpx to fix a compatibility issue. SDK Changes:
  • Add Sentry telemetry for error tracking (disabled in CI)
  • Pin httpx < 1.0 to fix TypeError on verify keyword argument

v0.0.36 (Server) β€” 2026-04-03

Run forking, saveable table views, MCP OAuth support, and dashboard bugfixes. Changes:
  • Add Neptune-style run forking with inherited metrics
  • Add saveable default run table views with view presets
  • Add OAuth 2.1 authorization server for MCP client authentication
  • Add downsampling algorithm parameter to lineage metrics query
  • Fix dashboard charts incorrectly showing in dynamic sections
  • Resolve various search issues and apply UI polish
  • Fix fullscreen image scrolling and add dynamic tab titles
  • Fall back to PUBLIC_URL for Pluto API URL in MCP server

v0.0.15 β€” 2026-03-27

Removed the SDK signal handler to fix cleanup issues in multi-process training setups. Server v0.0.33 brings major performance improvements across the board. SDK Changes:
  • Remove signal handler to prevent interference with user process signal handling in distributed training
Server Changes (v0.0.33):
  • Performance: Add multi-metric batch endpoint for faster chart data loading
  • Performance: Add columnar JSON serialization, Redis caching, and zoom query optimizations for reduced latency
  • Add incremental DOM updates for tooltips to eliminate re-render jank
  • Fix NaN marker colors to match their parent series colors
  • Fix step sync and fullscreen behavior for non-chart media widgets (images, audio, video)
  • Fix ClickHouse regex compilation errors from dashboard metric patterns

v0.0.14 β€” 2026-03-24

Added pluto sync CLI command to recover data from crashed runs, and fixed sys metrics stepping independently from training metrics. Server v0.0.31 is a major UI release with Y-axis drag zoom, NaN/Inf markers, chart resolution controls, and significant performance improvements. SDK Changes:
  • Add pluto sync CLI command to retry uploading queued logs from crashed or interrupted runs
  • Fix system metrics to use an independent stepper (no longer tied to training step cadence)
  • Upgrade git detection log messages from debug to warning level
Server Changes (v0.0.31):
  • Add Y-axis drag-to-zoom support for line charts
  • Add visual markers for non-finite values (NaN, Inf, -Inf) on chart series
  • Add chart resolution control to reduce implicit smoothing from downsampling
  • Add hovered series highlighting across tooltip and runs table row
  • Add step navigation to fullscreen image viewer with sticky steppers
  • Add page jumping support for runs table pagination
  • Add Python repr parsing and JSON pretty-print by default in side-by-side comparison
  • Add pagination support to the query_logs MCP tool
  • Add AbortSignal support for cancelling in-flight queries
  • Persist legend-toggled series visibility across chart zoom interactions
  • Make tags cell responsive with dynamic tag visibility based on column width
  • Fix notes popover vanishing before user can type
  • Fix zoom reset for hidden runs and ?runs= deep links for off-page runs
  • Fix display ID resolution in batch graph procedures during zoom refetch
  • Fix legend value cell layout to prevent flicker on hover
  • Fix focus and interaction issues in fullscreen chart dialogs
  • Performance: group-level chart virtualization and query deduplication
  • Performance: fast deep pagination via cursor lookup
  • Performance: prefetch chart data when run IDs are present in URL
  • Performance: suppress background chart painting during fullscreen mode

v0.0.30 (Server) β€” 2026-03-19

Run comparison and charting improvements with cross-panel step sync, fullscreen legend sidebar, and inline config diffs. Changes:
  • Add cross-panel step sync with stepper UI for navigating training steps across charts
  • Add fullscreen legend sidebar for chart comparisons
  • Add configurable max series limit for line charts
  • Add inline text diff and JSON pretty-print to side-by-side run comparison view
  • Make table pagination input editable for direct page navigation
  • Hide files and media for hidden runs
  • Make matplotlib an optional dependency in the MCP server
  • Fix hidden run state not persisting across component remounts
  • Fix config data missing from table views and side-by-side comparison

v0.0.13 β€” 2026-03-16

Added Claude AI skills integration for experiment tracking and fixed a bug with config updates. SDK Changes:
  • Add Claude AI skills for experiment tracking
  • Fix JSON serialization bug in update_config that yielded 400 error on ingest
Server Changes (v0.0.28):
  • Add chart visualization tools to MCP server for metrics and run comparisons
  • Add drag-and-drop section reordering in dashboard edit mode
  • Separate selected vs visible runs for independent chart visibility control
  • Use distinct colors for metrics in single-run multi-metric charts
  • Fix phantom runs appearing in pagination after deselecting all runs
  • Fix fullscreen chart dialog closing when interacting with tooltip
  • Fix metric column sorting breaking pagination
  • Fix race condition in run selection between URL params and cache
  • Fix relative time zoom sync and add step range translation
  • Fix relative time offset by parsing ClickHouse timestamps as UTC
  • Fix zoom group isolation and cross-axis sync issues
  • Add error logging for column key extraction failures

v0.0.12 β€” 2026-03-12

Fixed a bug where runs that ended with an unhandled exception were incorrectly marked as COMPLETED instead of FAILED. SDK Changes:
  • Fix runs with unhandled exceptions incorrectly marked as COMPLETED

v0.0.11 β€” 2026-03-10

Fixed a collision bug where user-seeded random state could cause duplicate run external IDs. Server adds server-side downsampling, dashboard copy/paste, and major charting improvements. SDK Changes:
  • Fix run external ID collisions when users seed global random state
Server Changes (v0.0.26):
  • Add server-side bucketed downsampling for charts
  • Add widget copy/paste functionality to dashboard builder
  • Add log-scale scientific notation formatting for chart axes
  • Add customizable tooltip columns with search filtering
  • Add optimistic concurrency control for dashboard edits
  • Improve chart emphasis visibility and color palette
  • Improve log scale axis label formatting for wide value ranges
  • Show tooltip for long tags that get truncated in the runs table
  • Fix ?runs= URL deep-link for runs not on the first page
  • Fix side-by-side config diffs not loading on initial page load
  • Fix relative time scale consistency across multiple runs
  • Fix dashboard widget height regression
  • Fix selected runs pagination, cross-page hover, and search/dashboard persistence
  • Fix dashboard concurrency warning not triggering
  • Remove cross-axis zoom translation in run comparison view
  • Resolve high and critical security alerts

v0.0.10 β€” 2026-03-05

Fixed a bug where heartbeat retries could cause finish() to hang when the server returned errors. Added support for resuming runs by display ID or numeric ID. SDK Changes:
  • Fix heartbeat retries causing finish() to hang on server errors
  • Support resuming runs by display ID or numeric ID
Server Changes (v0.0.25):
  • Add resume run endpoint to allow re-opening completed runs
  • Add write tools (update_tags, update_notes) to MCP server
  • Add toggle buttons and keyboard shortcuts to hide/show the run list and graphs panels
  • Pin selected runs to top of the runs table
  • Add Run ID column to Linear issue sync table
  • Add display ID search support to run search queries
  • Add skip-missing-values option to line charts
  • Improve fuzzy search matching precision and reduce false positives
  • Replace print statements with logging and fix session management in Python client

v0.0.24 (Server) β€” 2026-03-04

Charting improvements including custom x-axis metric selection and persistent zoom across data refreshes. Changes:
  • Auto-hide empty pattern-matched chart widgets
  • Fix run-scoped metric queries hitting the wrong table
  • Add tooltips and improve text overflow handling across UI components
  • Add custom x-axis metrics support for dashboard widgets with searchable combobox
  • Fix zoom not persisting on virtualized charts after data refresh

v0.0.23 (Server) β€” 2026-03-02

Added widget search to dashboards and a metrics display in the file tree view, plus several bugfixes. Changes:
  • Add widget search functionality to dashboard builder (with fix for hidden widget deletion)
  • Fix Y-axis range calculation when chart passes null data bounds
  • Add metrics display to file tree view
  • Run page toolbar parity improvements, histogram canvas unification, and bugfixes

v0.0.9 β€” 2026-02-26

Breaking change: The environment variable PLUTO_API_TOKEN has been renamed to PLUTO_API_KEY. Update your configuration accordingly. SDK Changes:
  • Rename PLUTO_API_TOKEN to PLUTO_API_KEY for consistency
Server Changes (v0.0.22):
  • Overhaul custom dashboards with dynamic sections, widget improvements, and UX polish
  • Fix duplicate tooltip appearing when another tooltip is pinned
  • Fix widget config properties being stripped by schema validation
  • Add per-chart log scale overrides to chart settings popover

v0.0.8 β€” 2026-02-24

Added Neptune query compatibility and automatic git commit/version logging. Major charting performance improvements on the server side. SDK Changes:
  • Add Neptune query compatibility shim for easier migration
  • Automatically log git commit hash and SDK version with each run
Server Changes (v0.0.20, v0.0.21):
  • Use virtualized charts in custom dashboards to unmount off-screen charts for better performance
  • Fix tooltip flickering on scroll events
  • Fix log scale Y-axis with manual bounds and zoom behavior
  • Fix cross-chart highlight dimming all series in single-metric charts
  • Fix chart zoom synchronization across X-axes
  • Add tooltip to display all tags on overflow
  • Fix CORS headers on error responses
  • Pin select, status, and name columns in runs table

v0.0.19 (Server) β€” 2026-02-23

Performance fix for slow tooltip rendering on the dashboard view. Changes:
  • Fix slow tooltips on dashboard view

v0.0.7 β€” 2026-02-20

SDK now automatically captures system information including OS, CUDA, NCCL, and InfiniBand details. Server adds multi-metric chart support with glob and regex search. SDK Changes:
  • Automatically capture OS, CUDA, NCCL, and InfiniBand system info
  • Fix run_id not being passed in Neptune compatibility wrapper
Server Changes (v0.0.17):
  • Add multi-metric charts with glob search, regex search, and dynamic metric selection
  • Support NaN, Infinity, and -Infinity in metric values

v0.0.16 (Server) β€” 2026-02-19

Major improvements to search, charting, and editing workflows. Changes:
  • Add two-stage fuzzy search with backend similarity matching and client-side Fuse.js filtering
  • Add min/max envelope downsampling and zoom-aware chart rendering
  • Add optimistic updates for tag and notes mutations
  • Add display ID support for run labels in charts
  • Add localStorage draft save and navigation guard for dashboard editing

v0.0.15 (Server) β€” 2026-02-18

Chart export, dashboard view on the run detail page, and a revamped runs table layout. Changes:
  • Add chart export to clipboard and PNG download (with title and legend)
  • Refactor recent runs display from cards to a table layout
  • Add diff-only filter and git-style highlighting to side-by-side run comparison
  • Add dashboard view support to run detail page
  • Enable automatic data refetching on window focus and reconnect

v0.0.14 (Server) β€” 2026-02-16

Runs table polish: fixes for trailing zeros, column header UX, and number filter input. Changes:
  • Fix runs table bugs: trailing zeros, column header UX, number filter input

v0.0.13 (Server) β€” 2026-02-14

Migrated the Linear integration to OAuth and added URL auto-resolution for org-less paths. Changes:
  • Add display ID support for run identification in MCP tools
  • Migrate Linear integration to OAuth app
  • Add readiness probes with PostgreSQL and ClickHouse health checks
  • Add URL auto-resolution to redirect org-less paths to the active org
  • Fix ?runs= URL param not selecting runs on page load and being overwritten by stale cache

v0.0.12 (Server) β€” 2026-02-13

Linear integration reliability improvements and Stripe promo code support. Changes:
  • Fix duplicate Linear comments via idempotent sync with concurrency control
  • Allow free checkouts with promo codes by making payment optional

v0.0.11 (Server) β€” 2026-02-13

Major feature release: Linear integration, display IDs, MCP leaderboard, and free PRO for .edu users. Changes:
  • Add Linear integration with write-back and issue picker
  • Add Neptune-style sequential run numbering with display IDs
  • Add metric names and leaderboard endpoints for MCP run ranking
  • Grant free PRO plan to users with .edu email addresses
  • Fix data table layout minimum width

v0.0.10 (Server) β€” 2026-02-11

Dashboard and runs table overhaul with grid/free mode toggle, Y-axis bounds, and full run table customization. Changes:
  • Add Grid/Free mode toggle for dashboard layout
  • Add chart Y-axis bounds, fullscreen mode, and clipping indicators
  • Add run table customization with sorting and filtering
  • Fix pagination state management in data tables

v0.0.6 β€” 2026-02-10

Server-side improvements to chart configuration and Konduktor job integration. Server Changes (v0.0.8, v0.0.9):
  • Add configurable line width setting for charts
  • Fix zoom sync corruption in virtualized line charts
  • Add Konduktor job info card to run summary page
  • Add notes column to runs table for experiment annotations
  • Increase run list limits for table and plots

v0.0.5 β€” 2026-02-09

Improved sync reliability with batched flushing and backoff to reduce SQLite lock contention. SDK Changes:
  • Add batching and regular flushing of the sync queue with backoffs to reduce WAL/SQLite lock contention
  • Add sys/ metrics for Pluto SQLite queue monitoring

v0.0.4 β€” 2026-01-26

Initial server infrastructure release.

v0.0.3 β€” 2026-01-14

Fixed a distributed training bug where DDP processes could hang indefinitely. SDK Changes:
  • Fix DDP bug by enforcing thread join timeouts