[GB.FORM.EDITOR]
* NEW: TextEditor.LastLine is a new property that returns the line position just before a cursor move.
* NEW: TextEditor.LastColumn is a new property that returns the column position just before a cursor move.
[GB.UTIL]
* NEW: Shell.MkDir() now handles paths starting with "~/", and raises an error if creating the directory is impossible.
* NEW: Shell.Move() got a new optional 'Force' argument, that erases the destination path The erase and the move are atomic if possible.
[GB.MAP]
* BUG: return null if the required layer not exist
* BUG: Remove function of Shape Layer do nothing if the Layer did not exist
* BUG: All the object can be removed in all order now.
[GB.FORM]
* OPT: FileView: Optimize view refresh.
* BUG: SidePanel: Side buttons were sometimes created twice.
* BUG: SidePanel: Side buttons tooltips are now always correct.
[GB.GUI.BASE]
* BUG: IconView: Items highglight is correctly drawn now.
* OPT: TreeView: Allows the view to be locked while a lot of items are added.
* NEW: TreeView: BeforeSort is a new event that allows a caller to prepare its custom view sort.
[GB.FORM]
* BUG: ColorPalette: Handle mouse wheel events correctly.
* BUG: ColorPalette: Ensure that the current color is visible.
* NEW: ColorChooser: The value slider now handles mouse wheel events.
* OPT: FileView: Sort the files once when the view is reloaded.
* NEW: TableView: Move the editor so that the cell border is correctly visible.
[GB.GUI.BASE]
* NEW: GridView: Draw last column and last rows separators even if Grid is not set when the GridView is actually a TableView.
* BUG: ScrollView: Fix arrangement.
* OPT: TreeView: Define the default row size, so that adding items is faster.
[GB.GTK]
* NEW: Remove PictureBox control.
[GB.GTK3]
* NEW: Remove PictureBox control.
[GB.GUI.BASE]
* NEW: PictureBox is now implemented in Gambas.
* NEW: PictureBox: Image is a new property that allows to display an Image instead of a Picture.
* NEW: PictureBox: Mode is a new property that defines how the image fills the control.
[GB.QT4]
* NEW: Remove PictureBox control.
[GB.QT5]
* NEW: Remove PictureBox control.
[GB.FORM.MDI]
* NEW: Action.Add() is a new method that allows to declare a new action.
* NEW: Action.AddFrom() is a new method that declare a new action from a control.
[GB.GUI.BASE]
* NEW: Action.Keys is new static property that returns the list of all action keys.
* NEW: Action[].HasShortcut is a new property that returs if an action can have a shortcut.
[GB.FORM.EDITOR]
* OPT: TextEditor: Setting styles multiple times now triggers only one highlight update.
* NEW: TextEditor: Matching braces are now just underlined. I find that more readable.
[GB.GUI.BASE]
* NEW: TreeView, ListView, ColumnView: Keys is a new property that returns an array of all item keys.
* BUG: TreeView, ListView, ColumnView: Setting an item font has no side effect anymore.
[GB.FORM.EDITOR]
* BUG: TextEditor: Setting the editor text does not crash anymore if the cursor of one of its view is out of bounds. Finally fixed it!
[GB.FORM]
* BUG: SidePanel: It should work correctly in all cases now.
* NEW: SidePanel: Animate opening and closing when Application.Animations is set.
[GB.FORM.EDITOR]
* BUG: TextEditor: GotoCenter() works correctly again.
* BUG: TextEditor: HighlightString() correctly refreshes the editor contents in all cases.
[GB.GUI.BASE]
* NEW: ScrollArea: ContentsWidth and ContentsW are two new synonymous of the ScrollWidth property.
* NEW: ScrollArea: ContentsHeight and ContentsH are two new synonymous of the ScrollHeight property.
* NEW: ScrollArea: Shadow is a new property that displays inner shadows when scrolling is possible.
* NEW: ScrollArea: Rework scrolling animation.
* NEW: ScrollView: That control is now implemented in Gambas.
[GB.GUI.BASE]
* NEW: ScrollArea: Scrolling is a new property that returns if the control is scrolling for animations.
* NEW: ScrollArea: Don't animate scrolling if nothing has been drawn yet.
* BUG: ScrollArea: Fix the ScrollX and ScrollY properties when animations are enabled.
[GB.FORM]
* NEW: SwitchButton: Take Application.Animations property into account.
* NEW: MessageView: Take Application.Animations property into account.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* NEW: Option dialog: Add an option to enable control animations. Move the toolbar size option to the 'Fonts' panel.
[GB.GTK]
* NEW: Application.Animations is a new property that enable or disable control animations.
[GB.GTK3]
* NEW: Application.Animations is a new property that enable or disable control animations.
* NEW: Control.Font is now implemented using GTK+ CSS.
[GB.GUI.BASE]
* NEW: ScrollArea: Animate scrolling if Application.Animations is set.
[GB.QT4]
* NEW: Application.Animations is a new property that enable or disable control animations.
[GB.QT5]
* NEW: Application.Animations is a new property that enable or disable control animations.
[GB.GTK]
* NEW: Remove the native SpinBox implementation.
* BUG: Add specific fixes for breeze and oxygen themes.
[GB.GTK3]
* NEW: Remove the native SpinBox implementation.
* BUG: ComboBox: Fix rendering.
* BUG: ComboBox: Use a GtkBox instead of the deprecated GtkAlignment.
* BUG: Style: Fix some paint methods and metric properties.
* BUG: Add specific fixes for breeze and oxygen themes.
[GB.GUI.BASE]
* NEW: SpinBox: New implementation of the control in Gambas.
* BUG: ProgressBar: Fix rendering with GTK+ components.
[GB.QT4]
* NEW: Remove the native SpinBox implementation.
* NEW: RadioButton: Fill the widget when the background color is set.
* BUG: Style: Fix some metric properties.
[GB.QT5]
* NEW: Remove the native SpinBox implementation.
* NEW: RadioButton: Fill the widget when the background color is set.
* BUG: Style: Fix some metric properties.
[GB.FORM]
* NEW: FileChooser: After having uncompressed a file, calls the event loop before refreshing the views so that the possible inotify events are processed.
[COMPILER]
* NEW: Rename a macro constant to avoid a symbol clash when compiling the interpreter.
[INTERPRETER]
* NEW: Get rid of a macro trick in 'gbx_eval.h' header.
[GB.EVAL]
* NEW: Highlight: Add three new color constants for syntax highlighting: Escape, Label and Constant.
* NEW: Rename some source files.
* NEW: Rename some constants.
* NEW: Gambas syntax highlighter now use the three new contants for escape characters in strings, for labels, and for language contants (True, False, Null, +Inf and -Inf).
[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new syntax highlighting color constants.
[GB.FORM.EDITOR]
* NEW: Support for the new syntax highlighting color constants.
[DEVELOPMENT ENVIRONMENT]
* NEW: Add an option to close the tabs with the middle mouse button instead of using little close buttons.
[GB.FORM]
* NEW: TabPanel: The middle mouse button does not close tabs anymore. It is now a feature only implemented in the Workspace control.
[GB.FORM.MDI]
* NEW: Workspace: CloseWithMouse is a new property. If set, the workspace tabs little close buttons are hidden, and the workspace tabs can be closed with a middle mouse click.
[GB.EVAL.HIGHLIGHT]
* NEW: Take multiline strings into account in javascript syntax highlighting.
[GB.FORM.EDITOR]
* NEW: Take multiline strings into account in javascript mode.
[GB.FORM.EDITOR]
* NEW: TextEditor: Entering a bracket, a brace... while part of the current line is selected now automatically encloses the selected text.
[GB.GUI.BASE]
* NEW: IconView: Improve and normalize how items are draws between horizontal et vertical orientation.
* BUG: IconView: Clicking on an item in multiple selection mode correctly makes it the current item.
* OPT: IconView: Selecting items with the keyboard is faster now.
[GB.FORM]
* NEW: FileView: A directory cache is now automatically invalidated every five second.
* NEW: FileView: ReloadAll() now invalidates the directory cache.
[GB.FORM]
* BUG: DirView: Errors occuring during a renaming now display the balloon message on the renaming item.
* BUG: DirView: Forbid void directory names.
* BUG: FileView: Canceling an item rename now works as expected in icon mode, and correctly refreshes the view.
* BUG: FileView: Forbid void file names.
[GB.GUI.BASE]
* BUG: IconView: Hitting ENTER while renaming an item does not insert a newline in the item text.
* NEW: IconView: Canceling the Rename event keeps the editor opened.
[GB.FORM]
* BUG: FileView: Setting the Current property does nothing if the new value is the same as the old one.
* BUG: FileProperties: Correctly abort the directory size background task if the Path property is set.
* BUG: FileProperties: Don't fill the error tab if the directory size background task is aborted.
[GB.WEB]
* BUG: Fix the write of session values for sqlite sessions.
* NEW: Session.Path is a new property that returns the path of the file where the session is stored.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().
[GB.FORM.TERMINAL]
* BUG: Fix warning messages.
[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.
[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
[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.
[BENCHMARKS]
* NEW: Little meaningless changes.
[INTERPRETER]
* NEW: JIT: Support for FOR EACH loops.
* BUG: JIT: Handle function values that are put on stack before calling them.
[COMPILER]
* NEW: JIT: Optimization of mathematic functions.
* NEW: JIT: Support for FOR EACH loops.
* NEW: JIT: Remove successive POP_x() / PUSH_x().
* NEW: JIT: Optimization of DIV and MOD.
* NEW: JIT: Support of internal control local variables used by SELECT and FOR EACH.
* NEW: JIT: Support for SWAP.
[GB.JIT]
* NEW: Optimization of mathematic functions.
* NEW: Variants management.
* NEW: All conversions are handled now.
* NEW: FOR EACH loops are implemented.
[INTERPRETER]
* NEW: Implement return value of JIT methods.
* NEW: Support for calling '.' operator from a JIT method.
[COMPILER]
* BUG: JIT: Fix detection of native arrays.
* BUG: JIT: Delete translated file if a class has no fast method anymore.
* BUG: JIT: Prefix JIT method with "jit_" to avoid possible conflicts.
* BUG: JIT: Fix variable initialization.
* NEW: JIT: Complete datatype support.
* NEW: JIT: Support for SWAP.
* NEW: JIT: Support for array operators.
* BUG: JIT: Fix arithmetic operators.
* NEW: JIT: Implement ME and "." operator.
* NEW: JIT: Complete GOSUB / RETURN support.
* NEW: JIT: Support for DIV and MOD operators. Not optimized yet.
[ARCHIVER]
* NEW: Put JIT translation in the archive.
[GB.JIT]
* NEW: Complete datatype support. Variant is not supported yet.
* NEW: Complete GOSUB / RETURN support.
* NEW: Support for ME and '.' operator.
[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: JIT: Support for FOR...TO...NEXT loops.
* NEW: JIT: Support for Len(), Left$(), Mid$(), and Right$().
* NEW: JIT: Subroutines return values are now hadled correctly.
[GB.JIT]
* NEW: Compile JIT code with -O3.
[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.
* NEW: Work on JIT continues...
* NEW: Better panic errors.
[INTERPRETER]
* NEW: Remove the old JIT stuff.
* NEW: Calls gb.jit at runtime if needed. If a fast function has no jit implementation, the bytecode version is used.
* NEW: Start defining the JIT interface needed by the JIT functions.
* NEW: The common static character buffer is now twice the size of the maximum symbol length, to avoid possible overflows.
[GB.JIT]
* NEW: Compilation starts to work.
* NEW: Debugging messages.
[GB.CHART]
* BUG: Fixed a bug in Chart class.
A more complex calculated id is now used. This let us use more than one chart.
* BUG: Fixed a bug in _CSerie class.
A call to an unexisting property Labels has been changed.
[GB.FORM]
* NEW: DateChooser: Raise a Click event when a date is clicked in the inner calendar.
* NEW: DateBox: Clicking on a date automatically closes the date chooser popup.
[GB.FORM.MDI]
* BUG: Toolbar: Correctly manage the disabled state of the item when dropping it on a toolbar.
* NEW: Toolbar: Size is a new property that returns the toolbar icon size as a stock string size.
* NEW: Toolbar: Redesign the expander, separator and space items icons.
[INTERPRETER]
* BUG: Fix conversion between dates and their local string representation.
* OPT: Little optimization in conversion functions calls.
[GB.UTIL]
* BUG: Fix Date.ToUnixTime() and Date.FromUnixTime() according to the interpreter fix.
[GB.DB.FORM]
* BUG: DataSource: Better support of SQL queries in the Table property. Using a SQL query now make the DataSource automatically read-only.
[GB.FORM]
* NEW: Support for stock icons of any size, with automatic stretching.
[GB.FORM.STOCK]
* NEW: Add a 128 pixel version of the Gambas logo to the 'gambas' stock theme.
[GB.FORM.TERMINAL]
* NEW: Redraw the control icon.
* NEW: TerminalView: AutoResize is a new property that defines if the screen width automatically fits the view.
* NEW: TerminalView: ScreenWidth is a new property that allows to define the screen width in the case AutoResize is FALSE.
* NEW: TerminalView: CharWidth is a new property that returns the screen character width.
* NEW: TerminalView: LineHeight is a new property that returns the screen lien height.
* BUG: TerminalView: The scrollbar should now be correctly hidden in all cases.