0.37.0

rerun-io/rerun0.37.0Sep 1, 2026by rerun-bot

AI Summary

Renames the `datatypes` module to `encodings`, introduces assets into the catalog system, and significantly improves dataloader performance and decoding speed.

Key Highlights

  • Assets in catalogs for data sharing across segments
  • Export recordings and blueprints from the web Viewer
  • `rerun rrd stats` command for optimization checks
  • Faster video decoding for training
  • Unified fetch and decode pipeline for dataloaders

Breaking Changes

  • `datatypes` renamed to `encodings` (old spelling deprecated)
  • Rust SDK now requires Rust 1.96 or later
  • `Loggable` trait replaced by `ArrowDataType`, `ToArrow`, `ToArrowOpt`, `FromArrow`, `FromArrowOpt`
  • Python: `rerun-sdk[datafusion]` and `rerun-sdk[dataplatform]` extras removed, use `rerun-sdk[catalog]`
  • Python: `Mp4Reader` emits `VideoStream:is_keyframe` as a single sparse marker chunk
  • Python: experimental dataloader windows list explicit offsets instead of inclusive range
  • Setting a recording id no longer disables recording properties (use `send_properties(false)` to opt out)

New Features

  • `datatypes` renamed to `encodings`
  • Manifest support for map dataset
  • Dataloader batch decoding
  • Unified fetch and decode pipeline
  • Faster video decoding (FFmpeg threading)
  • Skip samples with decoders returning None
  • Rely on keyframes for manifest
  • Include assets in `segment_store()`
  • `rrd::optimize_file` API
  • Split importers into a la carte features

Full Release Notes

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

- Python: `pip install -U rerun-sdk`
- Rust: `cargo add rerun` and `cargo install rerun-cli --locked`
- Online demo: https://rerun.io/viewer
- C++ FetchContent: https://github.com/rerun-io/rerun/releases/download/0.37.0/rerun_cpp_sdk.zip

---

🧳 Migration guide: https://rerun.io/docs/changelog/changeset-0-37#breaking-changes

### ✨ Overview & highlights

- Assets in catalogs, data shared across all segments
- Improved selection panel navigation
- State timeline view improvements
- Export recordings and blueprints from the web Viewer
- `rerun rrd stats` tells you whether a recording should be optimized
- Experimental dataloaders use a unified fetch and decode pipeline
- Faster video decoding for training
- Faster manifest generation for video datasets

πŸ“– Release notes: https://rerun.io/docs/changelog/changeset-0-37#highlights

### ⚠️ Breaking changes

- **All SDKs**: `datatypes` is renamed to `encodings`. The old spelling still works, deprecated.
- **Rust**: the SDK now requires Rust 1.96 or later.
- **Rust, C++**: setting a recording id no longer disables recording properties. Opt out with `send_properties(false)`.
- **Rust**: `Loggable` is replaced by `ArrowDataType`, `ToArrow`, `ToArrowOpt`, `FromArrow` and `FromArrowOpt`.
- **Python**: the `rerun-sdk[datafusion]` and `rerun-sdk[dataplatform]` extras are removed, use `rerun-sdk[catalog]`.
- **Python**: the experimental `Mp4Reader` emits `VideoStream:is_keyframe` as a single sparse marker chunk.
- **Python**: experimental dataloader decoders now decode a whole fetch block at a time.
- **Python**: experimental dataloader windows list explicit offsets instead of an inclusive range.

🧳 Migration guide: https://rerun.io/docs/changelog/changeset-0-37#breaking-changes

### πŸ”Ž Details

