Announcing Urwid 1.0.0 ----------------------
Urwid home page: http://excess.org/urwid/
About this release: ===================
This is a major feature release for Urwid:
It's the first official release that has support for Python 3.
There's a new experimental Terminal widget so you can terminal while you terminal or write a screen-clone.
There's a new example showing how to serve Urwid interfaces to many users simultaneously over ssh with Twisted.
There are new classes to help with creating dynamic tree views of anything you have that's tree-like.
There are new widgets for working with pop-ups so you can now have all the menu bars, drop-downs and combo-boxes you can write.
The old requirement to sprinkle draw_screen() calls around your callbacks is gone. Urwid now updates the screen automatically after everything else is done.
There's a new simple MainLoop method for catching updates from other threads and processes. No need to manually fumble with os.pipe() and event loops.
And lots more...
Happy 1.0 Urwid! It's been a great nearly-seven years since our first release. Huge thanks to everyone that's contributed code, docs, bug reports and help on the mailing list and IRC.
New in this release: ====================
* New support for Python 3.2 from the same 2.x code base, requires distribute instead of setuptools (by Kirk McDonald, Wendell, Marien Zwart) everything except TwistedEventLoop and GLibEventLoop is supported
* New experimental Terminal widget with xterm emulation and terminal.py example program (by aszlig)
* Edit widget now supports a mask (for passwords), has a insert_text_result() method for full-field validation and normalizes input text to Unicode or bytes based on the caption type used
* New TreeWidget, TreeNode, ParentNode, TreeWalker and TreeListBox classes for lazy expanding/collapsing tree views factored out of browse.py example program, with new treesample.py example program (by Rob Lanphier)
* MainLoop now calls draw_screen() just before going idle, so extra calls to draw_screen() in user code may now be removed
* New MainLoop.watch_pipe() method for subprocess or threaded communication with the process/thread updating the UI, and new subproc.py example demonstrating its use
* New PopUpLauncher and PopUpTarget widgets and MainLoop option for creating pop-ups and drop-downs, and new pop_up.py example program
* New twisted_serve_ssh.py example (by Ali Afshar) that serves multiple displays over ssh from the same application using Twisted and the TwistedEventLoop
* ListBox now includes a get_cursor_coords() method, allowing nested ListBox widgets
* Columns widget contents may now be marked to always be treated as flow widgets for mixing flow and box widgets more easily
* New lcd_display module with support for CF635 USB LCD panel and lcd_cf635.py example program with menus, slider controls and a custom font
* Shared command_map instance is now stored as Widget._command_map class attribute and may be overridden in subclasses or individual widgets for more control over special keystrokes
* Overlay widget parameters may now be adjusted after creation with set_overlay_parameters() method
* New WidgetPlaceholder widget useful for swapping widgets without having to manipulate a container widget's contents
* LineBox widgets may now include title text
* ProgressBar text content and alignment may now be overridden
* Use reactor.stop() in TwistedEventLoop and document that Twisted's reactor is not designed to be stopped then restarted
* curses_display now supports AttrSpec and external event loops (Twisted or GLib) just like raw_display
* raw_display and curses_display now support the IBMPC character set (currently only used by Terminal widget)
* Fix for a gpm_mev bug preventing user input when on the console
* Fix for leaks of None objects in str_util extension
* Fix for WidgetWrap and AttrMap not working with fixed widgets
* Fix for a lock up when attempting to wrap text containing wide characters into a single character column
About Urwid ===========
Urwid is a console UI library for Python. It features fluid interface resizing, Unicode support, multiple text layouts, simple attribute markup, powerful scrolling list boxes and flexible interface design.
Urwid is released under the GNU LGPL.