Files for 2.1 distribution.
diff --git a/Mac/Build/PythonCore.exp b/Mac/Build/PythonCore.exp
index 8b89f24..75329f5 100644
--- a/Mac/Build/PythonCore.exp
+++ b/Mac/Build/PythonCore.exp
@@ -2,7 +2,6 @@
 GUSISetupConfig
 GUSISetupDevices
 GUSISetupFactories
-gusisioux_state
 __vt__15GUSISIOUXDevice		# GUSISIOUXDevice::__vt
 __vt__15GUSISIOUXSocket		# GUSISIOUXSocket::__vt
 sInstance__15GUSISIOUXDevice		# GUSISIOUXDevice::sInstance
@@ -28,6 +27,7 @@
 PyEval_CallObjectWithKeywords
 PyEval_CallObject
 Py_FlushLine
+PyEval_GetNestedScopes
 PyEval_GetRestricted
 PyEval_GetFrame
 PyEval_GetGlobals
@@ -58,6 +58,9 @@
 PyArg_GetShort
 PyArg_GetLong
 PyArg_GetObject
+PyErr_ProgramText
+PyErr_SyntaxLocation
+PyErr_WarnExplicit
 PyErr_Warn
 PyErr_WriteUnraisable
 PyErr_NewException
@@ -148,18 +151,28 @@
 PyParser_SimpleParseString
 PyParser_SimpleParseFile
 Py_SymtableString
+Py_CompileStringFlags
 Py_CompileString
+PyRun_FileExFlags
+PyRun_FileFlags
+PyRun_StringFlags
 PyRun_FileEx
 PyRun_File
 PyRun_String
+PyErr_Display
 PyErr_PrintEx
 PyErr_Print
 PyRun_SimpleString
+PyRun_SimpleFileExFlags
 PyRun_SimpleFileEx
 PyRun_SimpleFile
+PyRun_InteractiveOneFlags
 PyRun_InteractiveOne
+PyRun_InteractiveLoopFlags
 PyRun_InteractiveLoop
+PyRun_AnyFileExFlags
 PyRun_AnyFileEx
+PyRun_AnyFileFlags
 PyRun_AnyFile
 Py_GetPythonHome
 Py_SetPythonHome
@@ -201,9 +214,11 @@
 PySymtable_Free
 PyCode_Addr2Line
 PyNode_CompileSymtable
+PyNode_CompileFlags
 PyNode_Compile
-is_free
 PyCode_New
+PyObject_IsSubclass
+PyObject_IsInstance
 PyObject_CallMethod
 PyObject_CallFunction
 PyObject_CallObject
@@ -326,8 +341,6 @@
 PyFile_WriteObject
 PyFile_SoftSpace
 PyFile_GetLine
-_portable_ftell
-_portable_fseek
 PyFile_SetBufSize
 PyFile_FromString
 PyFile_FromFile
@@ -455,6 +468,7 @@
 PySlice_GetIndices
 PySlice_New
 PyString_Type
+_Py_ReleaseInternedStrings
 PyString_Fini
 PyString_InternFromString
 PyString_InternInPlace
@@ -616,6 +630,7 @@
 Py_GetArgcArgv
 Py_GetProgramFullPath
 PyMac_Exit
+abort
 PyMac_OutputNotSeen
 PyMac_OutputSeen
 PyMac_InitApplication
@@ -789,6 +804,8 @@
 PyUnicode_Decode
 PyUnicode_FromEncodedObject
 PyUnicode_FromObject
+PyUnicode_AsWideChar
+PyUnicode_FromWideChar
 PyUnicode_FromUnicode
 PyUnicode_Resize
 initthread
@@ -805,8 +822,6 @@
 PyThread_get_thread_ident
 PyThread_start_new_thread
 PyThread_init_thread
-SystemExit_methods
-SyntaxError_methods
 PyExc_Exception
 PyExc_StandardError
 PyExc_ArithmeticError
@@ -855,7 +870,6 @@
 AEDesc_New
 init_locale
 initEvt
-copyright
 init_sre
 initsha
 DragObj_chain
@@ -873,6 +887,7 @@
 PyCell_New
 PySymtableEntry_Type
 PySymtableEntry_New
