Skip to content

Commit 57eee77

Browse files
authored
Merge pull request #250 from pusher/security/bump-python-deps
Bump Python 3.10+ dependencies to resolve known vulnerabilities (v3.3.4)
2 parents 10372d0 + 4b6101f commit 57eee77

File tree

7 files changed

+45
-42
lines changed

7 files changed

+45
-42
lines changed

.github/workflows/release.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99
- name: Checkout code
10-
uses: actions/checkout@v2
10+
uses: actions/checkout@v4
1111
with:
1212
fetch-depth: 0
1313
- name: Prepare tag
@@ -26,7 +26,7 @@ jobs:
2626
id: release_output
2727
if: ${{ steps.prepare_tag.outcome == 'success' }}
2828
run: |
29-
echo "::set-output name=tag::${{ env.TAG }}"
29+
echo "tag=${{ env.TAG }}" >> $GITHUB_OUTPUT
3030
outputs:
3131
tag: ${{ steps.release_output.outputs.tag }}
3232

@@ -35,7 +35,7 @@ jobs:
3535
needs: check-release-tag
3636
if: ${{ needs.check-release-tag.outputs.tag }}
3737
steps:
38-
- uses: actions/checkout@v2
38+
- uses: actions/checkout@v4
3939
- name: Prepare tag
4040
run: |
4141
export TAG=v$(awk '/VERSION =/ { gsub("'"\'"'",""); print $3 }' pusher/version.py)
@@ -49,22 +49,22 @@ jobs:
4949
csplit -s CHANGELOG.md "/##/" {1}
5050
cat xx01 > CHANGELOG.tmp
5151
- name: Create Release
52-
uses: actions/create-release@v1
53-
env:
54-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52+
uses: softprops/action-gh-release@v2.6.1
5553
with:
5654
tag_name: ${{ env.TAG }}
57-
release_name: ${{ env.TAG }}
55+
name: ${{ env.TAG }}
5856
body_path: CHANGELOG.tmp
5957
draft: false
6058
prerelease: false
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6161

6262
upload-to-PyPI:
6363
runs-on: ubuntu-latest
6464
needs: create-github-release
6565
steps:
66-
- uses: actions/checkout@v2
67-
- uses: actions/setup-python@v4
66+
- uses: actions/checkout@v4
67+
- uses: actions/setup-python@v5
6868
with:
6969
python-version: '3.10'
7070
- name: Build package

.github/workflows/release_pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ jobs:
1111
name: Prepare release
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v4
1515
- name: Get current version
1616
shell: bash
1717
run: |
1818
CURRENT_VERSION=$(awk '/VERSION =/ { gsub("'"\'"'",""); print $3 }' pusher/version.py)
1919
echo "CURRENT_VERSION=$CURRENT_VERSION" >> $GITHUB_ENV
20-
- uses: actions/checkout@v2
20+
- uses: actions/checkout@v4
2121
with:
2222
repository: pusher/public_actions
2323
path: .github/actions

.github/workflows/test.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@ on:
77

88
jobs:
99
test:
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-latest
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
python: [3.6, 3.7, 3.8, "3.10"]
14+
python: ["3.10", "3.11", "3.12"]
1515

1616
name: Python ${{ matrix.python }} Test
1717

1818
steps:
1919
- name: Checkout
20-
uses: actions/checkout@v2
20+
uses: actions/checkout@v4
2121

2222
- name: Setup Python
23-
uses: actions/setup-python@v2
23+
uses: actions/setup-python@v5
2424
with:
2525
python-version: ${{ matrix.python }}
2626

2727
- name: Install dependencies
2828
run: pip install -r requirements.txt
2929

3030
- name: Run test suite
31-
run: python setup.py test
31+
run: python -m unittest discover -s pusher_tests --top-level-directory .

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# Changelog
22

3+
## 3.3.4
4+
5+
- [FIXED] Bump Python 3.10+ dependencies to resolve known vulnerabilities: cryptography (41.0.0 → 46.0.5), requests (2.27.1 → 2.32.4), urllib3 (1.26.9 → 2.6.3), aiohttp (3.8.1 → 3.13.3), pynacl (1.5.0 → 1.6.2)
6+
37
## 3.3.2
48

5-
- [CHANGED] Utilities no longer escape non ascii characters.
9+
- [CHANGED] Utilities no longer escape non ascii characters.
610

711
## 3.3.1
812

9-
- [ADDED] Allow Client to accept float as a timeout
13+
- [ADDED] Allow Client to accept float as a timeout
1014
- [CHANGED] the maximum event payload size permitted by this library has been increased. This change affects the library only: the Channels API still maintains a 10kb size limit and will return an error if the payload is too large.
1115

