diff --git a/doc/release/1.10.0-notes.rst b/doc/release/1.10.0-notes.rst new file mode 100644 index 00000000..11eea5f3 --- /dev/null +++ b/doc/release/1.10.0-notes.rst @@ -0,0 +1,82 @@ +=============================== +PyWavelets 1.10.0 Release Notes +=============================== + +We are very pleased to announce the release of PyWavelets 1.10.0. This release +adds unconditional support for complex-valued input and improves the performance +of ``pywt.cwt`` for real-valued input by using real-valued FFTs. + +This release also fixes handling of read-only input arrays, zero-width padding, +and reconstruction of wavelet packets with non-power-of-two sizes. Support for +Python 3.15 is added, support for Python 3.11 is dropped, and the minimum +supported NumPy version is now 1.26.4. + + +Authors +======= + +* Aman Atman + +* ChS-YHWH + +* Green Committer + +* Achraf Ez + +* Clément Fauchereau + +* Bing Gao + +* Ralf Gommers +* Veit Heller + +* Filip Jankovic + +* Julian Hoßbach + +* Vineet Kumar + +* Kevin Lee + +* Dang Thoai Phan + + +A total of 13 people contributed to this release. +People with a "+" by their names contributed a patch for the first time. +This list of names is automatically generated, and may not be fully complete. + + +Issues closed for v1.10.0 +------------------------- + +* `#589 `__: Padding error when padding width is 0 for antisymmetric and smooth +* `#776 `__: cwt always fails with the message AttributeError: 'pywt._extensions._pywt.Wavelet' object has no attribute 'complex_cwt' +* `#801 `__: Scaling mismatch between PyWavelets CWT and my implementation +* `#838 `__: swt documentation mistake +* `#839 `__: DWT of read-only numpy arrays fails +* `#856 `__: WaveletPacketND.reconstruct() raises IndexError for non-power-of-two... + + +Pull requests for v1.10.0 +------------------------- + +* `#790 `__: ENH: enable complex dtype support unconditionally +* `#816 `__: DOC: add note at top of \`cwt\` docs referring to \`ssqueezepy\` +* `#818 `__: MAINT: a tiny edit rewording a single code code comment +* `#819 `__: CI: Add support for building pywt wheels for windows arm64 +* `#821 `__: Bump the github-actions group with 3 updates +* `#824 `__: Bump the github-actions group with 3 updates +* `#825 `__: MAINT: drop Python 3.11, NumPy 1.25 and Cython 3.0.x support +* `#826 `__: TST: fix CI failures in Matlab test generation files +* `#827 `__: CI: use macos-15-intel image for macOS x86-64 wheel builds +* `#829 `__: Bump the github-actions group with 4 updates +* `#830 `__: MAINT: move away from numpy.fix in favor of numpy.trunc +* `#833 `__: TST: remove usages of deprecated \`numpy.testing.assert_warns\` +* `#835 `__: DEV/MAINT: fix benchmarks for latest \`asv\`, and add a \`spin... +* `#836 `__: CI/MAINT: add a CI job with ASan and UBSan on macOS, fix one... +* `#840 `__: fix: Read-only arrays in dwt (Issue #839) +* `#842 `__: DOC: clarify CWT normalization details around sampling_period... +* `#845 `__: Build(deps): Bump the github-actions group with 3 updates +* `#849 `__: BUG: raise a clear error when cwt() is given a discrete wavelet... +* `#851 `__: DOC: update terminology from 'multiple-overlap' to 'maximal-overlap' +* `#854 `__: BUG: fix pywt.pad for a zero pad width in 'smooth' and 'antisymmetric'... +* `#855 `__: MAINT: fix pytest deprecation warning +* `#857 `__: BUG: fix indexing in WaveletPacketND.reconstruct for data_size +* `#858 `__: CI: drop all 3.13t free-threading jobs +* `#859 `__: MAINT: fix two more issues with padding length 0 and size-0 axis... +* `#860 `__: BUG: fix indexing in \`reconstruct\` method of 1-D/2-D wavelet... +* `#861 `__: CI: revert change to cibuildwheel version for Emscripten job +* `#862 `__: CI: run the ASan/UBSan job in a container instead of on macOS +* `#863 `__: DOC: fix the swt/swt2 \`start_level\` coefficient ranges +* `#864 `__: ENH: use real FFTs for real-valued CWT convolution +* `#869 `__: CI: update nightly wheel build cron job from 2x to 3x per month +* `#870 `__: BLD: define _USE_MATH_DEFINES in c_args +* `#872 `__: CI/BLD: add Python 3.15 support diff --git a/doc/source/release.1.10.0.rst b/doc/source/release.1.10.0.rst new file mode 100644 index 00000000..fa15e31e --- /dev/null +++ b/doc/source/release.1.10.0.rst @@ -0,0 +1 @@ +.. include:: ../release/1.10.0-notes.rst diff --git a/doc/source/releasenotes.rst b/doc/source/releasenotes.rst index 60687d69..1cec55da 100644 --- a/doc/source/releasenotes.rst +++ b/doc/source/releasenotes.rst @@ -4,6 +4,7 @@ Release Notes .. toctree:: :maxdepth: 1 + release.1.10.0 release.1.9.0 release.1.8.0 release.1.7.0 diff --git a/meson.build b/meson.build index 4bbfdafe..b6dea44d 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ project( 'PyWavelets', 'c', 'cython', - version: '1.10.0.dev0', + version: '1.11.0.dev0', license: 'MIT', meson_version: '>= 1.1.0', default_options: [ diff --git a/pyproject.toml b/pyproject.toml index 8ba58ded..9642b1fe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ requires = [ [project] name = "PyWavelets" -version = "1.10.0.dev0" +version = "1.11.0.dev0" license = "MIT and BSD-3-Clause" license-files = [ "LICENSE",