Skip to content

Commit 4c501d9

Browse files
kongchen1992meta-codesync[bot]
authored andcommitted
{Documentation} Core - Add 2.2.0 changelog and bump version
Summary: Explanation: Bumps `version.txt` from `2.2.0a3` to `2.2.0` — `setup.py` reads this file to stamp the published wheel — and adds the matching `Version 2.2.0` section to the public changelog. The entry leads with official support for ML Eye Tracking, a new machine-learning-based eye-tracking algorithm that replaces the previous approach and improves gaze quality, covering results produced both on-device and by Machine Perception Services. It also documents Neural Band (sEMG) data support and EMG calibration, eye gaze configuration with per-field provenance, the `502-1 battery-status` stream, `rescale_camera_calibration()`, NVDEC hardware decoding on Linux x86_64, and Linux aarch64 wheels; the Rerun SDK 0.33.0 migration, the flattened dependency list that retires the `[all]` extra, and the C++20 upgrade; and two behavior changes — `get_time_sync_mode()` now reporting `SubGhz` for Gen2 broadcaster and receiver recordings, and Python 3.9 no longer being supported. Reproducibility: Every API and packaging statement in the changelog was verified against the `2.2.0a3` wheel installed from TestPyPI rather than read off the source tree. ___ Differential Revision: D115932338 fbshipit-source-id: e0a63822df4aa98c2a4b45e985416499a2611dbe
1 parent 4f12fd9 commit 4c501d9

2 files changed

Lines changed: 32 additions & 1 deletion

File tree

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.2.0a3
1+
2.2.0

website/docs-research-tools/projectariatools/changelog.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,37 @@ title: Changelog
55

66
# Changelog
77

8+
## Version 2.2.0
9+
10+
### New Features
11+
12+
- **Official support for ML Eye Tracking (ML ET)**: ML ET is our new machine-learning-based eye-tracking algorithm. It replaces the previous approach and delivers noticeably better gaze quality. `projectaria-tools` now officially supports ML ET results from both sources — gaze computed on-device and recorded into the VRS `eyegaze` stream, and gaze produced by Machine Perception Services (MPS). Both are returned as the same `EyeGaze` structure, so existing code needs no changes: read on-device results with `get_eye_gaze_data_by_index()` and `get_eye_gaze_data_by_time_ns()`, and MPS results with `mps.read_eyegaze()` or `MpsDataProvider`
13+
- **Neural Band (sEMG) data support**: Aria Gen2 recordings paired with a Neural Band now expose an `emg` stream. Access it through `get_neural_band_batch_by_index()`, `get_neural_band_batch_by_time_ns()`, and `get_neural_band_batch_configuration()`. Each `NeuralBandBatch` carries its EMG sub-samples, accelerometer and gyroscope readings, channel count, and ADC bit depth
14+
- **EMG calibration**: `NeuralBandEmgCalibration` converts raw ADC counts to physical units via `adc_to_volts()` and `volts_to_adc()`, alongside accessors for analog gain, ADC reference voltages, and bit width. Channel values are raw ADC counts, not volts, until converted
15+
- **Eye gaze configuration with field provenance**: `EyeGazeConfiguration` now reports `algorithm_name`, `algorithm_version`, `nominal_rate_hz`, and `user_calibrated`. Per-field provenance is available through `get_single_field_provenance()` and `get_combined_field_provenance()`, each returning `SUPPORTED`, `CALCULATED`, `HARDCODED`, or `NOT_PRODUCED` — so you can tell a measured value from a derived or placeholder one
16+
- **Battery status stream**: Gen2 recordings expose `502-1 battery-status`
17+
- **`rescale_camera_calibration()`**: rescales a camera calibration to a different image resolution
18+
- **NVDEC hardware decoding on Linux x86_64**: H.265 RGB video decodes on the GPU where CUDA is available, complementing the VideoToolbox path already used on macOS. Only the RGB camera takes the hardware path; mono 4:0:0 streams such as SLAM and eye-tracking cameras are decoded on the CPU by design. `has_cuda_support()` reports build capability
19+
- **Linux aarch64 wheels**: published alongside x86_64 and macOS arm64
20+
21+
### Improvements
22+
23+
- `aria_rerun_viewer` gained an EMG panel, and now enables the GPS and Neural Band panels only when the recording actually contains those streams
24+
- `viewer_mps` runs properly headless: `--rrd_output_path` is a documented flag, is mutually exclusive with `--web`, and no longer attempts to open a viewer window when writing to a file
25+
- Migrated to Rerun SDK 0.33.0
26+
- Dependencies are now flat: everything the toolset needs is a base requirement, so `pip install projectaria-tools` installs the complete package. The `[all]` extra is no longer defined and has become a no-op
27+
- Upgraded the C++ standard from C++17 to C++20
28+
29+
### Bug Fixes
30+
31+
- Fixed a shared library symbol collision that could occur when `projectaria-tools` and `vrs_health_check` are installed into the same environment
32+
33+
### Behavior Changes
34+
35+
- `get_time_sync_mode()` now returns `SubGhz` for Gen2 broadcaster and receiver recordings, rather than skipping the mode
36+
- **Python 3.9 is no longer supported.** The minimum supported version is Python 3.10; wheels are published for 3.10, 3.11, and 3.12
37+
38+
---
839
## Version 2.1.4
940

1041
### New Features

0 commit comments

Comments
 (0)