Skip to main content

Changelog

Version 2.1.4

New Features

  • Added support for loading Aria Gen2 eye-tracking CSV output in the MPS reader: parses combined yaw/pitch + per-eye yaw/pitch, back-fills combined_gaze_origin_in_cpf, spatial_gaze_point_in_cpf, and depth from ray vergence
  • Exposed new mps.get_gaze_vergence_point() Python API that computes the vergence point of two eye gaze rays with independent per-eye pitch and arbitrary IPD, with built-in guardrails for near-parallel, divergent, skew, and excessive-depth inputs
  • viewer_mps now uses the back-filled Gen2 spatial gaze point (when available) to render a more accurate 3D gaze arrow, falling back to the yaw/pitch + depth approximation for Gen1 recordings

Bug Fixes

  • Fixed AlsDataLayout to match the actual Gen2 VRS schema: corrected gain_{red,green,blue,uv,ir,clear} from int32_t to float and exposure_time_us from int32_t to uint32_t (these previously read as 0 for every sample)
  • Fixed bisection_timestamp_search to return the truly closest timestamp index instead of whichever side the binary search landed on; also fixed border guards so an exact match on the first or last timestamp now returns its index rather than None (resolves GitHub issue #100)
  • Fixed an SE3 transform bug in viewer_mps's 3D gaze arrow rendering where the displacement vector was being treated as a point, causing the CPF→device translation to be added twice

Version 2.1.3

New Features

  • Added random-access P-frame video decoding: getImageDataByIndex() now supports non-sequential frame access for H.265 video streams. The decoder automatically replays from the preceding keyframe, enabling random-access for training data pipelines and video editors

Improvements

  • Bumped VRS dependency to include ProximitySensorRecordableClass support

Version 2.1.2

New Features

  • Added --show-latency flag to aria_streaming_viewer that displays a TimeSeriesView panel for latency metrics in the Rerun UI
  • Added --blueprint CLI flag to load custom Rerun blueprint (.rbl) files, with automatic preservation on stream reconnection
  • Added robust SVD-based method for computing device-to-CPF transformation

Improvements

  • Migrated to Rerun SDK 0.26.2: unified rr.set_time() API, renamed archetypes to plural forms, and switched from TCP to gRPC transport
  • Migrated vrs_to_mp4 from moviepy 1.0.3 to 2.x and flattened setup.py dependencies

Version 2.1.1

Improvements

  • Exposed XPRS decoder on macOS through the decode_oss_frame Python module by adding NV12 pixel format support for hardware decoding
  • Added rerun_memory_limit variable in AriaDataViewerConfig to allow memory management for the viewer

Version 2.1.0

New Features

  • Enabled Google Colab support for all Gen2 Python notebook tutorials — including "Open in Colab" links in the documentation website
  • Added external CI support for the newly-added Gen2 unit-test datasets to improve test coverage
  • Introduced Jacobian computation APIs for camera calibration workflows

Improvements

  • Enhanced the viewer_mps tool for Gen1 data: now supports rotated, non-rectified images
  • Fixed toJson() serialization issues in SensorCalibration, and added full serialization support for the CameraConfig field

Bug Fixes

  • Corrected contact-mic sensor labels
  • Fixed the binary name for gen2_mp_csv_exporter
  • Addressed other minor stability issues

Version 2.0.0

🚀 Major Version Release

We're excited to announce a major update of the library — now supporting both Aria Gen1 and Gen2 VRS data with the same C++ and Python APIs you already know. This release also introduces full access to On-Device Machine Perception (MP) data in Aria Gen2 VRS.

API & Data Compatibility

  • Unified Interface: The C++ and Python APIs remain unchanged — your existing Gen1 code continues to work seamlessly
  • Extended Capabilities: Added APIs to access On-Device Machine Perception data streams available in Gen2 recordings
  • Cross-Generation Support: A single codebase now handles Gen1 and Gen2 VRS data without modification

New & Enhanced Tools

New Tools

  • aria_rerun_viewer: A Python-based visualizer for Aria VRS files, built on Rerun for interactive multi-modal exploration
  • gen2_mp_csv_exporter: A Python tool to export On-Device MP data from VRS to CSV, fully compatible with the Machine Perception Service (MPS) format

Upgraded Tools

  • vrs_health_check: Completely re-engineered and released as a standalone Python package for easier installation & use

Documentation

  • New Python Tutorials: Our Python tutorials have been completely rewritten into seven focused guides, covering topics such as:
    • Queued multi-sensor data
    • Device calibration usage
    • Multi-device time alignment
    • ...and more
  • Updated Documentation Websites: We now maintain dedicated documentation portals for each generation:
    • Aria Gen2 Documentation Website — new APIs, tools, and data formats
    • Aria Gen1 Documentation Website — original docs for Gen1 workflows