[COMPILER]
* BUG: Synchronize reserved words enumeration with reserved words table.
[GB.EVAL]
* NEW: Highlight: 'Analyze()' got a new optional boolean parameter that stops the analyze when the "%>" token is encountered.
* NEW: Highlight: 'IsFunction' is a new property that returns if 'Highlight.Analyze()' got a function declaration.
* NEW: Highlight: 'LengthBefore' is a new property that returns the number of analyzed characters before the possible rewrite.
[INTERPRETER]
* BUG: A global class find does now a global class lookup. It seems more logical.
* BUG: When loading a class fails, display an accurate error message.
[COMPILER]
* BUG: Embedded arrays do not raise warnings on being uninitialized anymore.
* NEW: Make "%>" a keyword for syntax analyze of gambas code embedded into a WebPage.
[INTERPRETER]
* OPT: Optimize object creation when there is no special method to call ('_new', '_ready', global variable initialization) and no inheritance.
[INTERPRETER]
* OPT: Big optimization of the interpreter loop by using a local program counter.
* NEW: Use one short integer less in the bytecode files for each function using computed Goto.
[COMPILER]
* NEW: Use one short integer less in the bytecode files for each function using computed Goto.
[INTERPRETER]
* NEW: Implementation of computed Goto and GoSub.
[COMPILER]
* NEW: Implementation of computed Goto and GoSub.
* NEW: There is a maximum of 255 labels by function now. This limit may be removed.
[INTERPRETER]
* OPT: Optimize object release for native integer and float arrays accessors.
* OPT: Shortcut path for adding a small integer or float constant number.
[COMPILER]
* OPT: Shortcut path for adding a small integer or float constant number.
[GB.JIT]
* NEW: Support for new bytecodes.
[CONFIGURATION]
* BUG: Do not try to disable CTE support if gcc does not have the corresponding flag.
[INTERPRETER]
* BUG: Do not try to disable CTE support if gcc does not have the corresponding flag.
[INTERPRETER]
* NEW: Support for the new Eval() feature.
[GB.EVAL]
* NEW: 'Eval()' now can evaluate several expressions at once, provided that they are separated by newlines. The value of the last expression is returned.
* NEW: 'Eval()' now returns NULL if its last expression returns nothing.
[INTERPRETER]
* NEW: Set environment variables at startup from the '.environment' file.
[COMPILER]
* NEW: Generate the '.environment' files with the list of environment variables that must be set at startup.
[ARCHIVER]
* NEW: Add the '.environment' file to the archive.
[INTERPRETER]
* BUG: The support for external debugging now uses the project name stored
in the '.startup' file, not the executable name, which may be different.
[COMPILER]
* NEW: Write the name of the project in the '.startup' file.
[CONFIGURATION]
* BUG: Do not use the default CFLAGS forces by autotools. Either use the CFLAGS provided on the command-line, or the default ones of the project.
[INTERPRETER]
* OPT: Don't use '-O3'. It makes benchmarks sometimes slower than using '-O2'.
[COMPILER]
* OPT: Optimize variable initialization.
[INTERPRETER]
* NEW: 'GB.Push()' now can handle Variant values.
[GB.GTK]
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.
[GB.GTK3]
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.
[GB.QT4]
* BUG: Fix reference leak in drag & drop target management.
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.
[GB.QT5]
* BUG: Fix reference leak in drag & drop target management.
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.
[INTERPRETER]
* NEW: Convert two global interpreter flags from boolean to bitfield.
* NEW: Remove a unused JIT API and take the previous into account.
[GB.JIT]
* NEW: Take the boolean to bitfield interpreter flag changes into account.
[INTERPRETER]
* NEW: 'System.IgnoreOverflow' is a new property that allows to ignore overflows in arithmetic operations.
* OPT: Replace most of boolean global interpreter flags by bitfields.
[COMPILER]
* OPT: Optimization of conditional jumps based on values known to be Boolean.
* BUG: Jump optimization is effective when debugging information is generated.
* BUG: The '/' operator correctly returns a Float if its arguments are Float.
[INTERPRETER]
* OPT: Optimization of conditional jumps based on values known to be Boolean.
[GB.JIT]
* NEW: Support for conditional jumps optimization.
[INTERPRETER]
* BUG: Fix overflow detection in conversion functions.
* BUG: Check for overflow detection only if the '__has_builtin' pseudo-macro is implemented by the compiler.