Skip to content

Releases: rerun-io/rerun

0.14.1 - Fix C++ build artifacts

29 Feb 12:50
Compare
Choose a tag to compare

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

This release is identical to 0.14.0 and merely fixes an issue in the build artifacts for C++: 0.14.0 only contained binaries for Linux x64.
This release has the full set for Linux x64, Windows x64, Mac x64 & Mac Arm64.

0.14.0 - "Unlimited" point clouds & lines, quality of life improvements, bugfixes

28 Feb 15:30
Compare
Choose a tag to compare
0.14.release.video.final.mp4

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

Originally, we planned to do only a bugfix release, but we got an unexpected amount of goodies amassed already.
We're still ramping up for programmable blueprints (soon!), but meanwhile enjoy these improvements in 0.14!

Overview & Highlights

  • 📈 Limits for number of points & lines per space view lifted.
  • 🖱️ Added context menu (right-click) actions for items on the Blueprint panel. (Only getting started on this, more actions in future releases!)
  • 🚀 Speed improvements for scenes with many transforms and large point clouds.
  • 🔺 Built-in STL mesh support.
  • 🎥 First-person camera.
  • 🐛 Fixes regressions in Space View spawn heuristics from 0.13, and many more bugfixes.
  • 🧑‍🏫 Two new examples: Gesture Recognition & RRT* Pathfinding

Details

🪵 Log API

  • Add helpers for perspective cameras #5238
  • Fix spawn starting the viewer even if logging is disabled #5284

🐍 Python API

  • Add missing python docs for disable_timeline & reset_time #5269
  • Fix missing error message when passing from_parent + rerun transform type to rerun.Transform3D #5270

🦀 Rust API

  • Fix using rerun crate as a dependency on CI #5170

🪳 Bug Fixes

  • Enforce the rule: heuristics should never add a new view that would be completely covered by an existing view #5164
  • Remove log spam when quickly resizing the viewer #5189
  • Fix incorrect minimum supported rust version mentioned in docs and examples #5195
  • Less restrictive visualizability constraints of 2D entities, improved space view generation heuristics #5188
  • Fix ugly UI for some arrow data #5235
  • Fix missing redraw upon resetting blueprint #5262
  • Fix non-deterministic redundancy check for space view spawning heuristic #5266
  • Fix resetting vertical axis when using non-uniform zoom on Time Series #5287

🌁 Viewer Improvements

  • Clear all blueprints in RAM and on disk when clicking "Reset Viewer" #5199
  • Improve the orbit eye to always maintain an up-axis #5193
  • Focus on current bounding-box when resetting camera-eye on a 3D space view (double click it) #5209
  • Add STL mesh support #5244
  • Add first person 3D eye-camera #5249

🚀 Performance Improvements

  • More robust handling of maximum texture size for non-color data, slight perf improvements for large point clouds #5229
  • Cached transforms & disconnected spaces for faster scenes with many transforms #5221
  • Optimized cpu time for 3D point clouds (once again!) #5273
  • Only compute store/caching stats when the memory panel is opened #5274
  • Increase the max WebSocket frame limit for the native client #5282

🧑‍🏫 Examples

📚 Docs

  • Fix broken link in the installing-viewer documentation #5236 (thanks @BirgerMoell!)

🖼 UI Improvements

  • Context Menu 1: Basic scaffolding and simple actions #5163
  • Context menu 2: add support for multiple selection #5205
  • Context menu 3: add "Move to new container" context menu action #5210
  • Context menu 4: add "Clone space view" action #5265
  • Context menu 5: refactor into multiple files #5289
  • Clickable path parts in selection-panel #5220
  • Don't show the blueprint section when selecting recordings #5245
  • Use the same icon for recordings everywhere #5246

🎨 Renderer Improvements

  • Lift point cloud size limitations #5192
  • Lift line vertex/strip count limitations #5207
  • Fix banding artifacts of 3D space view's skybox #5279

📦 Dependencies

  • Bump maturin to 1.14.0 #5197
  • Update tungstenite to remove RUSTSEC warning #5200
  • Lock the web-sys version to 0.3.67 #5211

