Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jupyterlab-server for
openSUSE:Factory checked in at 2025-12-18 18:30:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyterlab-server (Old)
and /work/SRC/openSUSE:Factory/.python-jupyterlab-server.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyterlab-server"
Thu Dec 18 18:30:54 2025 rev:16 rq:1323307 version:2.28.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-jupyterlab-server/python-jupyterlab-server.changes
2024-09-30 15:39:50.783635384 +0200
+++
/work/SRC/openSUSE:Factory/.python-jupyterlab-server.new.1928/python-jupyterlab-server.changes
2025-12-18 18:31:16.109151014 +0100
@@ -1,0 +2,11 @@
+Sat Dec 13 14:29:04 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 2.28.0:
+ * Add `untracked_message_types` to Page Config #471
+ (@Darshan808)
+ * Fix typo in default for template directory traitlet
+ (`template_dir` → `templates_dir`) #463 (@krassowski)
+ * Add `@web.authenticated` for `ListingsHandler`'s `GET` method
+ #457 (@krassowski)
+
+-------------------------------------------------------------------
Old:
----
jupyterlab_server-2.27.3.tar.gz
New:
----
jupyterlab_server-2.28.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyterlab-server.spec ++++++
--- /var/tmp/diff_new_pack.8Fhnlu/_old 2025-12-18 18:31:16.613172182 +0100
+++ /var/tmp/diff_new_pack.8Fhnlu/_new 2025-12-18 18:31:16.613172182 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-jupyterlab-server
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -29,7 +29,7 @@
%{?sle15_python_module_pythons}
Name: python-jupyterlab-server%{psuffix}
-Version: 2.27.3
+Version: 2.28.0
Release: 0
Summary: Server components for JupyterLab and JupyterLab-like
applications
License: BSD-3-Clause
++++++ jupyterlab_server-2.27.3.tar.gz -> jupyterlab_server-2.28.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/.github/workflows/codeql-analysis.yml
new/jupyterlab_server-2.28.0/.github/workflows/codeql-analysis.yml
--- old/jupyterlab_server-2.27.3/.github/workflows/codeql-analysis.yml
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/.github/workflows/codeql-analysis.yml
2020-02-02 01:00:00.000000000 +0100
@@ -20,7 +20,7 @@
jobs:
analyze:
name: Analyze
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
strategy:
fail-fast: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/.github/workflows/fix-license-header.yml
new/jupyterlab_server-2.28.0/.github/workflows/fix-license-header.yml
--- old/jupyterlab_server-2.27.3/.github/workflows/fix-license-header.yml
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/.github/workflows/fix-license-header.yml
2020-02-02 01:00:00.000000000 +0100
@@ -5,7 +5,7 @@
jobs:
header-license-fix:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
permissions:
contents: write
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyterlab_server-2.27.3/.github/workflows/tests.yml
new/jupyterlab_server-2.28.0/.github/workflows/tests.yml
--- old/jupyterlab_server-2.27.3/.github/workflows/tests.yml 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/.github/workflows/tests.yml 2020-02-02
01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
- python-version: ["3.8", "3.12"]
+ python-version: ["3.9", "3.12"]
include:
- os: windows-latest
python-version: "3.9"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyterlab_server-2.27.3/CHANGELOG.md
new/jupyterlab_server-2.28.0/CHANGELOG.md
--- old/jupyterlab_server-2.27.3/CHANGELOG.md 2020-02-02 01:00:00.000000000
+0100
+++ new/jupyterlab_server-2.28.0/CHANGELOG.md 2020-02-02 01:00:00.000000000
+0100
@@ -2,6 +2,35 @@
<!-- <START NEW CHANGELOG ENTRY> -->
+## 2.28.0
+
+([Full
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.27.3...0cc8ebb4371cc481be90532d1486f1c4d7d2ebdc))
+
+### Enhancements made
+
+- Add `untracked_message_types` to Page Config
[#471](https://github.com/jupyterlab/jupyterlab_server/pull/471)
([@Darshan808](https://github.com/Darshan808))
+
+### Bugs fixed
+
+- Fix typo in default for template directory traitlet (`template_dir` →
`templates_dir`)
[#463](https://github.com/jupyterlab/jupyterlab_server/pull/463)
([@krassowski](https://github.com/krassowski))
+- Add `@web.authenticated` for `ListingsHandler`'s `GET` method
[#457](https://github.com/jupyterlab/jupyterlab_server/pull/457)
([@krassowski](https://github.com/krassowski))
+
+### Maintenance and upkeep improvements
+
+- Fix CI Failures
[#472](https://github.com/jupyterlab/jupyterlab_server/pull/472)
([@Darshan808](https://github.com/Darshan808))
+
+### Documentation improvements
+
+- Add documentation for `page_config_hook`
[#469](https://github.com/jupyterlab/jupyterlab_server/pull/469)
([@jtpio](https://github.com/jtpio))
+
+### Contributors to this release
+
+([GitHub contributors page for this
release](https://github.com/jupyterlab/jupyterlab_server/graphs/contributors?from=2024-07-16&to=2025-10-22&type=c))
+
+[@Darshan808](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3ADarshan808+updated%3A2024-07-16..2025-10-22&type=Issues)
|
[@jtpio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Ajtpio+updated%3A2024-07-16..2025-10-22&type=Issues)
|
[@krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Akrassowski+updated%3A2024-07-16..2025-10-22&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
## 2.27.3
([Full
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.27.2...cac303a64815e1f373acb518c783bd25787c4d40))
@@ -20,8 +49,6 @@
[@blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Ablink1073+updated%3A2024-05-22..2024-07-16&type=Issues)
|
[@fcollonval](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Afcollonval+updated%3A2024-05-22..2024-07-16&type=Issues)
-<!-- <END NEW CHANGELOG ENTRY> -->
-
## 2.27.2
([Full
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.27.1...348c8ea202704ad1b5d87fa4ca90ccbdd541d1db))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyterlab_server-2.27.3/PKG-INFO
new/jupyterlab_server-2.28.0/PKG-INFO
--- old/jupyterlab_server-2.27.3/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
+++ new/jupyterlab_server-2.28.0/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.3
+Metadata-Version: 2.4
Name: jupyterlab_server
-Version: 2.27.3
+Version: 2.28.0
Summary: A set of server components for JupyterLab and JupyterLab like
applications.
Project-URL: Homepage, https://jupyterlab-server.readthedocs.io
Project-URL: Documentation, https://jupyterlab-server.readthedocs.io
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/docs/source/api/handlers.rst
new/jupyterlab_server-2.28.0/docs/source/api/handlers.rst
--- old/jupyterlab_server-2.27.3/docs/source/api/handlers.rst 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/docs/source/api/handlers.rst 2020-02-02
01:00:00.000000000 +0100
@@ -15,6 +15,32 @@
.. autoclass:: LabHandler
:members:
+.. rubric:: Page config hook
+
+``page_config_hook`` is an optional callable you can provide via the Jupyter
Server web application settings to customize the page configuration before it
is rendered.
+
+- Where: ``web_app.settings['page_config_hook']``
+- Signature: ``callable(handler, page_config) -> dict``
+ - ``handler``: the active ``LabHandler`` instance
+ - ``page_config``: a dict containing the current page configuration
+- Return: the updated page configuration dict.
+
+Example (in a server extension ``load_jupyter_server_extension`` or
``_load_jupyter_server_extension``):
+
+.. code-block:: python
+
+ def my_page_config_hook(handler, page_config: dict) -> dict:
+ page_config.setdefault("extraKeys", {})
+ page_config["extraKeys"]["hello"] = "world"
+ return page_config
+
+
+ def load_jupyter_server_extension(serverapp):
+ web_app = serverapp.web_app
+ web_app.settings["page_config_hook"] = my_page_config_hook
+
+With this hook set, JupyterLab Server will call it during page configuration
assembly, letting you inject or tweak values prior to rendering the index page.
+
.. autofunction:: add_handlers
.. autofunction:: is_url
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/jupyterlab_server/_version.py
new/jupyterlab_server-2.28.0/jupyterlab_server/_version.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/_version.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/_version.py 2020-02-02
01:00:00.000000000 +0100
@@ -7,7 +7,7 @@
"""
import re
-__version__ = "2.27.3"
+__version__ = "2.28.0"
# Build up version_info tuple for backwards compatibility
pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyterlab_server-2.27.3/jupyterlab_server/app.py
new/jupyterlab_server-2.28.0/jupyterlab_server/app.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/app.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/app.py 2020-02-02
01:00:00.000000000 +0100
@@ -123,6 +123,14 @@
immutable_cache.update(extensions_url)
self.settings.update({"static_immutable_cache": list(immutable_cache)})
+ if self.serverapp:
+ untracked_message_types = getattr(
+ self.serverapp.kernel_manager, "untracked_message_types", None
+ )
+ if untracked_message_types:
+ web_app = self.serverapp.web_app
+ page_config_data =
web_app.settings.setdefault("page_config_data", {})
+ page_config_data["untracked_message_types"] =
list(untracked_message_types)
def initialize_templates(self) -> None:
"""Initialize templates."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyterlab_server-2.27.3/jupyterlab_server/config.py
new/jupyterlab_server-2.28.0/jupyterlab_server/config.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/config.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/config.py 2020-02-02
01:00:00.000000000 +0100
@@ -314,8 +314,8 @@
help="Whether getting a relative (False) or absolute (True) path when
copying a path.",
).tag(config=True)
- @default("template_dir")
- def _default_template_dir(self) -> str:
+ @default("templates_dir")
+ def _default_templates_dir(self) -> str:
return DEFAULT_TEMPLATE_PATH
@default("labextensions_url")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/jupyterlab_server/handlers.py
new/jupyterlab_server-2.28.0/jupyterlab_server/handlers.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/handlers.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/handlers.py 2020-02-02
01:00:00.000000000 +0100
@@ -170,7 +170,7 @@
page_config["treePath"] = tree_path
# Write the template with the config.
- tpl = self.render_template("index.html", page_config=page_config) #
type:ignore[no-untyped-call]
+ tpl = self.render_template("index.html", page_config=page_config)
self.write(tpl)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/jupyterlab_server/listings_handler.py
new/jupyterlab_server-2.28.0/jupyterlab_server/listings_handler.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/listings_handler.py
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/listings_handler.py
2020-02-02 01:00:00.000000000 +0100
@@ -82,6 +82,7 @@
# The PeriodicCallback that schedule the call to fetch_listings method.
pc = None
+ @tornado.web.authenticated
def get(self, path: str) -> None:
"""Get the listings for the extension manager."""
self.set_header("Content-Type", "application/json")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/jupyterlab_server/themes_handler.py
new/jupyterlab_server-2.28.0/jupyterlab_server/themes_handler.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/themes_handler.py
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/themes_handler.py
2020-02-02 01:00:00.000000000 +0100
@@ -6,8 +6,9 @@
import os
import re
+from collections.abc import Generator
from glob import glob
-from typing import Any, Generator
+from typing import Any
from urllib.parse import urlparse
from jupyter_server.base.handlers import FileFindHandler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyterlab_server-2.27.3/jupyterlab_server/translation_utils.py
new/jupyterlab_server-2.28.0/jupyterlab_server/translation_utils.py
--- old/jupyterlab_server-2.27.3/jupyterlab_server/translation_utils.py
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/jupyterlab_server/translation_utils.py
2020-02-02 01:00:00.000000000 +0100
@@ -17,7 +17,8 @@
import sys
import traceback
from functools import lru_cache
-from typing import Any, Pattern
+from re import Pattern
+from typing import Any
import babel
from packaging.version import parse as parse_version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyterlab_server-2.27.3/tests/test_labapp.py
new/jupyterlab_server-2.28.0/tests/test_labapp.py
--- old/jupyterlab_server-2.27.3/tests/test_labapp.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.28.0/tests/test_labapp.py 2020-02-02
01:00:00.000000000 +0100
@@ -59,7 +59,10 @@
return p.endswith(("Dir", "Path")) or p == "serverRoot"
nondirs = {k: v for k, v in page_config.items() if not ispath(k)}
- assert nondirs == {
+ untracked_message_types = getattr(
+ labserverapp.serverapp.kernel_manager, "untracked_message_types", None
+ )
+ expected_nondirs = {
"appName": "JupyterLab Server Application",
"appNamespace": "jupyterlab_server",
"appUrl": "/lab",
@@ -96,6 +99,9 @@
"workspacesApiUrl": "/lab/api/workspaces",
"wsUrl": "",
}
+ if untracked_message_types is not None:
+ expected_nondirs["untracked_message_types"] = untracked_message_types
+ assert nondirs == expected_nondirs
@pytest.fixture