Repository navigation
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,
torchandtorchvisionnow come from PyPI as CUDA 13 builds (NVIDIA driver 580.65 or newer); thecu128index 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:
transformers5.22,huggingface-hub>=1.31,<3,motorbridge0.5,datasets<6,Pillow<14,torchcodec<0.18.
Training
- Weights & Biases is replaced by Trackio (the
trainingextra installstrackio):--wandb.*is now--trackio.*,entity/modehave 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 (theirmodel.safetensorsstill loads), and Accelerate YAML/env configuration is rejected unlessLEROBOT_ALLOW_ACCELERATE_ENV=1. --policy.use_peft=truealone now trains LoRA instead of silently fully fine-tuning.- Image transforms are batched:
GaussianNoise,MotionBlur,GaussianPatchBrightness,RandomShadow,CoarseDropout,GammaCorrectionandPlanckianJitterwere silent no-ops on uint8 frames and now apply.ImageTransformstakes tensors only; the per-sample classes are deprecated.
Inference & rollout
lerobot.async_inferenceandlerobot[async]are removed: uselerobot[remote],lerobot-policy-serverandlerobot-rollout --inference.type=remote.lerobot.rollout.inferencemoved tolerobot.inference.select_action/predict_action_chunkmay return aPolicyOutput({"action", "prediction"}) instead of a bare tensor; usepolicy_output_to_transitionwhen 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 tolerobot.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.typeis unchanged.- Removed env fields: Aloha/PushT
observation_height/observation_width, MetaWorldepisode_length/multitask_eval, RoboTwinobs_type/render_mode. MetaWorld's default task ismetaworld-push-v3. - EnvHub
make_envis called withoutcfgand must return an unwrappedSyncVectorEnv/AsyncVectorEnvunless--env.use_native_batch=true.
Policies
dtypeis the single precision key of every policy config;torch_dtype,vlm_dtype,model_params_fp32andmodel_dtypeare ignored or removed. In Python passtorch.bfloat16, not a string.- MolmoAct2:
enable_lora_vlm,enable_lora_action_expertandtrain_action_expert_onlyare replaced by--policy.train_mode_vlm={fft,lora,freeze};action_modedefaults tocontinuous. - EO1:
chunk_sizeandn_action_stepsdefault to 16. - VLA-JEPA: checkpoints trained before the RoPE fix need
--policy.world_model_rope_legacy=true;binarize_gripper_actionandpre_snap_gripper_actiondefault tofalse.
Datasets
--dataset.streaming=trueuses a new disk-less episode-pool reader with--dataset.streaming_*options;Backtrackableis removed.
Hardware
- Feetech and Dynamixel run on one rustypot-backed
SerialMotorsBus(lerobot[feetech]/[dynamixel]installrustypotinstead of the vendor SDKs).FeetechMotorsBus/DynamixelMotorsBusare deprecated aliases,OperatingMode/TorqueModegive way tobus.set_operating_mode("position"), and the control tables,encoding_utilsand 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_kdare 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 string so object-store URIs are not mangled by @AyushExel in #4566
- docs: move optional encoder comments outside continued commands by @A-lost-unicorn in #4461
- fix(envs): make MetaWorld task descriptions unique by @sawhney17 in #4410
- docs(reachy2): replace unavailable acquisition server workflow by @ethanvillalovoz in #4418
- fix(pi05): match time_mlp modules in default PEFT targets by @jt-z in #4494
- fix(robots): honour the configured sdk_url on EarthRover Mini Plus by @cagataycali in #4515
- fix(stats): skip video download with image stats by @sawhney17 in #4396
- feat(wandb): expose resume and console settings by @kkipngenokoech in #4480
- Make PI0 and PI0.5 text tokenizers configurable by @algattik in #4506
- fix(record): preserve compressed image setting during reset by @timothyanderson096-ocdealcheck in #4527
- chore(dependencies): update uv.lock by @imstevenpmwork in #4318
- chore: update AI policy by @imstevenpmwork in #4590
- chore(ci): refresh claude action to latest model by @imstevenpmwork in #4593
- chore(ci): increase max turns claude by @imstevenpmwork in #4597
- feat(policies): make the training recipe the language contract by @pkooij in #4183
- docs(docker): add community-maintained Jetson Dockerfile and installation note by @ravediamond in #4599
- feat(eo1): add language runtime and text supervision + base model by @pkooij in #4235
- fix: preserve frame_index through processors by @philippguevorguian in #4585
- fix: flatten grouped action feature names by @philippguevorguian in #4587
- fix: synchronize rollout and policy devices by @philippguevorguian in #4586
- feat(wall-x): add language runtime and text supervision by @pkooij in #4234
- feat(eval): report success counts and 95% Wilson intervals at every aggregation level by @Rahillasne in #4628
- feat(g1): select end effector and camera options through config by @nepyope in #4645
- fix(processors): make relative actions work with a stacked observation state by @Maximellerbach in #4656
- feat(policies): add LaWAM policy by @Nemo-1024 in #3999
- fix(rollout): carry --duration to dataset.episode_time_s for episodic by @Maximellerbach in #4448
- docs: document lancedb dataset backend by @AyushExel in #4567
- LanceDB loader quick wins: fail-closed open, lazy blob handles, row ids resolved once by @AyushExel in #4565
- docs: show default values for rollout display_data and sentry flags by @cetiennec in #4667
- refactor(processors): one path for building processors from a checkpoint by @Maximellerbach in #4701
- feat(train): add support for fp16 mixed precision by @HaomingSong in #4652
- fix(train): only record gpu_mem_gb when the tracker declares it by @HaomingSong in #4714
- feat(rollout): add-relative-action support to the synchronous inference engine by @Maximellerbach in #4057
- perf(pi05): batch cameras and autocast siglip inference by @nepyope in #4426
- perf(unitree_g1): cap ONNX Runtime thread pool for sim by @nepyope in #4264
- fix(rollout): align sync and rtc action/state ordering by @Maximellerbach in #4452
- fix(rtc): chunk-splice jump and mean-action seam by @Maximellerbach in #4454
- feat(calibration): show the homing position as an ASCII diagram by @cetiennec in #4669
- chore(dependencies): update uv.lock by @imstevenpmwork in #4600
- Scope GITHUB_TOKEN permissions per job by @hf-security-analysis[bot] in #4731
- chore(mypy): cover lerobot_types by @imstevenpmwork in #4733
- Pin GitHub Actions to commit SHAs by @hf-security-analysis[bot] in #4732
- chore(mypy): cover datasets by @imstevenpmwork in #4734
- chore(mypy): cover utils by @imstevenpmwork in #4735
- chore(mypy): cover teleoperators by @imstevenpmwork in #4736
- chore(mypy): cover common by @imstevenpmwork in #4737
- Add FLUX 3 Action policy by @ASchwad in #4739
- fix(tests): restore TF32 after Flux training tests by @pkooij in #4740
- chore(mypy): cover data_processing by @imstevenpmwork in #4752
- chore(mypy): cover jobs by @imstevenpmwork in #4753
- chore(mypy): cover robot by @imstevenpmwork in #4754
- chore(mypy): cover rollout by @imstevenpmwork in #4756
- chore(mypy): cover processor by @imstevenpmwork in #4757
- chore(mypy): cover rewards by @imstevenpmwork in #4759
- chore(mypy): cover async_inference by @imstevenpmwork in #4760
- chore(mypy): cover policies by @imstevenpmwork in #4763
- chore(mypy): cover scripts by @imstevenpmwork in #4762
- refactor(datasets): use module loggers consistently by @yanghua in #4744
- chore(mypy): one ruleset for the whole codebase and mypy 2.3.1 by @imstevenpmwork in #4766
- chore(ci): use 2 instead of 4 gpus for multi-gpu test by @imstevenpmwork in #4771
- Feat/rebot b601 motor family by @s1lent4gnt in #4535
- fix(datasets): preserve Lance batch metadata during cache eviction by @yanghua in #4755
- docs: fix RoboCerebra project page and SONIC links by @pratikgx in #4787
- fix(policies): pass renamed dataset features to set_dataset_feature_metadata by @zuoxingdong in #4802
- docs(datasets): introduce the dataset visualizer earlier, with screenshots by @s1lent4gnt in #4793
- docs: align tutorial training dataset with recording by @ethanvillalovoz in #4799
- fix(annotations): store VQA bbox and keypoint coordinates as [0, 1] image fractions by @Maximellerbach in #4819
- refactor(dtype): unify the dtype configuration of policies by @HaomingSong in #4786
- chore(ci): increase timeout and max-turns claude action by @imstevenpmwork in #4841
- feat(flow-matching): share sampling primitives across policies (groot, evo1, wall_x) by @nepyope in #4077
- feat(hub): take the model card base_model and license from the Hub parent, and keep it across resumes by @Maximellerbach in #4792
- fix(pi0): cast the timestep embedding to the action dtype by @nepyope in #4078
- feat: add FineART-VLA policy built on pi0.5 by @pkooij in #4184
- feat(policies): add DM05 policy by @Maximellerbach in #4721
- feat(flow-matching): explicit flow convention for the shared Euler solver (groot, evo1, wall_x) by @nepyope in #4075
- feat(flow-matching): share training-input construction across policies by @nepyope in #4631
- feat(datasets): disk-less episode-pool video streaming by @pkooij in #3917
- fix(datasets): pass the training seed to the streaming dataset by @Hadrien-Cornier in #4871
- fix(fastwam): device-agnostic default for Wan VAE and text encoder by @li-lizhe in #4677
- Bump doc-builder workflow pin by @paulinebm in #4854
- perf(datasets): run image transforms on the GPU with image_transforms.backend=gpu by @brysonjones in #4627
- feat(streaming): use --num_workers with streaming datasets, up to 2.5x faster data loading by @Hadrien-Cornier in #4874
- feat(rollout): add remote inference engine by @imstevenpmwork in #4836
- Revert "feat(rollout): add remote inference engine" by @imstevenpmwork in #4936
- fix(pi05): drop dead state_proj from PEFT default targets by @ravediamond in #4751
- fix(motors): remove trailing space from Feetech Acceleration_Multiplier name by @Hadrien-Cornier in #4926
- perf(datasets): optimize Lance RGB batch decoding by @yanghua in #4804
- fix(motors): keep Feetech half-turn homing offsets representable by @cetiennec in #4940
- chore(dependencies): updating lower bounds on gym-pusht and gym-aloha dependencies by @CarolinePascal in #4950
- fix(hub): mark PEFT policies as adapters of their base model in the model card by @Maximellerbach in #4952
- feat(rollout): add remote inference engine by @imstevenpmwork in #4937
- docs(rollout): improve remote inference docs by @imstevenpmwork in #4965
- feat(g1): support SONIC remote inference by @imstevenpmwork in #4955
- docs: add lerobot_camera_paxini to third-party sensors by @Jingyi-Z in #4606
- refactor(streaming): follow the import conventions in the streaming modules by @pkooij in #4865
- fix(streaming): release HTTP response bodies without waiting for cyclic GC by @pkooij in #4903
- perf(multi_task_dit): compile the vision encoder and DiT, dedup task strings in the processor by @brysonjones in #4621
- feat(rollout): steerable external vlm wiring by @molbap in #4675
- refactor(motors): one rustypot-backed SerialMotorsBus for Feetech and Dynamixel by @nicolas-rabault in #4672
- refactor(motors): share the hand calibration and the motor setup of serial-bus devices by @nicolas-rabault in #4867
- Fix: fix phone teleop enable signal, clarify the controls by @cetiennec in #4730
- fix(unitree-g1): correctly clear the SDK dq field for position commands by @davidwei in #4664
- feat(unitree-g1): add G1-23 embodiment support by @davidwei in #4651
- Unitree G1 hero video update by @NikodemBartnik in #5021
- feat(policies): accept the starting noise in predict_action_chunk by @shoumikhin in #4813
- fix(cameras): add the missing space in the OpenCV open-failure message by @varun-projects in #4910
- fix(cameras): small docstring fix in camera_opencv.py by @gui-miotto in #4901
- docs: add the OpenArm KER leader plugin to the third-party hardware page by @iamlakshya in #4899
- docs: list SO-ARM 102 under full robot kits by @brnikita in #5017
- docs: correct LIBERO-plus task counts and evaluation guidance by @aroraanushri in #4839
- fix(rl): guard learner log_freq against ZeroDivisionError by @ravediamond in #4750
- fix(wall_x): report incompatible checkpoint keys by @Samuel-Hills in #4761
- fix(datasets): reject image writers with no workers by @TinyGeek in #5019
- fix(datasets): warn only when the dataset is newer than the codebase by @horizonbymuneeb in #4852
- docs: link SO-ARM 102 kit details by @brnikita in #5028
- chore: update claude.yml by @hf-security-analysis[bot] in #4598
- fix(tests): restore torch.backends flags after real train() calls by @ravediamond in #4748
- fix(envs): explain that gym_manipulator cannot be built by make_env by @BrutalCaeser in #4997
- fix(scripts): don't crash lerobot-info when a package fails to import by @LinCanNerd in #4935
- feat(dataset-viz): show the language task in the Rerun viewer by @zuoxingdong in #4322
- fix(processor): retain device index across pipeline serialization by @JonnyFaeth in #4856
- fix(utils): retain NumPy Gaussian RNG cache precision by @dipeshbabu in #4706
- fix(datasets): weight sampled image stats by episode length by @AaravMehta-07 in #4949
- fix(datasets): honour quantile_list in get_feature_stats by @MohammadHijjawi97 in #4796
- fix(datasets): report a 29.97 fps stream rate by @SashaMIT in #4810
- fix(utils): preserve Python Gaussian RNG cache in checkpoints by @dipeshbabu in #4705
- fix(utils): restore seeded context RNG state on exceptions by @dipeshbabu in #4707
- Accept local dataset names in recording sanity check by @Hashim1999164 in #4674
- feat(optim): add opt-in fused Adam/AdamW flag by @tc-huang in #5023
- fix(smolvla): normalize uint8 images before resizing by @krmayn in #4292
- docs(robocasa): fix camera rename_map for smolvla_robocasa by @JFan5 in #4860
- feat(docker): add ROCm dockerfile for AMD Instinct GPUs by @Treemann in #4470
- fix(envs): use VLABench instruction as description by @tc-huang in #5022
- fix(configs): backfill pretrained_path in PreTrainedConfig.from_pretrained by @DanMo661 in #4648
- fix(streaming): make the sidecar lock timeout a setting by @Hadrien-Cornier in #4889
- fix(streaming): apply image transforms on the training thread when num_workers=0 by @Hadrien-Cornier in #4891
- fix(streaming): give the trainer's data-parallel rank to the streaming dataset by @Hadrien-Cornier in #4890
- feat(policies): add Wall-OSS-0.5 support by @pkooij in #4200
- fix: stabilize mypy checks and resolve repository type errors by @pkooij in #5045
- fix(wall-oss-05): preserve array typing in state discretization by @pkooij in #5055
- fix(vla_jepa): pair rotary frequencies with adjacent coordinates by @Afloat16 in #4835
- perf(streaming): cut sidecar build memory by 91% by @Hadrien-Cornier in #4948
- feat(policies): add LingBot-VLA 2.0 by @Maximellerbach in #4897
- feat(fastwam): add Faster-WAM (2.5-5.3x faster policy inference on A100) by @Hadrien-Cornier in #5049
- (docs) improvements and fixes by @NikodemBartnik in #4812
- fix(peft): make --peft.* and --policy.use_peft one switch, detect adapters from the checkpoint by @Maximellerbach in #4144
- Update the list of third party integrations by @NikodemBartnik in #5104
- fix(datasets): accumulate running stats in float64 to avoid zero/biased std by @CarolinePascal in #5107
- chore(ci): Make CI great again by @Maximellerbach in #5069
- chore(ci): cut Fast Tests time by removing redundant work and redundant cases in the slowest tests by @Maximellerbach in #5070
- chore(ci): run only the CUDA tests on the GPU job and build the large test models on the GPU by @Maximellerbach in #5101
- docs(tests): mention the pytest tier and gpu marks in AGENTS.md by @Maximellerbach in #5122
- fix(wandb): stop uploading training checkpoints as artifacts by default by @CarolinePascal in #5123
- docs(fastwam): use checkpoint with identity visual preprocessing by @C00kieMonsta in #5121
- fix(factory): keep the output features of a checkpoint at evaluation by @HaomingSong in #5077
- chore(dependencies): update uv.lock by @imstevenpmwork in #4745
- feat(train): support PEFT under sharded training (FSDP2, HSDP) by @HaomingSong in #5086
- fix(ci): pin robomme to the commit before RoboMME-Plus by @Maximellerbach in #5139
- Bump doc-builder to get the docs machine-translated by @mishig25 in #5141
- docs(replay): correct bimanual SO port arguments by @WOLIKIMCHENG in #5135
- docs(eo1): update chunk_size and n_action_steps defaults to 16 by @ZainnQureshii in #5089
- feat(policies): add native Long-WAM training and inference by @Aaronhuang-778 in #5008
- perf(datasets): batch Lance depth video decoding by @yanghua in #4808
- fix(longwam): resize inference frames on their input device by @Maximellerbach in #5144
- feat(policies): return a typed prediction alongside actions and show it in Rerun / Foxglove by @Maximellerbach in #3757
- feat(policies): accept the starting noise in predict_action_chunk for EO-1, EVO-1, WALL-OSS and Wall-OSS-0.5 by @shoumikhin in #4811
- fix(rollout): connect hardware after setup and close resources on failure by @s1lent4gnt in #4866
- refactor(utils): replace wandb with trackio by @imstevenpmwork in #4954
- fix(xvla): compute select_action chunks through predict_action_chunk by @shoumikhin in #4827
- docs: fix dead Isaac Teleop and RealSense links by @sarankumar1325 in #5157
- feat(train): add FSDP2 MixedPrecisionPolicy and sync_each_batch by @HaomingSong in #5095
- perf(datasets): map Lance episode subsets with an O(num_episodes) index by @yanghua in #4974
- perf(groot): keep N1.7 camera frames on device during preprocessing by @Priyakarna13 in #5112
- feat(train): configurable TF32 for training and evaluation by @HaomingSong in #5096
- feat(optim): add the warmup_stable_decay scheduler by @HaomingSong in #5103
- feat(train): add LeRobot native EMA support with pluggable decays and sharded training by @HaomingSong in #5117
- chore(dependencies): allow filelock 4.x, require 4.2.1 or newer by @shoumikhin in #5154
- feat(rollout): log cadence, inference latency and memory periodically by @imstevenpmwork in #5156
- chore(dependencies): allow Pillow 13 by @ynaka81 in #5024
- fix(tests): restore proxy state with pytest 9.2 by @imstevenpmwork in #5165
- fix(dependencies): bump packaging upper bound for security advisories by @imstevenpmwork in #5166
- chore(dependencies): update uv.lock by @imstevenpmwork in #5167
- Support huggingface_hub 2.x (import httpx from huggingface_hub.utils) by @Wauplin in #5201
- Replace deprecated Hub upload and download APIs by @Wauplin in #5208
- feat(vla_jepa): opt-in world_model_rope_legacy for checkpoints trained before #4835 by @ravediamond in #5098
- fix(eo1): give the slow Qwen2.5-VL image processor CPU images by @shoumikhin in #5146
- Bump transformers version to 5.22 by @molbap in #5220
- fix(eval): collect predicted latents through PEFT wrapped model by @HaomingSong in #5092
- fix(configs): honor --policy.pretrained_revision in lerobot-train and lerobot-eval by @HaomingSong in #5197
- feat(train): add accelerate's InitProcessGroupKwargs in the accelerator config by @HaomingSong in #5206
- perf(datasets): stream-copy videos when deleting episodes by @nepyope in #4498
- feat(g05): add OpenGalaxea G0.5 policy integration by @Maximellerbach in #4445
- fix(datasets): reject duplicate episode indices in split_dataset by @creativityventures in #4985
- fix(fineart): spatial targets to use normalized annotations by @Maximellerbach in #5224
- chore(dependencies): bump torch packages ceiling by @imstevenpmwork in #5210
- chore(dependencies): update uv.lock by @imstevenpmwork in #5175
- feat(policies): add Cosmos3 by @HaomingSong in #5134
- chore(dependecies): bump datasets by @imstevenpmwork in #5232
- feat(fastwam): add relative actions and per-sample loss reduction for RA-BC by @Maximellerbach in #4657
- fix(xvla): apply the LIBERO env processors to LIBERO only and check the action conversion by @HaomingSong in #5084
- feat(robot): yam robot arm with motorbridge by @s1lent4gnt in #4855
- feat(sim): one simulator core for batched envs and sim robots, in-process or served by @Maximellerbach in #4888
- fix(dependencies): pillow bump by @imstevenpmwork in #5263
- feat(sim): NVIDIA RoboLab benchmark on Isaac Lab by @Maximellerbach in #5194
- chore(dependencies): update uv.lock by @imstevenpmwork in #5238
- test(yam): stamp fake CAN frames when received to fix flaky feedback tests by @CarolinePascal in #5265
- chore(dependencies): update uv.lock by @imstevenpmwork in #5267
- chore(dependencies): Bump lerobot to 0.7.0 by @imstevenpmwork in #5268
New Contributors
- @aHiroakiIshikawa made their first contribution in #3804
- @alejodosr made their first contribution in #4323
- @walle250ai made their first contribution in #3423
- @ravediamond made their first contribution in #4381
- @darthjaja6 made their first contribution in #4491
- @VihaanAgarwal made their first contribution in #4001
- @tandede made their first contribution in #4488
- @POPOXR made their first contribution in #4508
- @AyushExel made their first contribution in #4363
- @Rick0525 made their first contribution in #4314
- @0o8o0-blip made their first contribution in #3613
- @A-lost-unicorn made their first contribution in #4461
- @sawhney17 made their first contribution in #4410
- @ethanvillalovoz made their first contribution in #4418
- @jt-z made their first contribution in #4494
- @kkipngenokoech made their first contribution in #4480
- @algattik made their first contribution in #4506
- @timothyanderson096-ocdealcheck made their first contribution in #4527
- @philippguevorguian made their first contribution in #4585
- @Rahillasne made their first contribution in #4628
- @Nemo-1024 made their first contribution in #3999
- @cetiennec made their first contribution in #4667
- @ASchwad made their first contribution in #4739
- @pratikgx made their first contribution in #4787
- @Hadrien-Cornier made their first contribution in #4871
- @li-lizhe made their first contribution in #4677
- @Jingyi-Z made their first contribution in #4606
- @molbap made their first contribution in #4675
- @davidwei made their first contribution in #4664
- @varun-projects made their first contribution in #4910
- @iamlakshya made their first contribution in #4899
- @brnikita made their first contribution in #5017
- @aroraanushri made their first contribution in #4839
- @Samuel-Hills made their first contribution in #4761
- @TinyGeek made their first contribution in #5019
- @horizonbymuneeb made their first contribution in #4852
- @BrutalCaeser made their first contribution in #4997
- @LinCanNerd made their first contribution in #4935
- @JonnyFaeth made their first contribution in #4856
- @dipeshbabu made their first contribution in #4706
- @AaravMehta-07 made their first contribution in #4949
- @MohammadHijjawi97 made their first contribution in #4796
- @SashaMIT made their first contribution in #4810
- @Hashim1999164 made their first contribution in #4674
- @krmayn made their first contribution in #4292
- @JFan5 made their first contribution in #4860
- @Treemann made their first contribution in #4470
- @DanMo661 made their first contribution in #4648
- @Afloat16 made their first contribution in #4835
- @C00kieMonsta made their first contribution in #5121
- @ZainnQureshii made their first contribution in #5089
- @Aaronhuang-778 made their first contribution in #5008
- @sarankumar1325 made their first contribution in #5157
- @Priyakarna13 made their first contribution in #5112
- @Wauplin made their first contribution in #5201
- @creativityventures made their first contribution in #4985
Full Changelog: v0.6.1...v0.7.0