What's Changed
* docs: update training launch commands and add hydra override documentation by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/131
* [feat] NanoVLM Training support by Purshow in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/134
* [feat] Add total FLOPS, training duration & CO2 emission tracking by Jinghao-Guo in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/137
* docs: Update raedme.md and scripts of NanoVLM by Purshow in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/138
* [docs] modify qwen3_vl example config by KemingWu in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/140
* [docs] Update NanoVLM readme by Purshow in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/141
* [WIP] feat: Transformers 5.0 compatibility by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/142
* [feat] support messages column as JSON string in iterable datasets by mwxely in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/147
* [fix] handle parquet schema mismatch in dataset concatenation by mwxely in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/146
* [feat] Support EP for transformers >= 5.0 by ngquangtrung57 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/148
* doc:fix typo by Purshow in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/149
* [fix] remove dead code, fix typos, and eliminate unnecessary GPU-CPU syncs by choiszt in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/150
* fix(cicd): auto-select free port and fix qwen3 FSDP2 attention_type compat by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/151
* fix(dataset): join data_folder with video path in Qwen3VL iterable dataset by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/152
* chore: add Dockerfile and .dockerignore by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/153
* fix(qwen3_vl): align video timestamp token placement with transformers by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/154
* fix(merger): handle non-sharded tensors in FSDP2 checkpoint merging by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/155
* fix(merger): copy processor_config.json for custom processors by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/156
* fix(merger): re-tie weights to avoid duplicating tied parameters by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/157
* fix(fsdp2): avoid double-dividing tokens_per_gpu by sp_size by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/158
* fix(qwen3_vl): apply pixel limits via processor size by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/159
* fix(merger): use DTensor placements to detect replicated vs sharded params by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/160
* refactor(packing): extract online packing strategies by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/161
* refactor(packing): streaming BalancedPacking to eliminate worker stalls by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/162
* feat(kernels): pluggable varlen attention backend (FA2 / SDPA) by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/163
* fix(packing): rename next_fit to first_fit by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/164
* feat(datasets): support optional video_start/video_end on video_url by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/165
* fix(bagel): guard flash_attn imports so models init works without it by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/166
* feat(qwen3_5): packed linear-attention forward + fix DynamicCache import by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/167
* feat: ViT frame parallel + Qwen3.5 VL forward by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/168
* fix(qwen3_vl): patch vision rope with liger + gate text_model.norm rms_norm by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/169
* [feat] add LLaVA-OneVision2 (8B-Instruct) training support by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/170
* feat(qwen3_5_moe): modeling + EP support + multi-axis DTensor merger by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/171
* fix(iterable-dataset): implement stateful protocol for resume by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/172
* feat(qwen3_5): sequence parallel + ViT frame parallel integration by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/173
* feat(profiler): CUDA memory snapshot with auto-dump on OOM by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/174
* fix(qwen3_5): shard ViT frames across CP ranks by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/175
* fix(profiler): dump memory snapshot on trainer OOM by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/176
* feat: add Qwen3-VL ViT frame parallel SP support by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/177
* feat: add Qwen3-VL tensor parallel by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/178
* feat: add HSDP (Hybrid Sharded Data Parallel) support by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/180
* feat(profiler): add lightweight CUDA event timing by choiszt in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/179
* perf(fsdp2): reduce per-step host/comm overhead by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/181
* docs: fix repo URL in README (LMMs-Lab -> EvolvingLMMs-Lab) by ngquangtrung57 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/182
* perf(rope): vectorize qwen3_vl_get_rope_index, drop per-token sync by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/184
* feat(datasets): lmms_video_utils video backend for LLaVA-OneVision-2 codec stream by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/183
* fix(fsdp2): broadcast non-persistent buffers under enable_parallel by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/185
* feat: add Aero Realtime training support by kcz358 in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/187
New Contributors
* Purshow made their first contribution in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/134
* choiszt made their first contribution in https://github.com/EvolvingLMMs-Lab/lmms-engine/pull/150
**Full Changelog**: https://github.com/EvolvingLMMs-Lab/lmms-engine/compare/v0.1.3...v0.1.4