diff --git a/jsx/src/components/GroupEdit/GroupEdit.jsx b/jsx/src/components/GroupEdit/GroupEdit.jsx index 22e96abe..79db6634 100644 --- a/jsx/src/components/GroupEdit/GroupEdit.jsx +++ b/jsx/src/components/GroupEdit/GroupEdit.jsx @@ -110,6 +110,7 @@ const GroupEdit = (props) => { data-testid="submit" className="btn btn-primary" onClick={() => { + // check for changes let new_users = selected.filter( (e) => !group_data.users.includes(e), ); diff --git a/jupyterhub/app.py b/jupyterhub/app.py index f339dbe9..6c7ddf75 100644 --- a/jupyterhub/app.py +++ b/jupyterhub/app.py @@ -310,6 +310,9 @@ class JupyterHub(Application): Loading one set of groups, then starting JupyterHub again with a different set will not remove users or groups from previous launches. That must be done through the API. + + .. versionchanged:: 3.2 + Changed format of group from list of usernames to dict """, ).tag(config=True) diff --git a/jupyterhub/tests/test_app.py b/jupyterhub/tests/test_app.py index 215520c0..65f99c56 100644 --- a/jupyterhub/tests/test_app.py +++ b/jupyterhub/tests/test_app.py @@ -30,7 +30,7 @@ def test_help_all(): assert '--JupyterHub.ip' in out -@pytest.mark.skipif(V(traitlets.__version__) < V('5'), reason="requires traitlets 5") +@pytest.mark.skipif(traitlets.version_info < (5,), reason="requires traitlets 5") def test_show_config(tmpdir): tmpdir.chdir() p = Popen(