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.