Skip to content

Bump platformdirs from 4.9.1 to 4.9.2#12077

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/pip/platformdirs-4.9.2
Open

Bump platformdirs from 4.9.1 to 4.9.2#12077
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/pip/platformdirs-4.9.2

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 16, 2026

Bumps platformdirs from 4.9.1 to 4.9.2.

Release notes

Sourced from platformdirs's releases.

4.9.2

What's Changed

Full Changelog: tox-dev/platformdirs@4.9.1...4.9.2

Changelog

Sourced from platformdirs's changelog.

########### Changelog ###########


4.9.2 (2026-02-16)


  • 📝 docs: restructure following Diataxis framework :pr:448
  • 📝 docs(platforms): fix RST formatting and TOC hierarchy :pr:447

4.9.1 (2026-02-14)


  • 📝 docs: enhance README, fix issues, and reorganize platforms.rst :pr:445

4.9.0 (2026-02-14)


  • 📚 docs: split usage guide into tutorial, how-to, and reference :pr:441
  • ✨ feat(api): add site_bin_dir property :pr:443
  • ✨ feat(api): add site_applications_dir property :pr:442
  • 🐛 fix(unix): use correct runtime dir path for OpenBSD :pr:440
  • 📝 docs(usage): document use_site_for_root parameter :pr:439

4.8.0 (2026-02-14)


  • 📝 docs(usage): note that home dir is in stdlib :pr:431
  • ✨ feat(api): add user_applications_dir property :pr:432
  • ✨ feat(api): add user_bin_dir property :pr:430
  • 🐛 fix(macos): yield individual site dirs in iter_*_dirs :pr:429
  • ✨ feat(windows): add WIN_PD_OVERRIDE_* env var overrides :pr:428
  • ✨ feat(windows): add PLATFORMDIRS_* env var overrides :pr:427
  • ✨ feat(api): add use_site_for_root parameter :pr:426
  • ✨ feat(api): add site_state_dir for system-wide state :pr:425
  • ✨ feat(api): add site_log_dir and document Store Python sandbox :pr:424
  • 📝 docs(windows): document Store Python sandbox path behavior :pr:423

4.7.1 (2026-02-13)


  • 🐛 fix(windows): avoid FileNotFoundError in sandboxed environments :pr:422

4.7.0 (2026-02-12)


... (truncated)

Commits

Dependabot compatibility score

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Feb 16, 2026
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Feb 16, 2026
@github-actions github-actions bot enabled auto-merge (squash) February 16, 2026 11:32
@codecov
Copy link

codecov bot commented Feb 16, 2026

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
4328 1 4327 115
View the full list of 1 ❄️ flaky test(s)
tests.test_client_ws_functional::test_heartbeat_does_not_timeout_while_receiving_large_frame[pyloop]

Flake rate in main: 6.67% (Passed 14 times, Failed 1 times)

Stack Traces | 0.915s run time
aiohttp_client = <function aiohttp_client.<locals>.go at 0x109fe8bf0>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_heartbeat_does_not_timeout_while_receiving_large_frame#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        aiohttp_client: AiohttpClient,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Slowly receiving a single large frame should not trip heartbeat.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Regression test for the behavior described in#x1B[39;49;00m
    #x1B[33m    https://github..../aiohttp/discussions/12023: on slow connections,#x1B[39;49;00m
    #x1B[33m    the websocket heartbeat used to be reset only after a full message was read,#x1B[39;49;00m
    #x1B[33m    which could cause a ping/pong timeout while bytes were still being received.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        payload = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mx#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * #x1B[94m2048#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        heartbeat = #x1B[94m0.05#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        chunk_size = #x1B[94m64#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        delay = #x1B[94m0.01#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.WebSocketResponse:#x1B[90m#x1B[39;49;00m
            ws = web.WebSocketResponse()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m ws.prepare(request)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[94massert#x1B[39;49;00m ws._writer #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            transport = ws._writer.transport#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[90m# Server-to-client frames are not masked.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            length = #x1B[96mlen#x1B[39;49;00m(payload)  #x1B[90m# payload is fixed length of 2048 bytes#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            header = #x1B[96mbytes#x1B[39;49;00m((#x1B[94m0x82#x1B[39;49;00m, #x1B[94m126#x1B[39;49;00m)) + struct.pack(#x1B[33m"#x1B[39;49;00m#x1B[33m!H#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, length)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            frame = header + payload#x1B[90m#x1B[39;49;00m
            #x1B[94mfor#x1B[39;49;00m i #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(#x1B[94m0#x1B[39;49;00m, #x1B[96mlen#x1B[39;49;00m(frame), chunk_size):#x1B[90m#x1B[39;49;00m
                transport.write(frame[i : i + chunk_size])#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m asyncio.sleep(delay)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[90m# Ensure the server side is cleaned up.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mwith#x1B[39;49;00m suppress(asyncio.TimeoutError):#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m ws.receive(timeout=#x1B[94m1.0#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            #x1B[94mwith#x1B[39;49;00m suppress(#x1B[96mException#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m ws.close()#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m ws#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_route(#x1B[33m"#x1B[39;49;00m#x1B[33mGET#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
        client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m client.ws_connect(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, heartbeat=heartbeat) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m
            #x1B[90m# If heartbeat was not reset on any incoming bytes, the client would start#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[90m# sending PINGs while we're still streaming the message body, and since the#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[90m# server handler never calls receive(), no PONG would be produced and the#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[90m# client would close with a ping/pong timeout.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mwith#x1B[39;49;00m mock.patch.object(#x1B[90m#x1B[39;49;00m
                resp._writer, #x1B[33m"#x1B[39;49;00m#x1B[33msend_frame#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, wraps=resp._writer.send_frame#x1B[90m#x1B[39;49;00m
            ) #x1B[94mas#x1B[39;49;00m sf:#x1B[90m#x1B[39;49;00m
                msg = #x1B[94mawait#x1B[39;49;00m resp.receive()#x1B[90m#x1B[39;49;00m
