[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.
[GB.IMAGE]
* NEW: The Image constructor now fills the image data with 'Color.Transparent' color by default. To get uninitialized image data, you must specified 'Color.Default' as fill color.
[COMPILER]
* OPT: Optimize jumps pointing at a JUMP instruction.
[INTERPRETER]
* OPT: Avoid conversion to boolean when possible in conditional jumps.
[GB.JIT]
* NEW: Implement overflow detection in integer arithmetic operations. The UNSAFE keyword disable them to get full speed.
[INTERPRETER]
* NEW: Add an API for the JIT compiler that retrieves the address of an object or a class for external functions.
[GB.JIT]
* BUG: Fix JIT compilation of extern function calls.
[INTERPRETER]
* BUG: Fix JIT compilation of class inheriting from another class.
[GB.JIT]
* BUG: Fix compilation of Left$(), Right$() and Mid$() routines.
[INTERPRETER]
* NEW: Bool@(), Byte@()... functions can be the target of an affectation now.
[COMPILER]
* NEW: Bool@(), Byte@()... functions can be the target of an affectation now.
[GB.JIT]
* NEW: Bool@(), Byte@()... functions can be the target of an affectation now.
[COMPILER]
* OPT: Optimization of small integer floating point constants.
[INTEGER]
* OPT: Optimization of small integer floating point constants.
[GB.JIT]
* OPT: Optimization of small integer floating point constants.
[INTERPRETER]
* BUG: Fix backward-compatibility with previous bytecode.
* OPT: Optimizations of local variables and argument assignements.
* BUG: NULL can be serialized on streams correctly now.
[COMPILER]
* OPT: Support for local variable manipulation optimization.
[INTERPRETER]
* OPT: Avoid unneeded type conversion swhen manipulating local variables.
* OPT: Various optimizations of the interpreter execution loop. Apparently a smaller execution loop has a big impact on speed. I guess this is related to the size of the various CPU caches.
[GB.DB]
* NEW: Connection: The URL argument of the Connection constructor is now handled by the Gambas part.
* NEW: Connection: It's now possible to specify the password in the connection URL.
[COMPILER]
* NEW: Remove Md5() and other hash native functions.
[INTERPRETER]
* NEW: Remove Md5() and other hash native functions.
[GB.HASH]
* NEW: 'Hash' is a new static class with methods that implement The 'Md5', 'Sha1', 'Sha256' and 'Sha512' hash functions.
[CONFIGURATION]
* NEW: Update 'README' and 'README.md' files.
[COMPILER]
* NEW: Add Md5(), Sha1(), Sha256() and Sha512() functions.
[INTERPRETER]
* NEW: Add Md5(), Sha1(), Sha256() and Sha512() functions.
[GB.HASH]
* NEW: This is a new component that implements the Md5(), Sha1(), Sha256() and Sha512() functions.
The code comes from BusyBox.
[INTERPRETER]
* NEW: Enhance 'GB.SubstStringAdd()' and add 'GB.SubstStringUnquote()' API to support custom quoting in 'gb.db'.
[GB.DB]
* NEW: Connection: Request substitution methods now support "[&1]" and "`&1`" quoting syntax to quote a table name or a column name.
[COMPILER]
* NEW: Remove useless LIKELY() and UNLIKELY() macros.
[INTERPRETER]
* NEW: Remove useless LIKELY() and UNLIKELY() macros.
* NEW: Add a class flag for bytecode strictly older than 3.18.
[GB.DEBUG]
* BUG: Fix incorrect 'printf' format on 32-bits architectures.
[GB.DRAW]
* NEW: Paint: 'LineDash' is now a synonymous for the 'Dash' property.
* NEW: Paint: 'LineDashOffset' is now a synonymous for the 'DashOffset' property.
[INTERPRETER]
* NEW: Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.
[GB.DEBUG]
* NEW: Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.
[INTERPRETER]
* NEW: Add a debugger API to allows debugging inside components.
[GB.DEBUG]
* NEW: New debugger command to toggle debugging inside components.
* NEW: Support for profiling inside components.
[GB.GEOM]
* BUG: Raise an error if the rectangle constructor does not take zero or four arguments.
* BUG: Raise an error if the point constructor does not take zero or two arguments.