diff --git a/CHANGELOG.md b/CHANGELOG.md index 774f572fdbe2..028856a74db6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,23 +6,20 @@ ## [0.19.0](https://github.com/rerun-io/rerun/compare/0.18.2...0.19.0) - Dataframes & Video support - - - -πŸ“– Release blogpost: Coming soon! +πŸ“– Release blogpost: https://rerun.io/blog/dataframe 🧳 Migration guide: http://rerun.io/docs/reference/migration/migration-0-19 ### ✨ 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). +#### ☰ Dataframe API +We now have an 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). +You can read more in [the Dataframe API how-to guide](https://rerun.io/docs/howto/dataframe-api). 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). +Read more [here](https://rerun.io/docs/reference/types/views/dataframe_view). #### 🎬 Video Rerun now supports logging MP4 videos using the new [`AssetVideo`](https://rerun.io/docs/reference/types/archetypes/asset_video) archetype. @@ -33,7 +30,7 @@ Read more about our video supports (and its limits) [in our video docs](https:// ### ⚠️ Breaking changes * πŸ—Ύ Blueprint files (.rbl) from previous Rerun versions will no longer load _automatically_ -* 🐧 Linux: Rerun now require glibc 2.17+ +* 🐧 Linux: Rerun now requires glibc 2.17+ * πŸ¦€ Rust: The minimum supported Rust version is now 1.79 🧳 Migration guide: http://rerun.io/docs/reference/migration/migration-0-19 @@ -43,8 +40,10 @@ Read more about our video supports (and its limits) [in our video docs](https:// πŸ“‘ Raw changelog: https://github.com/rerun-io/rerun/compare/0.18.2...0.19.0 #### πŸͺ΅ Log API +- BGR(A) image format support [#7238](https://github.com/rerun-io/rerun/pull/7238) - 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) +- Add `ShowLabels` component, which controls whether instances’ labels are shown [#7249](https://github.com/rerun-io/rerun/pull/7249) (thanks [@kpreid](https://github.com/kpreid)!) - Refactor `MediaType` guessing [#7326](https://github.com/rerun-io/rerun/pull/7326) #### 🌊 C++ API @@ -71,6 +70,7 @@ Read more about our video supports (and its limits) [in our video docs](https:// #### 🌁 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) +- Allow splitting entity path expressions with whitespace [#7782](https://github.com/rerun-io/rerun/pull/7782) #### πŸš€ Performance improvements - Improve performance for scenes with many entities & transforms [#7456](https://github.com/rerun-io/rerun/pull/7456) @@ -82,7 +82,7 @@ Read more about our video supports (and its limits) [in our video docs](https:// #### πŸ§‘β€πŸ« 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)!) +- 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) diff --git a/scripts/generate_changelog.py b/scripts/generate_changelog.py index d64252b5d521..40556952af3d 100755 --- a/scripts/generate_changelog.py +++ b/scripts/generate_changelog.py @@ -123,16 +123,44 @@ def print_section(title: str, items: list[str]) -> None: print() +def commit_range(new_version: str) -> str: + parts = new_version.split(".") + assert len(parts) == 3, "Expected version to be on the format X.Y.Z" + major = int(parts[0]) + minor = int(parts[1]) + patch = int(parts[2]) + + if 0 < patch: + # A patch release. + # Include changes since last patch release. + # This assumes we've cherry-picked stuff for this release. + diff_since_version = f"0.{minor}.{patch - 1}" + elif 0 < minor: + # A minor release + # The diff should span everything since the last minor release. + # The script later excludes duplicated automatically, so we don't include stuff that + # was part of intervening patch releases. + diff_since_version = f"{major}.{minor - 1}.0" + else: + # A major release + # The diff should span everything since the last major release. + # The script later excludes duplicated automatically, so we don't include stuff that + # was part of intervening minor/patch releases. + diff_since_version = f"{major - 1}.{minor}.0" + + return f"{diff_since_version}..HEAD" + + def main() -> None: parser = argparse.ArgumentParser(description="Generate a changelog.") - parser.add_argument("--commit-range", required=True, help="e.g. 0.11.0..HEAD") + parser.add_argument("--version", required=True, help="The version of the new release, e.g. 0.42.0") args = parser.parse_args() # Because how we branch, we sometimes get duplicate commits in the changelog unless we check for it previous_changelog = open("CHANGELOG.md", encoding="utf8").read() repo = Repo(".") - commits = list(repo.iter_commits(args.commit_range)) + commits = list(repo.iter_commits(commit_range(args.version))) commits.reverse() # Most recent last commit_infos = list(map(get_commit_info, commits))