Skip to content

Releases

Release v0.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 17:13
410c095

Release Blog

https://huggingface.co/blog/lerobot/lerobot-release-v070

lerobot-070-release.mp4

⚠️ Breaking changes (v0.6.1 -> v0.7.0)

v0.7.0 rebuilds installation, training, inference and the hardware layer. A few changes need your attention when upgrading:

Installation

  • On Linux, torch and torchvision now come from PyPI as CUDA 13 builds (NVIDIA driver 580.65 or newer); the cu128 index is gone. For older drivers, install torch from a CUDA 12 index first (see the installation guide). macOS needs 14+ (15+ for MPS).
  • Pins moved: transformers 5.22, huggingface-hub>=1.31,<3, motorbridge 0.5, datasets<6, Pillow<14, torchcodec<0.18.

Training

  • Weights & Biases is replaced by Trackio (the training extra installs trackio): --wandb.* is now --trackio.*, entity/mode have no equivalent, remote jobs with tracking need --trackio.space_id, and checkpoints are no longer uploaded as artifacts by default.
  • FSDP1 is replaced by FSDP2/HSDP (--parallelism.dp_shard, --parallelism.dp_replicate, --accelerator.*); mixed precision is set with --accelerator.mixed_precision. FSDP checkpoints saved with lerobot ≤ 0.6.x cannot be resumed (their model.safetensors still loads), and Accelerate YAML/env configuration is rejected unless LEROBOT_ALLOW_ACCELERATE_ENV=1.
  • --policy.use_peft=true alone now trains LoRA instead of silently fully fine-tuning.
  • Image transforms are batched: GaussianNoise, MotionBlur, GaussianPatchBrightness, RandomShadow, CoarseDropout, GammaCorrection and PlanckianJitter were silent no-ops on uint8 frames and now apply. ImageTransforms takes tensors only; the per-sample classes are deprecated.

Inference & rollout

  • lerobot.async_inference and lerobot[async] are removed: use lerobot[remote], lerobot-policy-server and lerobot-rollout --inference.type=remote. lerobot.rollout.inference moved to lerobot.inference.
  • select_action / predict_action_chunk may return a PolicyOutput ({"action", "prediction"}) instead of a bare tensor; use policy_output_to_transition when calling them directly.
  • With --interpolation_multiplier>1, rollout strategies record one frame per policy action instead of one per tick.

Simulation & environments

  • lerobot.envs.<sim> moved to lerobot.sim.integrations.<sim>, env configs are named *EnvConfig (LiberoEnv -> LiberoEnvConfig), and in-process envs return canonical observations (HWC uint8 images, flat float32 state; map camera names with --rename_map). --env.type is unchanged.
  • Removed env fields: Aloha/PushT observation_height/observation_width, MetaWorld episode_length/multitask_eval, RoboTwin obs_type/render_mode. MetaWorld's default task is metaworld-push-v3.
  • EnvHub make_env is called without cfg and must return an unwrapped SyncVectorEnv/AsyncVectorEnv unless --env.use_native_batch=true.

Policies

  • dtype is the single precision key of every policy config; torch_dtype, vlm_dtype, model_params_fp32 and model_dtype are ignored or removed. In Python pass torch.bfloat16, not a string.
  • MolmoAct2: enable_lora_vlm, enable_lora_action_expert and train_action_expert_only are replaced by --policy.train_mode_vlm={fft,lora,freeze}; action_mode defaults to continuous.
  • EO1: chunk_size and n_action_steps default to 16.
  • VLA-JEPA: checkpoints trained before the RoPE fix need --policy.world_model_rope_legacy=true; binarize_gripper_action and pre_snap_gripper_action default to false.

Datasets

  • --dataset.streaming=true uses a new disk-less episode-pool reader with --dataset.streaming_* options; Backtrackable is removed.

Hardware

  • Feetech and Dynamixel run on one rustypot-backed SerialMotorsBus (lerobot[feetech]/[dynamixel] install rustypot instead of the vendor SDKs). FeetechMotorsBus/DynamixelMotorsBus are deprecated aliases, OperatingMode/TorqueMode give way to bus.set_operating_mode("position"), and the control tables, encoding_utils and the SDK-level helpers (broadcast_ping, scan_port, ...) are removed. Calibration files are unchanged.
  • reBot B601: the config is driven by motor_family (dm, rs); gripper_mit_kp/gripper_mit_kd are removed and per-joint gains take a dict instead of a list.

What's Changed

  • chore(dependencies): Bump lerobot to 0.6.2 by @imstevenpmwork in #4313
  • add third party hardware section by @NikodemBartnik in #4308
  • fix(lekiwi): relative target keyerror by @zuoxingdong in #4281
  • feat(data): add recipe-driven language supervision by @pkooij in #4182
  • feat(train): parallel training framework — FSDP2, HSDP, gradient accumulation, and DCP checkpoints by @HaomingSong in #4010
  • feat(train): split phase timing metrics by @pkooij in #4344
  • fix(dataset): use conservative bounds for quantile aggregation instead of incorrect weighted mean by @aHiroakiIshikawa in #3804
  • fix(train): repair the two CI failures introduced by #4010 by @HaomingSong in #4347
  • feat(train): add opt-in EMA of the policy weights (--ema.enable=true) by @alejodosr in #4323
  • test(ema): Rename test that trips TruffleHog's Lob detector by @pkooij in #4371
  • fix(tests): port the multi-GPU FSDP test off the superseded accelerate YAML flow by @pkooij in #4370
  • docs: add API documentation infrastructure by @pkooij in #4348
  • chore: sort imports in vla_jepa tests by @pkooij in #4354
  • fix(datasets): resolve only recipe-referenced bindings by @pkooij in #4382
  • fix(ci): benchmark jobs skipped for forks by @imstevenpmwork in #4411
  • fix(rollout): align state order with checkpoint by @pkooij in #4416
  • feat(pi05): add optional visual and proprioceptive MEM by @pkooij in #4076
  • perf(policies): move image normalization to device in prepare_observation_for_inference by @imstevenpmwork in #4433
  • fix(legacy depth markers): unifying legacy depth markers across the codebase by @CarolinePascal in #4428
  • Warn when freezing VLA-JEPA Qwen conditioning by @WOLIKIMCHENG in #4421
  • fix(control): unify control-loop pacing and cadence reporting by @imstevenpmwork in #4423
  • fix: use <= instead of < for timestamp tolerance comparison in video_utils by @walle250ai in #3423
  • fix(vla_jepa): add opt-in causal world-model context to stop future-frame leakage by @ravediamond in #4381
  • feat(rollout): interactive sessions — chat-style CLI and programmatic rollout control by @imstevenpmwork in #4380
  • (add) SONIC decoder by @nepyope in #4090
  • feat(policies): vla-jepa refactoring by @Maximellerbach in #4425
  • feat(pi05): add optional training-time RTC by @pkooij in #4056
  • fix(molmoact2): align continuous training with official recipe by @hq-fang in #4249
  • perf(fastwam): add compiled cached action inference by @darthjaja6 in #4491
  • fix(rl): guard learner checkpoint saving against non-positive save_freq by @HaomingSong in #4479
  • fix(tests): fix peft cli test by @HaomingSong in #4477
  • fix(datasets): keep small splits from dropping episodes in split_dataset by @VihaanAgarwal in #4001
  • fix(datasets): reject mismatched aggregate roots by @tandede in #4488
  • docs: correct calibration guide grammar by @POPOXR in #4508
  • feat(datasets): native support for LeRobot datasets stored as LanceDB datasets by @AyushExel in #4363
  • chore: update full_tests.yml by @hf-security-analysis[bot] in #4531
  • add upper bounds for lancedb dependencies by @AyushExel in #4532
  • support non-default backends in foxglove playback by @AyushExel in #4542
  • Fix reset config joint positions encoding by @s1lent4gnt in #4545
  • add dataset reader registry for storage backends by @AyushExel in #4541
  • make eval_split format aware by @AyushExel in #4543
  • fix(datasets): answer delta queries through cached single-column views by @Rick0525 in #4314
  • fix(kinematics): iterate inverse_kinematics to convergence by @0o8o0-blip in #3613
  • feat(rollout): bring your own strategy by @imstevenpmwork in #4559
  • dataset-via keep --root as a st...
Read more

Release v0.6.1

Choose a tag to compare

@github-actions github-actions released this 03 Aug 14:19
7e241bd

⚠️ Breaking changes (v0.6.0 -> v0.6.1)

  • lerobot.types module was renamed to lerobot.lerobot_types: #4232

What's Changed

Read more

Release v0.6.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 10:41
30da8e6

Release Blog

https://huggingface.co/blog/lerobot-release-v060

⚠️ Breaking changes (v0.5.1 -> v0.6.0)

v0.6.0 cleans house, and a few changes need your attention when upgrading:

  • pip install lerobot no longer includes dataset or training dependencies; add the extra you need (e.g. lerobot[training]).
  • Some import paths have changed. Please use the canonical public entry points rather than internal submodule paths.
  • GR00T N1.5 is replaced by N1.7 (pin lerobot==0.5.1 if you need N1.5).
  • The minimum PyTorch version is now 2.7.
  • eval_freq was renamed to env_eval_freq in the train config.
  • The RL stack was rebuilt: the sac policy type is now gaussian_actor under the new modular RL API.
  • Legacy per-frame subtask_index annotations are superseded by the new language columns.
  • --dataset.vcodec was renamed to --dataset.rgb_encoder.vcodec, such that RGB and depth cameras video codecs may be set separately.
output.mp4

What's Changed

Read more

Release v0.5.1

Choose a tag to compare

@github-actions github-actions released this 07 Apr 14:57
1396b9f

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.5.1

Release v0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Mar 11:19
00b662d

Release Blog

https://huggingface.co/blog/lerobot-release-v050

What's Changed

New Contributors

Full Changelog: v0.4.4...v0.5.0

Release v0.4.4

Choose a tag to compare

@github-actions github-actions released this 27 Feb 18:07
8fff0fd

What's Changed

New Contributors

Read more

Release v0.4.3

Choose a tag to compare

@github-actions github-actions released this 22 Jan 10:59
0b067df

What's Changed

Read more

Release v0.4.2

Choose a tag to compare

@github-actions github-actions released this 27 Nov 21:42
58f70b6

What's Changed

Full Changelog: v0.4.1...v0.4.2

Release v0.4.1

Choose a tag to compare

@github-actions github-actions released this 10 Nov 11:31
a5b29d4

What's Changed

Full Changelog: v0.4.0...v0.4.1

Release v0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:38
f25ac02

Release Blog

https://huggingface.co/blog/lerobot-release-v040

What's Changed

Read more