80 lines
4.8 KiB
Markdown
80 lines
4.8 KiB
Markdown
---
|
|
title: Migrating from 0.33 to 0.34
|
|
order: 976
|
|
---
|
|
|
|
## `log_tick` no longer logged by default; `log_time` can be disabled
|
|
|
|
The SDK no longer injects the `log_tick` timeline column into logged data by default.
|
|
The `log_time` timeline is still injected by default, but can now be disabled.
|
|
|
|
The initial defaults are controlled by environment variables, read once on first use:
|
|
|
|
| Variable | Default | Effect |
|
|
|------------------|---------|--------------------------------------------------------------|
|
|
| `RERUN_LOG_TICK` | off | Set truthy (`1`/`true`/`on`/…) to inject the `log_tick` timeline. |
|
|
| `RERUN_LOG_TIME` | on | Set falsy (`0`/`false`/`off`/…) to skip the `log_time` timeline. |
|
|
|
|
They can also be toggled at runtime, either on the active recording or on a specific `RecordingStream`:
|
|
|
|
snippet: migration/log_tick_enabled
|
|
|
|
If you relied on the `log_tick` timeline being present, set `RERUN_LOG_TICK=1` (or call `set_log_tick_enabled(true)`) to restore the old behavior.
|
|
|
|
## `rerun.recording` module removed
|
|
|
|
The `rerun.recording` module — `Recording`, `RRDArchive`, `load_recording`, `load_archive` — has been removed, having been deprecated in 0.32.
|
|
The related `rr.send_recording()`, `RecordingStream.send_recording()`, `Recording.from_chunks()`, and `DatasetEntry.download_segment()` are removed as well.
|
|
|
|
Use `rerun.experimental.RrdReader` instead.
|
|
See the [0.32 migration guide](migration-0-32.md#rerunrecording-deprecated-in-favor-of-rrdreader) for more details.
|
|
|
|
## Remove embedded base64-encoded table blueprints & replace with blueprint registration
|
|
|
|
Table blueprints are no longer read from the Arrow schema metadata key `rerun:table_blueprint`.
|
|
If you previously stored `base64:…` encoded `.rbl` bytes in table metadata, export that blueprint as a regular `.rbl` file and register it with `TableEntry.register_blueprint(...)` instead.
|
|
Tables without a registered blueprint fall back to Arrow field metadata and viewer heuristics.
|
|
|
|
> [!NOTE]
|
|
> As of this release table blueprints alongside dataset preview are still regarded as an
|
|
> experimental feature which means that the table & APIs for table blueprints may change significantly.
|
|
|
|
## `DatasetEntry.manifest()` deprecated
|
|
|
|
`DatasetEntry.manifest()` was always intended for internal and debugging use only and should never have been part of the public API.
|
|
It is now marked `@deprecated` and will be removed in a future release.
|
|
No public replacement is offered.
|
|
|
|
## Remove previously deprecated SDK methods for custom indices
|
|
|
|
The `DatasetEntry` methods `create_fts_search_index`, `create_vector_search_index`, `delete_search_indexes`, `search_fts`, and `search_vector` have been removed, having been deprecated in 0.31.
|
|
|
|
This change does not impact your ability to search through your dataset via [dataframe queries](https://rerun.io/docs/concepts/query-and-transform/dataframe-queries).
|
|
|
|
## `rr.send_dataframe` is now stricter and built on `Chunk.from_record_batch`
|
|
|
|
`rr.send_dataframe` / `rr.send_record_batch` are now thin wrappers over the new `rerun.experimental.Chunk.from_record_batch` (and `Chunk.from_dataframe`), which turns an Arrow record batch into one chunk per entity path.
|
|
This makes the Arrow → chunk interpretation a first-class, well-specified capability, but it changes a few behaviors that previously happened silently.
|
|
|
|
Consequently, the following breaking behavior changes are introduced:
|
|
|
|
- A batch with no index column now raises instead of silently logging static data.
|
|
Opt in for a static chunk explicitly with `index=None` for static, or specify a column to use as index with `index=<column>` for temporal chunk.
|
|
- Entity-path recognition from a column name now requires a leading `/`.
|
|
Names without it are no longer parsed for an entity path: `foo` and `foo:bar` previously became the entity `/foo`, and now land on the root entity `/` as components.
|
|
Only `/entity:component` names are split.
|
|
(Column names emitted by the Rerun SDK always have the `/` prefix.)
|
|
- As a consequence, `property:…` columns now land on the root entity `/` rather than an entity named `property`.
|
|
Neither map back to `/__properties` — proper handling of this is not yet implemented.
|
|
- `component_type` is no longer defaulted to the literal `"Unknown"` when absent; it is left unset.
|
|
|
|
## `ParquetReader` column rules removed in favor of lenses
|
|
|
|
`rerun.experimental.ParquetReader` no longer accepts the `column_rules` parameter, and the `ColumnRule` class has been removed.
|
|
`ParquetReader` is now a pure reader — it turns raw parquet columns into grouped, time-indexed chunks of struct/scalar components.
|
|
Mapping those struct fields into Rerun archetypes is now done with lenses on the reader's `.stream()`.
|
|
|
|
## `SaveScreenshot` gRPC endpoint moved to new `ViewerControlService`
|
|
|
|
Previously, the `SaveScreenshot` gRPC endpoint was part of the `MessageProxyService`.
|