Repository navigation
Update dependency diffusers to v0.41.0 - #39
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/diffusers-0.x
branch
from
March 25, 2026 09:55
1d2370a to
0775aee
Compare
renovate
Bot
force-pushed
the
renovate/diffusers-0.x
branch
from
May 1, 2026 12:39
0775aee to
b0abe83
Compare
renovate
Bot
force-pushed
the
renovate/diffusers-0.x
branch
from
July 3, 2026 10:28
b0abe83 to
96dd06b
Compare
renovate
Bot
force-pushed
the
renovate/diffusers-0.x
branch
from
August 20, 2026 18:50
96dd06b to
c628851
Compare
renovate
Bot
force-pushed
the
renovate/diffusers-0.x
branch
from
October 6, 2026 10:26
c628851 to
baa25ca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.36.0→==0.41.0Release Notes
huggingface/diffusers (diffusers)
v0.41.0: Diffusers 0.41.0: QwenImage 2.1 pipeline and moreCompare Source
Qwen-Image 2.1
Qwen-Image 2.1 unifies image generation and editing in one model. Its visual generation component has 7B parameters, and it supports multiple reference images and native RGBA output for transparent images. Check out the docs for more details.
Thanks to @naykun for the model integration (#14804).
Other highlights
test_pipelines_common.pytest suite to establish more modularity and transparent implementation of tests. Refer to #14669/ for more details.Deprecations and compatibility
🚨 ONNX support is deprecated; use Optimum for ONNX Runtime workflows. (#14658)
Previously deprecated APIs have been removed, including the
LuminaText2ImgPipelineandLumina2Text2ImgPipelinealiases. UseLuminaPipelineandLumina2Pipelineinstead. Older integrations should review the removed code paths before upgrading.Thanks to everyone who contributed to this release!
All commits
test_pipelines.pyto use pytest. by @sayakpaul in #14222LTX2GuidanceGuider toguiders/Folder by @dg845 in #14558overwrite_modular_indexto be True by @yiyixuxu in #14659@diffusers-botby @DN6 in #14623test_pipelines_common.pyby @sayakpaul in #14669Significant community contributions
The following contributors have made significant changes to the library over the last release:
LTX2GuidanceGuider toguiders/Folder (#14558)v0.40.0: Diffusers 0.40.0: New pipelines, tensor-parallel support, improved CLI, and moreCompare Source
New Pipelines
MiniMax-H3
MiniMax-H3 generates video and its soundtrack together. A single transformer denoises one packed sequence containing the text conditioning, the conditioning media, and the target video and audio latents — there is no separate vocoder and no post-hoc audio pass. Its conditioner is a
Qwen3VLForConditionalGenerationwhose unnormalized 50th-decoder-layer hidden state is read instead of the last one.MiniMax-H3 is integrated as Modular Diffusers blocks only —
MiniMaxH3Blocksand theirMiniMaxH3ModularPipelineare the whole integration. The conversion ships both checkpoint partitions in one repository and exposes three workflows (t2va,fl2va,ref2va) that can be pruned atfrom_pretrainedtime so only that task's components are declared and downloaded.MiniMax Music 3
MiniMax Music 3 produces complete songs up to five minutes long from lyrics and a music description, with expressive vocals and long-range structure. It is a hybrid of an autoregressive and a diffusion stage: an 8B Qwen3-based global language model predicts one semantic audio token per frame while a small depth decoder fills in seven residual RVQ codebooks, and their fused hidden states condition a 2.4B flow-matching transformer that produces Flow-VAE latents in overlapping chunks. A DAC-style decoder turns the latents into 44.1 kHz stereo audio.
Stable Audio 3
Stable Audio 3 is a text-to-audio model from Stability AI that generates high-quality stereo audio at 44.1 kHz. It uses a rectified-flow DiT conditioned on a frozen T5Gemma text encoder (via cross-attention) and on duration (a float embedded by
StableAudio3DurationEmbedderand used for adaptive layer norm), and decodes with the SAME (Semantically-Aligned Music Encoder) autoencoder,AutoencoderSAME.Three pipelines ship:
StableAudio3Pipeline,StableAudio3AudioToAudioPipeline, andStableAudio3InpaintPipeline.Thanks to @buffett0323 for the contribution (#14119).
LTX-2.5
LTX-2.5 reuses the existing
LTX2Pipeline/LTX2VideoTransformer3DModel/AutoencoderKLLTX2Videoclasses — there is no separate pipeline class. The user-visible difference is the text encoder: LTX-2.5 is paired with a Gemma 4 (gemma4_unified) checkpoint, loaded automatically from a converted LTX-2.5 repo.Lightricks/LTX-2.5-Diffusersships both the distilled DiT (transformer/) and the full/SFT DiT (transformer_full/), plus everything two-stage generation needs. Alongside the checkpoint support, this release adds:LTX2VideoDiffusionDecoderModelandLTX2VideoDiffusionDecodePipeline— a second video decoder over the same latent space, so latents are interchangeable between decoders.duration_headthat predicts shot length from the text-connector output, sonum_framesis auto-predicted by default when the loaded pipeline has one.google/gemma-4-E2B-itcheckpoint (enable_prompt_enhancement=True).LTX25AutoBlocksfor Modular Diffusers (#14453).Wan-Animate-2
Wan-Animate-2 by the Alibaba Wan Team animates a reference character image with the motion of a driving video. The driving video is processed in fixed-length segments: each segment runs a reference-extraction pass that caches the driving segment's K/V in every transformer layer, denoises against that cache, and is decoded inside the loop, because the next segment conditions on the previous segment's decoded tail frames.
Two presets are available — the base checkpoint samples with classifier-free guidance, and the distilled checkpoint samples in few steps without it. Guidance is owned by the pipeline's guider component, so there is no
guidance_scaleargument.Thanks to @kelseyee for authoring the integration (#14413).
JoyAI-Image-Edit-Plus
JoyAI-Image-Edit-Plus extends the JoyAI-Image family (an 8B MLLM paired with a 16B MMDiT) to multi-image instruction-guided editing. It accepts 1–5 reference images plus a text instruction and composes elements from the references into a new image.
Thanks to @tangyanf for the contribution (#14032).
Cosmos 3 follow-ups
Cosmos 3 landed in 0.39.0 and gets substantially more coverage in this release:
Cosmos3OmniModularPipeline), with Transfer support for precomputed control videos (edge, blur, depth, segmentation, world-scenario maps) generated autoregressively in chunks and stitched automatically.Cosmos3DistilledModularPipeline.Thanks to @yzhautouskay and @atharvajoshi10 for the contributions.
Modular Pipeline Support
Modular Diffusers is no longer marked experimental (#14525) — the API warning has been dropped.
DiffusionPipelinehalf.ConditionalPipelineBlocksdeclare different defaults for the same input,combine_inputsnow merges the default toNoneand records the per-block defaults in a newInputParam.defaults_by_blockfield.get_block_statefalls back to the block's own declared default, so each branch resolves its own default when it actually runs. Docstrings render conflicted defaults as e.g. "defaults to None or 189, depending on the workflow".intermediate_inputswere cleaned up, stale auto-docstrings are now detected in CI, and Mellon custom-block required-input handling was fixed.Core Library
Tensor parallelism
Tensor-parallel inference is now supported for model inference on CUDA and AWS Neuron (Trainium/Inferentia), exposed through the same public API already used for context parallelism:
Sharding is model-agnostic and driven from a flat
_tp_plan, which has been added to the FLUX.1, FLUX.2 and Qwen-Image DiTs. Check out the docs for more details.New quantization backends
Attention, kernels and offloading
kernels-community/aiter-flash-attn-ckHub kernel, dropping theaiterdependency. Thanks to @Abdennacer-Badaoui._flash_3_varlen_hubbackend and a mask-handling fix. Thanks to @zhtmike.DiffusionPipeline.devicededuction for split-device pipelinesCLI
The
diffusers-cliwas reworked for agentic use (#13966) and then cleaned up (#14381):modular_model_index.jsonis written when saving a custom block soModularPipeline.from_pretrainedcan load and run custom blocks as pipelines, auto CPU offload works for Modular pipelines,workflowcan be passed to Modular pipelines, and output saving handles multimodal output (e.g. LTX video frames + audio) and batched video.Skills are now installed through the CLI rather than the
Makefile(#14454):🚨 Breaking changes and deprecations
Flax*classes and theflaxextras are gone.get_peft_kwargstooklora_alphafrom the first entry of the rank dict and never revisited it, so every module whose rank differed from the first key's rank got an arbitrary, key-order-dependent scale. Ranks are now mirrored into the alphas when a checkpoint brings no alpha information (the diffusers/PEFT convention: alpha == rank, scale 1.0). Adapters with a declared alpha keep it, and uniform-rank adapters are unaffected. Existing mixed-rank, no-alpha LoRAs will now produce different (correct) results.torch_dtypeis deprecated in favour ofdtype(#14205, #14313), followingtransformers.torch_dtypestill works but warns, and will be removed in 1.0.0. Atorch.dtypealias was added for the docs.dduf_filewarns and will be removed in 0.41.0.Security
SECURITY.mdwas added.Training
LoRA
different_shapes_for_compilation. Thanks to @jiqing-feng._merged_adapterswhen it is unfused from all components.Notable fixes
visual_condchannels.WanTransformer3DModelandSD3Transformer2DModelhidden states contiguoussnapshot_downloadwith the latesthuggingface_hubTests and infrastructure
A large chunk of this release is test modernization: pipeline tests continue migrating to the new mixin structure (Wan, Qwen-Image, FLUX.2, CogVideoX, Stable Diffusion, and the LoRA pipeline tests),
tests/others, training tests, and attention-processor tests moved topytest, model-level and pipeline-level quantization tests were standardized, and anoutput_shapeproperty was introduced in the pipeline tests. The agent-facing docs and skills under.ai/were expanded to cover tests, model implementation, and blockset conventions.All commits
_flash_3_varlen_hubmask handling by @zhtmike in #14115Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.