20211023; version 1.431: * Fixed a bug that caused /[^;]*^;?/ not to match the beginning of "abc" when the multiline flag is not set. 20211003; version 1.430: * Bug fix: When the Boyer-Moore-Horspool search was performed, NIRE did not update the lastIndex member of the regexp class. * Merged partially the code provided by Marko Njezic. (Thanks!) * Modified the compiler to unroll a repetition if the length of the unrolled expression is relatively short, instead of using the counter. E.g., /(?:\d+\.){2,3}/ -> /\d\.\d\.(?:\d\.)?/. 20210919; version 1.420: * Added a new optimisation for the quantifier '?' (I.e., {0,1}). * Changed the version number of the ECMAScript specification referenced in misc/conftest.cpp to 2021. * Changed the parameter type of operator[](), index(), and endIndex() in re_match class from unsigned int to size_t, to prevent an ambiguous overload resolution. * Modified u32ctou8c() in misc/conftest.cpp for Visual Studio 2017 not to throw std::length_error. * Modified exec(), test() in regexp class to use a newly added member variable of the re_match type instead of creating a local variable when a reference to an instance of the re_match type is not passed to these functions as an argument. * Fixed some inconsistencies that can occur between the default mode and a debugging mode in which an optimisation is turned off by defining a NIREDBG_* macro. * Thanks to Marko Njezic for the reports about the last four issues along with the sample code for performance improvement, which has not been merged yet into NIRE. 20210429; version 1.412: * Fixed another bug in the optimisation introduced in version 1.400, which caused /aa|a|aa/ not to match "a". 20210424; version 1.411: * Fixed a bug in the optimisation introduced in version 1.400, which caused /abc|ab|ac/ not to match "ac". 20210407; version 1.410: * Fixed a memory leak in move assignment operators used by the pattern compiler since 1.400. 20210214; version 1.400: * Added a new optimisation for alternatives that consist of string literals, such as /abc|abd|acde/. * Minor improvements. 20210131; version 1.310: * Improved internal UTF-8 iterators. 20200724; version 1.300: * Added code to prevent redundant save and restore operations when nested capturing round brackets are processed. * Introduced the Eytzinger layout for binary search in the character class. * Reimplemented linear search for small character classes. * Modified handling of the property data used for parsing the name for a named capturing group. Now they are loaded only when needed instead of loading into an instance of basic_regex. 20200703; version 1.220: * Fixed a bug that could cause a valid UTF-8 sequence being adjacent to an invalid UTF-8 sequence to be skipped when the BMH algorithm was used (inherited from SRELL). 20200630; version 1.210: * Refined Boyer-Moore-Horspool search. 20200628; version 1.200: * Optimisation adjustments. 20200620; version 1.101: * Move the group name validity check to after parsing the \u escape. * Updated misc/conftest.cpp to version 1.001. Changed the version number of the ECMAScript specification referenced by to 2020 (ES11). 20200616; version 1.100: * Modified to perform code unit by code unit matching when string literals are compared case-sensively. This change can benefit search in UTF-8 or UTF-16. 20200601; version 1.000: The first released version.