[INTERPRETER]
* NEW: Support for "remote" debugging, i.e. debugging a process not run by the IDE.
It is activated by the existence of a symbolic link named '/tmp/gambas-<project name>.debug'
pointing at the IDE temporary directory. The symbolic link is destroyed by the debuggee, so that
no other process of the same project can use it.
* BUG: Remove support of two deprecated parameters in '.startup' file.
* NEW: The internal common string buffer size is now equal to 'PATH_MAX'.
[GB.DEBUG]
* NEW: Support for "remote" debugging.
* OPT: The debugger process now opens the output fifo in blocking mode when needed, and the
debugged process opens the output fifo for reading when needed too.
[COMPILER]
* NEW: Shr, Shl, Asr, Asl, Lsl, Lsr, Rol and Ror can now be used as operators.
* NEW: Now integer constants can be simple integer expressions in array, constant and enumeration declarations.
[GB.EVAL]
* BUG: Fix a compiler warning.
[INTERPRETER]
* BUG: Class overriding is not retroactive anymore when the class already has instances.
* NEW: In tracing mode, indent the interpreter output according to the current stack depth.
[INTERPRETER]
* BUG: Standard input does not use read ahead anymore in all cases.
* BUG: Restore the end-of-file detection for buffered streams whose read ahead is allowed.
[INTERPRETER]
* NEW: New "Unknown stream size" error when 'Lof()' cannot know the size of a stream.
* BUG: If we can't know the size of a stream watched for reading, then we don't unwatch it automatically anymore.
* BUG: Streams based on non-regular file descriptors (devices for example) opened in direct mode now never use 'fstat()' for getting the file length.
[INTERPRETER]
* NEW: Read watches are automatically disabled when stream is closed in all cases.
* BUG: Buffered stream end-of-file function has been fixed.
[INTERPRETER]
* NEW: Standard input is not supposed to be always available for reading.
* NEW: Watching a stream for reading is stopped as soon as reading ahead returns end of file.
* NEW: Eof() now immediately returns TRUE if a previous read ahead has reached end of file.
[INTERPRETER]
* BUG: Pipes are now always internally opened for writing, to workaround a 'glib' behaviour, that eats 100% CPU when there is no writer anymore on a pipe watched for reading.
[INTERPRETER]
* BUG: When using SHELL, call 'setpgrp()' after the possible 'setsid()' call. Otherwise the shell i/o are not visible to the Gambas process.
[INTERPRETER]
* NEW: JIT compiler support for embedded array and structures variables.
[GB.JIT]
* NEW: JIT compiler support for embedded array and structures variables.
[INTERPRETER]
* NEW: Class.Size now returns the full size allocated for an object of that class.
* NEW: Class.DataSize is a new property that returns the size of the dynamic data allocated for that class.
[INTERPRETER]
* NEW: Object.SizeOf() on embedded arrays now returns the size of the array, and not the size of the temporary object created for accessing the array.
[INTERPRETER]
* BUG: Fix memory leaks in debugger expression evaluation routines.
[GB.DEBUG]
* BUG: Fix memory leaks in debugger expression evaluation routines.
* NEW: The debugger now prints the reference count next to object references.
* BUG: A null pointer is printed as "NULL" now.
[INTERPRETER]
* BUG: Calling a JIT function from a class having a ':' in its name works correctly now.
* NEW: Jit.Enabled is a new property that allows to temporarily deactivate the JIT compiler.
[COMPILER]
* NEW: 'STATIC' keyword can be used instead of 'DIM' for declaring local static variables.
[INTERPRETER]
* NEW: Support for local static variables.
[GB.DEBUG]
* NEW: Support for local static variables.
[INTERPRETER]
* BUG: And, Or and Xor operators now correctly raise an error if they deal with Single or Float values.
* OPT: And, Or and Xor operators should be a bit faster.
[INTERPRETER]
* NEW: Support for expression watches.
[GB.DEBUG]
* NEW: Add new command for watching expressions, i.e. stopping the debugger when the value of an expressions changes.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update French translation.
* NEW: Support of the new '.list' file format.
* NEW: Support of the new EXPORT AS syntax.
* NEW: Update error messages.
[COMPILER]
* NEW: EXPORT AS is a new syntax for exporting a class with a specific name that can include a namespace.
* NEW: New header file to start sharing reader code with the 'gb.eval' component.
* NEW: Class names can include a colon. The part before the colon is assumed to be a namespace.
[INTERPRETER]
* NEW: Classes exported in a namespace are now declared both in the global symbol table and in the local symbol table of their component.
* NEW: Class names are now allocated inside the symbol tables, and not in the class objects anymore.
[GB.EVAL]
* NEW: Share some reader code with the compiler.
[INTERPRETER]
* NEW: Add an API to know if a native error has already been raised.
[GB.DB]
* NEW: The Result.Release() driver API now tells if the connection has been closed.
* NEW: Raise an error when retrieving the primary key fails, if the driver has not already raised it.
[INTERPRETER]
* NEW: If the current localization uses the same separator for all date elements having a separator,
then the element having no separator will use that same element if the "/" format character
is used in the Format() function. Same change for the time separators.
[INTERPRETER]
* NEW: Task.Kill() method is now a synonymous of Task.Stop().
* BUG: GB.Call() API now works correctly again when calling static methods.