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",