Version 0.5.0:
    New features:
    - Introduced optional style scopes. This allows having separate rendering of
      styles for different code types, in particular for embedding one code type
      into another. A good example where this can be useful is for CSS, which is
      often embedded into HTML. Using different rendering of the styles allows
      visual distinction between the distinct code types in the same file.

    Bug fixes:
    - Allow comments in CSS documents in all the relevant places.

Version 0.4.9:
    New features:
    - Added syntax highlighting for Markdown documents.

    Bug fixes:
    - Fix Perl highlighting patterns to handle nested variable expansion (e.g.
      ${$foo}).

Version 0.4.8:
    Bug fixes:
    - Fixed incorrect free on uninitialized pointers when validation of
      highlighting data fails.

Version 0.4.7:
    Introduce a PCRE2 compatibility layer using PCRE, to allow compilation on
    platforms which don't provide PCRE2.

Version 0.4.6:
    New features:
    - Migrated to using PCRE2. This allows using the PCRE2 JIT, which provides a
      significant performance improvement.

    Bug fixes:
    - Fixed highlighting of keywords after a line continuation in shell
      scripts.

Version 0.4.5:
    Bug fixes:
    - Fixes the install target in Makefile.in.
    - Fixes the configure script to correctly pass the PCRE flags.

Version 0.4.4:
    - Removes pre-generated Doxygen documentation.
    - Minor updates to Makefile.in for compatibility with Debian packaging.

Version 0.4.3:
    New features:
    - Support for highlighting C++11 raw string literals.
    - Support for Ruby highlighting.

    Bug fixes:
    - Properly handle Emacs mode lines. Only the first character of the language
      name was used to detect the highlighting mode.
    - Fix javascript regular expression literal highlighting to accept
      expressions starting with \ or [,. Also allow such literals after detecting
      a comma.

Version 0.4.2:
    Re-release of version 0.4.0 for config script update.

Version 0.4.1:
    Re-release of version 0.4.0 for config script update.

Version 0.4.0:
    New features:
    - The interface for detection of languages was changed to return a
      t3_highlight_lang_t struct, to allow accurate loading of the patterns
      from the detected language.
    - A new function was added to retrieve the language detected from the
      file name.
    - Basic syntax highlighting patterns for PHP. Currently does not include
      highlighting of string interpolation.

    Bug fixes:
    - The HTML patterns for the svg, math and style tags did not correctly
      accept the generic HTML attribute names.
    - The style tag was not colored correctly at all.

    This version is both an API and ABI break.

Version 0.3.5:
    Bug fixes:
    - Added omitted 'do' keyword for C++.
    - Fix reads and writes of unallocated memory in analyzing patterns.

Version 0.3.4:
    Bug fixes:
    - Add override keyword for C++.
    - Update the diff language spec to be more permissive.
    - Correct color for deletions in t3highlight when outputing to terminal.

Version 0.3.3:
    Bug fixes:
    - Loop check in matching checked the end of the previoius match instead of
      the end of the newly found match, causing the check to be too
      conservative.
    - The shell pattern was missing the elif keyword.
    - The java pattern did not highlight string constants, even though they were
      being recognised.

Version 0.3.2:
    Bug fixes:
    - The shell patterns were updated to correctly exit from subshells and other
      constructs using the closing parenthesis as their terminator.

Version 0.3.1:
    Bug fixes:
    - Fix incorrect analysis of on-entry states, which would allow a loop of
      empty start patterns, when more than one on-entry pattern was used in a
      single pattern.

Version 0.3.0:
    New features:
    - Start patterns for states may now match the empty string, provided they
      do not cause a cycle of states reachable through only empty-string
      matches.

    Bug fixes:
    - The shell patterns have been improved to recognize keywords better.

Version 0.2.4:
    Bug fixes:
    - Compile with Large File Support if such support is available on the
      platform.

Version 0.2.3:
    Bug fixes:
    - Fix memory leak in t3_highlight_detect.

Version 0.2.2:
    New features:
    - Added LaTeX output option for t3highlight program.

    Bug fixes:
    - Fix missing casts to unsigned char in UTF-8 validity check.

Version 0.2.1:
    New features:
    - A new API for autodetection of languages using either the vi(m) modelines
      and Emacs major mode comments, or the interpreter for scripts.
    - Switch to XDG Base Directory Specification locations for per-user
      configuration files.

Version 0.2.0:
    New features:
    - Added dynamic 'end' patterns, which allows the 'end' pattern to be
      dependent on the text matched by the 'start' pattern.
    - Allowed 'end' and other patterns to specify how many states to exit. This
      also allows multiple 'end'-like patterns and error patterns.
    - Added the possibility to push extra states on the stack on matching a
      'start' pattern. This allows more state based handling of the input.
    - Added perl language definition.
    - Added HTML language definition.
    - Added CSS language definition.
    - Added MathML language definition.
    - Added SVG language definition.
    - Updated C language definition to C11 standard.
    - Improved the handling of here-docs in the shell language.
    - Implemented internal UTF-8 validity check, such that pcre_exec can be
      called with PCRE_NO_UTF8_CHECK. This increases performance.
    - Changed the matching routine to use anchored matching, to speed up the
      matching process. As a result, the \G assertion matches everywhere, and
      is therefore rendered useless. This results in a large (>10 times)
      speed-up.
    - Added t3highlight executable, which allows using the highlighter from the
      command line. Different output styles can be used, with styles for
      terminal output (esc) and HTML included.
    - Added verbose error reporting.

    Bug fixes:
    - Don't use \b to determine word boundaries when - is also a word character.

Version 0.1.3:
    Bug fixes:
    - Fix memory leak in loading available names.

Version 0.1.2:
    New features:
    - Added python and python3 language definitions.

    Bug fixes:
    - Improved floating point constant matching for Java and C/C++.
    - Use longest match instead of first match as tie breaker.

Version 0.1.1:
    Initial release
