Skip to content

Releases: rerun-io/rerun

0.31.3

14 Apr 11:24

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


🔎 Details

🪳 Bug fixes

  • Fix plot view time range ui 3922bea

📚 Docs

  • Clearer behavior for CoordinateFrame("") 4b5c2f0

🖼 UI improvements

  • Spacebar toggles play/pause, never enables following #12722 (thanks @wolfd!)

📦 Dependencies

  • Update datafusion to 52.5.0 87af7a9

0.31.2

08 Apr 13:26

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


🔎 Details

🪳 Bug fixes

  • Fix MCAP CLI decoder identifier list 24f2604
  • Fix bug where shapes defined with UI units were scaled incorrectly 9a28f8e
  • Fix off-by-one bug in video stream cache e4eddc9
  • Fix range queries on 3D points in SpatialView3D 213957c

📚 Docs

  • Fix typo in micro-batching documentation #12716 (thanks @wolfd!)

🕸️ Web

  • Add progress bar to rerun-js and handle incomplete wasm downloads 476a178
  • Add rerun-js login setting and default to hiding the login button 3203577

🤷‍ Other

  • Stop creating the search index into docs.rs 6afa84b

0.31.1

31 Mar 14:14

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


🔎 Details

Full 0.31.0 changelog

🪳 Bug fixes

  • Fix our python 3.10 support 2ee1f4f

0.31.0 - component mappings & prettier primitives

31 Mar 14:15

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


🧳 Migration guide: https://rerun.io/docs/reference/migration/migration-0-31

✨ Overview & highlights

Component mappings

meshtopoint.mp4

You can now map components more generally. Want to display your mesh as a point cloud? Just add a point cloud visualizer and select the vertex positions as the source.

Prettier primitives

spinning.mp4

Our 3D primitives got a new default look!

Performance improvements

  • Optimization for point clouds, videos shared among views, data ingestion, and recordings with many entities.

⚠️ Breaking changes

  • MCAP "layers" renamed to "decoders" cf0a800
  • rr.Server and rr.CatalogClient: address parameter/method renamed to url; rerun server --address is now --host #12402
  • Entry.update(name=…) is deprecated in favor of Entry.set_name(…) #12370

🧳 Migration guide: https://rerun.io/docs/reference/migration/migration-0-31

🔎 Details

🪵 Log API

  • Redesign Lens Op API to be Selector-based d962bfe
  • Add cull mode for front/back face culling on Mesh3D be5a50f
  • Add frame_prefix to UrdfTree for multi-robot URDF setups 8e27391

🐍 Python API

  • Improve DynamicArchetype docs with example on how to use builtin batch types 2052af5
  • Narrow typing for dynamic archetype 7b0bfaf
  • Fix wrong variable in error message for extra args in log() #12674 (thanks @jashshah999!)
  • Allow re-registering the same blueprint to a dataset fd03bf0
  • Fix using_index_value not accepting pyarrow data of the correct types 62b8ac3
  • Fix passing color columns with one element in the python sdk e312d36
  • Entity filter: do not include all properties if a single property is included 5d3a25f
  • Support binary stream 0a05422
  • Reuse precomputed timelines dict in send_columns instead of re-iterating indexes #12673 (thanks @jashshah999!)
  • Add description back to python package 6ab7971
  • Add save() to Recording 4ab863a
  • Add compress() and as_pil_image() to DepthImage with PNG compression bde6870
  • Introduce Chunk API to the Python SDK 32eb891
  • Adds rr.logout to Python SDK 97af60e
  • Disable cloud vector & full-text-search for now 3da7180
  • Add ContentFilter for cleaner filter_contents 8ce6d13
  • Add cloud provider details to end point c8dd0c8
  • Add component descriptor helper to Python archetype classes 8a2ef31

🦀 Rust API

  • Rust BlueprintActivation default now matches python behavior 6d06892
  • Update MSRV to 1.92 52b51ea

