diff --git a/CHANGELOG.md b/CHANGELOG.md index b09ef5f..008bfe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ All notable user-facing changes are recorded here. Versions follow ## [Unreleased] +## [0.1.0rc2] - 2026-08-09 + ### Added - `oglo acceptance`, an owner-facing USB pair test that uses public SDK APIs, @@ -19,6 +21,9 @@ All notable user-facing changes are recorded here. Versions follow longer active upstreams - documented firmware 0.9.10/schema 6 as the only supported live-glove baseline; retained 0.9.9/schema-6 captures solely as historical decoder provenance +- removed the unused `pair_id` contract and `allow_unpaired` escape; two-glove + connection now relies on one left side, one right side, and distinct logical + serials ## [0.1.0rc1] - 2026-08-07 @@ -50,5 +55,6 @@ First public release candidate. - zero persistence requires a power-cycle read-back when it is a release gate - multi-hour and slow-storage target-host qualification remain deployment tasks -[Unreleased]: https://github.com/OpenGraphLabs/oglo-python/compare/v0.1.0rc1...HEAD +[Unreleased]: https://github.com/OpenGraphLabs/oglo-python/compare/v0.1.0rc2...HEAD +[0.1.0rc2]: https://github.com/OpenGraphLabs/oglo-python/compare/v0.1.0rc1...v0.1.0rc2 [0.1.0rc1]: https://github.com/OpenGraphLabs/oglo-python/releases/tag/v0.1.0rc1 diff --git a/README.md b/README.md index 5ca502b..b5435c7 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Python access to the OGLO five-finger tactile glove: 80 taxels per hand at a nominal 250 Hz over USB, plus accelerometer, gyroscope, and optional magnetometer streams. -> **Release candidate:** `0.1.0rc1` is a USB-first research SDK for the supported +> **Release candidate:** `0.1.0rc2` is a USB-first research SDK for the supported > live-glove baseline, firmware 0.9.10/schema 6. The decoder retains historical > 0.9.9/schema-6 vector compatibility, but 0.9.9 is not a deployment target. BLE > is available as an experimental transport and is not release-qualified. @@ -34,14 +34,14 @@ private or staging repository is an active upstream. Download the wheel from the matching [GitHub Release](https://github.com/OpenGraphLabs/oglo-python/releases), then install it locally: ```bash -python3 -m pip install ./oglo-0.1.0rc1-py3-none-any.whl +python3 -m pip install ./oglo-0.1.0rc2-py3-none-any.whl ``` To install the tagged source instead: ```bash python3 -m pip install \ - "oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc1" + "oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc2" ``` Python 3.10 or newer is required. diff --git a/docs/01_quickstart.md b/docs/01_quickstart.md index 553edc1..3f0d03c 100644 --- a/docs/01_quickstart.md +++ b/docs/01_quickstart.md @@ -6,18 +6,18 @@ Download the wheel from the matching [GitHub Release](https://github.com/OpenGraphLabs/oglo-python/releases), then: ```bash -python3 -m pip install ./oglo-0.1.0rc1-py3-none-any.whl +python3 -m pip install ./oglo-0.1.0rc2-py3-none-any.whl ``` Or install the immutable source tag: ```bash python3 -m pip install \ - "oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc1" + "oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc2" ``` Python 3.10 or newer is required. Supported live gloves run firmware 0.9.10 with -schema 6. `0.1.0rc1` can still parse historical 0.9.9/schema-6 captures, but that +schema 6. `0.1.0rc2` can still parse historical 0.9.9/schema-6 captures, but that parser tolerance is not deployment support; upgrade a live 0.9.9 glove before use. ## Diagnose before collecting data diff --git a/docs/02_data_reference.md b/docs/02_data_reference.md index c6e19b8..50e84fc 100644 --- a/docs/02_data_reference.md +++ b/docs/02_data_reference.md @@ -21,7 +21,7 @@ The IMU packet cadence is not the physical sensor ODR. Firmware configures the accelerometer/gyroscope at 200 Hz but polls/emits its latest value on a nominal 2 ms schedule, so adjacent 500-packet/s records may contain the same physical measurement. -The supported live contract is firmware 0.9.10/schema 6. `0.1.0rc1` retains parser +The supported live contract is firmware 0.9.10/schema 6. `0.1.0rc2` retains parser tolerance for historical 0.9.9/schema-6 vectors and recordings, but live collection must use 0.9.10. Other schemas and older firmware fail closed instead of inviting a best-effort packet guess. diff --git a/docs/06_compatibility.md b/docs/06_compatibility.md index 12053c0..585ece3 100644 --- a/docs/06_compatibility.md +++ b/docs/06_compatibility.md @@ -5,7 +5,7 @@ physical gloves. They are different claims. ## Supported contract -| Component | Status in 0.1.0rc1 | +| Component | Status in 0.1.0rc2 | | --- | --- | | Python | 3.10 or newer | | Live-glove firmware | 0.9.10 | @@ -16,7 +16,7 @@ physical gloves. They are different claims. | Firmware 0.9.9 | historical parser/vector compatibility only; upgrade before live use | | Firmware 0.9.8 and older | rejected | -The `0.1.0rc1` parser floor remains 0.9.9 so historical schema-6 golden vectors and +The `0.1.0rc2` parser floor remains 0.9.9 so historical schema-6 golden vectors and recordings stay readable. That tolerance is not a live-device support claim. The deployed fleet and physical release qualification use 0.9.10/schema 6; unknown schemas and firmware older than 0.9.9 fail closed rather than selecting a diff --git a/pyproject.toml b/pyproject.toml index bba3963..1b50078 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "oglo" -version = "0.1.0rc1" +version = "0.1.0rc2" description = "Python SDK for the OGLO five-finger tactile glove" readme = "README.md" requires-python = ">=3.10" diff --git a/src/oglo/__init__.py b/src/oglo/__init__.py index 25ae8d4..357cc4a 100644 --- a/src/oglo/__init__.py +++ b/src/oglo/__init__.py @@ -34,7 +34,7 @@ find_port, list_candidates, open_serial) from ._usb import UsbTransport as _UsbTransport -__version__ = "0.1.0rc1" +__version__ = "0.1.0rc2" __all__ = [ "connect", diff --git a/tests/test_replay_corruption.py b/tests/test_replay_corruption.py index efcbe54..76be5fc 100644 --- a/tests/test_replay_corruption.py +++ b/tests/test_replay_corruption.py @@ -45,7 +45,7 @@ def _meta(counts=None): return { "schema": 2, "complete": True, - "sdk_version": "0.1.0rc1", + "sdk_version": "0.1.0rc2", "serial": "OGLO-L-TEST01", "side": "left", "hw_rev": "RDR02_FLEX5_REV_D_TIA", diff --git a/uv.lock b/uv.lock index 9072cc2..00fa4c2 100644 --- a/uv.lock +++ b/uv.lock @@ -708,7 +708,7 @@ wheels = [ [[package]] name = "oglo" -version = "0.1.0rc1" +version = "0.1.0rc2" source = { editable = "." } dependencies = [ { name = "bleak" },