Skip to content

chore(deps): update testing deps (minor)#85

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/testing-deps
Open

chore(deps): update testing deps (minor)#85
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/testing-deps

Conversation

@renovate

@renovate renovate Bot commented Dec 1, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
ops (changelog) 3.3.13.8.0 age confidence
requests (changelog) 2.32.52.34.2 age confidence
ruff (source, changelog) 0.14.50.15.22 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

canonical/operator (ops)

v3.8.0

Compare Source

Features

  • Note the socket path in Pebble tracing spans (#​2555)

Fixes

  • Treat remote unit zero as explicit (#​2454)
  • Ensure resources are cleaned up in testing.Context (#​2506)
  • Close SQLite storage in Harness.cleanup() (#​2507)
  • Restore sys.breakpointhook on _Manager teardown (#​2542)
  • Avoid errors in finalisation due to already-closed websocket (#​2548)
  • Use the correct value for JUJU_HOOK_NAME when objects contain dashes (#​2552)
  • Avoid double-closing the framework in testing teardown (#​2561)
  • Don't leak exec I/O threads when waiting on the change fails (#​2558)
  • Take Pebble defaults into consideration when consistency checking Checks (#​2567)
  • Tear down Runtime.exec() when the charm raises (#​2581)

Documentation

  • Fix small issues in K8s tutorial (#​2540)
  • Document user-secret observer lifecycle and secret-changed semantics (#​2522)
  • Replace CoC with link to Ubuntu Code of Conduct (#​2564)
  • Add a small note about -W error in the unit test how-to (#​2560)
  • Add doc about subordinate charms (#​2455)
  • Add 26.04 to the versions page and mark 2.23 as LTS (#​2517)
  • Clarify storage-detaching applies to both machine and K8s charms (#​2554)
  • Add guidance about names of workload-less charms (#​2496)
  • Fix first unit tests command in machine charm tutorial (#​2574)
  • Extend security explanation page to cover SEC0030 V1.3 gaps (#​2571)
  • Move docs to canonical.com/juju/docs/ops (#​2545)
  • Fix docstring of _Event._is_action_event (#​2580)

Tests

  • Treat warnings as errors when running unit tests (#​2541)
  • Fix mock_temp_dir fixture's open() patch (#​2553)
  • Add integration tests for ops.hookcmds (#​2520, #​2562)
  • Fix integration test flakes on Juju 3 k8s and Juju 4 secrets (#​2584)

Refactoring

  • Avoid yaml.load() to silence security scanner false positives (#​2523)
  • Replace jsonpatch with an inline dict-diff (#​2578)
  • Move the otlp-json package to be a regular ops-tracing module (#​2585)
  • Distinguish between init and attribute types in testing state classes (#​2331)

CI

  • Remove obsolete containerd workaround from integration workflow (#​2519)
  • Use the sys.monitoring coverage core (#​2518)

v3.7.1

Compare Source

Fixes

  • Pass the endpoint name through to relation-get (#​2499)

Documentation

  • Add a how-to guide focused on debugging charms (#​2386)
  • Add metadata descriptions to the debug and public listing how-to guides (#​2415)
  • Update tutorials and how-tos to use pytest-jubilant (#​2406)
  • Add how-to guide about CI (#​2405)
  • Test COS Lite integration with the k8s-5-observe charm (#​2411)
  • Update tutorials and example charms to match Charmcraft 4.2 (#​2407)
  • Update api_demo_server version to support non-amd64 architectures (#​2448)
  • Pin to 24.04 when launching VMs (#​2457)
  • Explain how to remove errored apps in k8s tutorial (#​2445)
  • Align example charms with pre-release Charmcraft (#​2444)
  • Add how-to guide for naming and initialising a charm (#​2449)
  • Add a how-to guide about publishing a charm (#​2420)
  • In the tutorials, recommend initing from GitHub (#​2459)
  • Fix integration tests of K8s tutorial charms (#​2471)
  • Replace the PGP key with the upstream page in SECURITY.md (#​2474)
  • Bump api_demo_server to 1.0.4 in docs and example charms (#​2473)
  • Refresh the machine workloads how-to (#​2443)
  • Add COS Lite integration tests to K8s tutorial (#​2478)
  • Add git workflow guidance for contributors (#​2453)
  • Update profile guidance in HACKING.md (#​2486)
  • Explain how to add an icon to a charm (#​2451)
  • Adopt latest Charmcraft profiles, incl juju_setup marker on integration tests (#​2497)
  • Improve support for agents, with Sphinx Stack upgrade (#​2495)
  • Improve how-to about managing files in containers (#​2470)
  • Improve Container.pull docs to avoid leaky files (#​2508)
  • Clarify Secret manage-permission error in testing.State (#​2510)

Tests

  • Extend the type checking of the ops-scenario tests (#​2234, #​2235)
  • Wait on ExecProcess after expected TypeError (#​2509)

CI

  • Drop external action for checking PR title format (#​2388)
  • Add a dependabot cooldown (#​2413)
  • Sort the directory entries when updating the best practices list (#​2422)
  • Configure dependabot for the example charms (#​2426)
  • Pin zizmor and TIOBE tool versions in pyproject.toml rather than the workflow (#​2437)
  • Add 26.04 to smoke tests and remove outdated metadata.yaml (#​2450)
  • Use charmcraft test for example charm (#​2440)
  • Add workflow_dispatch trigger to workflows where it is useful (#​2468)
  • Ensure the correct job is selected in updating charm pins (#​2500)

v3.7.0

Compare Source

Features

  • Enable interactive debugging via breakpoint in testing (#​2363)
  • ops.testing autoload support for charmcraft extensions (#​2367)
  • Allow testing.State.get_relation to accept relation objects (#​2359)
  • Support charmcraft.yaml format as meta for testing.Context (#​2296)

Fixes

  • Correct type annotation for StorageMeta.properties (#​2348)
  • Move the testing.Container compatibility import so that mypy style checkers understand it (#​2343)
  • Hold only copies of user provided meta/config/actions in testing.Context (#​2349)
  • Deep-copy layer objects during testing.State plan rendering (#​2380)
  • Return copies from testing.State secret_get and action_get (#​2379)
  • Use timezone-aware datetimes in expiry calculation (#​2378)
  • Warn before clearing non-empty container in testing (#​2365)

Documentation

  • Replace links to juju.is by canonical.com/juju (#​2368)
  • Refactor homepage to better put Ops in context (#​2370)
  • Add pytest-operator migration guide from Jubilant docs (#​2381)
  • Add a tip about AI help in the Jubilant migration guide (#​2382)
  • Mention jhack scenario snapshot (#​2351)
  • Update integration testing how-to guide (#​2390)
  • Explain K8s charms briefly at the start of the tutorial (#​2392)
  • Juju secrets identifier is now an opaque string (#​2387)

Tests

  • Extend the type checking of the ops-scenario tests (#​2230)

CI

  • Run ruff check --fix in tox -e format (#​2369)
  • Check example charms with mypy in CI (#​2360)
  • Update the list of published charms in the compatibility tests (#​2384)
  • Adjust minimum Python version in broad charm compatibility tests (#​2317)

v3.6.0

Compare Source

Features

  • Bump default Juju version in ops.testing.Context to 3.6.14 (#​2316)

Fixes

  • Correct the Model.get_binding() return type (#​2329)
  • Only show executable in ExecError.__str__, not full command line (#​2336)
  • Support Pydantic MISSING sentinel in ops.Relation.save (#​2306)

Documentation

  • Add how-to subcategory for managing containers (#​2309)
  • Remove 2.19 version in docs, tweak ops.testing title (#​2332)
  • Use "true" and "false" consistently in the reference documentation (#​2330)
  • Add CLI args as another place to not put sensitive data (#​2334)
  • Fix remote unit kwarg in testing example (#​2342)
  • Clarify that secret labels are not names (#​2337)

Tests

  • Set SCENARIO_BARE_CHARM_ERRORS=true in Ops tests that care (#​2314)

CI

  • Fix releasing on branches with no versions.md doc (#​2323)

v3.5.2

Compare Source

Fixes

  • Make testing.CheckInfo level arg type match pebble.CheckInfo.level (#​2274)
  • Make testing consistency check aware that credential-get is available on k8s in newer Juju (#​2307)
  • Drop unused setuptools_scm build dependency (#​2310)

Documentation

  • Update Pebble version in Juju 3.6 (#​2295)
  • Refresh K8s tutorial to use Concierge and uv-based Charmcraft profile (#​2285)
  • Add missing "How to" in page titles (#​2289)
  • Fix and improve observability part of K8s tutorial (#​2305)

v3.5.1

Compare Source

Fixes

  • Use parse_rfc3339 for datetime parsing to support Juju 4 (#​2264)
  • Correct the value of additional_properties in the action meta in Juju 4 (#​2250)
  • Prevent KeyError on auth-type when creating CloudCredential object (#​2268)
  • _checks_action should return empty list when there are no changes (#​2270)

Documentation

  • Provide examples in unit testing how-to, and other small improvements (#​2251)
  • Update the action how-to to explain the additionalProperties default flip (#​2249)
  • For state-transition tests, clarify about immutability and reusing state (#​2153)
  • Fix and clarify holistic example of handling storage (#​2098)
  • Remove comments from K8s tutorial and clarify about persisting data (#​2253)
  • Clarify handling of postgres relation data in K8s tutorial (#​2256)
  • Improve unit tests of httpbin demo charm (#​2254)
  • Add version information for tools in the charming ecosystem (#​2231)
  • Avoid emojis that render differently across platforms (#​2273)
  • Secrets over CMR comment added (#​2271)
  • Fix charm name in httpbin deploy command (#​2276)
  • Updated security@ubuntu.com PGP key (#​2286)

Tests

  • Remove unnecessary test module (#​2247)

CI

  • Replace git reference injection with wheel artifacts in charm test workflows (#​2252)
  • Explicitly provide the charmcraft repo location in CI (#​2277)
  • Remove outdated custom signature generation (#​2280)

v3.5.0

Compare Source

Features

  • Env var to control exception wrapping in tests (#​2142)
  • Deprecate testing.Context.charm_spec (#​2219)

Documentation

  • Fix charmcraft init command (#​2210)
  • Update CI examples to use uv and tox-uv (#​2213)
  • Update and clarify info about environment prep (#​2217)
  • Match Charmcraft profiles in tox.ini example for integration testing (#​2221)
  • Use base 24.04 for httpbin-demo charm (#​2222)
  • Clarify parts of the machine charm tutorial (#​2223)
  • Match Charmcraft profiles in "Write and structure charm code" (#​2220)
  • Use cosl binary in K8s tutorial charm to work around error (#​2232)
  • Fix URL issues by updating doc starter pack (#​2238)

Tests

  • Don't skip tests if ops[testing] isn't installed (#​2215)
  • Switch the integration test charms to use the uv plugin (#​2218)

CI

  • Avoid jitter in the best practice doc PRs (#​2193)
  • Ignore PERF401 (manual list comprehension) across the repo (#​2201)
  • The git commands need to be run in the operator directory as well (#​2197)
  • Have cycle in the sbomber manifests use the default value (#​2209)
  • Add pytest.warns to note an expected warning (#​2092)
  • Update release script to handle non-final versions (#​2199)
  • Add ops-tracing as a dependency for the observability tests (#​2239)
  • Add scheduled workflow for packing and integration testing example charms (#​2233)

v3.4.0

Compare Source

Breaking Changes

  • Fix: Change JujuContext.machine_id from int to str (#​2108)
  • Fix: Ensure that the testing context manager is exited when an exception occurs (#​2117)

Features

  • Add a low-level API for the Juju hook commands (#​2019)
  • Make PebbleClient file methods also accept pathlib.PurePath (#​2097)
  • Log the total number of deferred events (#​2161)
  • Allow setting the Juju availability zone and principal unit in the testing Context (#​2187)

Fixes

  • Allow actions without params or descriptions in ops[testing] (#​2090)
  • Ensure ops.Pebble.pull cleans up temporary files if it errors (#​2087)
  • Make secret info description visible to the charm in ops[testing] (#​2115)
  • Raise ActionFailed when using Context as a context manager (#​2121)
  • Detect categories with an exclamation mark indicating breaking changes (#​2132)
  • Normalise Secret.owner to 'app' for ops[testing] output state (#​2127)
  • Don't cache secret metadata in Ops (#​2143)
  • Secret-info-get cannot be provided with both an ID and a label (#​2170)
  • Minor hookcmds fixes (#​2175)

Documentation

  • Update referenced examples for managing interfaces (#​2068)
  • Tidy up spelling and formatting in several places (#​2060)
  • Add missing assignment to state_out in unit tests how-to (#​2075)
  • Update the holistic/delta explanation with the reconciler pattern (#​2029)
  • Fix broken setup/teardown links in README (#​2094)
  • Update info about release docs, mark testing changelog as not maintained (#​2074)
  • Switch to makefile for building the docs (#​2073)
  • Document how to extract the charm instance from the testing context (#​2084)
  • Add a how-to guide for migrating away from Harness (#​2062)
  • Rename hook tools to hook commands (#​2114)
  • Remove legacy how-to guide for Harness (#​2122)
  • Update the Juju release the metrics functionality is removed from 4.0 to 3.6.11 (#​2126)
  • Clarify that Context is the testing context not only the Juju context (#​2123)
  • Explain the Charmhub public listing process and add a reference list of best practices (#​1989)
  • Expand next steps for K8s tutorial (#​2034)
  • Remove mention of the simple Charmcraft profile (#​2138)
  • Expand landing pages with summaries of pages (#​2140)
  • Update environment setup for integration tests and K8s tutorial (#​2124)
  • Replace machine charm tutorial by an improved tutorial (#​2119)
  • Change HACKING.md instructions for maintaining Charmcraft profiles (#​2151)
  • In integration tests, use consistent approach to logging and packing (#​2150)
  • In integration testing how-to, clarify that Juju model is destroyed after all tests in the model complete (#​2154)
  • Remove Charmcraft channel specifier from machine charm tutorial (#​2148)
  • Add AI contribution note and style guideline for type annotation of return values (#​2168)
  • Add ops[testing] to the ops.testing docstring (#​2171)
  • Add links to the Juju hook from each event class (#​2176)
  • Add a short umask note (#​2184)

Tests

  • Re-enable testing consistency checks after disabling them (#​2141)
  • Expand secrets integration and state transition tests (#​2130)

Refactoring

  • Use ops.hookcmds in _ModelBackend (#​2116)
  • Don't get the storage details from --help (#​2172)
  • Drop 3.8 and 3.9 compatibility code (#​2173)
  • Use json.dumps to produce the YAML in relation-set and state-set (#​2174)
  • Rely on type annotations instead of casts in hookcmds (#​2179)

CI

  • Add integration and state transition tests for the secrets API (#​2078)
  • Temporarily disable tracing integration tests (#​2102)
  • Add secrets tests follow-up (#​2105)
  • Support monorepos in ops charm compatibility testing (#​2100)
  • Test both Charmcraft 3 and Charmcraft 4 profiles (#​2103)
  • Add automated doc checks (and related starter pack updates) (#​2099)
  • Clean up accidental workflow trigger (#​2144)
  • Test if package versions match dependency versions before publishing (#​2139)
  • Update spelling (#​2167)
  • Test against 4.0/stable (#​2186)
  • Store charmcraft logs if smoke tests fail (#​2192)
  • Use Juju channel 4/stable in Ops smoke tests (#​2190)
psf/requests (requests)

v2.34.2

Compare Source

  • Moved headers input type back to Mapping to avoid invariance issues
    with MutableMapping and inferred dict types. Users calling
    Request.headers.update() may need to narrow typing in their code. (#​7441)

v2.34.1

Compare Source

Bugfixes

  • Widened json input type from dict and list to Mapping
    and Sequence. (#​7436)
  • Changed headers input type to MutableMapping and removed None from
    Request.headers typing to improve handling for users. (#​7431)
  • Response.reason moved from str | None to str to improve handling
    for users. (#​7437)
  • Fixed a bug where some bodies with custom __getattr__ implementations
    weren't being properly detected as Iterables. (#​7433)

v2.34.0

Compare Source

Announcements

  • Requests 2.34.0 introduces inline types, replacing those provided by
    typeshed. Public API types should be fully compatible with mypy, pyright,
    and ty. We believe types are comprehensive but if you find issues, please
    report them to the pinned tracking issue.

    Special thanks to @​bastimeyer, @​cthoyt, @​edgarrmondragon, and @​srittau for
    helping review and test the types ahead of the release. (#​7272)

Improvements

  • Digest Auth hashing algorithms have added usedforsecurity=False to clarify
    security considerations. (#​7310)
  • Requests added support for Python 3.15 based on beta1. Downstream projects
    should be able to start testing prior to its release in October. (#​7422)
  • Requests added support for Python 3.14t. (#​7419)

Bugfixes

  • Response.history no longer contains a reference to itself, preventing
    accidental looping when traversing the history list. (#​7328)
  • Requests no longer performs greedy matching on no_proxy domains. The
    proxy_bypass implementation has been updated with CPython's fix from
    bpo-39057. (#​7427)
  • Requests no longer incorrectly strips duplicate leading slashes in
    URI paths. This should address user issues with specific presigned
    URLs. Note the full fix requires urllib3 2.7.0+. (#​7315)

v2.33.1

Compare Source

Bugfixes

  • Fixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary
    files in the tmp directory. (#​7305)
  • Fixed Content-Type header parsing for malformed values. (#​7309)
  • Improved error consistency for malformed header values. (#​7308)

v2.33.0

Compare Source

Announcements

  • 📣 Requests is adding inline types. If you have a typed code base that
    uses Requests, please take a look at #​7271. Give it a try, and report
    any gaps or feedback you may have in the issue. 📣

Security

  • CVE-2026-25645 requests.utils.extract_zipped_paths now extracts
    contents to a non-deterministic location to prevent malicious file
    replacement. This does not affect default usage of Requests, only
    applications calling the utility function directly.

Improvements

  • Migrated to a PEP 517 build system using setuptools. (#​7012)

Bugfixes

  • Fixed an issue where an empty netrc entry could cause
    malformed authentication to be applied to Requests on
    Python 3.11+. (#​7205)

Deprecations

  • Dropped support for Python 3.9 following its end of support. (#​7196)

Documentation

  • Various typo fixes and doc improvements.
astral-sh/ruff (ruff)

v0.15.22

Compare Source

Release Notes

Released on 2026-07-16.

Preview features
  • [pycodestyle] Add an autofix for E402 (#​22212)
  • [refurb] Allow subclassing builtins in stub files (FURB189) (#​26812)
  • [ruff] Add rule to replace noqa comments with ruff:ignore (RUF105) (#​26423)
  • [ruff] Add rule to use human-readable names in ruff:ignore comments (RUF106) (#​26682)
  • [ruff] Add rule to use human-readable names in configuration selectors (RUF201) (#​26772)
Bug fixes
  • [flake8-pyi] Fix false positive in __all__ (PYI053) (#​26872)
Rule changes
  • [pylint] Ignore mutable type updates in redefined-loop-name (PLW2901) (#​25733)
Performance
  • Avoid redundant lexer token bookkeeping (#​26765)
  • Avoid redundant pending-indentation writes (#​26774)
  • Avoid unnecessary identifier lookahead (#​26525)
  • Reuse parser scratch buffers (#​26798)
Documentation
  • Document argfile support (#​26803)
  • [flake8-datetimez] Clarify naming guidance for datetime.today (DTZ002) (#​26658)
  • [pycodestyle] Document E731 fix safety (#​26847)
  • [ruff] Clarify intentional async contexts for unused-async (RUF029) (#​26641)
Contributors

Install ruff 0.15.22

Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.22/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.15.22/ruff-installer.ps1 | iex"

Download ruff 0.15.22

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ruff-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ruff-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ruff-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ruff-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ruff-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ruff-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ruff-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ruff

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

v0.15.21

Compare Source

Released on 2026-07-09.

Preview features
  • Add --add-ignore for adding ruff:ignore comments (#​26346)
  • [flake8-comprehensions] Drop C409 tuple comprehension preview behavior (#​25707)
  • Avoid whitespace normalization when formatting comments (#​26455)
  • [pyupgrade] Lint and fix use of deprecated abc decorators (UP051) (#​26417)
Bug fixes
  • Refine non-empty f-string detection (#​26526)
  • Detect syntax errors in individual notebook cells (#​26419)
  • [flake8-implicit-str-concat] Fix ISC003 autofix incorrectly stripping + from comments (#​26554)
Rule changes
  • [flake8-executable] Mark EXE004 fix as unsafe (#​26033)
  • [flake8-pyi] Mark PYI061 fixes as unsafe in Python files (#​26533)
  • [pydocstyle] Skip overload-with-docstring in stub files (D418) (#​26318)
Performance
  • Avoid per-token source index visitor calls (#​26506)
  • Cache parenthesized expression boundaries in the formatter (#​26344)
  • Improve performance of rendering edits in preview mode (#​26565)
  • Inline fits_element in formatter (#​26429)
  • Inline formatter printing hot paths (#​26504)
  • Lazily create builtin bindings (#​26510)
  • Skip empty trivia scans in the source indexer (#​26507)
  • Use ICF for macOS release builds (#​25780)
Formatter
  • Add --extend-exclude to ruff format (#​26372)
Documentation
  • Add "How does Ruff's import sorting compare to isort?" link to README (#​26530)
  • Fix Mozilla Firefox repository link in README (#​26537)
  • [flake8-bandit] Fix misleading docstring for mako-templates (S702) (#​26432)
  • [ruff] Fix non-triggering example for if-key-in-dict-del (RUF051) (#​26433)
Contributors

v0.15.20

Compare Source

Released on 2026-06-25.

Preview features
  • Allow human-readable names in rule selectors (#​25887)
  • Emit a warning instead of an error for unknown rule selectors (#​26113)
  • Match noqa shebang handling in ruff:ignore comments (#​26286)
  • [ruff] Remove pytest-fixture-autouse (RUF076) (#​26240, #​26371)
Documentation
  • Add versioning sections to custom crate READMEs (#​26317)
  • Update ruff_python_parser README for crates.io (#​26315)
  • [perflint] Clarify that PERF402 applies to any iterable (#​26242)
Contributors

v0.15.19

Compare Source

Released on 2026-06-23.

Preview features
  • Support human-readable names when hovering suppression comments and in code actions (#​26114)
Bug fixes
  • Fall back to default settings when editor-only settings are invalid (#​26244)
  • Fix panic when inserting text at a notebook cell boundary (#​26111)
Rule changes
  • [pylint] Update fix suggestions for __floor__, __trunc__, __length_hint__, and __matmul__ variants (PLC2801) (#​26239)
Performance
  • Avoid allocating when parsing single string literals (#​26200)
  • Avoid reallocating singleton call arguments (#​26223)
  • Lazily create source files for lint diagnostics (#​26226)
  • Optimize formatter text width and indentation (#​26236)
  • Reserve capacity for builtin bindings (#​26229)
  • Skip repeated-key checks for singleton dictionaries (#​26228)
  • Use ArrayVec for qualified name segments (#​26224)
Documentation
  • [flake8-pyi] Note that PYI051 is an opinionated stylistic rule (#​26179)
  • [pyupgrade] Clarify UP029 as a Python 2 compatibility rule (#​26243)
Other changes
  • Publish Ruff crates to crates.io (#​26271)
Contributors

v0.15.18

Compare Source

Released on 2026-06-18.

Preview features
  • Handle nested ruff:ignore comments (#​25791)
  • Stop displaying severity in

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Dec 1, 2025

Copy link
Copy Markdown
Contributor Author

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovate renovate Bot changed the title chore(deps): update dependency ops to v3.4.0 chore(deps): update dependency ops to v3.5.0 Dec 18, 2025
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from d79a0a7 to f66e1c9 Compare December 18, 2025 06:49
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from f66e1c9 to 31a448a Compare January 28, 2026 03:34
@renovate renovate Bot changed the title chore(deps): update dependency ops to v3.5.0 chore(deps): update dependency ops to v3.5.1 Jan 28, 2026
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from 31a448a to 485c740 Compare February 3, 2026 19:35
@renovate renovate Bot changed the title chore(deps): update dependency ops to v3.5.1 chore(deps): update testing deps (minor) Feb 3, 2026
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 2 times, most recently from cb635c4 to 24f8647 Compare February 13, 2026 00:31
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 3 times, most recently from 7b7332f to f8ca19a Compare February 26, 2026 16:01
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from f8ca19a to 1f33c9e Compare February 26, 2026 23:43
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from 1f33c9e to d7de1af Compare March 6, 2026 00:03
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 2 times, most recently from 4e96565 to 0a40542 Compare March 19, 2026 18:59
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 4 times, most recently from 13bad67 to 29ffe07 Compare March 30, 2026 19:59
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 2 times, most recently from e975f97 to cfba19b Compare April 9, 2026 16:33
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from cfba19b to 5a4b3ea Compare April 16, 2026 21:47
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from 5a4b3ea to a95ad79 Compare April 24, 2026 20:26
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 4 times, most recently from bdc28a5 to c376e30 Compare May 14, 2026 19:58
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from c376e30 to 4b8bda2 Compare May 21, 2026 16:11
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 2 times, most recently from 48b1a4b to b459b84 Compare May 28, 2026 21:40
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from b459b84 to cdce339 Compare June 4, 2026 17:16
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from cdce339 to 1d1a8fb Compare June 12, 2026 02:09
@renovate
renovate Bot force-pushed the renovate/testing-deps branch 3 times, most recently from 8485861 to 9712b89 Compare June 26, 2026 00:06
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from 9712b89 to 26f49a5 Compare June 30, 2026 09:45
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from 26f49a5 to 3f593c5 Compare July 9, 2026 21:56
@renovate
renovate Bot force-pushed the renovate/testing-deps branch from 3f593c5 to 61125f7 Compare July 16, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants