[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.
[GB.DEBUG]
* NEW: If the 'GB_DEBUG_DEBUG' environment variable is '1', then a message is printed each time the debugger fifo fails and must be reopened.
* NEW: Sending a void line to the debugger repeats the last command only if the debugger is run from the command line.
[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.
[DEVELOPMENT ENVIRONMENT]
* NEW: GambasSelftests integer overflow tests
* FIX: GambasSelftests run.sh just tests without JIT
Also refactored GambasSelftests a bit and removed some duplicated code
[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]
* BUG: Fix parsing of 'Debug' symbol in preprocessor lines.
* BUG: Don't crash anymore if an error is raised while reading command-line arguments.
[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.
[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.
[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.