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