Skip to content

Releases: apple/embedding-atlas

v0.24.0

Choose a tag to compare

@donghaoren donghaoren released this 20 Aug 00:25
ff1c59c

What's Changed

  • chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.2 by @dependabot[bot] in #242
  • chore(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.0 by @dependabot[bot] in #243
  • feat!: drop webgl2 fallback by @domoritz in #244
  • chore: bump version to 0.24.0 and pin hatchling version by @donghaoren in #245

Full Changelog: v0.23.0...v0.24.0

v0.23.0

Choose a tag to compare

@donghaoren donghaoren released this 18 Aug 18:01
c20a539

What's Changed

  • docs: update imagewoof example with pagerank scores by @donghaoren in #224
  • chore(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.2 by @dependabot[bot] in #228
  • docs: add umap graph paper by @domoritz in #227
  • chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 by @dependabot[bot] in #231
  • feat: features list component, text highlighting, and multi-table support by @donghaoren in #230
  • chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #236
  • chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0 by @dependabot[bot] in #235
  • chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 by @dependabot[bot] in #234
  • chore(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 by @dependabot[bot] in #233
  • chore(deps): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 by @dependabot[bot] in #238
  • fix: CI build error due to not yet allowed action version by @donghaoren in #239
  • fix: detect plain-bytes image columns by @yuvvantalreja in #240
  • chore: bump version to 0.23.0 by @donghaoren in #241

New Contributors

Full Changelog: v0.22.0...v0.23.0

v0.22.0

Choose a tag to compare

@donghaoren donghaoren released this 07 Jul 22:15
f00ce4d

What's Changed

New Contributors

Full Changelog: v0.21.0...v0.22.0

v0.21.0

Choose a tag to compare

@donghaoren donghaoren released this 01 Jun 16:35
23690a0

New features

  • PageRank-based image summarizer — cluster labels can now show a representative image instead of text. New --pagerank flag (computes PageRank from the neighbor graph, or accepts a precomputed column) and --image flag in the CLI; new image/importance options across the Python and JS APIs.
  • WebGPU acceleration for UMAP & NN-descent — opt-in gpu option runs the projection and nearest-neighbor descent on the GPU for large speedups in the browser, with WGSL shaders and CPU fallback. Both now also accept a progress callback.
  • Redesigned viewer UI — new sidebar, multiple layout tabs, undo/redo history, and a centralized state store. Adds an import/export panel and schema/search/settings panels.
  • UMAP options in the file loader — configure n_neighbors, min_dist, and related UMAP settings directly from the loader, plus minor usability improvements.
  • Python API improvements — widget now works with any narwhals-supported dataframe (pandas, Polars, etc.) rather than pandas only.
  • onPredicateChange callback — viewer notifies when the filter predicate changes from brush/click interactions.

Breaking changes

Component library (@embedding-atlas/component)

  • Label.text renamed to Label.content and retyped to LabelContent (a string or an image reference).
  • queryClusterLabels now returns Promise<(LabelContent | null)[]> instead of Promise<(string | null)[]> (strings still work at runtime).

Viewer API (EmbeddingAtlas)

  • EmbeddingAtlasState reshaped: layoutcurrentLayout, layoutStateslayouts (+ new layoutOrder); timestamp and predicate fields removed. Old serialized state won't fully restore.
  • Searcher.nearestNeighbors() method removed; nearest neighbors now come from the neighbors column.

umap-wasm (@embedding-atlas/umap-wasm)

  • UMAP.run() is now async (Promise<void>) — callers must await it.

Python backend (embedding-atlas)

  • EmbeddingAtlasWidget.selection("arrow") now returns a pyarrow.RecordBatchReader instead of a pyarrow.Table.
  • EmbeddingAtlasWidget.selection("dataframe") returns a dataframe in the input's native namespace (via narwhals), not always pandas.
  • utils.arrow_to_bytes() narrowed to accept only RecordBatchReader; to_parquet_bytes() takes IntoDataFrame.
  • Dependency bumps requiring a newer runtime: pandas >= 3.0.0, pyarrow >= 24.0.0, duckdb >= 1.5.0, sentence-transformers >= 5.0.0, and others; fastparquet dependency removed.

What's Changed

  • feat: PageRank-based image summarizer by @polochau in #192
  • feat: improve UMAP performance on browser with WebGPU by @donghaoren in #194
  • feat: configure UMAP options in the file loader, and minor usability improvements by @donghaoren in #196
  • feat: python API improvements by @domoritz in #197
  • refactor: cargo workspaces and fix clippy issues by @domoritz in #198
  • fix: prevent embedding view hover tooltip from getting stuck by @sheitabrk in #199
  • fix: update labels when provided after mount by @kiwigitops in #201
  • feat: new sidebar UI, tabs, undo, and centralized store by @donghaoren in #202
  • fix: treat low-cardinality float columns as continuous in legends by @adityasingh2400 in #200
  • chore: update deps and bump version to 0.21.0 by @donghaoren in #203

New Contributors

Full Changelog: v0.20.0...v0.21.0

v0.20.0

Choose a tag to compare

@donghaoren donghaoren released this 06 Apr 21:32
5938e87

New Features

  • Date/time data type (e.g., TIMESTAMP) support in charts.
  • New UMAP implementation in Rust for the browser version (cli version still rely on Python).
  • New compute_projection API for computing embedding and projection of a column in a data frame. Replacing compute_text_projection etc. With better request handling to API models, audio data support, and more secure cache.
  • Breaking changes:
    • createKNN is removed, and the set of UMAP algorithm parameters have changed.
    • compute_text_projection, compute_image_projection, compute_vector_projection are removed.
    • All existing projection cache will be invalidated.

What's Changed

Full Changelog: v0.19.1...v0.20.0

v0.19.1

Choose a tag to compare

@donghaoren donghaoren released this 24 Mar 22:25
061fdc5

What's Changed

Full Changelog: v0.19.0...v0.19.1

v0.19.0

Choose a tag to compare

@donghaoren donghaoren released this 23 Mar 20:46
d772f7c

New Features

  • Audio data support: in the tooltip / instances view, audio data can be shown as a audio player.

What's Changed

Full Changelog: v0.18.1...v0.19.0

v0.18.1

Choose a tag to compare

@donghaoren donghaoren released this 12 Mar 19:02
148c71e

What's Changed

Full Changelog: v0.18.0...v0.18.1

v0.18.0

Choose a tag to compare

@donghaoren donghaoren released this 05 Mar 00:15
98b7008

New Features and Breaking Changes

  • Support datasetUrl in metadata for remote parquet loading (thanks @davanstrien). Also support exporting to a folder instead of a .zip file, and metadata overrides with the --export-metadata option.
  • [breaking] Replace the Table component with a new instances view that supports both table and cards mode, see #166.
  • [breaking] Remove tableCellRenderers prop for the EmbeddingAtlas component, replaced with a registerRenderer function and set the renderer with initialState = { columnStyles: { "columnName": { renderer: "custom-renderer-name" } } }, see #166.

What's Changed

  • feat: support optional datasetUrl in metadata for remote parquet loading by @davanstrien in #162
  • feat: add --export-metadata option and folder export support by @davanstrien in #163
  • feat: instances view (replaces the table component) by @donghaoren in #166
  • chore: bump version to 0.18.0 by @donghaoren in #167

Full Changelog: v0.17.0...v0.18.0

v0.17.0

Choose a tag to compare

@donghaoren donghaoren released this 11 Feb 21:18
a2a6353

New Features

  • The command line tool can expose an MCP server with the --mcp flag. Now you can connect your favorite AI tool to Embedding Atlas.
  • [breaking] CORS is now disabled by default for the command line tool. Use the --cors flag to enable it explicitly.
  • [breaking] In compute_{text|image|vector}_embedding, parameters other than the data frame now need to be specified as keyword parameters.

What's Changed

Full Changelog: v0.16.1...v0.17.0