1216
## 3.3.0

pusher/aiohttp.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
division)
88

99
import aiohttp
10-
import asyncio
1110

1211
from pusher.http import process_response
1312

@@ -21,23 +20,22 @@ def __init__(self, client):
2120
self.client = client
2221

2322

24-
@asyncio.coroutine
25-
def send_request(self, request):
23+
async def send_request(self, request):
2624
session = response = None
2725
try:
2826
session = aiohttp.ClientSession()
29-
response = yield from session.request(
27+
response = await session.request(
3028
request.method,
3129
"%s%s" % (request.base_url, request.path),
3230
params=request.query_params,
3331
data=request.body,
3432
headers=request.headers,
3533
timeout=self.client.timeout
3634
)
37-
body = yield from response.text('utf-8')
35+
body = await response.text('utf-8')
3836
return process_response(response.status, body)
3937
finally:
4038
if response is not None:
4139
response.close()
4240
if session is not None:
43-
yield from session.close()
41+
await session.close()

pusher/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Don't change the format of this line: the version is extracted by ../setup.py
2-
VERSION = '3.3.3'
2+
VERSION = '3.3.4'

requirements.txt

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,31 @@ pyOpenSSL==19.0.0; python_version < '3.10'
1616
requests==2.22.0; python_version < '3.10'
1717
six==1.12.0; python_version < '3.10'
1818
urllib3==1.25.9; python_version < '3.10'
19-
aiohttp==3.5.4; python_version >= '3.5' and python_version < '3.10'
20-
aiohttp==3.8.1; python_version >= '3.10'
21-
aiosignal==1.2.0; python_version >= '3.10'
19+
aiohappyeyeballs==2.6.1; python_version >= '3.10'
20+
aiohttp==3.13.3; python_version >= '3.10'
21+
aiosignal==1.4.0; python_version >= '3.10'
2222
async-timeout==3.0.1; python_version >= '3.5' and python_version < '3.10'
23-
async-timeout==4.0.2; python_version >= '3.10'
23+
async-timeout==5.0.1; python_version >= '3.10'
2424
attrs==19.1.0; python_version >= '3.5' and python_version < '3.10'
25-
attrs==21.4.0; python_version >= '3.10'
26-
certifi==2021.10.8; python_version >= '3.10'
27-
charset-normalizer==2.0.12; python_version >= '3.10'
28-
cryptography==41.0.0; python_version >= '3.10'
29-
frozenlist==1.3.0; python_version >= '3.10'
25+
attrs==25.4.0; python_version >= '3.10'
26+
certifi==2026.2.25; python_version >= '3.10'
27+
charset-normalizer==3.4.6; python_version >= '3.10'
28+
cryptography==46.0.5; python_version >= '3.10'
29+
frozenlist==1.8.0; python_version >= '3.10'
3030
httpretty==1.1.4; python_version >= '3.10'
3131
idna-ssl==1.1.0; python_version >= '3.5' and python_version < '3.7'
32-
idna==3.3; python_version >= '3.10'
32+
idna==3.11; python_version >= '3.10'
3333
multidict==4.5.2; python_version >= '3.5' and python_version < '3.10'
34-
multidict==6.0.2; python_version >= '3.10'
34+
multidict==6.7.1; python_version >= '3.10'
35+
propcache==0.4.1; python_version >= '3.10'
3536
py==1.11.0; python_version >= '3.10'
36-
pycparser==2.21; python_version >= '3.10'
37-
PyNaCl==1.5.0; python_version >= '3.10'
37+
pycparser==2.23; python_version >= '3.10'
38+
PyNaCl==1.6.2; python_version >= '3.10'
3839
pyparsing==3.0.8; python_version >= '3.10'
39-
requests==2.27.1; python_version >= '3.10'
40-
six==1.16.0; python_version >= '3.10'
40+
requests==2.32.4; python_version >= '3.10'
41+
six==1.17.0; python_version >= '3.10'
4142
tornado==5.1.1; python_version < '3.5'
4243
tornado==6.0.2; python_version >= '3.5' and python_version < '3.10'
43-
urllib3==1.26.9; python_version >= '3.10'
44+
urllib3==2.6.3; python_version >= '3.10'
4445
yarl==1.3.0; python_version >= '3.5' and python_version < '3.10'
45-
yarl==1.7.2; python_version >= '3.10'
46+
yarl==1.22.0; python_version >= '3.10'

0 commit comments

Comments
 (0)