blob: 2200fa54082b3d5c66fdfffaf777c1ceb7e29952 [file] [log] [blame]
Jack Jansen9de05f42001-03-20 23:30:38 +00001Changes in 2.1b2 since 2.0
Jack Jansen538bd132000-10-19 21:58:27 +00002--------------------------
Jack Jansenecbc1cc1998-01-06 12:13:16 +00003
Jack Jansen26d7c142000-09-11 22:47:12 +00004These release notes refer to Mac-specific changes only. See NEWS (in the Misc folder)
Jack Jansen9de05f42001-03-20 23:30:38 +00005for machine-independent changes. Changes since 2.1b1 are
Jack Jansencbe7b1c2001-03-06 22:42:12 +00006marked with [*] and at the bottom of the list.
Jack Jansenecbc1cc1998-01-06 12:13:16 +00007
Jack Jansen9de05f42001-03-20 23:30:38 +00008- This release is Carbon-based, so it runs natively on MacOS 8.6 or
Jack Jansen2b73fe92001-03-27 21:38:55 +00009 later and MacOSX. (Note that on MacOSX MacPython will run as a normal Mac application,
10 if you want to run Python from the BSD commandline get a unix-Python distribution
11 from www.python.org).
Jack Jansencbe7b1c2001-03-06 22:42:12 +000012- Alternatively there is a classic PPC interpreter as well. There are two reasons you
13 might want to use this: (a) you have a pre-MacOS9 system and don't want to install
14 CarbonLib, or (b) you need Tkinter, for which no Carbon version is available yet.
Jack Jansen2f9a9e32001-02-17 22:03:42 +000015- Distutils is included and seems to work.
16- There's a new module (package, actually) mkcwproject which builds CodeWarrior
17 projects from simple templates. See Distutils or :Mac:scripts:genpluginprojects.py
18 for examples of use.
Jack Jansen2b73fe92001-03-27 21:38:55 +000019- The Numerical extension has moved to :Lib:site-python from :Extensions. As Numerical
20 is now distutils-based you can easily install newer versions when they become
21 available.
Jack Jansen3aee7752001-04-06 09:02:43 +000022- The Help and ctb modules are not available under Carbon because that functionality is
23 not in Carbon.
Jack Jansen2f9a9e32001-02-17 22:03:42 +000024- Windows and Dialogs can now be different beasts, so you may have to call
25 dlg.GetDialogWindow() where you used to be able to call window methods straight
26 on the dialog. This also has consequences for code using FrameWork.DialogWindow.
27 THIS IS AN INCOMPATIBLE CHANGE.
28- ctl.GetControlDataHandle() has been renamed to GetControlData_Handle(), and similarly
29 for the other variants of GetControlData and SetControlData. This was needed
30 because Carbon defines a completely different routine with the name GetControlDataHandle.
31 THIS IS AN INCOMPATIBLE CHANGE.
32- Method mac.xstat() has disappeared. THIS IS AN INCOMPATIBLE CHANGE.
33- Menu.SetPopupData() and GetPopupData() are gone. Use SetPopupMenuHandle() and
34 SetPopupMenuID() (and the getters) in stead. THIS IS AN INCOMPATIBLE CHANGE.
35- Various methods have disappeared when running under Carbon. The script
36 :Mac:scripts:missingcarbonmethods.py can check your sources, but you need unix to run
37 it. Or use it as documentation and search by hand. THIS IS AN INCOMPATIBLE CHANGE.
38- The good news is that "direct access to toolbox structs" still works from Python,
39 so Python programmers have a lot less to fix than C programmers.
40 That's because the lowlevel code simply uses the accessors internally. The accessors
41 are available both in Carbon and Classic MacPython.
42- Scrap under Carbon is, you guessed it, the Carbon Scrap Manager. Some workarounds are
43 provided, though. THIS IS AN INCOMPATIBLE CHANGE.
44- The Internet Config routines that are missing from Carbon have been removed. This
45 is no problem if you use the "ic" module, but may be if you use "icglue" directly.
46 THIS IS AN INCOMPATIBLE CHANGE.
47- Various old toolbox names (CountMItems, EnableItem, etc) have disappeared. Use the
48 new forms (CountMenuItems, EnableMenuItem, etc). THIS IS AN INCOMPATIBLE CHANGE.
49- Waste now uses Waste 2.0.
50- The default memory size for the interpreter has been upped again.
51- The MacOS error messages have been updated to reflect the current state of
52 things. This was long overdue.
53- The crash in BuildApplication has been fixed.
54- struct.pack related problems (in Audio_Mac, for example) have been fixed.
55- (src/dev/cvs only): The project files now use the .mcp extension in stead of .prj.
56 Projects for almost all plugins and the img modules are automatically generated
57 with :Mac:scripts:genpluginprojects.py (also called by fullbuild). The .mcp files
58 are not in the repository, if you don't want to use genpluginprojects you can import
59 the .mcp.xml files in CodeWarrior.
Jack Jansen24033e32001-02-27 23:24:07 +000060- ConfigurePython has been replace by two applets: ConfigurePythonClassic and
61 ConfigurePythonCarbon. These will select either execution model for machines
Jack Jansen9de05f42001-03-20 23:30:38 +000062 supporting both, and it will also build all the standard applets.
Jack Jansencbe7b1c2001-03-06 22:42:12 +000063- PythonInterpreterCarbon and PythonInterpreterClassic are now files of type "Atmp", not
64 "APPL", so there should not be any confusion as to what the real application is
Jack Jansen9de05f42001-03-20 23:30:38 +000065 (PythonInterpreter).
66- A BBEdit language module by Chris Stern is included in the :Mac:Contrib folder.
Jack Jansen8ef786e2001-03-15 14:27:09 +000067- The ConfigurePython applets will now detect if the preference file refers to a different
Jack Jansen9de05f42001-03-20 23:30:38 +000068 folder than where they live. They offer to remove the preference file in this case.
69- Import case-check was broken in 2.1b1, this is fixed. [*]
70- A side-effect of the previous fix is that getpass works again. [*]
71- BuildApplication was broken under Carbon. Fixed. [*]
Jack Jansen46e13022000-09-24 22:01:53 +000072
Jack Jansen26d7c142000-09-11 22:47:12 +000073
74What is not in this distribution
75--------------------------------
76
Jack Jansen2f9a9e32001-02-17 22:03:42 +000077- The garbage collection mods have not been enabled, mainly due to lack of test-time.
Jack Jansen8ef786e2001-03-15 14:27:09 +000078- Stackless Python/microthreads hasn't been ported to 2.1 yet. If/when it becomes available
Jack Jansende519092000-10-12 21:21:43 +000079 Just will undoubtedly announce it on pythonmac-sig and the MacPython homepage.
Jack Jansen26d7c142000-09-11 22:47:12 +000080
81Known problems
82--------------
83
84This list is far from complete, more problems may be listed on the MacPython homepage,
85http://www.cwi.nl/~jack/macpython.html.
86
Jack Jansen9de05f42001-03-20 23:30:38 +000087- Tkinter does not work under Carbon.
Jack Jansen26d7c142000-09-11 22:47:12 +000088- The IDE and Tkinter do not work together. Run tkinter programs under PythonInterpreter.
Jack Jansen4c522032001-03-08 23:07:16 +000089- After running a Tkinter program your menubar may end up dead, with command-alt-escape
90 the only way to terminate Python.
91- Tkinter file events do not work, unless you have opened the file through Tcl (but then
92 you cannot access it from Python).
Jack Jansen26d7c142000-09-11 22:47:12 +000093- Aliases do not work in sys.path entries.
Jack Jansen2f9a9e32001-02-17 22:03:42 +000094- The menu bar isn't always correctly restored before MacPython turns to <<terminated>>.
95- Under Carbon only you may occasionally see a spurious KeyboardInterrupt. I have absolutely
96 no clue as to what is causing this.
Jack Jansen4c522032001-03-08 23:07:16 +000097- PythonInterpreter used interactively will eat a lot of processor cycles. You should use
98 PythonIDE for interactive work and PythonInterpreter for scripts only.
Jack Jansen8ef786e2001-03-15 14:27:09 +000099- Under MacOSX Public Beta ConfigurePython cannot put PythonCore in the global CFMSupport
100 folder. Therefore applets have to live in the Python folder, otherwise they cannot find
101 PythonCore. There is a workaround if you want to have an applet in a different folder:
102 put an alias PythonCoreCarbon (pointing to the PythonCoreCarbon in the Python folder)
103 in the same folder as your applet.
104 This problem should in all probability not occur in the release version of MacOSX.