diff --git a/CHANGELOG.md b/CHANGELOG.md index b5409b5bdb6f..483b274baabe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,163 @@ ## Unreleased [Commits since latest release](https://github.com/rerun-io/rerun/compare/latest...HEAD) -* ⚠️ BREAKING: old `.rrd` files no longer load +## 0.3.0 +### Overview & Highlights -* Improve display of date-times in plots [#1356](https://github.com/rerun-io/rerun/pull/1356) -* (this will be filled in once we do a new release) +After a successful launch a couple of weeks ago, we're back with our second release! +With a few exceptions this release focuses on internal refactors & improving our processes. +However, we think you'll enjoy these goodies that made it in nonetheless! +https://user-images.githubusercontent.com/2910679/222510504-23871b8c-0bef-49c2-bbd2-37baab4247e8.mp4 + +You can now generate point clouds directly from depth textures and choose a wide variety of color maps. +Check out this [video](https://user-images.githubusercontent.com/1220815/223365363-da13585f-3a91-4cb8-a6ef-8a6fadbeb4eb.webm) on how to use it. +This is **a lot** faster and more convenient than doing so manually in your own code +Some caveats: Picking is not yet working and visible history may behave differently (related to [#723](https://github.com/rerun-io/rerun/issues/723)) + +Other highlights: + +* Viewer + * Improved formatting of date-times in plots [#1356](https://github.com/rerun-io/rerun/pull/1356) + * Labels for 3D objects have now a color can now be selected & hovered [#1438](https://github.com/rerun-io/rerun/pull/1438) + * Scale factor is saved across sessions and more persistent between screens [#1448](https://github.com/rerun-io/rerun/pull/1448) + * Showing tensors in the viewer is now faster +* SDK + * Python packages now work with Ubuntu-20.04 [#1334](https://github.com/rerun-io/rerun/pull/1334) + * u8 segmentation stay u8 now (they converted to u16 before) [#1376](https://github.com/rerun-io/rerun/pull/1376) + * 2D Line strips can now be logged directly [#1430](https://github.com/rerun-io/rerun/pull/1430) + * Add a `strict` mode to the Python SDK where misuses of the API result in exceptions being raised.[#1477](https://github.com/rerun-io/rerun/pull/1477) + * Fix disabling Python API through `init` not working [#1517](https://github.com/rerun-io/rerun/pull/1517) +* General + * We build now with fewer build dependencies (there is however [still more work to do!](https://github.com/rerun-io/rerun/issues/1316)). + Notably, we previously used a version of the `time` crate which had a security issue (CVE-2020-26235), thanks @mpizenberg for helping out! + * Print more information & troubleshooting info on crash + +Meanwhile, we did a bunch of improvements to our manual. If you had trouble running Rerun so far, check our updated [troubleshooting](https://www.rerun.io/docs/getting-started/troubleshooting) page (and as always, please [open an issue](https://github.com/rerun-io/rerun/issues/new/choose) if something doesn't work). + +⚠️ BREAKING: old `.rrd` files no longer load ⚠️ + +### In Detail +#### New Features +* Generate point clouds directly from depth textures + * re_renderer: implement depth cloud renderer [#1415](https://github.com/rerun-io/rerun/pull/1415) + * Integrate depth clouds into Rerun [#1421](https://github.com/rerun-io/rerun/pull/1421) + * CPU & GPU color maps [#1484](https://github.com/rerun-io/rerun/pull/1484) + * Integrate GPU color maps into depth clouds [#1486](https://github.com/rerun-io/rerun/pull/1486) +* Python SDK: Add strict mode [#1477](https://github.com/rerun-io/rerun/pull/1477) +* OS independent Zoom factor & serialization thereof [#1448](https://github.com/rerun-io/rerun/pull/1448) +* Labels for 3D objects have now a color can now be selected & hovered [#1438](https://github.com/rerun-io/rerun/pull/1438) +* Add 2d support for linestrips [#1430](https://github.com/rerun-io/rerun/pull/1430) +* Add signal handler on *nix with troubleshooting and stacktrace [#1340](https://github.com/rerun-io/rerun/pull/1340) + * Point users to our troubleshooting page on panic [#1338](https://github.com/rerun-io/rerun/pull/1338) + +#### Performance +* Speed up conversions for color arrays in Python [#1454](https://github.com/rerun-io/rerun/pull/1454) +* Speed up fixed-sized array iteration [#1050](https://github.com/rerun-io/rerun/pull/1050) +* Speed up tensor handling by padding data through more directly + * Direct conversion to dynamic image from Tensors [#1455](https://github.com/rerun-io/rerun/pull/1455) + * Convert view_tensor to use the new native Tensors [#1439](https://github.com/rerun-io/rerun/pull/1439) +* Add option to show performance metrics in the UI in release builds too [#1444](https://github.com/rerun-io/rerun/pull/1444) +* Faster stable diffusion sample [#1364](https://github.com/rerun-io/rerun/pull/1364) +* SDK: stream to disk with `save` feature [#1405](https://github.com/rerun-io/rerun/pull/1405) +* `re_renderer` has now a direct CPU->GPU copy mechanism + * `CpuWriteGpuReadBelt` for fast frame by frame memory transfers [#1382](https://github.com/rerun-io/rerun/pull/1382) + * Uniform buffer utility using `CpuWriteGpuReadBelt` [#1400](https://github.com/rerun-io/rerun/pull/1400) + * Use `CpuWriteGpuReadBelt` for mesh data gpu upload [#1416](https://github.com/rerun-io/rerun/pull/1416) + +#### Small improvements & Bugfixes +* UI + * Add scroll-bars the "Add/Remove entities" window [#1445](https://github.com/rerun-io/rerun/pull/1445) + * Unify the time formatting between the time panel and the plot [#1369](https://github.com/rerun-io/rerun/pull/1369) + * Timeline + * Fix precision issue when zooming in on the timeline [#1370](https://github.com/rerun-io/rerun/pull/1370) + * Improve the gap-detector [#1363](https://github.com/rerun-io/rerun/pull/1363) + * Better time axis on plot view [#1356](https://github.com/rerun-io/rerun/pull/1356) + * Prevent wrap on 'Streams' text [#1308](https://github.com/rerun-io/rerun/pull/1308) + * Update to eframe 0.21.3 with fix for web text input [#1311](https://github.com/rerun-io/rerun/pull/1311) +* `re_renderer` + * Fix crash due to always expecting Rgba8Unorm backbuffer on Web & Bgra8Unorm on native [#1413](https://github.com/rerun-io/rerun/pull/1413) + * Allow controlling the graphics backend & power preference through standard wgpu env vars [#1332](https://github.com/rerun-io/rerun/pull/1332) +* Heuristic for camera frustum length is now based on scene size [#1433](https://github.com/rerun-io/rerun/pull/1433) +* Fix python type signature for tensor names [#1443](https://github.com/rerun-io/rerun/pull/1443) +* Don't convert u8 segmentation images to u16 [#1376](https://github.com/rerun-io/rerun/pull/1376) +* Docs (excluding the manual) + * Improve the docs of `connect` and `serve` [#1450](https://github.com/rerun-io/rerun/pull/1450) + * Update log_mesh and log_meshes docs. [#1286](https://github.com/rerun-io/rerun/pull/1286) + * Add guidelines for adding dependencies in a PR [#1431](https://github.com/rerun-io/rerun/pull/1431) + * Add a few more sections to `CODE_STYLE.md` [#1365](https://github.com/rerun-io/rerun/pull/1365) + * Fixup for some doc links [#1314](https://github.com/rerun-io/rerun/pull/1314) + * Document undocumented environment variables on help page. [#1335](https://github.com/rerun-io/rerun/pull/1335) + * Link to SDK operating modes doc in both SDK [#1330](https://github.com/rerun-io/rerun/pull/1330) +* More information in `--version` [#1388](https://github.com/rerun-io/rerun/pull/1388) +* Remove already broken `show` method from Python SDK [#1429](https://github.com/rerun-io/rerun/pull/1429) +* Analytics + * Send analytics events with callstacks on panics and signals [#1409](https://github.com/rerun-io/rerun/pull/1409) + * Put all analytics to one bucket [#1390](https://github.com/rerun-io/rerun/pull/1390) + * add event for when we serve the web-viewer .wasm [#1379](https://github.com/rerun-io/rerun/pull/1379) + * register SDK language and data source [#1371](https://github.com/rerun-io/rerun/pull/1371) + * Refactor analytics [#1368](https://github.com/rerun-io/rerun/pull/1368) +* Versioned log streams streams [#1420](https://github.com/rerun-io/rerun/pull/1420) +* Fix path issues when running debug viewer within workspace [#1341](https://github.com/rerun-io/rerun/pull/1341) +* Detailed errors for re_renderer `include_file!` [#1339](https://github.com/rerun-io/rerun/pull/1339) +* Limit logging in web-viewer to `warn` in order to workaround a crash issue (and reduce log spam) [1514](https://github.com/rerun-io/rerun/pull/1514) +* Fix disabling API through `init` not working [#1517](https://github.com/rerun-io/rerun/pull/1517) + +#### CI, Testing & Build improvements +* Reduce build dependencies + * Get rid of time 0.1.* dependency [#1408](https://github.com/rerun-io/rerun/pull/1408) + * Remove unnecessary ordered-float [#1461](https://github.com/rerun-io/rerun/pull/1461) + * Remove extraneous `image` features and dependencies [#1425](https://github.com/rerun-io/rerun/pull/1425) + * Replace `reqwest` with `ureq` [#1407](https://github.com/rerun-io/rerun/pull/1407) + * Remove derive_more dependency [#1406](https://github.com/rerun-io/rerun/pull/1406) +* Use different artifact names for wasm/js in debug builds [#1428](https://github.com/rerun-io/rerun/pull/1428) +* Separate mac wheels & trigger wheel build from ui [#1499](https://github.com/rerun-io/rerun/pull/1499) +* Add spell checking to CI [#1492](https://github.com/rerun-io/rerun/pull/1492) +* Repo size + * Always create new orphaned branch for gh-pages [#1490](https://github.com/rerun-io/rerun/pull/1490) + * GitHub Action to prevent large files [#1478](https://github.com/rerun-io/rerun/pull/1478) +* Python + * Remove the python job path filters [#1452](https://github.com/rerun-io/rerun/pull/1452) + * Use ruff for our python lints [#1378](https://github.com/rerun-io/rerun/pull/1378) + * Use python3 in the jobs that weren't tested in PR [#1348](https://github.com/rerun-io/rerun/pull/1348) +* Testing + * Add a test of memory use when logging a lot of big images [#1372](https://github.com/rerun-io/rerun/pull/1372) +* Switch ci_docker to a container based on ubuntu 20.04 [#1334](https://github.com/rerun-io/rerun/pull/1334) +* Release handling + * Switch release action to ncipollo [#1489](https://github.com/rerun-io/rerun/pull/1489) + * Fix our continuous pre-releases [#1458](https://github.com/rerun-io/rerun/pull/1458) + * Delete the prerelease before creating the new one [#1485](https://github.com/rerun-io/rerun/pull/1485) + * Set prerelease to true even for version-tagged CI job [#1504](https://github.com/rerun-io/rerun/pull/1504) + * Let the release job take care of creating the tag [#1501](https://github.com/rerun-io/rerun/pull/1501) + * Use `cargo update -w` instead of `cargo check` when prepping prerelease [#1500](https://github.com/rerun-io/rerun/pull/1500) + * Use prerelease tag instead of latest and update pointer on prerelease [#1481](https://github.com/rerun-io/rerun/pull/1481) + * Include date in pre-release version [#1472](https://github.com/rerun-io/rerun/pull/1472) + * Switch pre-release action to ncipollo/release-action [#1466](https://github.com/rerun-io/rerun/pull/1466) +* Disallow some methods and types via Clippy[#1411](https://github.com/rerun-io/rerun/pull/1411) + +#### Other not user facing refactors +* Fix: don't create a dummy LogDb when opening the Rerun Menu [#1440](https://github.com/rerun-io/rerun/pull/1440) +* `re_renderer` + * `Draw Phases` in preparation of executing `Renderer` several times on different targets [#1419](https://github.com/rerun-io/rerun/pull/1419) + * Fix mesh creation failing to copy index data. [#1473](https://github.com/rerun-io/rerun/pull/1473) + * do not silently drop draw phases [#1471](https://github.com/rerun-io/rerun/pull/1471) + * Simplify bind group allocation call by passing pool collection object. [#1459](https://github.com/rerun-io/rerun/pull/1459) + * Interior mutable buffer/texture/bindgroup pools [#1374](https://github.com/rerun-io/rerun/pull/1374) + * Rename all instances of `frame_maintenance` to `begin_frame` [#1360](https://github.com/rerun-io/rerun/pull/1360) + * Texture & buffer call now wgpu's `destroy` on removal from pool [#1359](https://github.com/rerun-io/rerun/pull/1359) + * Arrow buffers as (optional) first-class citizen [#1482](https://github.com/rerun-io/rerun/pull/1482) + * Log static re_renderer resource generation [#1464](https://github.com/rerun-io/rerun/pull/1464) +* Internal log_text_entry_internal to break circular deps [#1488](https://github.com/rerun-io/rerun/pull/1488) +* Delete ClassicTensor and cleanup [#1456](https://github.com/rerun-io/rerun/pull/1456) +* Fix re_renderer file watcher watching the same file several times [#1463](https://github.com/rerun-io/rerun/pull/1463) +* Analytics + * More ergonomic API [#1410](https://github.com/rerun-io/rerun/pull/1410) + * Streamlining host vs. recorder python/rust versions [#1380](https://github.com/rerun-io/rerun/pull/1380) + * Fix workspace detection [#1437](https://github.com/rerun-io/rerun/pull/1437) +* Introduce `DeserializableComponent` trait and high-level `query_latest` [#1417](https://github.com/rerun-io/rerun/pull/1417) + + +[Full Changelog](https://github.com/rerun-io/rerun/compare/v0.2.0...v0.3.0) ## 0.2.0 First public release! diff --git a/Cargo.lock b/Cargo.lock index 74ad7fef25f6..41e56d844d7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,7 +124,7 @@ checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "api_demo" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "clap 4.1.4", @@ -1220,7 +1220,7 @@ dependencies = [ [[package]] name = "dna" -version = "0.2.0" +version = "0.3.0" dependencies = [ "itertools", "rand", @@ -2677,7 +2677,7 @@ dependencies = [ [[package]] name = "minimal" -version = "0.2.0" +version = "0.3.0" dependencies = [ "rerun", ] @@ -3094,7 +3094,7 @@ dependencies = [ [[package]] name = "objectron" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "clap 4.1.4", @@ -3686,7 +3686,7 @@ dependencies = [ [[package]] name = "raw_mesh" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "bytes", @@ -3727,7 +3727,7 @@ dependencies = [ [[package]] name = "re_analytics" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "crossbeam", @@ -3749,7 +3749,7 @@ dependencies = [ [[package]] name = "re_arrow_store" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -3774,7 +3774,7 @@ dependencies = [ [[package]] name = "re_build_build_info" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "glob", @@ -3783,18 +3783,18 @@ dependencies = [ [[package]] name = "re_build_info" -version = "0.2.0" +version = "0.3.0" [[package]] name = "re_build_web_viewer" -version = "0.2.0" +version = "0.3.0" dependencies = [ "cargo_metadata", ] [[package]] name = "re_data_store" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -3817,14 +3817,14 @@ dependencies = [ [[package]] name = "re_error" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", ] [[package]] name = "re_format" -version = "0.2.0" +version = "0.3.0" dependencies = [ "arrow2", "comfy-table 6.1.4", @@ -3832,7 +3832,7 @@ dependencies = [ [[package]] name = "re_int_histogram" -version = "0.2.0" +version = "0.3.0" dependencies = [ "criterion", "insta", @@ -3843,7 +3843,7 @@ dependencies = [ [[package]] name = "re_log" -version = "0.2.0" +version = "0.3.0" dependencies = [ "log-once", "tracing", @@ -3853,7 +3853,7 @@ dependencies = [ [[package]] name = "re_log_types" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -3896,7 +3896,7 @@ dependencies = [ [[package]] name = "re_memory" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "backtrace", @@ -3913,7 +3913,7 @@ dependencies = [ [[package]] name = "re_query" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "arrow2", @@ -3935,7 +3935,7 @@ dependencies = [ [[package]] name = "re_renderer" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "re_sdk" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "arrow2", @@ -4016,7 +4016,7 @@ dependencies = [ [[package]] name = "re_sdk_comms" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4031,7 +4031,7 @@ dependencies = [ [[package]] name = "re_smart_channel" -version = "0.2.0" +version = "0.3.0" dependencies = [ "crossbeam", "instant", @@ -4039,7 +4039,7 @@ dependencies = [ [[package]] name = "re_string_interner" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "nohash-hasher", @@ -4050,7 +4050,7 @@ dependencies = [ [[package]] name = "re_tensor_ops" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "bytemuck", @@ -4062,7 +4062,7 @@ dependencies = [ [[package]] name = "re_tuid" -version = "0.2.0" +version = "0.3.0" dependencies = [ "arrow2", "arrow2_convert", @@ -4075,7 +4075,7 @@ dependencies = [ [[package]] name = "re_ui" -version = "0.2.0" +version = "0.3.0" dependencies = [ "eframe", "egui", @@ -4092,7 +4092,7 @@ dependencies = [ [[package]] name = "re_viewer" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4155,7 +4155,7 @@ dependencies = [ [[package]] name = "re_web_viewer_server" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "cargo_metadata", @@ -4171,7 +4171,7 @@ dependencies = [ [[package]] name = "re_ws_comms" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "bincode", @@ -4251,7 +4251,7 @@ checksum = "f1382d1f0a252c4bf97dc20d979a2fdd05b024acd7c2ed0f7595d7817666a157" [[package]] name = "rerun" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "backtrace", @@ -4285,7 +4285,7 @@ dependencies = [ [[package]] name = "rerun_py" -version = "0.2.0" +version = "0.3.0" dependencies = [ "ahash 0.8.2", "arrow2", @@ -4389,7 +4389,7 @@ dependencies = [ [[package]] name = "run_wasm" -version = "0.2.0" +version = "0.3.0" dependencies = [ "cargo-run-wasm", "pico-args", @@ -4900,7 +4900,7 @@ dependencies = [ [[package]] name = "test_image_memory" -version = "0.2.0" +version = "0.3.0" dependencies = [ "mimalloc", "re_format", diff --git a/Cargo.toml b/Cargo.toml index f43c3ed5a970..7981c17d560c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,37 +16,37 @@ include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"] license = "MIT OR Apache-2.0" repository = "https://github.com/rerun-io/rerun" rust-version = "1.67" -version = "0.2.0" +version = "0.3.0" [workspace.dependencies] # When using alpha-release, always use exact version, e.g. `version = "=0.x.y-alpha.z" # This is because we treat alpha-releases as incompatible, but semver doesn't. # In particular: if we compile rerun 0.3.0-alpha.0 we only want it to use # re_log_types 0.3.0-alpha.0, NOT 0.3.0-alpha.4 even though it is newer and semver-compatible. -re_analytics = { path = "crates/re_analytics", version = "0.2.0" } -re_arrow_store = { path = "crates/re_arrow_store", version = "0.2.0" } -re_build_build_info = { path = "crates/re_build_build_info", version = "0.2.0" } -re_build_info = { path = "crates/re_build_info", version = "0.2.0" } -re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.2.0" } -re_data_store = { path = "crates/re_data_store", version = "0.2.0" } -re_error = { path = "crates/re_error", version = "0.2.0" } -re_format = { path = "crates/re_format", version = "0.2.0" } -re_log = { path = "crates/re_log", version = "0.2.0" } -re_log_types = { path = "crates/re_log_types", version = "0.2.0" } -re_memory = { path = "crates/re_memory", version = "0.2.0" } -re_query = { path = "crates/re_query", version = "0.2.0" } -re_renderer = { path = "crates/re_renderer", version = "0.2.0" } -re_sdk = { path = "crates/re_sdk", version = "0.2.0" } -re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.2.0" } -re_smart_channel = { path = "crates/re_smart_channel", version = "0.2.0" } -re_string_interner = { path = "crates/re_string_interner", version = "0.2.0" } -re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.2.0" } -re_tuid = { path = "crates/re_tuid", version = "0.2.0" } -re_ui = { path = "crates/re_ui", version = "0.2.0" } -re_viewer = { path = "crates/re_viewer", version = "0.2.0" } -re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.2.0" } -re_ws_comms = { path = "crates/re_ws_comms", version = "0.2.0" } -rerun = { path = "crates/rerun", version = "0.2.0" } +re_analytics = { path = "crates/re_analytics", version = "0.3.0" } +re_arrow_store = { path = "crates/re_arrow_store", version = "0.3.0" } +re_build_build_info = { path = "crates/re_build_build_info", version = "0.3.0" } +re_build_info = { path = "crates/re_build_info", version = "0.3.0" } +re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.3.0" } +re_data_store = { path = "crates/re_data_store", version = "0.3.0" } +re_error = { path = "crates/re_error", version = "0.3.0" } +re_format = { path = "crates/re_format", version = "0.3.0" } +re_log = { path = "crates/re_log", version = "0.3.0" } +re_log_types = { path = "crates/re_log_types", version = "0.3.0" } +re_memory = { path = "crates/re_memory", version = "0.3.0" } +re_query = { path = "crates/re_query", version = "0.3.0" } +re_renderer = { path = "crates/re_renderer", version = "0.3.0" } +re_sdk = { path = "crates/re_sdk", version = "0.3.0" } +re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.3.0" } +re_smart_channel = { path = "crates/re_smart_channel", version = "0.3.0" } +re_string_interner = { path = "crates/re_string_interner", version = "0.3.0" } +re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.3.0" } +re_tuid = { path = "crates/re_tuid", version = "0.3.0" } +re_ui = { path = "crates/re_ui", version = "0.3.0" } +re_viewer = { path = "crates/re_viewer", version = "0.3.0" } +re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.3.0" } +re_ws_comms = { path = "crates/re_ws_comms", version = "0.3.0" } +rerun = { path = "crates/rerun", version = "0.3.0" } anyhow = "1.0" arrow2 = "0.16" diff --git a/RELEASES.md b/RELEASES.md index cf0b0a697cf6..4265fe487b17 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -54,6 +54,7 @@ Copy this checklist to the the PR description, go through it from top to bottom, * [ ] Bump version number in root `Cargo.toml`. * [ ] Update `CHANGELOG.md` with the new version number and the summary and the gif * Go through https://github.com/rerun-io/rerun/compare/latest...HEAD and manually add any important PR descriptions to the `CHANGELOG.md`, with a link to the PR (which should have a deeper explanation). + * You can use git log to quickly generate a list of commit headlines, use `git fetch --tags --force && git log --pretty=format:%s latest..HEAD` (fetch with `--force` is necessary to update the `latest` tag) * [ ] Make sure to it includes instructions for handling any breaking changes * [ ] Get the PR reviewed * [ ] Check that CI is green @@ -72,16 +73,52 @@ Copy this checklist to the the PR description, go through it from top to bottom, ### Testing a release -* Before pushing the release tag: - * [ ] `just py-run-all` - * [ ] Test the web viewer: - * [ ] `cargo run -p rerun --features web -- --web-viewer ../nyud.rrd` - * [ ] Test on: - * [ ] Chromium - * [ ] Firefox - * [ ] Mobile -* After tagging and the CI has published: - * [ ] Test the Python packages from PyPI: `pip install --upgrade rerun-sdk` +Before pushing the release tag: + * [ ] `just py-run-all` + * [ ] Test the web viewer: + * [ ] `cargo run -p rerun --features web_viewer -- --web-viewer ../nyud.rrd` + * [ ] Test on: + * [ ] Chromium + * [ ] Firefox + * [ ] Mobile + +After tagging and the CI has published: + * [ ] Test the Python packages from PyPI: `pip install rerun_sdk==0.3.0a1` + * [ ] Test rust install version: `cargo install -f rerun@0.3.0-alpha.1 -F web_viewer && rerun --web-viewer api.rrd` + * [ ] Test rust crate: Modify Cargo.toml of any example to not point to the workspace + * [ ] run with `--serve` to test web player + +Checklist for testing alpha releases: +* Windows + * [ ] Python Wheel + * [ ] Web + * [ ] Native + * [ ] Rust crate + * [ ] Web + * [ ] Native + * [ ] Rust install + * [ ] Web + * [ ] Native +* Linux + * [ ] Python Wheel + * [ ] Web + * [ ] Native + * [ ] Rust crate + * [ ] Web + * [ ] Native + * [ ] Rust install + * [ ] Web + * [ ] Native +* Mac + * [ ] Python Wheel + * [ ] Web + * [ ] Native + * [ ] Rust crate + * [ ] Web + * [ ] Native + * [ ] Rust install + * [ ] Web + * [ ] Native ## Publishing diff --git a/_typos.toml b/_typos.toml index de3e6157207c..e0af9879379d 100644 --- a/_typos.toml +++ b/_typos.toml @@ -4,3 +4,4 @@ [default.extend-words] lod = "lod" # level-of-detail +teh = "teh" # part of @teh-cmc diff --git a/crates/re_build_build_info/README.md b/crates/re_build_build_info/README.md new file mode 100644 index 000000000000..56548b0d2689 --- /dev/null +++ b/crates/re_build_build_info/README.md @@ -0,0 +1,10 @@ +# re_build_build_info + +Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. + +[![Latest version](https://img.shields.io/crates/v/re_build_build_info.svg)](https://crates.io/crates/re_build_build_info) +[![Documentation](https://docs.rs/re_build_build_info/badge.svg)](https://docs.rs/re_build_build_info) +![MIT](https://img.shields.io/badge/license-MIT-blue.svg) +![Apache](https://img.shields.io/badge/license-Apache-blue.svg) + +Library to be used in `build.rs` files in order to build the build info defined in `re_build_info` by setting environment variables. diff --git a/crates/re_build_info/README.md b/crates/re_build_info/README.md new file mode 100644 index 000000000000..290ca8df97d1 --- /dev/null +++ b/crates/re_build_info/README.md @@ -0,0 +1,10 @@ +# re_build_info + +Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. + +[![Latest version](https://img.shields.io/crates/v/re_build_info.svg)](https://crates.io/crates/re_build_info) +[![Documentation](https://docs.rs/re_build_info/badge.svg)](https://docs.rs/re_build_info) +![MIT](https://img.shields.io/badge/license-MIT-blue.svg) +![Apache](https://img.shields.io/badge/license-Apache-blue.svg) + +Build information provider for help/version commands and analytics. diff --git a/scripts/publish_crates.sh b/scripts/publish_crates.sh index b4255e24258a..6dd33c99eb2d 100755 --- a/scripts/publish_crates.sh +++ b/scripts/publish_crates.sh @@ -56,13 +56,32 @@ set -x # though, so unless you have tools set up to run build scripts with the `--release` flag, we _should_ be fine, # but just in case: echo "MAKE SURE RUST ANALYZER, BACON, CARGO-WATCH etc are all OFF!" -sudo pkill -9 rust-analyzer bacon cargo cargo-watch +pkillexitstatus=0 +sudo pkill -9 rust-analyzer bacon cargo cargo-watch || pkillexitstatus=$? +if [ $pkillexitstatus -eq 0 ]; then + echo "killed one or more processes" +elif [ $pkillexitstatus -eq 1 ]; then + echo "no problematic processes found" +elif [ $pkillexitstatus -eq 2 ]; then + echo "syntax error in the pkill command line" + exit $pkillexitstatus +elif [ $pkillexitstatus -eq 3 ]; then + echo "fatal error" + exit $pkillexitstatus +else + echo "unexpected error running pkill" + exit $pkillexitstatus +fi + rm -rf target_wasm # force clean build rm -f web_viewer/re_viewer_bg.wasm rm -f web_viewer/re_viewer.js +rm -f web_viewer/re_viewer_debug_bg.wasm +rm -f web_viewer/re_viewer_debug.js touch crates/re_viewer/src/lib.rs # force recompile of web server cargo r -p re_build_web_viewer -- --release +cargo r -p re_build_web_viewer -- --debug # Some of build.rs scripts checks this env-var: @@ -89,6 +108,7 @@ cargo publish $FLAGS -p re_query cargo publish $FLAGS -p re_sdk_comms cargo publish $FLAGS -p re_ws_comms cargo publish $FLAGS -p re_renderer +cargo publish $FLAGS -p re_build_web_viewer cargo publish $FLAGS -p re_web_viewer_server cargo publish $FLAGS -p re_viewer cargo publish $FLAGS -p re_sdk