** 1.11.x

1.10.2 --> 1.11.1
===============

* API change: the fixities field in ParseMode is now of type
  Maybe [Fixity].  If the field is Nothing the parsing will
  not try to do any fixity resolution whatsoever, otherwise
  it behaves as before.

* API change, bug fix: The Fixity type contains a QName rather
  than an Op to name the operator.  The operator must match
  the given QName exactly (i.e., unqualified names only match
  unqualified names, and qualified names only match qualified
  names) for applyFixities to perform fixups.

* Bug fix: End-of-file inside an OPTIONS pragma no longer loops.



** 1.10.x

1.10.1 --> 1.10.2
===============

* Fix a missing case in the Functor declaration for Decl. Thanks
  to Malcolm Wallace for the patch!

1.10.0 --> 1.10.1
===============

* Enable the unicode version of DoubleColon (x2237). Thanks
  to Andrs Sicard-Ramrez for the patch!

1.9.6 --> 1.10.0
===============

* Ensure that implied extensions are always picked up, not only
  when using the parseFile* family of functions as previously.

* Add the newly devised <%>...</%> syntax to the XmlSyntax support.
  This causes changes to pretty much everything, including adding
  a case to the AST which prompts the major version bump.


** 1.9.x

1.9.5 --> 1.9.6
===============

* Fix a bug (#203) where the lexer loops on malformed quasi-quoters.

* Fix a bug with pretty-printing RULES pragmas.

1.9.4 --> 1.9.5
===============

* Fix a bug where deriving clauses for GADT-style data declarations
  were not properly indented.

* Pretty-printing patterns is now more accurate in inserting (and not
  inserting) parentheses when needed.

1.9.3 --> 1.9.4
===============

* Pretty-printer now inserts parentheses in clever places when 
  printing kinds.

* Pretty-printing expressions is now far more accurate in inserting
  (and not inserting) parentheses when needed.
  
* Pretty-printing negative expressions no longer inserts a superfluous
  space between the - and the expression.

1.9.2 --> 1.9.3
===============

* Constructors for newtype declarations must now have exactly one
  argument. This is only when using the classic syntax, not with
  GADT-style syntax.

* Fix a bug where preceding commas in tuple sections were counted
  one too few.

1.9.1 --> 1.9.2
===============

* Fix a bug with pretty-printing lexer tokens.

* Fix a bug where non-colon TypeOperators could not be used in
  prefix mode.

1.9.0 --> 1.9.1
===============

* Export parseFileContentsWithExts from .Exts.

1.8.2 --> 1.9.0
===============

* OptionPragma is renamed to the more descriptive ModulePragma,
  and adds a constructor AnnModulePragma for handling ANN pragmas
  preceding module header.

* Add instances for Eq/Ord/Data/Typeable for Fixity.

* Add 'parseFileWithComments' and 'parseFileContentsWithComments'
  to L.H.Exts .

* More informative error messages when HSX tags are mismatched.



** 1.8.x

1.8.1 --> 1.8.2
===============

* Don't insert redundant parentheses around record constructions
  and updates.

1.8.0 --> 1.8.1
===============

* Fix three bugs with the handling of ANN. I must have been really
  tired when implementing that support.

1.7.2 --> 1.8.0
===============

* Add an instance Show Fixity (derived).

* Support for the new ANN and INLINE_CONLIKE pragmas.

* Export knownExtensions from .Extension.

* Remove support for CFILES and INCLUDE pragmas. The support wasn't 
  correct anyway, as it assumed the pragmas appeared at the top of 
  files. As CFILES/INCLUDE pragmas can (and do) appear anywhere, 
  there's no hope to support them in the AST. Better to remove the 
  support altogether. Files with CFILES/INCLUDE pragmas can still 
  be parsed of course, but those pragmas will be handled as comments.

* Parsing with ignoreLinePragmas = False now correctly updates the
  file name.

* Allow the whole SPECIALISE/INLINE family of pragmas in instance
  declarations. The InsInline constructor is removed, and is now
  represented by InsDecl (InlineSig ...).

* Fix a bug with line numbering and quasi quotes, and a similar one 
  with line numbering and CDATA.

* Fix a few minor bugs in the exactPrinter.

* Fix the strange handling of so called strings in LINE pragmas.

** 1.7.x

1.7.1 --> 1.7.2
===============

* Fixes a bug in lexing LINE pragmas (used when ignoreLinePragmas
  is set to False).

1.7.0 --> 1.7.1
===============

* UnicodeSyntax now also enables the forall symbol (U+2200).

1.6.1 --> 1.7.0
===============

* Operators defined on the form
  
     (a `op` b) c = ...
  
  could not be handled by the (annotated) AST, nor the parser. I had to 
  change the definition of the AST node for InfixMatch to allow a list
  of right-hand subpatterns, i.e.
  
     InfixMatch l (Pat l) (Name l) (Pat l) ...
  
  has become
  
     InfixMatch l (Pat l) (Name l) [Pat l] ...

  I also had an epiphany and fixed the issue that would arise with
  exact printing of prefix definitions including parentheses, so 
  that now works too!

** 1.6.x

1.6.0 --> 1.6.1
===============

* UnicodeSyntax now works not only for identifiers, but also for
  ->, <- and =>, as well as Arrows arrows and kind stars.

1.5.3 --> 1.6.0
===============

* (=~=) turns out to be too general at Functor (for intuitive and not
  technical reasons), so is specialised to Annotated to closer mirror
  the original intention.

* applyFixities is hoisted to a monad, and now fails on ambiguous infix
  expressions.

** 1.5.x

1.5.2 --> 1.5.3
===============

* Several small bug fixes in the exact printer, and fail more gracefully
  if the number of srcInfoPoints doesn't match the needs of the node.

1.5.1 --> 1.5.2
===============

* Fix a bug in the exact printer that made it always print the first token
  at position (0,0).

* In fixing the above, Annotated is now a superclass of ExactP. It was already
  a superclass in spirit, and nothing can break from this since ExactP is only
  exported abstractly.

1.5.0 --> 1.5.1
===============

* The pretty printer now introduces parentheses for non-atomic arguments to
  function application. Note that infix applications are left untouched, no
  parentheses will be inserted there, as it is assumed that fixities are
  already properly resolved.

* Fix a bug in the pretty printer where view patterns and n+k patterns were
  not properly parenthesised.

1.4.0 --> 1.5.0
===============

* Add support for acting on LINE pragmas while parsing, i.e. updating the source
  position according to info given in LINE pragmas. This is done conditionally
  based on a new flag ignoreLinePragmas in the ParseMode, hence the need to
  increase the major version.

** 1.4.x

1.3.5 --> 1.4.0
===============

* The AST node for Proc in the simple AST is changed to include a SrcLoc argument,
  to make it consistent with similar nodes e.g. Lambda. This is specifically needed
  for transformation of patterns in HSX.


** 1.3.x

1.3.4 --> 1.3.5
===============

* Added an entry point in the parser for statements, and an instance Parseable Stmt
  to go with it.

* Ensured that .Annotated exports all relevant parseXXX(WithYYY) functions.

1.3.3 --> 1.3.4
===============

* Operator fixities are now resolved in patterns.

1.3.2 --> 1.3.3
===============

* Fixes a bug where qualified keywords are rejected even if the extension that
  enables the keyword in question is not turned on.


1.3.0 --> 1.3.2
===============

(Let's forget 1.3.1 ever existed.)

* Fix a bug where declarations of infix operators were not properly merged as FunBinds.

