-* unboxed the state in ST and IO, and specialised IO (it is no longer built
+Changes made since 2.08:
+
+\begin{itemize}
+\item fixed type-synonym-arity bug in the typechecker.
+
+\item fixed overloaded-constructor-argument bug in the typechecker.
+
+\item fix off-by-one error in PackedString:filterPS.
+
+\item fixed getCurrentDirectory.
+
+\item fixed space-leak bug to do with polymorphic recursion and overloading.
+
+\item fixed lit-deatify that was core dumping on Linux.
+
+\item some fixes to the native code generator for i386.
+
+\item unboxed the state in ST and IO, and specialised IO (it is no longer built
on top of ST).
-* reversed the sense of -fwarn-{overlapped,incomplete}-patterns. The driver
+\item reversed the sense of -fwarn-{overlapped,incomplete}-patterns. The driver
now has to have the flag to provide the warning.
-* added the -Wnot, -W, and -Wall options. Set up a default set of warnings,
+\item added -fwarn-missing-methods
+
+\item added the -Wnot, -W, and -Wall options. Set up a default set of warnings,
namely -fwarn-{overlapped,incomplete}-patterns.
-* Added -fwarn-duplicate-exports warning to check for duplicates in
+\item Added -fwarn-duplicate-exports warning to check for duplicates in
export lists. Included in default warning set.
-* Renamed SampleVar.{write,read}Sample to SampleVar.{write,read}SampleVar
+\item Renamed SampleVar.{write,read}Sample to SampleVar.{write,read}SampleVar
-* new mkdependHS options: -W disables warnings of duplicate interface
+\item new mkdependHS options: -W disables warnings of duplicate interface
files found along the import path. --include-prelude *will* generate
dependencies on Prelude + any prelude/syslib .hi files used.
+\item removed the @PrimIO@ type. For a limited time only, @PrimIO@
+ will be available from @GlaExts@ as a synonym for @IO@.
+
+\item changed the type of @_ccall_@s to return @(IO a)@.
+
+\item renamed @mainPrimIO@ to @mainIO@, as it now has type @IO ()@.
+
+\item fixed the semantics of the @-i@ flag to @mkdependHS@ to be the
+ same as GHC.
+
+\item fix panic when a type constructor is used as a class.
+
+\item don't arbitrarily truncate cost centre names in profiling information.
+\end{itemize}
+
+In 2.09, we've made extensive changes to the libraries that provide
+access to various GHC extensions. Many of these extensions are now
+provided by Hugs, and as a result we are now using a common set of
+extension libraries.
+
+Briefly, the changes are as follows (for the definition of the new
+libraries, see the section on GHC/Hugs libraries in the User Guide).
+
+\begin{itemize}
+\item Addr moved out of Foreign and into its own module.
+
+\item MutVar module disappeared, IOExts now exports IORefs and associated
+ operations.
+
+\item The @CCallable@ and @CReturnable@ classes now have their own
+ module, @CCall@. You only need to import this module to provide a
+ new instance of one of these classes.
+
+\item A new module @IOExts@ provides extensions to the @IO@ monad,
+ including @unsafePerformIO@, @unsafeInterleaveIO@, @IORef@s (mutable
+ variables), and @IOArray@s (mutable arrays).
+
+\item Importing @ST@ is now the official way to get access to the @ST@
+ monad. This module also supports @STRef@s (mutable variables) and
+ @STArray@s (mutable arrays).
+
+\item A new module @LazyST@ provides an identical interface to @ST@
+ except that the underlying implementation of the monad is lazy. Be
+ careful about mixing these two in the same program.
+
+\item The new module @Bits@ provides a class of bit operations. The
+ modules @Int@ and @Word@ provide signed and unsiged integer types
+ (respectively) of varying sizes, all of which support bit
+ operations.
+
+\item Added @Bits@, @Int@, @Word@ (and a few new primops over words).
+
+\item The @GlaExts@ module will provide Glasgow-only extensions. For
+ now, we've kept the old interface for compatibility, but beware that
+ this is deprecated and the relevant extension libraries should be
+ imported explicitly.
+
+\item Several changes to the libraries in @lib/ghc@ - see the User
+ Guide for details.
+\end{itemize}