 Changelog:
 ==========

 * (git HEAD) -- Version 1.1
   - '#regex' in replace mode with 'e' flag doesn't require escaped replacement string anymore.
     Instead of something like "{{((}}#if:$2{{!}}$2{{!}}$1{{))}}", "{{#if:$2|$2|$1}}" can be used.
   - '#regex' with 'e' flag now first escapes matches before putting them into the back-references
     and expanding them. Therefore a new configuration variable '$egRegexFunExpansionEscapeTemplates'
     has been introduced which serves as a workaround for MW bug #32829.
   - '#regex_var' stored variables are now working in a frame-based scope. '#regex' used on a site or
     template followed by a template call using '#regex' as well with '#regex_var after that template
	 call will now access the variable from the '#regex' within the same page/template.
   - Changes in ExtRegexFun::doPregReplace(). Other extensions using this might have to adjust usage.
   - Dropped compatibility with MediaWiki below 1.17
   - Added extensive parser tests.


 * December 5, 2011 -- Version 1.0.2
   - Limit won't exceed early when 'e' flag with many backrefs in replacement is used extensivelly.
   - It's possible to use the 'Regex Fun' regex system with advanced flags within other extensions.
   - Performance increased for executing huge numbers of the same regex on different strings.
   - Internal representative functions for parser functions now have a 'pf_' prefix.

 * November 6, 2011 -- Version 1.0.1
   - Bug in '#regex_var' solved: default value now gets returned in case '#regex' went wrong or
     not called before.
   - '#regexall' last parameter, 'length', can be empty '' which is the specified default now. It
     simply means there is no limit and all items should be returned ('-1' has another meaning).
   - Introduces two global configuration variables:
     + '$egRegexFunDisabledFunctions' - to disable certain functions within the wiki.
     + '$egRegexFunMaxRegexPerParse'  - limit for number of function calls per parser process.
   - Some minor cleanup done.

 * November 4, 2011 -- Version 1.0 (initial public release).
   Introduces the following parser functions defined within 'ExtRegexFun' class:
   - #regex
   - #regexall
   - #regex_var
   - #regexquote

   Main features:
   - Searching within strings, using regular expression.
   - Replacing within strings, using regular expression.
   - Allows save use of user input within expressions by running '#regexquote' parser function
     over it. An important function other regex extensions still lack.
   - Allows to get the last '#regex' sub-expression matches via '#regex_var', even allows to
     get them in an extensive way, e.g. "$0 has $2, $1 and $3".
   - Invalid regex will result in an inline error message instead of php notice as some other
     regex extensions might do it.
   - Efficient regex validation allowing all kinds of delimiters and flags but filtering 'e'
     flag for security reasons in any case...
   - ... therefore, original 'e' flag instead has another but very similar meaning adjusted for
     a MediaWiki context. Instead of executing php code within the replacement string, the 'e'
     flag now causes the replacement string to be parsed after references ('$1', '\1') are
     replaced. This allows stuff like "{{((}}Template{{!}}$1{{))}}" within the replacement.

   Changes since earlier versions (trunk and earlier, non-public):
   - '#regexsearch' parser function removed. Instead there is a special flag 'r' now which leads
     to the same result if #regex and replacement is being used: '' as output if nothing replaced.
   - '#regexascii' parser function removed. Instead '#regexquote' will ascii-quote MW special
     characters ';' and '#' if they are first character in the string.
   - '#regexquote' delimiter set to '/' by default.
   - '#regex' no longer returns its value as parsed wikitext (option 'noparse' => false) instead
     the 'e' flag can be used (although not exactly the same).
   - contributed under ISC License, maintained in wikimedia.org svn.
