Skip to content

Commit b53fec8

Browse files
authored
Merge pull request #715 from mrava87/v2.6.0
Prepare for v2.6.0
2 parents 2244c44 + 4b26b53 commit b53fec8

2 files changed

Lines changed: 83 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,40 @@
11
Changelog
22
=========
33

4+
# 2.6.0
5+
* Added `pylops.medical` module and `pylops.medical.CT2D` operator
6+
* Added `pylops.utils.signalprocessing.pwd_slope_estimate` and
7+
`pylops.signalprocessing.PWSprayer2D` and `pylops.signalprocessing.PWSmoother2D`
8+
operators
9+
* Added support for multithreading to `pylops.basicoperators.Block`,
10+
`pylops.basicoperators.BlockDiag`, `pylops.basicoperators.HStack`, and
11+
`pylops.basicoperators.VStack` (and ``parallel_kind`` parameter)
12+
* Added `kwargs_fft` to `pylops.waveeqprocessing.BlendingContinuous`,
13+
`pylops.waveeqprocessing.BlendingGroup`, and
14+
`pylops.waveeqprocessing.BlendingHalf`
15+
* Added ``nttot`` to `pylops.waveeqprocessing.BlendingContinuous`
16+
* Added ``fftengine`` to `pylops.waveeqprocessing.PhaseShift`
17+
* Added ``mkl_fft`` engine to `pylops.signalprocessing.FFT`,
18+
`pylops.signalprocessing.FFT2D`, and `pylops.signalprocessing.FFTND`
19+
* Added JAX backend to `pylops.signalprocessing.ChirpRadon2D` and
20+
`pylops.signalprocessing.ChirpRadon3D` operators.
21+
* Added `pylops.optimization.callback.CostNanInfCallback`,
22+
`pylops.optimization.callback.CostToDataCallback`, and
23+
`pylops.optimization.callback.CostToInitialCallback` callbacks, and
24+
and ``rtol`` and ``rtol1`` parameters in all solvers
25+
* Optimized internal handling of `pylops.basicoperators.Zero` operators in
26+
`pylops.basicoperators.BlockDiag`, `pylops.basicoperators.HStack`, and
27+
`pylops.basicoperators.VStack`
28+
* Homogenize error/warning/info messages across the library by switching to
29+
``logging/warning``
30+
* Fixed initialization of ``r`` and ``rw`` in `pylops.optimization.cls_sparsity.IRLS`
31+
* Fixed `pylops.optimization.cls_sparsity._halfthreshold` for complex valued CuPy arrays
32+
* Fixed initialization of ``decay`` in sparse solvers to correctly solve complex-valued
33+
problems
34+
* Fixed bug when calling ``__pow__`` of a linear operator with CuPy arrays
35+
* Fixed dtype handling in `pylops.optimization.cls_sparsity.ISTA` and
36+
`pylops.optimization.cls_sparsity.FISTA`
37+
438
# 2.5.0
539
* Added `cuda` engine to `pylops.waveeqprocessing.Kirchhoff`
640
operator
@@ -12,19 +46,19 @@ Changelog
1246
* Added `kwargs_fft` to `pylops.signalprocessing.FFT`,
1347
`pylops.signalprocessing.FFT2D`, and
1448
`pylops.signalprocessing.FFTND`
15-
* Fix bug in `pylops.waveeqprocessing.MDD` when using
49+
* Fixed bug in `pylops.waveeqprocessing.MDD` when using
1650
CuPy arrays for `G` and `d` with `twosided=True` and `add_negative=True`
17-
* Fix bug in `pylops.signalprocessing.FourierRadon3D`
51+
* Fixed bug in `pylops.signalprocessing.FourierRadon3D`
1852
in the default choice of `num_threads_per_blocks`
19-
* Fix bug in `pylops.signalprocessing.Convolve1D`
53+
* Fixed bug in `pylops.signalprocessing.Convolve1D`
2054
in the definition of `pad` and `padd` when applying the
2155
operator to a CuPy array
22-
* Fix bug in `pylops.optimization.cls_sparsity.OMP` avoiding
56+
* Fixed bug in `pylops.optimization.cls_sparsity.OMP` avoiding
2357
passing `explicit` in the creation of `_ColumnLinearOperator`
24-
* Fix bug in `pylops.optimization.cls_sparsity.OMP` callback
58+
* Fixed bug in `pylops.optimization.cls_sparsity.OMP` callback
2559
method as `cols` was not passed not allowing ``x`` to be
2660
properly reconstructed
27-
* Fix bug in `pylops.waveeqprocessing.SeismicInterpolation`
61+
* Fixed bug in `pylops.waveeqprocessing.SeismicInterpolation`
2862
in calculation of `sampling` when not passed
2963

