[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.
[INTERPRETER]
* NEW: Add all comparison constants to 'gambas.h' API header file.
[GB.OPENSSL]
* BUG: Use the API instead of directly including interpreter header files. It breaks compilation on Ubuntu 22.10.1.
[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: Change the GB_FUNCTION structure so that it stores the index of the method instead of its description pointer.
[GB.DATA]
* OPT: The new GB_FUNCTION structure allows to reduce the size of the GRAPH_DESC structure.
[INTERPRETER]
* NEW: Timers are not inherited anymore by background tasks. They are actually inherited, but immediately disabled the first time they trigger inside the background task.
[INTERPRETER]
* OPT: Signal handlers are now checked only if requested explicitly by a component.
[GB.GTK]
* NEW: Request SIGCHLD handler check.
[GB.GTK3]
* NEW: Request SIGCHLD handler check.
[INTERPRETER]
* NEW: GB.IsLocked() is a new API that tells if an object is locked.
* NEW: GB.IsRaiseLocked() is a new API that tells if raising an event is useless because no observer will receive it.
* BUG: Errors cannot be propagated outside of an event handler, because the event may result from a library signal that do not support exceptions (like the glib library).
[CONFIGURATION]
* NEW: Add man pages.
[INTERPRETER]
* NEW: Use 'time_t' in GB.MakeDateFromTime API.
[WIKI CGI SCRIPT]
* NEW: Add a command-line option to print the package table.
[COMPILER]
* NEW: Support for the new PEEK instruction.
[INTERPRETER]
* NEW: PEEK is a new instruction that peek some bytes from a stream without removing them, so that they are available to the next READ instruction.
* OPT: IsAscii(), IsLower(), IsPunct()... instructions are now a bit faster.
[INTERPRETER]
* NEW: Add a API to know if a native component exists on the disk.
[GB.GUI]
* BUG: Take the other requested GUI components into account to choose the toolkit.
[GB.GUI.QT]
* BUG: Take the other requested GUI components into account to choose the toolkit.
[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.
[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.
[COMPILER]
* NEW: New '-j' option that disables just in time compilation.
* NEW: JIT: Support for private functions calls.
* NEW: JIT: Support for native arrays accessors.
* BUG: JIT: Fix loop support.
* NEW: JIT: Support for GOSUB.
[GB.JIT]
* NEW: GB_JIT_DEBUG is an environment variable that defines if JIT compilation debugging messages are printed.
* NEW: GB_JIT_CFLAGS is an environment variable that defines the JIT compilation flags. The default is "-O3".
* NEW: Support for native arrays accessors.
[COMPILER]
* BUG: JIT: Fix local variable referencing.
* NEW: JIT: Implement NEW operator and array accessors.
[INTERPRETER]
* NEW: Support for JIT NEW operator and array accessors.
[GB.JIT]
* NEW: Support for object datatypes.
* NEW: Implement NEW operator and array accessors.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.
[INTERPRETER]
* NEW: Remove old JIT stuff.
[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
[INTERPRETER]
* NEW: New API for reference a Gambas string.
[GB.DB]
* NEW: Result.GetAll() is a new method that returns an array of the values of a specific field from each record. It is about twice faster than the equivalent code written in Gambas.
* NEW: Add an API that allows to create an array class before instanciating it.
[GB.DBUS]
* BUG: When marshalling from DBus to Gambas, create the array classes before instanciating them.
git-svn-id: svn://localhost/gambas/trunk@8173 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch version to 3.10.90.
[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update french translation.
* NEW: Support for the new gb.term component.
[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.
[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.
git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Timer delay is now stored in 31 bits, and so can now be up to 2^31 - 1 milliseconds, i.e. about 24 days, 20 hours and 31 seconds.
git-svn-id: svn://localhost/gambas/trunk@7925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.
git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer
to the internal GB_VALUE slot where GB.ReturnXXX() functions store the
return value.
* NEW: Allow a component to declare a GB_AFTER_INIT() exported method that
is called just after all the components declared in the project are
completely loaded.
[GB.DBUS]
* NEW: DBus._HasSystemTray() is a new method that returns if the DBus
system tray is present. That method is used by the 'gb.gui.trayicon'
component to know if 'gb.dbus.trayicon' must be loaded.
* BUG: Fix xml introspection analysis.
[GB.DBUS.TRAYICON]
* BUG: Remove debugging messages.
* BUG: TrayIcon icon data is sent correctly now.
[GB.GUI.TRAYICON]
* NEW: New component that you must check if you want to have system tray
icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can
load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to
declare the old system tray implementation classes.
[GB.GTK]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
[GB.GTK3]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
[GB.QT4]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
[GB.QT5]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new GB.Component.Declare() API, that allows a component to
dynamically register a class description.
[INFORMER]
* NEW: A component now can declare classes through a GB_OPTIONAL_CLASSES
public symbol. Theses classes are included into the information file,
but are not automatically loaded as the ones defined through the
GB_CLASSES symbol.
[GB.FORM.STATUSICON]
* NEW: This component has been removed and replaced by gb.dbus.trayicon.
* NEW: This component now provide TrayIcon and TrayIcons classes that have
exactly the same interface as the old ones.
[GB.DBUS]
* NEW: Remove the now useless DBusConnection.Raise(). The DBusConnection
Register() and Unregister() are kept for backward-compatibility reason.
* NEW: Add DBus.Raise() and DBus[].Raise() to raise signals. At the moment,
there is no difference between the two methods, as there no mean to
indicate the sender raising a signal. I don't know yet how DBus decides
which service sends a signal!
[GB.DBUS.TRAYICON]
* NEW: This component implements the tray icon DBus protocol. It is
automatically loaded by the GUI components.
[GB.GTK]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.
[GB.GTK3]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the component name in deprecation warning messages.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.
[GB.QT4]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
[GB.QT5]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
git-svn-id: svn://localhost/gambas/trunk@7154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetProperty() API now returns the property value as a GB_VALUE
pointer, or NULL if the property could not be read.
[GB.DB.POSTGRESQL]
* BUG: Fix a compilation warning.
[GB.DBUS]
* NEW: DBusVariant.Signature is now a constant, not a property anymore.
* NEW: DBusVariant() static method has been removed.
* NEW: DBusVariant.Value is now writable.
* NEW: DBusVariant now can be inherited. Use the value of the Signature
constant for introspection of methods and properties using a child class
of DBusVariant.
* BUG: Show the org.freedesktop.DBus.Peer interface in introspection.
* BUG: The org.freedesktop.DBus.Properties.GetAll method now works
correctly.
* BUG: Correctly handle array datatypes.
* BUG: Correctly marshall DBus structures and arrays.
* BUG: Correctly handle NULL values.
[GB.FORM.EDITOR]
* BUG: TextEditor: Better detect cursor position when clicking in the
editor with the mouse.
[GB.FORM.STATUSICON]
* NEW: New component that provides a StatusIcon that is a TrayIcon using
the Status Notifier DBus specification (i.e. the new protocol). It should
only works with KDE at the moment.
[GB.IMAGE]
* NEW: Implement all possible image format conversions.
git-svn-id: svn://localhost/gambas/trunk@7150 867c0c6c-44f3-4631-809d-bfa615b0a4ec