diff --git a/Misc/HISTORY b/Misc/HISTORY
index e06974e..2e9ed48 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -6,6 +6,166 @@
 read on you go back to the dark ages of Python's history.
 
 
+===================================
+==> Release 1.1.1 (10 Nov 1994) <==
+===================================
+
+This is a pure bugfix release again.  See the ChangeLog file for details.
+
+One exception: a few new features were added to tkinter.
+
+
+=================================
+==> Release 1.1 (11 Oct 1994) <==
+=================================
+
+This release adds several new features, improved configuration and
+portability, and fixes more bugs than I can list here (including some
+memory leaks).
+
+The source compiles and runs out of the box on more platforms than
+ever -- including Windows NT.  Makefiles or projects for a variety of
+non-UNIX platforms are provided.
+
+APOLOGY: some new features are badly documented or not at all.  I had
+the choice -- postpone the new release indefinitely, or release it
+now, with working code but some undocumented areas.  The problem with
+postponing the release is that people continue to suffer from existing
+bugs, and send me patches based on the previous release -- which I
+can't apply directly because my own source has changed.  Also, some
+new modules (like signal) have been ready for release for quite some
+time, and people are anxiously waiting for them.  In the case of
+signal, the interface is simple enough to figure out without
+documentation (if you're anxious enough :-).  In this case it was not
+simple to release the module on its own, since it relies on many small
+patches elsewhere in the source.
+
+For most new Python modules, the source code contains comments that
+explain how to use them.  Documentation for the Tk interface, written
+by Matt Conway, is available as tkinter-doc.tar.gz from the Python
+home and mirror ftp sites (see Misc/FAQ for ftp addresses).  For the
+new operator overloading facilities, have a look at Demo/classes:
+Complex.py and Rat.py show how to implement a numeric type without and
+with __coerce__ method.  Also have a look at the end of the Tutorial
+document (Doc/tut.tex).  If you're still confused: use the newsgroup
+or mailing list.
+
+
+New language features:
+
+    - More flexible operator overloading for user-defined classes
+    (INCOMPATIBLE WITH PREVIOUS VERSIONS!)  See end of tutorial.
+
+    - Classes can define methods named __getattr__, __setattr__ and
+    __delattr__ to trap attribute accesses.  See end of tutorial.
+
+    - Classes can define method __call__ so instances can be called
+    directly.  See end of tutorial.
+
+
+New support facilities:
+
+    - The Makefiles (for the base interpreter as well as for extensions)
+    now support creating dynamically loadable modules if the platform
+    supports shared libraries.
+
+    - Passing the interpreter a .pyc file as script argument will execute
+    the code in that file.  (On the Mac such files can be double-clicked!)
+
+    - New Freeze script, to create independently distributable "binaries"
+    of Python programs -- look in Demo/freeze
+
+    - Improved h2py script (in Demo/scripts) follows #includes and
+    supports macros with one argument
+
+    - New module compileall generates .pyc files for all modules in a
+    directory (tree) without also executing them
+
+    - Threads should work on more platforms
+
+
+New built-in modules:
+
+    - tkinter (support for Tcl's Tk widget set) is now part of the base
+    distribution
+
+    - signal allows catching or ignoring UNIX signals (unfortunately still
+    undocumented -- any taker?)
+
+    - termios provides portable access to POSIX tty settings
+
+    - curses provides an interface to the System V curses library
+
+    - syslog provides an interface to the (BSD?) syslog daemon
+
+    - 'new' provides interfaces to create new built-in object types
+    (e.g. modules and functions)
+
+    - sybase provides an interface to SYBASE database
+
+
+New/obsolete built-in methods:
+
+    - callable(x) tests whether x can be called
+
+    - sockets now have a setblocking() method
+
+    - sockets no longer have an allowbroadcast() method
+
+    - socket methods send() and sendto() return byte count
+
+
+New standard library modules:
+
+    - types.py defines standard names for built-in types, e.g. StringType
+
+    - urlparse.py parses URLs according to the latest Internet draft
+
+    - uu.py does uuencode/uudecode (not the fastest in the world, but
+    quicker than installing uuencode on a non-UNIX machine :-)
+
+    - New, faster and more powerful profile module.py
+
+    - mhlib.py provides interface to MH folders and messages
+
+
+New facilities for extension writers (unfortunately still
+undocumented):
+
+    - newgetargs() supports optional arguments and improved error messages
+
+    - O!, O& O? formats for getargs allow more versatile type checking of
+    non-standard types
+
+    - can register pending asynchronous callback, to be called the next
+    time the Python VM begins a new instruction (Py_AddPendingCall)
+
+    - can register cleanup routines to be called when Python exits
+    (Py_AtExit)
+
+    - makesetup script understands C++ files in Setup file (use file.C
+    or file.cc)
+
+    - Make variable OPT is passed on to sub-Makefiles
+
+    - An init<module>() routine may signal an error by not entering
+    the module in the module table and raising an exception instead
+
+    - For long module names, instead of foobarbletchmodule.c you can
+    use foobarbletch.c
+
+    - getintvalue() and getfloatvalue() try to convert any object
+    instead of requiring an "intobject" or "floatobject"
+
+    - All the [new]getargs() formats that retrieve an integer value
+    will now also work if a float is passed
+
+    - C function listtuple() converts list to tuple, fast
+
+    - You should now call sigcheck() instead of intrcheck();
+    sigcheck() also sets an exception when it returns nonzero
+
+
 ====================================
 ==> Release 1.0.3 (14 July 1994) <==
 ====================================