3064
# 2.4.0
@@ -33,7 +67,7 @@ Changelog
3367
* Added `pylops.PyTensorOperator` operator
3468
* Added `pylops.ToCupy` operator
3569
* Added `pylops.utils.seismicevents.parabolic3d` method
36-
* Fix bug in `pylops.Restriction` when passing iava as cupy array
70+
* Fixed bug in `pylops.Restriction` when passing iava as cupy array
3771

3872
# 2.3.1
3973
* Fixed bug in `pylops.utils.backend` (see [Issue #606](https://github.com/PyLops/pylops/issues/606))
@@ -336,7 +370,7 @@ To aid users in navigating the breaking changes, we provide the following docume
336370
* Added ``pylops.LinearOperator.asoperator`` method to
337371
``pylops.LinearOperator``
338372
* Added ``pylops.utils.signalprocessing.slope_estimate`` function
339-
* Fix bug in ``pylops.signalprocessing.Radon2D`` and
373+
* Fixed bug in ``pylops.signalprocessing.Radon2D`` and
340374
``pylops.signalprocessing.Radon3D`` when ``onthefly=True`` returning the
341375
same result as when ``onthefly=False``
342376

@@ -348,7 +382,7 @@ To aid users in navigating the breaking changes, we provide the following docume
348382
* Added ``pylops.waveeqprocessing.PressureToVelocity``,
349383
``pylops.waveeqprocessing.UpDownComposition3Doperator``, and
350384
``pylops.waveeqprocessing.PhaseShift`` operators
351-
* Fix bug in ``pylops.basicoperators.Kronecker``
385+
* Fixed bug in ``pylops.basicoperators.Kronecker``
352386
(see [Issue #125](https://github.com/PyLops/pylops/issues/125))
353387

354388
# 1.7.0

docs/source/changelog.rst

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,46 @@
33
Changelog
44
=========
55

6+
7+
Version 2.6.0
8+
-------------
9+
10+
*Released on: 24/11/2025*
11+
12+
* Added :py:mod:`pylops.medical` module and :py:class:`pylops.medical.CT2D` operator
13+
* Added :py:func:`pylops.utils.signalprocessing.pwd_slope_estimate` and
14+
:py:class:`pylops.signalprocessing.PWSprayer2D` and
15+
:py:class:`pylops.signalprocessing.PWSmoother2D` operators
16+
* Added support for multithreading to :py:class:`pylops.Block`,
17+
:py:class:`pylops.BlockDiag`, :py:class:`pylops.HStack`,
18+
and :py:class:`pylops.VStack` (and `parallel_kind` parameter)
19+
* Added ``kwargs_fft`` to :py:class:`pylops.waveeqprocessing.BlendingContinuous`,
20+
:py:class:`pylops.waveeqprocessing.BlendingGroup`, and
21+
:py:class:`pylops.waveeqprocessing.BlendingHalf`
22+
* Added ``nttot`` to :py:class:`pylops.waveeqprocessing.BlendingContinuous`
23+
* Added ``fftengine`` to :py:class:`pylops.waveeqprocessing.PhaseShift`
24+
* Added ``mkl_fft`` engine to :py:class:`pylops.signalprocessing.FFT`,
25+
:py:class:`pylops.signalprocessing.FFT2D`, and :py:class:`pylops.signalprocessing.FFTND`
26+
* Added JAX backend to :py:class:`pylops.signalprocessing.ChirpRadon2D` and
27+
:py:class:`pylops.signalprocessing.ChirpRadon3D` operators.
28+
* Added :py:class:`pylops.optimization.callback.CostNanInfCallback`,
29+
:py:class:`pylops.optimization.callback.CostToDataCallback`, and
30+
:py:class:`pylops.optimization.callback.CostToInitialCallback` callbacks, and
31+
and ``rtol`` and ``rtol1`` parameters in all solvers
32+
* Optimized internal handling of :py:class:`pylops.Zero` operators in
33+
:py:class:`pylops.BlockDiag`, :py:class:`pylops.HStack`, and
34+
:py:class:`pylops.VStack`
35+
* Homogenize error/warning/info messages across the library by switching to
36+
``logging/warning``
37+
* Fixed initialization of ``r`` and ``rw`` in :py:class:`pylops.optimization.cls_sparsity.IRLS`
38+
* Fixed :py:func:`pylops.optimization.cls_sparsity._halfthreshold` for complex valued CuPy arrays
39+
* Fixed initialization of ``decay`` in sparse solvers to correctly solve complex-valued
40+
problems
41+
* Fixed bug when calling ``__pow__`` of a linear operator with CuPy arrays
42+
* Fixed dtype handling in :py:class:`pylops.optimization.cls_sparsity.ISTA` and
43+
:py:class:`pylops.optimization.cls_sparsity.FISTA`
44+
45+
646
Version 2.5.0
747
-------------
848

0 commit comments

Comments
 (0)