0.13.0 - Fast time series, improved layout editing & UI overrides

12 Feb 16:07
Compare
Choose a tag to compare

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

This release focuses on scalar time series -- both from a performance and UI perspectives. Check out our associated blog post for more information.

Overview & Highlights

  • 📈 Rerun can now visualize many time series in the kHz range in real-time:

    • The new query cache optimizes data access, improving query performance by 20-50x
    • Sub-pixel aggregation prevents unnecessary overdraw when rendering plots, improving rendering time by 30-120x
    • Points, lines, arrows and boxes all benefit from query caching too to a lesser extent, yielding 2-5x performance improvements
  • 🖼 UI overrides:

    • The new Scalar, SeriesLine & SeriesPoint archetypes allow for customizing plots both at logging and visualization time
    • Customize marker shapes, marker sizes, etc from code or directly through the UI
    • Specify axis labels, lock axes, etc from code or directly through the UI
  • 🌁 Viewer:

    • The number of compute threads can now be controlled using the --threads/-j flag
    • Added support YUY2-encoded images (thanks @oxkitsune!)
    • Space views can now be drag-and-dropped directly from the blueprint tree
    • Scenes with 100+ entities are now up to 5x faster.
  • 🚚 New Space View and Container creation workflow:

    • When selected, containers have a children list in the Selection Panel, where new Space Views and Containers may be added.
    • New modal dialog to add Space Views and Containers.
    • The same dialog is also available from the + button of the Blueprint tree UI.
    • The Space View's origin can now be edited in the Selection Panel.
    • The container hierarchy can now be cleaned up with the new Simplify Hierarchy button in the Selection Panel for containers.
  • 🦀 The rust SDK now exposes an optional integration with the mint crate

  • 🕸️ The web UI SDK now supports loading multiple .rrd URLs

  • 🔺 The web viewer now renders using WebGPU by default (when available), leading to lower memory usage on Chrome.
    You can override this behavior using ?renderer=webgl/?renderer=webgpu url parameter, or restart with WebGL/WebGPU respectively from the options menu.

As well as a lot of miscellaneous bug fixes and usability improvements: see details below.

Check out our migration guide.

Details

🪵 Log API

  • Mark TimeSeriesScalar as deprecated in all SDKs and documentation #5102

🌊 C++ API

  • Document that in C++ PinholeProjection::from_mat3x3 is column major #4843
  • Include LICENSE files into C++ SDK Assets #4870 (thanks @rgolovanov!)
  • Fix C++ arrow build flag forwarding #4921 (thanks @rgolovanov!)

🦀 Rust API

  • Add integration with the mint crate #4753

🐍 Python API

  • Fix support for compressing mono images by respecting mode to determine depth #4847

