Skip to content

HFlow 0.2.3

Choose a tag to compare

@kstonekuan kstonekuan released this 29 Aug 04:22
· 47 commits to main since this release

The transform now repairs one thing it used to refuse: a foxglove.CompressedVideo stream missing its access-unit delimiters is fixed by inserting them, with no re-encode, so the slice data is untouched and conforming messages stay byte-identical. Standard recordings that could not be canonicalized before now can be.

Beyond that this is a hardening release. Roughly a dozen entry points that accepted values they should never have accepted now refuse them at the boundary, with a message naming the field: TransformConfig (bool and out-of-range crf, non-finite gop_seconds), Threshold (infinite and bool values, plus a large-int OverflowError), contact_sheet (tile_width and bool sizing arguments), SyntheticEpisodeSpec, data-root parsing (an empty root silently meant the current directory), and batch planning.

The LeRobot converter reads any Dataset v3 repository from its own metadata instead of PushT constants, converting every selected camera, and python -m hflow works alongside the console script.

TRANSFORM_BEHAVIOR_VERSION moved from 5 to 7. Canonical output for video episodes can differ from 0.2.2, so pipeline_version and episode_id change and a re-ingest rewrites those episodes rather than reusing them. State-only episodes are unaffected.

The new refusals are a behaviour change. A pipeline passing a value the list above now rejects will raise where it previously ran. Every one of them was accepting something meaningless, but the failure is at construction rather than later.

What's Changed

New Contributors

Full Changelog: v0.2.2...v0.2.3