Skip to content

Commit

Permalink
Add draft of 0.19 changelog and release notes (#7781)
Browse files Browse the repository at this point in the history
  • Loading branch information
emilk authored Oct 16, 2024
1 parent 45d8af4 commit 899a348
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 7 deletions.
99 changes: 97 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,102 @@
# Rerun changelog


## [Unreleased](https://github.com/rerun-io/rerun/compare/latest...HEAD)
## [Unreleased](https://github.com/rerun-io/rerun/compare/latest...HEAD) - Dataframe & Video

TODO(emilk): insert a screenshot and/or code sample here

📖 Release blogpost: TODO(emilk): add link

🧳 Migration guide: No breaking changes in this release!

### ✨ Overview & highlights
This release introduces two powerful features: a dataframe API (and view), as well as video support.

#### ☰ Dataframe Python API
We now have a Python API for querying the contents of an .rrd file. This integrates with popular packages such as [Pandas](https://pandas.pydata.org), [Polars](https://pola.rs), and [DuckDB](https://duckdb.org).

You can read more in [the Dataframe API how-to guide](https://rerun.io/docs/content/howto/dataframe-api?speculative-link).

We have also added a matching dataframe view inside the Rerun Viewer.
Read more [here](https://rerun.io/docs/content/reference/types/views/dataframe_view?speculative-link).

#### 🎬 Video
Rerun now supports logging MP4 videos using the new [`AssetVideo`](https://rerun.io/docs/reference/types/archetypes/asset_video?speculative-link) archetype.
This can greatly reduce bandwidth and storage requirements.

While the web viewer supports a variety of codecs, the native viewer supports only the AV1 codec for the moment, but we plan to support H.264 in the near future as well.
Read more about our video supports (and its limits) [in our video docs](https://rerun.io/docs/reference/video).

### ⚠️ Breaking changes
None this time!

### 🔎 Details

#### 🪵 Log API
- Tensor & depth image value ranges can now be configured, from UI & code [#7549](https://github.com/rerun-io/rerun/pull/7549)
- New planar pixel formats: `Y_U_V24`/`Y_U_V16`/`Y_U_V12` - `_LimitedRange`/`FullRange` [#7666](https://github.com/rerun-io/rerun/pull/7666)
- Refactor `MediaType` guessing [#7326](https://github.com/rerun-io/rerun/pull/7326)

#### 🌊 C++ API
- Add `nullptr` check when forwarding from component to datatype [#7430](https://github.com/rerun-io/rerun/pull/7430)

#### 🐍 Python API
- Add missing `show_labels` and `draw_order` arguments in Python API [#7363](https://github.com/rerun-io/rerun/pull/7363) (thanks [@kpreid](https://github.com/kpreid)!)
- Allow logging to a recording without first calling `rr.init()` [#7698](https://github.com/rerun-io/rerun/pull/7698)
- Add support for NumPy arrays to the arrow serializer for string datatypes [#7689](https://github.com/rerun-io/rerun/pull/7689)

#### 🦀 Rust API
- Fix Rust's `TimeColumn::new_seconds/new_nanos` creating sequence timelines [#7402](https://github.com/rerun-io/rerun/pull/7402)
- Update ndarray to 0.16 and ndarray-rand to 0.15 [#7358](https://github.com/rerun-io/rerun/pull/7358) (thanks [@benliepert](https://github.com/benliepert)!)
- Replace `host_web_viewer` method with `WebViewerConfig::host_web_viewer` [#7553](https://github.com/rerun-io/rerun/pull/7553)
- Update MSRV to Rust 1.79 [#7563](https://github.com/rerun-io/rerun/pull/7563)

#### 🪳 Bug fixes
- Purge the query cache to prevent GC livelocks [#7370](https://github.com/rerun-io/rerun/pull/7370)
- Bug fix: always show latest data in follow-mode [#7425](https://github.com/rerun-io/rerun/pull/7425)
- Fix encoded image being suggested for non-image blobs (like video) [#7428](https://github.com/rerun-io/rerun/pull/7428)
- Chunk store: support for overlapped range queries [#7586](https://github.com/rerun-io/rerun/pull/7586)
- Fix image & video cache creating new entries when selecting data without explicit media type [#7590](https://github.com/rerun-io/rerun/pull/7590)

#### 🌁 Viewer improvements
- The viewer will tail an .rrd that's is being written to [#7475](https://github.com/rerun-io/rerun/pull/7475)
- Native video support for AV1 [#7557](https://github.com/rerun-io/rerun/pull/7557)

#### 🚀 Performance improvements
- Improve performance for scenes with many entities & transforms [#7456](https://github.com/rerun-io/rerun/pull/7456)
- `Caches` per recording [#7513](https://github.com/rerun-io/rerun/pull/7513)
- Automatic removal of unreachable static chunks [#7518](https://github.com/rerun-io/rerun/pull/7518)
- Invalidate hub-wide caches on deletions and overwrites [#7525](https://github.com/rerun-io/rerun/pull/7525)
- Do not cache static entries in the query-time latest-at cache [#7654](https://github.com/rerun-io/rerun/pull/7654)
- Make sure Arrow `filter` and `take` kernels early out where it makes sense [#7704](https://github.com/rerun-io/rerun/pull/7704)

#### 🧑‍🏫 Examples
- Add drone LiDAR example [#7336](https://github.com/rerun-io/rerun/pull/7336)
- add instant_splat example [#7751](https://github.com/rerun-io/rerun/pull/7751) (thanks [@pablovela5620](https://github.com/pablovela5620)!)

#### 📚 Docs
- Add video reference docs [#7533](https://github.com/rerun-io/rerun/pull/7533)
- Document that Rerun does not support left-handed coords [#7690](https://github.com/rerun-io/rerun/pull/7690)
- Add a How-to guide for the dataframe API [#7727](https://github.com/rerun-io/rerun/pull/7727)
- Docs: move "roadmap" down to "development" [#7775](https://github.com/rerun-io/rerun/pull/7775)
- Add a "Getting started" guide for the dataframe API [#7643](https://github.com/rerun-io/rerun/pull/7643)
- Docs: clean up reference menu [#7776](https://github.com/rerun-io/rerun/pull/7776)
- Updating "Navigating the viewer" [#7757](https://github.com/rerun-io/rerun/pull/7757)

#### 🖼 UI improvements
- Add a hook for views to add additional UI in the tab title bar [#7438](https://github.com/rerun-io/rerun/pull/7438)
- Text fields in the selection panel now span the available width [#7487](https://github.com/rerun-io/rerun/pull/7487)
- Do not deselect on ESC when it was used to close some other UI element [#7548](https://github.com/rerun-io/rerun/pull/7548)
- Add UI for precisely picking an exact sequence time [#7673](https://github.com/rerun-io/rerun/pull/7673)
- Remove the feature flag for plot query clamping [#7664](https://github.com/rerun-io/rerun/pull/7664)

#### 🎨 Renderer improvements
- Introduce image data conversion pipeline, taking over existing YUV conversions [#7640](https://github.com/rerun-io/rerun/pull/7640)

#### 🧑‍💻 Dev-experience
- Add a command palette action to reset egui's memory (debug build only) [#7446](https://github.com/rerun-io/rerun/pull/7446)
- Add NOLINT block to `lint.py` [#7720](https://github.com/rerun-io/rerun/pull/7720)



## [0.18.2](https://github.com/rerun-io/rerun/compare/0.18.1...0.18.2) - Even more bug fixes
Expand Down Expand Up @@ -241,7 +336,7 @@ _All four tetrahedron meshes on this screen share the same vertices and are inst
- Recommend install rerun-cli with `--locked` [#6868](https://github.com/rerun-io/rerun/pull/6868)
- Remove `TensorBuffer::JPEG`, `DecodedTensor`, `TensorDecodeCache` [#6884](https://github.com/rerun-io/rerun/pull/6884)

#### 🪳Bug Fixes
#### 🪳 Bug fixes
- Respect 0.0 for start and end boundaries of scalar axis [#6887](https://github.com/rerun-io/rerun/pull/6887) (thanks [@amidabucu](https://github.com/amidabucu)!)
- Fix text log/document view icons [#6855](https://github.com/rerun-io/rerun/pull/6855)
- Fix outdated use of view coordinates in `Spaces and Transforms` doc page [#6955](https://github.com/rerun-io/rerun/pull/6955)
Expand Down
2 changes: 0 additions & 2 deletions docs/content/howto/dataframe-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@ view = recording.view(index="frame_nr", contents={

A view has several APIs to further filter the rows it will return.

<!-- TODO(rerun-io/landing#521): change these headers to h4 when these are properly supported -->

#### Filtering by time range

Rows may be filtered to keep only a given range of values from its index column:
Expand Down
7 changes: 4 additions & 3 deletions scripts/generate_changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
OFFICIAL_RERUN_DEVS = [
"abey79",
"emilk",
"gavrelina",
"jleibs",
"jprochazk",
"nikolausWest",
Expand Down Expand Up @@ -187,7 +188,7 @@ def main() -> None:

labels = pr_info.labels if pr_info else []

if "exclude from changelog" in labels:
if "include in changelog" not in labels:
continue

summary = f"{title} [#{pr_number}](https://github.com/{OWNER}/{REPO}/pull/{pr_number})"
Expand All @@ -212,7 +213,7 @@ def main() -> None:
added = False

# Some PRs can show up under multiple sections:
if "🪵 Log-API" in labels:
if "🪵 Log & send APIs" in labels:
log_api.append(summary)
added = True
else:
Expand Down Expand Up @@ -284,7 +285,7 @@ def main() -> None:
print_section("🌊 C++ API", cpp)
print_section("🐍 Python API", python)
print_section("🦀 Rust API", rust)
print_section("🪳 Bug Fixes", bugs)
print_section("🪳 Bug fixes", bugs)
print_section("🌁 Viewer improvements", viewer)
print_section("🚀 Performance improvements", performance)
print_section("🧑‍🏫 Examples", examples)
Expand Down

0 comments on commit 899a348

Please sign in to comment.