#### 🌊 C++ API
- Rename `datatypes` to `encodings` [582f273](https://github.com/rerun-io/rerun/commit/582f27394c071d4ae6464c60e75bc598fee013b1)
- Send recording properties even when a recording id is set [f40451b](https://github.com/rerun-io/rerun/commit/f40451b0b6d1d0f5a1d251cd924b41ddebcd999f)

#### 🐍 Python API
- Rename `datatypes` to `encodings` [582f273](https://github.com/rerun-io/rerun/commit/582f27394c071d4ae6464c60e75bc598fee013b1)
- Add manifest support for the map dataset [e5077f3](https://github.com/rerun-io/rerun/commit/e5077f3ec483e5ec083143d28a2a6c3eb4232e59)
- dataloader: Batch decoding of fetched samples [132284c](https://github.com/rerun-io/rerun/commit/132284c2b2f6e46356ed9235e63bf857e58a7695)
- Remove deprecated `rerun-sdk[datafusion]` and `rerun-sdk[dataplatform]` in favor of `rerun-sdk[catalog]` [b51a09a](https://github.com/rerun-io/rerun/commit/b51a09a66c4f6f6f212f4a57d121da395600af06)
- Experimental dataloaders use a unified fetch and decode pipeline [ec9488e](https://github.com/rerun-io/rerun/commit/ec9488e46a424e4987c3da5f0d555fa16fb6ca19)
- Make windows supported for all decoders, force `is_keyframe` for video fields [c7feeed](https://github.com/rerun-io/rerun/commit/c7feeedf966f64903c5ba293c06f8461914cb052)
- Faster video decoding: frame views, YUV output, and FFmpeg threading [23d97be](https://github.com/rerun-io/rerun/commit/23d97beddc6fbd3a878d02c934d5c59dd8b19ed4)
- dataloader: skip samples whose decoders return `None` [19dd869](https://github.com/rerun-io/rerun/commit/19dd869d9f38eee5ecd3fc92bdc8ac923fbaaed1)
- Rely on keyframes only for the manifest [4dea0aa](https://github.com/rerun-io/rerun/commit/4dea0aada0ac2dea2e1a43462879b5b55ba91110)
- Include assets in `segment_store()` [52a16b8](https://github.com/rerun-io/rerun/commit/52a16b8276c19e4a69abe246a56ccec5afeb3b06)

#### πŸ¦€ Rust API
- Rename `datatypes` to `encodings` [582f273](https://github.com/rerun-io/rerun/commit/582f27394c071d4ae6464c60e75bc598fee013b1)
- Send recording properties even when a recording id is set [f40451b](https://github.com/rerun-io/rerun/commit/f40451b0b6d1d0f5a1d251cd924b41ddebcd999f)
- Update to Rust 1.96.0 [dcfb289](https://github.com/rerun-io/rerun/commit/dcfb2891f7b29d61b0d29837c900a91744b3c1b5)
- Replace `Loggable` with four (de)serialization traits [de85d2f](https://github.com/rerun-io/rerun/commit/de85d2f60c143cb69c3e3d34b10fbb0787e0383a)
- Add a standalone `rrd::optimize_file` API to the `rerun` crate [7f4ee31](https://github.com/rerun-io/rerun/commit/7f4ee3143084d388dc9e0584d6a64111c5394cc0)
- refactor: split importers into their own a la carte features to improve compile times [#12899](https://github.com/rerun-io/rerun/pull/12899) (thanks [@claytonwramsey](https://github.com/claytonwramsey)!)

#### πŸͺ³ Bug fixes
- fix: keep query_dataset response schemas consistent for empty results [0d6f3ec](https://github.com/rerun-io/rerun/commit/0d6f3eccbc4e37115416317f5ae4829cc4dde7eb)
- Fix recovery of MCAP messages with truncated index [3a9622f](https://github.com/rerun-io/rerun/commit/3a9622fa60d4eae7e2b522c739b0bdce054fcda2)
- Fixes broken state timeline when lanes end with `Clear` [c358596](https://github.com/rerun-io/rerun/commit/c35859670baa81c5e24fc164b367e4b966f64697)
- Show 3D labels projected into 2D views [d1a572a](https://github.com/rerun-io/rerun/commit/d1a572a0bd0dc99908bb33453f05006055bde04b) (thanks [@chunibyo-wly](https://github.com/chunibyo-wly)!)
- Show MCAP CLI processing time as float seconds [99ca6b4](https://github.com/rerun-io/rerun/commit/99ca6b44aee3db762f04c02418a6ceaa19698ee1)
- Remove "Reset overrides to default blueprint" button [fda2f10](https://github.com/rerun-io/rerun/commit/fda2f1024d6efc77eabef10cccd7fde52018015a)
- Fix dataframe API rejecting non-nullable outer list fields on MCAP-converted recordings [c44ca0c](https://github.com/rerun-io/rerun/commit/c44ca0cc4bd3d507f8c880ede2753eb56a69ef72)
- Fix error messages for potentially recoverable MCAP files [56b5be0](https://github.com/rerun-io/rerun/commit/56b5be047bc354de4488d6423ddb0c2e26eb60bb)
- Fix `TransformAxes3D` blanking the whole 3D view when one frame is unresolvable [7c76d0d](https://github.com/rerun-io/rerun/commit/7c76d0d67f034eccf820e0072d9bb88e67238328) (thanks [@lsy3](https://github.com/lsy3), [@luke-alloy](https://github.com/luke-alloy)!)
- Skip unloadable meshes instead of failing import [a013fe4](https://github.com/rerun-io/rerun/commit/a013fe4245313aee500a85c657fe90614089e811)
- Fix containers not re-layouting when views are hidden [afbb031](https://github.com/rerun-io/rerun/commit/afbb0311ab9d57356c15d1c5b9e859d91a7ac8bb)
- Fixes click on state lanes not selecting the entity [de1f2c3](https://github.com/rerun-io/rerun/commit/de1f2c3a3b7c42e54a79630cd39cc88bde43f6cb)
- Fix opening links [04e6e08](https://github.com/rerun-io/rerun/commit/04e6e086b16fe005d517036f3732cc67ea36fb99)
- Reflect dynamic `Struct` proto into JSON and guard against recursion [1202ee7](https://github.com/rerun-io/rerun/commit/1202ee7a0ed54f3b91fdec2c0b446c837c610509)
- fix: validate e-tags mid-registrations and on get_rrd_manifest [e0c458f](https://github.com/rerun-io/rerun/commit/e0c458fede4cb3508049366faec5cb7cd408739b)
- Fix video playing when there's many samples at the same timestamp [31d6687](https://github.com/rerun-io/rerun/commit/31d6687dfde4853564c4a0fb47e4aca9919295fa)
- Fixes incompatible visualizers showing up in context menu [c8a597c](https://github.com/rerun-io/rerun/commit/c8a597ce2af7bdbe4e3ee37b392d498267103fa5)
- Pass through frame info with av1 decoder [2c579bb](https://github.com/rerun-io/rerun/commit/2c579bbe67ef408cf509a8848e310949cbcedb90)
- Fix detecting various link types (s3, gs, ftp etc.) as things we can open [3fa4313](https://github.com/rerun-io/rerun/commit/3fa4313c87711fab586086015d0a68e3fa7ea1ca)
- Failure to load will now stay in loading screen (with error) for all log sources [f30766b](https://github.com/rerun-io/rerun/commit/f30766b13c048a59ea6d59ce0d057e0a4e4344e6)
- Don't warn if an open asset is removed [24ca9b5](https://github.com/rerun-io/rerun/commit/24ca9b5284fb7a2cacdbb2a3f987950261324be7)
- Fix URDF prismatic joints sliding along the wrong axis [397a4a5](https://github.com/rerun-io/rerun/commit/397a4a583cf2ccfdd0f8eef8d100e3700c8925a1)

#### 🌁 Viewer improvements
- Visible time range control for state view [c4c0f03](https://github.com/rerun-io/rerun/commit/c4c0f03f942a770e985035d23fae3f0da2a90c05)
- Viewer downloading asset chunks and caching them [c0e306c](https://github.com/rerun-io/rerun/commit/c0e306c8d6489fa4091be20b61a7f78c29a710de)
- State Timeline accepts dropping entities [3cb5761](https://github.com/rerun-io/rerun/commit/3cb5761bcda3d69e85b616c8e6b21c6db70d29bb)
- Dataset Asset UI [700cfe5](https://github.com/rerun-io/rerun/commit/700cfe5cf56130d35128987f033b89a493304084)
- Use `/dataset/<entry_id>` for URI's leading to datasets [5025e20](https://github.com/rerun-io/rerun/commit/5025e207bc2753925b530c40a8297bbf269c1f43)
- Pins time cursor to center of state timeline [e2df8f0](https://github.com/rerun-io/rerun/commit/e2df8f0d04edf863bbb2461027a7c0a1a24d745b)
- Registering & Unregistering assets in viewer [5ab20d4](https://github.com/rerun-io/rerun/commit/5ab20d45ab61b4e30bb386a7bbbd3fc48b40012c)

#### πŸš€ Performance improvements
- Speed up schema reflection of ROS 2 MCAP channels [7b1aa5f](https://github.com/rerun-io/rerun/commit/7b1aa5fdd8bbc940621ecf65e17138972301c9c8)
- Support incremental ingest for SortedTemporalChunks [#12812](https://github.com/rerun-io/rerun/pull/12812) (thanks [@0n41rd4](https://github.com/0n41rd4)!)

#### πŸ–Ό UI improvements
- Improved selection panel navigation [3d82d44](https://github.com/rerun-io/rerun/commit/3d82d449a2c37886d40342ad7882bf5aff782d36)
- Add back/forward history to the selection panel [2b9f5e4](https://github.com/rerun-io/rerun/commit/2b9f5e47ed085789e9e773abe4f0411651441141)

#### πŸ•ΈοΈ Web
- Add `save_recording` & `save_blueprint` javascript APIs [a2660e5](https://github.com/rerun-io/rerun/commit/a2660e5047b065ab5c6f608c86c175e3bd7c4e8a)

#### πŸ§‘β€πŸ’» Dev-experience
- Add an MP4Reader skill and fix a bug caught in reviewing the skill [e71975f](https://github.com/rerun-io/rerun/commit/e71975f92c45092ed1a6bc210773235a64fde004)

#### πŸ€·β€ Other
- Chunk-index-based mergeability assessment [03c1a26](https://github.com/rerun-io/rerun/commit/03c1a26ed23fffa38820a54100e795fcdf913679)
- Always put `IsKeyframe` into their own chunks [1e2790d](https://github.com/rerun-io/rerun/commit/1e2790d55b91856935134fd76ecc0b4ec1025ac4)