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

Reply via email to