diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 69127ba..d9daec5 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -154,7 +154,7 @@ jobs: # A PR must add a docs/changelog/..rst fragment; automated dependency and pre-commit bumps are exempt, as # is anything labeled skip news, for changes no user of the library can observe. if: >- - github.event_name == 'pull_request' && !contains(fromJSON('["dependabot[bot]", "pre-commit-ci[bot]"]'), github.actor) && !contains(github.event.pull_request.labels.*.name, 'skip news') + github.event_name == 'pull_request' && !contains(fromJSON('["dependabot[bot]", "pre-commit-ci[bot]"]'), github.event.pull_request.user.login) && !contains(github.event.pull_request.labels.*.name, 'skip news') steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0d07e5d..82cdcd1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,15 +15,15 @@ repos: - id: codespell additional_dependencies: ["tomli>=2.4"] - repo: https://github.com/tox-dev/tox-toml-fmt - rev: "v1.9.3" + rev: "v1.10.0" hooks: - id: tox-toml-fmt - repo: https://github.com/tox-dev/pyproject-fmt - rev: "v2.28.1" + rev: "v2.29.0" hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.16.4" + rev: "v0.16.5" hooks: - id: ruff-format - id: ruff-check @@ -43,13 +43,13 @@ repos: - mdformat-gfm>=1 - mdformat-ruff>=0.1.3 - repo: https://github.com/LilSpazJoekp/docstrfmt - rev: v2.2.0 + rev: v2.2.1 hooks: - id: docstrfmt args: ["-l", "120"] additional_dependencies: ["sphinx>=9.1"] - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: v1.29.0 + rev: v1.30.0 hooks: - id: zizmor - repo: meta diff --git a/docs/changelog.rst b/docs/changelog.rst index a0aeb5b..e9a5924 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -6,9 +6,9 @@ .. towncrier release notes start -******************** +********************* 4.11.5 (2026-08-27) -******************** +********************* - Give :func:`~platformdirs.user_preference_dir` and :func:`~platformdirs.user_preference_path` the same arguments as :func:`~platformdirs.user_config_dir`. Added without arguments in :pr:`491`, they could only return the unscoped base @@ -17,12 +17,13 @@ :func:`~platformdirs.site_data_path`. On Unix and macOS it passed the whole ``$XDG_DATA_DIRS`` list to :class:`~pathlib.Path`, giving one unusable path such as ``/first/applications:/second/applications``. :pr:`532` - Give :func:`~platformdirs.user_applications_dir`, :func:`~platformdirs.user_applications_path`, - :func:`~platformdirs.site_applications_dir` and :func:`~platformdirs.site_applications_path` the app arguments. Android - scopes both applications directories to the app, so without them the functions could only return the unscoped base - directory there. On the two site functions they are keyword-only, keeping ``multipath`` first positional as it has been - since 4.9.0; the two user functions take their boolean options keyword-only. :pr:`534` + :func:`~platformdirs.site_applications_dir` and :func:`~platformdirs.site_applications_path` the app arguments. + Android scopes both applications directories to the app, so without them the functions could only return the unscoped + base directory there. On the two site functions they are keyword-only, keeping ``multipath`` first positional as it + has been since 4.9.0; the two user functions take their boolean options keyword-only. :pr:`534` - Correct the ordering note on the iterator methods. ``use_site_for_root`` drops the user directory entirely, so the - iterators are documented as yielding the most specific directory first rather than always yielding the user one. :pr:`533` + iterators are documented as yielding the most specific directory first rather than always yielding the user one. + :pr:`533` ********************* 4.11.4 (2026-08-24) diff --git a/pyproject.toml b/pyproject.toml index f73971f..6471cf4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -133,14 +133,15 @@ lint.ignore = [ "S104", # Possible binding to all interfaces ] lint.per-file-ignores."tests/**/*.py" = [ - "D", # don't care about documentation in tests - "FBT", # don't care about booleans as positional arguments in tests - "INP001", # no implicit namespace - "PLC2701", # Private name import - "PLR0917", # Too many positional arguments - "PLR2004", # Magic value used in comparison, consider replacing with a constant variable - "S101", # asserts allowed in tests - "S603", # `subprocess` call: check for execution of untrusted input + "D", # don't care about documentation in tests + "FBT", # don't care about booleans as positional arguments in tests + "INP001", # no implicit namespace + "PLC2701", # Private name import + "PLR0917", # Too many positional arguments + "PLR2004", # Magic value used in comparison, consider replacing with a constant variable + "pytest-fixture-autouse", # shared setup fixtures are meant to apply to every test + "S101", # asserts allowed in tests + "S603", # `subprocess` call: check for execution of untrusted input ] lint.isort = { known-first-party = [ "platformdirs",