# New in 0.19.0 (2022-10-31)

## Major Changes

-   {class}`~scvi.train.TrainingPlan` allows custom PyTorch optimizers [#1747].
-   Improvements to {class}`~scvi.train.JaxTrainingPlan` [#1747] [#1749].
-   {class}`~scvi.module.base.LossRecorder` is deprecated. Please substitute with {class}`~scvi.module.base.LossOutput` [#1749]
-   All training plans require keyword args after the first positional argument [#1749]
-   {class}`~scvi.module.base.JaxBaseModuleClass` absorbed features from the `JaxModuleWrapper`, rendering the `JaxModuleWrapper` obsolote, so it was removed. [#1751]
-   Add {class}`scvi.external.Tangram` and {class}`scvi.external.tangram.TangramMapper` that implement Tangram for mapping scRNA-seq data to spatial data [#1743].

## Minor changes

-   Remove confusing warning about kl warmup, log kl weight instead [#1773]

## Breaking changes

-   {class}`~scvi.module.base.LossRecorder` no longer allows access to dictionaries of values if provided during initialization [#1749].
-   `JaxModuleWrapper` removed. [#1751]

## Bug Fixes

-   Fix `n_proteins` usage in {class}`~scvi.model.MULTIVI` [#1737].
-   Remove unused param in {class}`~scvi.model.MULTIVI` [#1741].
-   Fix random seed handling for Jax models [#1751].

## Contributors

-   [@watiss]
-   [@adamgayoso]
-   [@martinkim0]
-   [@marianogabitto]

[#1737]: https://github.com/YosefLab/scvi-tools/pull/1737
[#1741]: https://github.com/YosefLab/scvi-tools/pull/1741
[#1743]: https://github.com/YosefLab/scvi-tools/pull/1743
[#1747]: https://github.com/YosefLab/scvi-tools/pull/1747
[#1749]: https://github.com/YosefLab/scvi-tools/pull/1749
[#1751]: https://github.com/YosefLab/scvi-tools/pull/1751
[#1773]: https://github.com/YosefLab/scvi-tools/pull/1773
[@watiss]: https://github.com/watiss
[@adamgayoso]: https://github.com/adamgayoso
[@martinkim0]: https://github.com/martinkim0
[@marianogabitto]: https://github.com/marianogabitto
