Closed
Description
TODO
- Alpha release
- Fix red CI
- Cut release branch
- Make an RC
- Release blog post
- Run through https://github.com/rerun-io/rerun/blob/main/RELEASES.md
- Run through the release checklist
- Update some external examples, including
- Write release notes covering
- Backwards compatibility (@emilk )
- Callbacks
- Multi-Scalar plot/logging
- Recording properties
- send_tables
- ?
Current changelog
🪵 Log API
- Migrate file format to protobuf #8995
- Move
rerun.components.blueprint.Visible
torerun.components.Visible
#9067 - Infer column partition size from shape in
Scalar.columns()
#9068 - Infer partition size for FixedSizeList-backed components #9210
- Recording properties for naming recordings and adding information #9249
- Provide APIs to log arbitrary data to recording properties #9316
- Deprecate
SeriesLine
/SeriesPoint
/Scalar
in favor ofSeriesLines
/SeriesPoints
/Scalars
#9338 - Add
serve_grpc
API #9447 - Add experimental
send_recording
python api #9148 - Example showcasing
send_table
from notebooks #9522 - Add experimental
send_table
to Python SDK #9538
🌊 C++ API
- Migrate SDK comms to gRPC #8838
- New C++ API for timestamp/duration indices #9200
- Remove deprecated C++
connect
APIs #9212 - Rename
set_index
toset_time
#9291 - Add
detach_process
option tospawn
#9400 (thanks @imstevenpmwork!) - Consistent constructor naming of
Asset3D
across C++ and Rust #9239 (thanks @abhishek47kashyap!) - Use consistent time unit names for our API #9343
- CMake: Use
find_dependency
for Arrow #9548 (thanks @BillyONeal!) - Set
RERUN_ARROW_LINK_SHARED_DEFAULT
based on found Arrow build #9550 (thanks @BillyONeal!)
🐍 Python API
- Migrate SDK comms to gRPC #8838
- Update maturin to 1.8.1 and fix
pyproject.toml
#9104 - Add
rr.set_index
to replacerr.set_time_*
#9166 - Fix support for numpy-2 #9109
- Add
rr.IndexColumn
#9179 - Python SDK spring cleaning: 3.9, no more monkey patching, more lints #9182
- Enable a bunch of
ruff
lints #9201 - Remove deprecated Python APIs:
log_components
,connect
,connect_tcp
#9197 - Remove deprecated
rr.serve()
#9207 - Deprecate
rr.new_recording()
in favour ofrr.RecordingStream()
and improve type checking of the Rust bindings #9206 - Archetype based overrides & defaults #9209
- Fix several typing annotations in the SDK and run mypy on snippets #9260
- Correct truncation of AnyValues when using strings or bytes #9269 (thanks @timsaucer!)
- Rename
set_index
toset_time
#9291 - New
EntityBehavior
archetype for easyvisible
/interactive
blueprint overrides #9281 - Fix the string representation of archetypes #9297
- Initial python wrapper for the new catalog API #9301
- Change signature of
set_time_ctrl
to matchset_time
#9342 - Add
detach_process
option tospawn
#9400 (thanks @imstevenpmwork!) - Use consistent time unit names for our API #9343
- Allow passing url to notebook viewer #9493
- Add
rr.serve_web_viewer
#9540 - Import
rerun.notebook
lazily #9557
🦀 Rust API
- Migrate SDK comms to gRPC #8838
- Document default-log level change #8988
- Transposed
RecordBatch
formatter and other niceties #9056 - Fix
insta
crate leaking into regular (non-testing) builds #9092 - Update MSRV to 1.84 #9216
- Remove deprecated Rust
connect
APIs #9219 - Introduce
IndexCell
#9226 - Add
RecordingStream::set_index
#9236 - Rename
set_index
toset_time
#9291 - Add Rust Viewer Callbacks example #9346
- Make
BinaryStream::read
produce full RRD files #9352 - Add
detach_process
option tospawn
#9400 (thanks @imstevenpmwork!) - Consistent constructor naming of
Asset3D
across C++ and Rust #9239 (thanks @abhishek47kashyap!) - Use consistent time unit names for our API #9343
🪳 Bug fixes
- Fix time series marker sizes not being able to vary over time #9035
- Fix shader compilation failure in Chrome 131 #9152 (thanks @yakunouyang!)
- Fix setting visible time range from overrides #9151
- Speed up 2d spawn heuristic for many entities & fix heuristic creating overlapping views for
EncodedImage
#9308 - Fix time series display range being affected by invisible plots #9353
- Improve
rerun.notebook.Viewer
constructor #9495
🌁 Viewer improvements
- Make
SeriesLine
visualizer work with several scalars per time #9033 - Load depth images from Le Robot datasets #9049
- Fix inconsistencies in plot highlights #9061
- Add command palette action for resetting to the default blueprint #9088
- Plot series visibility separarate from entity visibility, handle multi-series visibility #9079
- Support Unitree LeRobot dataset naming format #9100
- Add context menu action to copy entity paths to clipboard #9137
- Copy description of selection (entity path, store id, etc.) via
cmd/ctrl + c
#9172 - Editable time control & time context menus #9174
- Check dataset version when loading LeRobot dataset #9233
- Enable scalar arrays per time point for scatter plots #9327
- Double clicking plots focuses them now in other panels #9333
- Use multi-dimensional scalar values when loading LeRobot dataset #9402
- Infer image/video channel index from LeRobot metadata #9435
- Implement
send_table
inre_grpc_server
andre_viewer
#9510
🧑🏫 Examples
- Add example for python notebook with partial & columnar updates #8956
- IMU data example #9102
- Add Mast3r_slam Example #9242 (thanks @pablovela5620!)
📚 Docs
- Add link to Snap Store in Gettting Started #8972 (thanks @artivis!)
- Document testing in Rerun #8989
- Fix rustdocs for
re_video
#9295 - Callbacks: Update APIs, improve docs #9312
- Update
__
as reserved entity path in docs #9387 - Update cpp/eigen_opencv README snippets #9463 (thanks @ExpertOfNil!)
- Include field names in Archetype docs #9563
🖼 UI improvements
- Improve
redap://
connection UX and error messages #9045 - First iteration of a dedicated UI and communication for the Redap server/catalog/collection browser #9018
- Persist servers and allow adding/removing them from the UI #9086
- Show EXIF data for JPEG/TIFF images #9153
- Add entity search to the add/remove entity modal #9120
- Streamline the help view shortcuts with the shortcuts in the menu #9268
- Prevent automatic opening of views for archetypes in
RecordingProperties
#9315 - Group open recordings by origin, dataset/appid and examples #9377
- Implement basic UI to display recording properties #9381
- Better distinction and explanation of reserved namespaces in the UI #9390
- Add
TableStore
for table/dataframe entries + basic UI #9437 - Display thumbnail in tables by generating content-based hash for
Blob
components #9500
🕸️ Web
- Add selection change and time(line) change callbacks to Jupyter Notebook and JS APIs #9147
🎨 Renderer improvements
- Fix Bazel build: shader reloading only on in Rerun workspace #9414
🧑💻 Dev-experience
- Run
mypy
on the contents ofscripts/
#9214
📦 Dependencies
- Update egui to 0.31.1 #9186
- feat: update arrow to 54 #9259 (thanks @timsaucer!)