This is a major Golf release. First and foremost, it adds XML support. Read below for any other changes that may affect you.
- Added XML support. See xml-doc and read-xml statements for parsing and using XML documents.
- Changed statements and clauses that use "utf8" to simply use "utf". The reason is that Golf supports both UTF8 and UTF16 already, and stating just "utf8" doesn't reflect that. Statements "text-utf8" and "utf8-text" are renamed to "text-utf" and "utf-text". These statements allow conversion from Unicode to UTF and back. In addition, "utf8" clause of "match-regex" is now simply "utf".
- When using MariaDB, the connection will no longer use "utf8" as the default, rather no default will be set. This is a better solution, since you can set any character set in the client connection file anyway.
- set-string statement with "unquoted" clause will now only escape double quotes, and leave the rest of the string as is. This has proven to be a more natural way to write string constants without messy string escapes all over.
- match-regex statement now uses PCRE2 only, except where it's not supported quite right, which is if pcre2 library is below version 10.37, in which case regular libc regex is used. The reason is that those older versions of pcre2 would unfortunately use the same API function names as the libc regex library, which at run time would make anybody's guess which library is loaded, leading to a segmentation violation. This approach is clean and will use pcre2 when its version is 10.37 or later, and will explicitly load dynamically the regex library from libc via dlopen(), eliminating these issues. Thus, if some features of "match-regex" don't work for you (such as lookahead or lookbehind for instance), that's probably because you're on an older Linux release; upgrade to a newer one, or upgrade the pcre2 library to 10.47 or later.