+PyNode_Future
 GUSISetupConsoleStdio
 GUSIStdioFlush
 GUSIStdioClose
@@ -939,6 +954,7 @@
 SetDefaultFType__17GUSIConfigurationCFRC12GUSIFileSpec		# GUSIConfiguration::SetDefaultFType(const GUSIFileSpec&) const
 ConfigureSuffices__17GUSIConfigurationFsPQ217GUSIConfiguration10FileSuffix		# GUSIConfiguration::ConfigureSuffices(short,GUSIConfiguration::FileSuffix*)
 __ct__17GUSIConfigurationFs		# GUSIConfiguration::GUSIConfiguration(short)
+CreateInstance__17GUSIConfigurationFs		# GUSIConfiguration::CreateInstance(short)
 __vt__22GUSIThreadManagerProxy		# GUSIThreadManagerProxy::__vt
 __vt__18GUSIContextFactory		# GUSIContextFactory::__vt
 __vt__11GUSIContext		# GUSIContext::__vt
@@ -1721,6 +1737,7 @@
 get__53GUSISpecificData<Q29GUSITimer5Queue,&.GUSIKillTimers>FP17GUSISpecificTable		# GUSISpecificData<GUSITimer::Queue, &.GUSIKillTimers>::get(GUSISpecificTable*)
 __dt__9GUSITimerFv		# GUSITimer::~GUSITimer()
 Kill__9GUSITimerFv		# GUSITimer::Kill()
+Reset__9GUSITimerFv		# GUSITimer::Reset()
 Sleep__9GUSITimerFlb		# GUSITimer::Sleep(long,bool)
 __ct__9GUSITimerFbP11GUSIContext		# GUSITimer::GUSITimer(bool,GUSIContext*)
 GUSIKillTimers
@@ -1898,7 +1915,6 @@
 __dt__Q23std9bad_allocFv		# std::bad_alloc::~bad_alloc()
 qd
 exit
-abort
 __console_exit
 __stdio_exit
 __aborting
@@ -1906,7 +1922,6 @@
 exit
 __atexit
 atexit
-abort
 fix_start
 vec_free
 vec_realloc
diff --git a/Mac/Build/PythonCore.mcp b/Mac/Build/PythonCore.mcp
index 6cff596..5103cb9 100644
--- a/Mac/Build/PythonCore.mcp
+++ b/Mac/Build/PythonCore.mcp
Binary files differ
diff --git a/Mac/Build/PythonCoreCarbon.exp b/Mac/Build/PythonCoreCarbon.exp
index 6f93cc2..33ee4b4 100644
--- a/Mac/Build/PythonCoreCarbon.exp
+++ b/Mac/Build/PythonCoreCarbon.exp
@@ -27,6 +27,7 @@
 PyEval_CallObjectWithKeywords
 PyEval_CallObject
 Py_FlushLine
+PyEval_GetNestedScopes
 PyEval_GetRestricted
 PyEval_GetFrame
 PyEval_GetGlobals
@@ -57,6 +58,9 @@
 PyArg_GetShort
 PyArg_GetLong
 PyArg_GetObject
+PyErr_ProgramText
+PyErr_SyntaxLocation
+PyErr_WarnExplicit
 PyErr_Warn
 PyErr_WriteUnraisable
 PyErr_NewException
@@ -147,18 +151,28 @@
 PyParser_SimpleParseString
 PyParser_SimpleParseFile
 Py_SymtableString
+Py_CompileStringFlags
 Py_CompileString
+PyRun_FileExFlags
+PyRun_FileFlags
+PyRun_StringFlags
 PyRun_FileEx
 PyRun_File
 PyRun_String
+PyErr_Display
 PyErr_PrintEx
 PyErr_Print
 PyRun_SimpleString
+PyRun_SimpleFileExFlags
 PyRun_SimpleFileEx
 PyRun_SimpleFile
+PyRun_InteractiveOneFlags
 PyRun_InteractiveOne
+PyRun_InteractiveLoopFlags
 PyRun_InteractiveLoop
+PyRun_AnyFileExFlags
 PyRun_AnyFileEx
