+---------------------------+ | June 1, 2023 - 4.7 stable | +---------------------------+ - New: function HASBOM to detect if a text contains the UTF8 byte order mark (all versions) - New: function EDITBOM$ to add or remove UTF8 byte order mark (all versions) - Imp: more performance improvements in string concatenation (all versions) - Imp: added caching to core engine for delimited strings (all versions) - Imp: total redesign in usage of built-in editor (BaCon version) - Imp: initialize TLS when using PRAGMA for GnuTLS or WolfSSL (all versions) - Imp: simplified and improved justify method in ALIGN$ function (all versions) - Imp: optimization in internal empty string handling reducing memory allocations with approx 40% (all versions) - Fix: strings resulting from SPLIT could not be concatenated (all versions) - Fix: long standing issue with indenting commented lines (BaCon version, TK/FLTK/GTK versions) - Fix: parsing equations added superfluous brackets causing the NOT function to fail (all versions) - Fix: the APPEND$ function failed in case of single element in delimited string (all versions) - Fix: equation parser could not handle grouped equations of different type (all versions) - Fix: HASH function returned negative numbers on 32bit platforms (all versions) - Fix: MEMCHECK always returned TRUE for all memory addresses (all versions) - Fix: the reserved variable SOURCE$ was not recognized within SUB/FUNCTION (all versions) March 1, 2023 - 4.6.1 stable - Imp: added support for Haiku OS (all versions) - Imp: extended BETWEEN functionality with BEYOND (all versions) - Imp: added command line parameter '-r' to execute resulting binary after succesfull compilation (all versions) - Imp: GUI functions now support TK as a backend (BaCon version) - Imp: performance improvements in REGEX, WALK$, REPLACE$, EXTRACT$ (all versions) - Imp: GETFILE can use optional FTYPE keyword to retrieve filetype (all versions) - Imp: performance improvements in string concatenation (all versions) - Fix: check on duplicate SUB or FUNCTION names (all versions - kudos rikky) - Fix: memory leak in handling local string arrays (BaCon version) - Fix: regression and improvement in RUN statement (BaCon resp. Shell version) - Fix: type check in DECLARE/GLOBAL/LOCAL too strict (all versions - kudos rikky) - Fix: syntax highlighting fixes (BaCon version, FLTK version) November 1, 2022 - 4.6 stable - New: INVERT function to invert keys/values in associative arrays (all versions) - New: WHERE function to determine character position in string based on token index (all versions) - Imp: SORT now also can sort associative arrays (all versions) - Imp: extended INDEX with INDEX$ for associative arrays (all versions) - Imp: replaced 'which' for 'command -v' in shell searching (all versions) - Imp: set SSL parameter 'SSL_OP_LEGACY_SERVER_CONNECT' explicitly so OpenSSL3 works with legacy sites (all versions) - Imp: performance improvements in the string concatenation operator (all versions) - Fix: GUI statements could not be compiled when temporary directory is defined (BaCon version - kudos barry) - Fix: sorted OBTAIN$ and sorted LOOKUP could not handle string values larger than 32 characters (all versions) - Fix: ALIGN$ added an additional space to resulting string (all versions) - Fix: BLOAD should look at OPTION MEMSTREAM also (all versions) August 1, 2022 - 4.5 stable - New: added DLE$ for DOS Line Ending (all versions) - New: added TYPE statement to set font type in ANSI compliant terminals (all versions) - New: added SCREEN statement to save/restore the screen in ANSI compliant terminals (all versions) - New: added INDEX to retrieve index number in array based on value (all versions) - Imp: the VAR statement now allows all C types for variadic arguments (all versions) - Imp: simplified command line parsing for -i, -l, -o options (all versions) - Imp: various performance improvements in built-in editor (BaCon version) - Imp: made flex optional, if not available then BaCon will work but it cannot optimize binary (all versions) - Imp: the ON statement also allows CALL keyword to jump to functions (all versions) - Fix: the GUIFN function could not be compiled in some circumstances (BaCon version) - Fix: variable registration in LET used wrong scope for C assignment operators (BaCon version) - Fix: the BETWEEN keyword mixed up nested equations in some circumstances (all versions) - Fix: the GUI version did not memorize included files (GTK, FLTK version) - Fix: the STATIC keyword was broken for SPLIT, MAP, COLLECT and PARSE (BaCon version) - Fix: the HOST$ function could crash when name lookup failed (all versions) - Fix: regression in the detection of string type equations (all versions) - Fix: shell version lost spaces during printing and in the infix string concatenator parsing (Shell version) - Fix: EVAL could not be converted in some circumstances (all versions) October 1, 2021 - 4.4 stable - New: PARSE statement to parse parts from delimited strings based on pattern (all versions) - New: COLLAPSE$ to remove empty items from delimited string (all versions) - Imp: overall code improvements and cleaning (all versions) - Imp: allow C assignment operators like += and -= (all versions) - Imp: the APPEND statement now can concatenate strings as well (all versions) - Imp: pattern string in MATCH now accepts wildcards (all versions) - Imp: made second argument in LEFT$ and RIGHT$ optional (all versions) - Fix: fixed tokenization issue with the VERIFY keyword (all versions) - Fix: fixed crash in CIPHER$ when using WolfSSL (all versions) - Fix: GnuTLS could not handle some TLS connections properly (all versions) - Fix: memory leaks in CA$ and CN$ (all versions) - Fix: string concatenation failed for string members of RECORD (all versions) - Fix: memory leak in OPEN FOR SERVER when using SSL mode (all versions) - Fix: assignments to pointer members of RECORD caused erroneous variable declaration (all versions) - Fix: statement assignments to numeric associative variables did not work (all versions) - Fix: the '\' symbol in a comment is not ignored in all circumstances (BaCon version) May 1, 2021 - 4.3.2 stable - New: commands TREE, FIND and COLLECT to define binary trees (all versions) - Imp: code cleaning for all implicit variable declarations (all versions) - Imp: if no TYPE is defined in GUI definition then use GTK_TYPE (BaCon version) - Imp: improvements in stability and performance for recursive WALK$ (all versions) - Imp: improved tokenization for statements in Shell version (Shell version) - Imp: added support for GTK4 (BaCon version) - Fix: the PRINT..FORMAT..TO statement spoiled internal variable damaging other parts of generated code (all versions - kudos rikky) - Fix: RESTORE