-
Notifications
You must be signed in to change notification settings - Fork 2
⬆️(dependencies) update python dependencies #1242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2c08db6 to
c40e6fd
Compare
22220bd to
1749500
Compare
861641a to
0c7456d
Compare
d1aafc7 to
979c9a8
Compare
b4357c7 to
154ef14
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
e8e0226 to
4601216
Compare
Due the upgrade of `django-countries`, they added and removed some countries. So it was required to update the swagger files for tests.
We needed to postpone the upgrade of `pylint` dependency because another dependency, `pylint-django`, depends on `pylint` version <4. For now, we will stay in version 3.3.8.
Upgrading to version 0.15.0 would generate errors in our test suite. We need to postpone once more the upgrade of this library and set version 0.14.1 instead.
Since we made recent changes into the stylesheet responsible for our credential documents, we don't need at the moment to upgrade the version to 67.0 of WeasyPrint. We can stay at version 66.0
We postponed the upgrade of `pytest` because we would encounter errors in executing our test suite. Instead we set the version 8.4.2.
We needed to upgrade the configuration of our sentry_sdk. The change log suggests to add `middleware_spans=True` because middleware spans are now disabled by default in Django in version 2.48.0. If we want to keep the same behavior, we should enabled them.
4601216 to
f4704a9
Compare
kernicPanel
approved these changes
Jan 5, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==1.1.0->==1.2.0==1.26.6->==1.26.7==66.0->==67.0==1.3.0->==1.4.0==5.5.3->==5.6.0==46.0.2->==46.0.3==2.2.8->==2.3==7.6.1->==8.2.0==2.2.13->==2.2.14==2025.10.1->==2025.12.1==0.28.0->==0.29.0==3.9->==3.10==3.2.10->==3.3.2==5.10.0->==5.10.2==3.3.8->==4.0.4==8.4.2->==9.0.2==0.14.1->==0.15.0==0.14.0->==0.14.9==2.41.0->==2.48.0Release Notes
google/brotli (Brotli)
v1.2.0Compare Source
SECURITY
Decompressor::can_accept_more_datamethod and optionaloutput_buffer_limitargumentDecompressor::process;that allows mitigation of unexpectedly large output;
reported by Charles Chan (https://github.com/charleswhchan)
Added
brcatalias; allow decoding concatenated brotli streamsRemoved
finalize()for native entitiesFixed
compresspass correct length to native encoderImproved
Changed
pymupdf/pymupdf (PyMuPDF)
v1.26.7: PyMuPDF-1.26.7 releasedCompare Source
Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:
[Linux-aarch64 wheels will be built and uploaded later.]
Changes in version 1.26.7
Other:
pymupdf embed-extract. This now refuses to write toan existing file or outside current directory, unless
-outputor new flag-unsafeis specified.Kozea/WeasyPrint (WeasyPrint)
v67.0Compare Source
Read about this release on our blog.
Dependencies
Features
Bug fixes
@font-facerules referencing local fonts@font-facefontsDocumentation
Contributors
Backers and sponsors
arrow-py/arrow (arrow)
v1.4.0Compare Source
week_startparameter tofloor()andceil()methods.PR #​1222 <https://github.com/arrow-py/arrow/pull/1222>_FORMAT_RFC3339_STRICTwith a T separator.PR #​1201 <https://github.com/arrow-py/arrow/pull/1201>_PR #​1200 <https://github.com/arrow-py/arrow/pull/1200>_PR #​1190 <https://github.com/arrow-py/arrow/pull/1190>_PR #​1218 <https://github.com/arrow-py/arrow/pull/1218>_PR #​1189 <https://github.com/arrow-py/arrow/pull/1189>_PR #​1172 <https://github.com/arrow-py/arrow/pull/1172>_PR #​1217 <https://github.com/arrow-py/arrow/pull/1217>_PR #​1224 <https://github.com/arrow-py/arrow/pull/1224>_Arrow.__getattr__.PR #​1171 <https://github.com/arrow-py/arrow/pull/1171>_PR #​1181 <https://github.com/arrow-py/arrow/pull/1181>_shift()method for issue #1145.PR #​1194 <https://github.com/arrow-py/arrow/pull/1194>_PR #​1184 <https://github.com/arrow-py/arrow/pull/1184>,PR #​1186 <https://github.com/arrow-py/arrow/pull/1186>datetime.utcnowdeprecation warning.PR #​1182 <https://github.com/arrow-py/arrow/pull/1182>_PR #​1223 <https://github.com/arrow-py/arrow/pull/1223>_PR #​1010 <https://github.com/arrow-py/arrow/pull/1010>_PR #​1177 <https://github.com/arrow-py/arrow/pull/1177>_PR #​1193 <https://github.com/arrow-py/arrow/pull/1193>_PR #​1183 <https://github.com/arrow-py/arrow/pull/1183>_arrow.format.PR #​1180 <https://github.com/arrow-py/arrow/pull/1180>_celery/celery (celery)
v5.6.0Compare Source
=====
:release-date: 2025-11-30
:release-by: Tomer Nosrati
Celery v5.6.0 is now available.
Key Highlights
.. _version-5.6.0rc2:
pyca/cryptography (cryptography)
v46.0.3Compare Source
jrief/django-admin-sortable2 (django-admin-sortable2)
v2.3Compare Source
default_order_fieldmight not be set on model.SmileyChris/django-countries (django-countries)
v8.2.0Compare Source
Features
Add
django_countries.django_filters.CountryFilterfor django-filters integration with support for customempty_label. This filter automatically sets country choices and seamlessly integrates with django-filters FilterSets, making it easier to add country filtering to your views. (#307)Enable
CountryFieldMixinto acceptname_only,country_dict, and output customization options viaMeta.extra_kwargs. You can now configure country field serialization behavior without explicitly declaring serializer fields, making it easier to customize output for both single and multiple country fields. (#414)CountryField(country_dict=...)now accepts either a boolean (existing behaviour) or an iterable/string of keys so you can control exactly which values appear in the serialized country dict (for example("code", "name", "alpha3")or just"alpha3"). (#416)Add
COUNTRIES_FIRST_BY_LANGUAGEandCOUNTRIES_FIRST_AUTO_DETECTsettings for dynamic country ordering based on user language. Countries can now be automatically reordered based on the current language, with locale-based auto-detection (e.g.,fr-CAusers see Canada prepended to the French country group). (#418)Add support for custom
flag_urlinCOUNTRIES_OVERRIDEsetting. You can now specify a custom flag URL for overridden countries:This is particularly useful when using custom country codes that need to reference existing flag images. (#449)
Add
countries_context()context manager for temporary, thread-local override of country configuration options. Supports all country options (first,only,first_sort,first_repeat,first_break,first_by_language,first_auto_detect), enabling per-request customization based on user preferences, IP geolocation, or other dynamic factors. Each option independently overrides its corresponding setting with the highest priority.Bugfixes
CountryFieldserializer to respect current language when deserializing localized country names. The field now automatically uses Django'sget_language()to detect the active language and falls back to English if the country name is not found in the current language. (#407)CountryFilterto support filtering onCountryFieldthrough relations (e.g.,list_filter = [("contact__country", CountryFilter)]). Previously this would fail with aFieldError. (#432)CountryFilteradmin filter to work correctly withCountryField(multiple=True). The filter now uses the__containslookup instead of exact matching to properly find records where the selected country appears in the comma-separated country list. (#445)empty_labelparameter inCountryField.formfield()to customize the blank choice label in form fields. This allows usingempty_label=""for an empty label orempty_label="Custom text"for custom text, resolving the issue whereempty_labelwas previously ignored. (#466)CountryField.countriesparameter in stub file to accepttype[Countries]instead ofCountriesinstance, resolving mypy errors when using custom Countries subclasses. Also removed unnecessary exclusion of tests from mypy checking. (#482)Misc
Refactored deployment script from bash (244 lines) to Python using click for better maintainability and testability. The script is now in
scripts/deploy.pywith these improvements:just deploywithout arguments to get an interactive prompt showing version options (e.g., "8.1.1 → 8.2.0")DRY_RUN=1now validates package builds, documentation builds, runs pre-commit checks, shows full changelog preview, checks PyPI for existing versions, displays translation status, and checks for uncommitted changes (same as real run)--allow-dirtyflag to bypass git status check when needed (not recommended for production)v8.1.1Compare Source
Bugfixes
CountryField(multiple=True)not marking selected options in Django forms. (#480)v8.1.0Compare Source
Features
allow_nullparameter, returningNonefor NULL values whenallow_null=True.This enables better API consistency and is particularly useful with
unique=Trueconstraints, which allow multiple NULL values but not multiple empty strings in the database. (#453)null=Trueon multiple country fields, allowing This nullable unique constraints on multiple country fields.CountryField(multiple=True, null=True)now returnsNonefor NULL database values instead of crashing and the historical system checkE100that blockedmultiple=True+null=Truehas been removed. (#453)Bugfixes
CountryFieldwhen usingcountry_dict=Trueorname_only=True. The field now correctly generates an object schema (withcodeandnameproperties) forcountry_dict=Trueand a string schema forname_only=True, instead of incorrectly generating an enum schema. This fixes schema generation for both DRF's built-in OpenAPI support and drf-spectacular, enabling accurate TypeScript client generation and other API tooling. (#441)Countries.__iter__(), delivering 20-40× speedup when displayingCountryFieldinlist_display(admin changelist now renders in <0.5s instead of 6-10s). (#454)v8.0.1Compare Source
Bugfixes
requiredattribute not being rendered on form widgets when usingCOUNTRIES_FIRST_BREAKsetting. The separator option now correctly allows the field to remain required for HTML5 validation. (#280)Misc
v8.0.0Compare Source
Note: This release includes all changes from the yanked versions 7.8, 7.9, and 7.9.1, which were yanked because they inadvertently dropped Python 3.7 support without a major version bump.
Features
COUNTRIES_COMMON_NAMESis enabled (default).Bugfixes
COUNTRIES_OVERRIDEto support custom country codes that are 3 characters long. Previously, 3-character codes were incorrectly treated as alpha3 codes and resolved to existing countries. (#474)Improved Documentation
autocomplete_fieldsin admin or third-party admin filter packages likemore_admin_filters. (#473)Deprecations and Removals
Misc
just deploycommand and towncrier for changelog management.v7.9.1Compare Source
Bugfixes
COUNTRIES_OVERRIDEto support custom country codes that are 3 characters long. Previously, 3-character codes were incorrectly treated as alpha3 codes and resolved to existing countries. (#474)Note: This release was yanked because it inadvertently dropped Python 3.7 support without a major version bump. Use 8.0.0 or later instead.
v7.9Compare Source
Bugfixes
COUNTRIES_OVERRIDEto support custom country codes that are 3 characters long. Previously, 3-character codes were incorrectly treated as alpha3 codes and resolved to existing countries. (#474)Note: This release was yanked because it inadvertently dropped Python 3.7 support without a major version bump. Use 8.0.0 or later instead.
v7.8Compare Source
Where'd 7.7 go? Well 7.6 was accidentally bumped to 7.8 because of the new release process!
Note: This release was yanked because it inadvertently dropped Python 3.7 support without a major version bump. Use 8.0.0 or later instead.
Improved Documentation
Misc
just deploycommand and towncrier for changelog management.tfranzel/drf-spectacular-sidecar (drf-spectacular-sidecar)
v2025.12.1Compare Source
tfranzel/drf-spectacular (drf_spectacular)
v0.29.0Compare Source
#​1466 <https://github.com/tfranzel/drf-spectacular/issues/1466>_#​1392 <https://github.com/tfranzel/drf-spectacular/issues/1392>_#​1450 <https://github.com/tfranzel/drf-spectacular/issues/1450>_) [Enric Pou]#​1432 <https://github.com/tfranzel/drf-spectacular/issues/1432>_) [Chris Wesseling]#​1432 <https://github.com/tfranzel/drf-spectacular/issues/1432>_#​1463 <https://github.com/tfranzel/drf-spectacular/issues/1463>_OpenApiViewExtensionnot providing view instance underself.target(#​1405 <https://github.com/tfranzel/drf-spectacular/issues/1405>_) [astro-stan]#​1436 <https://github.com/tfranzel/drf-spectacular/issues/1436>_#​1461 <https://github.com/tfranzel/drf-spectacular/issues/1461>_#​1459 <https://github.com/tfranzel/drf-spectacular/issues/1459>_#​1435 <https://github.com/tfranzel/drf-spectacular/issues/1435>_)#​1444 <https://github.com/tfranzel/drf-spectacular/issues/1444>_)#​1401 <https://github.com/tfranzel/drf-spectacular/issues/1401>_#​1389 <https://github.com/tfranzel/drf-spectacular/issues/1389>_) [Mike Manger]#​1354 <https://github.com/tfranzel/drf-spectacular/issues/1354>_Breaking changes / important additions:
Python-Markdown/markdown (markdown)
v3.10Compare Source
psycopg/psycopg (psycopg)
v3.3.2Compare Source
v3.3.1Compare Source
v3.3.0Compare Source
v3.2.13Compare Source
v3.2.12Compare Source
v3.2.11Compare Source
pytest-dev/pyfakefs (pyfakefs)
v5.10.2Compare Source
Fixes a problem with
pathlib.globin Python 3.14.Fixes
pathlib.glob()for Python 3.14 (see #1239)v5.10.1Compare Source
Fixes a regression introduced in version 5.9.0.
Fixes
shutil.copytreeif copying using anshutilfunction ascopy_functionargument (see #1235)pylint-dev/pylint (pylint)
v4.0.4Compare Source
What's new in Pylint 4.0.4?
Release date: 2025-11-30
False Positives Fixed
Fixed false positive for
invalid-namewhere module-level constants were incorrectly classified as variables when a class-level attribute with the same name exists.Closes #10719
Fix a false positive for
invalid-nameon an UPPER_CASED name inside anifbranch that assigns an object.Closes #10745
v4.0.3Compare Source
What's new in Pylint 4.0.3?
Release date: 2025-11-13
False Positives Fixed
Add Enum dunder methods
_generate_next_value_,_missing_,_numeric_repr_,_add_alias_, and_add_value_alias_to the list passed to--good-dunder-names.Closes #10435
Fixed false positive for
invalid-namewithtyping.Annotated.Closes #10696
Fix false positive for
f-string-without-interpolationwith template stringswhen using format spec.
Closes #10702
Fix a false positive when an UPPER_CASED class attribute was raising an
invalid-namewhen typed withFinal.Closes #10711
Fix a false positive for
unbalanced-tuple-unpackingwhen a tuple is assigned to a function call and the structure of the function's return value is ambiguous.Closes #10721
Other Bug Fixes
Make 'ignore' option work as expected again.
Closes #10669
Fix crash for
consider-using-assignment-exprwhen a variable annotation without assignmentis used as the
iftest expression.Closes #10707
Fix crash for
prefer-typing-namedtupleandconsider-math-not-floatwhena
sliceobject is called.Closes #10708
v4.0.2Compare Source
False Positives Fixed
Fix false positive for
invalid-nameon a partially uninferable module-level constant.Closes #10652
Fix a false positive for
invalid-nameon exclusive module-level assignmentscomposed of three or more branches. We won't raise
disallowed-nameon module-level names that can't be inferreduntil a further refactor to remove this false negative is done.
Closes #10664
Fix false positive for
invalid-nameforTypedDictinstances.Closes #10672
v4.0.1Compare Source
What's new in Pylint 4.0.1?
Release date: 2025-10-14
False Positives Fixed
Exclude
__all__and__future__.annotationsfromunused-variable.Closes #10019
Fix false-positive for
bare-name-capture-patternif a case guard is used.Closes #10647
Check enums created with the
Enum()functional syntax to pass against the--class-rgxfor theinvalid-namecheck, like other enums.Closes #10660
v4.0.0Compare Source
Pylint now supports Python 3.14.
Pylint's inference engine (
astroid) is now much more precise,understanding implicit booleanness and ternary expressions. (Thanks @zenlyj!)
Consider this example:
The required
astroidversion is now 4.0.0. See the astroid changelog for additional fixes, features, and performance improvements applicable to pylint.invalid-nameat the module level was patchy. Now,module-level constants that are reassigned are treated as variables and checked
against
--variable-rgxrather than--const-rgx. Module-level lists,sets, and objects can pass against either regex.
Here,
LIMITis reassigned, so pylint only uses--variable-rgx:If this is undesired, refactor using exclusive assignment so that it is
evident that this assignment happens only once:
Lists, sets, and objects still pass against either
const-rgxorvariable-rgxeven if reassigned, but are no longer completely skipped:
Remember to adjust the regexes and allow lists to your liking.
Breaking Changes
invalid-namenow distinguishes module-level constants that are assigned only oncefrom those that are reassigned and now applies
--variable-rgxto the latter. Valuesother than literals (lists, sets, objects) can pass against either the constant or
variable regexes (e.g. "LOGGER" or "logger" but not "LoGgEr").
Remember that
--good-namesor--good-names-rgxscan be provided to explicitlyallow good names.
Closes #3585
The unused
pylintrcargument toPyLinter.__init__()is deprecatedand will be removed.
Refs #6052
Commented out code blocks such as
# bar() # TODO: remove dead codewill no longer emitfixme.Refs #9255
pyreverseRunwas changed to no longer callsys.exit()in its__init__.You should now call
Run(args).run()which will return the exit code instead.Having a class that always raised a
SystemExitexception was considered a bug.Normal usage of pyreverse through the CLI will not be affected by this change.
Refs #9689
The
suggestion-modeoption was removed, as pylint now always emits user-friendly hints insteadof false-positive error messages. You should remove it from your conf if it's defined.
Refs #9962
The
async.pychecker module has been renamed toasync_checker.pysinceasyncis a Python keywordand cannot be imported directly. This allows for better testing and extensibility of the async checker functionality.
Refs #10071
The message-id of
continue-in-finallywas changed fromE0116toW0136. The warning isnow emitted for every Python version since it will raise a syntax warning in Python 3.14.
See PEP 765 - Disallow return/break/continue that exit a finally block.
Refs #10480
Removed support for
nmp.NaNalias fornumpy.NaNbeing recognized in ':ref:nan-comparison'. Usenpornumpyinstead.Refs #10583
Version requirement for
isorthas been bumped to >=5.0.0.The internal compatibility for older
isortversions exposed viapylint.utils.IsortDriverhasbeen removed.
Refs #10637
New Features
comparison-of-constantsnow uses the unicode from the ast instead of reformatting fromthe node's values preventing some bad formatting due to
utf-8limitation. The message now uses"instead of'to better work with what the python ast returns.Refs #8736
Enhanced pyreverse to properly distinguish between UML relationship types (association, aggregation, composition) based on object ownership semantics. Type annotations without assignment are now treated as associations, parameter assignments as aggregations, and object instantiation as compositions.
Closes #9045
Closes #9267
The
fixmecheck can now search through docstrings as well as comments, by usingcheck-fixme-in-docstring = truein the[tool.pylint.miscellaneous]section.Closes #9255
The
use-implicit-booleaness-not-xchecks now distinguish between comparisonsused in boolean contexts and those that are not, enabling them to provide more accurate refactoring suggestions.
Closes #9353
The verbose option now outputs the filenames of the files that have been checked.
Previously, it only included the number of checked and skipped files.
Closes #9357
colorized reporter now colorizes mess
Configuration
📅 Schedule: Branch creation - "before 7am on monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.