+PyRun_AnyFileFlags
 PyRun_AnyFile
 Py_GetPythonHome
 Py_SetPythonHome
@@ -200,9 +214,11 @@
 PySymtable_Free
 PyCode_Addr2Line
 PyNode_CompileSymtable
+PyNode_CompileFlags
 PyNode_Compile
-is_free
 PyCode_New
+PyObject_IsSubclass
+PyObject_IsInstance
 PyObject_CallMethod
 PyObject_CallFunction
 PyObject_CallObject
@@ -325,8 +341,6 @@
 PyFile_WriteObject
 PyFile_SoftSpace
 PyFile_GetLine
-_portable_ftell
-_portable_fseek
 PyFile_SetBufSize
 PyFile_FromString
 PyFile_FromFile
@@ -454,6 +468,7 @@
 PySlice_GetIndices
 PySlice_New
 PyString_Type
+_Py_ReleaseInternedStrings
 PyString_Fini
 PyString_InternFromString
 PyString_InternInPlace
@@ -609,6 +624,7 @@
 Py_GetArgcArgv
 Py_GetProgramFullPath
 PyMac_Exit
+abort
 PyMac_OutputNotSeen
 PyMac_OutputSeen
 PyMac_InitApplication
@@ -781,6 +797,8 @@
 PyUnicode_Decode
 PyUnicode_FromEncodedObject
 PyUnicode_FromObject
+PyUnicode_AsWideChar
+PyUnicode_FromWideChar
 PyUnicode_FromUnicode
 PyUnicode_Resize
 initthread
@@ -797,8 +815,6 @@
 PyThread_get_thread_ident
 PyThread_start_new_thread
 PyThread_init_thread
-SystemExit_methods
-SyntaxError_methods
 PyExc_Exception
 PyExc_StandardError
 PyExc_ArithmeticError
@@ -847,7 +863,6 @@
 AEDesc_New
 init_locale
 initEvt
-copyright
 init_sre
 initsha
 DragObj_chain
@@ -865,6 +880,7 @@
 PyCell_New
 PySymtableEntry_Type
 PySymtableEntry_New
+PyNode_Future
 GUSISetupConsoleStdio
 GUSIStdioFlush
 GUSIStdioClose
@@ -931,6 +947,7 @@
 SetDefaultFType__17GUSIConfigurationCFRC12GUSIFileSpec		# GUSIConfiguration::SetDefaultFType(const GUSIFileSpec&) const
 ConfigureSuffices__17GUSIConfigurationFsPQ217GUSIConfiguration10FileSuffix		# GUSIConfiguration::ConfigureSuffices(short,GUSIConfiguration::FileSuffix*)
 __ct__17GUSIConfigurationFs		# GUSIConfiguration::GUSIConfiguration(short)
+CreateInstance__17GUSIConfigurationFs		# GUSIConfiguration::CreateInstance(short)
 __vt__22GUSIThreadManagerProxy		# GUSIThreadManagerProxy::__vt
 __vt__18GUSIContextFactory		# GUSIContextFactory::__vt
 __vt__11GUSIContext		# GUSIContext::__vt
@@ -1488,6 +1505,7 @@
 get__53GUSISpecificData<Q29GUSITimer5Queue,&.GUSIKillTimers>FP17GUSISpecificTable		# GUSISpecificData<GUSITimer::Queue, &.GUSIKillTimers>::get(GUSISpecificTable*)
 __dt__9GUSITimerFv		# GUSITimer::~GUSITimer()
 Kill__9GUSITimerFv		# GUSITimer::Kill()
+Reset__9GUSITimerFv		# GUSITimer::Reset()
 Sleep__9GUSITimerFlb		# GUSITimer::Sleep(long,bool)
 __ct__9GUSITimerFbP11GUSIContext		# GUSITimer::GUSITimer(bool,GUSIContext*)
 GUSIKillTimers
@@ -1732,7 +1750,6 @@
 __dt__Q23std9bad_allocFv		# std::bad_alloc::~bad_alloc()
 qd
 exit
-abort
 clrscr
 getch
 kbhit
@@ -1782,7 +1799,6 @@
 exit
 __atexit
 atexit
