This is a fix release for the 3.0.x feature release branch. It fixes bugs but does not otherwise change behavior and should not result in breaking changes.
This is a fix release for the 3.0.x feature release branch.
Fixes an issue where using other JSON providers, such as flask-orjson, previously caused loaded session data to have an incorrect format in some cases.
Correct type for jinja_loader property. :issue:5388
Fix error with --extra-files and --exclude-patterns CLI options.
:issue:5391
Version 3.0.1
Released 2024-01-18
Correct type for path argument to send_file. :issue:5230
Fix a typo in an error message for the flask run --key option. :pr:5344
Session data is untagged without relying on the built-in json.loadsobject_hook. This allows other JSON providers that don't implement that.
:issue:5381
Address more type findings when using mypy strict mode. :pr:5383
SciPy 1.12.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd and check for DeprecationWarning s).
Our development attention will now shift to bug-fix releases on the
1.12.x branch, and on adding new features on the main branch.
This release requires Python 3.9+ and NumPy 1.22.4 or greater.
For running on PyPy, PyPy3 6.0+ is required.
Highlights of this release
Experimental support for the array API standard has been added to part of
scipy.special, and to all of scipy.fft and scipy.cluster. There are
likely to be bugs and early feedback for usage with CuPy arrays, PyTorch
tensors, and other array API compatible libraries is appreciated. Use the
SCIPY_ARRAY_API environment variable for testing.
A new class, ShortTimeFFT, provides a more versatile implementation of the
short-time Fourier transform (STFT), its inverse (ISTFT) as well as the (cross-)
spectrogram. It utilizes an improved algorithm for calculating the ISTFT.
Several new constructors have been added for sparse arrays, and many operations
now additionally support sparse arrays, further facilitating the migration
from sparse matrices.
A large portion of the scipy.stats API now has improved support for handling
NaN values, masked arrays, and more fine-grained shape-handling. The
accuracy and performance of a number of stats methods have been improved,
and a number of new statistical tests and distributions have been added.
New features
scipy.cluster improvements
Experimental support added for the array API standard; PyTorch tensors,
CuPy arrays and array API compatible array libraries are now accepted
(GPU support is limited to functions with pure Python implementations).
CPU arrays which can be converted to and from NumPy are supported
module-wide and returned arrays will match the input type.
This behaviour is enabled by setting the SCIPY_ARRAY_API environment
variable before importing scipy. This experimental support is still
under development and likely to contain bugs - testing is very welcome.
Add support for integer, floating point, boolean NumPy scalar types__
(:ticket:[#332](https://github.com/psycopg/psycopg/issues/332)).
Add !timeout and !stop_after parameters to Connection.notifies()
(:ticket:340).
Add :ref:raw-query-cursors to execute queries using placeholders in
PostgreSQL format ($1, $2...) (:ticket:[#560](https://github.com/psycopg/psycopg/issues/560)).
Add ~rows.scalar_row to return scalar values from a query (:ticket:[#723](https://github.com/psycopg/psycopg/issues/723)).
Add ~Connection.set_autocommit() on sync connections, and similar
transaction control methods available on the async connections.
Add support for libpq functions to close prepared statements and portals
introduced in libpq v17 (:ticket:[#603](https://github.com/psycopg/psycopg/issues/603)).
The !context parameter of sql objects ~sql.Composable.as_string() and
~sql.Composable.as_bytes() methods is now optional (:ticket:[#716](https://github.com/psycopg/psycopg/issues/716)).
Disable receiving more than one result on the same cursor in pipeline mode,
to iterate through ~Cursor.nextset(). The behaviour was different than
in non-pipeline mode and not totally reliable (:ticket:[#604](https://github.com/psycopg/psycopg/issues/604)).
The Cursor now only preserves the results set of the last
~Cursor.execute(), consistently with non-pipeline mode.
This release is not a usual bug fix release -- it contains features and improvements, being a follow up
to 8.1.0, which has been yanked from PyPI.
:::
Features
#11475: Added the new consider_namespace_packages{.interpreted-text role="confval"} configuration option, defaulting to False.
If set to True, pytest will attempt to identify modules that are part of namespace packages when importing modules.
#11653: Added the new verbosity_test_cases{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity.
See Fine-grained verbosity <pytest.fine_grained_verbosity>{.interpreted-text role="ref"} for more details.
Improvements
#10865: pytest.warns{.interpreted-text role="func"} now validates that warnings.warn{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}.
Currently in Python it is possible to use other types, however this causes an exception when warnings.filterwarnings{.interpreted-text role="func"} is used to filter those warnings (see [CPython #103577](python/cpython#103577) for a discussion).
While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.
#11311: When using --override-ini for paths in invocations without a configuration file defined, the current working directory is used
as the relative directory.
Previoulsy this would raise an AssertionError{.interpreted-text role="class"}.
#11475: --import-mode=importlib <import-mode-importlib>{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.
This means that installed packages will be imported under their canonical name if possible first, for example app.core.models, instead of having the module name always be derived from their path (for example .env310.lib.site_packages.app.core.models).
#11801: Added the iter_parents() <_pytest.nodes.Node.iter_parents>{.interpreted-text role="func"} helper method on nodes.
It is similar to listchain <_pytest.nodes.Node.listchain>{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.
#11850: Added support for sys.last_exc{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.
#11962: In case no other suitable candidates for configuration file are found, a pyproject.toml (even without a [tool.pytest.ini_options] table) will be considered as the configuration file and define the rootdir.
#11978: Add --log-file-mode option to the logging plugin, enabling appending to log-files. This option accepts either "w" or "a" and defaults to "w".
Previously, the mode was hard-coded to be "w" which truncates the file before logging.
We’ve just uploaded mypy 1.9 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Breaking Changes
Because the version of typeshed we use in mypy 1.9 doesn't support 3.7, neither does mypy 1.9. (Jared Hance, PR 16883)
We are planning to enable
local partial types (enabled via the
--local-partial-types flag) later this year by default. This change
was announced years ago, but now it's finally happening. This is a
major backward-incompatible change, so we'll probably include it as
part of the upcoming mypy 2.0 release. This makes daemon and
non-daemon mypy runs have the same behavior by default.
Local partial types can also be enabled in the mypy config file:
local_partial_types = True
We are looking at providing a tool to make it easier to migrate
projects to use --local-partial-types, but it's not yet clear whether
this is practical. The migration usually involves adding some
explicit type annotations to module-level and class-level variables.
Basic Support for Type Parameter Defaults (PEP 696)
This release contains new experimental support for type parameter
defaults (PEP 696). Please try it
out! This feature was contributed by Marc Mueller.
Since this feature will be officially introduced in the next Python
feature release (3.13), you will need to import TypeVar, ParamSpec
or TypeVarTuple from typing_extensions to use defaults for now.
This example adapted from the PEP defines a default for BotT:
from typing import Generic
from typing_extensions import TypeVar
This release is a milestone: it fixes Black's first CVE security vulnerability. If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade immediately to fix
CVE-2024-21503.
This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.
Stable style
Don't move comments along with delimiters, which could cause crashes (#4248)
Strengthen AST safety check to catch more unsafe changes to strings. Previous versions
of Black would incorrectly format the contents of certain unusual f-strings containing
nested strings with the same quote type. Now, Black will crash on such strings until
support for the new f-string syntax is implemented. (#4270)
Fix a bug where line-ranges exceeding the last code line would not work as expected
(#4273)
Performance
Fix catastrophic performance on docstrings that contain large numbers of leading tab
characters. This fixes
CVE-2024-21503.
(#4278)
Documentation
Note what happens when --check is used with --quiet (#4236)
24.2.0
Stable style
Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)
Preview style
Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).
This release is a milestone: it fixes Black's first CVE security vulnerability. If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade immediately to fix
CVE-2024-21503.
This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.
Stable style
Don't move comments along with delimiters, which could cause crashes (#4248)
Strengthen AST safety check to catch more unsafe changes to strings. Previous versions
of Black would incorrectly format the contents of certain unusual f-strings containing
nested strings with the same quote type. Now, Black will crash on such strings until
support for the new f-string syntax is implemented. (#4270)
Fix a bug where line-ranges exceeding the last code line would not work as expected
(#4273)
Performance
Fix catastrophic performance on docstrings that contain large numbers of leading tab
characters. This fixes
CVE-2024-21503.
(#4278)
Documentation
Note what happens when --check is used with --quiet (#4236)
24.2.0
Stable style
Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)
Preview style
Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).
Bumps the pip-dependencies group with 13 updates:
3.0.0
3.0.2
2023.12.0
2024.3.0
1.11.4
1.12.0
2.16.1
2.17.1
3.1.17
3.1.18
14.0.2
15.0.2
7.4.4
8.1.1
1.8.0
1.9.0
23.12.1
24.3.0
7.4.0
7.4.4
1.0.0
1.0.1
2.1.4.231227
2.2.1.240316
4.2.13
5.0.4
Updates
flask
from 3.0.0 to 3.0.2Release notes
Sourced from flask's releases.
Changelog
Sourced from flask's changelog.
Commits
d203059
release version 3.0.2d7209a9
fix super call in list comprehension (#5393)1af8f95
fix super call in list comprehension3435d2f
Fix jinja_loader typehint (#5389)ecc057d
fix jinja_loader annotation3207af8
start version 3.0.2233be7a
release version 3.0.1 (#5386)f622b1c
release version 3.0.15fcc999
fix create release actionda3a0dd
fix slsa generator versionUpdates
xarray
from 2023.12.0 to 2024.3.0Release notes
Sourced from xarray's releases.
... (truncated)
Commits
b802607
2024.03.0: Add whats-new (#8891)47ff159
Add typing to test_groupby.py (#8890)afce18f
Avoid in-place multiplication of a large value to an array with small integer...ffb30a8
Check for aligned chunks when writing to existing variables (#8459)852b7e6
Add dt.date to plottable types (#8873)5bf2cf4
Optimize writes to existing Zarr stores. (#8875)2120808
Allow multidimensional variable with same name as dim when constructing datas...cf36559
Don't allow overwriting indexes with region writes (#8877)473b87f
Migrate datatree.py module into xarray.core. (#8789)55173e8
warn and return bytes undecoded in case of UnicodeDecodeError in h5netcdf-bac...Updates
scipy
from 1.11.4 to 1.12.0Release notes
Sourced from scipy's releases.
... (truncated)
Commits
4edfcaa
REL: SciPy 1.12.0 release commit [wheel build]e3cff26
Merge pull request #19922 from tylerjereddy/treddy_1_12_0_final_prepbf02582
DOC: PR 19922 revisions [wheel build]41ed3d6
Revert "ENH: stats.wasserstein_distance: multivariate Wasserstein distance/EM...db2cb8c
DOC: update 1.12.0 relnotesc76bedf
BLD: ensure the name of the installedscipy
package is lower-caseaedbb2b
DEP: reflect extended deprecations also in release notes (#19903)0b4c8dc
DEP: extend some announced deprecations due to out-of-band 1.13 release (#19892)82dddc5
DOC: 1.12 release notes tweaks (#19877)e22a5ff
REL: 1.12.0 final unreleasedUpdates
zarr
from 2.16.1 to 2.17.1Release notes
Sourced from zarr's releases.
... (truncated)
Changelog
Sourced from zarr's changelog.
... (truncated)
Commits
a1fbedb
Update release.rst for v2.17.1 (#1673)240bb82
Fix RTD build (#1694)237f934
Bump pytest-doctestplus from 1.1.0 to 1.2.0 (#1693)9c2a412
Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#1691)67d5d82
Bump redis from 5.0.1 to 5.0.2 (#1688)99e03c6
Replace Gitter with new Zulip Chat link (#1685)a0e5559
Type dimension separator (#1620)ec4d216
Update config.yml with Zulip70a15bb
Bump conda-incubator/setup-miniconda from 3.0.1 to 3.0.2 (#1677)54bc90c
Bump pymongo from 4.6.1 to 4.6.2 (#1674)Updates
psycopg
from 3.1.17 to 3.1.18Changelog
Sourced from psycopg's changelog.
... (truncated)
Commits
8585a23
chore: bump psycopg package version to 3.1.18ab646b7
fix(c): drop spurious loop break in pipeline_communicatebebfe97
chore: bump cibuildwheel version89394a6
chore: bump checkout action to v4ed579e5
docs: fix tickets formatd4a4e8e
Merge branch 'musl-ctypes' into maint-3.18bc51e6
docs: mention musl-ctypes workaround in news fileafb040a
fix: addlibc.so
fallback for musl systems to the ctypes impl06ef0d9
test: drop ineffective marker on fixtureb955118
Merge branch 'fix-interval-overflow' into maint-3.1Updates
pyarrow
from 14.0.2 to 15.0.2Commits
e03105e
MINOR: [Release] Update versions for 15.0.2af83909
MINOR: [Release] Update .deb/.rpm changelogs for 15.0.2e81ddfe
MINOR: [Release] Update CHANGELOG.md for 15.0.2481fab1
GH-40252: [C++] Make span SFINAE standards-conforming to enable compilation w...cb35c53
GH-40248: [R] fallback to the correct libtool when we find a GNU one (#40259)6921d54
GH-39582: [C++][Acero] Increase size of Acero TempStack (#40007)0969975
GH-40068: [C++] Possible data race when reading metadata of a parquet file (...5cd4f07
GH-40485: [Python][CI] Skip failing test_dateutil_tzinfo_to_string (#40486)1c352a8
GH-39943: [CI][Python] Update manylinux images to avoid GPG problems download...a6cabb2
GH-40386: [Python] Fix except clauses (#40387)Updates
pytest
from 7.4.4 to 8.1.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
81653ee
Adjust changelog manually for 8.1.1e60b4b9
Prepare release version 8.1.115fbe57
[8.1.x] Revert legacy path removals (#12093)86c3aab
[8.1.x] Do not import duplicated modules with --importmode=importlib (#12077)5b82b0c
[8.1.x] Yank version 8.1.0 (#12076)0a53681
Merge pull request #12054 from pytest-dev/release-8.1.0b9a167f
Prepare release version 8.1.000043f7
Merge pull request #12038 from bluetech/fixtures-rm-arg2indexf4e1025
Merge pull request #12048 from bluetech/fixture-teardown-excgroup43492f5
Merge pull request #12051 from jakkdl/test_debugging_pythonbreakpointUpdates
mypy
from 1.8.0 to 1.9.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
5ff46f8
Remove +dev.155909a
[Release 1.9] Unsupport targetting 3.7. (#16883) (#16900)6615cab
[Release 1.9] Stubtest: ignore a new protocol dunder (#16895) (#16899)b956e6a
stubtest: Private parameters can be omitted (#16507)ede0b20
Bump ruff to 0.2.0 (#16870)7bdd61f
stubgen: Fix crash on star unpack of TypeVarTuple (#16869)8c2ef9d
Update hashes in sync-typeshed.py following recent typeshed sync0dd4b6f
Revert use ofParamSpec
forfunctools.wraps
dd12a2d
Revert typeshed ctypes changed132999
Revert sum literal integer change (#13961)Updates
black
from 23.12.1 to 24.3.0Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.
... (truncated)
Commits
552baf8
Prepare release 24.3.0 (#4279)f000936
Fix catastrophic performance in lines_with_leading_tabs_expanded() (#4278)7b5a657
Fix --line-ranges behavior when ranges are at EOF (#4273)1abcffc
Use regex where we ignore case on windows (@dependabot rebase
Looks like these dependencies are updatable in another way, so this is no longer needed.