blob: 20d94b02c3f193bb2d17a8f0c96d801d25c28a2b [file] [log] [blame]
Guido van Rossum1146c871994-10-10 18:05:40 +00001=================================
2==> Release 1.1 (11 Oct 1994) <==
3=================================
Guido van Rossum061f1821994-10-06 16:03:45 +00004
5This release adds several new features, improved configuration and
Guido van Rossum1146c871994-10-10 18:05:40 +00006portability, and fixes more bugs than I can list here (including some
Guido van Rossum061f1821994-10-06 16:03:45 +00007memory leaks).
8
9The source compiles and runs out of the box on more platforms than
10ever -- including Windows NT. Makefiles or projects for a variety of
11non-UNIX platforms are provided.
12
Guido van Rossumac5a4e31994-10-11 15:04:57 +000013APOLOGY: some new features are badly documented or not at all. I had
Guido van Rossum061f1821994-10-06 16:03:45 +000014the choice -- postpone the new release indefinitely, or release it
Guido van Rossumac5a4e31994-10-11 15:04:57 +000015now, with working code but some undocumented areas. The problem with
16postponing the release is that people continue to suffer from existing
17bugs, and send me patches based on the previous release -- which I
18can't apply directly because my own source has changed. Also, some
19new modules (like signal) have been ready for release for quite some
20time, and people are anxiously waiting for them. In the case of
21signal, the interface is simple enough to figure out without
22documentation (if you're anxious enough :-). In this case it was not
23simple to release the module on its own, since it relies on many small
24patches elsewhere in the source.
25
26For most new Python modules, the source code contains comments that
27explain how to use them. Documentation for the Tk interface, written
28by Matt Conway, is available as tkinter-doc.tar.gz from the Python
29home and mirror ftp sites (see Misc/FAQ for ftp addresses). For the
30new operator overloading facilities, have a look at Demo/classes:
31Complex.py and Rat.py show how to implement a numeric type without and
32with __coerce__ method. Also have a look at the end of the Tutorial
33document (Doc/tut.tex). If you're still confused: use the newsgroup
34or mailing list.
Guido van Rossum061f1821994-10-06 16:03:45 +000035
36
37New language features:
38
39 - More flexible operator overloading for user-defined classes
40 (INCOMPATIBLE WITH PREVIOUS VERSIONS!) See end of tutorial.
41
42 - Classes can define methods named __getattr__, __setattr__ and
43 __delattr__ to trap attribute accesses. See end of tutorial.
44
45 - Classes can define method __call__ so instances can be called
46 directly. See end of tutorial.
47
48
49New support facilities:
50
51 - The Makefiles (for the base interpreter as well as for extensions)
52 now support creating dynamically loadable modules if the platform
53 supports shared libraries.
54
55 - Passing the interpreter a .pyc file as script argument will execute
56 the code in that file. (On the Mac such files can be double-clicked!)
57
58 - New Freeze script, to create independently distributable "binaries"
59 of Python programs -- look in Demo/freeze
60
61 - Improved h2py script (in Demo/scripts) follows #includes and
62 supports macros with one argument
63
64 - New module compileall generates .pyc files for all modules in a
65 directory (tree) without also executing them
66
67 - Threads should work on more platforms
68
69
70New built-in modules:
71
72 - tkinter (support for Tcl's Tk widget set) is now part of the base
73 distribution
74
75 - signal allows catching or ignoring UNIX signals (unfortunately still
76 undocumented -- any taker?)
77
78 - termios provides portable access to POSIX tty settings
79
80 - curses provides an interface to the System V curses library
81
82 - syslog provides an interface to the (BSD?) syslog daemon
83
84 - 'new' provides interfaces to create new built-in object types
85 (e.g. modules and functions)
86
87 - sybase provides an interface to SYBASE database
88
89
90New/obsolete built-in methods:
91
92 - callable(x) tests whether x can be called
93
94 - sockets now have a setblocking() method
95
96 - sockets no longer have an allowbroadcast() method
97
98 - socket methods send() and sendto() return byte count
99
100
101New standard library modules:
102
103 - types.py defines standard names for built-in types, e.g. StringType
104
105 - urlparse.py parses URLs according to the latest Internet draft
106
107 - uu.py does uuencode/uudecode (not the fastest in the world, but
108 quicker than installing uuencode on a non-UNIX machine :-)
109
110 - New, faster and more powerful profile module.py
111
112 - mhlib.py provides interface to MH folders and messages
113
114
115New facilities for extension writers (unfortunately still
116undocumented):
117
118 - newgetargs() supports optional arguments and improved error messages
119
120 - O!, O& O? formats for getargs allow more versatile type checking of
121 non-standard types
122
123 - can register pending asynchronous callback, to be called the next
124 time the Python VM begins a new instruction (Py_AddPendingCall)
125
126 - can register cleanup routines to be called when Python exits
127 (Py_AtExit)
128
129 - makesetup script understands C++ files in Setup file (use file.C
130 or file.cc)
131
132 - Make variable OPT is passed on to sub-Makefiles
133
134 - An init<module>() routine may signal an error by not entering
135 the module in the module table and raising an exception instead
136
137 - For long module names, instead of foobarbletchmodule.c you can
138 use foobarbletch.c
139
140 - getintvalue() and getfloatvalue() try to convert any object
141 instead of requiring an "intobject" or "floatobject"
142
143 - All the [new]getargs() formats that retrieve an integer value
144 will now also work if a float is passed
145
146 - C function listtuple() converts list to tuple, fast
147
148 - You should now call sigcheck() instead of intrcheck();
149 sigcheck() also sets an exception when it returns nonzero
150
151
Guido van Rossuma85d0531994-01-26 17:24:14 +0000152--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
153URL: <http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>