cpython-withatomic / Mac / Relnotes

	Release notes for MacPython 1.5.1
	---------------------------------
	
Open Issues and bugs:

- Packages ("dotted import") appears to have problems for the cfm68k
  version of MacPython. Please report anything of interest you find as
  soon as possible, preferrably to pythonmac-sig@python.org. I no longer
  have access to a reasonable 68K machine, so it may well be that this
  means the demise of cfm68k Python is near.
- Printing a NumPy "array([1.2])" may cause a crash in
  cfm68k-Python. Same comments as above.

Changes since the previous version:

Here are the mac-specific changes since MacPython 1.4, with
end-user-visible changes near the top and API changes and other things
that are developer-only more to the bottom. Changes marked with a [*]
are new changes since 1.5b3 (there has never been a MacPython 1.5
final). And, of course, all Guido's 1.5.1 changes are
incorporated.

- Imported modules are now case-checked: the case of the filename
  should match the name under which you import it [*]
- There is now some minimal documentation on building true standalone
  applications in Python, see building.html [*]
- Python's private resources now use numbers from 228 up, because of
  conflicts with Tk. This may affect you if you include private
  resources in applets. [*]
- Audio_mac spike bug fixed. [*]
- FrameWork menu cleanup fixed. [*]
- More MacOS errors now have a (somewhat) symbolic description. [*]
- mactty module added to allow basic access to a serial line. [*]
- toolbox modules have been regenerated, occasionally giving access to 
  new functionality. They are now based upon Universal Headers version 
  3.1 [*]
- Waste module now uses Waste 1.3 [*]
- Waste module now exports WE{Get,Set}TabSize [*]
- Ordinal support in aetypes added (by Bill Bedford) [*]
- ColorPicker module added (by Just van Rossum). It isn't documented,
  but the docstring should be good enough. [*]
- Printing module added (by Just van Rossum). It isn't documented and
  it isn't easy to understand, but with Inside Mac beside you it might 
  be useable. There's a test script in Mac:Lib:test. [*]
- Sndihooks module added to give access to sound-input. Only lightly
  tested and not documented yet. [*]
- fstat() added to mac module. [*]
- double dispose in MacOS.splash() fixed. [*]
- Qt module now supports getting/setting movie times [*]
- BuildApplet now also accepts old applets as input, which are updated 
  to the current Python version [*]
- Moved Mac:Lib:toolbox and scripting to lib-toolbox and
  lib-scripting, analogous to Guido's changes. Initial sys.path settings
  reflect this change
- Added cPickle and cStringIO modules
- Balloon help in set-preferences dialog and EditPythonPrefs
- An interface to the Help Maganer has been added
- New modules "preferences" and "pythonprefs" which allow access to
  Python preferences and implements a general preference-handling
  framework. New EditPythonPrefs uses this.
- Applescript suite modules are now in a separate Mac:Lib:scripting
  folder
- Most modules now export their type objects
- MacOS.SysBeep() and MacOS.GetTicks() added
- sys.prefix and sys.exec_prefix are now set correctly
- Installation is now through an installer 
- mkapplet and MkPluginAliases have been renamed to BuildApplet and
  ConfigurePython 
- Applescript classes and properties are now exported by suites. Very
  sketchy documentation added to applescript.html 
- Tkinter now uses tcl/tk 8.0 
- imports should be faster due to caching path information 
- Generated suites now live in Mac:Lib:scripting 
- Added zlib module 
- Tkinter setfilehandler() did not work for sockets, fixed 
- "Delay console window" option didn't work, fixed. Also check out the
  quietconsole.py module 
- Menu bar is restored (if needed) when keeping console open after
  exit 
- Influencing command-. and event processing (formerly MacOS.SetYield
  and MacOS.SetScheduleTimes) has been changed, see the manual 
- FrameWork (or your own windowing code) can use asynchronous
  callbacks to keep user interface responsive during long computations 
- Module to interface to Internet Config added
- Module calldll added that allows calling of arbitrary C routines
  from MacOS toolboxes
- gdbm module added
- ctb error handling fixed, and some memory leaks plugged
- Various of the documentation files in Mac:Demo have been updated
- MacOS.string_id_to_buffer is a new hack: the number you have to
  add to the id() of a string object to get the (data) memory address
- MacOS.splash() double-free fixed
- macfs.FSSpec.as_pathname() was incorrect for disk toplevel folders
- QT.NewMovieFromFile has an extra parameter and an extra return value
- EasyDialogs.ProgressBar has changed both in layout and interface
- FrameWork.Application has a new cleanup() method which asks all windows
  to close themselves.
- Loading of PYC resources from the application greatly speeded up,
  especially for CDROM based applications
- interrupt check/eventloop only entered 10 times per second, giving
  big speedup
- Allow any object (file, folder, disk) to be dropped on an applet
- Twit resource number conflict with debuggee fixed
- sys.path preference can now be longer than 255 chars
- cfmfile module allows parsing and merging of CFRG resources
- PythonFAT and PythonApplet are now fat (PPC/CFM68K) applications, so
  applets can be moved between architectures.
- Twit resource number conflict with debuggee fixed
- mkapplet now uses a progress bar in stead of print statements
- unshar made a bit more mac-friendly (input output dialogs)
- img: added png, xbm, bmp support
- img: jpeg now uses IJG v6 library
- img: import of imagefile support modules delayed until needed
- img: better error handling for truncated images and such
- img: imgop.unpack() can unpack formats with multiple pixels per byte

- build numbers work and are maintained in macbuildno.h by fullbuild.py
- We now use CW Pro 1, with multitarget projects and such goodies 
- fixed xx plugin project for cfm68k 
- All files updated to new Py_ naming convention
- Toolbox modules regenerated from new Universal Headers
- nfullpath() merged into PyMac_GetFullPath()
- Added support for Metrowerks profiler
- Standard MW/MSL runtime libraries used in stead of homegrown version
- Allow any object (file, folder, disk) to be dropped on an applet
- Malloc now returns cache-line-aligned memory on PPC, which speeds
  things up, especially on a 604. Dictionaries put this to good use.
- statically linked pythons won't inadvertantly load .slb modules
- Removed dependencies on PLStringFuncs and/or StdCLib
- Project "segment" structure changed to more-or-less follow folder
  structure
- fullbuild redesigned
- Added PyMac_Initialize() call, for use by embedding programs.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.