Sourced from ruff's releases.
0.7.3
Release Notes
Preview features
- Formatter: Disallow single-line implicit concatenated strings (#13928)
- [
flake8-pyi
] Include all Python file types forPYI006
andPYI066
(#14059)- [
flake8-simplify
] Implementsplit-of-static-string
(SIM905
) (#14008)- [
refurb
] Implementsubclass-builtin
(FURB189
) (#14105)- [
ruff
] Improve diagnostic messages and docs (RUF031
,RUF032
,RUF034
) (#14068)Rule changes
- Detect items that hash to same value in duplicate sets (
B033
,PLC0208
) (#14064)- [
eradicate
] Better detection of IntelliJ language injection comments (ERA001
) (#14094)- [
flake8-pyi
] Add autofix fordocstring-in-stub
(PYI021
) (#14150)- [
flake8-pyi
] Updateduplicate-literal-member
(PYI062
) to alawys provide an autofix (#14188)- [
pyflakes
] Detect items that hash to same value in duplicate dictionaries (F601
) (#14065)- [
ruff
] Fix false positive for decorators (RUF028
) (#14061)Bug fixes
- Avoid parsing joint rule codes as distinct codes in
# noqa
(#12809)- [
eradicate
] ignore# language=
in commented-out-code rule (ERA001) (#14069)- [
flake8-bugbear
] - do not runmutable-argument-default
on stubs (B006
) (#14058)- [
flake8-builtins
] Skip lambda expressions inbuiltin-argument-shadowing (A002)
(#14144)- [
flake8-comprehension
] Also remove trailing comma while fixingC409
andC419
(#14097)- [
flake8-simplify
] Allowopen
without context manager inreturn
statement (SIM115
) (#14066)- [
pylint
] Respect hash-equivalent literals initeration-over-set
(PLC0208
) (#14063)- [
pylint
] Update known dunder methods for Python 3.13 (PLW3201
) (#14146)- [
pyupgrade
] - ignore kwarg unpacking forUP044
(#14053)- [
refurb
] Parse more exotic decimal strings inverbose-decimal-constructor
(FURB157
) (#14098)Documentation
- Add links to missing related options within rule documentations (#13971)
- Add rule short code to mkdocs tags to allow searching via rule codes (#14040)
Install ruff 0.7.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.7.3/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/ruff/releases/download/0.7.3/ruff-installer.ps1 | iex" </tr></table>
... (truncated)
Sourced from ruff's changelog.
0.7.3
Preview features
- Formatter: Disallow single-line implicit concatenated strings (#13928)
- [
flake8-pyi
] Include all Python file types forPYI006
andPYI066
(#14059)- [
flake8-simplify
] Implementsplit-of-static-string
(SIM905
) (#14008)- [
refurb
] Implementsubclass-builtin
(FURB189
) (#14105)- [
ruff
] Improve diagnostic messages and docs (RUF031
,RUF032
,RUF034
) (#14068)Rule changes
- Detect items that hash to same value in duplicate sets (
B033
,PLC0208
) (#14064)- [
eradicate
] Better detection of IntelliJ language injection comments (ERA001
) (#14094)- [
flake8-pyi
] Add autofix fordocstring-in-stub
(PYI021
) (#14150)- [
flake8-pyi
] Updateduplicate-literal-member
(PYI062
) to alawys provide an autofix (#14188)- [
pyflakes
] Detect items that hash to same value in duplicate dictionaries (F601
) (#14065)- [
ruff
] Fix false positive for decorators (RUF028
) (#14061)Bug fixes
- Avoid parsing joint rule codes as distinct codes in
# noqa
(#12809)- [
eradicate
] ignore# language=
in commented-out-code rule (ERA001) (#14069)- [
flake8-bugbear
] - do not runmutable-argument-default
on stubs (B006
) (#14058)- [
flake8-builtins
] Skip lambda expressions inbuiltin-argument-shadowing (A002)
(#14144)- [
flake8-comprehension
] Also remove trailing comma while fixingC409
andC419
(#14097)- [
flake8-simplify
] Allowopen
without context manager inreturn
statement (SIM115
) (#14066)- [
pylint
] Respect hash-equivalent literals initeration-over-set
(PLC0208
) (#14063)- [
pylint
] Update known dunder methods for Python 3.13 (PLW3201
) (#14146)- [
pyupgrade
] - ignore kwarg unpacking forUP044
(#14053)- [
refurb
] Parse more exotic decimal strings inverbose-decimal-constructor
(FURB157
) (#14098)Documentation
- Add links to missing related options within rule documentations (#13971)
- Add rule short code to mkdocs tags to allow searching via rule codes (#14040)
0.7.2
Preview features
- Fix formatting of single with-item with trailing comment (#14005)
- [
pyupgrade
] Add PEP 646Unpack
conversion to*
with fix (UP044
) (#13988)Rule changes
- Regenerate
known_stdlibs.rs
with stdlibs 2024.10.25 (#13963)- [
flake8-no-pep420
] Skip namespace package enforcement for PEP 723 scripts (INP001
) (#13974)Server
... (truncated)
fbf140a
Bump version to 0.7.3 (#14197)670f958
[red-knot] Fix intersection simplification for
~Any
/~Unknown
(#14195)fed35a2
[red-knot] Fix is_assignable_to
for unions (#14196)d1ef418
Docs: tweak rules documentation (#14180)272d24b
[flake8-pyi
] Add a fix for
duplicate-literal-member
(#14188)2624249
[red-knot] Minor: fix Literal[True] <: int
(#14177)4b08d17
[red-knot] Add a new Type::KnownInstanceType
variant (#14155)5b6169b
[red-knot] Minor fix in intersection type comment (#14176)2040e93
[flake8-logging-format
] Fix invalid formatting value in
docs of `logging-ex...794eb88
[flake8-bandit
] Typo in docs
suspicious-pickle-import
(S403
) (#14175)Sourced from psycopg2-binary's changelog.
Current release
What's new in psycopg 2.9.10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Add support for Python 3.13.
- Receive notifications on commit (:ticket:
[#1728](https://github.com/psycopg/psycopg2/issues/1728)
).~psycopg2.errorcodes
map and~psycopg2.errors
classes updated to PostgreSQL 17.- Drop support for Python 3.7.
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)
).
... (truncated)
Sourced from pytest-cov's changelog.
6.0.0 (2024-10-29)
- Updated various documentation inaccuracies, especially on subprocess handling.
- Changed fail under checks to use the precision set in the coverage configuration. Now it will perform the check just like
coverage report
would.- Added a
--cov-precision
cli option that can override the value set in your coverage configuration.- Dropped support for now EOL Python 3.8.
9540437
Bump version: 5.0.0 → 6.0.09f81754
Further trim down envs and drop Python 3.8.b12b5ec
Update conf.23f4b27
Update changelog.291a04f
Bump test deps and trim config.08f1101
Add --cov-precision
option. Close #655.76fe2a7
Move the warnings/errors in a place that doesn't import anything.a9ea7b7
Implement error/warning for the bad dynamic_context being set in
config.c299e01
Add explicit suffixing to make it easier to see the identify the
sources/usag...c87e546
Add reproducer for weird xdist dynamic_context interaction. Ref #604.Sourced from asyncpg's releases.
v0.30.0
Support Python 3.13 and PostgreSQL 17.
Improvements
Implement GSSAPI authentication (by
@eltoder
in 1d4e5680 for #1122)Implement SSPI authentication (by
@eltoder
in 1aab2094 for #1128)Add initial typings (by
@bryanforbes
in d42432bf for #1127)Allow building with Cython 3 (by
@musicinmybrain
in 258d8a95 for #1101)docs: fix connection pool close call (#1125) (by
@paulovitorweb
in e8488149 for #1125)Add support for the
sslnegotiation
parameter (by@elprans
in afdb05c7 for #1187)Test and build on Python 3.13 (by
@elprans
in 3aa98944 for #1188)Support PostgreSQL 17 (by
@elprans
in cee97e1a for #1189) (by@MeggyCal
in aa2d0e69 for #1185)Add
fetchmany
to execute many and return rows (by@rossmacarthur
in 73f2209d for #1175)Add
connect
kwarg to Pool to better support GCP's CloudSQL (by@d1manson
in 3ee19baa for #1170)Allow customizing connection state reset (#1191) (by
@elprans
in f6ec755c for #1191)Fixes
... (truncated)
bae282e
asyncpg v0.30.0965fb08
Fix release workflowf6ec755
Allow customizing connection state reset (#1191)3ef884e
Upgrade Sphinx3ee19ba
Add connect_fn kwarg to Pool to better support GCP's CloudSQL (#1170)73f2209
Add fetchmany
to execute many and return rows (#1175)b732b4f
tests: Attempt to inhibit spurious ConnectionResetError on Windows (#1190)cee97e1
Test on PostgreSQL 17 (#1189)3aa9894
Test and build on Python 3.13 (#1188)afdb05c
Add support for the sslnegotiation
parameter (#1187)Sourced from alembic's releases.
1.14.0
Released: November 4, 2024
usecase
[usecase] [runtime] Added a new hook to the
DefaultImpl
DefaultImpl.version_table_impl()
. This allows third party dialects to define the exact structure of the alembic_version table, to include use cases where the table requires special directives and/or additional columns so that it may function correctly on a particular backend. This is not intended as a user-expansion hook, only a dialect implementation hook to produce a working alembic_version table. Pull request courtesy Maciek Bryński.References: #1560
1.13.3
Released: September 23, 2024
usecase
[usecase] [autogenerate] Render
if_exists
andif_not_exists
parameters inCreateTableOp
,CreateIndexOp
,DropTableOp
andDropIndexOp
in an autogenerate context. While Alembic does not set these parameters during an autogenerate run, they can be enabled using a customRewriter
in theenv.py
file, where they will now be part of the rendered Python code in revision files. Pull request courtesy of Louis-Amaury Chaib (@lachaib
).[usecase] [environment] Enhance
version_locations
parsing to handle paths containing newlines.References: #1509
[usecase] [operations] Added support for
Operations.create_table.if_not_exists
andOperations.drop_table.if_exists
, adding similar functionality to render IF [NOT] EXISTS for table operations in a similar way as with indexes. Pull request courtesy Aaron Griffin.References: #1520
misc
- [change] [general] The pin for
setuptools<69.3
inpyproject.toml
has been removed. This pin was to prevent a sudden change to PEP 625 in setuptools from taking place which changes the file name of SQLAlchemy's source
... (truncated)
Sourced from sqlalchemy's releases.
2.0.36
Released: October 15, 2024
orm
[orm] [usecase] Added new parameter
_orm.mapped_column.hash
to ORM constructs such as_orm.mapped_column()
,_orm.relationship()
, etc., which is interpreted for ORM Native Dataclasses in the same way as other dataclass-specific field parameters.References: #11923
[orm] [bug] Fixed bug in ORM bulk update/delete where using RETURNING with bulk update/delete in combination with
populate_existing
would fail to accommodate thepopulate_existing
option.References: #11912
[orm] [bug] Continuing from #11912, columns marked with
mapped_column.onupdate
,mapped_column.server_onupdate
, orComputed
are now refreshed in ORM instances when running an ORM enabled UPDATE with WHERE criteria, even if the statement does not use RETURNING orpopulate_existing
.References: #11917
[orm] [bug] Fixed regression caused by fixes to joined eager loading in #11449 released in 2.0.31, where a particular joinedload case could not be asserted correctly. We now have an example of that case so the assertion has been repaired to allow for it.
References: #11965
[orm] [bug] Improved the error message emitted when trying to map as dataclass a class while also manually providing the
__table__
attribute. This usage is currently not supported.References: #11973
[orm] [bug] Refined the check which the ORM lazy loader uses to detect "this would be loading by primary key and the primary key is NULL, skip loading" to take into account the current setting for the
orm.Mapper.allow_partial_pks
parameter. If this parameter isFalse
, then a composite PK value that has partial NULL elements should also be skipped. This can apply to some composite overlapping foreign key configurations.
... (truncated)
Sourced from ruff's releases.
0.7.4
Release Notes
Preview features
- [
flake8-datetimez
] Detect usages ofdatetime.max
/datetime.min
(DTZ901
) (#14288)- [
flake8-logging
] Implementroot-logger-calls
(LOG015
) (#14302)- [
flake8-no-pep420
] Detect empty implicit namespace packages (INP001
) (#14236)- [
flake8-pyi
] Add "replace withSelf
" fix (PYI019
) (#14238)- [
perflint
] Implement quick-fix formanual-list-comprehension
(PERF401
) (#13919)- [
pylint
] Implementshallow-copy-environ
(W1507
) (#14241)- [
ruff
] Implementnone-not-at-end-of-union
(RUF036
) (#14314)- [
ruff
] Implementationunsafe-markup-call
fromflake8-markupsafe
plugin (RUF035
) (#14224)- [
ruff
] Report problems forattrs
dataclasses (RUF008
,RUF009
) (#14327)Rule changes
- [
flake8-boolean-trap
] Exclude dunder methods that define operators (FBT001
) (#14203)- [
flake8-pyi
] Add "replace withSelf
" fix (PYI034
) (#14217)- [
flake8-pyi
] Always autofixduplicate-union-members
(PYI016
) (#14270)- [
flake8-pyi
] Improve autofix for nested and mixed type unions forunnecessary-type-union
(PYI055
) (#14272)- [
flake8-pyi
] Mark fix as unsafe when type annotation contains comments forduplicate-literal-member
(PYI062
) (#14268)Server
- Use the current working directory to resolve settings from
ruff.configuration
(#14352)Bug fixes
- Avoid conflicts between
PLC014
(useless-import-alias
) andI002
(missing-required-import
) by consideringlint.isort.required-imports
forPLC014
(#14287)- [
flake8-type-checking
] Skip quoting annotation if it becomes invalid syntax (TCH001
)- [
flake8-pyi
] Avoid usingtyping.Self
in stub files pre-Python 3.11 (PYI034
) (#14230)- [
flake8-pytest-style
] Flagpytest.raises
call with keyword argumentexpected_exception
(PT011
) (#14298)- [
flake8-simplify
] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222
) (#14263)- [
flake8-type-checking
] Fix false positives fortyping.Annotated
(TCH001
) (#14311)- [
pylint
] Allowawait
at the top-level scope of a notebook (PLE1142
) (#14225)- [
pylint
] Fix miscellaneous issues inawait-outside-async
detection (PLE1142
) (#14218)- [
pyupgrade
] Avoid applying PEP 646 rewrites in invalid contexts (UP044
) (#14234)- [
pyupgrade
] Detect permutations in redundant open modes (UP015
) (#14255)- [
refurb
] Avoid triggeringhardcoded-string-charset
for reordered sets (FURB156
) (#14233)- [
refurb
] Further special cases added toverbose-decimal-constructor
(FURB157
) (#14216)- [
refurb
] UseUserString
instead of non-existentUserStr
(FURB189
) (#14209)- [
ruff
] Avoid treating lowercase letters as# noqa
codes (RUF100
) (#14229)- [
ruff
] Do not report whenOptional
has no type arguments (RUF013
) (#14181)Documentation
... (truncated)
Sourced from ruff's changelog.
0.7.4
Preview features
- [
flake8-datetimez
] Detect usages ofdatetime.max
/datetime.min
(DTZ901
) (#14288)- [
flake8-logging
] Implementroot-logger-calls
(LOG015
) (#14302)- [
flake8-no-pep420
] Detect empty implicit namespace packages (INP001
) (#14236)- [
flake8-pyi
] Add "replace withSelf
" fix (PYI019
) (#14238)- [
perflint
] Implement quick-fix formanual-list-comprehension
(PERF401
) (#13919)- [
pylint
] Implementshallow-copy-environ
(W1507
) (#14241)- [
ruff
] Implementnone-not-at-end-of-union
(RUF036
) (#14314)- [
ruff
] Implementationunsafe-markup-call
fromflake8-markupsafe
plugin (RUF035
) (#14224)- [
ruff
] Report problems forattrs
dataclasses (RUF008
,RUF009
) (#14327)Rule changes
- [
flake8-boolean-trap
] Exclude dunder methods that define operators (FBT001
) (#14203)- [
flake8-pyi
] Add "replace withSelf
" fix (PYI034
) (#14217)- [
flake8-pyi
] Always autofixduplicate-union-members
(PYI016
) (#14270)- [
flake8-pyi
] Improve autofix for nested and mixed type unions forunnecessary-type-union
(PYI055
) (#14272)- [
flake8-pyi
] Mark fix as unsafe when type annotation contains comments forduplicate-literal-member
(PYI062
) (#14268)Server
- Use the current working directory to resolve settings from
ruff.configuration
(#14352)Bug fixes
- Avoid conflicts between
PLC014
(useless-import-alias
) andI002
(missing-required-import
) by consideringlint.isort.required-imports
forPLC014
(#14287)- [
flake8-type-checking
] Skip quoting annotation if it becomes invalid syntax (TCH001
)- [
flake8-pyi
] Avoid usingtyping.Self
in stub files pre-Python 3.11 (PYI034
) (#14230)- [
flake8-pytest-style
] Flagpytest.raises
call with keyword argumentexpected_exception
(PT011
) (#14298)- [
flake8-simplify
] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222
) (#14263)- [
flake8-type-checking
] Fix false positives fortyping.Annotated
(TCH001
) (#14311)- [
pylint
] Allowawait
at the top-level scope of a notebook (PLE1142
) (#14225)- [
pylint
] Fix miscellaneous issues inawait-outside-async
detection (PLE1142
) (#14218)- [
pyupgrade
] Avoid applying PEP 646 rewrites in invalid contexts (UP044
) (#14234)- [
pyupgrade
] Detect permutations in redundant open modes (UP015
) (#14255)- [
refurb
] Avoid triggeringhardcoded-string-charset
for reordered sets (FURB156
) (#14233)- [
refurb
] Further special cases added toverbose-decimal-constructor
(FURB157
) (#14216)- [
refurb
] UseUserString
instead of non-existentUserStr
(FURB189
) (#14209)- [
ruff
] Avoid treating lowercase letters as# noqa
codes (RUF100
) (#14229)- [
ruff
] Do not report whenOptional
has no type arguments (RUF013
) (#14181)Documentation
ed7b98c
Bump version to 0.7.4 (#14358)6591775
[flake8-type-checking
] Skip quoting annotation if it
becomes invalid syntax...1f82731
Use CWD to resolve settings from ruff.configuration
(#14352)874da9c
[red-knot] Display raw characters for string literal (#14351)375cead
Sync vendored typeshed stubs (#14350)9ec690b
[red-knot] Add support for string annotations (#14151)a48d779
[red-knot] function signature representation (#14304)ba6c7f6
[pylint
] Remove check for dot in alias name in
`useless-import-alias (PLC04...8095ff0
enforce required imports even with useless alias (#14287)24cd592
Avoid module lookup for known classes when possible (#14343)