diff --git a/general-info/release-18e.txt b/general-info/release-18e.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2d7c0a08a186092f99d203ab8f84bdf30357cd46
--- /dev/null
+++ b/general-info/release-18e.txt
@@ -0,0 +1,114 @@
+========================== C M U C L  18 e =============================
+
+[--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
+
+The CMUCL project is pleased to announce the release of CMUCL 18e.
+This is a major release which contains numerous enhancements and
+bugfixes from the 18e release.
+
+CMUCL is a free, high performance implementation of the Common Lisp
+programming language which runs on most major Unix platforms. It
+mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
+sophisticated native code compiler; a powerful foreign function
+interface; an implementation of CLOS, the Common Lisp Object System,
+which includes multimethods and a metaobject protocol; a source-level
+debugger and code profiler; and an Emacs-like editor implemented in
+Common Lisp. CMUCL is maintained by a team of volunteers collaborating
+over the Internet, and is mostly in the public domain.
+
+New in this release:
+       
+  * Feature enhancements:
+
+  * Numerous ANSI compliance fixes:
+     - SYMBOL-MACROLET signals an error when an attempt is made to
+       bind a special variable or a constant
+     - WITH-OUTPUT-TO-STRING accepts the :external-format keyword
+       argument
+     - the function WRITE-STRING accepts a NIL value for the :end
+       argument 
+     - the function CHANGE-CLASS now accepts initargs
+     - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work
+     - in loop forms, the INITIALLY, FINALLY and DO keywords must be
+       followed by a compound form
+     - in the loop macro, PRESENT-SYMBOL now means both internal and
+       external symbols of a package
+     - the class precedence list of NULL has symbol before list
+     - the function FLOAT-RADIX signals an error if its argument is
+       not a float
+     - an error is signaled if the lambda keyword &rest is not
+       followed by a variable
+     - the GENTEMP function no longer accepts arguments of type symbol
+     - the function SHIFTF supports multiple values
+     - compiler macros recognize calls of the form (funcall foo args)
+     - (coerce <rational> '(complex float)) now returns a (complex
+       float) rather than a rational
+     - the ECASE and CCASE macros are allowed to use T and OTHERWISE
+       as regular keys, instead of as the otherwise clause. CMUCL
+       prints a warning about this being poor style.
+
+  * Numerous bugfixes:
+     - READ-BYTE on certain types of multi-byte elements was incorrect
+     - fix the treatment of colon package delimiters for the ~/
+       formatting directive
+     - correction to CLX's handling of FamilyLocal authorization
+       cookies (as created by versions of ssh after 3.4)
+     - fix to CLX handling of :any event-spec ??
+     - fix to boa-constructors ??
+     - EXPT was not correctly handling a zero exponent
+     - index calculations for operations bitvectors of sizes near the
+       ARRAY-DIMENSION-LIMIT could overflow
+     - redefining a class with a changed class precedence list didn't
+       update the CMUCL type system
+     - generated CLOS getter/setter/boundp generic functions are now
+       declared correctly, to eliminate bogus undefined function
+       warnings from the compiler
+     - method combination options for the long form of the
+       DEFINE-METHOD-COMBINATION special form work correctly
+     - executing a defclass form with a metaclass of STRUCTURE-CLASS
+       would result in the generation of recursive print-object
+       methods, so that printing such instances would loop
+     - dividing a ration by zero returned 1/0 instead of signaling an
+       error
+     - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the
+       system to crash
+     - in the byte-compiler, string comparisons STRING< and STRING>
+       returned incorrect results
+     - the function READ-SEQUENCE returned incorrect results for
+       specialized arrays when the internal READ-N-BYTES function read
+       short
+     - when a sequence type specifies a length, CMUCL checks that the
+       length of sequence arguments match the length of the sequence type
+     - the function COMPILE-FILE-PATHNAME computes the output file
+       name by merging the input file name and the supplied output file name
+     - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM,
+       MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their
+       argument is an input or output stream, as appropriate
+     - numerous error conditions are signalled using a more specific
+       condition type than a generic error
+
+  * Other changes:
+     - the function PROFILE:REPORT-TIME no longer prints out a long
+       list of functions that were not profiled. The cutoff is
+       user-configurable by setting the new variable
+       PROFILE::*NO-CALLS-LIMIT*.
+     - reinstated the ability to build small runtime images (excluding
+       the compiler)
+  
+  * Code cleanups:
+
+  * Changes to rebuilding procedure:
+     - the search-list "modules:" tracks the "library:" search-list,
+       instead of being set to whatever "library:subsystems/" is at
+       startup. 
+      
+
+This release is not binary compatible with code compiled using CMUCL
+18d; you will need to recompile FASL files. 
+
+See <URL:http://www.cons.org/cmucl/> for download information,
+guidelines on reporting bugs, and mailing list details.
+
+
+We hope you enjoy using this release of CMUCL!
+