0.25.0 - Syntax highlighting, table filtering, transparent objects
Rerun 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 rerun-sdk - Rust:
cargo add rerunandcargo install rerun-cli --locked - Online demo: https://rerun.io/viewer
- C++ FetchContent: https://github.com/rerun-io/rerun/releases/download/0.25.0/rerun_cpp_sdk.zip
✨ Overview & highlights
Syntax highlighting
Our data frames and selection panel now feature prettier colors based on data types.
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.)
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 factorAsset3Dalbedo 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_blockingdestroying C++ recording stream #10885 - Respect
CMAKE_BUILD_TYPEwhen 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
🪳 Bug fixes
- Fix panic on bad STL files (e.g. for URDFs) #10855
- Fix
Ellipsoids3Darchetype 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
Pinholecamera 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
opacitysetting forVideoStream&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
- Fixed highlighting of Python code in docs #10920 (thanks @YohDeadfall!)
- Correct 'altitude' to 'latitude' in documentation #10998 (thanks @skalldri!)
- Added release calendar for Python #11081
🖼 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
🗣 Refactors
- Add
ApplicationIdinStoreId#10742