-abort
 fix_start
 vec_free
 vec_realloc
diff --git a/Mac/Build/PythonInterpreter.mcp b/Mac/Build/PythonInterpreter.mcp
index 7d9430c..e829252 100644
--- a/Mac/Build/PythonInterpreter.mcp
+++ b/Mac/Build/PythonInterpreter.mcp
Binary files differ
diff --git a/Mac/Build/PythonStandSmall.mcp b/Mac/Build/PythonStandSmall.mcp
index 792968a..590332c 100644
--- a/Mac/Build/PythonStandSmall.mcp
+++ b/Mac/Build/PythonStandSmall.mcp
Binary files differ
diff --git a/Mac/Build/PythonStandalone.mcp b/Mac/Build/PythonStandalone.mcp
index 4f3eb56..4b55672 100644
--- a/Mac/Build/PythonStandalone.mcp
+++ b/Mac/Build/PythonStandalone.mcp
Binary files differ
diff --git a/Mac/Build/_dummy_tkinter.mcp b/Mac/Build/_dummy_tkinter.mcp
index 4e149b0..8ab7543 100644
--- a/Mac/Build/_dummy_tkinter.mcp
+++ b/Mac/Build/_dummy_tkinter.mcp
Binary files differ
diff --git a/Mac/Demo/building.html b/Mac/Demo/building.html
index 716de8b..556eddd 100644
--- a/Mac/Demo/building.html
+++ b/Mac/Demo/building.html
@@ -6,7 +6,10 @@
 <H1>Building Mac Python from source</H1>
 <HR>
 
-<B>Note</B>: This document is still for Python 2.0. It is wildly incorrect.
+<B>Note</B>: This document is mostly still for Python 2.0, so
+it is not correct. See the <a href="http://www.cwi.nl/~jack/macpython.html">
+MacPython homepage</a> for an updated version, and if none is available
+complain bitterly to me and work on it should progress faster.
 <p>
 
 This document explains how to build MacPython from source. This is
@@ -52,7 +55,7 @@
 repository use</a> below.
 
 <LI> You need MetroWerks CodeWarrior. The current distribution has
-been built with CodeWarrior Pro 5.2. Ordering information is
+been built with CodeWarrior Pro 6.1. Ordering information is
 available on the <A HREF="http://www.metrowerks.com/">MetroWerks
 homepage</A>. Building Python with MPW or Think/Symantec C is
 probably impossible without major surgery.
@@ -67,10 +70,9 @@
 for a GUSI that is most easily used for building Python. 
 <br>
 
-The modified GUSI is also in the MacPython cvs source repository, in the
-directory <code>lib-src/GUSI2</code>. As GUSI is moving to sourceforge
-this info may be outdated by the time you read it so better check the
-MacPython homepage, probably.
+If nothing is listed there (yet) you will have problems building a
+Carbon Python. Complaining loudly on the pythonmac-sig@python.org mailing
+list will make me work faster towards distributing Carbon-GUSI:-).
 </UL>
 
 <A NAME="optional">The MacPython project files are configured to
@@ -92,7 +94,8 @@
 
 <LI> Waste, a TextEdit replacement written by Marco Piovanelli, <A
 HREF="mailto:piovanel@kagi.com">&lt;piovanel@kagi.com&gt;</A>.  Python
-was built using version 1.3, which you can obtain from <A
+was built using version 2.0, which is included in the CodeWarrior
+package. You can also obtain it from <A
 HREF="http://www.boingo.com/waste">&lt;http://www.boingo.com/waste&gt;</A>
 and various other places.
 
@@ -129,6 +132,7 @@
 <PRE>
 Top-level-folder:
 	GUSI2
+	GUSI2Carbon
 	imglibs
 		jpeg
 		netpbm
@@ -147,7 +151,6 @@
 		tcl8.0
 		tk8.0
 		MoreFiles 1.4.3
-	Waste 1.3 distribution (if you want waste)
 </PRE>
 
 If your setup of the libraries is exactly the same as mine (which is
@@ -157,9 +160,7 @@
 fell swoop, otherwise you will have to build the libraries one by
 one. <p>
 
-First build GUSI. If you didn't get the python-specific GUSI you have to 
-massage some of the Python code (missing routines) and you'll miss the
-functionality of "delay console".
+First build GUSI, both the norla one and the Carbon variant.
  <p>
 
 Next, in
@@ -301,7 +302,7 @@
 course).
 
 <DT> PlugIns
