[BUG] 3.0.4 breaks compatibility by changing signal arguments

Open
#1,086 8 comments 1 reaction 1 assignee View on GitHub

@penguinolog is already working on this.

Since Dec 10, 2025.

Assessment

This issue has not been assessed yet.

Description

bug

urwid 3.0.4 broke pudb, see https://github.com/inducer/pudb/issues/715. This seems to have been the result of #1079, where it is not clear to me whether the compatibility implications of this change were adequately considered. The arguments received by the signal are now wrapped in a singleton tuple, when previously, the were not. I don't think I saw deprecation warnings that would have allowed pudb to adapt.

In adapting to this unwelcome compatibility break, I've switched to using functools.partial to supply the argument, forgoing user_data entirely. Since it seems unnecessary, maybe the right approach would be to restore compatibility and to deprecate the mechanism outright, since it doesn't really seem necessary?

Dominant language
Python
Stars
3k
Forks
344
Avg merge
2h 5m
Merged PRs (30d)
79

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from urwid/urwid

All issues in urwid/urwid

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.