Skip to content

Commit df73f8f

Browse files
authored
Merge pull request #2 from jupyterhub/main
update
2 parents 5de5692 + 75cba2c commit df73f8f

File tree

14 files changed

+1511
-1064
lines changed

14 files changed

+1511
-1064
lines changed

.github/workflows/linkcheck.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- uses: actions/checkout@v4
2525
- uses: actions/setup-python@v5
2626
with:
27-
python-version: "3.11"
27+
python-version: "3.12"
2828

2929
- name: Install deps
3030
run: pip install -r docs/requirements.txt

.github/workflows/publish.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
- uses: actions/setup-python@v5
3838
with:
39-
python-version: "3.11"
39+
python-version: "3.12"
4040

4141
- uses: actions/setup-node@v4
4242
with:
@@ -68,16 +68,16 @@ jobs:
6868
sha256sum * | tee SHA256SUMS
6969
7070
- name: Upload Python artifact
71-
uses: actions/upload-artifact@v3
71+
uses: actions/upload-artifact@v4
7272
with:
73-
name: dist
73+
name: dist-${{ github.run_attempt }}
7474
path: dist
7575
if-no-files-found: error
7676

7777
- name: Upload Javascript artifact
78-
uses: actions/upload-artifact@v3
78+
uses: actions/upload-artifact@v4
7979
with:
80-
name: jsdist
80+
name: jsdist-${{ github.run_attempt }}
8181
path: jsdist
8282
if-no-files-found: error
8383

@@ -90,12 +90,12 @@ jobs:
9090
steps:
9191
- uses: actions/setup-python@v5
9292
with:
93-
python-version: "3.11"
93+
python-version: "3.12"
9494

9595
- name: Download artifacts from build
96-
uses: actions/download-artifact@v3
96+
uses: actions/download-artifact@v4
9797
with:
98-
name: dist
98+
name: dist-${{ github.run_attempt }}
9999
path: dist
100100

101101
# The PyPI publishing action will try to publish this checksum file as if
@@ -125,9 +125,9 @@ jobs:
125125
registry-url: https://registry.npmjs.org
126126

127127
- name: Download artifacts from build
128-
uses: actions/download-artifact@v3
128+
uses: actions/download-artifact@v4
129129
with:
130-
name: jsdist
130+
name: jsdist-${{ github.run_attempt }}
131131
path: jsdist
132132

133133
- run: |

.github/workflows/test.yaml

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ on:
2121
branches-ignore:
2222
- "dependabot/**"
2323
- "pre-commit-ci-update-config"
24+
schedule:
25+
# Run at 05:00 on monday and thursday, ref: https://crontab.guru/#0_5_*_*_1,4
26+
- cron: "0 5 * * 1,4"
2427
workflow_dispatch:
2528

2629
env:
@@ -37,7 +40,7 @@ jobs:
3740

3841
- uses: actions/setup-python@v5
3942
with:
40-
python-version: "3.11"
43+
python-version: "3.12"
4144

4245
- uses: actions/setup-node@v4
4346
with:
@@ -53,13 +56,13 @@ jobs:
5356
run: pyproject-build
5457

5558
- name: Upload built artifacts
56-
uses: actions/upload-artifact@v3
59+
uses: actions/upload-artifact@v4
5760
with:
58-
name: dist-${{ github.run_number }}
61+
name: dist-${{ github.run_attempt }}
5962
path: ./dist
6063