-<DD> This is where the PPC and CFM68K dynamically-loaded plugin modules live.
+<DD> This is where the Classic and Carbon dynamically-loaded plugin modules live.
 
 <DT> Python
 <DD> Mac-specific parts of the core interpreter.
@@ -329,18 +330,19 @@
 <H2>Building the 68K interpreter</H2>
 
 68K Python is no longer supported, and the projects are not included in the
-source distirbution anymore. If you really want to build Python for the 68K
+source distribution anymore. If you really want to build Python for the 68K
 your best bet is to check the sources out of the CVS repository. The latest
 projects (in :Mac:build:) that support 68K development are tagged as such,
 and are dated around August 2000. If you plan on doing this announce it on
 the SIG, please. <p>
 
 <H2>Building the PPC interpreter</H2>
-
+<em>This is different under 2.1. You are best off using the fullbuild.py
+script. </em><p>
 First you optionally build the external libraries with buildlibs.prj. Next, 
 the projects for
 interpreter, core library and applet skeleton  are all linked together, so
-building the fat target in <code>PythonEngine.prj</code> 
+building the PythonInterpreter target in <code>PythonEngine.prj</code> 
 will result in everything being built. The
 resulting applications and fat shared library are deposited in the main
 Python folder. Finally, you build all the plugins with the plugins.prj project.
@@ -400,7 +402,7 @@
 You are all set now, and should read the release notes and
 <code>ReadMe</code> file from the <code>Mac</code> folder.
 
-<H2>Rebuilding <code>.exp</code> files for PPC and CFM68K</H2>
+<H2>Rebuilding <code>.exp</code> files</H2>
 
 Occasionally it may be necessary to rebuild your PythonCore <code>.exp</code>
 file, a file that controls which symbols are exported by your PythonCore
@@ -422,6 +424,9 @@
 
 <H2><a name="cvs">Using the CVS source archive</a></H2>
 
+<em>Please check the MacPython homepage to see whether this information is
+still current: MacPython should move to sourceforge shortly. </em><p>
+
 It is possible (and probably best) to access the Python sources through remote CVS. The
 advantage of this is that you get the very latest sources, so any bug
 fixed or new features will be immedeately available. This is also the
@@ -462,9 +467,6 @@
 the parent of the toplevel Python folder. The CVS path for these libraries is
 also mentioned at the MacPython homepage. <p>
 
-Neither of the pages mentioned above contains the passwords for the
-CVS sites, for obvious reasons, but they do contain instructions on
-how to obtain the passwords. <p>
 
 You should end up with a folder structure as described at the top of this
 document. <p>
diff --git "a/Mac/Distributions/\050vise\051/Python 2.1.vct" "b/Mac/Distributions/\050vise\051/Python 2.1.vct"
index 38a2ac5..d86b1be 100644
--- "a/Mac/Distributions/\050vise\051/Python 2.1.vct"
+++ "b/Mac/Distributions/\050vise\051/Python 2.1.vct"
Binary files differ
diff --git a/Mac/Distributions/readme.txt b/Mac/Distributions/readme.txt
index 5ee1441..c20fa1d 100644
--- a/Mac/Distributions/readme.txt
+++ b/Mac/Distributions/readme.txt
@@ -12,6 +12,7 @@
 - Update Relnotes, readme's, Demo:build.html
 - Make sure tkresources.rsrc is up-to-date
 - fullbuild everything with increase-buildno
+- Update Numeric and build/install it both with Classic and with Carbon python
 - Run configurepython
 - mkdistr binary.include
 - mkdistr dev.include
@@ -35,5 +36,7 @@
    python-dev@python.org
    python-announce@python.org
    archivist@info-mac.org
+   adcnews@apple.com
+   http://www.macupdate.com
    http://guide.apple.com/usindex.html
    http://www.versiontracker.com/ Jack.Jansen@oratrix.com
\ No newline at end of file
diff --git a/Mac/Lib/lib-toolbox/Dialogs.py b/Mac/Lib/lib-toolbox/Dialogs.py
index 7a26e15..9ba542a 100644
--- a/Mac/Lib/lib-toolbox/Dialogs.py
+++ b/Mac/Lib/lib-toolbox/Dialogs.py
@@ -1,4 +1,4 @@
-# Generated from 'Dialogs.h'
+# Generated from 'Moes:SWDev:Metrowerks Codewarrior 6.0:Metrowerks CodeWarrior:MacOS Support:Universal:Interfaces:CIncludes:Dialogs.h'
 
 def FOUR_CHAR_CODE(x): return x
 kControlDialogItem = 4
diff --git a/Mac/Lib/test/tlist_dialog.rsrc b/Mac/Lib/test/tlist_dialog.rsrc
index a76ade8..f906f6c 100644
--- a/Mac/Lib/test/tlist_dialog.rsrc
+++ b/Mac/Lib/test/tlist_dialog.rsrc
Binary files differ
diff --git a/Mac/ReadMe b/Mac/ReadMe
index aa38579..f23e702 100644
--- a/Mac/ReadMe
+++ b/Mac/ReadMe
@@ -1,7 +1,7 @@
-How to install Python 2.1b2 on your Macintosh
----------------------------------------------
+How to install Python 2.1 on your Macintosh
+-------------------------------------------
 
-This is a beta MacPython that can run on classic MacOS (from 8.1
+This is a MacPython that can run on classic MacOS (from 8.1
 onwards) and natively on MacOSX. The installer tries to work out whether you can
 use the Carbon version or not. This is also the first MacPython distribution
 to be packaged as an active installer, which only downloads the parts you actually
@@ -9,10 +9,12 @@
 
 You should definitely read the Relnotes file too.
 
-A special note about the active installer: do not background it, it will hang
+A special note about the active installer: do not background it, it may hang
 your machine. This is a general problem with Vise active installers, MindVision
 are working on it.
 
+If you installed a 2.1 beta on MacOSX you MUST read the uninstall section below.
+
 ------
 
 If this is your first encounter with Python: you definitely need the
@@ -106,10 +108,18 @@
 
 Two items are installed in the system folder: the interpreter shared
 libraries PythonCore and PythonCoreCarbon lives in the Extensions folder and the
-"Python 2.1b1 Preferences" file in the Python subfolder in the
+"Python 2.1 Preferences" file in the Python subfolder in the
 Preferences folder. All the rest of Python lives in the folder you
 installed in.
 
+On OSX the libraries are installed in /Library/CFMSupport. There is a nasty bug
+in OSX that is triggered by Python: if any orphaned aliases are left in
+/Library/CFMSupport your machine will start to behave very badly. 2.1
+beta installers triggered this problem if you simply threw away your Python folder,
+so if you installed a 2.1beta you should clean out the aliases in /Library/CFMSupport
+too. This final 2.1 installer always copies the shared libraries on OSX, so it does
+not have the problem anymore.
+
 Things to see
 -------------
 
diff --git a/Mac/Relnotes b/Mac/Relnotes
index 2200fa5..772ea56 100644
--- a/Mac/Relnotes
+++ b/Mac/Relnotes
@@ -1,18 +1,20 @@
-Changes in 2.1b2 since 2.0
+Changes in 2.1 since 2.0
 --------------------------
 
 These release notes refer to Mac-specific changes only. See NEWS (in the Misc folder)
-for machine-independent changes. Changes since 2.1b1 are
+for machine-independent changes. Changes since 2.1b2 are
 marked with [*] and at the bottom of the list.
 
-- This release is Carbon-based, so it runs natively on MacOS 8.6 or
+- This release is optionally Carbon-based, so it runs natively on MacOS 8.1 or
   later and MacOSX. (Note that on MacOSX MacPython will run as a normal Mac application,
   if you want to run Python from the BSD commandline get a unix-Python distribution
-  from www.python.org).
+  from www.python.org). 
 - Alternatively there is a classic PPC interpreter as well. There are two reasons you
   might want to use this: (a) you have a pre-MacOS9 system and don't want to install
   CarbonLib, or (b) you need Tkinter, for which no Carbon version is available yet.
-- Distutils is included and seems to work.
+- Distutils is included and seems to work. On 8.1 you may want to get Apple's
+  CarbonLib installer even if you plan to run classic, it contains the newer Appearance 
+  Mgr which Python needs (according to rumour).
 - There's a new module (package, actually) mkcwproject which builds CodeWarrior
   projects from simple templates. See Distutils or :Mac:scripts:genpluginprojects.py
   for examples of use.
@@ -66,9 +68,15 @@
 - A BBEdit language module by Chris Stern is included in the :Mac:Contrib folder.
 - The ConfigurePython applets will now detect if the preference file refers to a different
   folder than where they live. They offer to remove the preference file in this case.
-- Import case-check was broken in 2.1b1, this is fixed. [*]
-- A side-effect of the previous fix is that getpass works again. [*]
-- BuildApplication was broken under Carbon. Fixed. [*]
+- Import case-check was broken in 2.1b1, this is fixed.
+- A side-effect of the previous fix is that getpass works again.
+- BuildApplication was broken under Carbon. Fixed.
+- Morefindertools functionality integrated into findertools. [*]
+- ped.py from Mac:Demo crashed, this has been fixed by making Win.WhichWindow more robust. [*]
+- Tkinter mainloop is now a little less aggressive in eating events. [*]
+- The Python console window is raised to the front when input is read. This fixes a hang
+  (for Carbon only) when crashing with a modal dialog open. [*]
+- The menu bar is (again) restored when Python is terminating. [*]
 
 
 What is not in this distribution
@@ -81,24 +89,16 @@
 Known problems
 --------------
 
-This list is far from complete, more problems may be listed on the MacPython homepage,
+This list is probably incomplete, more problems may be listed on the MacPython homepage,
 http://www.cwi.nl/~jack/macpython.html.
 
 - Tkinter does not work under Carbon.
 - The IDE and Tkinter do not work together. Run tkinter programs under PythonInterpreter.
-- After running a Tkinter program your menubar may end up dead, with command-alt-escape
-  the only way to terminate Python.
 - Tkinter file events do not work, unless you have opened the file through Tcl (but then
   you cannot access it from Python).
-- Aliases do not work in sys.path entries.
-- The menu bar isn't always correctly restored before MacPython turns to <<terminated>>.
-- Under Carbon only you may occasionally see a spurious KeyboardInterrupt. I have absolutely
+- Aliases may not work in sys.path entries.
+- Under Carbon on OS9 only you may occasionally see a spurious KeyboardInterrupt. I have absolutely
   no clue as to what is causing this.
 - PythonInterpreter used interactively will eat a lot of processor cycles. You should use
-  PythonIDE for interactive work and PythonInterpreter for scripts only.
-- Under MacOSX Public Beta ConfigurePython cannot put PythonCore in the global CFMSupport
-  folder. Therefore applets have to live in the Python folder, otherwise they cannot find
-  PythonCore. There is a workaround if you want to have an applet in a different folder:
-  put an alias PythonCoreCarbon (pointing to the PythonCoreCarbon in the Python folder)
-  in the same folder as your applet.
-  This problem should in all probability not occur in the release version of MacOSX.
+  PythonIDE for interactive work and PythonInterpreter for scripts only. This is especially
+  true under OSX.
diff --git a/Mac/Unsupported/twit/twit.rsrc b/Mac/Unsupported/twit/twit.rsrc
index a659719..8eb1c57 100644
--- a/Mac/Unsupported/twit/twit.rsrc
+++ b/Mac/Unsupported/twit/twit.rsrc
Binary files differ
diff --git a/Mac/_checkversion.py b/Mac/_checkversion.py
index 5c017f4..6efe92d 100644
--- a/Mac/_checkversion.py
+++ b/Mac/_checkversion.py
@@ -5,7 +5,7 @@
 import pyversioncheck
 
 _PACKAGE="MacPython"
-_VERSION="2.1b2"
+_VERSION="2.1"
 _URL="http://www.cwi.nl/~jack/macpythonversion.txt"
 
 try: