pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/py-urwid
Module Name: pkgsrc
Committed By: wiz
Date: Sun Nov 8 19:22:39 UTC 2026
Modified Files:
pkgsrc/devel/py-urwid: Makefile PLIST distinfo
Log Message:
py-urwid: update to 5.1.0.
Security fixes 🛡
Keep web display sessions private to their user: the session id was the name of a FIFO in the shared pipe_dir, so any local user could list it, type into another user’s application and read its
screen. Session files now live in a 0700 directory per user under hashed names, the daemon runs with umask 077, and max_clients counts only the user’s own sessions (GHSA-xm5p-pwm6-5w65) by
@penguinolog in https://github.com/urwid/urwid/security/advisories/GHSA-xm5p-pwm6-5w65
Keep control characters of a Terminal child off the host terminal: a child that selected the IBM PC character set could run OSC 52, OSC 2 or CSI commands on the host terminal through a UTF-8
encoded C1 control; also see “Bug fixes” below: Harden the displays against hostile input and failed start or stop by @penguinolog in https://github.com/urwid/urwid/pull/1599
Stop buffering an over-long DECRPM reply from terminal input, which grew memory without limit and took quadratic time, and apply a DECRPM reply only as the answer to a query the raw display sent,
so pasted text shaped like a reply cannot switch terminal modes by @penguinolog in https://github.com/urwid/urwid/pull/1599
Major features 🗹
Add Table: a fixed header over a scrolling body of rows whose columns share their widths, with TableColumn (packed, given or weighted width, per-column attribute map), TableRow and TableLayout
for shared widths outside a Table by @penguinolog in https://github.com/urwid/urwid/pull/1550 and https://github.com/urwid/urwid/pull/1559
Add Tabs: a row of tab labels over the selected tab’s body, with overflow markers, an optional underline row, the Command.NEXT_TAB and Command.PREVIOUS_TAB commands and the "focus changed" signal
by @penguinolog in https://github.com/urwid/urwid/pull/1566 and https://github.com/urwid/urwid/pull/1594
Add Edit(placeholder=...), whole-value validation (validator=, Severity, ValidationMessage, the "validation" signal) and completion (text_completer=, the "completion_cycle" signal) by
@penguinolog in https://github.com/urwid/urwid/pull/1561
Add readline editing commands and CommandMap.bind_readline(), Edit(undo_limit=...) with undo and redo, and Edit(kill_buffer=...) with yank by @penguinolog in
https://github.com/urwid/urwid/pull/1565
Keep the focus child marked while a container is unfocused: Pile, Columns, ListBox and GridFlow take unfocused_focus_attr= by @penguinolog in https://github.com/urwid/urwid/pull/1549
Add get_running_loop() and get_running_loop_or_none() for the MainLoop of the current thread and task; a Terminal built without main_loop= watches its pty on the running loop and shows the
child’s output by @penguinolog in https://github.com/urwid/urwid/pull/1569
New features 🗹
Add MainLoop.call_from_thread() to run a callback on the loop thread from another thread or a signal handler, and MainLoop(poll_interval=...) for screens without event loop support, such as
curses by @penguinolog in https://github.com/urwid/urwid/pull/1573
Add a WebSocket display, urwid.display.websocket.Screen, that any HTTP server library can drive, GuardedEventLoop to keep one application’s error off a shared event loop, and
examples/websocket_tornado.py by @penguinolog in https://github.com/urwid/urwid/pull/1597
Add OverlayStack: nested dialogs over a base widget, optionally closed on Esc or a click outside by @penguinolog in https://github.com/urwid/urwid/pull/1592
Add FilteredListWalker: a read-only filtered view over a list or deque walker by @penguinolog in https://github.com/urwid/urwid/pull/1593
Add Notifications: timed messages for a footer or a status line by @penguinolog in https://github.com/urwid/urwid/pull/1572
Add Spinner: an activity indicator for work without a total by @penguinolog in https://github.com/urwid/urwid/pull/1585
Send "menu" from Overlay when its top widget leaves Esc unhandled by @penguinolog in https://github.com/urwid/urwid/pull/1547
Close pop-ups and Overlay dialogs on a click outside them: the Overlay signal "click outside" and PopUpLauncher(close_on_click_outside=True), which DropDown turns on by @penguinolog in
https://github.com/urwid/urwid/pull/1570
Send "focus changed" from Frame by @penguinolog in https://github.com/urwid/urwid/pull/1563
Add RadioButton.selected_button by @penguinolog in https://github.com/urwid/urwid/pull/1562
Add the Edit signal "cancel", sent on the menu key (Esc) by @penguinolog in https://github.com/urwid/urwid/pull/1582
Add ListBox(edge="stop"): Up and Down stop at the ends of the list instead of leaving it by @penguinolog in https://github.com/urwid/urwid/pull/1583
Add TreeWidget.Symbols (TreeSymbols), tree icons of any width, TreeWidget.leaf_icon and connector lines by @penguinolog in https://github.com/urwid/urwid/pull/1571
Add MouseButton: named mouse buttons, including the horizontal wheel and the back and forward buttons by @penguinolog in https://github.com/urwid/urwid/pull/1579
Add Screen.set_title() for the terminal window title; the raw display restores the previous title on stop by @penguinolog in https://github.com/urwid/urwid/pull/1578
Add Screen.copy_to_clipboard() over OSC 52 by @penguinolog in https://github.com/urwid/urwid/pull/1580
Add InputClosedError, a RuntimeError the raw display raises when its input reaches end of file by @penguinolog in https://github.com/urwid/urwid/pull/1581
Add BaseScreen.palette, a read-only view of the registered palette, and register_palette(..., replace=True) by @penguinolog in https://github.com/urwid/urwid/pull/1588
Add hex digits, brackets and math signs to the BigText fonts by @penguinolog in https://github.com/urwid/urwid/pull/1591
Deprecations ⚡
Deprecate the LCD display module, urwid.display.lcd, for removal in 6.0 by @penguinolog in https://github.com/urwid/urwid/pull/1587
Bug fixes 🕷
Containers and layout
Hide zero-height Pile rows from the cursor and keys by @charan-rathore in https://github.com/urwid/urwid/pull/1543
Skip hidden Pile rows and Columns columns in focus moves by @penguinolog in https://github.com/urwid/urwid/pull/1545
Move the Columns focus only to columns the last layout drew: a Columns wider than the screen no longer scrolls to a hidden column by keys by @penguinolog in
https://github.com/urwid/urwid/pull/1550
Keep weighted Pile row heights the same for every focus position, and redraw a container when a child it did not draw changes size by @penguinolog in https://github.com/urwid/urwid/pull/1564
Redraw widgets when a layout attribute is assigned, such as Padding.left or Overlay.top by @penguinolog in https://github.com/urwid/urwid/pull/1546
Measure a flow-sized Overlay top widget at the width it is rendered at, so its last rows are no longer cut off; render a fixed-only widget in a given-width Padding by @penguinolog in
https://github.com/urwid/urwid/pull/1596
Pack and render a fixed-only widget in LineBox by @penguinolog in https://github.com/urwid/urwid/pull/1590
Cut a LineBox title wider than the box with an ellipsis by @penguinolog in https://github.com/urwid/urwid/pull/1548
Widgets, lists and walkers
Report one focus move when ListBox completes set_focus() by @penguinolog in https://github.com/urwid/urwid/pull/1544
Do not fail when a ListBox with no rows is drawn or gets a key by @nk-batman21 in https://github.com/urwid/urwid/pull/1552
Notify after partially extending a monitored deque by @charan-rathore in https://github.com/urwid/urwid/pull/1553
Draw ScrollBar end markers only from 4 rows by @penguinolog in https://github.com/urwid/urwid/pull/1558
Make a DropDown with a single option read-only by @penguinolog in https://github.com/urwid/urwid/pull/1560
Clear the group when a RadioButton is created selected by @penguinolog in https://github.com/urwid/urwid/pull/1577
Fix BarGraph rows for interleaved segments of adjacent bars, which raised BarGraphError or drew the wrong colours by @rahul05ranjan in https://github.com/urwid/urwid/pull/1538
Displays and terminals
Clear IEXTEN and FLUSHO in the raw and curses displays, so ctrl v, ctrl o and ctrl y reach the application on macOS and the BSDs by @penguinolog in https://github.com/urwid/urwid/pull/1589
Keep the closed-input error when the terminal hangs up by @penguinolog in https://github.com/urwid/urwid/pull/1576
Restore the terminal when a display start or stop fails, stop the curses input spinning once the terminal is gone, keep curses mouse positions past column or row 222, and decode curses mouse
events on PyPy; also see “Security fixes” above by @penguinolog in https://github.com/urwid/urwid/pull/1599
Remove the Terminal pty watch by its handle, which left the watch registered on tornado and raised AttributeError on trio by @penguinolog in https://github.com/urwid/urwid/pull/1568
Run watch_file() and watch_pipe() callbacks in the main loop of a screen without event loop support, such as curses by @penguinolog in https://github.com/urwid/urwid/pull/1569
Let the CF635 LCD screen run under MainLoop again by @penguinolog in https://github.com/urwid/urwid/pull/1575
Free an Overlay, Frame or ListBox without a cycle collection after its contents was read, and close only the owned loop when an AsyncioEventLoop is finalised while another asyncio loop runs by
@penguinolog in https://github.com/urwid/urwid/pull/1592
Performance 🛠
Speed up Pile and Columns sizing loops (up to 19% less time for Pile.rows and keypress) by @penguinolog in https://github.com/urwid/urwid/pull/1595
Speed up Pile sizing with 0-high rows (27% less time) by @dexhunter in https://github.com/urwid/urwid/pull/1574
Speed up Overlay rendering (up to 14% less time for nested dialogs) by @penguinolog in https://github.com/urwid/urwid/pull/1596
Documentation 🕮
Rebuild the calc example: two tabs, big digits and themes; it replaces examples/pop_up.py by @penguinolog in https://github.com/urwid/urwid/pull/1598
To generate a diff of this commit:
cvs rdiff -u -r1.79 -r1.80 pkgsrc/devel/py-urwid/Makefile
cvs rdiff -u -r1.26 -r1.27 pkgsrc/devel/py-urwid/PLIST
cvs rdiff -u -r1.67 -r1.68 pkgsrc/devel/py-urwid/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/py-urwid/Makefile
diff -u pkgsrc/devel/py-urwid/Makefile:1.79 pkgsrc/devel/py-urwid/Makefile:1.80
--- pkgsrc/devel/py-urwid/Makefile:1.79 Sun Nov 1 22:04:22 2026
+++ pkgsrc/devel/py-urwid/Makefile Sun Nov 8 19:22:39 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.79 2026/11/01 22:04:22 wiz Exp $
+# $NetBSD: Makefile,v 1.80 2026/11/08 19:22:39 wiz Exp $
-DISTNAME= urwid-5.0.1
+DISTNAME= urwid-5.1.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=u/urwid/}
@@ -25,8 +25,8 @@ TEST_DEPENDS+= ${PYPKGPREFIX}-zmq>=0:../
USE_LANGUAGES= # none
-# as of 5.0.1
-# 165 passed, 1 skipped, 6 warnings
+# as of 5.1.0
+# 186 passed, 1 skipped, 6 warnings
.include "../../lang/python/batteries-included.mk"
.include "../../lang/python/wheel.mk"
Index: pkgsrc/devel/py-urwid/PLIST
diff -u pkgsrc/devel/py-urwid/PLIST:1.26 pkgsrc/devel/py-urwid/PLIST:1.27
--- pkgsrc/devel/py-urwid/PLIST:1.26 Sun Nov 1 22:04:22 2026
+++ pkgsrc/devel/py-urwid/PLIST Sun Nov 8 19:22:39 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.26 2026/11/01 22:04:22 wiz Exp $
+@comment $NetBSD: PLIST,v 1.27 2026/11/08 19:22:39 wiz Exp $
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
@@ -33,6 +33,13 @@ ${PYSITELIB}/urwid/display/_raw_display_
${PYSITELIB}/urwid/display/_raw_display_base.pyo
${PYSITELIB}/urwid/display/_web.css
${PYSITELIB}/urwid/display/_web.js
+${PYSITELIB}/urwid/display/_web_common.js
+${PYSITELIB}/urwid/display/_web_common.py
+${PYSITELIB}/urwid/display/_web_common.pyc
+${PYSITELIB}/urwid/display/_web_common.pyo
+${PYSITELIB}/urwid/display/_websocket.css
+${PYSITELIB}/urwid/display/_websocket.html
+${PYSITELIB}/urwid/display/_websocket.js
${PYSITELIB}/urwid/display/_win32.py
${PYSITELIB}/urwid/display/_win32.pyc
${PYSITELIB}/urwid/display/_win32.pyo
@@ -60,6 +67,9 @@ ${PYSITELIB}/urwid/display/raw.pyo
${PYSITELIB}/urwid/display/web.py
${PYSITELIB}/urwid/display/web.pyc
${PYSITELIB}/urwid/display/web.pyo
+${PYSITELIB}/urwid/display/websocket.py
+${PYSITELIB}/urwid/display/websocket.pyc
+${PYSITELIB}/urwid/display/websocket.pyo
${PYSITELIB}/urwid/event_loop/__init__.py
${PYSITELIB}/urwid/event_loop/__init__.pyc
${PYSITELIB}/urwid/event_loop/__init__.pyo
@@ -72,6 +82,9 @@ ${PYSITELIB}/urwid/event_loop/asyncio_lo
${PYSITELIB}/urwid/event_loop/glib_loop.py
${PYSITELIB}/urwid/event_loop/glib_loop.pyc
${PYSITELIB}/urwid/event_loop/glib_loop.pyo
+${PYSITELIB}/urwid/event_loop/guarded_loop.py
+${PYSITELIB}/urwid/event_loop/guarded_loop.pyc
+${PYSITELIB}/urwid/event_loop/guarded_loop.pyo
${PYSITELIB}/urwid/event_loop/main_loop.py
${PYSITELIB}/urwid/event_loop/main_loop.pyc
${PYSITELIB}/urwid/event_loop/main_loop.pyo
@@ -169,6 +182,9 @@ ${PYSITELIB}/urwid/widget/edit.pyo
${PYSITELIB}/urwid/widget/filler.py
${PYSITELIB}/urwid/widget/filler.pyc
${PYSITELIB}/urwid/widget/filler.pyo
+${PYSITELIB}/urwid/widget/filtered_walker.py
+${PYSITELIB}/urwid/widget/filtered_walker.pyc
+${PYSITELIB}/urwid/widget/filtered_walker.pyo
${PYSITELIB}/urwid/widget/frame.py
${PYSITELIB}/urwid/widget/frame.pyc
${PYSITELIB}/urwid/widget/frame.pyo
@@ -190,9 +206,15 @@ ${PYSITELIB}/urwid/widget/monitored_dequ
${PYSITELIB}/urwid/widget/monitored_list.py
${PYSITELIB}/urwid/widget/monitored_list.pyc
${PYSITELIB}/urwid/widget/monitored_list.pyo
+${PYSITELIB}/urwid/widget/notifications.py
+${PYSITELIB}/urwid/widget/notifications.pyc
+${PYSITELIB}/urwid/widget/notifications.pyo
${PYSITELIB}/urwid/widget/overlay.py
${PYSITELIB}/urwid/widget/overlay.pyc
${PYSITELIB}/urwid/widget/overlay.pyo
+${PYSITELIB}/urwid/widget/overlay_stack.py
+${PYSITELIB}/urwid/widget/overlay_stack.pyc
+${PYSITELIB}/urwid/widget/overlay_stack.pyo
${PYSITELIB}/urwid/widget/padding.py
${PYSITELIB}/urwid/widget/padding.pyc
${PYSITELIB}/urwid/widget/padding.pyo
@@ -211,6 +233,15 @@ ${PYSITELIB}/urwid/widget/scrollable.pyo
${PYSITELIB}/urwid/widget/solid_fill.py
${PYSITELIB}/urwid/widget/solid_fill.pyc
${PYSITELIB}/urwid/widget/solid_fill.pyo
+${PYSITELIB}/urwid/widget/spinner.py
+${PYSITELIB}/urwid/widget/spinner.pyc
+${PYSITELIB}/urwid/widget/spinner.pyo
+${PYSITELIB}/urwid/widget/table.py
+${PYSITELIB}/urwid/widget/table.pyc
+${PYSITELIB}/urwid/widget/table.pyo
+${PYSITELIB}/urwid/widget/tabs.py
+${PYSITELIB}/urwid/widget/tabs.pyc
+${PYSITELIB}/urwid/widget/tabs.pyo
${PYSITELIB}/urwid/widget/text.py
${PYSITELIB}/urwid/widget/text.pyc
${PYSITELIB}/urwid/widget/text.pyo
Index: pkgsrc/devel/py-urwid/distinfo
diff -u pkgsrc/devel/py-urwid/distinfo:1.67 pkgsrc/devel/py-urwid/distinfo:1.68
--- pkgsrc/devel/py-urwid/distinfo:1.67 Sun Nov 1 22:04:22 2026
+++ pkgsrc/devel/py-urwid/distinfo Sun Nov 8 19:22:39 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.67 2026/11/01 22:04:22 wiz Exp $
+$NetBSD: distinfo,v 1.68 2026/11/08 19:22:39 wiz Exp $
-BLAKE2s (urwid-5.0.1.tar.gz) = 7a9bf41798639cc7d28657fad0b358aa7c594bca9bc472b3260e85194d5dd2a3
-SHA512 (urwid-5.0.1.tar.gz) = facd6b7d434c18ee4d1c3892b31c7fdf6ece24286190a084cbe81aafd7d7da761700b979ed0e4e1d791751122cb625312a7f13fcd068eb8b5284c602a22e796f
-Size (urwid-5.0.1.tar.gz) = 442871 bytes
+BLAKE2s (urwid-5.1.0.tar.gz) = 0ad5ca9ee8248adc199687f0b10ec6e65c6093fc55e015c7222e4566be3685bf
+SHA512 (urwid-5.1.0.tar.gz) = d063f51a8d0e9e1ab21e37ebc6ef2cc98232844aa0faac2f4f75253599fd78af3d88c55b0ea5cedb284c4845098495fa9ce6fb0e4d73bd3fd6c241d778f9a719
+Size (urwid-5.1.0.tar.gz) = 528491 bytes
Home |
Main Index |
Thread Index |
Old Index