Please see the file incompat.txt for the changes which may cause
incompatibility problems in your WPY Python programs.

Version 0.41       19 March 1996

The sockets module is now built into the NT dll (instead of using
  socket.pyd).  Also, socket.WSAStartup() and socket.WSACleanup() were
  added.  Windows sockets require a call to WSAStartup() before use, BUT
  NOTE that WSAStartup() is called from initsocket when the socket module
  is imported, so you will not need to call it unless the first call fails.
  You should still call WSACleanup() when you are done with sockets.
The select module now is included.  It only works for sockets.
Added os.getcwd().

Added ctrl.wpyBrush and ctrl.wpyTextColor to set control colors.
Added view.wpyBrush and dialog.wpyBrush to set window background color.
Added method SetCheck() to CMenuCheck and CMenuRadio.
Moved wpyStyle definitions so that WS_TABSTOP can be added to controls.

Version 0.40       19 January 1996

The class method OnChar() now exits the app under Windows when
  the user types Control-break (use Control-C on Tk).
New global functions SetTimer(), KillTimer() implement time delays.
New multi-line edit control with optional scroll bars: CMultiEdit.
New menu methods Destroy() and Insert() to change menu items.
Can now use tabs within list box item lines.
Fixed a problem with setting a font in a window.
Python core is now in a dll and is at version 1.3.
Fixed win32s dialog color and 3-d control problems.  Use the new
  ctl3d32.32s dll in msoftdll.exe.

Version 0.34       20 November 1995

New drawing methods for circles, ellipses, polygons, arcs,
  pie slices and chords.
New document method to set the title.  Fixed MDI frame titles.
For the Tk version: new look for MDI, fixed OnChar() method in CEditView,
  fixed ".." since 1.3 no longer includes it in os.listdir().
Added a way to set background and text color for a CEdit edit control.
Added DestroyDrawn() to destroy a drawn object.
Redraw() is now able to change an object's position.
Rudimentary printing support, one page only.

Version 0.33       11 October 1995

Standard file open/save dialog boxes are available in CFileDialog
  classes.  See dialog.txt.

Message OnKillFocus(self, new_focus) was added.


Version 0.32       11 October 1995

The right mouse button methods OnRButtonUp/Down/DblClk were added.

The CImage class now reads GIF and PPM format files in Windows and Tk.
The Windows version also reads BMP and DIB files.


Version 0.31       6 October 1995

The new classes CImage and CDrawnImage implement drawing images
  (bitmaps) to a view.  See draw.txt.

New and documented standard dialog boxes.  See dialog.txt and
  global.txt.

New dialog methods OnEnter() and OnEsc().  See dialog.txt.


Version 0.30       10 September 1995

The scroll speed in Windows was greatly increased by caching
  the objects drawn to a CScrollView, and refreshing the view
  from the cache.
The draw functions such as DrawText() return class instances
  representing the object drawn.
New method CScrollView::GetDrawnObject(self, x, y) to return
  the object at the point (x, y).
New method GetIndexXY(self, view, x, y) to return the character
  index of the drawn text at point (x, y) of the view.
New method CEdit::SetSel(self, c1, c2) to set the selection
  or the cursor position within an edit control.

Version 0.24       10 August 1995

Numerous small impovements, including:
  Set the frame window size with frame.MoveWindowSize().
  A new wait cursor feature.  See cmdtarg.txt.
  More documentation.  See frame.txt etc.
  GetDeviceScrollPosition() for scrolled edit views.
  SetFocus() for windows. 
  The OnChar() message is sent to the edit control.  Useful
    for catching "Enter" to dismiss the control if it is not
    in a dialog box.
  Support for modeless dialogs.  See dialog.txt.
  DestroyWindow() for windows.  Useful to destroy a control.
