What's Changed
* Fix LMCVariationalStrategy example in docs by adamjstewart in https://github.com/cornellius-gp/gpytorch/pull/2112
* Accept closure argument in NGD optimizer `step` by dannyfriar in https://github.com/cornellius-gp/gpytorch/pull/2118
* Fix bug with Multitask DeepGP predictive variances. by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2123
* Autogenerate parameter types in documentation from python typehints by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2125
* Retiring deprecated versions of`psd_safe_cholesky`, `NotPSDError`, and `assert_allclose` by SebastianAment in https://github.com/cornellius-gp/gpytorch/pull/2130
* fix custom dtype_value_context setting by sdaulton in https://github.com/cornellius-gp/gpytorch/pull/2132
* Include linear operator in installation instructions by saitcakmak in https://github.com/cornellius-gp/gpytorch/pull/2131
* Fixes HalfCauchyPrior by feynmanliang in https://github.com/cornellius-gp/gpytorch/pull/2137
* Fix return type of `Kernel.covar_dist` by Balandat in https://github.com/cornellius-gp/gpytorch/pull/2138
* Change variable name for better understanding by findoctorlin in https://github.com/cornellius-gp/gpytorch/pull/2135
* Expose jitter by hughsalimbeni in https://github.com/cornellius-gp/gpytorch/pull/2136
* Add HalfNormal prior distribution for non-negative variables. by ZitongZhou in https://github.com/cornellius-gp/gpytorch/pull/2147
* Fix multitask/added_loss_term bugs in SGPR regression by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2121
* fix bugs in test half Cauchy prior. by ZitongZhou in https://github.com/cornellius-gp/gpytorch/pull/2156
* Generalize RandomModule by feynmanliang in https://github.com/cornellius-gp/gpytorch/pull/2164
* MMVN.to_data_independent_dist returns correct variance for non-interleaved MMVN distributions. by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2172
* Update MSLL in metrics.py by jongwonKim-1997 in https://github.com/cornellius-gp/gpytorch/pull/2177
* Update multitask example notebook by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2190
* Fix exception message for missing kernel lazy kernel attribute by dannyfriar in https://github.com/cornellius-gp/gpytorch/pull/2195
* Improving `_sq_dist` when `x1_eq_x2` by SebastianAment in https://github.com/cornellius-gp/gpytorch/pull/2204
* Fix docs/requirements.txt by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2206
* As per issue '2175 [Docs] GP Regression With Uncertain Inputs'. by corwinjoy in https://github.com/cornellius-gp/gpytorch/pull/2200
* Avoid evaluating kernel when adding jitter by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2189
* Avoid evaluating kernel in `expand_batch` by dannyfriar in https://github.com/cornellius-gp/gpytorch/pull/2185
* Deprecating `postprocess` by SebastianAment in https://github.com/cornellius-gp/gpytorch/pull/2205
* Make PiecewisePolynomialKernel GPU compatible by gpleiss in https://github.com/cornellius-gp/gpytorch/pull/2217
* Let `LazyEvaluatedKernelTensor` recall the grad state at instantiation by SebastianAment in https://github.com/cornellius-gp/gpytorch/pull/2229
* Doc Update for Posterior Model Distribution and Posterior Predictive Distribution by varunagrawal in https://github.com/cornellius-gp/gpytorch/pull/2230
* Fix 08_Advanced_Usage links by st-- in https://github.com/cornellius-gp/gpytorch/pull/2240
* Add `device` property to `Kernel`s, add unit tests by Balandat in https://github.com/cornellius-gp/gpytorch/pull/2234
* pass **kwargs to ApproximateGP.__call__ in DeepGPLayer by IdanAchituve in https://github.com/cornellius-gp/gpytorch/pull/2224
New Contributors
* dannyfriar made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2118
* SebastianAment made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2130
* feynmanliang made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2137
* findoctorlin made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2135
* hughsalimbeni made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2136
* ZitongZhou made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2147
* jongwonKim-1997 made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2177
* corwinjoy made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2200
* varunagrawal made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2230
* st-- made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2240
* IdanAchituve made their first contribution in https://github.com/cornellius-gp/gpytorch/pull/2224
**Full Changelog**: https://github.com/cornellius-gp/gpytorch/compare/v1.9.0...v1.9.1