History

2024/XX/XX: Version 6.9.10

2024/11/18: fix #312: Build failure with GCC 15 (C23)
2024/09/11: Update to Unicode 16.0
2024/06/20: fix #290: retry limit in match == 0 means unlimited
2024/06/15: add new callout (*SKIP) #299
2024/06/05: add new behavior ONIG_SYN_ALLOW_CHAR_TYPE_FOLLOWED_BY_MINUS_IN_CC (#298)
2024/05/28: fix #296: ONIG_SYNTAX_EMACS doesn't support 'shy groups'
2024/05/24: fix #295: Invalid result for empty match with anchors
2024/04/03: fix #293: Literal escaped braces
2024/04/02: fix total call with whole options
2024/04/01: fix #292: ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS not working for ^* pattern

2023/10/14: Version 6.9.9

2023/09/17: Update to Unicode 15.1.0
2023/07/11: Make sure oniguruma.pc is removed on distclean
2023/05/20: fix #284: .{0,99} and .* behave differently on short input
2023/03/27: fix call by number (?n), (?+n), (?-n) of ONIG_SYNTAX_PERL_NG
2023/03/27: fix #282: Dynamic library generated failed to support '(?-i)'
2022/12/30: add a new behavior ONIG_SYN_BRE_ANCHOR_AT_EDGE_OF_SUBEXP
2022/11/16: Changed the behavior of the FIND_LONGEST option to follow all alternatives
2022/09/16: Update to Unicode 15.0.0
2022/08/30: add ONIG_OPTION_MATCH_WHOLE_STRING
2022/08/28: fix ctype punct in Unicode encodings
2022/08/28: fix #268: [[:punct:]] isn't matching all expected symbols. [[:punct:]] = \p{PosixPunct} = \p{P} + \p{S}
2022/06/25: Make the behavior of \p{Word} exactly the same as \w for ignorecase
2022/06/24: (?I) invalid results for charcter classes (Issue #264)
2022/06/15: fix negative POSIX bracket bug
2022/06/03: Build tests with cmake+msvc

2022/04/29: Version 6.9.8

2022/04/11: implement whole option: (?C)
2022/04/07: implement whole option: (?L)
2022/04/04: implement whole option: (?I)
2022/03/15: fix: Insufficient backreference matching for the same name groups
2022/02/22: fix #250: ONIG_ESCAPE_REGEX_T_COLLISION doesn't work
2021/10/17: Update to Unicode 14.0
2021/08/29: fix: use CMAKE_INSTALL_LIBDIR as install lib dir, in some
            platforms, lib could be installed in lib64 dir but the .pc file
            is installed in lib dir.
2021/08/22: fix: Stack overflow for some very long patterns
2021/08/22: fix: Issue 37442 in oss-fuzz: Undefined-shift
2021/08/05: fix #239: CMake build fails to detect alloca on some platforms
            such as FreeBSD
2021/08/04: CMake: Make documentation and examples optional
2021/05/20: fix #235: 6.9.7 can't compile with Visual Studio 2005

2021/04/15: Version 6.9.7 revised 1

2021/04/14: fix: replace UChar to OnigUChar in oniguruma.h

2021/04/14: Version 6.9.7

2021/03/31: Release Candidate 1 for Version 6.9.7

2021/03/23: fix Issue 32340, 32345, 32355 in oss-fuzz
2021/03/12: fix invalid optimization info for if-pattern (?(cond)...)
2021/02/21: NEW API: ONIG_OPTION_CALLBACK_EACH_MATCH
2021/02/02: fix Issue 30144 in oss-fuzz: Timeout
2021/01/18: NEW API: ONIG_SYNTAX_PYTHON
2020/12/20: fix Issue 28795 in oss-fuzz: Timeout
2020/12/13: fix Issue 28554 in oss-fuzz: Timeout, check very inefficient patterns at tune_tree(NODE_CALL)
2020/12/04: fix Issue 28259 in oss-fuzz: Timeout
2020/12/03: fix invalid reduction of nested quantifiers (?:<expr>+?)* and (?:<expr>+?)+
2020/12/01: fix Issue 28104 in oss-fuzz: Timeout
2020/11/28: NEW API: ONIG_OPTION_IGNORECASE_IS_ASCII
2020/11/07: fix Issue 27015 in oss-fuzz: Timeout

2020/11/05: Version 6.9.6

2020/11/01: fix Issue 26798 in oss-fuzz: Timeout
2020/10/27: fix Issue 26675 in oss-fuzz: Timeout

2020/10/21: Release Candidate 4 for Version 6.9.6

2020/10/20: #221: revert cbe9f8b and 8155473: Out-of-bounds write in #207 (Issues found with Coverity) is fake

2020/10/16: Release Candidate 3 for Version 6.9.6

2020/10/15: fix #220: autotools not building DLL using msys2 and mingw64 on windows 10
2020/10/12: fix #219: Binary incompatibilty between 6.9.5_rev1 -> 6.9.2_rc2: reg_number_of_names

2020/10/09: Release Candidate 2 for Version 6.9.6

2020/10/09: fix #216: build fails on Windows

2020/10/07: Release Candidate 1 for Version 6.9.6

2020/09/30: add configure option --enable-binary-compatible-posix-api
2020/09/24: fix: Issue 25893 in oss-fuzz: Stack-buffer-overflow
2020/09/22: fix Issues found with Coverity (Issue #207)
2020/08/27: fix Issue #204: define uint32_t and uint64_t for Visual Studio older than 2010
2020/08/04: fix Issue 24544 in oss-fuzz: Timeout
2020/07/21: add USE_CHECK_VALIDITY_OF_STRING_IN_TREE (fix Issue 24276 in oss-fuzz: Undefined-shift)
2020/07/20: fix: Issue 24268 in oss-fuzz: Timeout
2020/07/17: fix: Issue 24112 in oss-fuzz: Undefined-shift
2020/07/14: fix: Issue 24066 in oss-fuzz: Timeout
2020/07/05: fix: Incomplete application of ONIG_OPTION_NOTBOL to \A
2020/07/05: fix: Incomplete application of ONIG_OPTION_NOT_END_STRING to \Z (Issue #192)
2020/07/05: fix: Incomplete application of ONIG_OPTION_NOTEOL to \z
2020/07/05: fix: Incomplete application of ONIG_OPTION_NOTEOL to \Z
2020/07/01: add ONIG_OPTION_NOT_END_STRING (Issue #198)
2020/06/28: add ONIG_OPTION_NOT_BEGIN_POSITION (Issue #198)
2020/06/28: add ONIG_OPTION_NOT_BEGIN_STRING
2020/06/28: fix: Issue 23754 in oss-fuzz: Timeout
2020/06/21: fix: Issue 23525 in oss-fuzz: Timeout
2020/06/15: fix: Issue 23311 in oss-fuzz: Timeout
2020/06/03: fix: Issue 22925 in oss-fuzz: Index-out-of-bounds
2020/06/03: fix: Issue 22917 in oss-fuzz: Out-of-memory
2020/06/02: fix: Issue 22916 in oss-fuzz: Timeout
2020/05/29: fix: Issue 22744 in oss-fuzz: Integer-overflow
2020/05/28: fix: Issue 22658 in oss-fuzz: check backref with level
2020/05/28: fix: Issue 22533 in oss-fuzz: memory leak
2020/05/23: fix: Issue 22393 in oss-fuzz: Integer-overflow
2020/05/13: fix: Issue 22154 in oss-fuzz: When the option FIND_LONGEST is specified, match_at() returns ONIG_MISMATCH unless there is no need to search any more.
2020/05/06: Add SOVERSION info to library when using cmake
2020/05/04: fix: 22008 in oss-fuzz
2020/05/04: fix: 21998 in oss-fuzz
2020/05/03: fix: 21944, 21977 in oss-fuzz

2020/04/26: Version 6.9.5 revised 1

2020/04/24: fix #192: Unexpected regex match

2020/04/20: Version 6.9.5

2020/04/12: Release Candidate 2 for Version 6.9.5
2020/04/09: fix a problem (found by oss-fuzz test on my PC)
2020/04/05: Release Candidate 1 for Version 6.9.5
2020/03/30: remove src/*.py and src/*.sh from distribution files
2020/03/27: NEW: Code point sequence notation \x{HHHH ...}, \o{OOOO ...}
2020/03/24: NEW API: maximum nesting level of subexp call
2020/03/22: #165: change enable-posix-api default from YES to NO
2020/03/15: update Unicode version to 13.0.0
2020/03/10: add test_back.c
2020/03/08: tune output of debug in print_optimize_info()
2020/03/02: fix #186: Allow regset search to succeed at end of string
2020/02/13: NEW API: retry-limit-in-search functions
2020/01/20: add ONIG_SYN_VARIABLE_LEN_LOOK_BEHIND flag
2019/12/27: add USE_REGSET switch
2019/12/20: remove OPTIMIZE_STR_CASE_FOLD
2019/12/13: add test/test_syntax.c
2019/12/13: add ONIG_SYN_ISOLATED_OPTION_CONTINUE_BRANCH flag


2019/11/29: Version 6.9.4

2019/11/22: Release Candidate 3 for Version 6.9.4
2019/11/20: fix a problem found by libFuzzer test
2019/11/14: Release Candidate 2 for Version 6.9.4
2019/11/12: fix integer overflow by nested quantifier
2019/11/11: fix CVE-2019-19012: Integer overflow related to reg->dmax in search_in_range()
2019/11/07: fix CVE-2019-19203: heap-buffer-overflow in gb18030_mbc_enc_len()
2019/11/06: fix CVE-2019-19204: heap-buffer-overflow in fetch_interval_quantifier()
2019/11/06: add HAVE_INTTYPES_H into config.h.windows.in and config.h.win{32,64}
2019/11/06: add HAVE_STDINT_H into config.h.win{32,64}
2019/11/05: Release Candidate 1 for Version 6.9.4
2019/10/31: Update Unicode Emoji version to 12.1 (Nothing data changed)
2019/10/29: implement USE_REPEAT_AND_EMPTY_CHECK_LOCAL_VAR configuration
2019/10/18: re-implement case fold conversion
2019/10/04: fix #156: Heap buffer overflow in match_at() with case-insensitive match
2019/09/30: NEW API: add onig_regset_replace()
2019/09/30: change Unicode VERSION value format
2019/09/20: NEW API: add regset functions
2019/09/20: add data ensure check before peek string value in OP_PUSH_IF_PEEK_NEXT
2019/09/20: fix loose code in encode-harness.c
2019/08/13: fix heap-buffer-overflow
2019/08/13: Add a macro to disable direct threading in the match engine (PR#149)

2019/08/06: Version 6.9.3 (secirity fix release)

2019/07/30: add ONIG_SYN_ALLOW_INVALID_CODE_END_OF_RANGE_IN_CC
2019/07/29: add STK_PREC_READ_START/END stack type
2019/07/29: Fix #147: Stack Exhaustion Problem caused by some parsing functions
2019/07/11: add a dictionary file for libfuzzer
2019/07/07: add harnesses directory
2019/07/05-2019/07/29: fix many problems found by libfuzzer programs
2019/06/27: deprecate onig_new_deluxe()
2019/06/27: Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
2019/06/27: Fix CVE-2019-13225: problem in converting if-then-else pattern

2019/05/07: Version 6.9.2 (same as Release Candidate 3)

2019/04/23: Release Candidate 3 for 6.9.2
2019/04/23: add doc/SYNTAX.md into distribution file
2019/04/09: Release Candidate 2 for 6.9.2
2019/04/09: fix #139: UAF in match_at()
2019/04/01: Release Candidate 1 for 6.9.2
2019/04/01: update Unicode version to 12.1.0 (draft)
2019/03/29: allow {n,m} (n>m) as possessive interval
2019/03/25: add ONIG_SYN_OP2_OPTION_ONIGURUMA
2019/03/22: add new options ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER and
            ONIG_OPTION_TEXT_SEGMENT_WORD
2019/03/21: PR #137: fix cross-compilation
2019/03/20: update Unicode version to 12.0.0
2019/03/17: add doc/SYNTAX.md
2019/03/13: {n,m}+ and {n,m}? are possessive and reluctant range operator
            in Perl syntax
2019/03/04: fix #132: don't execute testp if ENABLE_POSIX_API == no
2019/02/28: re-implement bytecode by using Operation struct
2019/02/26: fix #130: Build error on UWP with VS2017
2019/02/03: PR #128: regerror/toascii: do not attempt to serialize NULL pointer
2019/01/30: Build breaks without autoreconf #73
2019/01/02: fix #127: Windows VS 2008 build errors
2018/12/19: fix #126: Unable to compile when USE_CALLOUT is not defined

2018/12/11: Version 6.9.1

2018/10/08: use ENC_FLAG_SKIP_OFFSET_XXX values
2018/10/06: UTF-8 supports code range from 0x0000 to 0x10FFFF
            (https://tools.ietf.org/html/rfc3629)
2018/10/05: speed improvement
2018/10/03: use OPTIMIZE_STR_CASE_FOLD_FAST
2018/10/01: convert CRLF line endings to LF
2018/09/27: set SIZEOF_SIZE_T for windows platforms
2018/09/22: use Sunday quick search algorithm instead of Boyer-Moor-Horspool
2018/09/20: introduce threaded code into match_at()
2018/09/17: remove HAVE_STRINGS_H
2018/09/16: remove HAVE_PROTOTYPES and HAVE_STDARG_PROTOTYPES
2018/09/14: add a command line option '-gc' for make_unicode_property_data.py.
2018/09/08: remove AC_HEADER_STDC
2018/09/06: remove AC_OUTPUT macro call
2018/09/06: remove AC_FUNC_MEMCMP, AC_HEADER_TIME, AC_C_CONST, HAVE__SETJMP and
            HAVE_STRING_H
2018/09/05: remove HAVE_LIMITS_H, HAVE_FLOAT_H and HAVE_STDLIB_H

2018/09/03: Version 6.9.0

2018/08/24: add Unicode Emoji properties
2018/08/24: update Unicode version 11.0.0
2018/08/21: support gperf 3.1 instead of 3.0.4
2018/08/07: add ENABLE_POSIX_API switch into src/Makefile.windows
2018/08/02: add make_win.bat and src/config.h.windows.in
2018/06/25: add ENABLE_POSIX_API option into CMakeLists.txt
2018/06/04: add .travis.yml (for TravisCI)

2018/04/17: Version 6.8.2

2018/04/13: add doc/CALLOUTS.API.ja
2018/04/10: add doc/CALLOUTS.API
2018/04/10: fix #87: Read unknown address in onig_error_code_to_str()
2018/04/06: fix #86: typedef StateCheckNumType is unused
2018/04/02: update automake 1.16.1
2018/03/30: fix #84: stack-buffer-overflow in mbc_enc_len
2018/03/28: PR #83: Improve CMake build
2018/03/21: switch uses of UChar to OnigUChar in oniguruma.h (#80)

2018/03/19: Version 6.8.1

2018/03/19: update LTVERSION from 4:0:0 to 5:0:0
2018/03/19: add flag, sb_range etc.. into OnigEncodingType
2018/03/19: move regex structure from oniguruma.h to regint.h
2018/03/19: ONIGENC_CTYPE_XXX to be enum (Issue #33)

2018/03/16: Version 6.8.0

2018/03/12: add doc/CALLOUTS.BUILTIN for builtin callouts
2018/03/08: allow abbreviated notation for callouts (?(*name)..|..) (?(?{...})..|..)
2018/03/02: NEW API: move onigenc_strdup() from regenc.h to oniguruma.h
2018/02/21: remove all USE_COMBINATION_EXPLOSION_CHECK
2018/02/15: fix #78: bad definition of PV_()
2018/02/14: add configure option --enable-posix-api (for #77)
2018/02/08: implement callouts of name
2018/02/01: implement callouts of contents
2018/01/30: define ONIGURUMA_VERSION_INT
2018/01/29: enable USE_TRY_IN_MATCH_LIMIT by default
2018/01/29: NEW API: onig_search_with_param() onig_match_with_param()
2018/01/26: remove include windows.h from oniguruma.h

2018/01/26: Version 6.7.1

2018/01/25: disable USE_TRY_IN_MATCH_LIMIT by default
2018/01/24: implement mechanism of try-in-match-limit
2018/01/24: #76: rename EXPORT to ONIGURUMA_EXPORT
2018/01/15: #73: update for automake 1.15.1
2018/01/14: #74: update description of README
2018/01/10: #72: Correct spelling and grammar in FAQ (English)
2017/12/25: remove USE_COMBINATION_EXPLOSION_CHECK codes

2017/12/11: Version 6.7.0

2017/12/08: Disable \N and \O on ONIG_SYNTAX_RUBY
2017/12/08: add ONIG_SYNTAX_ONIGURUMA (default syntax)
2017/12/05: restructure StackType
2017/11/13: implement subexp calls (?R), (?&name), (?-n), (?+n) for Perl syntax
2017/09/25: use string pool of gperf for Unicode Property lookup function
2017/09/16: fix #70: an empty greedy regex and a word boundary (.*\b) fails
2017/09/13: remove a stack type STK_POS
2017/09/08: fix #69: add a declaration of onig_end()
2017/09/07: fix #68: Compilation failure in out-of-source build
2017/09/03: [new] hexadecimal codepoint \uHHHH

2017/08/30: Version 6.6.1

2017/08/29: fix definition of \X to (?>\O(?:\Y\O)*)

2017/08/28: Version 6.6.0

2017/08/26: fix #67: can't compile with Visual Studio 2005
2017/08/24: rename Absent clear to Range clear
2017/08/21: [new] Extended Grapheme Cluster \X and boundary \y, \Y
2017/08/17: fix: invalid index(ctype) value assigned to Unicode Block properties
2017/08/16: --enable-crnl-as-line-terminator to be deprecated
2017/08/15: [new] ASCII only mode options (?WDSP)
2017/08/14: [new] ONIG_OPTION_XXXX_IS_ASCII  options
2017/08/11: disable OP_CCLASS_NODE
2017/08/11: [spec] Absent clear restore previous range value at backtrack
2017/08/07: optimize for simple one char repetition in Absent expression
2017/08/07: fix: invalid impl. for reluctant repetition in Absent expression
2017/08/04: remove compile switch USE_NAMED_GROUP

2017/08/03: Version 6.5.0

2017/07/30: [new] support Absent clear (Absent functions)
2017/07/25: abolish configure option: --enable-combination-explosion-check
2017/07/23: [new] support Absent functions (?~...)
2017/07/14: fix #65: SIZEOF_SIZE_T doesn't exist on certain architecutres
2017/07/11: [new] support \O (true anychar)
2017/07/10: [new] support \K (keep)
2017/07/10: add new node type: NODE_GIMMICK
2017/07/07: [new] support \N (no newline)
2017/07/05: [new] support \R (general newline)
2017/07/05: [new] support if-then-else syntax
2017/07/04: [new] support backref validity checker

2017/07/03: Version 6.4.0

2017/06/30: fix memory leaks
2017/06/29: fix memory leaks
2017/06/28: change encoding of doc/XXXX.ja from EUC-JP to UTF-8
2017/06/28: update doc/RE, and doc/RE.ja
2017/06/26: fix fatal bug of endless repeat check on Windows
2017/06/26: PR #62 : add check for return values
2017/06/23: [new] support call zero (\g{0})
2017/06/23: [new] support relative call by positive number
2017/06/23: [new] support relative back-reference by positive number
2017/06/15: fix #60 : check value type
2017/06/02: change output format for ONIG_DEBUG_COMPILE and ONIG_DEBUG_MATCH

2017/05/29: Version 6.3.0

2017/05/24: fix #60 : invalid state(CCS_VALUE) in parse_char_class()
2017/05/24: fix #59 : access to invalid address by reg->dmax value
2017/05/23: fix invalid increment of start position in onig_scan()
2017/05/23: fix #58 : access to invalid address by reg->dmin value
2017/05/23: fix #57 : DATA_ENSURE() check must be before data access
2017/05/22: fix #56 : return invalid result for codepoint 0xFFFFFFFF
2017/05/19: [new] add \o{17777777777} syntax.
2017/05/19: fix #55 : Byte value expressed in octal must be smaller than 256

2017/04/08: Version 6.2.0

2017/03/15: fix: size in xmemcpy in stack_double (PR #51)
2017/02/21: Initialize return value
2017/01/03: NEW API: add onig_set_capture_num_limit()
2017/01/03: change MemNumType from short int to int
2016/12/13: fix: [0-9-a] was not allowed as [0-9\-a]
2016/12/13: fix: illegal capture after recursive call
2016/12/13: fix: problem with optimization of \z
2016/12/13: fix: .* optimization
2016/12/13: Set a limit of parser recursion
2016/12/12: fix; that warnings are not shown properly
2016/12/12: fix: /[a-c#]+\W/ =~ "def#" fails when encoding is UTF-16/32
2016/12/12: fix: /[\x{0}-X]/i doesn't match properly when UTF-16/32 is used.

2016/12/11: Version 6.1.3

2016/12/11: fix: Syntax error: redirection unexpected (expecting word) #35

2016/11/07: Version 6.1.2

2016/10/25: allow word bound, word begin and word end in look-behind.
2016/10/19: add ONIG_OPTION_CHECK_VALIDITY_OF_STRING option.
2016/10/16: fix use after free node.
2016/10/10: fix memory leaks after parsing regexp error.
2016/09/22: implement many of is_valid_mbc_string().

2016/09/02: Version 6.1.1

2016/08/31: fix segfault /W.?{888}{888}{888}\x00/ (found by libfuzzer)
2016/08/31: fix error unmatched close parenthesis for %{(.*?)} #23

2016/08/29: Version 6.1.0

2016/08/28: add contributed/libfuzzer-onig.cpp  (thanks hannob)
2016/08/28: update LTVERSION 4:0:0
2016/08/28: NEW API: onigenc_is_valid_mbc_string().
2016/08/27: add is_valid_mbc_string() member into OnigEncodingType.
2016/08/27: fix out of bounds read.
2016/08/26: fix out of bounds read.
2016/08/25: disable USE_INVALID_CODE_SCHEME.
2016/08/24: fix out of bounds read.
2016/08/23: doc/RE improved.
2016/08/22: add onig_scan() into doc/API.
2016/08/22: fix bug: Out of bounds read in onig_strcpy() #17
2016/08/21: fix bug: infinite loop of backreference and group.
2016/08/21: fix out of bounds read in mbc_to_code() #16
2016/08/18: doc/RE refinements.
2016/08/16: add onig_scan() (NEW API)
2016/08/16: reimplement match stack allocation for case too many repeat
            and too many captures in regexp.
2016/08/15: number of captures <= 32767 for bytecode representation.
2016/07/17: don't use int_map_backward for thread-safe.
2016/07/04: fix case of enclosed option in look-behind.
2016/07/04: fix ignore case in look-behind.
2016/05/23: fix memory leak in onig_unicode_define_user_property()
2016/05/20: declare variables at the top of scope.  (thanks nmaya)

2016/05/09: Version 6.0.0

2016/05/05: add NEW API: onig_unicode_define_user_property()
2016/05/04: update Unicode data to 8.0.0
2016/05/02: change OnigCodePoint type to unsigned int.
2016/05/02: add doc/UNICODE_PROPERTIES.
2016/04/19: add error code ONIGERR_FAIL_TO_INITIALIZE.
2016/04/18: add make_win64/32.bat.
2016/04/18: fix bug of uninitialized regex_t value on error.
2016/04/16: reimplement Unicode case folding.
2016/04/11: update LTVERSION = 3.0.0
2016/04/05: remove all THREAD_ macro.
2016/04/05: add init member into OnigEncoding. (add onig_initialize())
2016/03/28: remove state member of regex.
2016/03/25: move source files into src/
2016/03/23: rename configre.in to configure.ac.
2015/11/17: fix memory leak. (thanks pigzang)
2015/07/13: change mail address.

2014/12/12: Version 5.9.6

2013/11/27: [impl] add onigenc_end_unicode().  (thanks Takenori Imoto)
2013/11/27: [impl] add onig_add_end_call().    (thanks Takenori Imoto)

2013/10/21: Version 5.9.5

2013/10/21: [impl] escape warnings for -Wall. (regparse.c)
2013/10/21: [bug] fixes an issue on Windows x64. (thanks Anatoliy Belsky)
                  The issue was discovered in PHP, see https://bugs.php.net/64769.
2013/10/21: [impl] remove unused variable. (regcomp.c)

2013/04/04: Version 5.9.4

2013/04/04: [dev]  remove Makefile.in from git repository.
2013/04/04: [dist] add oniguruma.pc.in file. (for pkg-config)
                   (thanks Giulio Paci)

2012/10/26: Version 5.9.3

2012/10/15: remove warnings "test: =: unary operator expected" in ./configure.
            (thanks t_okazaki)
2012/10/15: fix print_tree ENCLOSE_OPTION bug. (thanks Suraj N. Kurapati)

2010/01/09: Version 5.9.2

2010/01/05: [bug]  fix utf16be_code_to_mbc() and utf16le_code_to_mbc().
2008/09/16: [bug]  fix memory leaks in parse_exp().
2008/08/01: [bug]  fix memory leaks.
2008/06/17: [bug]  invalid type of argument was used
                   in onig_st_lookup_strend().
2008/06/16: [bug]  invalid CaseFoldMap entry in ISO-8859-5. 0xdf -> 0xde
2008/02/19: [new]  add: onig_reg_init().
2008/02/19: [new]  add: onig_free_body().
2008/02/19: [new]  add: onig_new_without_alloc().
2008/02/19: [API]  rename onig_alloc_init() to onig_reg_init(),
                   and argument type changed.
2008/01/31: [impl] move UTF16_IS_SURROGATE_XXX() to regenc.h.
2008/01/30: [bug]  (thanks akr)
                   fix euctw_islead().
2008/01/23: [bug]  update enc/koi8.c.

2007/12/22: Version 5.9.1

2007/12/21: [impl] add sprint_byte().
2007/11/28: [bug]  (thanks Andy Armstrong)
                   don't overwrite error code in fetch_name().
2007/11/12: [bug]  utf8 mbc length of code 0xfe, 0xff are not 1,
2007/10/23: [spec] onig_enc_len() takes three arguments. (not used)
2007/10/15: [impl] (thanks Rui Hirokawa)
                   add check HAVE_STDARG_H.
2007/09/07: [API]  rename enc_len() to onig_enc_len() in oniguruma.h.
2007/09/04: [API]  remove ONIGENC_ERR_XXXXX.
2007/09/03: [API]  add error ONIGERR_INVALID_CODE_POINT_VALUE.
2007/09/03: [impl] change error message to "invaid code point value"
                   for ONIGERR_INVALID_WIDE_CHAR_VALUE.
2007/09/03: [bug]  xxx_code_to_mbclen() should return
                   ONIGERR_INVALID_WIDE_CHAR_VALUE for invalid code point.
                   ex. /[\x{7fffffff}]/ for ASCII encoding.
2007/08/28: [impl] remove "warning: no previous declaration ...".
2007/08/21: [impl] remove warnings in enc/mktable.c.
2007/08/20: [impl] remove "warning: unused parameter"
2007/08/20: [impl] remove "warning: comparison between signed and unsigned".
2007/08/06: [impl] remove clear_not_flag_cclass().
2007/08/03: [bug]  fix the case of undefined USE_NAMED_GROUP.
2007/08/02: [spec] add backref by number.
2007/08/01: [API]  add OnigCtype.
2007/07/27: [spec] add USE_CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS.
2007/07/24: [impl] define PLATFORM_UNALIGNED_WORD_ACCESS.
2007/07/23: [dist] fix doc/FAQ.ja.

2007/07/14: Version 5.9.0

2007/07/13: [bug]  add check into onig_reduce_nested_quantifier().
2007/06/26: [spec] (thanks K.Takata)
                   ONIG_OPTION_SINGLELINE: '$' -> '\Z'  (as Perl)
2007/06/26: [dist] (thanks K.Takata)
                   fix documents API and API.ja.
2007/06/19: [impl] remove IS_NOT_NULL() check before onig_node_free().
2007/06/18: [bug]  (thanks KUBO Takehiro)
                   WORD_ALIGNMENT_SIZE must be sizeof(OnigCodePoint).
2007/06/18: [impl] rename CClassNode flags.
2007/06/18: [bug]  initialization miss.
2007/06/13: [impl] change node type reference NXXXX.
2007/06/11: [impl] add node type bit.
2007/06/11: [spec] allow anchor in enclosed repeater. /(\z)*/
2007/06/11: [impl] rename node types.
2007/06/08: [impl] remove OP_SET_OPTION_PUSH and OP_SET_OPTION from match_at().
2007/06/07: [impl] use xvsnprintf().
2007/06/06: [tune] don't set qn->next_head_exact for string first byte is zero.
2007/06/06: [impl] remove unused variables.

2007/06/04: Version 5.8.0

2007/06/04: [impl] add #ifndef vsnprintf into regint.h.
2007/05/31: [dist] add configure option '--enable-crnl-as-line-terminator'.
2007/05/30: [dist] add sample/crnl.c.
2007/05/30: [bug]  should check USE_CRNL_AS_LINE_TERMINATOR case
                   in onig_search().
2007/05/29: [impl] move USE_CRNL_AS_LINE_TERMINATOR into regenc.h.
2007/05/29: [impl] should check USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
                   in forward_search_range() and backward_search_range().

2007/04/27: Version 5.7.0

2007/04/20: [spec] add config USE_MATCH_RANGE_IS_COMPLETE_RANGE.
2007/04/20: [impl] refactoring in match_at().

2007/04/12: Version 5.6.1

2007/04/12: [bug]  must not use UChar in oniguruma.h.
2007/04/09: [impl] change STATE_CHECK_BUFF_MAX_SIZE value from 0x8000
                   to 0x4000. [ruby-core:10883]

2007/04/04: Version 5.6.0  (mourning for Hideo Takamatsu)

2007/04/03: [spec] add new notation (?'name'), \k'name', \g'name'.
2007/04/03: [impl] remove unused variable.
2007/03/26: [impl] add 'void' to function declarations.

2007/03/06: Version 5.5.3

2007/03/06: [bug]  add #include <malloc.h> for bcc32.
                   (In bcc32, alloca() is declared in malloc.h.)
2007/03/02: [bug]  invalid optimization for semi-end-buf in onig_search().
                   ex. /\n\Z/.match("aaaaaaaaaa\n")
2007/03/02: [impl] move range > start check position in end_buf process.

2007/01/09: Version 5.5.2

2007/01/09: [impl] rename USE_EXTERNAL_LOWER_CASE_CONV_TABLE.
2007/01/05: [tune] select_opt_exact_info() didn't work for empty info.
                   ex. /.a/ make MAP info instead of EXACT info.
2006/12/28: [impl] add print_enc_string() for ONIG_DEBUG mode.

2006/12/22: Version 5.5.1

2006/12/22: [impl] rename ADD_PAD_TO_SHORT_BYTE_STRING
                 . to USE_PAD_TO_SHORT_BYTE_CHAR.
2006/12/21: [spec] should check too short multibyte char in parse_exp().
                   add ADD_PAD_TO_SHORT_BYTE_STRING.
                   ex. /\x00/ in UTF16 should be error.

2006/12/06: Version 5.5.0

2006/12/05: [bug]  should add unfold-1 codes from folded code into
                   onigenc_unicode_get_case_fold_codes_by_str().
                   (ex. "S" -> "s" -> 0x017f)
2006/12/05: [new]  add flag ONIGENC_CASE_FOLD_TURKISH_AZERI and
                   USE_UNICODE_CASE_FOLD_TURKISH_AZERI. (disabled in default)
2006/12/04: [spec] remove ONIGENC_CASE_FOLD_FULL.
2006/11/30: [impl] remove unnecessary check in xxx_mbc_case_fold().

2006/11/29: Version 5.4.0

2006/11/28: [spec] INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR is enabled in
                   default case fold status.
2006/11/28: [spec] rename ONIGENC_CASE_FOLD_MULTI_CHAR to
                   INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR.
2006/11/28: [impl] remove USE_UNICODE_CASE_FOLD_MULTI_CHAR.
2006/11/28: [impl] remove Fold[123]Table and add FoldTable.
2006/11/27: [impl] change tool/unicode_fc.rb to see CaseFolding.txt.
2006/11/24: [bug]  should call callback for to[j] <-> to[k] in
                   onigenc_unicode_apply_all_case_fold().

2006/11/22: Version 5.3.0

2006/11/22: [dist] add index_ja.html.
2006/11/22: [impl] undef ONIG_ESCAPE_UCHAR_COLLISION in regint.h and regenc.h.
2006/11/21: [bug]  invalid array access.
2006/11/21: [impl] escape UChar collision from config.h.
2006/11/20: [new]  add Hiragana/Katakana properties into Shift_JIS.
2006/11/20: [impl] fix CR_Katakana[] values in EUC-JP.
2006/11/17: [impl] declare strend hash table functions in regint.h.
2006/11/17: [impl] move property list functions to regenc.c.
2006/11/17: [new]  add Hiragana/Katakana properties into EUC-JP.
2006/11/15: [impl] remove NOT_RUBY from AM_CFLAGS.

2006/11/14: Version 5.2.0

2006/11/14: [impl] remove program codes for Ruby.
2006/11/14: [impl] reduce program codes for Ruby.
2006/11/10: [bug]  0x24, 0x2b, 0x3c, 0x3d, 0x3e, 0x5e, 0x60, 0x7c, 0x7e
                   should be [:punct:].
2006/11/09: [new]  (thanks Byte)
                   add new character encoding CP1251.
2006/11/08: [impl] rename QUALIFIER -> QUANTIFIER.

2006/11/07: Version 5.1.0

2006/11/07: [dist] remove test.rb, testconv.rb and testconvu.rb.
2006/11/07: [bug]  get_case_fold_codes_by_str() should handle 'Ss' and 'sS'
                   combination for ess-tsett.
2006/11/07: [impl] apply_all_case_fold() doesn't need to return all
                   case character combination for multi-character folding.
                   (ONIGENC_CASE_FOLD_MULTI_CHAR)
2006/11/07: [bug]  (thanks Byte)
                   add { 0xa3, 0xb3 } to CaseFoldMap[] for KOI8-R.
2006/11/06: [spec] change ONIG_OPTION_FIND_LONGEST to search all of
                   the string range.
                   add USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE.
2006/11/02: [impl] re-implement expand_case_fold_string() for
                   ONIGENC_CASE_FOLD_MULTI_CHAR.
2006/10/30: [impl] add NSTR_DONT_GET_OPTINFO flag.
2006/10/30: [impl] (thanks K.Takata)
                   add THREAD_SYSTEM_INIT and THREAD_SYSTEM_END.
2006/10/30: [bug]  (thanks Wolfgang Nadasi-Donner)
                   invalid offset value was used in STATE_CHECK_BUFF_INIT().
2006/10/27: [tune] speed up ONIGENC_MBC_CASE_FOLD() for UTF-16, UTF-32.
                   (ASCII code check)
2006/10/27: [tune] (thanks Kornelius Kalnbach)
                   String#scan for long string needs long time compare with
                   old Ruby
                   by initialization time for combination explosion check
                   ex. ("test " * 100_000).scan(/\w*\s?/)
                   change STATE_CHECK_BUFF_MAX_SIZE from 0x8000000 to 0x8000.
                   reduce initialization area of state_check_buff.
2006/10/25: [impl] add DISABLE_CASE_FOLD_MULTI_CHAR().

2006/10/23: Version 5.0.1

2006/10/23: [bug]  should fold string in expand_case_fold_string().
2006/10/23: [bug]  (thanks Km)
                   too many case fold/unfold expansion problem.
                   don't expand and set ambig flag to the string node.
                   (except ONIGENC_CASE_FOLD_MULTI_CHAR).
2006/10/23: [bug]  (thanks K.Takata)
                   invalid \p{Alnum}, \p{ASCII}, [:alnum:], [:ascii:].
                   fix OnigEncAsciiCtypeTable[] etc...
2006/10/23: [spec] (thanks K.Takata)
                   add [:word:] POSIX bracket.
2006/10/23: [bug]  (thanks K.Takata)
                   \p{Word} doesn't work.
2006/10/20: [impl] don't expand for AMBIG_FLAG string in
                   expand_case_fold_string().

2006/10/19: Version 5.0.0

2006/10/18: [bug]  ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM should be 13.
2006/10/18: [impl] remove unused functions.
2006/10/18: [dist] update documents.
2006/10/18: [API]  move OnigMetaCharTableType to OnigSyntaxType.
2006/10/18: [dev]  add too/unicode_fc.rb, unicode_pc.rb.
2006/10/18: [dist] remove MANIFEST-RUBY from distribution.
2006/10/18: [bug]  return duplicated code in
                   onigenc_unicode_get_case_fold_codes_by_str().
2006/10/18  [API]  remove ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS.
2006/10/18: [dev]  add tool/19.
2006/10/18: [dist] remove target 19 from Makefile.am.
2006/10/17: [dist] add enc/unicode.c to target 19 of win32/Makefile.
2006/10/17: [impl] change type for escape VC++ warning.
2006/10/17: [API]  rename ONIGENC_CASE_FOLD_NONE to ONIGENC_CASE_FOLD_MIN.
2006/10/17: [dist] remove INSTALL-RUBY from distribution.
2006/10/17: [dist] update LTVERSION to "2:0:0".
2006/10/17: [impl] remove warnings for [make CFLAGS="-g -O2 -Wall"]
                   in the case USE_UNICODE_PROPERTIES and
                   USE_UNICODE_CASE_FOLD_MULTI_CHAR are undefined.
2006/10/17: [impl] remove warnings for [make CFLAGS="-g -O2 -Wall"].
2006/10/17: [impl] re-implement onigenc_unicode_apply_all_case_fold().
                   multi-char by case folded char-class is treated as
                   caseless-string (ambig flag on).
                   enable OP_EXACT1_IC and OP_EXACTN_IC.
2006/10/16: [bug]  unfold expand for 1->2, 1->3 folding in
                   onigenc_unicode_apply_all_case_fold().
                   add CaseFoldExpand_12[], CaseFoldExpand_13[].
2006/10/16: [bug]  (thanks Akinori Musha)
                   first argument of rb_warn() should be format string.
2006/10/16: [impl] add msa.state_check_buff_size initialization
                   in onig_search().
2006/10/16: [spec] re-implement Unicode Caseless Match codes.
2006/10/10: [bug]  should call onig_st_free_table() in
                   onig_free_shared_cclass_table().
2006/10/10: [impl] remove OnigCompCaseFoldCodes.
2006/10/10: [impl] remove onigenc_ascii_is_mbc_ambiguous() and
                   onigenc_mbn_is_mbc_ambiguous().
2006/10/10: [API]  remove is_mbc_ambiguous() member from OnigEncodingType.
2006/10/10: [API]  rename onig_set_default_ambig_flag() to
                   onig_set_default_case_fold_flag(),
                   onig_get_default_ambig_flag() to
                   onig_get_default_case_fold_flag(),
                   onig_get_ambig_flag() to onig_get_case_fold_flag().
2006/10/10: [API]  rename ambig_flag to case_fold_flag.
2006/10/10: [API]  rename OnigAmbigType to OnigCaseFoldType.
2006/10/10: [impl] rename ONIGENC_IS_CODE_SB_WORD() to IS_CODE_SB_WORD()
                   and move to regint.h.
2006/10/10: [impl] remove OP_WORD_SB and OP_WORD_MB.
2006/10/10: [impl] remove OP_EXACT1_IC and OP_EXACTN_IC from match_at().
2006/10/10: [impl] should free new_str in expand_case_fold_string().
2006/10/06: [dist] add test entries to sample/encode.c.
2006/10/06: [impl] re-implement caseless match (case-fold).
2006/10/06: [impl] expand string node by case fold variations.
                   add expand_case_fold_string().
2006/10/05: [spec] rename OnigCompAmbigCodeItem to OnigCaseFoldCodeItem.
2006/10/05: [spec] add apply_all_case_fold() and get_case_fold_codes_by_str()
                   to OnigEncodingType.
2006/10/05: [spec] remove ambig_flag, get_all_pair_ambig_codes() and
                   get_all_comp_ambig_codes() member from OnigEncodingType.
2006/10/03: [impl] rename mbc_to_normalize() to mbc_case_fold().
2006/10/03: [spec] rename ONIGENC_AMBIGUOUS_MATCH_XXX
                   to ONIGENC_CASE_FOLD_XXX.
                   rename ONIGENC_CASE_FOLD_COMPOUND
                   to ONIGENC_CASE_FOLD_MULTI_CHAR.
2006/10/02: [impl] remove all ONIG_RUBY_M17N part.
2006/09/29: [impl] initialize state_check_buff_size in STATE_CHECK_BUFF_INIT().
                   make valgrind happy.
2006/09/22: [impl] remove parse time ctype values (CTYPE_WORD etc...)
2006/09/22: [ruby] enable USE_BACKREF_AT_LEVEL for Ruby mode.
2006/09/22: [spec] (thanks Allan Odgaard)
                   allow upper case letter as the first character
                   of group name.
                   fetch_name() and fetch_name_with_level()
2006/09/21: [impl] convert to ascii for parameter string in
                   onig_error_code_to_str().
                   add enc member into OnigErrorInfo.
2006/09/21: [dist] update documents for Unicode Property.
2006/09/21: [new]  add Unicode Properties. (enc/unicode.c)
                   Any, Assigned, C, Cc, L, Lm, Arabic, Greek etc...
2006/09/21: [impl] add USE_UNICODE_PROPERTIES into regenc.h.
2006/09/21: [impl] remove USE_UNICODE_FULL_RANGE_CTYPE.
2006/09/20: [impl] change ONIGENC_CTYPE_XXXX to sequential values.
                   add BIT_CTYPE_XXXX bit flags to regenc.h.
                   update XXXX_CtypeTable[] for BIT_CTYPE_ALNUM.
2006/09/19: [memo] move from CVS to Subversion (1.3.2).
2006/09/19: [impl] (thanks KOYAMA Tetsuji)
                   HAVE_STDARG_PROTOTYPES was not defined in Mac OS X
                   by Xcode 2.4(gcc 4.0.1) problem. [php-dev 1312] etc...
2006/09/15: [bug]  (thanks Allan Odgaard)
                   out of range access in bm_search_notrev().
                   (p < s)
2006/09/13: [impl] add ONIGENC_CTYPE_ENC_EXT flag.
2006/09/13: [spec] remove 'Is' prefix check for property name
                   from fetch_char_property_to_ctype().
2006/09/13: [API]  add property_name_to_ctype member to OnigEncodingType.
2006/09/12: [spec][ruby] add ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY and
                   ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT to OnigSyntaxRuby.

2006/09/08: Version 4.4.2

2006/09/08: [test] success in ruby 1.9.0 (2006-08-22) [i686-linux].
2006/09/08: [bug]  (thanks K.Takata)
                   out of range access in bm_search_notrev().
2006/09/04: [spec] (thanks K.Takata)
                   allow look-behind in negative look-behind.
                   ex. /(?<!(?<=a)b|c)d/

2006/08/29: Version 4.4.1

2006/08/29: [test] success in ruby 1.9.0 (2006-08-22) [i686-linux].
2006/08/29: [dist] (thanks Seiji Masugata)
                    add configure option --enable-combination-explosion-check

2006/08/25: Version 4.4.0

2006/08/25: [test] success in ruby 1.9.0 (2006-08-22) [i686-linux].
2006/08/25: [impl] add_state_check_num() should be enclosed in
                   ifdef USE_COMBINATION_EXPLOSION_CHECK.
2006/08/23: [spec] config USE_COMBINATION_EXPLOSION_CHECK is enabled
                   in Ruby mode only.
2006/08/22: [impl] remove last line comma in enum OpCode.
2006/08/22: [impl] remove OP_STATE_CHECK_ANYCHAR_STAR_PEEK_NEXT and
                   OP_STATE_CHECK_ANYCHAR_ML_STAR_PEEK_NEXT.
2006/08/22: [impl] remove OP_BACKREF3.

2006/08/21: Version 4.3.1

2006/08/21: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/21: [impl] change stack type values
                   and re-define STK_MASK_TO_VOID_TARGET etc...
2006/08/21: [impl] set repeat_range[].upper to 0x7fffffff as infinite.
2006/08/21: [impl] add STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE.
2006/08/21: [impl] reduce (?:a*){n,m}, (?:a+){n,m} => (?:a*){n,n}, (?:a+){n,n}
2006/09/21: [impl] reduce (a*){n,m}, (a+){n,m} => (a*){n,n}, (a+){n,n}
                   if backreference is not used.
2006/08/17: [bug]  should check scan_env.num_call > 0 for backrefed pattern
                   in combination explosion check.

2006/08/17: Version 4.3.0

2006/08/17: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/17: [new]  add config USE_COMBINATION_EXPLOSION_CHECK.
                   check /(.+)*/, /(\s*foo\s*)*/ etc...
            [API]  add num_comb_exp_check member in regex_t.
            [dist] change LTVERSION value to "1:0:0" in configure.in.
2006/08/15: [bug]  OP_REPEAT_INC process in match_at().
                   should check repeat-count >= range-upper and
                   range-upper may be infinite.

2006/08/11: Version 4.2.3

2006/08/11: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/10: [impl] remove double call in set_qualifier().
2006/08/10: [impl] remove by_number member in QualifierNode.
2006/08/09: [impl] remove a comma at the end of enum ReduceType
                   for escape warning on Mac OS X.
2006/08/07: [impl] remove warning in regcomp.c.
2006/08/07: [spec] move definition of USE_BACKREF_AT_LEVEL into NOT_RUBY.

2006/08/03: Version 4.2.2

2006/08/03: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/03: [bug]  (thanks Hiroyuki Yamamoto)
                   segmentation fault in regexec(). (POSIX API)
2006/08/02: [bug]  combination of \G in look-ahead/look-behind and other
                   anchors(\A, \z, \Z) cause invalid result.
                   ex. /(?!\G)a\z/.match("ba")
                   start arg. of MATCH_ARG_INIT() should be original
                   arg. of onig_search().

2006/07/31: Version 4.2.1

2006/07/31: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/07/31: [bug] (thanks Kimura Minoru)
                   re-implement bm_search_notrev().
2006/07/31: [impl] bm_search_notrev() refactoring.
2006/07/31: [bug]  (thanks Kimura Minoru)
                   fix incomplete multibyte string in exact info.
2006/07/31: [impl] (thanks Seiji Masugata)
                   remove cast in va_init_list() for Intel C Compiler.

2006/07/18: Version 4.2.0

2006/07/18: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/07/18: [new]  (thanks Wolfgang Nadasi-Donner)
                   add back reference with nest level.
                   \k<name+n>, \k<name-n>
2006/07/11: [impl] change long to unsigned long for ONIG_OPTION_XXX
                   and ONIG_SYN_XXX number literals.

2006/07/03: Version 4.1.2

2006/07/03: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/07/03: [spec] (thanks Wolfgang Nadasi-Donner)
                   allow \G in look-behind.
                   add ANCHOR_BEGIN_POSITION flag in setup_tree().
2006/06/12: [impl] (thanks matz)
                    fix cast from char* to const char*
                    in onig_snprintf_with_pattern().
                    fix cast from char* to const char*
                    for PopularQStr[] and ReduceQStr[].

2006/05/22: Version 4.1.1

2006/05/22: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/22: [impl] add position string argument to STACK_BASE_CHECK().
2006/05/22: [bug]  (thanks NARUSE, Yui)
                   add STK_NULL_CHECK_END to IS_TO_VOID_TARGET().
                   ex. core dump in
                   /(?<pare>\(([^\(\)]++|\g<pare>)*+\))/.match('((a))')

2006/05/15: Version 4.1.0

2006/05/15: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/15: [impl] thread atomic changes for onig_end() and
                   onig_free_node_list().
2006/05/15: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2005/05/15: [dist] update API, API.ja, FAQ, FAQ.ja.
2006/05/15: [spec] remove onig_recompile(), onig_recompile_deluxe()
                   and re_recompile_pattern().
                   add config USE_RECOMPILE_API.
2006/05/15: [impl] improved thread safe implementation of onig_search()
                   and onig_match().

2006/05/11: Version 4.0.4

2006/05/11: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/11: [bug]  (thanks Yuji Kaneda)
                   dead-lock in onig_end().
2006/05/11: [dist] update index.html.

2006/05/08: Version 4.0.3

2006/05/08: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/08: [bug]  (thanks Allan Odgaard)
                   Segmentation fault in backward search.
                   ex. /^\t.*$/
2006/04/18: [dist] update index.html.
2006/04/05: [dist] update index.html.
2006/03/24: [dist] update doc/RE, doc/RE.ja.

2006/03/23: Version 4.0.2

2006/03/22: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/03/22: [impl] add both of ONIG_OPTION_DONT_CAPTURE_GROUP
                   and ONIG_OPTION_CAPTURE_GROUP check.
2006/03/22: [spec] add error code ONIGERR_INVALID_COMBINATION_OF_OPTIONS.
2006/03/22: [impl] remove USE_NAMED_GROUP condition from
                   ONIG_OPTION_DONT_CAPTURE_GROUP check in parse_effect().
2006/03/22: [new]  add API onig_noname_group_capture_is_active().
2006/03/01: [spec] rename regex object type from regex_t to OnigRegexType.
                   add typedef OnigRegexType regex_t
                   unless ONIG_ESCAPE_REGEX_T_COLLISION is defined.
2006/02/27: [spec] change ONIG_MAX_MULTI_BYTE_RANGES_NUM from 1000
                   to 10000.  (for docdiff program)
2006/02/17: [dist] change COPYING year 2005 -> 2006.

2006/02/07: Version 4.0.1

2006/02/07: [test] success in ruby 1.9.0 (2005-11-28) [i686-linux].
2006/02/07: [bug]  memory leaks in onig_free_shared_cclass_table().
2006/02/03: [ruby] add -m 0644 option to install command in "make 19".
2006/02/03: [impl] rename ANCHOR_ANYCHAR_STAR_PL to ANCHOR_ANYCHAR_STAR_ML.
                   change from IS_POSIXLINE() to IS_MULTILINE()
                   for ANCHOR_ANYCHAR_START/_ML decision
                   in optimize_node_left().
2006/01/26: [dist] update index.html for Oniguruma 2.5.3.
2006/01/25: [dist] update URL in index.html.

2006/01/24: Version 4.0.0

2006/01/24: [test] success in ruby 1.9.0 (2005-11-28) [i386-cygwin].
2006/01/24: [test] success in ruby 1.9.0 (2005-11-28) [i686-linux].
2006/01/24: [dist] remove warnings from sample/encode.c.
2006/01/24: [dist] change install description in README(.ja).
2006/01/24: [dist] remove re.c.XXX.patch from distribution and CVS.
2006/01/24: [dist] --- support shared library ---
                   use GNU libtool/automake.
                   change configure.in and add Makefile.am, sample/Makefile.am.
                   add AUTHORS file.
2006/01/24: [dist] test programs return exit code -1 when test fails.
2006/01/24: [bug] (thanks KIMURA Koichi)
                   invalid syntax definition in ONIG_SYNTAX_GREP.
                   ONIG_SYN_OP_BRACE_INTERVAL
                   -> ONIG_SYN_OP_ESC_BRACE_INTERVAL
2006/01/23: [dist] fix configure.in for onig-config.
2006/01/19: [new]  add new config USE_UNICODE_ALL_LINE_TERMINATORS.
                   (U+000d, U+0085, U+2028, U+2029)
2005/12/29: [dist] change pmatch array size to 25 in testconv.rb.
2005/12/26: [dist] fix name in test.rb.
2005/12/26: [dist] update index.html for 2.5.1.

2005/11/29: Version 3.9.1

2005/11/29: [test] success in ruby 1.9.0 (2005-11-28) [i686-linux].
2005/11/24: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
2005/11/21: [test] success in ruby 1.9.0 (2005-11-20) [i386-cygwin].
2005/11/21: [bug]  (thanks Allan Odgaard)
                   utf-8 character comments in extended mode leads
                   invalid result.
                   ex. /(?x)(?<= # <any-utf-8 multibyte char>o\n~) /
                   fix onigenc_unicode_is_code_ctype() and
                   utf8_is_code_ctype().
2005/11/20: [bug]  (thanks MATSUMOTO Satoshi) (thanks Isao Sonobe)
                   begin-line anchor and BM search optimization leads
                   invalid result in UTF-16/32.
                   fix in set_optimize_exact_info().

2005/11/20: Version 3.9.0

2005/11/20: [test] success in ruby 1.9.0 (2005-11-20) [i386-cygwin].
2005/11/20: [test] success in ruby 1.9.0 (2005-10-18) [i386-cygwin].
2005/11/20: [new]  add new config USE_CRNL_AS_LINE_TERMINATOR.
                   (!!! NO SUPPORT experimental option !!!)
2005/11/15: [bug]  (thanks Allan Odgaard)
                   tok->escape was not cleared in fetch_token_in_cc().
                   ex. [\s&&[^\n]] makes wrong result.
2005/10/18: [impl] (thanks nobu)
                   change sjis_mbc_enc_len()
                   and node_new_cclass_by_codepoint_range() scope to static.
2005/09/05: [dist] remove link to MultiFind.
2005/09/01: [dist] add link to yagrep.

2005/08/23: Version 3.8.9

2005/08/23: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
2005/08/23: [inst] fix Makefile.in for make ctest/ptest.

2005/08/23: Version 3.8.8

2005/08/23: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
[--snip--]