🪳 Bug fixes

  • Fixes recording staying open when user logs out 80ab340
  • Selection panel: show all values at the latest time stamp 474dbe8
  • Gracefully handle Rrd Manifest failures 900edfd
  • Fix docs urls being loaded as data sources 80e3ce6
  • Fix: fix clicking names of color maps 92529ca
  • Fix rare ui id conflict in list item content 0966696
  • Fix drag'n'drop issue on web 2d97010
  • Handle ?url=rerun+http://… in web viewer 0a47b41
  • Fix weird tooltip sizes in streams view 0d98570
  • Fix showing empty label boxes for various 2d & 3d visualizations 9c547ce
  • Fix bounding box calculation for GLB/GLTF & DAE meshes 8382f14
  • Fix eye camera being affected by previous recording of the same application/dataset 1b9a60f
  • Ignore NaN/Inf values for bounding box calculations used in 3d eye camera operations 3e26be7
  • Ensure that share modals are always on top 8d8eb40
  • Add zoom in limit to camera, because zooming in too far broke the view 4534001
  • Bump lz4_flex to prevent web viewer crashes 9355dd8
  • Improve handling of texture creation errors ea4283e
  • Fix prematurely resetting to Welcome screen even if stream finished properly 46d86eb
  • Fix flipping chunks between loaded/unloaded when hovering time panel 0e51fa6
  • Fix unset/reset not being greyed out for previously cleared out values 45f6ed2
  • Fix default blueprint not being activated for Redap segments e66cb92
  • Don't close active recording when opening settings ea86ae9
  • Fix some AV1 videos not playing in the WebViewer c062098
  • Fix sensor_msgs::PointCloud2 MCAP parser for empty point clouds #12684 (thanks @Woodii1998!)
  • Stop time control following if set time is called acba7b3
  • Support LeRobot feature names on the ListArray path 30a86e1

🌁 Viewer improvements

  • Support custom bool types in plots 888a9e8
  • Add util to compute column of Transform3D updates for URDF joints #12666
  • Unified color swatches c020c80
  • Make more visualizer errors point to specific components that are in an invalid state 19b2c79
  • Add context menu to visualizer pills on time series view 136a2d1
  • Make many more required components ui editable [2f791ad](https://gi...
Read more

Development Build

25 Mar 05:45

Choose a tag to compare

Development Build Pre-release
Pre-release

This is a prerelease. It is not intended for production use.
Please report any issues you find.

Example Hosted App

https://rerun.io/viewer/commit/3f76a0f

Wheels can be installed with:

pip install --pre --no-index -f https://build.rerun.io/commit/3f76a0f/wheels --upgrade rerun-sdk

or

pip install --pre --no-index -f https://github.com/rerun-io/rerun/releases/download/prerelease --upgrade rerun-sdk

CMake fetch-content for C++ SDK

include(FetchContent)
FetchContent_Declare(rerun_sdk URL https://build.rerun.io/commit/3f76a0f/rerun_cpp_sdk.zip)
FetchContent_MakeAvailable(rerun_sdk)

or

include(FetchContent)
FetchContent_Declare(rerun_sdk URL https://github.com/rerun-io/rerun/releases/download/prerelease/rerun_cpp_sdk.zip)
FetchContent_MakeAvailable(rerun_sdk)

Web Viewer NPM package

Can be installed with:

npm install https://build.rerun.io/commit/3f76a0f/rerun_js

0.30.2

11 Mar 12:40

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


✨ Overview

Among many other things, this patch addresses a security advisory (SNYK-RUST-JSONWEBTOKEN-15189005) and adds a new example!

🔎 Details

🐍 Python API

  • Expose executable_name and executable_path in Python spawn() #12685

🪳 Bug fixes

  • Handle ?url=rerun+http://… in web viewer 5f2d65d
  • Fix weird tooltip sizes in streams view 92403bb

🚀 Performance improvements

  • Share video players between views, de-duplicating video decoding work between pinholes and 2d views ed236da

🧑‍🏫 Examples

🖼 UI improvements

  • Show tooltip even when hovering play head in the time series view e44fbf0

🧢 MCAP

  • Add a list of available layers to mcap convert cli 89f18dc
  • Decode MCAP metadata records into __properties cc8f1c2

📦 Dependencies

  • Upgrade jsonwebtoken to 10.3 312c3b8

0.30.1 - Bugfixes & Viewer improvements

04 Mar 12:39

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


✨ Overview & highlights

This patch on top of 0.30.0 comes not only with a random assortment of bug fixes but also some small improvements to the Viewer.

Most notably it's now possible to inspect values that were logged on the same timestamp!
image

🔎 Details

🐍 Python API

  • Allow re-registering the same blueprint to a dataset cafbec9
  • Fix using_index_value not accepting pyarrow data of the correct types c59df09

🪳 Bug fixes

  • Gracefully handle Rrd Manifest failures f14e343
  • Fix docs urls being loaded as data sources 3eb98db
  • Fix fix clicking names of color maps 700b590
  • Fix rare ui id conflict in list item content 352f7c8
  • Fix drag'n'drop issue on web 956ed91

🌁 Viewer improvements

  • Selection panel: show all values at the latest time stamp 36ff7ff
  • Limit number of plots only for non-builtin components and increase the limit f4fb62b
  • Show all visualizable scalars on time series add-visualizer menu 0da70a5
  • Stop warning on synthetic oneof protobuf fields 84ee94e

📚 Docs

  • Corrected the docs example for the DynamicArchetype 32c37e8

🖼 UI improvements

  • Make arrow values expandable if they don't fit 4edd93e
  • Add scrolling to column popup 7dbd933

🧢 MCAP

  • Support also "sec" & "nsec" in TimeSpecToNanos 31c9a43

0.30.0 - Plot any scalar & on-demand streaming

25 Feb 15:53

Choose a tag to compare

Rerun is an easy-to-use database and visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.


🧳 Migration guide: https://rerun.io/docs/reference/migration/migration-0-30

✨ Overview & highlights

📈 Plot any scalar

anyscalar.action.4.mp4

You can now plot any scalar value, even if it lacks Rerun semantics in time series views. For instance, this lets you plot any value in an MCAP file.

In addition to plotting scalars from MCAP files, it is now possible to visualize arbitrary scalar components that were logged using AnyValues or DynamicArchetype. The supported data types are:

  • Float32 and Float64
  • Int8, Int16, Int32, and Int64
  • UInt8, UInt16, UInt32, and UInt64
  • Boolean
  • Any of the above nested inside of Arrow structs.

This also makes it possible to log and visualize multiple scalars to the same entity, which can drastically reduce the size of the resulting .rrd files.

Note that by default, and without blueprints, views are still only spawned for entities with Rerun semantics.

Time series views for entities with custom scalar components need to be spawned either:

  • from the context menu of the streams,
  • by adding a view from the blueprint panel,
  • or by specifying a blueprint using the Python or Rust SDK.

The components that should be visualized can be selected via a new dropdown menu from the completely revised visualizer section in the selection panel.

New Source dropdown menu

To quickly navigate to the desired visualizer, each time series view now shows an overview of it's current visualizers.

List of visualizer in view selection panel.

For more details please refer to our documentation:

Thanks to a contribution from @vfilter, the series lines visualizer now also supports different interpolation modes to render staircase (or step) functions:

Dropdown of different interpolation modes

📡 On-demand streaming / larger-than-RAM

The Rerun Viewer now supports on-demand streaming, when connected to either the OSS server or Rerun Cloud.

on-demand-streaming.mp4

With on-demand streaming, whatever you are currently viewing will be downloaded first.
This includes time-scrubbing to the end of a very long recording and quickly seeing what is there, or viewing only one camera feed of many.

Of course, your memory limit will be respected, and when you change your view or move the time cursor, the stale data will be evicted and the new data downloaded.

This also means that the web viewer can finally view recordings larger than the 4GiB limit enforced by Wasm32, as long as those recordings are served by a Rerun server.

It also means that Rerun Cloud users can view huge recordings, larger than what fits into RAM.
The OSS server, however, still loads everything into RAM before serving it.

Usage:

> rerun server -d folder_with_large_recordings

Then either open the native viewer:

> rerun "rerun+http://127.0.0.1:51234"

Or the web viewer:

> rerun --serve-web "rerun+http://127.0.0.1:51234"

🦾 Support for many more MCAP message types

Like in the previous releases, we're continually expanding our support for common robotics data to make it easier for users to load their existing recordings.

This release adds support for Foxglove Protobuf schemas to our built-in MCAP data loader, in addition to the existing set of supported ROS 2 messages.

You can find an overview of all the messages that are currently supported here.

Complex scene imported from MCAP

🎨 Extend existing views without forking

Previously, extending the Viewer with custom Rust code required creating an entirely new view type,
even if you just wanted to add a single new visualization to the existing 3D view.

Now, you can register custom visualizers that plug directly into existing views, using fully custom archetypes & shaders in the process!

2026-02-20_17-13-08.mp4

In practice this works currently only well for 2D, 3D, and Map views but we'll keep working towards
making the Viewer more and more modular & extensible!

For more details, see the custom visualizer example and the viewer rust extension docs for a general overview.

⚠️ Breaking changes

  • Python: segment_url_udf and segment_url_with_timeref_udf have been removed
  • Python: segment_url parameter names have been updated
  • CLI: .rrd files are no longer tailed by default
  • SDK: SeriesVisible component type has been removed

🧳 Migration guide: https://rerun.io/docs/reference/migration/migration-0-30

🔎 Details

🪵 Log API

  • Fix performance regression with --server-memory-limit 0 cfc9a4c
  • Remove SeriesVisible component in favor of Visible 1fca08a
  • rerun rrd verify now checks for the presence of RRD manifests 2000ba5
  • Footer-preserving RRD routing b56a145

🌊 C++ API

  • Build C++ snippets into a single executable to avoid link time overhead b0a3876

🐍 Python API

  • Basic Rust & Python blueprint API for component mappings c6d7409
  • Ensure that import rerun_sdk.rerun can be used 196c658
  • Expose on_duplicate in the Python SDK e909e20
  • Small conversion improvement 383d37d
  • Table entry APIs: provide a hint for single-row list data cb38397
  • Add hint to prepend api. on connection error a2ef1b3
  • No longer return all columns when filter_content() matches nothing 5997d6f
  • Remove deprecated UDFs b078e18
  • Allow access to redap token from python sdk bc2ce79
  • Expose "rerun_registration_status" to DatasetEntry.manifest() 881cee6
  • Correctly handle lists in AnyValues/DynamicArchetype .columns d2b53da
  • Atomic (un)registrations 153acd1
  • The url argument of CatalogClient.create_table() is now a prefix [1eb6c79](1eb6c790d7c26f47da8dcfc8...
Read more

0.29.2 - Bug fixes and documentation update

13 Feb 09:58

Choose a tag to compare

✨ Overview & highlights

This patch release contains bug fixes and adds a documentation guide with an example for converting existing data to Rerun.

🔎 Details

🪵 Log API

  • Fix performance regression with --server-memory-limit 0 cefbdf6

🐍 Python API

  • notebook: Re-export viewer event types 51d949e

🪳 Bug fixes

  • Fix table config button symbol for light-mode 57b0121
  • Fix drag-and-drop of .mcap files on web #12631
  • Ensure we report file loading errors on web 7fd794e

🌁 Viewer improvements

  • Show error when rerun_js viewer panics or fails to load 04e7ae8

📚 Docs

  • Add snippet demonstrating conversion of custom MCAP protobuf file to RRD 53fbeeb
  • Add documentation for converting custom data to RRD using log/send_column 815d45c

🖼 UI improvements

  • Fix moving text cursor with cmd-arrows 13f7124
  • Improve error messages regarding arrow datatypes 48f4637

0.29.1 - Improved labels, bug fixes & performance improvements

06 Feb 17:49

Choose a tag to compare

✨ Overview & highlights

This is mainly a patch release with some fixes and improvements.

We also included a change that makes labels translucent. This makes them less obtrusive and improves visibility of overlapping labels, as shown in the image segmentation example below.
Example of translucent labels in Rerun 0.29.1

🔎 Details

🐍 Python API

  • Ensure that import rerun_sdk.rerun can be used fd28cd3
  • Allow access to redap token from Python SDK 51506ca

🪳 Bug fixes

  • Fix viewer error list jumping around 05ae689
  • Fix potential video deadlock eefacdf

🌁 Viewer improvements

  • Make labels in spatial view translucent ec62ad9

🚀 Performance improvements

  • Do faster lineage check in release builds 0d546c0