[orm] [usecase] Implemented the _orm.Session.bulk_insert_mappings.render_nulls
parameter for new style bulk ORM inserts, allowing render_nulls=True as
an execution option. This allows for bulk ORM inserts with a mixture of
None values in the parameter dictionaries to use a single batch of rows
for a given set of dicationary keys, rather than breaking up into batches
that omit the NULL columns from each INSERT.
[orm] [bug] Fixed issue where the __allow_unmapped__ directive failed to allow for
legacy Column / deferred() mappings that nonetheless had
annotations such as Any or a specific type without Mapped[] as
their type, without errors related to locating the attribute name.
[orm] [bug] Fixed caching bug where using the _orm.with_expression() construct in
conjunction with loader options _orm.selectinload(),
_orm.lazyload() would fail to substitute bound parameter values
correctly on subsequent caching runs.
[orm] [bug] Fixed bug in ORM annotated declarative where using a ClassVar that
nonetheless referred in some way to an ORM mapped class name would fail to
be interpreted as a ClassVar that's not mapped.
[sql] [usecase] Implemented "literal value processing" for the Interval datatype
for both the PostgreSQL and Oracle dialects, allowing literal rendering of
interval values. Pull request courtesy Indivar Mishra.
[sql] [bug] Fixed issue where using the same bound parameter more than once with
literal_execute=True in some combinations with other literal rendering
parameters would cause the wrong values to render due to an iteration
issue.
Fix a potential crash on Python 3.8 at interpreter shutdown time.
This was a regression from earlier 3.0.x releases. Reported by Matt
Wozniski in issue 376 <https://github.com/python-greenlet/greenlet/issues/376>_.
3.0.0 (2023-10-02)
No changes from 3.0rc3 aside from the version number.
We’ve just uploaded mypy 1.6 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.
Introduce Error Subcodes for Import Errors
Mypy now uses the error code import-untyped if an import targets an installed library that doesn’t support static type checking, and no stub files are available. Other invalid imports produce the import-not-found error code. They both are subcodes of the import error code, which was previously used for both kinds of import-related errors.
Use --disable-error-code=import-untyped to only ignore import errors about installed libraries without stubs. This way mypy will still report errors about typos in import statements, for example.
If you use --warn-unused-ignore or --strict, mypy will complain if you use # type: ignore[import] to ignore an import error. You are expected to use one of the more specific error codes instead. Otherwise, ignoring the import error code continues to silence both errors.
This feature was contributed by Shantanu (PR 15840, PR 14740).
Remove Support for Targeting Python 3.6 and Earlier
Running mypy with --python-version 3.6, for example, is no longer supported. Python 3.6 hasn’t been properly supported by mypy for some time now, and this makes it explicit. This was contributed by Nikita Sobolev (PR 15668).
Selective Filtering of --disallow-untyped-calls Targets
Using --disallow-untyped-calls could be annoying when using libraries with missing type information, as mypy would generate many errors about code that uses the library. Now you can use --untyped-calls-exclude=acme, for example, to disable these errors about calls targeting functions defined in the acme package. Refer to the documentation for more information.
This feature was contributed by Ivan Levkivskyi (PR 15845).
Improved Type Inference between Callable Types
Mypy now does a better job inferring type variables inside arguments of callable types. For example, this code fragment now type checks correctly:
* Document calendar-based versioning scheme (:issue:`716`)
* Enforce that the entire marker string is parsed (:issue:`687`)
* Requirement parsing no longer automatically validates the URL (:issue:`120`)
* Canonicalize names for requirements comparison (:issue:`644`)
* Introduce ``metadata.Metadata`` (along with ``metadata.ExceptionGroup`` and ``metadata.InvalidMetadata``; :issue:`570`)
* Introduce the ``validate`` keyword parameter to ``utils.normalize_name()`` (:issue:`570`)
* Introduce ``utils.is_normalized_name()`` (:issue:`570`)
* Make ``utils.parse_sdist_filename()`` and ``utils.parse_wheel_filename()``
raise ``InvalidSdistFilename`` and ``InvalidWheelFilename``, respectively,
when the version component of the name is invalid
What's new in psycopg 2.9.9
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Add support for Python 3.12.
Drop support for Python 3.6.
What's new in psycopg 2.9.8
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Wheel package bundled with PostgreSQL 16 libpq in order to add support for
recent features, such as sslcertmode.
What's new in psycopg 2.9.7
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fix propagation of exceptions raised during module initialization
(:ticket:[#1598](https://github.com/psycopg/psycopg2/issues/1598)).
Fix building when pg_config returns an empty string (:ticket:[#1599](https://github.com/psycopg/psycopg2/issues/1599)).
Wheel package bundled with OpenSSL 1.1.1v.
What's new in psycopg 2.9.6
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Package manylinux 2014 for aarch64 and ppc64le platforms, in order to
include libpq 15 in the binary package (:ticket:[#1396](https://github.com/psycopg/psycopg2/issues/1396)).
Wheel package bundled with OpenSSL 1.1.1t.
What's new in psycopg 2.9.5
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Add support for Python 3.11.
Add support for rowcount in MERGE statements in binary packages
(:ticket:[#1497](https://github.com/psycopg/psycopg2/issues/1497)).
Wheel package bundled with OpenSSL 1.1.1r and PostgreSQL 15 libpq.
What's new in psycopg 2.9.4
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fix ~psycopg2.extras.register_composite(),
~psycopg2.extras.register_range() with customized :sql:search_path
(:ticket:[#1487](https://github.com/psycopg/psycopg2/issues/1487)).
Handle correctly composite types with names or in schemas requiring escape.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 9 updates:
2.0.20
2.0.23
3.0.0rc3
3.0.1
0.28.0
0.29.0
23.9.1
23.10.1
1.5.1
1.6.1
23.1
23.2
1.30.1
1.30.3
2.9.7
2.9.9
7.4.2
7.4.3
Updates
sqlalchemy
from 2.0.20 to 2.0.23Release notes
Sourced from sqlalchemy's releases.
... (truncated)
Commits
Updates
greenlet
from 3.0.0rc3 to 3.0.1Changelog
Sourced from greenlet's changelog.
Commits
77a9a29
Preparing release 3.0.111b1b75
CI: Use 3.12 final instead of -dev.76b4ac0
Wheels: We're forcing the platform tag for universal2, not the api tag (which...4751fbe
Fix #376309575a
Centralize use of psutil.Process.uss; deal gracefully when it is not available.313d06b
Remove test status badge from README. It was confusing.660a66f
Back to development: 3.0.1ef510e4
Preparing release 3.0.08b24b4d
Updating change log.79f6351
Back to development: 3.0.0rc4Updates
asyncpg
from 0.28.0 to 0.29.0Release notes
Sourced from asyncpg's releases.
... (truncated)
Commits
74f3a00
asyncpg v0.29.0d7faaff
fix: allow host tuple (#1021)b2697ff
Add query logging callbacks and context manager (#1043)93a6f79
Cut BaseProtocol circular reference on close. (#1049)ca9f03b
Close cursor portals once the iterator is exhausted (#1088)b7ffab6
Add support for theWHERE
clause incopy_to
methods (#941)70c8bd8
Use cleanup_ctx in pool usage doc (#878)ccc7baf
Small fix for documentation on using SSL in Connection (#995)313b2b2
Use thetimeout
context manager in the connection path (#1087)8b45beb
Update automatic PostGIS type conversion for Shapely 2.0 (#1085)Updates
black
from 23.9.1 to 23.10.1Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.
... (truncated)
Commits
744d23b
Prepare release 23.10.1 (#3969)8de4be5
Fix CI failing (#3957)c0adca3
docs: specifies the use of the .git-blame-ignore-revs file (#3961)a7643fa
Add summary parameter to action (#3958)d291c23
Move Docker image to hatch + compile (#3965)7f1c578
Bump peter-evans/create-or-update-comment from 3.0.2 to 3.1.0 (#3966)2db5ab0
Allow empty line after block open before a comment or compound statement (#3967)0a37888
Fix typos in CHANGES.md (#3963)882d879
Fix merging implicit multiline strings that have inline comments (#3956)9edba85
Prepare release 23.10.0 (#3951)Updates
mypy
from 1.5.1 to 1.6.1Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
9b891fe
Remove +dev from version6b6504e
Fix crash on ParamSpec unification (for real) (#16259)eb81e63
Fix crash on ParamSpec unification (#16251)45f7a12
Add +dev to versionac2d56f
Remove +dev from version5b488ab
Optimize Unpack for failures (#15967)4c963c9
Make PEP 695 constructs give a reasonable error message (#16013)e78df55
Match note error codes to import error codes (#16004)d376633
Fix mypyc regression with pretty (#16124)00cba13
Clear cache when adding --new-type-inference (#16059)Updates
packaging
from 23.1 to 23.2Release notes
Sourced from packaging's releases.
Changelog
Sourced from packaging's changelog.
Commits
b3a5d7d
Bump for released7ce40d
Fix code blocks in CHANGELOG.md (#724)524b701
parse_{sdist,wheel}_filename: don't raise InvalidVersion (#721)b509bef
Typing annotations fixed (#723)0206c39
Bump pip version to avoid known vulnerabilities (#720)7023537
fix: Update copyright date for docs (#713)39786bb
Document use of calendar-based versioning scheme (#717)c1346df
fix: Detect when a platform is 32-bit more accurately (#711)7e68d82
Correct rST syntax in CHANGELOG.rst (#709)61e6efb
Support enriched metadata inpackaging.metadata
(#686)Updates
pg8000
from 1.30.1 to 1.30.3Commits
017959e
Prepare for new released7cc018
Failure when PG dates overflow Python typese5f3cca
More type constants at pg8000.native309bbdd
Add support for lists in literal function753a06f
Dollar-quoting failsc9aba5e
Add example of parameterised JSON queryUpdates
psycopg2
from 2.9.7 to 2.9.9Changelog
Sourced from psycopg2's changelog.
... (truncated)
Commits
ad5bee7
chore: bump version number to 2.9.937d1de1
chore: add support for Python 3.12abf2723
chore: drop support for Python 3.62da65a7
chore: drop leftover Python 2.7 import aliases from setup.py3fa60fd
chore: bump doc requirement complained by dependabot1c1484e
ci: better interaction with scaleway build serverc81cec6
chore: bump to next dev release7fe8cb7
chore: bump docs requirements dependabot complains aboutb39d5d6
chore: bundle libpq 16921510d
docs: replace "compiled against" with "bundled with" in news fileUpdates
pytest
from 7.4.2 to 7.4.3Release notes
Sourced from pytest's releases.
Commits
2390610
Tweak changelog.rsta0714aa
Prepare release version 7.4.344ad1c9
[7.4.x] fix #10447 - consider marks in reverse mro order to give base classes...5dc7725
[7.4.x] Ensure logging tests always cleanup after themselves (#11541)a517827
[7.4.x] Configure ReadTheDocs to fail on warnings (#11540)21fe071
[7.4.x] fix for ValueError raised in faulthandler teardown code (#11455)f8bb857
Force terminal width when running tests (#11425) (#11432)1944dc0
[7.4.x] Fix --import-mode=importlib when root contains__init__.py
file (#1...946634c
Merge pull request #11419 from nicoddemus/backport-11414-to-7.4.xd849a3e
[7.4.x] fix: closes #11343's [attr-defined] type errors (#11421)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show