
              CHANGES - Changelog for GeSHi (geshi.php only)

Changes to the code are listed under the version they occured in, with who suggested
it by each one (if there's nobody listed as suggesting it I dreamed it up :)). Users
who suggested an idea often also provided the code that was used as a basis for the
changes - thanks to all who suggested these ideas and gave me the code to show me how!

Language files listed under each version were made by the author beside them, and then
modified by me for consistency/bug fixing.

Please send any bug reports to nigel@geshi.org, or use the bug report tracker
at sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231)

Version 1.0.7.5
  -  Fix for using escape characters to escape newlines breaking XHTML compliance (Yves Goergen)
  -  Fixed method highlighting in VB (Matt Beale)
  -  Fixed multiline comment highlighting in SQL (MrBaseball34)
  -  Fixed two ">" symbols being outputted when using a footer but not CSS classes (MrBaseball34)
  -  Marked important block stuff as deprecated
  -  Some documentation tidyup
  -  Updated GML language file (José Jorge Enríquez Rodríguez)
  -  THANKS file tidied up
  -  Fixed double </a> for elements in HTML (Yves Goergen)
  -  Added some keywords for ASM (Dreuzzo)
Version 1.0.7.4
  -  Added language files
     * MySQL (Carl Fürstenberg)
     * BlitzBasic (Pŕdraig O`Connel)
  -  Fixed up geshi_highlight function: it now correctly uses <code> instead of <div> (Remi Faure)
  -  When using GESHI_HEADER_NONE, remove the <ol> if line numbering is not enabled
  -  Commented example.php so people can use it as a guide better
  -  Fixed extra newline being generated if a comment is at the end
     of the source (many people, including Yves Goergen)
  -  Fixed up some documentation issues
  -  Some minor language file fixes (C++, Lua) (Lua fixes by chromix)
  -  Fixed up no </span> in XML and other strict languages (regression from 1.0.7.3 fix: removed
  	 unnecessary </span> when using strict mode) (Daniel Ecer, drskrud),
Version 1.0.7.3
  -  Added language files
     * Scheme (Jon Raphaelson)
     * Ocaml and Ocaml-brief (Flaie)
     * Ruby (Amit Gupta)
  -  Make urls generated for java highlighting XHTML compliant (Tim Van Wassenhove)
  -  Removed unnecessary </span> when using strict mode (Tim Van Wassenhove)
  -  Fixed warning in dos.php about undefined constant (Tim Van Wassenhove)
  -  Fixed security hole in contrib/example.php - able to view any file if source
     not set and language is set to wierd value (Maksymilian Arciemowicz)
Version 1.0.7.2
  -  Added language files
     * Inno (Thomas Klinger)
     * Ini (Deguix)
     * DOS (Batchfile) (Alessandro Staltali)
     * Applescript (Stephan Klimek)
     * Freebasic (Roberto Rossi)
     * SDLBasic (Roberto Rossi)
     * ActionScript (links to French documentation) (NikO)
  -  NSIS language file updated (deguix)
  -  Lua language file updated (Roberto Rossi)
  -  Bugfix: Styles incorrectly overriding default styles instead of being merged
     in set_*_styles methods (Stebastian Werner)
  -  Added GESHI_HEADER_NONE as valid header type. This still allows header content.
Version 1.0.7.1
  -  Added language files:
     * Div (Gabriel Lorenzo)
     * GML (José Jorge Enríquez Rodríguez)
     * Eiffel (Zoran Simic)
  -  Minor change to rules regarding when keywords can appear - now dots (.) are
     allowed before keywords. (NikO)
  -  Bugfix: the line style for non-fancy lines when fancy highlighting is enabled
     is now applied (Amit Gupta)
Version 1.0.7
  -  Added language files:
     * Diff (Conny Brunnkvist)
     * VHDL (Alexander Krause)
     * D (Thomas Kuehne)
     * Matlab (Florian Knorn)
  -  Python highlighting improved (thither, Federico Quagliata)
  -  Changed file comments to use phpdoc syntax, and changed code style to be more
  	 like PEAR
  -  Fixed bug in set_code_style: Second parameter is now optional
  -  The $_GESHI_ERRORS array is gone, error messages are internal to the GeSHi class
  -  Changed name of XML language to XML from HTML
  -  Removed min and max tab width checks
  -  Backported GeSHi 1.1.X's automatic language file path detection so you no longer
     need to use the third parameter of the constructor or set_language_path except for
     special circumstances.
  -  Source is checked to make sure it is not empty else an error occurs
  -  Removed excess characters after ?> in ada.php, apache.php and cpp.php that caused
     http headers to be sent (psichron)
  -  Removed second "foreach" keyword for smarty language file that was causing
     duplication (Iss)
  -  Added underscore to allowed characters in match for XML tags (anonymous)
  -  Added some missing java keywords like "abstract" and "transient"
  -  Added "list" and "continue" PHP keywords
  -  set_language resets error status and strict mode (Andrew Black)
  -  Removed margin:0 declaration from cssgen.php (Andrzej Kubaszek)
  -  Fixed multiline comment selector in cssgen.php (Andrzej Kubaszek)
Version 1.0.6
  -  Added support for smart tabs - tabs that behave just like normal tabs when in
     GESHI_HEADER_DIV mode.
  -  Partial patch for UTF-8 encoding applied (doesn't quite work however...)
Version 1.0.5
  -  Added language files:
     * MPASM (Bakalex)
     * Oracle 8 (Guy Wicks)
  -  Fixed bug where not using an encoding type would sometime result in warnings (although
     there still seems to be issues with encoding in general that I'm trying to gather more
     data on) (Alexander Spennemann)
  -  Removed "margin: 0" from <ol> in an attempt to make line numbers visible in IE again
     by default (untested, but I don't really care if it works... get firefox! ;))
  -  Added note on php5 support (Karim Scheik)
  -  Added two new methods: load_from_file and get_language_name_from_extension, that can
     help automate file highlighting (though the extension array at this time is quite bare)
     (David Gartner, Brian Cheesman)
Version 1.0.4
  -  Fixed many version-reporting bugs (Jack Lloyd)
  -  Fixed bug where methods were not having the correct CSS generated for them
     by get_stylesheet() (Jack Lloyd)
  -  Added new keywords to C and C++ files (Jack Lloyd)
  -  Added section on case sensitivity to documentation that wasn't in the other versions
Version 1.0.3
  -  Added language files:
     * Smarty (Alan Juden)
     * C# (Alan Juden)
     * VB.NET (Alan Juden)
     * C for Macs (M. Uli Kusterer)
     * Objective C (M. Uli Kusterer)
  -  Links can have a target attribute (Andreas Gohr)
  -  Fixed multiline string bug if not using classes
  -  Added method set_encoding that allows you to set the character
     set used by calls to htmlentities() in GeSHi
  -  You can now specify an array of object splitters, and each
     type of method separated by each object splitter can be highlighted
     differently
  -  If a language uses a case sensitive keyword group and that group
     has a URL associated with it, the keyword will not be lowercased
     in the URL (M. Uli Kusterer)
Version 1.0.2
  -  Added language files:
     * Actionscript (Steffen Krause)
     * ASP (Amit Gupta)
     * Bash (Andreas Gohr)
     * CADDCL (Roberto Rossi)
     * CadLisp (Roberto Rossi)
     * C++ (Dennis Bayer)
     * Delphi (Járja Norbert)
     * Javascript (Ben Keen)
     * Lisp (Roberto Rossi)
     * OpenOffice.org BASIC (Roberto Rossi)
     * Perl (Andreas Gohr and Ben Keen)
     * Python (Roberto Rossi)
     * VisualFoxPro (Roberto Armellin)
     * XML (Nigel McNie, from an idea/file by Christian Weiske)
  -  Added contrib/ directory with script to create one external stylesheet
     from many languages(base script by Andreas Gohr, modified by Nigel McNie),
     and an example script (needs lotsa work...)
  -  Code lines can have their own unique ID (for use with javascript)
     (suggested by Andreas von Oettingen)
  -  Certain rows can be specified to be highlighted differently (suggested by
     Andreas von Oettingen)
  -  Getter available for human-readable language name (suggested by Simon Patterson)
  -  Line numbers aren't highlighted when a user selects the code
  -  Contextual highlighting with <BEGIN GeSHi> ... <END GeSHi> in the code (which
     can be disabled)
  -  Functions can be made into URLs to appropriate documentation (suggested
     by cybot_tm). Also thanks to Marcin Gryszkalis for the links for C, Java
     and Perl.
  -  Code can have a header and footer
  -  Time taken to parse the code is recorded and made available with the get_time()
     method
  -  error() now returns a human-readable error message
  -  Function geshi_highlight added to make it even easier to highlight on the fly
  -  Advanced regular expression handling
  -  Bug fixes to lexic_permission handling

Version 1.0.1
  -  Added methods set_symbols_style() and set_symbols_highlighting(). These should be used
     instead of set_brackets_style and set_brackets_highlighting respectively.
  -  Added a new field - language_path - that can be set either when the constructor is
     called, or by the new method set_language_path(), that specifies a path to the directory
     containing the language files (bug reported by bbspliff)
  -  Added a new method set_case_keywords(), that allows the auto-casing feature to be
     changed on the fly instead of simply being specified in the language file
  -  If there is an error the source that is outputted is now handled much better
  -  Lines are broken in the source only by \n now, not by \r\n (to save on output source)
  -  Indentation moved into its own method
  -  Method header() modified to allow the user to choose whether the code is surrounded in
     a <div> or a <pre> (see documentation for benefits of both). Method footer() likewise
     modified.
  -  Method get_stylesheet() modified so that a smaller comment is outputted in economy mode,
     and bugs with when line number classes are outputted in economy mode have been fixed
  -  Bug where spans had two quotes at the end of the attributes fixed (ie. <span style=".."">)
  -  Added language files:
     * Ada (Tux)
     * Apache log file (Tux)
     * ASM (Tux)
     * NSIS (Tux)
     * Pascal (Tux)

Version 1.0.0
  -  Initial Release

                    $Id: CHANGES,v 1.1 2006/01/23 09:27:27 wangcs Exp $
