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 BenBE@omorphia.de, or use the bug report tracker at sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231) Version 1.0.8.10 - Added language files * BASCOM AVR (Michal Goralczyk) * C: Loadrunner dialect (Stuart Moncrieff) * CoffeeScript (Trevor Burnham) * EPC (Thorsten Muehlfelder) * Euphoria (Nicholas Koceja) * Falcon (billykater) * HTML5 (Robert Lidberg) * LLVM (Azriel Fasten) * PL/I (Robert Prins) * ProFTPd (Benny Baumann) * PyCon (Benny Baumann) * UnrealScript (pospi) * YAML (Josh Ventura) - Small bugfix in LangCheck when looking for language files - Added '-' to list of RX chars that require explicit escaping (SF#3056454, BenBE) - Minor changes to boundary checks (SF#3077256, BenBE) - Improvements to language files (BenBE) * Major rework of the ALGOL68 language file (Neville Dempsey) * LangCheck warnings from GO language file (BenBE) * Some additions to the Objeck language file (Randy Hollines) * Properly highlight infinity as numbers for J (Ric Sherlock) * Improved GDB Backtrace language file (Milian Wolff) * Updated Liberty BASIC language file (Chris Iverson) * Fixed a small issue with detection of division vs. regular expressions for ActionScript 3 and JavaScript (Kevin Day) * Fixed Escape handling for CSS (SF#3080513, yecril71pl, BenBE) * Additional comment styles for SAS (SF#3024708, ahnolds, BenBE) * Updated keyword list for TeraTerm (Boris Maisuradze) * Incorrect handling of /**/ comments in Javascript (BenBE) * Support for mod_upload_progress in Apache Config files (BenBE) * Prefix operator handling in F# was broken (BenBE) * CDATA handling for html4strict (BenBE) * Common subcommands for Apache, APT, CVS, Git, SVN and YUM for Bash (BenBE) * Limited support for prompt detection in single line Bash snippets (BenBE) * Added functions of the C standard library (BenBE) * Rework of Lua to use GeSHi's features better (BenBE) * Language file improvements for Python (Zbyszek Szmek) * Fixed documentation links for Groovy (SF#3152356, lifeisfoo) * Fixed incorrect highlighting of certain keywords in Erlang (SF#3138853, BenBE) * Escape chars in C++/C++QT handled incorrectly (SF#3122706, C. Pötsch) * Empty parameters of LaTeX commands tipped the highlighting off (SF#3098329, James Oldfield, BenBE) * Additional Keywords and minor tweaks to Logtalk (Paulo Moura) Version 1.0.8.9 - Added language files * Algol68 (Neville Dempsey) * E (Kevin Reid) * FormulaOne (Juro Bystricky) * Go (Markus Jarderot) * Liberty BASIC (Chris Iverson) * MOS 6502/6510 Assemblers (Warren Willmey) * Motorola 68k assembler (Warren Willmey) * Objeck Programming Language (Randy Hollines) * ZXBasic (Jose Rodriguez) - Added support for $-prefixed hex numbers and @-prefixed octal numbers - Added Parser Control for languages to tell when numbers are present inside of non-string parts - Introduced querying supported/known languages directly - Introduced querying full language names without loading the language file - Improvements to language files (BenBE) * Added loads of keywords for generic SQL highlighting (Jürgen Thomas) Version 1.0.8.8 - Added language files * ChaiScript (Jason Turner & Jonathan Turner) * Genie (Nicolas Joseph) * GwBasic (José Gabriel Moya Yangüela) * HicEst (Georg Petrich) * Icon (Matt Oates) * MagikSF (Sjoerd van Leent) * Modula 2 (Benjamin Kowarsch) * Oz (Wolfgang Meyer) * PCRE (BenBE) * PostgreSQL (Christophe Chauvet) * q/kdb+ (Ian Roddis) * RPM Specification Files (Paul Grinberg) * Unicon (Matt Oates) * Vala (Nicolas Joseph) * XBasic (José Gabriel Moya Yangüela) - Improvements to language files (BenBE) * Major reworks and improvements to OCaml language file (BenBE) * Removed duplicate entries from keyword groups of VIM language file (Segaja) * Properly protect Regexps against GeSHi Black Magic in Matlab (BenBE) * Added support for Block Comments in PowerShell (BenBE) * Added some keywords for VB; split into multiple groups (leejkennedy, BenBE) * Basic Heredoc Support for Ruby (BenBE) Version 1.0.8.7 - Added language files * Autoconf (Mihai Vasilian) * ECMAScript (Michel Mariani) * J (Ric Sherlock) * OpenBSD Packet Filter (David Berard) * Oxygene / Delphi Prism (Carlo Kok) - Minor change in INT_BASIC number regexp to support '..' range operator as to be found in most Pascal-like languages (BenBE) - Fixed an issue with Hardquotes for empty strings (like '' in Delphi) (BenBE) - Introduced a fix for improved performance when matching numbers (BenBE) - Improvements to language files (BenBE) * Fixed broken links in Prolog language file (BenBE) * Fixed keywords in generics expressions in Java5 (BenBE) * Added support for import static in Java5 (BenBE) * Added Standard Integer Types for C and c++ (BenBE) * Fixed some regexp issues in Erlang (BenBE) * Added some missing keywords for Clojure (BenBE) * Added some missing keywords for Lisp (BenBE) * Fixed a problem with variable names in Prolog (BenBE) * Some color changes for AutoIt (BenBE) * Added support for basic include directive processing for AutoIt (BenBE) * Added support for ::-style labels as comments (SF#2947393, BenBE) * Removed backslash as Escape Char in T-SQL (SF#2939199, Bruno Braga) * Added Nested Comments Support for Haskell (SF#2922317, BenBE) * Fixed Comments for VIM, added some keywords, proposed porting of Regular Expression markup from Perl (SF#2818047, psycojoker, BenBE) * Fixed warnings for Language Check of Tcl (BenBE) Version 1.0.8.6 - Added language files * Clojure (Jess Johnson) * Cuesheet (Benny Baumann) * F# (Julien Ortin) * GAMBAS (Jesus Guardon) * Logtalk (Paulo Moura) * MapBasic (Tomasz Berus) * NewLisp (cormullion) * Perl 6 (Kodi Arfer) * Pike (Rick E.) * SystemVerilog (Sean O'Boyle) - Reworked parts of the number support (BenBE) - Improvements to language files (BenBE) * Fixed broken links in R/S+ language file (BenBE) * Fixed an issue with if= argument for dd command (BenBE) * T-SQL should use GESHI_CAPS_NO_CHANGE for keywords (BenBE) * Fixed missed shorthand arg references in Bash (BenBE) * Fixed first line not getting highlighted in diff language (BenBE) * Added some keywords for csharp (RC) Version 1.0.8.5 - Added language files * AutoHotkey (Naveen Garg) * Awk (George Pollard) * GADV 4CS (Jason Curl) * jQuery (Rob Loach) * PowerBuilder (Doug Porter) * PureBasic (Gustavo Julio Fiorenza) * R / S+ (Ron Fredericks, Benilton Carvalho) - Fixed legitimate numbers sometimes missing from highlighting (BenBE) - Fixed a problem with URLs allowing to break highlighting (BenBE) - Allowed for String and Number Styles to be set by the API (BenBE) - Produce valid CSS when languages start with underscore (BenBE) - Duplicate newlines with PRE_TABLE-Header but w/o linenumbers (SF#2838958, BenBE) - Improvements to language files (BenBE) * Fixed case-insensitively duplicate keywords (BenBE) * DCS language file contained HARDQUOTE section but no hardquotes (BenBE) * Some additional headers for Email\mbox highlighting (BenBE) * Added some more Keywords for robots.txt highlighting (BenBE) * Added Git commands for bash, ifup/ifdown (BenBE) * Added support for C# and VB.net delegates (SF#2832253, BenBE) * Added support for line numbers, file handles and hex\octal numbers for QBasic (BenBE) Version 1.0.8.4 - Added language files * BibTeX (Quinn Taylor) * CMake (Daniel Nelson) * Erlang (Benny Baumann, Dan Forest-Barbier, Uwe Dauernheim) * FO (abas-ERP) (Tan-Vinh Nguyen) * Property Files (Edy Hinzen) * Whois (RPSL format) entries (Benny Baumann) - Changed INT_BASIC number format to allow numbers followed . at EOL (BenBE) - Higher prority for keywords over regexps (BenBE) - Added missing set_script_style API function (BenBE) - Fixed missing check for comment_regexp preference in HardQuotes (BenBE) - Fixed a problem with Strict Block Detection if the Strict Block Regexp requires matching groups for itself (BenBE) - Improvements to language files (BenBE) * Added PCRE regexp support for Action script (SF#2655644, BenBE) * Removed some superfluous keywords from ABAP (BenBE) * Removed duplicate keywords for Progress (BenBE) * Removed duplicate keywords for T-SQL (BenBE) * Linking for PowerShell special variables revised (BenBE) * Fixed linking in ColdFusion (BenBE) * Fixed linking in LaTeX (BenBE) * Fixed linking in mIRC Scripting language (BenBE) * Fixed escape char regexp for C-style languages (BenBE) * Fixed @""-string handling for C# (SF#2789371, BenBE) * Fixed Strict Block Detection for PHP blocks (BenBE) * Changed allowed chars around Powershell operators (SF#2688863, BenBE) * Minor reordering inside of PHP language file (BenBE) * Added missing keywords for ActionScript3 language file (SF#2795005, BenBE) * Added .xrc file extension for XML highlighting (BenBE) Version 1.0.8.3 - Added language files * DCS (Stelio Passaris) * Locomotive Basic (Nacho Cabanes) * LSL2 (Linden Scripting Language) (William Fry) * Modula-3 (Martin Bishop) * Oberon-2 (Mike Mol) * Rebol (Lecanu Guillaume) - Fixed a problem where HardEscapes weren't working when no escape char was given (BenBE) - Added a PARSER_CONTROL setting to treat whitespace inside of keywords in the language file as "any whitespace" in the source (i.e. "CREATE TABLE" in SQL will match "CREATE\s+TABLE" instead of literally matching) (BenBE) - Added a possibility to allow setting the style for escape characters (BenBE) - Improvements to language files (BenBE) * Added some missing Perl keywords and obscure default variables (BenBE) * Allow for escaped colons to appear in CSS names (BenBE, simon) * Added multiline continuation suppoert of preprocessor defines for C, C for Mac, C++ and CC++ with Qt support (BenBE) * keywords for C-based languages are case-sensitive (BenBE) * Broken AutoIt highlighting (BenBE) * Problem with escaped backslash in PHP and D (BenBE) * Added some more functions for PHP (BenBE) * Some changes for AppleScript (Stefan Klieme) * Forbid highlighting keywords followed by / in bash (BenBE) * Updated the LaTeX file to link some keywords (BenBE) * Additional text rendered when matching special variables for PowerShell (BenBE) * Added some more keywords for ABAP (BenBE, Sandra Rossi, Jacob Laursen) Version 1.0.8.2 - Added language files * Brainfuck \ Brainfork (Benny Baumann) * HQ9+ (Benny Baumann) * INTERCAL (Benny Baumann) * LOLcode (Benny Baumann) * LScript (Beau McGuigan) * Pixel Bender (Richard Olsson) * ProvideX (Jeff Wilder) * VIM Script (Swaroop C H) * Visual Prolog (Thomas Linder Puls) * Whitespace (Benny Baumann) - Changed priority for COMMENT_REGEXP compared to String highlighting (BenBE) - Fixed correct escaping of spaces inside of URLs (BenBE) - Updated the list of common file extensions (BenBE) - Updated the language file check script in contrib/ (BenBE) - Fixed a problem with link targets resulting in unclickable links (SF#2379120, BenBE) - Fixed an undefined variable issue in langcheck.php (BenBE) - Improvements to language files (BenBE) * eMail Header highlighting now uses the correct delimiters for keywords (BenBE) * eMail (RFC822\mbox) highlighting now highlights IPs, MIME types and subfield assignments correctly (BenBE) * Minor style changes in COBOL to improve loading performance (BenBE) * Added some missing keywords for D (BenBE) * Removed duplicate keywords from Progres, SAS and TSQL (BenBE) * Fixed Heredoc Syntax for Bash (SF#2185319, BenBE) * Moved symbol-lookalike sequences from keyword groups to separate symbol group for languages asp, klonec, klonecpp, php, php-brief (BenBE) * Fixed a lot of duplicate keyword warnings (BenBE) * Added missing keywords to the Python language file, introducing support for Python 3.0. (SF#2441839, milian) * Updated documentation links for TypoScript (SF#2014276, BenBE) * Fixed a problem with tag and attribute names in XML highlighting (SF#2276119, BenBE) * Improved MySQL language file (BenBE, JavaWoman) * Some commentss accidentially mistaken for DocComments (SF#2454897, BenBE) * Added improved Escape Char handling for c, c_mac, cpp and cpp_qt (SF#2458743, BenBE) Version 1.0.8.1 - Added language files * AviSynth (Ryan Jones) * eMail \ mbox (Benny Baumann) * GNU Make (Neil Bird) * Oracle 11i support (Simon Redhead) * Prolog (Benny Baumann) * SciLab (Christophe David) * TeraTerm macro language (Boris Maisuradze) - Added support for Escape Regular Expressions (BenBE) * Implemented C-style Escapes in PHP (BenBE) * Introduced support for \xAB and \007 style Char Escapes in PHP (BenBE) * Implemented Variable Highlighting in PHP (BenBE) * Implemented Variable Highlighting in Bash (milian) - Fixed a problem with PCRE patterns for Keyword matching sometimes producing very large strings, that could not be handled by some versions of PCRE lib, causing broken highlighting an Regexp Compile errors (BenBE, milian) - Fixed broken highlighting of bash commands like `dbus-send --dest=org.....`, i.e. the dest was highlighted as variable declaration (milian) - Fixed broken highlighting of some symbols in their escaped form (BenBE) ( and were accidentially filtered even though they are valid) - Fixed a "memory leak" in the *_regexp_caches (milian) - Fixed broken Escape chars if classes were disabled - start_line_numbers_at() was ignored when GESHI_HEADER_PRE_TABLE was set (revulo) - Fixed a problem allowing Remote Code Inclusion under certain circumstances (BenBE) - Changes to default CSS in order to make the GESHI_HEADER_PRE_TABLE align properly, even on Windows / Mac systems with strange fonts (milian, revulo, ^RT) - Minor style changes to the following languages: * cpp-qt (milian) * MySQL (BenBE) * PHP (BenBE) - Improvements to language files (BenBE, milian) * Added MinSpareThread\MaxSpareThreads to Apache highlighter (BenBE) * Added new Keyword group for APT sources.list highlighter (BenBE) * Fixed highlighting in LaTeX for \begin{} and \end{}, i.e. the stuff inside the curly braces. (milian, thanks for the report go to Matthias Pospiech) * Improved String support for D (BenBE) * MySQL was seriously broken (BenBE) * Reworked Keyword groups for MySQL to allow for more configuration (BenBE) * Improved Mirc script language file (milian) * Improved C++ Qt language file (milian) * Minor bug with Transpose Operator in Matlab (BenBE, Daniele de Rigo) * Highlighting of Batch Files for Windows (BenBE) * Updated AutoIt to include latest changes for AutoIt v3.2.12.1 (BenBE, Thierry) * Fixed duplicate keyword warnings for Perl, Tcl and Typoscript (BenBE) * Fixed Doc-URL getting reparsed by highlighted keywords of other groups (BenBE, Jordi Boggiano) Version 1.0.8 - Added language files * APT sources.list (milian) * Boo (Marcus Griep) * CIL (Common Intermediate Language, .NET Assembly) (Marcus Griep) * COBOL (Benny Baumann) * Gnuplot (milian) * KLoneC (Mickael Auger) * KLoneC++ (Mickael Auger) * PIC16xxx assembler (Phil Mattison) * POV-Ray (Carl Fürstenberg) * PowerShell (Frode Aarebrot) * Progress (Marco Aurelio de Pasqual) * TypoScript (Jan-Philipp Halle) * Xorg configuration (milian) - Make GeSHi's constructor arguments optional, so something like `$foo = new GeSHi;` is possible. (milian) - Added an optimizer for lists to regular expressions. Using these cached lists results in a speedup of approx. 50%. The slightly increased memory consumption (~150KB for PHP language file) is more than worth it! (milian) - Some more memory & speed optimizations all over GeSHi (milian) * Reduced memory overhead when highlighting keywords (BenBE) * Keyword Linking now uses considerably less strtolower calls (milian) * Cache Symbol Search Regexp and make Symbol Highlighting faster (milian) * Use more native functions like substr_replace and strcasecmp to speed things up (milian) * Use considerably less strlen() calls on various points by caching the results (milian) * Properly set comments to be case insensitive where appropriate to increase performance (milian) * Improve the performance of the strict mode tokenizer, making highlighting of languages like HTML, ColdFusion or XML faster (milian) * Setup caches for parsing on demand to make stylesheet generators fast (milian) - Various improvements to Strict Block Handling (BenBE, milian) * Added support for RegExp-based Strict Blocks (BenBE) * Fixed highlighting incorrectly stopping at ?> in PHP (SF#1330968, BenBE) * Languages with STRICT_MODE_APPLIES = GESHI_MAYBE default to strict mode now. When no highlightable code is found in this mode, we fallback to the same setting as if GESHI_NEVER was set. That way it should not be needed to call enable_strictmode() manually. (milian) - Added new GESHI_HEADER_PRE_VALID type which uses the following markup: (milian) * With line numbers:
header
  1. ...
  2. ...
* Without line numbers:
header...CODE...
=> valid HTML and no need for   indentation - Added new GESHI_HEADER_PRE_TABLE type which can be used to prevent linenumber-selection in Firefox on copy'n'paste. (milian) - set_language will not reset any language settings by default anymore. * Added $force_reset param for to force full reload of a language. (milian) * Make sure strict_mode is set properly when doing repeated set_language calls (milian) - Fixed some problems with old PHP versions (SF#1975625, milian, BenBE) - Fixed broken use with Suhosin Patch when /e modifier was disabled (SF#2021800, BenBE) - Added support for external style information files to override language defaults without modifying language files (BenBE) - The overall_class is now up to the user, and the language-code is _always_ added as a class (milian) - Fixed Economy Mode for GeSHi::get_stylesheet() - now it just makes so much more sense! (milian) - Fixed Economy Mode when COMMENT_REGEXP are used (BenBE) - Changed the default encoding to use UTF-8, due to SF#2037598, BenBE) - Improved overall string support: * Added support for multichar string delimiters (SF#1932083, BenBE) * Fixed problems of unfinished strings and comments producing invalid XHTML (SF#1996353, BenBE) * Multichar Quotemarks sometimes had inconsistent behaviour (BenBE) * Support for multiple styles of strings depending on the starter (BenBE) * Properly handle escapes in strings, i.e. '\\' was not working properly before (milian) * Fixed escape char support when an escape char is followed by multi-byte chars (SF#2037598, BenBE) - Improved flexibility in language files (BenBE, milian) * Added PARSER_CONTROL for OOLANG method highlighting (SF#1923060, BenBE) * Added possibility to define strict blocks using an Regexp (BenBE) * Removed explicit escaping of / in Regular Expressions (BenBE) * Ignoring empty keyword groups when highlighting (milian) * Make language_permissions configurable in language files via ['PARSER_CONTROL']['ENABLE_FLAGS'] this makes is_a calls unneeded and thus prevents PHP notices in PHP 5.x (milian) * Extended support for number formats now covering the most common formats (SF#1923058, BenBE) * Lifted a limitation that keywords had to have at least 2 subsequent letters (BenBE) * Changed behaviour of PARSER_CONTROL now allowing to provide the full Lookahead and Lookbehind expressions used as delimiters inside keywords instead of a simple char group (BenBE) * Fixed improper handling of newlines in REGEXPS so this does not produce invalid html anylonger (milian) - Some typos and mistakes in the documentation (BenBE) - Added a script to contrib/ to verify language files are correct (BenBE) - Fixed loads of compliancy warnings detected with that automated compliance testing script (BenBE) - Many other improvements to various language files (BenBE, milian) * Reduce strict errors & notices for language files (milian) * Fixed symbol highlighting with C++ sometimes missing keywords after ; and comments (BenBE) * Improved comment handling with TCL (Lars Hellström, BenBE) * Fixed broken handling with XML comments (BenBE, SF#1849233) * Fixed HTML comments spawning multiple lines producing invalid XHTML output (SF#1738173, BenBE) * Added support for parameters beginning with dash in BASH language (BenBE) * Support Apache's configuration sections, see http://httpd.apache.org/docs/2.2/sections.html (milian) * Minor issue with PHP Heredoc and Nowdoc syntax sometimes not getting highlighted (BenBE) * Updated Objective-C language file (SF#2013961, Quinn Taylor, BenBE) * Added some keywords for VHDL (beshig, BenBE) * Fixed severly broken ColdFusion language file (milian) * Fixed some incorrectly highlighted things with the CSS language file (milian, BenBE) * Improved Smarty language file (milian) * Improved CSS language file (milian) * Improved Pascal language file (milian) * Improved LaTeX language file (Андрей Парамонов, BenBE) * Fixed a regular expression in mIRC language file that caused a warning message to be issued (BenBE) * Removed <, > and / from HTML names, now only containing the real tag names (BenBE) * Use spaces instead of tabs for indendation in language files to have a consistent coding standard accross geshi files (milian) * Added some comment styles, keywords and added index highlighting (Chusslove Illich, Часлав Илић) - Removed some private methods which were only called at exactly one place (milian) * format_header_content * format_footer_content * get_attributes - Second part of default style changes. Affected in this release: * C++ * C++ (QT) * CSS * VHDL Version 1.0.7.22 - Added language files * glSlang (BenBE) * KiXtart (Riley McArdle) * Lotus Notes @Formulas (Richard Civil) * LotusScript (Richard Civil) * MXML (David Spurr) * Scala (Franco Lombardo) * ActionScript 3 (Jordi Boggiano) * GNU Gettext .po/.pot (Milian Wolff) * Verilog (Günter Dannoritzer) - Fixed a problem not yet addressed in 1.0.7.21 regarding highlighting of symbols that caused some extra characters to be added in the output or broke highlighting and standard compliance due to missing escaping of internally used characters (SF#192320 and SF#1926259, BenBE) - Fixed missing style information for ocaml language file (The_PHP_Jedi) - Fixed a bug causing masses of warnings in rendered output if language file miss style information (The_PHP_Jedi, BenBE) - Missing tab width information could lead to warnings (BenBE) - Missing symbol information for ASP (SF#1952038, nfsupport, BenBE) - Empty delimiter message with OOoBasic (BenBE, Ccornell) - Escaping of comments in LaTeX ignored (SF#1749806, BenBE) - Modified Math environment $$ in LaTeX to be non-greedy (BenBE) - Added possibility to match a regexp as comment (SF#1914640, SF#1945301, SF#1934832, BenBE) - Introduced C-Style multiline continuation comments (SF#1914640, SF#1945301, BenBE) - Introduced Fortran Comments (SF#1914640, SF#1934832, BenBE) - Implemented Heredoc and Nowdoc Syntax for PHP and Perl (SF#1914640, BenBE) - Implemented Compiler Directives for Delphi (SF#1914640, BenBE) - Implemented minimalistic support for JavaScript \ Perl Regular Expressions (SF#1786665, SF#1754333, SF#1956631, BenBE) - Fixed Strings in Matlab to be handled as comments instead of regexps, to prevent keywords being linked (BenBE) - Applied PARSER_CONTROL fix of CPP for CPP-QT-Derivative (BenBE) - Fixed incorrect treatment of unequally long multiline comment separators (related to SF #1891630, BenBE) - Added PARSER_CONTROL settings for keywords in ASM language file (SF#1835148, BenBE) - Fixed missing CASSE_SENSITIVE entry for DOS language file (SF#1956314, BenBE) - Fixed accidential highlighting of keywords in argument names (SF#1956456, Milian Wolff, BenBE) - Fixed yet again some #-related bash problem (SF#1956459, Milian Wolff, BenBE) - Added backticks as symbols (Milian Wolff) - Example script remembers selections and source submitted (Milian Wolff) - Example script allows remembered source and preselected language to be cleared (Milian Wolff) - Example script now properly includes geshi and doesn't suppress error messages anylonger. (Milian Wolff) - Code cleanup by using direct string indexing instead of substr with length 1 (Milian Wolff) - Optimized generation of code parts in strict mode (Milian Wolff) - Optimized COMMENT_REGEXP by using an incremental regexp cache (Milian Wolff, BenBE) - Fixed a problem that rarely skipped highlighting of escaped chars which usually should have gotten highlighted (BenBE) - Optimized generation of highlighted strings to use fast skip forward while highlighting them (Milian Wolff, BenBE) - Optimization using basic rework of indent function improving tab expansion performance (BenBE) - Lots of other minor optimizations based on coding style improvements (Milian Wolff) - Implemented setting to force spans to be closed before newlines, see SF#1727398 (Milian Wolff) - Added missing credits for D language file to THANKS file (SF#1720899, BenBE) - Optimization to prevent loading the current language file twice (Milian Wolff) - Optimization: Use file_get_contents() to load sourcecode from files. Even if GeSHi worked with PHP 4.1 before, it doesn't now. (Milian Wolff) - Added description of extra language features (SF#1970248, BenBE) - Added support for highlighting the C# using and namespace directives (SF #1395677, BenBE) - Added support for highlighting the Java import and package directives (SF #1395677, BenBE) - Fixed minor problem in Haskell cuasing accidential start of comment (SF#1987221, BenBE) - Fixed minor issue causing loads of warnings if a language files defines no symbols (BenBE) - Updated some aspects of the documentation and included further hints (BenBE) - First of series of color scheme changes. Affected languages (sofar): * Assembler (x86) * Bash * C * C# * Delphi * Fortran77 * glSlang * Java & Java 5 * JavaScript * OCaml * OpenOffice.org Basic * Pascal * Perl * PHP and PHP-Brief Version 1.0.7.21 - Added language files * Basic4GL (Matthew Webb) - Fixed problem with mIRC language highlighting spaces only (BenBE) - Language files can now specify a function to be called to decide the colour of a regular expression match - Added single quote to Lua (Darrin Roenfanz) - Compare comments case insensitively (fixes AutoIT comments somewhat) (Daniel Gordon) - Fixed symbols not being highlighted at all (SF #1767953, BenBE) - Fixed brackets not correctly managed (SF #1767954, BenBE) - Changed default languages for some extensions - Included color and character information for symbol highlighting in some languages (BenBE) - Fixed a problem with extension detection if default was used (BenBE) - Fixed a highlighting problem with the LaTeX language (SF #1776182, BenBE) - Added a new parameter for enable_highlighting to reduce source duplication (SF #1786104, BenBE) - Updated doxygen documentation to include since tags and some missing parameters - Disabled symbol highlighting by default (doesn't affect brackets, cf. documentation) (BenBE) - Added a check for set_case_keywords for the given param to be supported (BenBE) - Minor rework of the HTML documentation layout \ W3C compliance (BenBE) - Fixed highlighting error in bash language avoiding keywords in comments (SF #1786314, SF #1564839, BenBE) - Fixed template params for C++ and C# not being highlighted (SF #1772919, BenBE) - Fixed more reported problems about mirc highlighting - Added some missing keywords for VB.NET - Fixed some warnings in DOS language file (Florian Angehrn) - Add possibility to handle more than one extra line style (SF #1698255, German Rumm, BenBE) - Fixed handling of URLs when output case differs from URL case (SF #1815504, Tom Samstag, BenBE) - Fixed POD (Plain Old Documentation) format problems breaking highlighting of Perl (SF #1891630, Shannon Wynter, BenBE) - Fixed a problem with mIRC when & was used for identifiers (SF #1875552, BenBE) Version 1.0.7.20 - Added language files * Genero (logic) and Per (forms) (FOURJ's Genero 4GL) (Lars Gersmann) * Haskell (Dagit) * ABAP (Andres Picazo) * Motorola 68k Assembler (for MC68HC908GP32 Microcontroller) (BenBE) * Dot (Adrien Friggeri) - Fixed java documentation search for keywords to actually go to the documentation (spaze) - Applied fix for bug 1688864 (bad regexes) (Tim Starling) - Fixed comment CSS rule in visualfoxpro - ThinBASIC language update (Eros Olmi) - mIRC language update (BenBE) - Fixed outdated documentation URL of Perl language file (RuralMoon by BenBE) - Fixed tab replacement code not generating the correct number of spaces in some cases (Guillermo Calvo) - Fixed two typos in Z80 language file - Applied fix for bug 1730168 (Daniel Naber) - Applied fix for bug 1705482 (Jason Frame) * Configurable line endings (Replace \n by custom string) * per-language tab-widths (Adjustable for width>=1) * Included defaults for ASM (x86, m68k, z80), C, C (Mac), C++, C++ (QT), C#, Delphi, CSS,, HTML, PHP, PHP (Brief), QBasic, Ruby, XML - Added a possibility to force generation of a surrounding tag around the highlighted source - Applied fix for additional keywords for the bash language (cf. http://bash.thefreebizhost.com/bash_geshi.php, BenBE / Jan G) - Fix bad colour definition in GML language (Andreas Gohr) - Fixed phpdoc comments not being indented one space if they should be (Andy Hassall) Version 1.0.7.19 - Added language files * X++ (Simon Butcher) * Rails (Moises Deniz) - Fixed invalid HTML being generated and doctypes not being highlighted over multiple lines properly when line numbers are on (Validome) - Improved the ruby syntax highlighting by basing it off the Rails file - Changed some regular expressions to possibly help with badly performing regex support in PHP (Tim Starling) - Allow {TIME}, {LANGUAGE} and {VERSION} to be used in the header as well as the normal