Skip to content

0.25.0 - Syntax highlighting, table filtering, transparent objects

Choose a tag to compare

@rerun-bot rerun-bot released this 16 Sep 16:08
· 701 commits to main since this release

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

Syntax highlighting

Our data frames and selection panel now feature prettier colors based on data types.

syntax highlight

Table filtering

We are busy working on a powerful filtering feature for our arrow dataframe widget used for tables (sent with ViewerClient.send_table()) as well as the Rerun server browser (entry list, partition list, and remote tables). This release introduces support for filtering boolean, integer, floating point, and string columns, with more coming in future releases. (Note that the text log views and dataframe views are using a different widget which does not support filtering.)

table_filtering

Transparent objects

We finally support transparency for meshes & various shapes (boxes, ellipsoids, etc.)!

transparency.mp4

Source of transparency ("alpha") is a bit limited for now:

  • color component on all of Boxes3D, Ellipsoids3D, Capsules3D & Cylinders3D
  • Mesh3D's albedo factor
  • Asset3D albedo color (depends on the underlying model format)

Naturally, there's still a lot of places missing where we'd like to add transparency support!

Experimental MCAP support

Rerun has experimental, partial support for importing data from MCAP files. We support a subset of ROS2/CDR and Protocol Buffers messages. Development is ongoing, feel free to share your use cases!

⚠️ Breaking changes

We removed the --serve, --drop-at-latency and -o CLI arguments, deprecated Python 3.9 and changed archetype specification in AnyValues.

We also removed flush_timeout_sec parameter to out connect functions. Instead you can specify a maximum wait time in the calls to flush, but usually this isn't needed, as the new blocking behavior is also much smarter.

See the
🧳 Migration guide for more details.

🔎 Details

🪵 Log API

  • Add explicit timeout to flush API #11008
  • Make archetype and URDF loaders honor entity_path_prefix #11085
  • Keep static log messages longer in the proxy #11091

🌊 C++ API

  • Fix flush_blocking destroying C++ recording stream #10885
  • Respect CMAKE_BUILD_TYPE when building the Rust code #11023
  • Add options to gRPC proxy server to replay newest data first #11118
  • Prevent arow_cpp from configuring/building/installing all the time #11093 (thanks @eliemichel!)

🐍 Python API

  • Add __len__ to codegened Python datatypes #10774
  • Remove '-o' shorthand for stdout from script_add_args #11043 (thanks @kabouzeid!)
  • Deprecate python 3.9 #11090
  • Bump datafusion-python to 48.0.0 #11089
  • Improve numpy 1 compatibility #11129 (thanks @Benjamin-Tan!)
  • Split AnyValues into AnyValues and DynamicArchetype #11045

🦀 Rust API

  • Update MSRV to 1.88 #10832
  • Split AnyValues into AnyValues and DynamicArchetype #11045

🪳 Bug fixes

  • Fix panic on bad STL files (e.g. for URDFs) #10855
  • Fix Ellipsoids3D archetype not showing in 2D view projections #10922
  • Fix unwanted eye (camera) movement when using shortcuts #8975 (thanks @kailiuca!)
  • Fix opacity heuristic for images/segmentation when scene changes #11014
  • Fix 3D eye camera reset not resuming tracking scene bounding box #11037
  • Fix mesh cache eviction issue #11079
  • Fix recording to split in two when loading an URDF #11086
  • Fix for single channel textures displayed only in the red channel #11101
  • Fix columns menu closing on click #11119
  • Fix sharing selection as a fragment #11161
  • Fix UI glitch when connected twice to the same server #11185
  • Fix tooltips sometimes being way too big #11190
  • Fix incorrect application id when dragging and dropping files #11197
  • Fix wrong rendering of some texture formats in light mode #11225

🌁 Viewer improvements

  • Integrate basic MCAP loader from rerun-io/rerun-mcap #10721
  • Support scroll-/pinch-to-zoom with first person eye control #10783
  • Low-level Arrow conversion of protobuf-encoded MCAP messages #10791
  • Support flexible x-axis for bars in BarChart #10675 (thanks @Xiao-Chenguang!)
  • Customize color and line width of Pinhole camera frustum #10842
  • CLI now consistently forward URLs to native/web viewer when possible #10909
  • Fix closing recordings/tables that are still being loaded showing up again #10963
  • Persist fallback token #10970
  • Allow opening web viewer links directly #10928
  • Add keyboard shortcut to copy entity hierarchy #10938
  • Add H.265 support for native & VideoStream #10994
  • Support sharing URLs for dataplatform datasets & tables #11038
  • New open from URL dialog & main menu entry #11040
  • Add archetypes for MCAP metadata #11062
  • Add opacity setting for VideoStream & VideoAsset #11113
  • Add MCAP parsers for scalar sensor messages #11078
  • Remove custom number formatting on copy #11148
  • Implement fallback mode for raw MCAP layer #11136
  • Support basic transparency for Mesh3D/Asset3D/Boxes3D/Ellipsoids3D/Capsules3D/Cylinders3D #11132
  • New link sharing dialog for detailed link sharing #11137

🚀 Performance improvements

  • Prevent 100% CPU Usage when running gRPC server by sleeping instead of yielding #10944 (thanks @nisseknudsen!)

📚 Docs

🖼 UI improvements

  • Log all low-level MCAP primitives + raw messages as fallback #10769
  • Add arrow data tree view and syntax highlighting #10777
  • Add debug information about caches on the memory panel #11055
  • Implement full text filtering for string-based columns of the table widget #11061
  • Add support for filtering on boolean columns #11095
  • Add support for filtering numeric (int/float) columns in tables #11142
  • Use partition id in the recording panel #11157
  • Draw loop selection highlight on the collapsed timeline #11203
  • Move copy / save buttons inline with the relevant component #11181
  • Set timeline with most events as default timeline #11217
  • Add share link button to time panel context menu #11186

🕸️ Web

  • Improve browser navigation for http & Rerun dataplatform links #10863
  • pixi: Use llvm-ar from PATH on macOS, avoid unexpanded ${PIXI_PROJECT… #10910 (thanks @matildasmeds!)

🧑‍💻 Dev-experience

  • Fix building Web Viewer on macOS #10828
  • Improve rerun rrd print #10881

🗣 Refactors

  • Add ApplicationId in StoreId #10742

📦 Dependencies

  • Use jiff date-time crate instead of time/chrono in more places #9536 (thanks @NiharP31!)

🤷‍ Other

  • Introduce MCAP layers and rerun mcap CLI tools #10856
  • Remove --drop-at-latency #11025