blob: c78aa646fb0c123139d0b68633d6bd1b3c97cdca [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
13Apology: many new features are badly documented or not at all. I had
14the choice -- postpone the new release indefinitely, or release it
15now, with working code but some undocumented areas...
16
17
18New language features:
19
20 - More flexible operator overloading for user-defined classes
21 (INCOMPATIBLE WITH PREVIOUS VERSIONS!) See end of tutorial.
22
23 - Classes can define methods named __getattr__, __setattr__ and
24 __delattr__ to trap attribute accesses. See end of tutorial.
25
26 - Classes can define method __call__ so instances can be called
27 directly. See end of tutorial.
28
29
30New support facilities:
31
32 - The Makefiles (for the base interpreter as well as for extensions)
33 now support creating dynamically loadable modules if the platform
34 supports shared libraries.
35
36 - Passing the interpreter a .pyc file as script argument will execute
37 the code in that file. (On the Mac such files can be double-clicked!)
38
39 - New Freeze script, to create independently distributable "binaries"
40 of Python programs -- look in Demo/freeze
41
42 - Improved h2py script (in Demo/scripts) follows #includes and
43 supports macros with one argument
44
45 - New module compileall generates .pyc files for all modules in a
46 directory (tree) without also executing them
47
48 - Threads should work on more platforms
49
50
51New built-in modules:
52
53 - tkinter (support for Tcl's Tk widget set) is now part of the base
54 distribution
55
56 - signal allows catching or ignoring UNIX signals (unfortunately still
57 undocumented -- any taker?)
58
59 - termios provides portable access to POSIX tty settings
60
61 - curses provides an interface to the System V curses library
62
63 - syslog provides an interface to the (BSD?) syslog daemon
64
65 - 'new' provides interfaces to create new built-in object types
66 (e.g. modules and functions)
67
68 - sybase provides an interface to SYBASE database
69
70
71New/obsolete built-in methods:
72
73 - callable(x) tests whether x can be called
74
75 - sockets now have a setblocking() method
76
77 - sockets no longer have an allowbroadcast() method
78
79 - socket methods send() and sendto() return byte count
80
81
82New standard library modules:
83
84 - types.py defines standard names for built-in types, e.g. StringType
85
86 - urlparse.py parses URLs according to the latest Internet draft
87
88 - uu.py does uuencode/uudecode (not the fastest in the world, but
89 quicker than installing uuencode on a non-UNIX machine :-)
90
91 - New, faster and more powerful profile module.py
92
93 - mhlib.py provides interface to MH folders and messages
94
95
96New facilities for extension writers (unfortunately still
97undocumented):
98
99 - newgetargs() supports optional arguments and improved error messages
100
101 - O!, O& O? formats for getargs allow more versatile type checking of
102 non-standard types
103
104 - can register pending asynchronous callback, to be called the next
105 time the Python VM begins a new instruction (Py_AddPendingCall)
106
107 - can register cleanup routines to be called when Python exits
108 (Py_AtExit)
109
110 - makesetup script understands C++ files in Setup file (use file.C
111 or file.cc)
112
113 - Make variable OPT is passed on to sub-Makefiles
114
115 - An init<module>() routine may signal an error by not entering
116 the module in the module table and raising an exception instead
117
118 - For long module names, instead of foobarbletchmodule.c you can
119 use foobarbletch.c
120
121 - getintvalue() and getfloatvalue() try to convert any object
122 instead of requiring an "intobject" or "floatobject"
123
124 - All the [new]getargs() formats that retrieve an integer value
125 will now also work if a float is passed
126
127 - C function listtuple() converts list to tuple, fast
128
129 - You should now call sigcheck() instead of intrcheck();
130 sigcheck() also sets an exception when it returns nonzero
131
132
Guido van Rossuma85d0531994-01-26 17:24:14 +0000133--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
134URL: <http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>