HISTORY -=- Last edit Time-stamp: <31/03/2017 15:00 seki@bonemine.seki.fr>
=======

2017-03-31 - version 1.3.2 (copyright update)
           - added the generation of pbx for PB125
           - added the demo application for PB125

2013-11-20 - Version 1.3.1
             - support for named capturing group, including in replace strings
             - bugfixed the empty pattern replacing that caused infinite loop
             - IMPORTANT : until now the lib PCRE was compiled with default newline=LF
                           that is causing unexpected behavior when matching / replacing
                           text near end of line.
                           NOW it compiled with default newline=CRLF.
                           To get back the old behavior, you can add the option (*LF)
                           at the beginning of your patterns.

2013-07-01 - Version 1.3
             - upgraded the underlying PCRE to 8.33 !!!
             - addition of jit-enabled regexps (available in PCRE since v.8.20)
             - replaced the Hello() method by GetVersion() and GetVersionFull()
             - fixed some memory leaks when calling Study() some multiple times
             - code cleanup

2011-07-04 - Added the PB12 version

2011-06-28 - PB9 backport complete.
             Support for escaped backslashes in Replace(), now you can use strings like
             '\\1' for inserting '\1' into replaced text. Added the possibility to get the
             whole match with '\0'.

2011-06-21 - Started the PB9 backport, exported the source code separately into folder
             for each PB version 9,10,11.5

2011-06-18 - the pbx/pbd files zere backported to PB10.5 and PB10.0 (actually 10.2)
             the pbx, pbd and sample files (pbregexcoach.exe, pbl's) are named like the 
             PB development files : pbniregex115, pbregexcoach105, worksp100.pbw...

2011-02-14 - Upgrade of the splitters (various bugfixes and enhancements)
             Export of the components source code (into pb_src folder) to help backporting

2009-09-09 - Project upgraded to PB 11.5

2009-06-26 - Added the GetLastError() method to get... err... the last error :)

2009-04-27 - PBX recompiled with PB 10.5.2.7826

2009-04-01 - I noticed that the utf-8 mode was buggy : when strings contained some
             extended chars, both length & positions functions returned wrong values and
             the returned strings were not correctly translated back into PB internal
             utf-16. Reworked the internal string handling to always work in utf-8,
             setutf8() does nothing and isutf8() always returns true.

             The initialize() method does not fail anymore if the pattern is null (it used
             to return a PBX_E_INVOKE_WRONG_NUM_ARGS status in that case)

             I reworked the UI layout a bit with Nicolas Georges. The close menu problem
             is solved.

             The license conditions were updated to adopt the formal MIT license.

2009-03-16 - Minor refactor of the GUI + added a mini-help TODO : there is a little GUI
             problem : the close button and system menu have disappeared you have to quit
             with the File / Quit menu item

2009-03-11 - Bugfix in Replace() : broken by last modification to get the capturing groups
             count, was replacing only the first occurence

             Bugfix 2 : trying to replace an empty string by an empty string got endless
             loop :S 

             Nicolas Georges refactored the UI to use a splitter and added a live-update
             of the results. There is also a unit-test functionnality now.

2009-02-25 - Bugfix in Replace() : use the number of capturing groups from the pattern
             instead of the number of the matched groups for the expansion of the \nn
             items. E.g: Replace() returned \1 instead of an empty string when a pattern
             with a capturing group matched nothing.

2009-02-09 - fixaround with search() when a match has null length
             I noticed that the HeapAlloc calls *should* be surrounded by try/catch ;)

2008-11-26 - added the getpattern() method

2008-11-14 - fixed the correct handling of the option multiline 

             added the options and methods to handle dot-match-newlines, ungreedy and
             extended syntax minor layout changes in regex coach

2008-11-13 - bugfix : crashing during replace() when a group matches nothing is bad :o)

2008-11-11 - rewrote the vector allocation for matches & groups with dynamic allocation
             added the study() method

2008-11-05 - first public release

2008-09-08 - creation of PbRegexCoach as a test tool for PbniRegex

2008-09-01 - start of the project

;;----------------------------------------------------------------------------
;; Local Variables:
;; mode:text
;; fill-column:90
;; indent-tabs-mode:nil
;; tab-stop-list:(2 4 6 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120)
;; time-stamp-format: "%02d/%02m/%:y %02H:%02M %u@%s"
;; End:
