[#227](https://github.com/Kozea/cairocffi/issues/227) <https://github.com/Kozea/cairocffi/pull/227>_:
Add get_hairline() and set_hairline() functions
Version 1.7.0
.............
Released on 2024-04-27
Drop Python 3.7 support, add Python 3.12 support
[#221](https://github.com/Kozea/cairocffi/issues/221) <https://github.com/Kozea/cairocffi/pull/225>_:
Add environment variable to set folder where DLLs are installed on Windows
[#225](https://github.com/Kozea/cairocffi/issues/225) <https://github.com/Kozea/cairocffi/pull/225>_:
Use Ruff instead of Flake8 and isort
Version 1.6.1
.............
Released on 2023-07-24
[#217](https://github.com/Kozea/cairocffi/issues/217) <https://github.com/Kozea/cairocffi/issues/217>_:
Repair installation with PyInstaller
Version 1.6.0
.............
Released on 2023-06-12
This version uses a new CFFI mode that may break your program.
CairoCFFI now uses Flit for packaging and is also distributed as a Python
wheel.
Please test carefully and don’t hesitate to report issues before using it in
production.
[#216](https://github.com/Kozea/cairocffi/issues/216) <https://github.com/Kozea/cairocffi/pull/216>_:
Use ABI-level in-line CFFI mode
If you attempt to combine statement coverage data with branch coverage data,
coverage.py used to fail with the message "Can't combine arc data with line
data" or its reverse, "Can't combine line data with arc data." These
messages used internal terminology, making it hard for people to understand
the problem. They are now changed to mention "branch coverage data" and
"statement coverage data."
Fixed a minor branch coverage problem with wildcard match/case cases using
names or guard clauses.
Started testing on 3.13 free-threading (nogil) builds of Python. I'm not
claiming full support yet. Closes issue 1799_.
The has_private_name and has_special_name properties on objects and aliases have been renamed is_private and is_special. The is_private property now only returns true if the name is not special.
Features
Add deprecated attribute and is_deprecated property to objects/aliases (2a75d84 by Timothée Mazzucotelli).
Add is_imported property to objects/aliases (de926cc by Timothée Mazzucotelli).
Add is_class_private property to objects/aliases (491b6c4 by Timothée Mazzucotelli).
Code Refactoring
Rename has_private_name and has_special_name to is_private and is_special (ae7c7e7 by Timothée Mazzucotelli).
WARNING: ⚡ Imminent v1! ⚡🚀
We are working on v1, and it will come soon, so we recommend that you consider adding an upper bound on Griffe. Version 1 will remove all legacy code! There will be a couple more v0 before so that you get all the deprecation warnings needed to upgrade your code using Griffe before upgrading to v1. See breaking changes and deprecations for v0.46 below.
Breaking Changes
We are still in v0, so no major bump yet.
Calling objects' [has_labels()][griffe.Object.has_labels] method with a labels keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
Calling the [load_extensions()][griffe.load_extensions] function with an exts keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
The has_private_name and has_special_name properties on objects and aliases have been renamed is_private and is_special. The is_private property now only returns true if the name is not special.
Features
Add deprecated attribute and is_deprecated property to objects/aliases (2a75d84 by Timothée Mazzucotelli).
Add is_imported property to objects/aliases (de926cc by Timothée Mazzucotelli).
Add is_class_private property to objects/aliases (491b6c4 by Timothée Mazzucotelli).
Code Refactoring
Rename has_private_name and has_special_name to is_private and is_special (ae7c7e7 by Timothée Mazzucotelli).
WARNING: ⚡ Imminent v1! ⚡🚀
We are working on v1, and it will come soon, so we recommend that you consider adding an upper bound on Griffe. Version 1 will remove all legacy code! There will be a couple more v0 before so that you get all the deprecation warnings needed to upgrade your code using Griffe before upgrading to v1. See breaking changes and deprecations for v0.46 below.
Breaking Changes
We are still in v0, so no major bump yet.
Calling objects' [has_labels()][griffe.Object.has_labels] method with a labels keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
Calling the [load_extensions()][griffe.load_extensions] function with an exts keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
Deprecations
As seen above in the breaking changes section, the only parameters of [Object.has_labels()][griffe.Object.has_labels] and [load_extensions()][griffe.load_extensions] both became variadic positional parameters. Passing a sequence as single argument is deprecated in favor of passing multiple arguments. This is an ergonomic change: I myself often forgot to wrap extensions in a list. Passing sequences of labels (lists, sets, tuples) is also difficult from Jinja templates.
The following methods and properties on objects and aliases are deprecated: [member_is_exported()][griffe.Object.member_is_exported], [is_explicitely_exported][griffe.mixins.ObjectAliasMixin.is_explicitely_exported], [is_implicitely_exported][griffe.mixins.ObjectAliasMixin.is_implicitely_exported]. Use the [is_exported][griffe.mixins.ObjectAliasMixin.is_exported] property instead. See issue 281.
The [is_exported()][griffe.mixins.ObjectAliasMixin.is_exported] and [is_public()][griffe.mixins.ObjectAliasMixin.is_public] methods became properties. They can still be called like methods, but will emit deprecation warnings when doing so. See issue 281.
urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects please consider contributing financially to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.
Thank you for your support.
Changes
Added the Proxy-Authorization header to the list of headers to strip from requests when redirecting to a different host. As before, different headers can be set via Retry.remove_headers_on_redirect.
Allowed passing negative integers as amt to read methods of http.client.HTTPResponse as an alternative to None. (#3122)
Fixed return types representing copying actions to use typing.Self. (#3363)
Added the Proxy-Authorization header to the list of headers to strip from requests when redirecting to a different host. As before, different headers can be set via Retry.remove_headers_on_redirect.
Allowed passing negative integers as amt to read methods of http.client.HTTPResponse as an alternative to None. ([#3122](https://github.com/urllib3/urllib3/issues/3122) <https://github.com/urllib3/urllib3/issues/3122>__)
Fixed return types representing copying actions to use typing.Self. ([#3363](https://github.com/urllib3/urllib3/issues/3363) <https://github.com/urllib3/urllib3/issues/3363>__)
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 dependencies group in /.config with 14 updates:
1.7.0
1.7.1
7.5.3
7.5.4
0.0.5
0.0.7
3.15.1
3.15.4
0.45.3
0.47.0
1.9.1
1.9.2
9.5.26
9.5.27
1.10.3
1.10.5
2.22.0
2.23.0
0.4.1
0.5.0
1.6.1
1.7.1
0.4.9
0.4.10
2.2.1
2.2.2
20.26.2
20.26.3
Updates
cairocffi
from 1.7.0 to 1.7.1Changelog
Sourced from cairocffi's changelog.
... (truncated)
Commits
0f45d6a
Version 1.7.1996a754
Merge pull request #227 from dtromb/#226-hairlinecaf8bcf
Fixed long comment lines to pass ruff check.cd9689e
Made test case for new 1.18 functionality condition on the correct version of...b7a5023
Added Context.{get,set}_hairline(), according changes to ffi header, and test...Updates
coverage
from 7.5.3 to 7.5.4Changelog
Sourced from coverage's changelog.
Commits
22c09c6
docs: sample HTML for 7.5.49e16381
docs: prep for 7.5.4fba9b9e
docs: link issue 1799 from the changelogf124de8
build: no longer download kits to upload them9516cf6
build: hash-pin all actionsc6e0985
build: finish up the publish action4a49458
build: get the latest dist run id for publishingfb15efa
build: pin hashes for publishing actionsc20af95
build: use the correct item: github.event.actionccbab15
build: dump all the github actions dataUpdates
docstring-parser-fork
from 0.0.5 to 0.0.7Release notes
Sourced from docstring-parser-fork's releases.
Changelog
Sourced from docstring-parser-fork's changelog.
Commits
8f95747
Add support for "Attributes" docstring section (#6)3d3f752
Bump version to 0.0.664b134a
Merge remote-tracking branch 'upstream/master'4951137
build: 0.16a12cca9
parser: add a description property to docstringsUpdates
filelock
from 3.15.1 to 3.15.4Release notes
Sourced from filelock's releases.
Commits
9a979df
Pass file_lock as positional argument (#347)3a79343
Fix `TypeError: _CountedFileLock.init() got an unexpected keyword argumen...81d4cf9
Add test for virtualenv stability (#344)192f1ef
Use a metaclass to implement the singleton pattern (#340)48788c5
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#341)7bd3b7b
[pre-commit.ci] pre-commit autoupdate (#342)Updates
griffe
from 0.45.3 to 0.47.0Release notes
Sourced from griffe's releases.
... (truncated)
Changelog
Sourced from griffe's changelog.
... (truncated)
Commits
ce186a4
chore: Prepare release 0.47.02a75d84
feat: Adddeprecated
attribute andis_deprecated
property to objects/aliases1982023
docs: Add comments tois_wildcard_exposed
de926cc
feat: Addis_imported
property to objects/aliases491b6c4
feat: Addis_class_private
property to objects/aliasesae7c7e7
refactor: Renamehas_private_name
andhas_special_name
tois_private
an...1ebfa63
style: Spacing40ebec0
chore: Prepare release 0.46.13319410
fix: Always consider special objects ("dunder" attributes/methods/etc.) to be...ea90952
fix: Don't consider imported objects as publicUpdates
markdown-exec
from 1.9.1 to 1.9.2Release notes
Sourced from markdown-exec's releases.
Changelog
Sourced from markdown-exec's changelog.
Commits
ed18c5f
chore: Prepare release 1.9.2d3f1e6b
fix: Render source even if output is emptycc36267
Merge branch 'main' of github.com:pawamoy/markdown-exec6167c03
docs: Add Chalk example galleryUpdates
mkdocs-material
from 9.5.26 to 9.5.27Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
f4adebd
Prepare 9.5.27 release9e1f527
Updated dependenciesf4db9de
Updated Estonian translationsb45c51d
Changed Twitter to X (#7266)4ba7a6d
Add reference to PlantUML Markdown schema (#7260)ccc8d84
Updated dependencies0c54a88
Updated Premium sponsorsUpdates
mkdocstrings-python
from 1.10.3 to 1.10.5Release notes
Sourced from mkdocstrings-python's releases.
Changelog
Sourced from mkdocstrings-python's changelog.
Commits
ce91d88
chore: Prepare release 1.10.5587963b
fix: Mix both previous checks for displaying objects: not imported or public94b736b
chore: Prepare release 1.10.4e2f4b35
refactor: Only filter out imported objects instead of non-public ones after a...321b407
refactor: Update code for Griffe 0.46 to avoid deprecation warningsae5896c
refactor: Changeload_external_modules
default value toNone
to support n...101dc2a
chore: Template upgrade70f39f7
ci: Qualityae9a5c2
chore: Template upgradeUpdates
pipdeptree
from 2.22.0 to 2.23.0Commits
c2245d6
Print resolved interpreter when using env detection (#379)07503eb
[pre-commit.ci] pre-commit autoupdate (#382)46575ba
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#381)ea9cc95
[pre-commit.ci] pre-commit autoupdate (#378)9bda77e
Use non-deprecated pytest-console-scripts API (#377)7cd5561
[pre-commit.ci] pre-commit autoupdate (#375)Updates
pydoclint
from 0.4.1 to 0.5.0Changelog
Sourced from pydoclint's changelog.
Commits
1e1c88f
Check class attributes against docstring (#130)2b0f1d8
Improve DOC403 message (#129)Updates
pyproject-api
from 1.6.1 to 1.7.1Release notes
Sourced from pyproject-api's releases.
Commits
e384fce
Move changelog to GH releases (#141)0a41076
Bump and fix CI for new setuptools (#140)d7add0e
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#139)4ddd11c
[pre-commit.ci] pre-commit autoupdate (#138)010a4fe
[pre-commit.ci] pre-commit autoupdate (#137)1cb7a4b
[pre-commit.ci] pre-commit autoupdate (#136)c101877
[pre-commit.ci] pre-commit autoupdate (#135)4b66582
[pre-commit.ci] pre-commit autoupdate (#134)443355e
[pre-commit.ci] pre-commit autoupdate (#133)ba3d734
[pre-commit.ci] pre-commit autoupdate (#132)Updates
ruff
from 0.4.9 to 0.4.10Release notes
Sourced from ruff's releases.
Changelog
Sourced from ruff's changelog.
Commits
b54922f
Bump version to v0.4.10 (#11953)3f884b4
Avoid running logical line rule logic if not enabled (#11951)b456051
[red-knot] Add tracing to Salsa queries (#11949)2dfbf11
[red-knot] Extractred_knot_python_semantic
crate (#11926)ed948ea
Avoid moving back the lexer for triple-quoted fstring (#11939)22733cb
red-knot(Salsa): Types without refinements (#11899)a26bd01
Avoid depth counting when detecting indentation (#11947)b617d90
UpdateE999
to show all syntax errors (#11900)cdc7c71
Avoid consuming trailing whitespace during re-lexing (#11933)ff3bf58
ruff server
: Add tracing setup guide to Neovim documentation (#11884)Updates
urllib3
from 2.2.1 to 2.2.2Release notes
Sourced from urllib3's releases.
Changelog
Sourced from urllib3's changelog.
Commits
27e2a5c
Release 2.2.2 (#3406)accff72
Merge pull request from GHSA-34jh-p97f-mpxf34be4a5
Pin CFFI to a new release candidate instead of a Git commit (#3398)da41058
Bump browser-actions/setup-chrome from 1.6.0 to 1.7.1 (#3399)b07a669
Bump github/codeql-action from 2.13.4 to 3.25.6 (#3396)b8589ec
Measure coverage with v4 of artifact actions (#3394)f3bdc55
Allow triggering CI manually (#3391)5239265
Fix HTTP version in debug log (#3316)b34619f
Bump actions/checkout to 4.1.4 (#3387)9961d14
Bump browser-actions/setup-chrome from 1.5.0 to 1.6.0 (#3386)Updates
virtualenv
from 20.26.2 to 20.26.3Release notes
Sourced from virtualenv's releases.
Changelog
Sourced from virtualenv's changelog.
Commits
3185e1f
release 20.26.32a149ec
Bump embeded wheels (#2741)bd91d48
[pre-commit.ci] pre-commit autoupdate (#2739)8220288
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#2738)429d6a2
[pre-commit.ci] pre-commit autoupdate (#2734)c723579
[pre-commit.ci] pre-commit autoupdate (#2730)e35ece8
[pre-commit.ci] pre-commit autoupdate (#2727)0646a05
Merge pull request #2724 from pypa/release-20.26.2Dependabot 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