6164
test:
62-
name: ${{ matrix.os }} ${{ matrix.python-version }} ${{ matrix.pip-extras }}
65+
name: ${{ matrix.os }} ${{ matrix.python-version }} ${{ matrix.pip-extras }} ${{ (matrix.pip-install-constraints != '' && '(oldest deps)') || '' }}
6366
needs: [build]
6467
timeout-minutes: 30
6568
runs-on: ${{ matrix.os }}
@@ -71,18 +74,43 @@ jobs:
7174
fail-fast: false
7275
matrix:
7376
os: [ubuntu-22.04, windows-2022]
74-
python-version: ["3.8", "3.11"]
75-
pip-extras: ["lab", "classic"]
77+
python-version: ["3.8", "3.12"]
78+
pip-extras: [lab, classic]
79+
pip-install-constraints: [""]
7680
exclude:
7781
# windows should work for all test variations, but a limited selection
7882
# is run to avoid doubling the amount of test runs
7983
- os: windows-2022
80-
python-version: "3.11"
84+
python-version: "3.12"
8185
pip-extras: classic
8286
- os: windows-2022
8387
python-version: "3.8"
8488
pip-extras: lab
8589

90+
# FIXME: If https://github.com/jupyter/notebook/pull/7305 gets merged
91+
# and released, we can test "classic" with python 3.12 as well,
92+
# but until then we exclude it from being run as a Python 3.12
93+
# test and include it as a Python 3.11 test.
94+
- os: ubuntu-22.04
95+
python-version: "3.12"
96+
pip-extras: classic
97+
include:
98+
# this test is manually updated to reflect the lower bounds of
99+
# versions from dependencies
100+
- os: ubuntu-22.04
101+
python-version: "3.8"
102+
pip-extras: classic
103+
pip-install-constraints: >-
104+
jupyter-server==1.24.0
105+
simpervisor==1.0.0
106+
tornado==6.1.0
107+
traitlets==5.1.0
108+
109+
# Workaround for excluded 3.12 test mentioned in a FIXME above
110+
- os: ubuntu-22.04
111+
python-version: "3.11"
112+
pip-extras: classic
113+
86114
steps:
87115
- uses: actions/checkout@v4
88116

@@ -94,9 +122,9 @@ jobs:
94122
run: pip install --upgrade pip
95123

96124
- name: Download built artifacts
97-
uses: actions/download-artifact@v3
125+
uses: actions/download-artifact@v4
98126
with:
99-
name: dist-${{ github.run_number }}
127+
name: dist-${{ github.run_attempt }}
100128
path: ./dist
101129

