Sourced from sqlalchemy's releases.
2.0.34
Released: September 4, 2024
orm
[orm] [bug] Fixed regression caused by issue #11814 which broke support for certain flavors of PEP 593
Annotated
in the type_annotation_map when builtin types such aslist
,dict
were used without an element type. While this is an incomplete style of typing, these types nonetheless previously would be located in the type_annotation_map correctly.References: #11831
sqlite
Sourced from pytest-env's releases.
1.1.4
Full Changelog: https://github.com/pytest-dev/pytest-env/compare/1.1.3...1.1.4
4d5015b
Bump tools and dependencies and support 3.13e95bd81
Bump tools and dependencies and support 3.13880f318
[pre-commit.ci] pre-commit autoupdate (#96)da9b992
Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1 (#98)b398758
[pre-commit.ci] pre-commit autoupdate (#95)edf092e
[pre-commit.ci] pre-commit autoupdate (#94)476f5e2
[pre-commit.ci] pre-commit autoupdate (#93)8413e95
[pre-commit.ci] pre-commit autoupdate (#92)7af6ff8
[pre-commit.ci] pre-commit autoupdate (#91)66a96b1
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#90)Sourced from pytest's releases.
8.3.3
pytest 8.3.3 (2024-09-09)
Bug fixes
#12446: Avoid calling
@property
(and other instance descriptors) during fixture discovery -- byasottile
{.interpreted-text role="user"}#12659: Fixed the issue of not displaying assertion failure differences when using the parameter
--import-mode=importlib
in pytest>=8.1.#12667: Fixed a regression where type change in [ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to fail.
#12744: Fixed typing compatibility with Python 3.9 or less -- replaced [typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} -- by
Avasam
{.interpreted-text role="user"}#12745: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
#6682: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in
assert condition, msg
).#9422: Fix bug where disabling the terminal plugin via
-p no:terminal
would cause crashes related to missing theverbose
option.-- by
GTowers1
{.interpreted-text role="user"}Improved documentation
- #12663: Clarify that the [pytest_deselected]{.title-ref} hook should be called from [pytest_collection_modifyitems]{.title-ref} hook implementations when items are deselected.
- #12678: Remove erroneous quotes from [tmp_path_retention_policy]{.title-ref} example in docs.
Miscellaneous internal changes
- #12769: Fix typos discovered by codespell and add codespell to pre-commit hooks.
d0f136f
build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)972f307
Prepare release version 8.3.30dabdcf
Include co-authors in release announcement (#12795)
(#12797)a9910a4
Do not discover properties when iterating fixtures (#12781)
(#12788)0f10b6b
Fix issue with slashes being turned into backslashes on Windows (#12760)
(#12...300d13d
Merge pull request #12785
from pytest-dev/patchback/backports/8.3.x/57cccf7f4...e5d32c7
Merge pull request #12784
from svenevs/fix/docs-example-parametrize-minor-typobc913d1
Streamline checks for verbose option (#12706)
(#12778)01cfcc9
Fix typos and introduce codespell pre-commit hook (#12769)
(#12774)4873394
doc: Remove past training (#12772)
(#12773)Sourced from ruff's releases.
0.6.5
Release Notes
Preview features
- [
pydoclint
] IgnoreDOC201
when function name is "new" (#13300)- [
refurb
] Implementslice-to-remove-prefix-or-suffix
(FURB188
) (#13256)Rule changes
- [
eradicate
] Ignore script-comments with multiple end-tags (ERA001
) (#13283)- [
pyflakes
] Improve error message forUndefinedName
when a builtin was added in a newer version than specified in Ruff config (F821
) (#13293)Server
- Add support for extensionless Python files for server (#13326)
- Fix configuration inheritance for configurations specified in the LSP settings (#13285)
Bug fixes
- [
ruff
] Handle unary operators indecimal-from-float-literal
(RUF032
) (#13275)CLI
- Only include rules with diagnostics in SARIF metadata (#13268)
Playground
- Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" (#13328)
- Fix errors not shown for restored snippet on page load (#13262)
Contributors
@AlexWaygood
@MichaReiser
@RussellLuo
@Slyces
@augustelalande
@calumy
@carljm
@dhruvmanila
@dizzy57
@dylwil3
@renovate
Install ruff 0.6.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.6.5/ruff-installer.sh | sh </tr></table>
... (truncated)
Sourced from ruff's changelog.
0.6.5
Preview features
- [
pydoclint
] IgnoreDOC201
when function name is "new" (#13300)- [
refurb
] Implementslice-to-remove-prefix-or-suffix
(FURB188
) (#13256)Rule changes
- [
eradicate
] Ignore script-comments with multiple end-tags (ERA001
) (#13283)- [
pyflakes
] Improve error message forUndefinedName
when a builtin was added in a newer version than specified in Ruff config (F821
) (#13293)Server
- Add support for extensionless Python files for server (#13326)
- Fix configuration inheritance for configurations specified in the LSP settings (#13285)
Bug fixes
- [
ruff
] Handle unary operators indecimal-from-float-literal
(RUF032
) (#13275)CLI
- Only include rules with diagnostics in SARIF metadata (#13268)
Playground
- Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" (#13328)
- Fix errors not shown for restored snippet on page load (#13262)
0.6.4
Preview features
- [
flake8-builtins
] Use dynamic builtins list based on Python version (#13172)- [
pydoclint
] Permit yieldingNone
inDOC402
andDOC403
(#13148)- [
pylint
] Update diagnostic message forPLW3201
(#13194)- [
ruff
] Implementpost-init-default
(RUF033
) (#13192)- [
ruff
] Implement useless if-else (RUF034
) (#13218)Rule changes
- [
flake8-pyi
] Respectpep8_naming.classmethod-decorators
settings when determining if a method is a classmethod incustom-type-var-return-type
(PYI019
) (#13162)- [
flake8-pyi
] Teach various rules that annotations might be stringized (#12951)- [
pylint
] Avoidno-self-use
forattrs
-style validators (#13166)- [
pylint
] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733
,PLR1736
) (#13186)- [
pyupgrade
] Detectaiofiles.open
calls inUP015
(#13173)- [
pyupgrade
] Marksys.version_info[0] < 3
and similar comparisons as outdated (UP036
) (#13175)CLI
... (truncated)
8558126
Bump version to 0.6.5 (#13346)9bd9981
Create insta snapshot for SARIF output (#13345)21bfab9
Playground: Add Copy as pyproject.toml/ruff.toml and paste from TOML (#13328)43a5922
[red-knot] add BitSet::is_empty and BitSet::union (#13333)175d067
[red-knot] add initial Type::is_equivalent_to and Type::is_assignable_to
(#13...4dc2c25
[red-knot] Fix type inference for except*
definitions (#13320)b72d49b
Add support for extensionless Python files for server (#13326)eded78a
[pyupgrade
] Fix broken doc link and clarify that deprecated
aliases were re...a7b8cc0
[red-knot] Fix .to_instance()
for union types (#13319)b93d0ab
[red-knot] Add control flow for for
loops (#13318)Sourced from sqlalchemy's releases.
2.0.35
Released: September 16, 2024
orm
[orm] [bug] [typing] Fixed issue where it was not possible to use
typing.Literal
withMapped[]
on Python 3.8 and 3.9. Pull request courtesy Frazer McLean.References: #11820
[orm] [bug] Fixed issue in ORM evaluator where two datatypes being evaluated with the SQL concatenator operator would not be checked for
UnevaluatableError
based on their datatype; this missed the case of_postgresql.JSONB
values being used in a concatenate operation which is supported by PostgreSQL as well as how SQLAlchemy renders the SQL for this operation, but does not work at the Python level. By implementingUnevaluatableError
for this combination, ORM update statements will now fall back to "expire" when a concatenated JSON value used in a SET clause is to be synchronized to a Python object.References: #11849
[orm] [bug] An warning is emitted if
_orm.joinedload()
or_orm.subqueryload()
are used as a top level option against a statement that is not a SELECT statement, such as with aninsert().returning()
. There are no JOINs in INSERT statements nor is there a "subquery" that can be repurposed for subquery eager loading, and for UPDATE/DELETE joinedload does not support these either, so it is never appropriate for this use to pass silently.References: #11853
[orm] [bug] Fixed issue where using loader options such as
_orm.selectinload()
with additional criteria in combination with ORM DML such as_sql.insert()
with RETURNING would not correctly set up internal contexts required for caching to work correctly, leading to incorrect results.References: #11855
mysql
- [mysql] [bug] Fixed issue in mariadbconnector dialect where query string arguments that weren't checked integer or boolean arguments would be ignored, such as string arguments like
unix_socket
, etc. As part of this change, the argument parsing for particular elements such asclient_flags
,compress
,local_infile
has been made more consistent across all
... (truncated)