>               #x1B[94massert#x1B[39;49;00m (#x1B[90m#x1B[39;49;00m
                    sf.call_args_list.count(mock.call(#x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, WSMsgType.PING)) == #x1B[94m0#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                ), #x1B[33m"#x1B[39;49;00m#x1B[33mHeartbeat PING sent while data was still being received#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE               AssertionError: Heartbeat PING sent while data was still being received#x1B[0m
#x1B[1m#x1B[31mE               assert 1 == 0#x1B[0m
#x1B[1m#x1B[31mE                +  where 1 = <built-in method count of _CallList object at 0x10b76ca10>(call(b'', <WSMsgType.PING: 9>))#x1B[0m
#x1B[1m#x1B[31mE                +    where <built-in method count of _CallList object at 0x10b76ca10> = [call(b'', <WSMsgType.PING: 9>)].count#x1B[0m
#x1B[1m#x1B[31mE                +      where [call(b'', <WSMsgType.PING: 9>)] = <AsyncMock name='send_frame' id='4493832416'>.call_args_list#x1B[0m
#x1B[1m#x1B[31mE                +    and   call(b'', <WSMsgType.PING: 9>) = call(b'', <WSMsgType.PING: 9>)#x1B[0m
#x1B[1m#x1B[31mE                +      where call = mock.call#x1B[0m
#x1B[1m#x1B[31mE                +      and   <WSMsgType.PING: 9> = WSMsgType.PING#x1B[0m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x109fe8bf0>
app        = <Application 0x10a317530>
chunk_size = 64
client     = <aiohttp.test_utils.TestClient object at 0x108f9db70>
delay      = 0.01
handler    = <function test_heartbeat_does_not_timeout_while_receiving_large_frame.<locals>.handler at 0x10a314bf0>
heartbeat  = 0.05
msg        = WSMessageBinary(data=b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', size=2048, extra='', type=<WSMsgType.BINARY: 2>)
payload    = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
resp       = <aiohttp.client_ws.ClientWebSocketResponse object at 0x10b6fd5b0>
sf         = <AsyncMock name='send_frame' id='4493832416'>

#x1B[1m#x1B[31mtests/test_client_ws_functional.py#x1B[0m:932: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@codspeed-hq
Copy link

codspeed-hq bot commented Feb 16, 2026

Merging this PR will not alter performance

✅ 59 untouched benchmarks


Comparing dependabot/pip/platformdirs-4.9.2 (ba1df47) with master (6e8f393)1

Open in CodSpeed

Footnotes

  1. No successful run was found on master (e1c41d3) during the generation of this report, so 6e8f393 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

Bumps [platformdirs](https://github.com/tox-dev/platformdirs) from 4.9.1 to 4.9.2.
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](tox-dev/platformdirs@4.9.1...4.9.2)

---
updated-dependencies:
- dependency-name: platformdirs
  dependency-version: 4.9.2
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/pip/platformdirs-4.9.2 branch from 405ee1e to ba1df47 Compare February 27, 2026 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants