Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-jupyter-events for 
openSUSE:Factory checked in at 2026-09-08 16:57:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-events (Old)
 and      /work/SRC/openSUSE:Factory/.python-jupyter-events.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jupyter-events"

Tue Sep  8 16:57:03 2026 rev:11 rq:1376003 version:0.12.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jupyter-events/python-jupyter-events.changes  
    2025-06-23 14:56:52.252822476 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-jupyter-events.new.1265/python-jupyter-events.changes
    2026-09-08 17:00:23.819689631 +0200
@@ -1,0 +2,10 @@
+Sun Sep  6 08:10:28 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.12.1:
+  * [Bug] Fix empty error messages from failing event listeners
+  * Add security.md #113 (@Carreau)
+  * The following people contributed discussions, new ideas, code
+    and documentation contributions, and review.
+  * See our definition of contributors.
+
+-------------------------------------------------------------------

Old:
----
  jupyter_events-0.12.0.tar.gz

New:
----
  jupyter_events-0.12.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-jupyter-events.spec ++++++
--- /var/tmp/diff_new_pack.mlZTom/_old  2026-09-08 17:00:24.731727518 +0200
+++ /var/tmp/diff_new_pack.mlZTom/_new  2026-09-08 17:00:24.734727642 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-jupyter-events
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 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
@@ -24,7 +24,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-jupyter-events
-Version:        0.12.0
+Version:        0.12.1
 Release:        0
 Summary:        Jupyter Event System library
 License:        BSD-3-Clause

++++++ jupyter_events-0.12.0.tar.gz -> jupyter_events-0.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_events-0.12.0/CHANGELOG.md 
new/jupyter_events-0.12.1/CHANGELOG.md
--- old/jupyter_events-0.12.0/CHANGELOG.md      2020-02-02 01:00:00.000000000 
+0100
+++ new/jupyter_events-0.12.1/CHANGELOG.md      2020-02-02 01:00:00.000000000 
+0100
@@ -4,6 +4,29 @@
 
 <!-- <START NEW CHANGELOG ENTRY> -->
 
+## 0.12.1
+
+([Full 
Changelog](https://github.com/jupyter/jupyter_events/compare/v0.12.0...69306b1d1577a1a71ba27a4b12314fa31771ee71))
+
+### Bugs fixed
+
+- [Bug] Fix empty error messages from failing event listeners 
[#118](https://github.com/jupyter/jupyter_events/pull/118) 
([@Zsailer](https://github.com/Zsailer))
+
+### Maintenance and upkeep improvements
+
+- Add security.md [#113](https://github.com/jupyter/jupyter_events/pull/113) 
([@Carreau](https://github.com/Carreau))
+
+### Contributors to this release
+
+The following people contributed discussions, new ideas, code and 
documentation contributions, and review.
+See [our definition of 
contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
+
+([GitHub contributors page for this 
release](https://github.com/jupyter/jupyter_events/graphs/contributors?from=2025-02-03&to=2026-04-20&type=c))
+
+@Carreau 
([activity](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_events+involves%3ACarreau+updated%3A2025-02-03..2026-04-20&type=Issues))
 | @Zsailer 
([activity](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_events+involves%3AZsailer+updated%3A2025-02-03..2026-04-20&type=Issues))
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
 ## 0.12.0
 
 ([Full 
Changelog](https://github.com/jupyter/jupyter_events/compare/v0.11.0...6704ea630522f44542d83608f750da0068e41443))
@@ -22,8 +45,6 @@
 
 
[@bollwyvl](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_events+involves%3Abollwyvl+updated%3A2024-12-17..2025-02-03&type=Issues)
 | 
[@Carreau](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_events+involves%3ACarreau+updated%3A2024-12-17..2025-02-03&type=Issues)
 
-<!-- <END NEW CHANGELOG ENTRY> -->
-
 ## 0.11.0
 
 ([Full 
Changelog](https://github.com/jupyter/jupyter_events/compare/v0.10.0...f8012610f86408908004febed9e0e06ef71ca951))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_events-0.12.0/PKG-INFO 
new/jupyter_events-0.12.1/PKG-INFO
--- old/jupyter_events-0.12.0/PKG-INFO  2020-02-02 01:00:00.000000000 +0100
+++ new/jupyter_events-0.12.1/PKG-INFO  2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: jupyter-events
-Version: 0.12.0
+Version: 0.12.1
 Summary: Jupyter Event System library
 Project-URL: Homepage, http://jupyter.org
 Project-URL: documentation, https://jupyter-events.readthedocs.io/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_events-0.12.0/SECURITY.md 
new/jupyter_events-0.12.1/SECURITY.md
--- old/jupyter_events-0.12.0/SECURITY.md       1970-01-01 01:00:00.000000000 
+0100
+++ new/jupyter_events-0.12.1/SECURITY.md       2020-02-02 01:00:00.000000000 
+0100
@@ -0,0 +1,10 @@
+# Security Policy
+
+## Reporting a Vulnerability
+
+All IPython and Jupyter security are handled via [email protected].
+You can find more information on the Jupyter website. 
https://jupyter.org/security
+
+## Tidelift
+
+You can also report security concerns for jupyter-eveents via the [Tidelift 
platform](https://tidelift.com/security).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_events-0.12.0/jupyter_events/_version.py 
new/jupyter_events-0.12.1/jupyter_events/_version.py
--- old/jupyter_events-0.12.0/jupyter_events/_version.py        2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_events-0.12.1/jupyter_events/_version.py        2020-02-02 
01:00:00.000000000 +0100
@@ -6,7 +6,7 @@
 import re
 
 # Version string must appear intact for hatch versioning
-__version__ = "0.12.0"
+__version__ = "0.12.1"
 
 # 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/jupyter_events-0.12.0/jupyter_events/logger.py 
new/jupyter_events-0.12.1/jupyter_events/logger.py
--- old/jupyter_events-0.12.0/jupyter_events/logger.py  2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_events-0.12.1/jupyter_events/logger.py  2020-02-02 
01:00:00.000000000 +0100
@@ -402,9 +402,19 @@
         def _listener_task_done(task: asyncio.Task[t.Any]) -> None:
             # If an exception happens, log it to the main
             # applications logger
-            err = task.exception()
+            try:
+                err = task.exception()
+            except asyncio.CancelledError:
+                self._active_listeners.discard(task)
+                return
             if err:
-                self.log.error(err)
+                self.log.error(
+                    "Event listener %s failed for %s: %s",
+                    task.get_name(),
+                    schema_id,
+                    err,
+                    exc_info=err,
+                )
             self._active_listeners.discard(task)
 
         # Loop over listeners and execute them.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_events-0.12.0/tests/test_listeners.py 
new/jupyter_events-0.12.1/tests/test_listeners.py
--- old/jupyter_events-0.12.0/tests/test_listeners.py   2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_events-0.12.1/tests/test_listeners.py   2020-02-02 
01:00:00.000000000 +0100
@@ -140,6 +140,33 @@
     assert len(event_logger._active_listeners) == 0
 
 
+async def 
test_listener_that_raises_exception_with_empty_message(jp_event_logger, schema):
+    """Exceptions with empty str() should still produce useful log output."""
+    event_logger = jp_event_logger
+
+    # Get an application logger that will show the exception
+    app_log = event_logger.log
+    log_stream = io.StringIO()
+    h = logging.StreamHandler(log_stream)
+    app_log.addHandler(h)
+
+    async def listener_raise_empty(logger: EventLogger, schema_id: str, data: 
dict) -> None:
+        raise RuntimeError()  # Empty message — str(err) == ""
+
+    event_logger.add_listener(schema_id=schema.id, 
listener=listener_raise_empty)
+    event_logger.emit(schema_id=schema.id, data={"prop": "hello, world"})
+
+    await event_logger.gather_listeners()
+
+    # Check that the log output is NOT empty — the exception type should appear
+    h.flush()
+    log_output = log_stream.getvalue()
+    assert "RuntimeError" in log_output
+    assert "failed" in log_output
+    # Check that the active listeners are cleaned up.
+    assert len(event_logger._active_listeners) == 0
+
+
 @pytest.mark.parametrize(
     # Make sure no schemas are added at the start of this test.
     "jp_event_schemas",

Reply via email to