NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2006 most downloaded on PyPI
The Deep Learning framework to train, deploy, and ship AI products Lightning fast.
Last release 24 days ago
10 Sep 2026
Ships unpredictably
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
172 releases · first in 2022
One column per quarter.
Fixed arbitrary code execution in load_from_checkpoint by restricting the _instantiator hyperparameter to an allowlist of trusted instantiators
2.6.6Fixed arbitrary code execution in load_from_checkpoint by restricting the _instantiator hyperparameter to an allowlist of trusted instantiators (#21832)
Fixed arbitrary code execution in load_from_checkpoint by rejecting a checkpoint _class_path that does not resolve to an already imported subclass of the loaded class (#21914)
Full commit list: 2.6.5 -> 2.6.6
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning ⚡ better for everyone, nice job!
In particular, we would like to thank the authors and co-authors of the pull-requests above:
Use fs.pipe() for S3/GCS checkpoint uploads in _atomic_save ( #21595
2.6.5Full commit list: 2.6.4 -> 2.6.5
New Contributors
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning ⚡ better for everyone, nice job!
In particular, we would like to thank the authors and co-authors of the pull-requests above:
Removed support for Neptune logger ( #21572 ).
2.6.4ChangedNote: We usually don't remove features in a patch release, however in this case it's an exception since even without removing it the integration would be broken due to Neptune being acquired and sunsetting public service
LitLogger version to 2026-03-17 (#21591)val_check_interval raising ValueError when limit_val_batches=0 and interval exceeds training batches (#21560)bf16-mixed, 16-mixed) initializing model parameters in half precision instead of fp32 (#21586)device_mesh type hint in FSDPStrategy to accept a 2-element tuple via the CLI (#21581)RichModelSummary model size display formatting (#21467)SimpleProfiler duration aggregation by using math.fsum (#21525)bf16-mixed, 16-mixed) initializing model parameters in half precision instead of fp32 (#21586)device_mesh type hint in FSDPStrategy to accept a 2-element tuple via the CLI (#21581)Full commit list: 2.6.1 -> 2.6.4
New Contributors
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning ⚡ better for everyone, nice job!
In particular, we would like to thank the authors and co-authors of the pull-requests above:
@AsherJingkongChen, @Borda, @bhimrazy, @deependujha, @justusschock, @littlebullGit, @ManasVardhan, @taha-yassine
Versions 2.6.2 and 2.6.3 were skipped due to a supply chain security compromise. See #21691 for details.
bf16-mixed, 16-mixed) initializing model parameters in half precision instead of fp32 (#21586)device_mesh type hint in FSDPStrategy to accept a 2-element tuple via the CLI (#21581)Added litlogger integration( #21430 ) Deprecated
2.6.1LightningModule.freeze() and LightningModule.unfreeze() by returning self (#21469)to_torchscript method due to deprecation of TorchScript in PyTorch (#21397)save_hyperparameters(ignore=...) behavior so subclass ignore rules override base class rules (#21490)LightningDataModule.load_from_checkpoint to restore the datamodule subclass and hyperparameters (#21478)ModelParallelStrategy single-file checkpointing when torch.compile wraps the model so optimizer states no longer raise KeyError during save (#21357)StochasticWeightAveraging with infinite epochs (#21396)_generate_seed_sequence_sampling function not producing unique seeds (#21399)ThroughputMonitor callback emitting warnings too frequently (#21453)weights_only argument for loading checkpoints in Fabric.load() and Fabric.load_raw() (#21470)DistributedSamplerWrapper not forwarding set_epoch to the underlying sampler (#21454)Full commit list: 2.6.0 -> 2.6.1
New Contributors
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning ⚡ better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above
Nothing published for this version
Added WeightAveraging callback that wraps the PyTorch AveragedModel class
2.6.0WeightAveraging callback that wraps the PyTorch AveragedModel class (#20545)LightningModule (#20808)val_check_interval (#21071)EarlyStopping callback (#21188)ThroughputMonitor (#20236)EMAWeightAveraging callback that wraps Lightning's WeightAveraging class (#21260)weights_only argument for Trainer.{fit,validate,test,predict} and let torch handle default value (#21072)RichProgressBar and RichModelSummary if the rich package is available. Fallback to TQDMProgressBar and ModelSummary otherwise (#20896)max_trials is reached in Tuner.scale_batch_size (#21187)LightningCLI could not be initialized with trainer_default containing callbacks (#21192)ModelPruning is applied with lottery ticket hypothesis (#21191)save_last='link' and save_top_k=-1 (#21186)last.ckpt being created and not linked to another checkpoint (#21244)BackboneFinetuning from being used together with LearningRateFinder (#21224)ModelPruning sparsity logging bug that caused incorrect sparsity percentages (#21223)LightningCLI loading of hyperparameters from ckpt_path failing for subclass model mode (#21246)__init__ method (#21227)ThroughputMonitor calculated training time (#21291)DDPStrategy(static_graph=True) (#21251)weights_only argument for Trainer.{fit,validate,test,predict} and let torch handle default value (#21072)_DeviceDtypeModuleMixin._device from torch's default device function (#21164)Fabric.call to support different callback method signatures (#21258)on_train_batch_start returns -1 (#21296).Full commit list: 2.5.0 -> 2.6.0
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning ⚡ better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Remove support for deprecated and archived lightning-habana package
2.5.6<a name="changelog-pytorch"></a>
<details open><summary>Changed</summary>
name() function to accelerator interface ((#21325))</details>
<details open><summary>Removed</summary>
</details>
Include exclude_frozen_parameters to DeepSpeedStrategy
2.5.5<a name="changelog-pytorch"></a>
<details open><summary>Changed</summary>
exclude_frozen_parameters to DeepSpeedStrategy (#21060)PossibleUserWarning that is raised if modules are in eval mode when training starts (#21146)</details>
<details open><summary>Fixed</summary>
LightningCLI not using ckpt_path hyperparameters to instantiate classes (#21116)ModelCheckpoint saves until validation metrics are available (#21106)TQDMProgressBar not resetting correctly when using both a finite and iterable dataloader (#21147)Tuner on crashes (#21162)</details>
<a name="changelog-fabric"></a>
<details open><summary>Changed</summary>
exclude_frozen_parameters to DeepSpeedStrategy (#21060)_get_default_process_group_backend_for_device support more hardware platforms (
#21057, #21093)</details>
<details open><summary>Fixed</summary>
verbose=False in seed_everything when no seed is provided (#21161)</details>
</br>
Full commit list: 2.5.4 -> 2.5.5
<a name="contributors"></a>
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning :zap: better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above, in no particular order:
@Borda, @KAVYANSHTYAGI, @littlebullGit, @mauvilsa, @SkafteNicki, @taozhiwei
Thank you :heart: and we hope you'll keep them coming!
Fixed AsyncCheckpointIO snapshots tensors to avoid race with parameter mutation
2.5.4<a name="changelog-pytorch"></a>
<details open><summary>Fixed</summary>
AsyncCheckpointIO snapshots tensors to avoid race with parameter mutation (#21079)AsyncCheckpointIO threadpool exception if calling fit or validate more than one (#20952)LearningRateFinder callback (#21068)DeepSpeedstrategy (#21100)RichProgressBar crashing when sanity checking using val dataloader with 0 len (#21108)</details>
<a name="changelog-fabric"></a>
<details open><summary>Changed</summary>
get_available_flops (#20913)</details>
</br>
Full commit list: 2.5.3 -> 2.5.4
<a name="contributors"></a>
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning :zap: better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above, in no particular order:
@fnhirwa, @GdoongMathew, @jjh42, @littlebullGit, @SkafteNicki
Thank you :heart: and we hope you'll keep them coming!
Fixed XLA strategy to add support for global_ordinal, local_ordinal, world_size which came instead of deprecated methods
<a name="changelog-pytorch"></a>
<details open><summary>Changed</summary>
save_on_exception option to ModelCheckpoint Callback (#20916)dataloader_idx_ in log names when add_dataloader_idx=False (#20987)ONNXProgram when calling to_onnx(dynamo=True) (#20811)training_step when using manual optimization (#21011)</details>
<details open><summary>Fixed</summary>
14.1+ (#21016)AdvancedProfiler to handle nested profiling actions for Python 3.12+ (#20809)rich progress bar error when resume training (#21000)ModelSummary (#21034)RichProgressBar being updated according to user provided refresh_rate (#21032)save_last behavior in the absence of validation (#20960)LearningRateFinder and EarlyStopping (#21056)lr_finder for mode="exponential" (#21055)save_hyperparameters crashing with dataclasses using init=False fields (#21051)</details>
<a name="changelog-fabric"></a>
<details open><summary>Changed</summary>
devices and accelerator as CLI arguments (#20913)out-of-bounds or cannot be cast to int (#21029)</details>
<details open><summary>Fixed</summary>
name parameter in accelerator registry decorator (#20975)global_ordinal, local_ordinal, world_size which came instead of deprecated methods (#20852)</details>
</br>
Full commit list: 2.5.2 -> 2.5.3
<a name="contributors"></a>
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning :zap: better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above, in no particular order:
@baskrahmer, @bhimrazy, @deependujha, @fnhirwa, @GdoongMathew, @jonathanking, @relativityhd, @rittik9, @SkafteNicki, @sudiptob2, @vsey, @YgLK
Thank you :heart: and we hope you'll keep them coming!
CLI: resolve jsonargparse deprecation warning
<a name="changelog-pytorch"></a>
<details open><summary>Changed</summary>
toggled_optimizer(optimizer) method to the LightningModule, which is a context manager version of toggle_optimize and untoggle_optimizer (#20771)fsspec>=2025.5.0 if unavailable (#20780)nn.Parameter type for pruning sanitization (#20783)</details>
<details open><summary>Fixed</summary>
save_hyperparameters not working correctly with LightningCLI when there are parsing links applied on instantiation (#20777)logger_connector has an edge case where step can be a float (#20692)check_inputs to the target device if available during to_torchscript (#20873)max_steps during training (#20869)jsonnet (#20899)</details>
<a name="changelog-fabric"></a>
<details open><summary>Changed</summary>
</details>
<details open><summary>Removed</summary>
TransformerEnginePrecision conversion for layers with bias=False (#20805)</details>
</br>
Full commit list: 2.5.1 -> 2.5.2
<a name="contributors"></a>
We thank all folks who submitted issues, features, fixes, and doc changes. It's the only way we can collectively make Lightning :zap: better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above, in no particular order:
@adamjstewart, @Armannas, @bandpooja, @Borda, @chanokin, @duydl, @GdoongMathew, @KAVYANSHTYAGI, @mauvilsa, @muthissar, @rustamzh, @siemdejong
Thank you :heart: and we hope you'll keep them coming!
TransformerEnginePrecision conversion for layers with bias=False (#20805)Full Changelog: https://github.com/Lightning-AI/pytorch-lightning/compare/2.5.1...2.5.1.post0
Full Changelog: https://github.com/Lightning-AI/pytorch-lightning/compare/2.5.1...2.5.1.post0
Allow LightningCLI to use a customized argument parser class
<a name="changelog-pytorch"></a>
<details open><summary>Changed</summary>
wandb default x-axis to tensorboard's global_step when sync_tensorboard=True (#20611)checkpoint_path_prefix parameter to the MLflow logger which can control the path to where the MLflow artifacts for the model checkpoints are stored (#20538)torch 2.6 (#20509)</details>
<details open><summary>Fixed</summary>
_R_co and _P to prevent type error (#20508)WandbLogger.experiment first in _call_setup_hook to ensure tensorboard logs can sync to wandb (#20610)should_stop when fit is called (#19177)WandbLogger upload models from all ModelCheckpoint callbacks, not just one (#20191)</details>
<a name="changelog-fabric"></a>
<details open><summary>Changed</summary>
torch 2.6 (#20509)</details>
<details open><summary>Removed</summary>
lightning run model; use fabric run instead. (#20588)</details>
</br>
Full commit list: 2.5.0 -> 2.5.1
<a name="contributors"></a>
We thank all folks who submitted issues, features, fixes and doc changes. It's the only way we can collectively make Lightning :zap: better for everyone, nice job!
In particular, we would like to thank the authors of the pull-requests above, in no particular order:
@benglewis, @Borda, @cgebbe, @duydl, @haifeng-jin, @japdubengsub, @justusschock, @lantiga, @mauvilsa, @millskyle, @ringohoffman, @ryan597, @senarvi, @TresYap
Thank you :heart: and we hope you'll keep them coming!
lightning run model; use fabric run instead (#20588)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →