[Python-checkins] CVS: python/dist/src/Misc NEWS,1.51.4.3,1.51.4.4

Guido van Rossum python-dev@python.org
Sun, 3 Sep 2000 20:49:54 -0700


Update of /cvsroot/python/python/dist/src/Misc
In directory slayer.i.sourceforge.net:/tmp/cvs-serv31998

Modified Files:
      Tag: cnri-16-start
	NEWS 
Log Message:
Reorganized a bit and finished based on what was on the website.


Index: NEWS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.51.4.3
retrieving revision 1.51.4.4
diff -C2 -r1.51.4.3 -r1.51.4.4
*** NEWS	2000/09/04 03:22:45	1.51.4.3
--- NEWS	2000/09/04 03:49:51	1.51.4.4
***************
*** 1,28 ****
! What's new in this release?
! ===========================
  
  Below is a list of all relevant changes since release 1.5.2.  Older
! changes are in the file HISTORY.  The most recent changes are listed
! first.
  
- A note on attributions: while I have sprinkled some names throughout
- here, I'm grateful to many more people who remain unnamed.  You may
- find your name in the ACKS file.  If you believe you deserve more
- credit, let me know and I'll add you to the list!
- 
  --Guido van Rossum (home page: http://www.pythonlabs.com/~guido/)
  
  ======================================================================
  
- Changes from 1.5.2 to 1.6
- -------------------------
  
! For this overview of changes, I have borrowed from the document
! "What's New in Python 2.0" by Andrew Kuchling and Moshe Zadka:
  http://starship.python.net/crew/amk/python/writing/new-python/.
  
! There are lots of new modules and lots of bugs have been fixed.  To
! find out about new modules, check out the library manual, which has
! been enhanced significantly.
  
  Probably the most pervasive change is the addition of Unicode support.
--- 1,58 ----
! What's new in release 1.6?
! ==========================
  
  Below is a list of all relevant changes since release 1.5.2.  Older
! changes are in the file HISTORY.
  
  --Guido van Rossum (home page: http://www.pythonlabs.com/~guido/)
  
  ======================================================================
+ 
+ Source Incompatibilities
+ ------------------------
+ 
+ Several small incompatible library changes may trip you up:
+ 
+   - The append() method for lists can no longer be invoked with more
+   than one argument.  This used to append a single tuple made out of
+   all arguments, but was undocumented.  To append a tuple, use
+   e.g. l.append((a, b, c)).
+ 
+   - The connect(), connect_ex() and bind() methods for sockets require
+   exactly one argument.  Previously, you could call s.connect(host,
+   port), but this was undocumented. You must now write
+   s.connect((host, port)).
+ 
+   - The str() and repr() functions are now different more often.  For
+   long integers, str() no longer appends a 'L'.  Thus, str(1L) == '1',
+   which used to be '1L'; repr(1L) is unchanged and still returns '1L'.
+   For floats, repr() now gives 17 digits of precision, to ensure no
+   precision is lost (on all current hardware).
+ 
+   - The -X option is gone.  Built-in exceptions are now always
+   classes.  Many more library modules also have been converted to
+   class-based exceptions.
  
  
! Binary Incompatibilities
! ------------------------
! 
! - Third party extensions built for Python 1.5.x cannot be used with
! Python 1.6; these extensions will have to be rebuilt for Python 1.6.
! 
! - On Windows, attempting to import a third party extension built for
! Python 1.5.x results in an immediate crash; there's not much we can do
! about this.  Check your PYTHONPATH environment variable!
! 
! 
! Overview of Changes since 1.5.2
! -------------------------------
! 
! For this overview, I have borrowed from the document "What's New in
! Python 2.0" by Andrew Kuchling and Moshe Zadka:
  http://starship.python.net/crew/amk/python/writing/new-python/.
  
! There are lots of new modules and lots of bugs have been fixed.  A
! list of all new modules is included below.
  
  Probably the most pervasive change is the addition of Unicode support.
***************
*** 41,45 ****
    delimiter) is delimiter.join(sequence).  Use " ".join(sequence) for
    the effect of string.join(sequence); to make this more readable, try
!   space=" " first.
  
    - The new regular expression engine, SRE by Fredrik Lundh, is fully
--- 71,76 ----
    delimiter) is delimiter.join(sequence).  Use " ".join(sequence) for
    the effect of string.join(sequence); to make this more readable, try
!   space=" " first.  Note that the maxsplit argument defaults in
!   split() and replace() have changed from 0 to -1.
  
    - The new regular expression engine, SRE by Fredrik Lundh, is fully
***************
*** 51,102 ****
    engine -- this is at least the fourth!).
  
- Several small incompatible library changes may trip you up:
  
!   - The append() method for lists can no longer be invoked with more
!   than one argument.  This used to append a single tuple made out of
!   all arguments, but was undocumented.  To append a tuple, use
!   e.g. l.append((a, b, c)).
  
!   - The connect(), connect_ex() and bind() methods for sockets require
!   exactly one argument.  Previously, you could call s.connect(host,
!   port), but this was undocumented. You must now write
!   s.connect((host, port)).
  
!   - The str() and repr() functions are now different more often.  For
!   long integers, str() no longer appends a 'L'.  Thus, str(1L) == '1',
!   which used to be '1L'; repr(1L) is unchanged and still returns '1L'.
!   For floats, repr() now gives 17 digits of precision, to ensure no
!   precision is lost (on all current hardware).
  
!   - The -X option is gone.  Built-in exceptions are now always
!   classes.  Many more library modules also have been converted to
!   class-based exceptions.
  
! Other changes that won't break code but are nice to know about:
  
! - Greg Ward's "distutils" package is included: this will make
  installing, building and distributing third party packages much
  simpler.
  
! - There's now special syntax that you can use instead of the apply()
  function.  f(*args, **kwds) is equivalent to apply(f, args, kwds).
  You can also use variations f(a1, a2, *args, **kwds) and you can leave
  one or the other out: f(*args), f(**kwds).
  
! - The built-ins int() and long() take an optional second argument to
  indicate the conversion base -- of course only if the first argument
  is a string.  This makes string.atoi() and string.atol() obsolete.
  (string.atof() was already obsolete).
  
! - When a local variable is known to the compiler but undefined when
  used, a new exception UnboundLocalError is raised.  This is a class
  derived from NameError so code catching NameError should still work.
  The purpose is to provide better diagnostics in the following example:
- 
    x = 1
    def f():
        print x
        x = x+1
- 
  This used to raise a NameError on the print statement, which confused
  even experienced Python programmers (especially if there are several
--- 82,122 ----
    engine -- this is at least the fourth!).
  
  
! Other Changes
! -------------
  
! Other changes that won't break code but are nice to know about:
  
! Deleting objects is now safe even for deeply nested data structures.
  
! Long/int unifications: long integers can be used in seek() calls, as
! slice indexes.
  
! String formatting (s % args) has a new formatting option, '%r', which
! acts like '%s' but inserts repr(arg) instead of str(arg). (Not yet in
! alpha 1.)
  
! Greg Ward's "distutils" package is included: this will make
  installing, building and distributing third party packages much
  simpler.
  
! There's now special syntax that you can use instead of the apply()
  function.  f(*args, **kwds) is equivalent to apply(f, args, kwds).
  You can also use variations f(a1, a2, *args, **kwds) and you can leave
  one or the other out: f(*args), f(**kwds).
  
! The built-ins int() and long() take an optional second argument to
  indicate the conversion base -- of course only if the first argument
  is a string.  This makes string.atoi() and string.atol() obsolete.
  (string.atof() was already obsolete).
  
! When a local variable is known to the compiler but undefined when
  used, a new exception UnboundLocalError is raised.  This is a class
  derived from NameError so code catching NameError should still work.
  The purpose is to provide better diagnostics in the following example:
    x = 1
    def f():
        print x
        x = x+1
  This used to raise a NameError on the print statement, which confused
  even experienced Python programmers (especially if there are several
***************
*** 104,115 ****
  x :-).
  
! - You can now override the 'in' operator by defining a __contains__
  method.  Note that it has its arguments backwards: x in a causes
  a.__contains__(x) to be called.  That's why the name isn't __in__.
  
  
- Changes from 1.6b1 to 1.6
- -------------------------
  
  - Slight changes to the CNRI license.  A copyright notice has been
  added; the requirement to indicate the nature of modifications now
--- 124,254 ----
  x :-).
  
! You can now override the 'in' operator by defining a __contains__
  method.  Note that it has its arguments backwards: x in a causes
  a.__contains__(x) to be called.  That's why the name isn't __in__.
  
+ The exception AttributeError will have a more friendly error message,
+ e.g.: <code>'Spam' instance has no attribute 'eggs'</code>.  This may
+ <b>break code</b> that expects the message to be exactly the attribute
+ name.
+ 
+ 
+ New Modules in 1.6
+ ------------------
+ 
+ UserString - base class for deriving from the string type.
+ 
+ distutils - tools for distributing Python modules.
+ 
+ robotparser - parse a robots.txt file, for writing web spiders.
+ (Moved from Tools/webchecker/.)
+ 
+ linuxaudiodev - audio for Linux.
+ 
+ mmap - treat a file as a memory buffer.  (Windows and Unix.)
+ 
+ sre - regular expressions (fast, supports unicode).  Currently, this
+ code is very rough.  Eventually, the re module will be reimplemented
+ using sre (without changes to the re API).
+ 
+ filecmp - supersedes the old cmp.py and dircmp.py modules.
+ 
+ tabnanny - check Python sources for tab-width dependance.  (Moved from
+ Tools/scripts/.)
+ 
+ urllib2 - new and improved but incompatible version of urllib (still
+ experimental).
+ 
+ zipfile - read and write zip archives.
+ 
+ codecs - support for Unicode encoders/decoders.
+ 
+ unicodedata - provides access to the Unicode 3.0 database.
+ 
+ _winreg - Windows registry access.
+ 
+ encodings - package which provides a large set of standard codecs --
+ currently only for the new Unicode support. It has a drop-in extension
+ mechanism which allows you to add new codecs by simply copying them
+ into the encodings package directory. Asian codec support will
+ probably be made available as separate distribution package built upon
+ this technique and the new distutils package.
+ 
+ 
+ Changed Modules
+ ---------------
+ 
+ readline, ConfigParser, cgi, calendar, posix, readline, xmllib, aifc,
+ chunk, wave, random, shelve, nntplib - minor enhancements.
+ 
+ socket, httplib, urllib - optional OpenSSL support (Unix only).
+ 
+ _tkinter - support for 8.0 up to 8.3.  Support for versions older than
+ 8.0 has been dropped.
+ 
+ string - most of this module is deprecated now that strings have
+ methods.  This no longer uses the built-in strop module, but takes
+ advantage of the new string methods to provide transparent support for
+ both Unicode and ordinary strings.
  
  
+ Changes on Windows
+ ------------------
+ 
+ The installer no longer runs a separate Tcl/Tk installer; instead, it
+ installs the needed Tcl/Tk files directly in the Python directory.  If
+ you already have a Tcl/Tk installation, this wastes some disk space
+ (about 4 Megs) but avoids problems with conflincting Tcl/Tk
+ installations, and makes it much easier for Python to ensure that
+ Tcl/Tk can find all its files.  Note: the alpha installers don't
+ include the documentation.
+ 
+ The Windows installer now installs by default in \Python16\ on the
+ default volume, instead of \Program Files\Python-1.6\.
+ 
+ 
+ Changed Tools
+ -------------
+ 
+ IDLE - complete overhaul.  See the <a href="../idle/">IDLE home
+ page</a> for more information.  (Python 1.6 alpha 1 will come with
+ IDLE 0.6.)
+ 
+ Tools/i18n/pygettext.py - Python equivalent of xgettext(1).  A message
+ text extraction tool used for internationalizing applications written
+ in Python.
+ 
+ 
+ Obsolete Modules
+ ----------------
+ 
+ stdwin and everything that uses it.  (Get Python 1.5.2 if you need
+ it. :-)
+ 
+ soundex.  (Skip Montanaro has a version in Python but it won't be
+ included in the Python release.)
+ 
+ cmp, cmpcache, dircmp.  (Replaced by filecmp.)
+ 
+ dump.  (Use pickle.)
+ 
+ find.  (Easily coded using os.walk().)
+ 
+ grep.  (Not very useful as a library module.)
+ 
+ packmail.  (No longer has any use.)
+ 
+ poly, zmod.  (These were poor examples at best.)
+ 
+ strop.  (No longer needed by the string module.)
+ 
+ util.  (This functionality was long ago built in elsewhere).
+ 
+ whatsound.  (Use sndhdr.)
+ 
+ 
+ Detailed Changes from 1.6b1 to 1.6
+ ----------------------------------
+ 
  - Slight changes to the CNRI license.  A copyright notice has been
  added; the requirement to indicate the nature of modifications now
***************
*** 163,166 ****
--- 302,306 ----
  - The PC configuration is slightly friendlier to non-Microsoft
  compilers.
+ 
  
  ======================================================================