transformers Updates & Release Notes
36 updates curated from 1 source by the Releasebot Team. Last updated: Aug 11, 2026
- Aug 10, 2026
- Date parsed from source:Aug 10, 2026
- First seen by Releasebot:Aug 11, 2026
Release: v5.15.0
transformers releases v5.15.0 with new model support, including Meta Muse Glimmer and Granite, AXK1 and AXK2, Cosmos3 Edge, plus broader attention, vision, audio, cache, quantization, tokenizer, serving, and parallelization improvements with many bug fixes and breaking API updates.
Release v5.15.0
New Model additions
Meta Muse Glimmer
Muse Glimmer, released today, is Metaβs new multimodal model, especially designed for agentic use cases. Distilled from Muse to 30B parameters, and released under the Apache 2.0 license, it can be deployed to local setups for privacy-aware applications such as coding, document analysis, personal assistants, Claw- or Hermes-like setups.
Muse Glimmer is a dense 30B parameter model consisting of:
- 2B ViT-style encoder for vision (Perception Encoder)
- 28B parameter text decoder
We're covering it in the following blogpost: http://hf.co/blog/muse-glimmer
GraniteMoeSWA & GraniteSWA
Links: Documentation
Add Granite-swa and Granitemoe-swa model support (#47179) by @daviswer in #47179
Links: Documentation
Add Granite-swa and Granitemoe-swa model support (#47179) by @daviswer in #47179
A.X-K1 & A.X-K2
Links: Documentation
Add AXK2 from SKT (#47528) by @vasqu in #47528
Links: Documentation
add_axk1 (#46867) by @kmswin1 in #46867
Cosmos3 Edge
Links: Documentation
Add Cosmos3 Edge model support (#47181) by @atharvajoshi10 in #47181
Breaking changes
Kernels are now opt-in rather than mandatory for linear attention models (Mamba, GDN, Conv-only, etc.), so users who relied on automatic kernel selection must explicitly enable kernels to maintain previous behavior.
π¨ [Kernels] Refactor all linear attn models & native kernels fallback (#47630) by @vasqu
The cache cropping API now only accepts negative values (relative offsets) instead of absolute sizes, so users calling crop methods directly must update their code to pass negative values accordingly.
π¨ [cache] Cropping can only be done with negative values (#47720) by @Cyrilvallez
T5 and its model family (MT5, LongT5, etc.) now support SDPA and other attention backends via ALL_ATTENTION_FUNCTIONS, meaning the default attention implementation may change and users relying on the previous eager-only path should explicitly set attn_implementation="eager" if needed.
π¨ Enable SDPA (and other attention backends) for T5 and propagate to the T5 family (#47014) by @jiqing-feng
Several small private helper functions (e.g., _is_url, _build_image_tokens) have been removed from multimodal processor files, so users or downstream libraries that imported these private functions directly must remove or replace those references.
π¨ Processors update the rest (#46556) by @zucchini-nlp
Attention
This release includes several attention fixes and improvements, including correcting Multi-Head Latent Attention (MLA) cache compression, optimizing Flash Attention max sequence length computation in vision models, and fixing bugs in CTRL flex-attention and SDPA prefill with position bias. Additional changes refactor linear attention models for better maintainability, make Gemma 4's heterogeneous attention config explicit, and improve MPS support via metal-flash-sdpa integration.
[Fix] Fix multi-head latent attention (MLA) (#47761) by @remi-or in [#47761]
Refactor all linear attention models to latest best standards for convolution (#47452) by @Cyrilvallez in [#47452]
Allow metal-flash-sdpa for OpenAIPrivacyFilter on MPS (#46740) by @ArthurZucker in [#46740]
Use new per_layer_config for Gemma 4 so that heterogeneous attention config is explicit (#47384) by @hmellor in [#47384]
add paged attention tests support for XPU (#47163) by @kaixuanliu in [#47163]
Move value padding into the attention interfaces that need it (#47451) by @hmellor in [#47451]
Simplify function dispatch for linear attention (#47450) by @Cyrilvallez in [#47450]
Optimize flash attention max seqlen computation in vision attention (#47170) by @ShareLer in [#47170]
Fix BlockMask crash in CTRL flex-attention generation (#46854) by @jiqing-feng in [#46854]
[CB] Automatically switch attention implementation to flash (#47330) by @remi-or in [#47330]
Fix sdpa prefill with position_bias (#47359) by @Cyrilvallez in [#47359]
Vision
Vision improvements in this release include performance optimizations such as faster image preprocessing for vision-language models (GLM4V, MiniMaxM3-VL, and others) by eliminating redundant tensor copies, and more efficient Flash Attention variable-length paths by precomputing maximum sequence lengths once per forward pass. Several bug fixes were also applied, including correcting dtype alignment in Kosmos2/Kosmos2_5 embedding merges, fixing a position-embedding initialization fallback in Phi4Multimodal, resolving PIL resize parity in Hunyuan-VL, and patching stop-sequence handling in the image-text-to-text pipeline.
Modularize qwen-format vision processors (#47573) by @zucchini-nlp in [#47573]
Update daily CI Docker image to torch 2.13.0 / CUDA 13.0 (#47738) by @ydshieh in [#47738]
Align image feature dtype in kosmos2 and kosmos2_5 embedding merge (#47691) by @ in [#47691]
Speed up image preprocessing for vision-language models (#47453) by @labAxiaoming in [#47453]
Fix vision position-embedding init width fallback in Phi4Multimodal (#47509) by @ in [#47509]
Fix Hunyuan-VL PIL image resize parity with reference preprocessing (#47233) by @IMvision12 in [#47233]
Fix image-text-to-text stop_sequence handling (#47032) by @Sunt-ing in [#47032]
Refactor image loading in tests to use load_test_image helper (#47218) by @LevelVoid in [#47218]
Generation
Several generation improvements and bug fixes were made, including enabling batched audio generation for Qwen2.5/3-Omni, allowing sliding window cache layers to work with speculative decoding, and fixing memory overhead from static cache persistence across generate() calls. Multiple model-specific bugs were also resolved, including crashes in KyutaiSpeechToText, MusicgenForCausalLM, CTRL flex-attention, and assisted decoding for EncoderDecoder cache and OlmoHybrid models.
Align OlmoHybrid to use a native cache in generate (#47604) by @Cyrilvallez in [#47604]
[generate] Stop setting the static cache as an attribute to save memory (#47731) by @Cyrilvallez in [#47731]
Add support for batched Qwen2.5/3-Omni audio generation (#47186) by @IMvision12 in [#47186]
[cache] Allow sliding window layers to be roll-backed for speculative decoding (#47447) by @Cyrilvallez in [#47447]
Fix shape mismatch in KyutaiSpeechToText generate() last window (#46952) by @jiqing-feng in [#46952]
Fix typo in MusicgenForCausalLM.generate() (#46974) by @jiqing-feng in [#46974]
Fix assisted decoding for models with EncoderDecoder cache & OlmoHybrid (#47361) by @Cyrilvallez in [#47361]
Cache
Several cache-related bugs were fixed, including correcting NemotronH's missing "mlp" layer-type mapping, resolving recurrent-layer padding masks being skipped during chunked prefill and cache continuation for hybrid models, and fixing assisted decoding for models with EncoderDecoderCache and OlmoHybrid. Additional improvements include aligning OlmoHybrid to use a native cache, enabling sliding window layers to support speculative decoding rollback, and stopping the static cache from being stored as a model attribute to reduce unexpected memory overhead.
[docs] MPS graph cache (#47304) by @stevhliu in [#47304]
Fix NemotronH: Register "mlp" in the cache layer-type mappings (#47535) by @qgallouedec in [#47535]
Fix recurrent-layer padding mask being skipped on continued forwards (chunked prefill, cache continuation) (#47087) by @abcgco in [#47087]
Kernels
β οΈ The kernels python package will very likely be a required dependency for transformers[torch] in the near future. This will help us deliver maximum performance to all users; kernels will only be downloaded from trusted publishers manually approved by the HF team. Please let us know of any issues you're facing beforehands so that we may solidify our integration.
Improved robustness of the kernels integration by refactoring function handling to use layer repos, fixing CI EROFS fallback patches for kernel downloads via HfApi, resolving a positional argument collision in causal_conv1d_fn, and bumping the FP8 kernels version to prevent NaNs.
[conftest] Fix EROFS fallback for kernel downloads (correct interception point) (#47794) by @ydshieh in [#47794]
[conftest] Fix EROFS fallback for kernel downloads via HfApi (#47791) by @ydshieh in [#47791]
[Kernels] Refactor function handling (#46883) by @vasqu in [#46883]
Kernels and loaders robustification (#47334) by @IlyasMoutawwakil in [#47334]
Fix causal_conv1d_fn positional activation colliding with hub kernel's seq_idx (#47527) by @qgallouedec in [#47527]
[FP8] Bump kernels version (#47344) by @vasqu in [#47344]
[docs] FlashAttention kernel fallback (#47345) by @stevhliu in [#47345]
Quantization
Quantization support was expanded with FP8 kernels for compressed-tensors models, fixes for FP8 module normalization and format-based compression detection, and a multi-device MXFP4 dequantization race condition fix. GPTQ and MXFP4 tests were also extended to cover Intel XPU devices.
extend tests/quantization/gptq/test_gptq.py::GPTQTestCUDA and tests/q⦠(#47166) by @sywangyi in [#47166]
Compressed tensors fp8 (#47216) by @SunMarc in [#47216]
Fix A.X-K2 fp8 modules_to_not_convert normalization for the gated-norm MLP (#47578) by @kmswin1 in [#47578]
[Quantization]: Refactor is_quantization_compressed for format-based detection (#47152) by @rigen1048 in [#47152]
Fix multi-device mxfp4 dequantization race in _convert_moe_packed_tensors (#47423) by @kaixuanliu in [#47423]
Audio
Batched audio generation is now supported for Qwen2.5/3-Omni, and several bug fixes were applied across audio models, including a dtype mismatch in Gemma4 audio feature merging, a bfloat16 positional embedding error in AudioFlamingo3, and missing backend requirement guards for Voxtral. The VibeVoice ASR processor was also updated to make audio input optional and support multiple audios per prompt.
feat[vLLM x v5]: Make audio optional and support multiple audios in VibeVoice ASR processor (#47483) by @harshaljanjani in [#47483]
Fix Gemma4 audio feature dtype mismatch in masked_scatter (#47482) by @danielhanchen in [#47482]
[fix] fix requirements audio feature and proc (#47113) by @eustlb in [#47113]
[AudioFlamingo3] Fix bfloat16 dtype mismatch in audio encoder positional embedding (#47258) by @snkii in [#47258]
Parallelization
Expanded FSDP support across 94 ForCausalLM model classes with auto-generated FSDP plans, added end-to-end FSDP tests including distributed checkpoint save/load and generation, and introduced a dedicated FSDP CI job. Additionally, fixed a device mismatch bug in create_bidirectional_sliding_window_mask under model parallelism and resolved a tensor parallel inference issue for models with tied embeddings.
skip fsdp tests when backend is mps (#47601) by @3outeille in [#47601]
Fix model parallel device mismatch in create_bidirectional_sliding_window_mask (#47560) by @abcgco in [#47560]
Add FSDP plans to all models (#47165) by @3outeille in [#47165]
Fix TP inference for tied embedding (#47503) by @3outeille in [#47503]
Add FSDP CI and end-to-end FSDP tests + save fsdp (#47357) by @3outeille in [#47357]
Tokenization
This release adds native support for Mistral's "tekken" tokenizer format via AutoTokenizer, fixes a CodeLlama tokenizer bug where leading whitespace was incorrectly dropped during decode, and patches a potential ReDoS vulnerability caused by unescaped tokenizer filenames being used as regex patterns in from_pretrained.
[Mistral] Add native tekken tokenizer support to AutoTokenizer (#47507) by @juliendenize in [#47507]
Fix CodeLlama tokenizer dropping leading whitespace on decode (#47488) by @SuryanshSS1011 in [#47488]
Fix potential ReDoS by escaping tokenizer filename used as regex pattern (#47498) by @hameedibrh in [#47498]
Serve
Improved the serve chat parsing to unify streaming and non-streaming paths under a single response parser that handles tool calls, reasoning, and content, simplifying the addition of new model support. Additionally, hardened daily CI reporting by fixing GitHub API diagnostic output being captured in Slack payloads and adding rate-limit resilience to prevent report failures when paginating large job matrices.
CI: Log GitHub API diagnostics to stderr (#47635) by @tarekziade in [#47635]
Update serve chat parsing (#46267) by @SunMarc in [#46267]
ci: harden daily CI reporting against GitHub API rate limits (#47382) by @tarekziade in [#47382]
Bugfixes and improvements
Fix cached_files silently returning stale file on read-only filesystem (EROFS) (#47852) by @ydshieh in [#47852]
Fix PhimoeIntegrationTest (#46539) by @ydshieh in [#46539]
make examples under doc device agnostic (#47812) by @kaixuanliu in [#47812]
cancel deterministic for XPU in gemma4 tests (#47790) by @kaixuanliu in [#47790]
Serialize post-mlinter-review after post-link to avoid PR description race (#47832) by @ydshieh in [#47832]
Use content hash for mlinter review deduplication (#47830) by @ydshieh in [#47830]
Add new args in auto-docstring (#47737) by @zucchini-nlp in [#47737]
Add check_model_inits.py (#47656) by @guarin in [#47656]
add xpu in installation guide (#47785) by @sywangyi in [#47785]
Fix mlinter review job: checkout before artifact download (#47820) by @ydshieh in [#47820]
Post mlinter findings as inline PR review comments (#47819) by @ydshieh in [#47819]
Fix ci style (#47818) by @vasqu in [#47818]
Hotfix axk2 indexer norm (#47810) by @kmswin1 in [#47810]
open fla support for XPU to benefit from the acceleration (#47799) by @kaixuanliu in [#47799]
[docs] Update BatchEncoding.to() type annotation and docstring (#47789) by @samyuktahegde in [#47789]
Fix linting (#47807) by @Cyrilvallez in [#47807]
Fix patching in some models (#47798) by @zucchini-nlp in [#47798]
Add post-mlinter-review job to post-dashboard-link workflow (#47800) by @ydshieh in [#47800]
Migrate torchao integration off deleted torchao.dtypes (#47797) by @vkuzo in [#47797]
[conftest] Also wrap snapshot_download for EROFS fallback (#47796) by @ydshieh in [#47796]
Fix MI355 CI: bump hf-workflows pin to NUM_SLICES=4 (#47792) by @Abdennacer-Badaoui in [#47792]
[Fix] Wrong type hint in get_number_of_image_patches (#47788) by @remi-or in [#47788]
Fix Dac offload tests (#47775) by @guarin in [#47775]
[Fix] Swapped height and width in KimiK25 (#47786) by @remi-or in [#47786]
Remove dangling files and folders (#47764) by @Cyrilvallez in [#47764]
Fix AI-written conversion mappings (#47755) by @Cyrilvallez in [#47755]
update mistral common version for PR 47507 (#47677) by @itazap in [#47677]
Fix spelling/grammar in model files (batch 3/3) (#47684) by @Rocketknight1 in [#47684]
Fix spelling/grammar in core library, examples, and utils (#47685) by @Rocketknight1 in [#47685]
Fix spelling/grammar in model files (batch 2/3) (#47683) by @Rocketknight1 in [#47683]
update sonicmoe versions (#47769) by @IlyasMoutawwakil in [#47769]
clean up reverse_op fixme in compressed_tensors (#47701) by @DhanushPillay in [#47701]
PR CI with torch 2.13 (#47767) by @ydshieh in [#47767]
Import utils compilation fixes (#47726) by @IlyasMoutawwakil in [#47726]
Fix DBRX MoE hidden size and expert GLU transposes (#47671) by @kaixuanliu in [#47671]
Fix multi token decode merging (#47762) by @IlyasMoutawwakil in [#47762]
Fix: Remove redundant @can_return_tuple conflicting with @capture_out⦠(#47733) by @guarin in [#47733]
fix processor config nested key fallback (#47628) by @YunzhuLu in [#47628]
[CI - Debug] Skip /transformers-dependent steps for CPU runner (#47759) by @ydshieh in [#47759]
[CI] Add CPU runner support to ssh-runner workflow (#47757) by @ydshieh in [#47757]
Simplify reverse weight conversion (#47725) by @Cyrilvallez in [#47725]
Remove useless linting for inv_freq (#47753) by @Cyrilvallez in [#47753]
Use explicit nn.Buffer everywhere for modular (#47722) by @Cyrilvallez in [#47722]
Remove stale and redundant _no_split_modules entries (#47645) by @guarin in [#47645]
Executorch exporter fixes (#47243) by @IlyasMoutawwakil in [#47243]
Acc fix in xpu (#47500) by @sywangyi in [#47500]
update Dockerfile for xpu torch2.13 (#47502) by @sywangyi in [#47502]
feat[vLLM]: Support text replacement offsets in the remaining old-format processors (#47614) by @harshaljanjani in [#47614]
Fix ImportError in transformers.exporters on torch < 2.8 (#47711) by @Neal006 in [#47711]
Fix failing tests for axk1 and axk2 (#47727) by @kaixuanliu in [#47727]
Fix failing tests for granite_swa and granitemoe_swa (#47723) by @kaixuanliu in [#47723]
skip invalid test cases for inkling tests (#47493) by @kaixuanliu in [#47493]
[docs] Fix BatchEncoding documentation inconsistencies (#47647) by @samyuktahegde in [#47647]
Fix spelling/grammar in model files (batch 1/3) (#47682) by @Rocketknight1 in [#47682]
Fix spelling/grammar in English docs (q β z) (#47681) by @Rocketknight1 in [#47681]
Fix spelling/grammar in English docs (h β p) (#47680) by @Rocketknight1 in [#47680]
Fix spelling/grammar in English docs (a β g) (#47679) by @Rocketknight1 in [#47679]
fix npu check (#47587) by @DhanushPillay in [#47587]
fix: correct text input validation logic in 8 multimodal processors (and β or) (#47663) by @AbdullahRasheed45 in [#47663]
Fix feature dtype mismatch in masked_scatter for seven multimodal models (#47673) by @ in [#47673]
[docs] storing and loading chat templates (#47650) by @stevhliu in [#47650]
adding amd quark config class changes (#47322) by @debasisdwivedy in [#47322]
Fix compressed tensors impl (#47652) by @SunMarc in [#47652]
Hoist special-token lookups in wav2vec2 decode paths and drop a dead filter in wav2vec2_phoneme (#47557) by @ishan-1010 in [#47557]
silencing elastic warning by import distributed lib inside functions (#47665) by @3outeille in [#47665]
Fix missing github_utils.py download in PR CI dashboard workflow (#47668) by @ydshieh in [#47668]
Exportable kimi (#47096) by @IlyasMoutawwakil in [#47096]
better guarding to handle torch compiled with USE_DISTRIBUTED=0 (#47619) by @3outeille in [#47619]
Remove gemma4 warnings (#47664) by @Cyrilvallez in [#47664]
[Chat Parsing] Type inline tool-call arguments from the calling tool's JSON Schema (#47529) by @yonigozlan in [#47529]
Improve Trainer DataLoader Controls for Streaming and Multiprocessing (#47164) by @muyihao in [#47164]
Update maintainer list (#47644) by @Rocketknight1 in [#47644]
Allow position_ids_start=2 on DataCollatorWithFlattening for RoBERTa etc. (#47525) by @tomaarsen in [#47525]
Remove Rotary warning (#47642) by @Cyrilvallez in [#47642]
Drop multimodal inputs natively in prepare_inputs_for_generation if not in prefill (#47622) by @Cyrilvallez in [#47622]
Simplify all Rotary modules (#47598) by @Cyrilvallez in [#47598]
[docs] response_template when serving (#47626) by @stevhliu in [#47626]
[docs] MTP support (#47301) by @stevhliu in [#47301]
Fix GPT-2 c_proj depth scaling initialization (#47459) by @DavidJohnQuinlan in [#47459]
Fix fp8_linear compilability (#47623) by @IlyasMoutawwakil in [#47623]
byebye torch 2.4 (#47609) by @ydshieh in [#47609]
Vectorize NoRepeatNGramLogitsProcessor and remove its host sync (#47571) by @hameedibrh in [#47571]
Fix CUDA Graph breaking host to device copy from scalar tensor allocation (#47547) by @hmellor in [#47547]
Fix some processors (#47608) by @zucchini-nlp in [#47608]
CI: Add serge review relay workflow and review rules (#47610) by @tarekziade in [#47610]
[docs] Exporters (#47374) by @stevhliu in [#47374]
CI: use a single function for GH calls (#47474) by @tarekziade in [#47474]
Remove redundant guarding for distributed (#47570) by @3outeille in [#47570]
Fix modular for mamba packages (#47494) by @Cyrilvallez in [#47494]
Remove deprecated conversion in Kimi (#47581) by @zucchini-nlp in [#47581]
CI: use transformers-ci daily workflow with OTEL (#47360) by @tarekziade in [#47360]
Fix slow tensor path in _check_special_mm_tokens (#47580) by @guan404ming in [#47580]
CI: let's run integration failure cron at 10pm (#47537) by @tarekziade in [#47537]
Better and more extensive tests for RoPE (#46912) by @zucchini-nlp in [#46912]
Fix mamba2 family decode and simplify all reshape ops (#47569) by @Cyrilvallez in [#47569]
[DiffusionGemma] Cast the decoder padding mask to bool (#47295) by @kashif in [#47295]
General maintenance (#47517) by @zucchini-nlp in [#47517]
fixed the benchmark script with DistributedConfig (#47568) by @tarekziade in [#47568]
Fix failing tests for mimo_v2_flash (#47284) by @kaixuanliu in [#47284]
Make tokenization_mistral_common importable without mistral_common installed (#47397) by @juliendenize in [#47397]
Use --flake-runs=1 in check_bad_commit.py for PR comment CI (#47522) by @ydshieh in [#47522]
Deprecate the old response_schema (#47320) by @Rocketknight1 in [#47320]
fix: add pickle support to _LazyConfigMapping for spawn multiprocessing (#46026) by @kfojcik-intel in [#46026]
Delete old deprecations (#47518) by @zucchini-nlp in [#47518]
Run only @slow tests in PR comment CI (#47521) by @ydshieh in [#47521]
Fix incorrect type hint (#47519) by @hmellor in [#47519]
Deprecate CB config in gen configuration (#47291) by @remi-or in [#47291]
[Offloading] [Bugfix] Fix fully offloaded model saving (#47336) by @kylesayrs in [#47336]
CI: fix torchaudio pinning +proper break in rnnt (#47422) by @tarekziade in [#47422]
Fix Qwen2.5-Omni Token2Wav DiT rotary embedding layout (interleaved cos/sin) (#47403) by @HenryVarro666 in [#47403]
CI: add reproduce mode to serge verify caller (#47492) by @tarekziade in [#47492]
[fix][whisper]: fix max_new_tokens handling (#46795) by @eustlb in [#46795]
Isolate MLA KV expansion to make it easier to bypass (#47460) by @hmellor in [#47460]
Fix loss alignment and Trainer token counting for encoder decoder models (#46903) by @OmkumarSolanki in [#46903]
Fix the HunyuanVL's torchvision backend (#47499) by @Mi-Jiazhi in [#47499]
[DiffusionGemma] Support gradient checkpointing (#46572) by @kashif in [#46572]
Fix failing tests for zaya (#47268) by @kaixuanliu in [#47268]
tipsv2_dpt: fix failing tests for XPU (#47292) by @kaixuanliu in [#47292]
Fix some failed test cases related with XPU Expectations (#47173) by @kaixuanliu in [#47173]
fix: guard DTensor import in sharding_utils.py for PyTorch < 2.5 (#47481) by @ in [#47481]
CPU can incur a slow path on non-contiguous magnitudes (#47351) by @vbayanag in [#47351]
Route chat management calls to the service root (#47138) (#47303) by @dhruv7477 in [#47303]
fix: liger unnecessarily materializes logits in VRAM during eval, causing OOM (#45273) by @excepshenal in [#45273]
Fix gradient inflation when combining label smoothing with gradient accumulation (#47261) by @Incheonkirin in [#47261]
Fix MoE expert decompression for non-32-divisible bit widths (#47315) by @KKothuri in [#47315]
[Qwen3ASR] Add hotword parsing, and fix language parsing and training. (#47111) by @ebezzam in [#47111]
Remove deprecated training args and is_fast property (#46917) by @cyyever in [#46917]
Consistent output shape from get_image_features (#46405) by @zucchini-nlp in [#46405]
fix failed test cases for qwen3_omni_moe model (#47449) by @kaixuanliu in [#47449]
Fix double-shifted training loss in GitForCausalLM (#47395) by @ in [#47395]
Fix CohereASR training-loss double-shift (same as Moonshine fix #46784) (#46895) by @sharmax-vikas in [#46895]
Warn when group_by_length is silently ignored for iterable datasets (#47379) by @qgallouedec in [#47379]
Update bug report list (#46607) by @molbap in [#46607]
fix: remove unreachable return in special token builder (#47420) by @hai1222 in [#47420]
Add Harry to slow CI (#47454) by @vasqu in [#47454]
BLT: vectorize patch length processing (#47385) by @sj0618 in [#47385]
Fix TrackioCallback fails to log evaluation metrics after training ends (#46935) by @lewtun in [#46935]
[Kimi] add integration tests (#47383) by @zucchini-nlp in [#47383]
Add distributed runtime utils and DistributedMixin (#47352) by @3outeille in [#47352]
Fix Cosmos 3 Edge Patch packing order (#47399) by @atharvajoshi10 in [#47399]
Fix yarn mscale_all_dim for DeepSeek v2 and Mistral 4 (#47435) by @hmellor in [#47435]
Hoist special-token lookups out of per-token loops in six slow tokenizers (#47425) by @ishan-1010 in [#47425]
fix typos and variable naming in quicktour.md (#47418) by @yashasvi-srivastava21 in [#47418]
Normalize multimodal input keys in AnyToAnyPipeline (#47074) by @Sunt-ing in [#47074]
Fix Aria checkpoint key conversion mapping (#47151) by @sywangyi in [#47151]
extend tests/models/qwen3_next/test_modeling_qwen3_next.py::Qwen3Next⦠(#47184) by @sywangyi in [#47184]
CI: add serge verify (GPU) caller workflow (#47381) by @tarekziade in [#47381]
Fix orthogonal_ init for low-precision dtypes (bf16/fp16) (#47252) by @janbernloehr in [#47252]
[docs] Fix decode examples and expected output in fast_tokenizers (#47369) by @samyuktahegde in [#47369]
[serge] Fix 20 integration tests for model whisper failing with output_mismatch (list output differs (10), other (6) (#47150) by @sergereview[bot] in [#47150]
[Mistral] Move MistralConverter into integrations/mistral/ package (#46603) by @juliendenize in [#46603]
Fix GLM video frame padding for temporal patches (#47141) by @labAxiaoming in [#47141]
[docs] Inkling (#47350) by @stevhliu in [#47350]
Fix Daily CI reporting issues (#47364) by @tarekziade in [#47364]
[peft] Support key_mapping with PEFT models (#46766) by @tomaarsen in [#46766]
Fix model tests for tipsv2 (#47356) by @kaixuanliu in [#47356]
Fix TimesFM 2.5 window_size AttributeError (#47363) by @kashif in [#47363]
fix: allow num_labels property to return None when id2label is unset (#47069) by @SebTardif in [#47069]
[Tests] Fix slow video tensor creation from list of numpy arrays in SmolVLM (#44731) by @Defalt-Meh in [#44731]
Update dev version on main (#47366) by @vasqu in [#47366]
Fix deepgemm on multiple devices (#47323) by @IlyasMoutawwakil in [#47323]
ci: Handle empty GitHub token in CI run lookup (#47362) by @tarekziade in [#47362]
Fix inkling feature extractor (#47349) by @ArthurZucker in [#47349]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@ydshieh
Fix cached_files silently returning stale file on read-only filesystem (EROFS) (#47852)
Fix PhimoeIntegrationTest (#46539)
Serialize post-mlinter-review after post-link to avoid PR description race (#47832)
Use content hash for mlinter review deduplication (#47830)
Fix mlinter review job: checkout before artifact download (#47820)
Post mlinter findings as inline PR review comments (#47819)
Add post-mlinter-review job to post-dashboard-link workflow (#47800)
[conftest] Also wrap snapshot_download for EROFS fallback (#47796)
[conftest] Fix EROFS fallback for kernel downloads (correct interception point) (#47794)
[conftest] Fix EROFS fallback for kernel downloads via HfApi (#47791)
PR CI with torch 2.13 (#47767)
[CI - Debug] Skip /transformers-dependent steps for CPU runner (#47759)
[CI] Add CPU runner support to ssh-runner workflow (#47757)
Update daily CI Docker image to torch 2.13.0 / CUDA 13.0 (#47738)
Fix missing github_utils.py download in PR CI dashboard workflow (#47668)
byebye torch 2.4 (#47609)
Use --flake-runs=1 in check_bad_commit.py for PR comment CI (#47522)
Run only @slow tests in PR comment CI (#47521)
@kaixuanliu
make examples under doc device agnostic (#47812)
cancel deterministic for XPU in gemma4 tests (#47790)
open fla support for XPU to benefit from the acceleration (#47799)
Fix DBRX MoE hidden size and expert GLU transposes (#47671)
Fix failing tests for axk1 and axk2 (#47727)
Fix failing tests for granite_swa and granitemoe_swa (#47723)
skip invalid test cases for inkling tests (#47493)
Fix failing tests for mimo_v2_flash (#47284)
Fix failing tests for zaya (#47268)
tipsv2_dpt: fix failing tests for XPU (#47292)
Fix some failed test cases related with XPU Expectations (#47173)
add paged attention tests support for XPU (#47163)
Fix multi-device mxfp4 dequantization race in _convert_moe_packed_tensors (#47423)
fix failed test cases for qwen3_omni_moe model (#47449)
Fix model tests for tipsv2 (#47356)
@vasqu
Fix ci style (#47818)
π¨ [Kernels] Refactor all linear attn models & native kernels fallback (#47630)
[Kernels] Refactor function handling (#46883)
Add AXK2 from SKT (#47528)
Add Harry to slow CI (#47454)
Update dev version on main (#47366)
[FP8] Bump kernels version (#47344)
@kmswin1
Hotfix axk2 indexer norm (#47810)
Fix A.X-K2 fp8 modules_to_not_convert normalization for the gated-norm MLP (#47578)
add_axk1 (#46867)
@remi-or
[Fix] Fix multi-head latent attention (MLA) (#47761)
[Fix] Wrong type hint in get_number_of_image_patches (#47788)
[Fix] Swapped height and width in KimiK25 (#47786)
Deprecate CB config in gen configuration (#47291)
[CB] Automatically switch attention implementation to flash (#47330)
@juliendenize
[Mistral] Add native tekken tokenizer support to AutoTokenizer (#47507)
Make tokenization_mistral_common importable without mistral_common installed (#47397)
[Mistral] Move MistralConverter into integrations/mistral/ package (#46603)
@IMvision12
Add support for batched Qwen2.5/3-Omni audio generation (#47186)
Fix Hunyuan-VL PIL image resize parity with reference preprocessing (#47233)
@jiqing-feng
π¨ Enable SDPA (and other attention backends) for T5 and propagate to the T5 family (#47014)
Fix shape mismatch in KyutaiSpeechToText generate() last window (#46952)
Fix typo in MusicgenForCausalLM.generate() (#46974)
Fix BlockMask crash in CTRL flex-attention generation (#46854)
@tarekziade
CI: Log GitHub API diagnostics to stderr (#47635)
CI: Add serge review relay workflow and review rules (#47610)
CI: use a single function for GH calls (#47474)
CI: use transformers-ci daily workflow with OTEL (#47360)
CI: let's run integration failure cron at 10pm (#47537)
fixed the benchmark script with DistributedConfig (#47568)
CI: fix torchaudio pinning +proper break in rnnt (#47422)
CI: add reproduce mode to serge verify caller (#47492)
CI: add serge verify (GPU) caller workflow (#47381)
ci: harden daily CI reporting against GitHub API rate limits (#47382)
Fix Daily CI reporting issues (#47364)
ci: Handle empty GitHub token in CI run lookup (#47362)
@daviswer
Add Granite-swa and Granitemoe-swa model support (#47179)
@ShareLer
Optimize flash attention max seqlen computation in vision attention (#47170)
@atharvajoshi10
Fix Cosmos 3 Edge Patch packing order (#47399)
Add Cosmos3 Edge model support (#47181)
Original source - Jul 16, 2026
- Date parsed from source:Jul 16, 2026
- First seen by Releasebot:Jul 16, 2026
Patch release: v5.14.1
transformers releases a patch update that fixes several Inkling integration issues, including assisted generation with EncoderDecoderCache and prefill problems with StaticCache and sdpa, while also updating FP8 kernels and deepgemm support.
Patch release v5.14.1
This patch solves a few issues which appeared when integrating Inkling model, most notably an issue affecting models using EncoderDecoderCache during assisted generation. It also fixes an issue that could appear during prefill with StaticCache and sdpa without padding for Inkling which uses a position_bias.
It contains the following commits:
- Fix sdpa prefill with position_bias (#47359) by @Cyrilvallez
- Fix assisted decoding for models with EncoderDecoder cache & OlmoHybrid (#47361) by @Cyrilvallez
- [FP8] Bump kernels version (#47344) by @vasqu
- Fix deepgemm on multiple devices (#47323) by @IlyasMoutawwakil
All of your release notes in one feed
Join Releasebot and get updates from Hugging Face and hundreds of other software products.
- Jul 15, 2026
- Date parsed from source:Jul 15, 2026
- First seen by Releasebot:Jul 15, 2026
Release v5.14.0
transformers releases v5.14.0 with new model additions like Inkling and TIPSv2, plus major generation, cache, kernel and performance improvements. It also brings breaking backend updates for GPTNeoX and GPTBigCode, alongside many fixes and compatibility upgrades.
Release v5.14.0
New Model additions
Inkling (fresh from Thinking Machines): 975B total, 41B active
Add Inkling model #47347 by @molbap @Cyrilvallez @eustlb and @zucchini-nlp
Inkling is a general-purpose multimodal model that accepts text, image and audio inputs and generates text outputs. It is intended for use in English and other languages, and across multiple coding languages. The model is designed to be used by developers building AI-powered applications, including agentic and tool-use systems, coding assistants, chatbots, and retrieval-augmented generation systems, and is suitable for general-purpose conversational use, instruction-following, and other natural language and multimodal tasks. It is released with open weights to support research, fine-tuning and integration into third-party products by downstream developers.
TIPSv2
Links: Documentation
Add TIPSv2 (#46347) by @Ternura143 in #46347
TIPSv2 DPT
Links: Documentation
Add TIPSv2 (#46347) by @Ternura143 in #46347
π¨ Breaking changes
GPTNeoX now remaps embed_out to lm_head and GPTBigCode has _supports_attention_backend = True enabled for vLLM compatibility; users relying on the previous weight naming or attention backend behavior for these models should update their code accordingly.
π¨ Fix GPTBigCode and GPTNeoX for the Transformers modelling backend for vLLM (#47198) by @hmellor
Kernels
Several kernel-related fixes and improvements were made, including pinning the kernels dependency to a compatible version in the benchmark workflow, removing a deprecated package_name argument from LocalLayerRepository, and making the DeepGEMM Triton fallback more robust when CUDA_HOME is unset or misconfigured. Additionally, SDPA prefill was updated to leverage the FlashAttention kernel with StaticCache, yielding significant performance gains (up to 260% faster for large input sizes).
Pin kernels to compatible version in benchmark workflow (#47339) by @tarekziade in [#47339]
[Fix] Remove deprecated argument from kernels call (#47100) by @remi-or in [#47100]
[Fix] Make DeepGEMM triton fallback more robust (#47126) by @remi-or in [#47126]
[sdpa] Allow prefill to use FA kernel with StaticCache (#47094) by @Cyrilvallez in [#47094]
Generation
Generation improvements include adding Multi-Token Prediction (MTP) decoding support, static ensemble verification for speculative decoding to improve draft token acceptance rates, and a fix for crashes in greedy assisted generation with different tokenizers. A misleading double-negative warning message for synced_gpus in continuous batching mode was also corrected.
[generation] Fix misleading synced_gpus warning in continuous batching (#47158) by @Partha-Shankar in [#47158]
[generate] Add proper MTP support (#46229) by @Cyrilvallez in [#46229]
Fix crash in greedy assisted generation with different tokenizers (#46936) by @Sunt-ing in [#46936]
[Generation] Add static ensemble verification for lossy speculative decoding (#45979) by @kasakh in [#45979]
Performance
Fixed a Flash Attention performance regression affecting models like Qwen3-VL and resolved a MoE decode optimization bug where the grouped-to-batched matrix multiplication switch was not applied to experts residing in submodels (e.g., VLMs with a nested text config).
Fix FA performance regression (#47134) by @andreasgoulas in [#47134]
Fix MoE decode optimization for experts living in a submodel (#47107) by @IlyasMoutawwakil in [#47107]
Make doc builds faster (#47099) by @mishig25 in [#47099]
Cache
Cache dispatch logic was simplified by introducing explicit layer-type mappings for sliding and static layers, reducing complexity in cache routing. Additionally, fixes were made for read-only cache failures in CPU CI environments and for MPS graph cache growth during variable-length batch training on Apple Silicon.
Fix CI read-only cache failures by patching cached_files in conftest (#47043) by @ydshieh in [#47043]
trainer: clear MPS graph cache via torch_empty_cache_steps (#45818) by @anagnorisis2peripeteia in [#45818]
[cache] Simplify cache dispatch based on layer_types (#47118) by @Cyrilvallez in [#47118]
Bugfixes and improvements
ci: cover xet as well (runtime error) (#47338) by @tarekziade in [#47338]
[docs] TokenizersBackend fallback (#47302) by @stevhliu in [#47302]
Resolve continuous batching XPU availability checks at runtime (#47185) by @kaixuanliu in [#47185]
[Nit] Add kernels_fallback_ok kwarg to is_flash_attn_N_available (#47318) by @remi-or in [#47318]
[Nit] Add expectations for gemma4 tests on H100 (#47311) by @remi-or in [#47311]
[docs] DeepGEMM requirements (#47324) by @stevhliu in [#47324]
DeepGEMM shouldn't pad on SM90 (#47313) by @IlyasMoutawwakil in [#47313]
Fix half-precision torch.compile crash in DETR-family sine position embeddings (#47238) by @David-Wu1119 in [#47238]
Fix hardcoded paths in siglip checkpoint/vocab loading (#47178) by @XanxusCrypto in [#47178]
Update AMD CI runner groups to amd-mi300 (#47307) by @Abdennacer-Badaoui in [#47307]
Point to Gemma 4 model in Gemma4ForCausalLM docstring example (#47255) by @lefft in [#47255]
Fix Qwen Omni batched text postprocessing (#47197) by @Sunt-ing in [#47197]
Fix AqlmConfig error messages to say "int" instead of "float" (#47089) by @Sreekant13 in [#47089]
Fix check for interactive stdout in _style function (#47283) by @smart8986 in [#47283]
Fix get_json_schema crash on non-string docstring choices (#47072) by @Sreekant13 in [#47072]
Make MODEL_IDS_TO_TOKENIZERS_BACKEND capture all DeepSeek R1 distills (#47296) by @hmellor in [#47296]
Update doc preprocessing regex to prevent ReDoS (#47187) by @WilliamRoyNelson in [#47187]
Shard on read Dtensor aware (#46717) by @3outeille in [#46717]
Switch AMD daily CI to mi300 runners (#47259) by @Abdennacer-Badaoui in [#47259]
tests: reduce processor test memory usage by using tiny Hub checkpoints (#47213) by @ydshieh in [#47213]
Torch compile backend defaults to "neuron" (#47035) by @michaelbenayoun in [#47035]
Fix flash-attn Docker build broken by setuptools 83 removing pkg_resources (#47251) by @ydshieh in [#47251]
Add heterogeneous config support (per-layer configuration) (#45333) by @eladsegal in [#45333]
[fix] update integration test values (#47146) by @eustlb in [#47146]
Fix DeepSpeed SP loss aggregation and LocalLayerRepository kwargs (#47073) by @sshivampeta in [#47073]
tests only for the top 10 download models (#47244) by @3outeille in [#47244]
Fix InputTokensDetails missing cache_write_tokens for openai>=2.34.0 (#47248) by @ydshieh in [#47248]
Revert "Trigger a scheduled run" (#47249) by @ydshieh in [#47249]
Remove Executorch from CI until latest version is supported and fully tested on CI env (#47242) by @IlyasMoutawwakil in [#47242]
Be more defensive with remap_legacy_layer_types for custom models (#47245) by @hmellor in [#47245]
Fix DistributedConfig docstring for unimplemented sp_plan (#47237) by @3outeille in [#47237]
Switch mlinter to 0.1.2 (#47172) by @tarekziade in [#47172]
Trigger a scheduled run (#47209) by @ydshieh in [#47209]
Make executorch exporter tests always use xnnpack backend (#47201) by @tarekziade in [#47201]
No agent PR descriptions (#45790) by @Rocketknight1 in [#45790]
Clarify that max_steps is required for datasets without len (#47155) by @albertvillanova in [#47155]
Cleanup pipelines, stop materializing generators (#47142) by @Rocketknight1 in [#47142]
Fix device_map computation when the no_split_modules have different sizes (#47203) by @Cyrilvallez in [#47203]
Add native FSDP2 module + migration (#46707) by @3outeille in [#46707]
Fix experts implementation in two spots (#47097) by @remi-or in [#47097]
[Fix] Remove old automatic cross attn pattern from output recorders (#47117) by @remi-or in [#47117]
π [i18n-KO] Translate accelerator_selection.md to Korean (#47157) by @kkwjk2718 in [#47157]
[i18n-KO] Translate optimum.md to Korean and fix Furiosa typo (#47156) by @kkwjk2718 in [#47156]
[docs] fix curly quotes rendering to straight quotes (#47135) by @clijo in [#47135]
Fix custom code which doesn't know about the new linear layer type names (#47174) by @hmellor in [#47174]
Reject path traversal in the transformers_weights config field (#46890) by @LinZiyuu in [#46890]
[docs] Custom code conversion mapping (#47114) by @stevhliu in [#47114]
Add exporters min version requirements and test skip (#47161) by @IlyasMoutawwakil in [#47161]
tests: reduce processor test memory usage and use tiny test assets (#47168) by @ydshieh in [#47168]
Clarify input device placement in the Quicktour inference example (#47136) by @samyuktahegde in [#47136]
Extend continuous batching memory prediction test to XPU (#47159) by @sywangyi in [#47159]
Fix case where _LazyAutoMapping.register is passed a str key (#47148) by @hmellor in [#47148]
[docs] MoE decode switching (#47149) by @stevhliu in [#47149]
add XPU output expectations for minicpm3 tests (#47092) by @kaixuanliu in [#47092]
Diffusion gemma: fix failed test cases (#47025) by @kaixuanliu in [#47025]
add XPU Expectation for cosmos3_omni tests (#46880) by @kaixuanliu in [#46880]
Fix IndexError Bug in XLMRoberta/Camembert ForMultipleChoice by restoring the pooler (#47147) by @pariidanDKE in [#47147]
Skip caching_allocator_warmup on Neuron (no reuse pool to warm; currently OOMs) (#47029) by @dacorvo in [#47029]
[docs] continuous batching (offloading behavior, max batch tokens, block size minimum) (#46925) by @stevhliu in [#46925]
[docs] fix autolinks (#46968) by @stevhliu in [#46968]
revert #47121 (#47144) by @eustlb in [#47144]
Fix output labels for AudioFlamingo3 (and related) models (#47112) by @ebezzam in [#47112]
Fix false len claims in Trainer docstrings (#47131) by @albertvillanova in [#47131]
processor tests: use tiny Hub repos to reduce CI memory (#47115) by @ydshieh in [#47115]
[serge] Fix 12 integration tests for model dac failing with output_mismatch (tensor values differ (6), other (6)) (#47121) by @sergereview[bot] in [#47121]
Fix CLI compatibility with huggingface_hub 1.22 (#47059) (#47064) by @dhruv7477 in [#47064]
we want to run the CI in the release branches (#47125) by @tarekziade in [#47125]
Small improvement (#47128) by @Cyrilvallez in [#47128]
[Model] Support use_cache=False for DeepSeek V4 (#46965) by @kylesayrs in [#46965]
docs-fix: IMDb dataset link in sequence classification guide (#47062) by @abhishekkapoorx in [#47062]
Fix AltCLIP text embedding resize test (#47079) by @IMvision12 in [#47079]
fix mask return-type contract regression and add correctness guard for (#47019) by @kaixuanliu in [#47019]
Fix save_pretrained with offloading and weight conversions (#47018) by @Cyrilvallez in [#47018]
Update dev (#47044) by @vasqu in [#47044]
[Gemma4] Update 1 integration test (#47042) by @vasqu in [#47042]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@ArthurZucker
v5.14.0
@tarekziade
ci: cover xet as well (runtime error) (#47338)
Pin kernels to compatible version in benchmark workflow (#47339)
Switch mlinter to 0.1.2 (#47172)
Make executorch exporter tests always use xnnpack backend (#47201)
Remove executorch from all-latest-gpu image + add torch smoke test (#47196)
we want to run the CI in the release branches (#47125)
@remi-or
[Nit] Add kernels_fallback_ok kwarg to is_flash_attn_N_available (#47318)
[Nit] Add expectations for gemma4 tests on H100 (#47311)
[Fix] Remove deprecated argument from kernels call (#47100)
[Fix] Make DeepGEMM triton fallback more robust (#47126)
Fix experts implementation in two spots (#47097)
[Fix] Remove old automatic cross attn pattern from output recorders (#47117)
@ydshieh
tests: reduce processor test memory usage by using tiny Hub checkpoints (#47213)
Fix flash-attn Docker build broken by setuptools 83 removing pkg_resources (#47251)
Fix InputTokensDetails missing cache_write_tokens for openai>=2.34.0 (#47248)
Revert "Trigger a scheduled run" (#47249)
Fix CI read-only cache failures by patching cached_files in conftest (#47043)
Trigger a scheduled run (#47209)
tests: reduce processor test memory usage and use tiny test assets (#47168)
processor tests: use tiny Hub repos to reduce CI memory (#47115)
@eladsegal
Add heterogeneous config support (per-layer configuration) (#45333)
@eustlb
[fix] update integration test values (#47146)
revert #47121 (#47144)
@Ternura143
Add TIPSv2 (#46347)
Original source - Jul 11, 2026
- Date parsed from source:Jul 11, 2026
- First seen by Releasebot:Jul 12, 2026
Patch release v5.13.1
transformers ships a patch release focused on enabling support for the latest vLLM release and improving custom model handling.
Patch release v5.13.1
This patch is focused on enabling transformers for the latest release of vllm!
- Be more defensive with remap_legacy_layer_types for custom models (#47245) from @hmellor
- Fix custom code which doesn't know about the new linear layer type names (#47174) from @hmellor
- Fix case where _LazyAutoMapping.register is passed a str key (#47148) from @hmellor
- Jul 3, 2026
- Date parsed from source:Jul 3, 2026
- First seen by Releasebot:Jul 3, 2026
Release v5.13.0
transformers releases v5.13.0 with major new model support, broader export and kernels tooling, and a long list of generation, attention, cache, quantization, and serving fixes. It also adds unified HfExporter support for PyTorch, ONNX, and ExecuTorch, plus several breaking modeling updates.
Release v5.13.0
New Model additions
KimiK 2.5, 2.6, and 2.7
This release includes the architecture for Kimi 2.5 which is used by 2.5-2.7:
Kimi K2.5 is an open-source, native multimodal agentic model that advances practical capabilities in long-horizon coding, coding-driven design, proactive autonomous execution, and swarm-based task orchestration. The model was proposed in Kimi K2.5: Visual Agentic Intelligence and further improved in [Kimi K2.6: Advancing Open-Source Coding](Kimi K2.5: Visual Agentic Intelligence).
Kimi K2.5 achieves significant improvements on complex, end-to-end coding tasks, generalizing robustly across programming languages (Rust, Go, Python) and domains spanning front-end, DevOps, and performance optimization. The model is capable of transforming simple prompts and visual inputs into production-ready interfaces and lightweight full-stack workflows, generating structured layouts, interactive elements, and rich animations with deliberate aesthetic precision.
Links: Documentation
Add new model: Kimi2-6 (#45630) by @zucchini-nlp in #45630
MiMo-V2-Flash
MiMo-V2-Flash is a Mixture-of-Experts (MoE) language model developed by the Xiaomi MiMo team. Designed to establish a new balance between long-context modeling capabilities and inference efficiency, the model is built for strong performance in complex reasoning and agentic tasks. Trained on 27T tokens with native 32k sequence lengths, MiMo-V2-Flash seamlessly supports an extended 256K context window while significantly reducing KV-cache storage compared to standard global attention models.
Links: Documentation
Add Xiaomi MiMo-V2 (#45144) by @casinca in #45144
Nemotron 3.5 ASR
Nemotron 3.5 ASR is a 600M-parameter multilingual speech recognition model from NVIDIA, built for high-quality transcription in both low-latency streaming and high-throughput batch settings, with native punctuation and capitalization. For streaming, it offers configurable chunk sizesβ80ms, 160ms, 560ms, and 1120ms, letting users trade off latency against accuracy to suit their application. Its cache-aware FastConformer-RNNT architecture is central to this capability: unlike traditional buffered streaming, which repeatedly reprocesses overlapping audio windows, the model processes only each new incoming chunk while reusing cached encoder context from prior chunks. This eliminates redundant computation, significantly improves efficiency, and minimizes end-to-end delay without sacrificing accuracy, making it well suited to real-time transcription workloads.
Links: Documentation
Add Nemotron 3.5 ASR Streaming (#46565) by @eustlb in #46565
NemotronAsrStreaming
Nemotron ASR Streaming is a 600M-parameter English speech recognition model from NVIDIA, built for high-quality transcription in both low-latency streaming and high-throughput batch settings, with native punctuation and capitalization. For streaming, it offers configurable chunk sizesβ80ms, 160ms, 560ms, and 1120ms, letting users trade off latency against accuracy to suit their application. Its cache-aware FastConformer-RNNT architecture is central to this capability: unlike traditional buffered streaming, which repeatedly reprocesses overlapping audio windows, the model processes only each new incoming chunk while reusing cached encoder context from prior chunks. This eliminates redundant computation, significantly improves efficiency, and minimizes end-to-end delay without sacrificing accuracy, making it well suited to real-time transcription workloads.
Links: Documentation
Add Nemotron ASR Streaming (#46332) by @eustlb in #46332
Qwen3 ASR
Qwen3 ASR is an automatic speech recognition model from Alibaba's Qwen team that combines a Whisper-style audio encoder with a Qwen3 language model decoder for speech-to-text transcription. The model supports automatic language detection and multilingual transcription.
A forced aligner model is also included. It can be used to timestamp a provided transcript and its audio. It uses the same audio encoder model with a classification head that predicts a word's length. This model can be used with the transcript from any ASR model (see the example below with Parakeet CTC).
Links: Documentation
Qwen3 ASR and Forced Aligner (#43838) by @mbtariq82 in #43838
ZAYA
ZAYA1 is a 760M active / 8.4B total parameter MoE language model trained by Zyphra. It combines Compressed
Convolutional Attention (CCA), a nonlinear ZAYA1 router, and residual scaling.Links: Documentation
[new model] Add Zyphra/ZAYA1-8B (#45862) by @JJJYmmm in #45862
VideoPrism
The VideoPrism model was proposed in the paper VideoPrism: A Foundational Visual Encoder for Video Understanding by Google DeepMind (blog post).
VideoPrism is a general-purpose video encoder that tackles diverse video understanding tasks with a single frozen model. The model is pretrained on a large-scale heterogeneous corpus containing 36M high-quality video-caption pairs and 582M video clips with noisy parallel text (e.g. ASR transcripts). The pretraining approach improves upon masked autoencoding through global-local distillation of semantic video embeddings and a token shuffling scheme, enabling the model to focus primarily on the video modality while leveraging text associated with videos. VideoPrism achieves state-of-the-art performance on 31 out of 33 video understanding benchmarks across four broad task groups, from web video question answering to computer vision for science.
Links: Documentation
Add Videoprism (#39895) by @MHRDYN7 in #39895
RADIO
RADIO (Reduce All Domains Into One) is a family of vision foundation models from NVIDIA trained by multi-teacher distillation (e.g. CLIP, DINOv2, SAM) into a single ViT backbone. It produces both an image-level summary embedding and dense spatial features, and supports variable input resolutions through a Cropped Position Embedding (CPE) patch generator.
Links: Documentation
Add support for RADIO models (#46425) by @meatybobby in #46425
MiniCPM3
MiniCPM3 is the third-generation MiniCPM dense language model from OpenBMB. The 4B variant
(openbmb/MiniCPM3-4B) outperforms many 7Bβ9B open
models on standard benchmarks while remaining lightweight enough for on-device usage.MiniCPM3 combines several architectural ideas:
Multi-head Latent Attention (MLA) from DeepSeek-V2, which compresses the key/value cache
into a low-rank latent representation while still using rotary embeddings on a portion of the
query/key heads.A standard SwiGLU MLP (no MoE).
Three scalar scaling factors that govern signal flow:
scale_emb β scales input embeddings.
scale_depth / sqrt(num_hidden_layers) β scales residual connections.
hidden_size / dim_model_base β scales hidden states before the language model head.
Links: Documentation
Add MiniCPM3 (#41116) by @bzantium in #41116
Breaking changes
A broad set of modeling changes have been made to standardize layer declarations, mask/cache construction, and hybrid-attention handling, making many models cleanly exportable (ONNX, torch.export, ExecuTorch) and fullgraph-compilable β users relying on internal modeling APIs may need to update their code accordingly.
π¨ Modeling changes for export, compile, and hybrid-attention standardization (#46738) by @IlyasMoutawwakil
Attention masking for image tokens in Gemma 3/4 models has been fixed to correctly respect sliding window boundaries in local layers, which changes model behavior and may affect reproducibility of previous results.
π¨ [gemma 3/4] Fix bidirectional attention masking crossing sliding window boundaries (#46850) by @douglas-reid
The Expert Parallelism (EP) router contract has been corrected across many models and FP8 scale format handling has been fixed, requiring users of EP or FP8 quantization with affected models to verify their configurations and potentially update conversion mappings.
π¨ EP: fix EP router contract for many models + honor FP8 scale format (#46818) by @IlyasMoutawwakil
The Kernels integration has been synced to the latest version, which includes a breaking change where model-type repositories are no longer accepted by the kernels interface β users must migrate to the updated kernel repository format as shown in the updated tests.
π¨ [Kernels] Sync to latest version (#46039) by @vasqu
HfExporters: Native, Unified export for PyTorch / ONNX / ExecuTorch
A native, in-Transformers export pipeline β one base class (HfExporter), three subclasses for the runtimes we care about, one unified API:
Exporter
Output
Runtime
DynamoExporter
ExportedProgram
Any PyTorch runtime, AOT compilation
OnnxExporter
ONNXProgram
Any ONNX runtime (ORT, TensorRT, OpenVINO, β¦)
ExecutorchExporter
ExecutorchProgramManager
Mobile and edge (ExecuTorch)Same call shape across all three. Dynamic shapes by default. Generation-style models split automatically into prefill + decode (+ vision/audio sub-encoders for VLMs).
from transformers import AutoModelForMaskedLM, AutoTokenizer from transformers.exporters import OnnxExporter, OnnxConfig model_id = "hf-internal-testing/tiny-random-BertForMaskedLM" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForMaskedLM.from_pretrained(model_id).eval() inputs = tokenizer(["Hello, my dog is cute"] * 2, return_tensors="pt") onnx_program = OnnxExporter().export(model, inputs, config=OnnxConfig(dynamic=True)) new_input = tokenizer("Hello, my cat is so adorable!", return_tensors="pt") torch.testing.assert_close( onnx_program.call_reference(**new_input)[0], # numpy reference onnx_program(**new_input)[0], # onnxruntime rtol=1e-4, atol=1e-4, )Swap one line for another runtime β DynamoExporter() / DynamoConfig or ExecutorchExporter() / ExecutorchConfig(backend=...).
For generative models the prefill/decode split is captured automatically:
from transformers import AutoModelForCausalLM, AutoTokenizer from transformers.exporters import OnnxExporter, OnnxConfig model_id = "hf-internal-testing/tiny-random-LlamaForCausalLM" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id).eval() inputs = tokenizer(["Hello, my dog is cute"] * 2, return_tensors="pt") artifacts = OnnxExporter().export_for_generation(model, inputs, config=OnnxConfig(dynamic=True)) # {"prefill": ONNXProgram, "decode": ONNXProgram} # For VLMs: also vision_encoder, audio_encoder, multi_modal_projector, language_model, lm_headKernels
Kernels: Fixed a silent SDPA math-kernel fallback for GQA models with head_dim > 256 (e.g., Gemma4) that caused O(SΒ²) memory materialization, and resolved a regression where use_kernels=True failed to apply kernel mappings. Additional improvements include lazy loading of the default kernel mapping to prevent import failures with incompatible kernel versions, ROCm routing to AITER Triton kernels for AMD GPUs, GB10/SM121 Hub-kernel support for Qwen3.6 Gated DeltaNet, and expanded documentation for the kernel API.
Fix silent SDPA math-kernel fallback for GQA when key/value head_dim > 256 or differ (#46960) by @Butterfingrz in [#46960]
[docs] AITER kernels (#46871) by @stevhliu in [#46871]
Documentation for the kernel API (#46754) by @michaelbenayoun in [#46754]
update kernels-community/aiter-rope version (#46810) by @Abdennacer-Badaoui in [#46810]
Add GB10/SM121 Hub-kernel path for Qwen3.6 Gated DeltaNet (#46423) by @AzeezIsh in [#46423]
[Kernels] Trigger proper kernelization on use_kernels=True (#46755) by @vasqu in [#46755]
Lazily build the default kernel mapping to decouple kernels from normal transformers usage (#46681) by @jiqing-feng in [#46681]
Add some AITER kernel routing for ROCm (#46268) by @Abdennacer-Badaoui in [#46268]
fix: position ids does not exist in upstream rotary kernel (#46619) by @NanoCode012 in [#46619]
docs(zh): add Chinese translation of kernels.md (#46621) by @shoushinya123 in [#46621]
Generation
Several generation bugs were fixed, including Mamba2 chunked-prefill and speculative decoding for hybrid models (Zamba2, Nemotron-H, Bamba, FalconH1, GraniteMoeHybrid), beam search for Mamba models, prompt lookup decoding crashes with no EOS token, and incorrect stateful model handling for LFM2. Additional improvements include reduced unnecessary generation warnings, a fix for continuous batching output mutation, and a new option to keep input tensors on CPU during generation to avoid retracing on Neuron/TPU devices.
Fix Mamba2 chunked-prefill / speculative decoding for Zamba2, Nemotron-H, Bamba, FalconH1 and GraniteMoeHybrid (#46741) by @Sunt-ing in [#46741]
Remove some unnecessary generate warnings (#46955) by @Cyrilvallez in [#46955]
Reject assisted generation for LFM2 and LFM2-MoE (set _is_stateful) (#46937) by @Sunt-ing in [#46937]
Fix beam search for mamba models (#46819) by @Cyrilvallez in [#46819]
Fix prompt lookup decoding crash when no EOS token is configured (#46790) by @Sunt-ing in [#46790]
[Continuous Batching] Snapshot generation outputs without mutating request state (#46670) by @Incheonkirin in [#46670]
[docs] keep generation tensors on cpu (#46675) by @stevhliu in [#46675]
feat(generation): allow user to keep input tensors on cpu (#46590) by @dacorvo in [#46590]
Attention
Several attention-related bugs were fixed in this release, including silent SDPA math-kernel fallbacks for GQA with large head dimensions, broken Flash Attention with StaticCache, incorrect causal masking in Xcodec2, a cross-attention reshape regression in Blip2, and eager GQA support in Evolla. Accelerate hook handling was also corrected for models using linear attention to prevent silently wrong results during offloading.
Fix accelerate hooks for all models using linear attention (#46978) by @Cyrilvallez in [#46978]
Fix Xcodec2 attention to be non-causal. (#46963) by @ebezzam in [#46963]
Fix flash attention with StaticCache (#46914) by @Cyrilvallez in [#46914]
Fix Evolla eager attention for the GQA text decoder (#46860) by @jiqing-feng in [#46860]
[docs] metal flash attention (#46349) by @stevhliu in [#46349]
[Blip2] Fix cross attention reshape (#46695) by @vasqu in [#46695]
Cache
Cache APIs were improved by consolidating redundant getters into a cleaner get_max_length method and updating documentation accordingly. Several bug fixes were also applied, including correcting mask generation beyond sliding windows, fixing a dimension issue in cumulative length tracking, resolving device mismatches in offloaded cache for hybrid models, and fixing crashes when loading trust_remote_code models from symlinked local caches.
[docs] update cache apis (#46892) by @stevhliu in [#46892]
Rework some old cache getters/properties (#46862) by @Cyrilvallez in [#46862]
Fix expanded dim in the cache's cumulative length (#46856) by @Cyrilvallez in [#46856]
Fix mask when generating beyond sliding window (#46839) by @zucchini-nlp in [#46839]
Fix offloaded cache device mismatch on hybrid models (#46748) by @Sunt-ing in [#46748]
Fix dynamic module symlinked cache on trust_remote_code models (#46618) by @ldkhang1201 in [#46618]
Serve
Several fixes and improvements were made to the Serve functionality, including lazy imports to prevent CLI crashes when the optional serve extra is not installed, a fix for dropped attributes during serialization of subclassed Pydantic models, and added documentation for the kernel API.
fix(cli/serve): import serve handlers lazily so the CLI works without the serve extra (#46473) by @ in [#46473]
[Fix] Serve drops some attributes at serialization (#46680) by @remi-or in [#46680]
Reduce per_page from 100 to 50 in GitHub API calls to avoid server errors (#46678) by @ydshieh in [#46678]
Quantization
Fixed dtype casting bugs in Gemma4's vision and audio multimodal embedders when using BitsAndBytes quantization, where inputs were incorrectly cast to integer storage dtypes (uint8/int8) instead of the actual compute dtype. Also corrected FP8 quantization to round block scales before quantizing weights, ensuring dequantization produces correct values for ue8m0 (DeepSeek-V4 style) format.
[Gemma4] Fix dtype casting for quantized vision/audio embedders (#46933) by @sharmax-vikas in [#46933]
Fix dtype casting for quantized multimodal embedders (#46904) by @praful-srinivasan-027 in [#46904]
Round the ue8m0 FP8 scale before quantizing so dequant matches the stored inverse (#46763) by @Incheonkirin in [#46763]
Bugfixes and improvements
Update workflow callers to use transformers-ci (#47040) by @ydshieh in [#47040]
Add HunYuan VL model (#46417) by @Mi-Jiazhi in [#46417]
Add tiny_model_id support to ProcessorTesterMixin for memory-sensitive tests (#47005) by @ydshieh in [#47005]
chore(linter): add TRF018 modeling rule (#46259) by @tarekziade in [#46259]
[PoC] HF exporters (#41992) by @IlyasMoutawwakil in [#41992]
TST Skip PEFT tests if PEFT version is too low (#47027) by @BenjaminBossan in [#47027]
CI Add PEFT integration tests (#47021) by @BenjaminBossan in [#47021]
[glm-mode-dsa] Indexer uses interleaved rope (#46842) by @pcuenca in [#46842]
Use standard arg names in Mllama (#46977) by @zucchini-nlp in [#46977]
Bump min peft 0.19.1 remove weight conversion duplicate code (#46442) by @BenjaminBossan in [#46442]
Raise a loud error for missing prefix (#46980) by @Rocketknight1 in [#46980]
Fix typo in Qwen3 ASR no_split_module (#47002) by @ebezzam in [#47002]
only in the original repo (#46982) by @tarekziade in [#46982]
Fix typos in Gemma 4 Assistant documentation (#46975) by @RaunaqDavidNath in [#46975]
the CI status should be a comment (#46976) by @tarekziade in [#46976]
QwenVL model conversion (#46881) by @zucchini-nlp in [#46881]
Remove default dtype in FusedRMSNormGated modules (#46953) by @Cyrilvallez in [#46953]
FIX PEFT test changed error type (#46959) by @BenjaminBossan in [#46959]
Fix path traversal via vocab-file arguments in tokenizer_config.json (#46279) by @LinZiyuu in [#46279]
docs(conditional_detr): fix num_queries default in docstring (100 -> 300) (#46939) by @Kropiunig in [#46939]
Use common floats_list method for feature extractor tests. (#46956) by @ebezzam in [#46956]
Fix RT-DETR indexing error when num_feature_levels exceeds backbone o⦠(#46833) by @c1prk in [#46833]
Fix Florence2 training-loss double-shift (same pattern as Moonshine #β¦ (#46898) by @sharmax-vikas in [#46898]
[Olmo3] different RoPE per layer type (#46911) by @zucchini-nlp in [#46911]
Use inspect.getsource instead of open() for source-reading in can_set*_implementation (#46207) by @rasmi in [#46207]
Don't pin the gated delta net norm to cuda:0 with a hardcoded device (#46817) by @Sunt-ing in [#46817]
Fix auto-mappings registration for remote code & fixes a few custom code issues (#46876) by @Cyrilvallez in [#46876]
Fix broken internal documentation links (#46945) by @sezer-muhammed in [#46945]
Insert a Grafana badge in the PR (#46774) by @tarekziade in [#46774]
[NemotronAsrStreaming] fix pipeline (#46870) by @eustlb in [#46870]
[NemotronAsrStreaming] processor without modular (#46865) by @eustlb in [#46865]
[Dia] Fix docs (#46923) by @vasqu in [#46923]
[Docs] Fix full disk offloading docs (#46905) by @kylesayrs in [#46905]
[CB] Changes to increase max_batch_tokens (#46712) by @remi-or in [#46712]
Redirect to diffusers pipe in docs for experimental features (#46875) by @zucchini-nlp in [#46875]
Install in docker (#46910) by @ydshieh in [#46910]
[CI] Use pre-computed _OLD_MODELS in test_new_models_require_torchvision_backend (#46882) by @ydshieh in [#46882]
call transformers-ci in a nightly run (#46811) by @tarekziade in [#46811]
[docs] full disk offloading (#46893) by @stevhliu in [#46893]
TST Run fast PEFT tests in normal CI (#45679) by @BenjaminBossan in [#45679]
nemotron_asr_streaming: set _supports_flex_attn to False (#46878) by @kaixuanliu in [#46878]
Add native masked MSE loss for Sapiens2ForPoseEstimation (#46764) by @Sainava in [#46764]
blip 2 fix (#46816) by @itazap in [#46816]
Use meshgrid for brevity (#46861) by @zucchini-nlp in [#46861]
Add xcodec2 model (#44178) by @ebezzam in [#44178]
Prevent auto-class from being modified for all models (#46844) by @zucchini-nlp in [#46844]
Add Spanish translation of the torch.compile page (#46852) by @delcenjo in [#46852]
docs: Update NeMo AutoModel doc examples (#46857) by @adil-a in [#46857]
[docs] distributed training (#44420) by @stevhliu in [#44420]
[docs] require trust_remote_code for custom_generate (#46677) by @stevhliu in [#46677]
add distributed config (#46705) by @3outeille in [#46705]
[Offloading] [Bugfix] Fix disk offloading of models with explicit tensor dtypes (#46849) by @kylesayrs in [#46849]
Streamable chat parsing (#45847) by @Rocketknight1 in [#45847]
Fix BitNet packed-weight unpacking dtype (F.linear dtype mismatch) (#46808) by @jiqing-feng in [#46808]
Fix typos in code (#46579) by @cyyever in [#46579]
Fix Moonshine training-loss double-shift (train against labels, not labels[..., 1:]) (#46784) by @Incheonkirin in [#46784]
[CB] Fix issues with FA read / writes (#46765) by @remi-or in [#46765]
Switch decorator order (#46853) by @Cyrilvallez in [#46853]
docs(trainer): add JIT checkpointing to trainer recipes (#46826) by @efazal in [#46826]
Import diffusion_gemma in models init (#46841) by @boringcrypto in [#46841]
[skills] help your agent get started (#45732) by @stevhliu in [#45732]
Fix use_cache with seq_len > 1 ( #46032) (#46084) by @Ramshankar07 in [#46084]
[Offloading] Support full disk offloading (#46749) by @kylesayrs in [#46749]
fix: raise ValueError for empty conversation in apply_chat_template (#46753) by @sharmax-vikas in [#46753]
Fix VideoPrismForVideoClassification returning last_hidden_state as h⦠(#46830) by @sharmax-vikas in [#46830]
Avoid NumPy 2.0 array copy-keyword deprecation in create_mm_token_type_ids (#46827) by @qgallouedec in [#46827]
docs: update apple silicon doc with safetensors 0.8.0 benefits (#46744) by @McPatate in [#46744]
[CB] Add FA2 to the fast path (#46729) by @vasqu in [#46729]
Fix flex_attention block mask creation when get_seq_length returns a tensor (#46802) by @jiqing-feng in [#46802]
Fix left-padding token selection in BioGptForSequenceClassification (#46782) by @Sunt-ing in [#46782]
Fix broken internal links in model documentation (#46807) by @ShamSaleem in [#46807]
DiffusionGemma: mask layout and CI (#46654) by @zucchini-nlp in [#46654]
Use cached added-token dicts in per-token decode loops (#46535) by @ishan-1010 in [#46535]
fix another flaky test (#46767) by @zucchini-nlp in [#46767]
Fix secondary rate limit when downloading artifacts in slack report (#46796) by @ydshieh in [#46796]
docs: move SmolLM3 to Text models category in _toctree.yml (#46770) by @yyouretoast in [#46770]
Fix several bugs in cache_implementation=static (#46446) by @dacorvo in [#46446]
[CI] Fix artifact download path in self-comment-ci workflow (#46769) by @ydshieh in [#46769]
fixes per head minimaxm3 (#46719) by @ArthurZucker in [#46719]
[CI] Fix some failures introduced by myself π¬ (#46751) by @vasqu in [#46751]
Fix regression in ProcessorMixin._load_tokenizer_from_pretrained for tokenizers at root (#46592) by @ in [#46592]
fix(aria): use math.ceil in get_number_of_image_patches to match actual patch count (#46732) by @arnavkewalram in [#46732]
Return logits from semantic segmentation post-process (#46163) by @guarin in [#46163]
Fall back to the for-loop grouped_mm on CPU (#46743) by @Sunt-ing in [#46743]
Kernelize refactor (#46520) by @michaelbenayoun in [#46520]
ci: add comment explaining why secrets are not inherited in security gate (#46750) by @ydshieh in [#46750]
ci: trigger PR CI on ci-* branches (#46746) by @ydshieh in [#46746]
finegrained v3 (#46742) by @IlyasMoutawwakil in [#46742]
Improve AutoImageProcessor error for unavailable backends (#46727) by @sisaman in [#46727]
skip decorators must appear after @parameterized.expand in pytest (#46737) by @rasmi in [#46737]
[RecurrentGemma] Support attn_implementation dispatch (#46320) by @YangKai0616 in [#46320]
[docs] clarify initialization module usage (#46698) by @stevhliu in [#46698]
feat: bump safetensors to 0.8.0 (#46523) by @McPatate in [#46523]
ci: disable CircleCI by replacing config with no-op (#46721) by @ydshieh in [#46721]
[CB] Fix offloading (#46587) by @remi-or in [#46587]
[Templates] Update members (#46720) by @vasqu in [#46720]
feat[vLLM x v5]: Expose max_source_positions on VibeVoiceAsrConfig (#46472) by @harshaljanjani in [#46472]
Laguna: support per-element output gating (#46690) by @joerowell in [#46690]
ci: grant pull-requests:write to the security gate caller (#46715) by @ydshieh in [#46715]
Multi-gpu loading when the whole backbone is tied (#46625) by @zucchini-nlp in [#46625]
Delete docstring if same as in auto-doc (#46284) by @zucchini-nlp in [#46284]
Update GLM-5.2 docs (#46703) by @Dovis01 in [#46703]
add conversion scripts for EUPE (#46691) by @molbap in [#46691]
[docs] compile level and batch/scheduling limits (#46676) by @stevhliu in [#46676]
[blip_2] Support attn_implementation dispatch (#46401) by @YangKai0616 in [#46401]
[CTRL] Support attn_implementation dispatch (#46073) by @YangKai0616 in [#46073]
Lfm2: also thread seq_idx through ShortConv.slow_forward (non-fast-path) (#46633) by @ChangyiYang in [#46633]
feat(pipelines): accept numpy arrays and tensors in ImageClassificationPipeline (#39607) (#46573) by @kamran-nizamani in [#46573]
Smovlm: pad videos up to max frames (#46662) by @zucchini-nlp in [#46662]
mistral common backend fix (#46667) by @itazap in [#46667]
[pr template] update (#46606) by @stevhliu in [#46606]
Fix AttributeError in auto_factory when model_class lacks config_class (#46669) by @atharv1945 in [#46669]
[CB] Slice logits inside the model (#46660) by @remi-or in [#46660]
ci: add NO_COLOR=1 to suppress ANSI color codes in CI output (#46659) by @ydshieh in [#46659]
Fix dynamic RoPE not resetting inv_freq when layer_type is None (#46624) by @Incheonkirin in [#46624]
Better processing tests (#46374) by @zucchini-nlp in [#46374]
ci: add merge_group trigger to pr-ci-caller.yml (#46668) by @ydshieh in [#46668]
skip invalid quant_cache test for nemotron_h (#46368) by @kaixuanliu in [#46368]
Revert "Disable PR CI workflow for PRs from forked repo. during the weekend" (#46652) by @ydshieh in [#46652]
[CB] Fix seqlens and use TypedDict (#46593) by @remi-or in [#46593]
Disable PR CI workflow for PRs from forked repo. during the weekend (#46609) by @ydshieh in [#46609]
Update post release (#46608) by @vasqu in [#46608]
Fix peft lower bound (#46605) by @hmellor in [#46605]
Fix docstring formatting issues causing Sphinx autodoc warnings (#46596) by @kurtmckee in [#46596]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@ydshieh
Update workflow callers to use transformers-ci (#47040)
Add tiny_model_id support to ProcessorTesterMixin for memory-sensitive tests (#47005)
Install in docker (#46910)
[CI] Use pre-computed _OLD_MODELS in test_new_models_require_torchvision_backend (#46882)
Fix secondary rate limit when downloading artifacts in slack report (#46796)
[CI] Fix artifact download path in self-comment-ci workflow (#46769)
ci: add comment explaining why secrets are not inherited in security gate (#46750)
ci: trigger PR CI on ci-* branches (#46746)
ci: disable CircleCI by replacing config with no-op (#46721)
ci: grant pull-requests:write to the security gate caller (#46715)
Reduce per_page from 100 to 50 in GitHub API calls to avoid server errors (#46678)
ci: add NO_COLOR=1 to suppress ANSI color codes in CI output (#46659)
ci: add merge_group trigger to pr-ci-caller.yml (#46668)
Revert "Disable PR CI workflow for PRs from forked repo. during the weekend" (#46652)
Disable PR CI workflow for PRs from forked repo. during the weekend (#46609)
@Mi-Jiazhi
Add HunYuan VL model (#46417)
@tarekziade
chore(linter): add TRF018 modeling rule (#46259)
only in the original repo (#46982)
the CI status should be a comment (#46976)
Insert a Grafana badge in the PR (#46774)
call transformers-ci in a nightly run (#46811)
@casinca
Add Xiaomi MiMo-V2 (#45144)
@JJJYmmm
[new model] Add Zyphra/ZAYA1-8B (#45862)
@ebezzam
Fix typo in Qwen3 ASR no_split_module (#47002)
Fix Xcodec2 attention to be non-causal. (#46963)
Use common floats_list method for feature extractor tests. (#46956)
Add xcodec2 model (#44178)
@meatybobby
Add support for RADIO models (#46425)
@douglas-reid
π¨ [gemma 3/4] Fix bidirectional attention masking crossing sliding window boundaries (#46850)
@Sunt-ing
Fix Mamba2 chunked-prefill / speculative decoding for Zamba2, Nemotron-H, Bamba, FalconH1 and GraniteMoeHybrid (#46741)
Reject assisted generation for LFM2 and LFM2-MoE (set _is_stateful) (#46937)
Don't pin the gated delta net norm to cuda:0 with a hardcoded device (#46817)
Fix prompt lookup decoding crash when no EOS token is configured (#46790)
Fix left-padding token selection in BioGptForSequenceClassification (#46782)
Fix offloaded cache device mismatch on hybrid models (#46748)
Fall back to the for-loop grouped_mm on CPU (#46743)
@eustlb
Add Nemotron 3.5 ASR Streaming (#46565)
[NemotronAsrStreaming] fix pipeline (#46870)
[NemotronAsrStreaming] processor without modular (#46865)
Add Nemotron ASR Streaming (#46332)
[fix] enable base64 str audio in load_audio (#46694)
@vasqu
[Dia] Fix docs (#46923)
[CB] Add FA2 to the fast path (#46729)
[Kernels] Trigger proper kernelization on use_kernels=True (#46755)
[CI] Fix some failures introduced by myself π¬ (#46751)
π¨ [Kernels] Sync to latest version (#46039)
[Templates] Update members (#46720)
[Blip2] Fix cross attention reshape (#46695)
Update post release (#46608)
@mbtariq82
Qwen3 ASR and Forced Aligner (#43838)
@remi-or
[CB] Changes to increase max_batch_tokens (#46712)
[CB] Fix issues with FA read / writes (#46765)
[CB] Fix offloading (#46587)
[Fix] Serve drops some attributes at serialization (#46680)
[CB] Slice logits inside the model (#46660)
[CB] Fix seqlens and use TypedDict (#46593)
@jiqing-feng
Fix BitNet packed-weight unpacking dtype (F.linear dtype mismatch) (#46808)
Fix Evolla eager attention for the GQA text decoder (#46860)
Fix flex_attention block mask creation when get_seq_length returns a tensor (#46802)
Lazily build the default kernel mapping to decouple kernels from normal transformers usage (#46681)
@bzantium
Add MiniCPM3 (#41116)
@MHRDYN7
Add Videoprism (#39895)
@YangKai0616
[RecurrentGemma] Support attn_implementation dispatch (#46320)
[blip_2] Support attn_implementation dispatch (#46401)
[CTRL] Support attn_implementation dispatch (#46073)
Original source Similar to transformers with recent updates:
- Hugging Face updates25 release notes Β· Latest Aug 3, 2026
- Claude updates122 release notes Β· Latest Aug 6, 2026
- Anthropic updates56 release notes Β· Latest Aug 7, 2026
- Claude Code updates412 release notes Β· Latest Aug 11, 2026
- ChatGPT updates203 release notes Β· Latest Aug 10, 2026
- OpenAI Models updates48 release notes Β· Latest Jul 9, 2026
- Jun 19, 2026
- Date parsed from source:Jun 19, 2026
- First seen by Releasebot:Jun 19, 2026
Patch release v5.10.4
transformers ships patch release 5.10.4 with several fixes to keep vLLM in sync, including ProcessorMixin token ID handling, InternVL models, processing offsets, PEFT lower bounds, and the Mistral common backend.
Patch release v5.10.4
Update: Note that on pypi 5.10.3 doesn't exist and this this saved under 5.10.4 (so essentially a minor version skipped). Sorry about that, that's on me. Just wanted to clarify to make this less confusing!
A few fixes needed for vLLM to sync with transformers π€
- [fix] regression introduced by #45534 #46456 by @eustlb (#46456)
- Fix {image/video/audio}_token_ids in ProcessorMixin #46500 by @hmellor (#46500)
- Fix InternVL models #46524 by @hmellor (#46524)
- Fix the offsets in processing #46525 by @zucchini-nlp (#46525)
- Fix peft lower bound #46605 by @hmellor (#46605)
- mistral common backend fix #46667 by @itazap (#46667)
Full Changelog: v5.10.2...v5.10.3
Original source - Jun 15, 2026
- Date parsed from source:Jun 15, 2026
- First seen by Releasebot:Jun 16, 2026
Patch release v5.12.1
transformers ships a patch release with a PEFT lower-bound update and a fix for auto tokenizer Mistral resolution.
Patch release v5.12.1
Updated the lower bound for PEFT and a fix for auto tokenizer to properly resolve the mistral tokenizer (when mistral-common is installed). This is similar to v.5.10.3 minus the fixes that were already included in the main release - vLLM will first target 5.10.3 π€
- Fix peft lower bound #46605 by @hmellor (#46605)
- mistral common backend fix #46667 by @itazap (#46667)
Full Changelog: v5.12.0...v5.12.1
Original source - Jun 15, 2026
- Date parsed from source:Jun 15, 2026
- First seen by Releasebot:Jun 16, 2026
Patch release v5.10.3
transformers ships a patch release with vLLM sync fixes and updates for processor, model, and offset handling.
Patch release v5.10.3
A few fixes needed for vLLM to sync with transformers π€
- [fix] regression introduced by #45534 #46456 by @eustlb (#46456)
- Fix {image/video/audio}_token_ids in ProcessorMixin #46500 by @hmellor (#46500)
- Fix InternVL models #46524 by @hmellor (#46524)
- Fix the offsets in processing #46525 by @zucchini-nlp (#46525)
- Fix peft lower bound #46605 by @hmellor (#46605)
- mistral common backend fix #46667 by @itazap (#46667)
Full Changelog: v5.10.2...v5.10.3
Original source - Jun 12, 2026
- Date parsed from source:Jun 12, 2026
- First seen by Releasebot:Jun 16, 2026
Release v5.12.0
transformers releases v5.12.0 with new model additions, including MiniMax-M3-VL for vision-language tasks, PP-OCRv6 OCR weights, and Parakeet-RNNT speech recognition, plus a broad round of bug fixes, CI improvements, and documentation updates.
Release v5.12.0
New Model additions
MiniMax-M3-VL
MiniMax-M3-VL is the vision-language member of the MiniMax-M3 family that pairs a CLIP-style vision tower with 3D rotary position embeddings with the MiniMax-M3 text backbone. It uses a mixed dense/sparse Mixture-of-Experts decoder with SwiGLU-OAI gated experts and a lightning indexer for block-sparse attention. The model processes images through a Conv3d patch embedding system and includes specialized components for efficient multimodal understanding and generation.
Links: Documentation
Add minimax m3vl (#46600) by @ArthurZucker in #46600
PP-OCRv6: update documentation and slow tests (#46576)
The official weights for PP-OCRv6 are out: PP-OCRv6 is a lightweight OCR system that combines architectural innovation with data-centric optimization. It redesigns the backbone, detection neck, and recognition neck around a unified MetaFormer-style building block with structural reparameterization. Three model tiers (medium, small, tiny) share the same block primitives, covering deployment scenarios from server to edge.
PP-OCRv6: update documentation and slow tests (#46576) by @ zhang-prog
Add Parakeet-RNNT (#46331)
ParakeetForRNNT: a Fast Conformer Encoder + an RNN-T (RNN Transducer) decoder
RNN-T Decoder: Standard neural transducer:
LSTM prediction network maintains language context across token predictions.
Joint network combines encoder and decoder outputs.
Greedy transducer decoding for inference: a blank emission advances the encoder frame by one, a non-blank emission stays on the same frame.
Add Parakeet-RNNT (#46331) by @eustlb
Bugfixes and improvements
[CI] don't export OTELs within the tests (#46602) by @tarekziade in [#46602]
[CI] capture checkers output in OTEL (#46601) by @tarekziade in [#46601]
Lfm2: thread seq_idx through ShortConv for packed/varlen inputs (#46588) by @ChangyiYang in [#46588]
put output_hidden_states into filter_output_hidden_states (#46422) by @molbap in [#46422]
a11 for checkers (#46599) by @tarekziade in [#46599]
Fix stop string matching for byte-fragment tokens (#46530) by @Incheonkirin in [#46530]
[DiffusionGemma] better docs and links (#46569) by @gante in [#46569]
Require trust_remote_code to run a local-directory custom_generate (#46483) by @LinZiyuu in [#46483]
Fix torchaudio version not tied to torch version in docker file (#46594) by @ydshieh in [#46594]
[CI] Enable PR CI for all fork PRs via security gate (#46591) by @ydshieh in [#46591]
[CB] [Minor] Add parameter to tune default compile level (#46533) by @remi-or in [#46533]
Make DiffusionGemma trainable (#46568) by @kashif in [#46568]
docs: π add Turkish translation for README file (#46312) by @onuralpszr in [#46312]
fix-trainer-tests (#46541) by @SunMarc in [#46541]
Remove unnecessary expand_as in get_placeholder_mask across VLMs (#44907) by @syncdoth in [#44907]
[CI] Catch all shell/process execution issues in security gate via Bandit JSON report (#46560) by @ydshieh in [#46560]
Honor a concrete dtype in AutoModel for composite checkpoints (#46514) by @qflen in [#46514]
[CI] Implement real security check in PR CI security gate (#46557) by @ydshieh in [#46557]
[CI] Add 60s delay in security gate for flow observation (#46555) by @ydshieh in [#46555]
[TBC] [CI] Auto-approve PR CI for fork PRs via security gate (#46553) by @ydshieh in [#46553]
[CI] fix and make less flaky (#46543) by @zucchini-nlp in [#46543]
Fix hf_hub_download not placing file in current dir for url_to_local_path (#46545) by @ydshieh in [#46545]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@ArthurZucker
Add minimax m3vl (#46600)
@eustlb
Add Parakeet-RNNT (#46331)
Original source - Jun 10, 2026
- Date parsed from source:Jun 10, 2026
- First seen by Releasebot:Jun 10, 2026
Release v5.11.0
transformers releases v5.11.0 with new model additions including DiffusionGemma and DeepSeek-V3.2, plus kernel fusion and parallelization improvements. The update also brings a broad set of bug fixes, testing updates, and documentation refreshes.
Release v5.11.0
New Model additions
DiffusionGemma
DiffusionGemma is engineered to reduce the sequential bottlenecks of standard causal language models by employing an encoder-decoder architecture specifically optimized for inference speed. During inference, DiffusionGemma leverages multi-canvas sampling, where rather than generating one token at a time, the model iteratively denoises a full block of tokens using a diffusion sampler. This block-autoregressive approach facilitates text generation at higher speeds compared to traditional sequential generation methods.
Links: Documentation
GPU go brr (#46540) by @gante in #46540
DeepSeek-V3.2
DeepSeek-V3.2-Exp is an experimental model from DeepSeek-AI that introduces DeepSeek Sparse Attention (DSA), a trainable, fine-grained sparse attention mechanism designed to improve training and inference efficiency in long-context scenarios. Built on top of DeepSeek-V3.1-Terminus with a 685B-parameter Mixture-of-Experts backbone, it reduces the quadratic cost of attention over long sequences by attending only to a selected subset of past tokens while maintaining virtually identical benchmark performance. The work was extended in DeepSeek-V3.2 which pairs DSA with scalable reinforcement learning and achieves gold-medal level results on competition math and competitive programming benchmarks.
Links: Documentation | Paper
Add deepseek 3.2 exp (#41251) by @ArthurZucker in #41251
Kernels
The KernelConfig API was extended to support n-to-1 module fusion and parameter transformation, simplifying how custom kernels are integrated with Transformers modules. Additional fixes include resolving a dtype mismatch in the Mamba2 CUDA kernel path for NemotronH/Zamba2, adding fine-grained fp8/fp4 Triton kernel support, and correcting the FalconMamba fast-path warning to recommend pip install kernels instead of mamba-ssm.
Extended & simplified n-to-1 kernel fusion via KernelConfig (#46339) by @michaelbenayoun in [#46339]
Triton finegrained fp8/fp4 (#46407) by @IlyasMoutawwakil in [#46407]
Fix dtype mismatch in NemotronH/Zamba2 Mamba2 CUDA-kernel path (out_proj) (#46487) by @yuekaizhang in [#46487]
fix(falcon_mamba): recommend pip install kernels in fast-path warning (#46343) by @Anai-Guo in [#46343]
Parallelization
Fixed model parallel beam search bugs in the Qwen2-VL, Qwen2.5-VL, and Qwen3-VL MoE model families, and added documentation for tensor parallelism support with continuous batching.
[docs] tp for continuous batching (#46019) by @stevhliu in [#46019]
revisit history parallel beam search tests to avoid unnecessary fix (#46495) by @kaixuanliu in [#46495]
fix qwen series VL model's model parallel bug (#46316) by @kaixuanliu in [#46316]
Bugfixes and improvements
Fix the offsets in processing (#46525) by @zucchini-nlp in [#46525]
Fix buggy action sha pin (#46534) by @ydshieh in [#46534]
Fix trailing comma bug in DataCollatorForLanguageModeling example (#46527) by @JemmaUZH in [#46527]
Fix missing Gemma4Processor._compute_audio_num_tokens (#46416) by @csantosbh in [#46416]
Fix InternVL models (#46524) by @hmellor in [#46524]
fix(afmoe): reduce tokens in test_compile_static_cache to avoid flaky bfloat16 drift (#46521) by @ydshieh in [#46521]
[CB] Add a "max_requests_per_batch" parameter (#46434) by @remi-or in [#46434]
revamp cv docs and fix rf-detr (#46219) by @merveenoyan in [#46219]
Update hub metadata (#46379) by @zucchini-nlp in [#46379]
extend DeepseekV4FlashIntegrationTest to non-cuda device (#46517) by @sywangyi in [#46517]
[docs] deepgemm (#46361) by @stevhliu in [#46361]
[fix] regression introduced by #45534 (#46456) by @eustlb in [#46456]
Use torchvision's native LANCZOS interpolation instead of PIL fallback (#46496) by @NicolasHug in [#46496]
Add debugging info in pr-ci-caller.yml (#46505) by @ydshieh in [#46505]
Fix tests: 'Cohere2MoeModel' object has no attribute 'hf_device_map' (#46337) by @kaixuanliu in [#46337]
Bump the actions group across 1 directory with 19 updates (#46414) by @dependabot[bot] in [#46414]
Log some information in .github/workflows/pr-ci-post-dashboard-link.yml (#46499) by @ydshieh in [#46499]
feat(quantizers): support non-weight param names in TorchAo safetensors loading (#46325) by @agesf in [#46325]
docs: fix typo in make_list_of_images docstring (#46469) by @ramkumar27072006 in [#46469]
add XPU expectation for deepseek_ocr2 model tests (#46492) by @kaixuanliu in [#46492]
Fix sapiens2 tests: add XPU device expectations (#46488) by @kaixuanliu in [#46488]
Add vLLM smoke test to CI (#46383) by @hmellor in [#46383]
extend deepseek v4 test to xpu (#46366) by @sywangyi in [#46366]
Added cosmos3 model (#46146) by @MaciejBalaNV in [#46146]
fbgemm_fp8:Keep the current device aligned with the input tensor (#46403) by @kaixuanliu in [#46403]
[Modular] Add no_inherit_decorators and fixup wrong RoPE related inheritances (#46440) by @Bissmella in [#46440]
skip deepgemm test except cuda (#46090) by @jiqing-feng in [#46090]
Fix/video classification pipeline video processor (#46256) by @J3r3myPerera in [#46256]
ci: less flaky test_assisted_decoding_matches_greedy_search_1_same (#46445) by @ydshieh in [#46445]
Fix flip_back graph break (#46344) by @guarin in [#46344]
Add the other processors to auto-mappings (#46046) by @zucchini-nlp in [#46046]
fix: compatibility with torch<=2.7 (#46393) by @andylin-hao in [#46393]
fix: remove dynamic per-actor Slack ID lookup in ssh-runner workflow (#46327) by @ydshieh in [#46327]
[docs] Romanian translation of pipeline_tutorial.md, pipeline_gradio.md, pipeline_webserver.md and add_new_pipeline.md. (#46388) by @filipinescu in [#46388]
[docs] gemma4 typos (#46351) by @stevhliu in [#46351]
[docs] padding-free training (#46333) by @stevhliu in [#46333]
fix[vLLM x v5]: Default untied embeddings in AudioFlamingo3 and VibeVoice (#46400) by @harshaljanjani in [#46400]
Fix deepspeed docker (#46108) by @SunMarc in [#46108]
Fix conversion for clip models (#46406) by @zucchini-nlp in [#46406]
ci: mention code quality failure in CI dashboard comment (#46415) by @ydshieh in [#46415]
Fix noisy logging from image_processing module aliases issue - 46298 (#46350) by @skshmjn in [#46350]
Raise tqdm minimum to 4.60 to match tqdm.contrib.logging import (#46397) by @n0gu-furiosa in [#46397]
fix(gemma4_unified): conversion script and config bugs (#46398) by @douglas-reid in [#46398]
[docs] remove sparsity from compressed-tensors (#46387) by @stevhliu in [#46387]
[CB] Fix crashes when fork is not possible (#46251) by @remi-or in [#46251]
Improve CI dashboard comment: rename and deduplicate (#46412) by @ydshieh in [#46412]
Fix missing f-string prefixes in error messages (#46354) by @joaopedroassad in [#46354]
Add workflow to post CI Grafana dashboard link to PR (#46410) by @ydshieh in [#46410]
[docs] Romanian translation of fast_tokenizers.md, custom_tokenizers.md, tokenizer_summary.md, image_processors.md and video_processors.md. (#46356) by @filipinescu in [#46356]
Clean up new models after release (#46092) by @zucchini-nlp in [#46092]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@ArthurZucker
Add deepseek 3.2 exp (#41251)
@gante
GPU go brr (#46540)
@merveenoyan
revamp cv docs and fix rf-detr (#46219)
@sgerrard
Quantization for small models (#46449)
@MaciejBalaNV
Added cosmos3 model (#46146)
@J3r3myPerera
Fix/video classification pipeline video processor (#46256)
@filipinescu
[docs] Romanian translation of pipeline_tutorial.md, pipeline_gradio.md, pipeline_webserver.md and add_new_pipeline.md. (#46388)
[docs] Romanian translation of fast_tokenizers.md, custom_tokenizers.md, tokenizer_summary.md, image_processors.md and video_processors.md. (#46356)
Original source - Jun 4, 2026
- Date parsed from source:Jun 4, 2026
- First seen by Releasebot:Jun 5, 2026
Patch release v5.10.2
transformers fixes clip model conversion bugs in patch release v5.10.2.
Patch release v5.10.2
There was a big bug in the model conversion of models related to clip, this affected models like sam3 and others. Please make sure to update π
Fix conversion for clip models by @zucchini-nlp (#46406)
Full Changelog: v5.10.1...v5.10.2
Original source - Jun 3, 2026
- Date parsed from source:Jun 3, 2026
- First seen by Releasebot:Jun 3, 2026
Release v5.10.1
transformers ships v5.10.1 with new model support for Gemma4 Unified, Sapiens2, DeepSeek-OCR-2, and JetBrains Mellum, plus broad fixes for model parallelism, cache handling, quantization, and Gemma4 stability.
Release v5.10.1
v5.10.0 was yanked as we publish on a corrupted branch. Sorry everyone, this happens when we rush a release!!!
New Model additions
Gemma4 unified+ Gemma4 MTP
Gemma 4 12B Unified is an encoder-free multimodal model with pretrained and instruction-tuned variants. Unlike standard Gemma 4, which uses dedicated encoder towers, Gemma 4 12B Unified projects raw inputs directly into the language model's embedding space through lightweight linear pipelines. This results in a simpler architecture while maintaining strong multimodal performance.
Key differences from standard Gemma 4:
No Vision Tower: Raw pixel patches are projected directly into LM space via a Dense + LayerNorm pipeline with factorized 2D positional embeddings, replacing the vision encoder.
No Audio Tower: Raw 16 kHz waveform samples are chunked into fixed-length frames and projected through a simple RMSNorm β Linear pipeline, replacing the mel spectrogram + Conformer encoder.
Shared Multimodal Pipeline: Both vision and audio use the same Gemma4UnifiedMultimodalEmbedder (RMSNorm β Linear) for the final projection to text hidden space.
You can find the original Gemma 4 12B Unified checkpoints under the Gemma 4 release.
who needs encoders? (#46385) by @douglas-reid @sgerrard @vasqu @molbap
Sapiens2
Sapiens2 is a family of high-resolution vision transformers pretrained on ~1 billion curated human images, designed for human-centric computer vision tasks including pose estimation, body-part segmentation, surface normal estimation, and pointmap estimation. The models scale from 0.4B to 5B parameters and train at native 1K resolution, with hierarchical 4K variants for extended spatial reasoning. Sapiens2 achieves substantial improvements over its predecessor with +4 mAP in pose estimation, +24.3 mIoU in body-part segmentation, and 45.6% error reduction in normal estimation.
Links: Documentation | Paper
Add Sapiens2 Model (#45919) by @guarin in #45919
DeepSeek-OCR-2
DeepSeek-OCR-2 is an OCR-specialized vision-language model built on a distinctive architecture that combines a SAM ViT-B vision encoder with a Qwen2 hybrid attention encoder, connected through an MLP projector to a DeepSeek-V2 Mixture-of-Experts (MoE) language model. The model features a hybrid attention mechanism that applies bidirectional attention over image tokens and causal attention over query tokens, enabling efficient and accurate document understanding. It supports both plain OCR tasks and grounding capabilities with coordinate-aware output for document conversion to markdown format.
Links: Documentation
Add Deepseek-OCR-2 model (#45075) by @thisisiron in #45075
Mellum
Mellum is a code-focused Mixture-of-Experts language model developed by JetBrains. It is derived from the Qwen3-MoE architecture with per-layer-type RoPE and interleaved sliding window attention. The model has 12B total parameters with 2.5B active parameters per token, using 64 routed experts with 8 activated per token across 28 layers.
Links: Documentation
feat: Add support for JetBrains' Mellum v2 code generation model (#46112) by @shadeMe in #46112
Breaking changes
The Gemma4 vision pooler now casts inputs to float32 before scaling to prevent float16 overflow (inf saturation) with large checkpoints, which may cause minor numerical differences in outputs for users running Gemma-4 vision models in float16.
π¨ Fix float16 overflow in Gemma4 vision pooler (#46277) by @Bluear7878
Audio Language Models (ALMs) now have a dedicated base model class without a language modeling head, aligning them with the design of Vision Language Models (VLMs); users relying on the previous model class structure should update their code to use the new base model class where appropriate.
π¨ [ALM] Add base model without head (#45534) by @eustlb
Parallelization
This release includes numerous bug fixes for model parallelism across multiple models (Gemma4, AltCLIP, ChineseClip, Blip-2, Whisper, Ovis2, Moshi) and parallel execution strategies, including fixes for tensor parallelism (TP), expert parallelism (EP), beam search under model parallel settings, and loss over-counting under TP/EP configurations. The continuous batching manager was also reworked for clearer control flow and improved TP race condition handling, and FSDP initialization via from_pretrained was introduced.
Fix dsv4 dequant + tp/ep (#46378) by @IlyasMoutawwakil in [#46378]
[CB] [Major] Rework manager to have clearer control flow + handle TP (#46070) by @remi-or in [#46070]
fix series of bugs for model parallel beam search (#46280) by @kaixuanliu in [#46280]
Fix model parallel issue for altclip model and ChineseClip model (#45487) by @kaixuanliu in [#45487]
Model parallel fix (#46230) by @kaixuanliu in [#46230]
[Revert] FSDP+Dtensor refactor related changes (#46246) by @vasqu in [#46246]
Fix model parallel bugs for Gemma4 (#45817) by @kaixuanliu in [#45817]
init FSDP through from_pretrained (#46102) by @3outeille in [#46102]
fix model parallel device mismatch issue in create_bidirectional_mask (#46221) by @kaixuanliu in [#46221]
Trainer.compute_loss: fix loss over-counting under TP and EP-as-TP (#45994) by @AmineDiro in [#45994]
Fix caching allocator warmup byte estimation for EP model loading (#46149) by @sywangyi in [#46149]
Cache
Fixed a regression in encoder-decoder cache initialization where the decoder config was incorrectly applied to the cross-attention cache, and resolved a RuntimeError caused by buffer size limits when warming up the cache on MPS devices. Additional test infrastructure improvements were made to support read-only cache environments used in CI.
fix: cache warmup RuntimeError on mps (#46239) by @McPatate in [#46239]
Make more tests work with read-only cache (#46299) by @ydshieh in [#46299]
Update a test to avoid writing to the default xet cache (#46250) by @ydshieh in [#46250]
Fix a regression in encoder-decoder generation cache initialization (#46111) by @kaixuanliu in [#46111]
Quantization
Added support for DeepGEMM BF16, mixed FP8/FP4, and MegaMoE quantization via a grouped linear refactor, while fixing two bugs: an FP8 MoE reverse substring issue affecting DSv4 initialization, and a BitsAndBytes 4-bit/8-bit quantization bug that silently dropped chunked tensors from one-to-many weight converters.
DeepGEMM BF16 + mixed FP8/FP4 + MegaMoE + refactor (#45634) by @IlyasMoutawwakil in [#45634]
Fix fp8 moe reverse substring (#46265) by @ArthurZucker in [#46265]
Fix bnb 4bit/8bit quantization drop chunked tensors bug (#46210) by @kaixuanliu in [#46210]
Bugfixes and improvements
Fix wrong changes produced by style/repo. check bot (#46371) by @ydshieh in [#46371]
Fix path traversal when saving Bark voice preset embeddings (#46237) by @LinZiyuu in [#46237]
Pass library_name/version to Hub calls via a shared HfApi (#46318) by @Wauplin in [#46318]
docs: update ACL Anthology URL in CITATION.cff (#46352) by @irfaan101 in [#46352]
[docs] contributing (#45465) by @stevhliu in [#45465]
[docs] Romanian translation of contributing.md, modular_transformers.md, multimodal_processing.md, add_vision_processing_components.md, add_audio_processing_components.md, modeling_rules.md, model_output_tracing.md, auto_docstring.md, testing.md, pr_checks.md and add_new_model.md . (#46345) by @filipinescu in [#46345]
[docs] xpu continuous batching (#46334) by @stevhliu in [#46334]
Fix incorrect attribute mapping relationships in GLM MoE DSA Config (#46338) by @Dovis01 in [#46338]
Fix grammar typos in Whisper documentation (#46336) by @calliec-1223 in [#46336]
[docs] update num_items_in_batch for causal LMs (#46335) by @stevhliu in [#46335]
Update compressed tensors minimum version (#46342) by @SunMarc in [#46342]
Fix _is_package_available reporting available without a version (#46125) by @blipbyte in [#46125]
remove sec (#46346) by @ydshieh in [#46346]
fix: include transitive relative imports when loading from local directory (#46022) by @trducng in [#46022]
perf(feature_extraction_sequence): skip re-splitting already-batched numpy arrays in pad() (#46329) by @Anai-Guo in [#46329]
[Zamba] Support attn_implementation dispatch (#46317) by @YangKai0616 in [#46317]
Fix TestAppRoutes test failures caused by deprecated asyncio.get_event_loop() on Python 3.10+ (#46340) by @ydshieh in [#46340]
[Qwen3VL] Fix video token placeholder: use self.video_token instead of hardcoded "<|placeholder|>" (#46296) by @kpal002 in [#46296]
chore(linter): fixes for rule 16 (#46023) by @tarekziade in [#46023]
[docs] Romanian translation of weightconverter.md, models.md, custom_models.md, monkey_patching.md, fusion_mapping.md, how_to_hack_models.md, model_sharing.md and serialization.md. (#46309) by @filipinescu in [#46309]
Normalize CUDA OOM errors when comparing commit failures in check_bad_commit (#46322) by @ydshieh in [#46322]
Fix unhandled exception noise from background safetensors conversion thread (#45752) by @dhruv7477 in [#45752]
Add Expectations for pipeline token classification tests (#46151) by @kaixuanliu in [#46151]
[docs] fix auto-add release dates (#46283) by @zucchini-nlp in [#46283]
Separate pip command syntax for notebook and CLI tabs in Quickstart (#46243) by @pvelayudhan in [#46243]
Romanian translation of README.md, index.md, installation.md, _config.py and quicktour.md. (#46166) by @filipinescu in [#46166]
Fall back to flat kwarg when modality dict is passed without it (#46195) by @Ace3Z in [#46195]
Fix load_adapter OOM caused by full-model warmup sizing (#46145) by @Yooniel in [#46145]
Replace assert with raise ImportError for optuna/ray dependency checks (#46263) by @SebTardif in [#46263]
chore(linter): respect TRF017 modeling rule (#46260) by @tarekziade in [#46260]
Delete dead code in qwen-vl series (#45827) by @zucchini-nlp in [#45827]
qa: fix ty caching and align CI with local run (#46278) by @tarekziade in [#46278]
Guard DeviceMesh import in continuous batching (#46205) by @danyalahmed1995 in [#46205]
Processor compatibility with vLLM (#46258) by @zucchini-nlp in [#46258]
Fix PR CI workflow cancellation condition (#46276) by @ydshieh in [#46276]
[fix] toctree (#46106) by @stevhliu in [#46106]
add more generic support for distributed trainer tests (#46109) by @kaixuanliu in [#46109]
add XPU Expectations for florence2 and lfm2_vl model test (#46275) by @kaixuanliu in [#46275]
Fix StaticCache building an empty layer list when num_kv_shared_layers == 0 (#46235) by @tengomucho in [#46235]
Fix inverted assertion in remove_handler (#46227) by @SebTardif in [#46227]
[ShieldGemma2] Support attn_implementation dispatch (#46069) by @YangKai0616 in [#46069]
[Gemma4] Replace one-hot matmul with F.embedding in position embeddings (#46176) by @Sriniketh24 in [#46176]
fix: kosmos2.5: properly expand embeddings table (#45835) by @nunq in [#45835]
find pytest launch error in torch 2.13.0.dev20260526 (#46252) by @sywangyi in [#46252]
[Test][Kosmos2.5] Add XPU expectations for integration tests (#46135) by @YangKai0616 in [#46135]
Support FA2 flash_attn_with_kvcache for XPU continuous batching (#46028) by @YangKai0616 in [#46028]
[Configs] Fix layer type validation to include its mlp counterpart (#46220) by @vasqu in [#46220]
Fix num_items_in_batch over-counting for causal LM losses (#46204) by @qgallouedec in [#46204]
RF-DETR doc fixes (#46244) by @merveenoyan in [#46244]
Use main instead of commit SHA for now (#46241) by @ydshieh in [#46241]
Enable push event (to main) for PR CI workflow (#46240) by @ydshieh in [#46240]
fix(hrm_text): Add XPU Expectations for tests (#46214) by @kaixuanliu in [#46214]
[deepseek_v4] keep hc_head / sinks / position_bias in fp32 (#46198) by @ArthurZucker in [#46198]
Fix FSDP2 and distributed checkpointing imports for older PyTorch versions (#46141) by @ryota-komatsu in [#46141]
Fix Gemma4 Array Mask Indexing (#46203) by @petecao in [#46203]
utils: handle flash_attn missing from importlib packages_distributions without crashing (#45524) by @SAY-5 in [#45524]
[AMD CI] revert AMD mi325 hf-workflows ref from SHA back to @main (#46213) by @Abdennacer-Badaoui in [#46213]
[GLM-4.6V] Update with GLM-GA Processor (#46184) by @zRzRzRzRzRzRzRzR in [#46184]
update xpu expectation for falcon mamba (#46086) by @sywangyi in [#46086]
chore: enable Dependabot weekly GitHub Actions bumps (#46157) by @hf-dependantbot-rollout[bot] in [#46157]
Fix Gemma4 use_bidirectional_attention="all" mask behavior (#46079) by @oliverholworthy in [#46079]
Fix loading with only 1 device or distributed config (#46197) by @Cyrilvallez in [#46197]
Fix TypeError on list-typed ignore_keys_at_rope_validation in RoPE config (#46142) by @Charly21r in [#46142]
Support XPU autocast dtype fallback for FlashAttention (#46199) by @YangKai0616 in [#46199]
Fix path traversal when saving named chat templates (#46191) by @LinZiyuu in [#46191]
Fix is_last off-by-one in MaskGenerationPipeline for partial batches (#46136) by @J3r3myPerera in [#46136]
Fix wrong variable in check_model_type isinstance check (#46080) by @SebTardif in [#46080]
Enable passing kwargs through RoFormer models (#46171) by @ir2718 in [#46171]
Update cohere2_moe tp_plan (#46189) by @Cyrilvallez in [#46189]
Update release tool (#46193) by @Cyrilvallez in [#46193]
[loading] Fix base_model_prefix issues in conversions (#46067) by @Cyrilvallez in [#46067]
Bump dev version (#46188) by @Cyrilvallez in [#46188]
Update self-comment-ci (#46137) by @guarin in [#46137]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@filipinescu
[docs] Romanian translation of contributing.md, modular_transformers.md, multimodal_processing.md, add_vision_processing_components.md, add_audio_processing_components.md, modeling_rules.md, model_output_tracing.md, auto_docstring.md, testing.md, pr_checks.md and add_new_model.md . (#46345)
[docs] Romanian translation of weightconverter.md, models.md, custom_models.md, monkey_patching.md, fusion_mapping.md, how_to_hack_models.md, model_sharing.md and serialization.md. (#46309)
Romanian translation of README.md, index.md, installation.md, _config.py and quicktour.md. (#46166)
@remi-or
[CB] [Major] Rework manager to have clearer control flow + handle TP (#46070)
@thisisiron
Add Deepseek-OCR-2 model (#45075)
@kaixuanliu
Add Expectations for pipeline token classification tests (#46151)
fix series of bugs for model parallel beam search (#46280)
add more generic support for distributed trainer tests (#46109)
add XPU Expectations for florence2 and lfm2_vl model test (#46275)
Fix model parallel issue for altclip model and ChineseClip model (#45487)
Model parallel fix (#46230)
fix(hrm_text): Add XPU Expectations for tests (#46214)
Fix model parallel bugs for Gemma4 (#45817)
Fix bnb 4bit/8bit quantization drop chunked tensors bug (#46210)
fix model parallel device mismatch issue in create_bidirectional_mask (#46221)
Fix a regression in encoder-decoder generation cache initialization (#46111)
@shadeMe
feat: Add support for JetBrains' Mellum v2 code generation model (#46112)
@vasqu
[Revert] FSDP+Dtensor refactor related changes (#46246)
[Configs] Fix layer type validation to include its mlp counterpart (#46220)
@zRzRzRzRzRzRzRzR
[GLM-4.6V] Update with GLM-GA Processor (#46184)
@eustlb
π¨ [ALM] Add base model without head (#45534)
Original source - Jun 3, 2026
- Date parsed from source:Jun 3, 2026
- First seen by Releasebot:Jun 3, 2026
- May 20, 2026
- Date parsed from source:May 20, 2026
- First seen by Releasebot:Jun 3, 2026
Release v5.9.0
transformers releases v5.9.0 with new model support for Cohere2-MoE and HRM-Text, expanded audio capabilities, and a range of generation and bug fixes. The update also includes breaking changes for text embeddings, plus improvements to multimodal, docs, and CI stability.
Release v5.9.0
New Model additions
Cohere2Moe
Command A+ is a Mixture-of-Experts (MoE) language model from Cohere that features a hybrid attention pattern combining sliding window and full attention layers. The model incorporates both shared and routed experts and supports a very large context window for processing extensive text sequences.
Links: Documentation
Add new cohere2_moe model (#46115) by @Cyrilvallez in #46115
Parakeet tdt (#44171)
Parakeet tdt (#44171) by @lmaksym
HRM-Text
HRM-Text is an improved autoregressive language-modeling variant of the Hierarchical Reasoning Model (HRM) that uses a hierarchical recurrent forward pass with two transformer stacks - one for slow, abstract planning (H) and one for fast, detailed computation (L) - reused inside a nested recurrence. It features PrefixLM attention where instruction tokens attend bidirectionally while response tokens attend causally, per-head sigmoid output gates, and parameterless RMSNorm. The model is designed as a base language model without instruction tuning or chat templates.
Links: Documentation | Paper
Add hrm text (#46025) by @abcd1927 in #46025
Breaking changes
The text_embeds input for SAM3, EdgeTAM, and SAM3-Lite-Text models now expects full text embeddings instead of just pooler outputs, aligning with other models in the library β users must update their inputs accordingly.
π¨Fix memory leaks caused by lru decorators in vision models (#45922) by @yonigozlan
Audio
Audio support was expanded with the addition of AudioFlamingoNext model checkpoints and improved compilability of audio/vision encoders via standalone pure functions. Additional improvements include better error messaging when loading audio from video files and new documentation for audio/video processors.
user friendly error when loading audio from video (#45221) by @eustlb in [#45221]
[docs] adding audio/video processors (#45795) by @stevhliu in [#45795]
Support Audio Flamingo Next checkpoints (#44830) by @lashahub in [#44830]
Extract dynamic vision/audio tensors into standalone pure functions (#45396) by @IlyasMoutawwakil in [#45396]
Generation
Fixed generation issues including inputs_embeds and per_layer_inputs handling for Gemma4, an AttributeError in RAG's generate() caused by missing config fields, and flaky VLM generation tests by blocking special image tokens during sampling.
Fix Gemma4 generation from inputs_embeds and per_layer_inputs (#46049) by @Cyrilvallez in [#46049]
Fix AttributeError in RAG generate() for missing config fields (#46035) by @Sriniketh24 in [#46035]
Block image_start/end_token_id in generation test sampling (#45914) by @Rocketknight1 in [#45914]
Bugfixes and improvements
Remove mask visualization tool from masking_utils.py (#46066) by @Cyrilvallez in [#46066]
fix: owned_by field in GET /v1/models returns list instead of string (#46006) by @nileshpatil6 in [#46006]
[CB] Remove OpenTelemetry (#45984) by @remi-or in [#45984]
docs(readme): use canonical huggingface.co domain in prose links (#46042) by @kiwigitops in [#46042]
Fix remaining RAG doc examples that crash on current transformers (#46044) by @Sriniketh24 in [#46044]
Init the actual tensor, not a copy (#46030) by @Rocketknight1 in [#46030]
docs: sync legacy ACL anthology URLs and update metrics across i18n READMEs (#46027) by @irfaan101 in [#46027]
[MultimodalLM] add language_model to the get/set_input_embeddings logic (#46029) by @eustlb in [#46029]
[HRM Text] Add integration tests (#46033) by @vasqu in [#46033]
hy_v3: add XPU expectations (#45858) by @kaixuanliu in [#45858]
exaone4_5: add XPU expectations (#45890) by @kaixuanliu in [#45890]
hyperclovax: add XPU Expectations for CI test (#45926) by @kaixuanliu in [#45926]
chore(ci): remove dead env vars from circleci-failure-summary-comment.yml (#45972) by @XciD in [#45972]
[CB] [Major] Add tensor paralellism (#45821) by @remi-or in [#45821]
docs: update models architecture count and sync ACL anthology URLs (#46001) by @irfaan101 in [#46001]
bugfix(ci): avoid E2BIG in pr_slow_ci_suggestion (#45983) by @tarekziade in [#45983]
RFDetr - use correct Roboflow org for release (#45946) by @sbucaille in [#45946]
docs: Fix formatting issues in weightconverter.md (#45988) by @ArjunSrivastava1 in [#45988]
Fix colqwen2 test (#45981) by @IlyasMoutawwakil in [#45981]
Fix M-RoPE device mismatch in Qwen3VL family under FSDP2 CPU offload (#45861) by @jamesbraza in [#45861]
[docs] chat template prefill (#45947) by @stevhliu in [#45947]
[docs] decode fast path (#45899) by @stevhliu in [#45899]
fix: restore _attn_implementation and fix request offset in generate_batch() (#45943) by @sergiopaniego in [#45943]
Expose per_layer_inputs for every Gemma4 variants (#45927) by @Cyrilvallez in [#45927]
chore: update benchmark_v2.yml (#45966) by @hf-security-analysis[bot] in [#45966]
fix(ci): set persist-credentials: false on actions/checkout and close remaining template injection findings (#45964) by @XciD in [#45964]
chore(ci): set default workflow permissions to contents: read (#45961) by @XciD in [#45961]
fix(ci): remove template injection on pull_request_target workflows (#45956) by @XciD in [#45956]
chore(ci): pin all GitHub Actions and reusable workflows by SHA (#45955) by @XciD in [#45955]
[docs] ALMModelTest (#45900) by @stevhliu in [#45900]
Enhance apply_chat_template to support custom field prefilling (reasoning_content, thinking, etc.) (#45896) by @Mamiglia in [#45896]
BUGFIX: Support hubert models that don't have conv_pos_batch_norm configured (#45921) by @igordertigor in [#45921]
Revert 45777 (#45942) by @Rocketknight1 in [#45942]
pass the otel secrets (#45933) by @tarekziade in [#45933]
Add initial torch_tpu backend support (#45918) by @tengomucho in [#45918]
[CB] Hide activation footprint by using the CUDA graph pool (#45911) by @remi-or in [#45911]
Require input_ids for repetition penalty (#45389) by @ruben-aghayan in [#45389]
Fix undefined 'input' variable (#45895) by @fullyz in [#45895]
Fix post processing RF-DETR (#46041) by @yonigozlan (direct commit on v5.9.0)
[loading] Free up tensors faster inside ConversionOps (#46110) by @Cyrilvallez (direct commit on v5.9.0)
Add new cohere2_moe model (#46115) by @Cyrilvallez (direct commit on v5.9.0)
Fix cohere2 tp_plan for release by @Cyrilvallez (direct commit on v5.9.0)
Release v5.9.0 by @Cyrilvallez (direct commit on v5.9.0)
Significant community contributions
The following contributors have made significant changes to the library over the last release:
@lmaksym
Parakeet tdt (#44171)
@eustlb
user friendly error when loading audio from video (#45221)
[MultimodalLM] add language_model to the get/set_input_embeddings logic (#46029)
@remi-or
[CB] Remove OpenTelemetry (#45984)
[CB] [Major] Add tensor paralellism (#45821)
[CB] Hide activation footprint by using the CUDA graph pool (#45911)
@abcd1927
Add hrm text (#46025)
Original source - May 13, 2026
- Date parsed from source:May 13, 2026
- First seen by Releasebot:May 13, 2026
Patch release v5.8.1
transformers ships a patch release fixing Deepseek V4 integration and related serving and WeightConverter issues.
Patch release v5.8.1
This release is mainly to fix the Deepseek V4 integration!!!
- [fix] Add fatal_error to ContinuousBatchingManager so the serving... by @qgallouedec, @remi-or
- Fix WeightConverter regex incorrectly matching shared_experts as experts by @silencelamb, @claude
- Fix deepseek v4 by @ArthurZucker (#45892)
- Deepseek v4 csa mask collapse by @ArthurZucker, @Sawyer117 (#45928)
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.