102130
- name: Install Python package
@@ -105,7 +133,7 @@ jobs:
105133
#
106134
# Pytest options are set in `pyproject.toml`.
107135
run: |
108-
pip install -vv $(ls ./dist/*.whl)\[acceptance,${{ matrix.pip-extras }}\]
136+
pip install -vv $(ls ./dist/*.whl)\[acceptance,${{ matrix.pip-extras }}\] ${{ matrix.pip-install-constraints }}
109137
110138
- name: List Python packages
111139
run: |
@@ -152,16 +180,14 @@ jobs:
152180
153181
- name: Upload test reports
154182
if: always()
155-
uses: actions/upload-artifact@v3
183+
uses: actions/upload-artifact@v4
156184
with:
157185
name: |-
158-
tests-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.pip-extras }}-${{ github.run_number }}
186+
tests-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.pip-extras }}-${{ (matrix.pip-install-constraints != '' && 'oldest-') || '' }}${{ github.run_attempt }}
159187
path: |
160188
./build/pytest
161189
./build/coverage
162190
./build/robot
163191
164192
# GitHub action reference: https://github.com/codecov/codecov-action
165-
- uses: codecov/codecov-action@v3
166-
with:
167-
directory: build/.coverage
193+
- uses: codecov/codecov-action@v4

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ For example, after installing [`mambaforge`](https://conda-forge.org/miniforge),
2525
create a new environment with all heavy development and test dependencies:
2626

2727
```yaml
28-
mamba create --name=jupyter-server-proxy --channel=conda-forge "python=3.11" "nodejs=20" pip git geckodriver firefox
28+
mamba create --name=jupyter-server-proxy --channel=conda-forge "python=3.12" "nodejs=20" pip git geckodriver firefox
2929
mamba activate jupyter-server-proxy
3030
```
3131

docs/source/changelog.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,71 @@
11
# Changelog
22

3+
## 4.2
4+
5+
### v4.2.0 - 2024-06-11
6+
7+
This release includes an important security patch for
8+
[CVE-2024-35225 ](https://github.com/jupyterhub/jupyter-server-proxy/security/advisories/GHSA-fvcq-4x64-hqxr).
9+
10+
([full changelog](https://github.com/jupyterhub/jupyter-server-proxy/compare/v4.1.2...v4.2.0))
11+
12+
#### Maintenance and upkeep improvements
13+
14+
- Require jupyter_server 1.24+, tornado 6.1+, traitlets 5.1+ [#467](https://github.com/jupyterhub/jupyter-server-proxy/pull/467) ([@consideRatio](https://github.com/consideRatio))
15+
- Test against Python 3.12 [#450](https://github.com/jupyterhub/jupyter-server-proxy/pull/450) ([@consideRatio](https://github.com/consideRatio))
16+
17+
#### Documentation improvements
18+
19+
- Document the correct default value for new_browser_tab. [#470](https://github.com/jupyterhub/jupyter-server-proxy/pull/470) ([@ryanlovett](https://github.com/ryanlovett))
20+
21+
#### Contributors to this release
22+
23+
([GitHub contributors page for this release](https://github.com/jupyterhub/jupyter-server-proxy/graphs/contributors?from=2024-03-19&to=2024-06-08&type=c))
24+
25+
[@consideRatio](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3AconsideRatio+updated%3A2024-03-19..2024-06-08&type=Issues) | [@ryanlovett](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Aryanlovett+updated%3A2024-03-19..2024-06-08&type=Issues) | [@welcome](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Awelcome+updated%3A2024-03-19..2024-06-08&type=Issues)
26+
327
## 4.1
428

29+
### 4.1.2 - 2024-03-13
30+
31+
#### Bugs fixed
32+
33+
- Keep proxying all requested subprotocols [#462](https://github.com/jupyterhub/jupyter-server-proxy/pull/462) ([@consideRatio](https://github.com/consideRatio))
34+
35+
### 4.1.1 - 2024-03-13
36+
37+
This release includes an important security patch for the critical vulnerability
38+
[GHSA-w3vc-fx9p-wp4v](https://github.com/jupyterhub/jupyter-server-proxy/security/advisories/GHSA-w3vc-fx9p-wp4v).
39+
The security patch is also available in version 3.2.3.
40+
41+
#### Bugs fixed
42+
43+
- Ensure no blank `Sec-Websocket-Protocol` headers and warn if websocket subprotocol edge case occur [#458](https://github.com/jupyterhub/jupyter-server-proxy/pull/458) ([@consideRatio](https://github.com/consideRatio), [@duytnguyendtn](https://github.com/duytnguyendtn), [@minrk](https://github.com/minrk), [@benz0li](https://github.com/benz0li))
44+
- Fix double formatting of callables (`command`, `environment`, `request_headers_override`) [#437](https://github.com/jupyterhub/jupyter-server-proxy/pull/437) ([@diocas](https://github.com/diocas), [@consideRatio](https://github.com/consideRatio))
45+
46+
#### Maintenance and upkeep improvements
47+
48+
- labextension: refreeze yarn.lock [#461](https://github.com/jupyterhub/jupyter-server-proxy/pull/461) ([@consideRatio](https://github.com/consideRatio))
49+
- List tornado and traitlets as dependencies explicitly, and cleanup unreachable code [#457](https://github.com/jupyterhub/jupyter-server-proxy/pull/457) ([@consideRatio](https://github.com/consideRatio), [@minrk](https://github.com/minrk))
50+
- Fix failure to upload code coverage reports [#454](https://github.com/jupyterhub/jupyter-server-proxy/pull/454) ([@consideRatio](https://github.com/consideRatio))
51+
- Update tests for notebook 7.1 [#451](https://github.com/jupyterhub/jupyter-server-proxy/pull/451) ([@consideRatio](https://github.com/consideRatio))
52+
- tests: fix failure to log error after all retries failed [#441](https://github.com/jupyterhub/jupyter-server-proxy/pull/441) ([@consideRatio](https://github.com/consideRatio))
53+
- Declare metadata in pyproject.toml, remove hatch-nodejs-version plugin [#427](https://github.com/jupyterhub/jupyter-server-proxy/pull/427) ([@consideRatio](https://github.com/consideRatio), [@bollwyvl](https://github.com/bollwyvl), [@manics](https://github.com/manics))
54+
55+
#### Continuous integration improvements
56+
57+
- ci: upgrade to v4 of upload/download-artifact actions [#455](https://github.com/jupyterhub/jupyter-server-proxy/pull/455) ([@consideRatio](https://github.com/consideRatio))
58+
- ci: schedule test runs twice a week [#452](https://github.com/jupyterhub/jupyter-server-proxy/pull/452) ([@consideRatio](https://github.com/consideRatio))
59+
60+
#### Contributors to this release
61+
62+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
63+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports).
64+
65+
([GitHub contributors page for this release](https://github.com/jupyterhub/jupyter-server-proxy/graphs/contributors?from=2023-09-25&to=2024-03-13&type=c))
66+
67+
@benz0li ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Abenz0li+updated%3A2023-09-25..2024-03-13&type=Issues)) | @bollwyvl ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Abollwyvl+updated%3A2023-09-25..2024-03-13&type=Issues)) | @consideRatio ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3AconsideRatio+updated%3A2023-09-25..2024-03-13&type=Issues)) | @diocas ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Adiocas+updated%3A2023-09-25..2024-03-13&type=Issues)) | @duytnguyendtn ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Aduytnguyendtn+updated%3A2023-09-25..2024-03-13&type=Issues)) | @goekce ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Agoekce+updated%3A2023-09-25..2024-03-13&type=Issues)) | @manics ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Amanics+updated%3A2023-09-25..2024-03-13&type=Issues)) | @minrk ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Aminrk+updated%3A2023-09-25..2024-03-13&type=Issues)) | @rcthomas ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Arcthomas+updated%3A2023-09-25..2024-03-13&type=Issues)) | @sk1p ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Ask1p+updated%3A2023-09-25..2024-03-13&type=Issues)) | @steverweber ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Asteverweber+updated%3A2023-09-25..2024-03-13&type=Issues)) | @yuvipanda ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fjupyter-server-proxy+involves%3Ayuvipanda+updated%3A2023-09-25..2024-03-13&type=Issues))
68+
569
### 4.1.0 - 2023-09-25
670

771
#### New features added
@@ -98,6 +162,10 @@ See [our definition of contributors](https://github-activity.readthedocs.io/en/l
98162

99163
## 3.2
100164

165+
### 3.2.3 - 2024-03-13
166+
167+
This is a security release for [GHSA-w3vc-fx9p-wp4v](https://github.com/jupyterhub/jupyter-server-proxy/security/advisories/GHSA-w3vc-fx9p-wp4v).
168+
101169
### 3.2.2 - 2022-09-08
102170

103171
#### Bugs fixed

docs/source/server-process.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ the following keys:
129129

130130
### `new_browser_tab`
131131

132-
_JupyterLab only_ - _True_ if the proxied server URL should be opened in a new browser tab.
133-
_False_ (default) if the proxied server URL should be opened in a new JupyterLab tab.
132+
_JupyterLab only_ - _True_ (default) if the proxied server URL should be opened in a new browser tab.
133+
_False_ if the proxied server URL should be opened in a new JupyterLab tab.
134134

135135
If _False_, the proxied server needs to allow its pages to be rendered in an iframe. This
136136
is generally done by configuring the web server `X-Frame-Options` to `SAMEORIGIN`.

0 commit comments

Comments
 (0)