🪳 Bug Fixes

  • External loader: don't do process IO on compute thread-pool #4942
  • Fix a Visible Time Range UI issue where the summary string would display the wrong data range #5034
  • Clear empty containers after tile drag-and-drop #5044
  • Allow for very large meshes & plots by always picking the largest available GPU buffer size #5053
  • Fix forever repaint of big scenes #5071
  • Fix RERUN_FLUSH_NUM_BYTES and data size estimations #5086
  • Make rectangle_fs.wgsl compile on chrome despite angle/mesa bug (#3931) #5074

🌁 Viewer Improvements

  • Introduce Scalar, SeriesLine, and SeriesPoint archetypes with their own visualizers #4875
  • Support modifying the plot style by introducing a generic framework for overriding components #4914
  • Introduce a new blueprint archetype for AxisY configuration in a plot #5028
  • Improve the selection/hover behavior for plots #5096
  • Click a spatial space view background to select the space view itself #4796
  • Double-clicking an entity in the blueprint & time panels focuses the 3D camera on it #4799
  • When loading a .ply file, warn about ignored properties #4934
  • Make it easier to position 3D eye-camera center #4943
  • Include tessellation and rendering in CPU time shown in top bar #4951
  • Allow selection of entities directly in the plot space view #4959
  • Texture support for raw Mesh3D logging #4894

🚀 Performance Improvements

  • Add --threads / -j to control number of compute threads #5021
  • Introduce the query cache:
    • Primary caching 3: bare-bone latest-at caching #4659
    • Primary caching 4: runtime toggle support #4680
    • Primary caching 5: 2D & 3D point clouds #4681
    • Primary caching 6: TextLogs & TimeSeries #4698
    • Primary caching 7: Always expose the data time in query responses #4711
    • Primary caching 8: implement latest-at data-time cache entry deduplication #4712
    • Primary caching 9: timeless latest-at support #4721
    • Primary caching 10: latest-at cache invalidation #4726
    • Primary caching 11: cache stats and integration with memory panel #4773
    • Primary caching 12: bare-bone range support #4784
    • Primary caching 13: stats & memory panel integration for range queries #4785
    • Primary caching 14: don't bake LatestAt(T-1) results into low-level range queries #4793
    • Primary caching 15: range read performance optimization #4800
    • Primary caching 16: context-free range semantics #4851
    • Primary caching 17: timeless range #4852
    • Primary caching 18: range invalidation (ENABLED BY DEFAULT 🎊) #4853
    • Primary caching 19 (final): make cache globals non-static #4856
  • Integrate query caching with more primitives:
    • Cached 2D & 3D box clouds #5000
    • Cached 2D & 3D line clouds #5083
    • Cached 2D & 3D arrow clouds #5088
  • Configurable dynamic plot aggregation based on zoom-level #4865
  • Improved automatic view creation heuristic, major speedup for scenes with many entities #4874
  • Optimize point clouds #4932

🧑‍🏫 Examples

  • Update all examples that use TimeSeriesScalar to use Scalar instead #5042

📚 Docs

  • Improve documentation of the Clear archetype #4760
  • DisconnectedSpace now only applies to spatial space views #4935
  • Fill gaps in image encoding documentation, fix how python documents union variants #4988

🖼 UI Improvements

  • Improve timeseries Space Views:
    • Introduce a new component for MarkerShape and use it in SeriesPoint #5004
    • Introduce a new StrokeWidth component and use it for SeriesLine #5025
    • Break up plot charts when there's a Clear [#49...
Read more

0.12.1 - Data loader bug fixes

19 Jan 10:06
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.


🌊 C++ API

  • Fix CMake trying to pick up test folders outside of the Rerun project/zip #4770 (thanks @KevinGliewe!)
  • Document that Mat3x3 and Mat4x4 constructors are column major #4842

🦀 Rust API

  • Fix entity_path_vec! and entity_path! depending on ToString being in scope #4766 (thanks @kpreid!)

🪳 Bug Fixes

  • Fix external data loader plugins on Windows #4840
  • Reduce latency when loading data from external loaders #4797
  • Always point to versioned manifest when building a versioned binary #4781

🧑‍💻 Dev-experience

  • External loaders: remove warnings on duplicated binary on $PATH #4833

🤷‍♂️ Other

  • Include Cargo.lock in rerun-cli crate #4750
  • Replace atty dependency with std::io::IsTerminal #4790 (thanks @kpreid!)

0.12.0 - Data Loaders, Container-editing, and Python-3.12

09 Jan 18:26
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.

Related blog post: Introducing plugins for loading any file to Rerun.

Overview & Highlights

  • 🌁 The Rerun Viewer now supports a plugin system for creating arbitrary external data loaders.
  • 🕸️ More built-in examples are now available in the viewer.
  • 🐍 The Python SDK now works with Python-3.12.
  • 📘 Blueprint containers can now be selected and modified.
  • 🚀 In the native viewer, space views are now evaluated in parallel for improved performance.
  • 🧑‍🏫 Support and guide for sharing a recording across multiple processes.
  • 📁 Entity-paths allowed characters and escaping are now more file-like #4476:
    • There is no need for " quotes around path parts, instead we now use \ to escape special characters.
    • You need to escape any character that isn't alphabetical, numeric, ., -, or _.

Details

🌊 C++ API

  • Exposing recording_id in C and C++ SDKs #4384
  • All C++ preprocessor macros start now with RR_ (instead of a mix of RR_ and RERUN_) #4371
  • C++ & Python API: add helpers for constructing an entity path #4595

🐍 Python API

  • Add --stdout/-o to our CLI helper library #4544
  • C++ & Python API: add helpers for constructing an entity path #4595
  • Python SDK: introduce deferred garbage collection queue #4583
  • Add support for Python 3.12 #4146

🦀 Rust API

  • Exposing recording_id in Rust SDK #4383
  • Add --stdout/-o to our CLI helper library #4544
  • Document how to construct an entity path for the Rust logging API #4584

🪳 Bug Fixes

  • Bugfix: show labels on segmentation images with trivial dimensions #4368
  • Datastore: don't eagerly sort in bucket split routine on ingestion path #4417
  • Resolve spurious blueprint panel group collapsing #4548
  • Fix rectangle that indicates the zoomed pixel area on hover being one pixel to small #4590
  • Fix wrong RowId order of logged data #4658
  • Make scroll-to-zoom a lot more responsive in 3D views #4668
  • Fix heuristic object properties being broken in some cases / fix DepthMeter being ignored sometimes #4679

🌁 Viewer Improvements

  • Make viewer contexts's render context reference non-mutable #4430
  • The Rerun Viewer can now consume from stdin
    • Standard input/output support 1: stream RRD data from stdin #4511
    • Standard input/output support 2: Rust SDK stdout impl/examples/docs #4512
    • Standard input/output support 3: Python SDK stdout impl/examples/docs #4513
    • Standard input/output support 4: C++ SDK stdout impl/examples/docs #4514
  • Support for custom DataLoaders:
    • DataLoaders 0: utility for hierarchical EntityPath from file path #4516
    • DataLoaders 1: introduce, and migrate to, DataLoaders #4517
    • DataLoaders 2: add text-based DataLoader (.txt, .md) #4518
    • DataLoaders 3: add 3D point cloud DataLoader (.ply) #4519
    • DataLoaders 4: add generic folder DataLoader #4520
    • DataLoaders 5: add support for external binary DataLoaders (PATH) #4521
    • DataLoaders 6: first-class support for Incompatible #4565
    • DataLoaders 7: support for custom DataLoaders #4566
  • 3D->2D & 2D->3D selection visualizations stick now around on selection #4587
  • The viewer now supports segmentation images logged natively as floats #4585
  • Fix incorrect bounding box calculation for camera view parts #4640

🚀 Performance Improvements

  • Parallelize Space View system evaluation #4460
  • Limit server memory #4636

🧑‍🏫 Examples

📚 Docs

  • Shared recordings 3: add how-to guide #4385
  • Document our crate organization in ARCHITECTURE.md #4458

🖼 UI Improvements

  • Plot legend visibility and position control (part 1): route EntityProperties to SpaceViewClass methods #4363
  • Plot legend visibility and position control (part 2): minor UI spacing improvement #4364
  • Reset accumulated bounding box when resetting camera #4369
  • Plot legend visibility and position control (part 3): legend UI added for both timeseries and bar charts space views #4365
  • Improve component data table UI in the selection panel #4370
  • Add optional color component to BarChart archetype #4372
  • Resolve unexpected view-partitioning by only bucket images when creating a new 2d view #4361
  • Restore egui_plot auto-bounds state after dragging the time cursor in timeseries space views #4270
  • Make Space View containers selectable and editable #4403
  • Improve selection and hover behavior of viewport's tabs #4424
  • Improve the Selection Panel UI for components when a single item is selected #4416
  • Show connection status in top bar #4443
  • Add the possibility to add empty space views of all registered types #4467
  • Add experimental Dataframe Space View #4468
  • Show e2e latency in metric ui in top panel #4502
  • Show leading slash when formatting entity paths #4537
  • Improve entity size stats: include whole subtree #4542
  • Add support for modal windows to re_ui and use it for the Space View entity picker #4577
  • Show entity path parts (entity "folder" names) unescaped in UI #4603
  • Improve Rerun Menu with link to Rerun Discord #4661
  • Introduce container icons and update space views and UI icons #4663
  • Initial support for manually adding container and space view in the hierarchy #4616
  • Change modal position to a fixed vertical distance from the top of the window #4700

🕸️ Web

  • Load examples manifest via HTTP #4391
  • Remove builds and usage of demo.rerun.io #4418
  • Open all links in a new tab #4582

🎨 Renderer Improvements

  • Log wgpu adapter on web #4414
  • Interior mutability for re_renderer's static resource pools (RenderPipeline/Shader/Layouts/etc.) #4421
  • Make draw data creation no longer require a mutable re_renderer context #4422
  • Move re_renderer examples to its own crate in order to make workspace level examples less confusing [#4472](https://github.com...
Read more

0.11.0 - C++ improvements & better Visible History

28 Nov 15:02
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for multimodal and temporal data

Release blog post: https://www.rerun.io/blog/cpp-sdk

visible.time.range.mp4

Overview & Highlights

  • 🌊 C++ SDK improvements
    • Reference docs are live!
    • 2x-5x faster logging
    • CMake install support and other CMake setup improvements
    • Support for custom components & archetypes
    • Zero copy logging for images, various API improvements
  • 📈 Visual History -> Visual Time Range
    • Time series plots can now limit its query to a range
    • Much more powerful UI, allowing query ranges relative to time cursor
  • 🕸️ The viewer can now be easily embedded in your web apps via our npm package
  • 🐍 ⚠️ Legacy Python API now removed, check the migration guide if you're not using rr.log yet
  • 🦀 The new StoreSubscriber trait allows to be notified of all changes in the datastore. This can be used to build custom indices and trigger systems, and serves as a foundation for upcoming performance improvements. Check out our example for more information.

⚠️ Known issues on Visual Time Range:

Special thanks to @Dvad & @dangush for contributing!

Details

🌊 C++ SDK

  • Support std::chrono types for set_time on rerun::RecordingStream #4134
  • Improve rerun_cpp readme & CMakeLists.txt #4126
  • Replace the many parameters of rerun::spawn / rerun::RecordingStream::spawn with a struct #4149
  • Make on TextLogLevel PascalCase (instead of SCREAMING CASE) to avoid clashes with preprocessor defines #4152
  • Reduce rerun_c library size (by depending on fewer unnecessary crates) #4147
  • Fix unnecessary includes in code generated headers #4132
  • Doxygen documentation & many doc improvements #4191
  • Rename rerun::ComponentBatch to rerun::Collection (and related constructs) #4236
  • Use rerun::Collection almost everywhere we'd use std::vector before #4247
  • Significantly improve C++ logging performance by using C FFI instead of arrow IPC #4273
  • Further improve C++ logging for many individual log calls by introducing a component type registry #4296
  • All C++ datatypes & components now implement a new Loggable trait #4305
  • Add C++ Custom Component example #4309
  • Expose Rerun source/include dir in CMakeLists.txt (RERUN_CPP_SOURCE_DIR) #4313
  • Support cmake install #4326
  • Export TensorBuffer & TensorDimension to rerun namespace #4331
  • C++ SDK sanity checks now header/source version against rerun_c binary version #4330
  • Allow creating Image/Tensor/DepthImage/SegmentationImage directly from shape & pointer #4345

🐍 Python SDK

  • Python: remove legacy APIs #4037
  • Remove deprecated rerun_demo package #4293
  • Python: don't catch KeyboardInterrupt and SystemExit #4333 (thanks @Dvad!)

🪳 Bug Fixes

  • Fix line & points (& depth clouds points) radii being unaffected by scale & projection via Pinhole #4199
  • Fix inaccessible entities being incorrectly added to space view #4226
  • Silence spammy blueprint warnings and validate blueprint on load #4303
  • Fix markdown heading size #4178

🌁 Viewer Improvements

  • Add command to copy direct link to fully qualified URL #4165
  • Implement recording/last-modified-at aware garbage collection #4183

🖼 UI Improvements

  • Improve Visible History to support more general time queries #4123
  • Add support for Visible History to time series space views #4179
  • Make Visible History UI more ergonomic and show inherited values #4222
  • Display Visible History on timeline when the mouse hovers the UI #4259
  • Improve the Selection Panel with better title, context, and Space View key properties #4324

🕸️ Web

  • Put web viewer on npm #4003
  • Auto-switch port when getting AddrInUse error #4314 (thanks @dangush!)
  • Generate per-PR web apps #4341

🧑‍💻 Dev-experience

  • Simple logging benchmarks for C++ & Rust #4181
  • New debug option to show the blueprint in the streams view #4189
  • Use pixi over setup scripts on CI + local dev #4302
  • Run deploy docs jobs serially #4232
  • fix windows test config on main #4242

🗣 Refactors

  • StoreView -> StoreSubscriber #4234
  • DataStore introduce StoreEvents #4203
  • DataStore introduce StoreViews #4205

0.10.1 - Bug fixes

02 Nov 16:45
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for computer vision and robotics.

Overview & Highlights

This is a small release primarily to tie up some loose ends for our C++ SDK.

🌊 C++ SDK

  • Avoid possible link/symbol errors but defaulting all OSes to static linking of arrow #4101
  • Fix compilation errors with C++20 #4098
  • Improve C++ SDK perf 5x by respecting CMAKE_BUILD_TYPE and enabling mimalloc #4094
  • Reduce amount of cmake log from building & downloading libArrow #4103

🧑‍💻 Dev-experience

  • C++ Windows CI #4110
  • Add MacOS C++ CI, add Linux C++20 CI #4120

Read the full changelog at https://github.com/rerun-io/rerun/blob/main/CHANGELOG.md

0.10.0 - C++ SDK

30 Oct 17:41
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for computer vision and robotics.

Release blog post: https://www.rerun.io/blog/cpp-sdk

Overview & Highlights

  • The C++ SDK is finally here!
    #include <rerun.hpp>
    
    int main() {
        const auto rec = rerun::RecordingStream("rerun_example_points3d_simple");
        rec.spawn().exit_on_failure();
    
        rec.log("points", rerun::Points3D({{0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}}));
    }
  • Add an integrated getting-started guide into the viewer splash screen
  • Add a new and improved spawn method in the Rust SDK
  • Add support for NV12-encoded images #3541 (thanks @zrezke!)
  • We now publish pre-built binaries for each release at https://github.com/rerun-io/rerun/releases

Details

🌊 C++ SDK

  • Has all the features of the Python and C++ SDK:s

🐍 Python SDK

  • Add RERUN_STRICT environment variable #3861
  • Fix potential deadlock when saving to file after logging at the end of a Python program #3920
  • Warn if no resolution provided to Pinhole #3923
  • Python: remove unconditional sleep on spawn #4010
  • Support pathlib.Path for rr.save #4036
  • Add disable_timeline function #4068
  • Support fast install of the rerun viewer with cargo binstall rerun-cli thanks to cargo binstall

🦀 Rust SDK

  • Introduce re_types_core #3878
  • Fix crash when using RecordingStream::set_thread_local on macOS #3929
  • Add improved spawn function #3996 #4031
  • Redesign clap integration #3997 #4040
  • RecordingStream: introduce connect_opts #4042
  • Add disable_timeline function #4068

🪳 Bug Fixes

  • Fix grayscale images being too dark #3999
  • Prevent badly sized tensors from crashing the viewer #4005
  • Fix selection history right-click menu not working #3819

🌁 Viewer Improvements

  • Replace --strict flag with RERUN_PANIC_ON_WARN env-var #3872
  • Support NV12-encoded images #3541 (thanks @zrezke!)

🧑‍🏫 Examples

  • --max-frame support for tracking examples #3835

📚 Docs

  • Synchronize code examples and their screenshots #3954
  • Improve docs for TextDocument example #4008
  • Fix typos in documentation and code comments #4061 (thanks @omahs!)

🖼 UI Improvements

  • Add basic support for in-app "Quick Start" guides #3813 #3912
  • Add copy-button to markdown code blocks #3882
  • Add warning in the Quick Start guides about Safari breaking Copy to Clipboard #3898

🎨 Renderer Improvements

  • Add easy way to dump out final wgsl shader #3947

🧑‍💻 Dev-experience

  • Approve all workflow runs for a specific contributor PR #3876
  • Make codegen I/O-free and agnostic to output location #3888
  • Configure pytest to fail on warnings #3903
  • Improve taplo output on failure #3909
  • Automatically synchronize build.rerun.io & release assets #3945
  • New helper script to run fast lints and pre-push hook that runs it #3949
  • CI: Rerun CLI as a release asset #3959
  • Add script to generate RRD vs. screenshots comparisons #3946
  • Add a new build Environment option for CondaBuild to improve conda-built artifacts #4015
  • Lock python in CI to 3.11 #4033
  • Changed spawn() and the rerun script to call into rerun_bindings (12x startup time improvement) #4053

0.9.1 - Bug fixes and performance improvements

13 Oct 06:33
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for computer vision and robotics.

Overview & Highlights

  • A bunch of bug fixes
  • Fix big performance regression when hovering images
  • The Rerun Viewer should now be visible to the system accessibility system

🐍 Python SDK

  • Added support for PyTorch array to Boxes2D's array convenience argument #3719
  • Fix default stroke width handling in log_line_strip_Xd and log_obbs #3720
  • Warn/raise when passing incompatible objects to log #3727
  • Refactor rerun.AnyValues to handle None input more gracefully #3725
  • Default DisconnectedSpaces boolean to true in Python #3760

🦀 Rust SDK

  • Fix return type of entity_path!() and entity_path_vec!() on empty input #3734 (thanks @kpreid!)
  • Export RecordingStreamError #3777

🪳 Bug Fixes

  • Fix bug when joining cleared optional components #3726
  • Update winit to 0.28.7 to fix UI glitch on macOS Sonoma #3763
  • Show 1D-tensors as bar charts #3769
  • Fix loading of .obj mesh files #3772
  • Fix crash when loading huge image #3775
  • Fix performance regression when viewing images and tensors #3767

🌁 Viewer Improvements

  • Turn on AccessKit accessibility integration #3732
  • Display space views using ViewCoordinates from closest ancestor #3748
  • Improve 3D view bounds handling of camera frustums #3749 #3815 #3811
  • Improve heuristics around 2D vs 3D space-view creation #3822

🚀 Performance Improvements

  • Optimize gathering of point cloud colors #3730

🧑‍🏫 Examples

  • Fix open photogrammetry example not working on Windows #3705

📚 Docs

  • Document that entity-path rerun/ is reserved #3747

🖼 UI Improvements

  • Show all entities/components in the Streams UI, even if empty for the selected timeline #3779

🧑‍💻 Dev-experience

  • Less automatic build.rs shenanigans #3814

🗣 Refactors

  • Refactor our build.rs files #3789

📦 Dependencies

  • Update ewebsock to 0.4.0 #3729
  • Update winit to 0.28.7 #3763

0.9.0 - New Logging API

05 Oct 16:47
Compare
Choose a tag to compare

Rerun is an easy-to-use visualization toolbox for computer vision and robotics.

Overview & Highlights

Rerun 0.9.0 is a big release, that introduces a brand new logging API.
This API is code-generated from a common definition, meaning the Python and Rust SDKs are very similar now.
This will let us more easily extend and improve the API going forward.
It is also the basis for our C++ API, which is coming in Rerun 0.10.0.

Read the migration guide for details!

0.9.0 Welcome Screen

Other highlights:

  • 🏃‍♀️ Large point clouds are up to 3x faster now
  • 📚 Markdown view support
    • 🔗 with easy to use in-viewer entity & component links
  • 📺 New startup screen
  • 🐛 Lots and lots of bugfixes
    • 👷‍♀️ Internally we have now way more automated testing for the new API surfaces
  • ✨ drag & drop for images & meshes (even on web!), time display in local time (thanks @jparismorgan!),
    .obj mesh support, default enabled memory limit, new how-to guide for custom data… and many many more smaller features!

Read the full changelog at https://github.com/rerun-io/rerun/blob/main/CHANGELOG.md