[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.
[GB.FORM.EDITOR]
* BUG: TextEditor: The side view does not allow to move the view past the last line anymore.
* BUG: TextEditor: Fix the values displayed in the side view tooltip.
* NEW: TextEditor: Draw the side view tooltip in a more compact way.
[GB.FORM.TERMINAL]
* NEW: TerminalView: TerminalView.Suspended is a new property that allows to suspend or restart the terminal.
* NEW: TerminalView: Terminal.Reset() now takes an optional argument to keep the cursor position.
[GB.FORM]
* NEW: Rename "very small" stock icon size into "tiny".
* NEW: Stock.Sizes is a new property that returns the list of stock icon default sizes.
[GB.FORM.EDITOR]
* BUG: TextEditor: Take wayland into account when testing for a remote desktop.
[GB.FORM.TERMINAL]
* NEW: Update .gitignore.
[GB.WEB.FORM]
* NEW: Update .gitignore.
[GB.DESKTOP]
* NEW: Remove static dependency on 'gb.desktop.x11' component.
* NEW: Load 'gb.desktop.x11' only if $XDG_SESSION_TYPE is not "wayland".
* NEW: Desktop.RemoteDisplay is a new property that returns if the application is connected to a remote display.
* BUG: Fix Desktop.GetFileIcon().
* BUG: TreeView: TreeView[].MoveFirst() and TreeView[].MoveLast() were inverted.
* NEW: GridView: It now raises a Font event when its font changes.
* BUG: GridView: Do not reset row heights when the font changes.
* BUG: TreeView: Correctly react to font changes.
[GB.WEB]
* BUG: Support for 'application/x-www-form-urlencoded' requests without content length. If the content length is not specified, everything is read up to 8192 bytes.
[GB.UTIL]
* NEW: String.ToPhonetic() is a new method that returns a string converted to a phonetic equivalent according to the specified language. Only french is supported at the moment!
[GB.DESKTOP]
* BUG: Fix DesktopMime.FromFile() method. Mime patterns having a case sensitive flag now are correctly matched. But the flag itself is still ignored, as apparently the mime info files content is incoherent.
[GB.GUI.BASE]
* NEW: TreeView: Raise the Expand or Collapse events as late as possible.
* BUG: TreeView: Setting the Layout property now works on a copy of item list.
[DEVELOPMENT ENVIRONMENT]
* NEW: Option dialog: Remove 'Gambas' and 'Gambas-Mono' from the theme list as they are now returned by the Stock.Themes property.
[GB.FORM]
* NEW: Stock: Add 'Gambas' and 'Gambas-Mono' to the icon theme list.
[GB.FORM]
* NEW: FileView: Add a few default file icons.
* NEW: Stock: Support for new 'gambas-mono' icon theme.
* NEW: Stock: Icon theme names are now capitalized.
* BUG: Stock: Ignore icon theme directories that are symbolic links.
[GB.FORM.EDITOR]
* BUG: Fix an incorrect test indirectly detected by the recently fixed compiler static datatype checking.
[GB.MAP]
* BUG: Fix a forgotten symbol indirectly detected by the recently fixed compiler static datatype checking.
[GB.GUI.BASE]
* NEW: TreeView.Layout and ColumnView.Layout are two new properties that allow to save and restore the layout of the control, i.e. which items are expanded and which are collapsed.
[GB.DB.FORM]
* NEW: Add some test files.
[GB.FORM]
* NEW: Add some test files.
[GB.FORM.EDITOR]
* NEW: Add some test files.
* NEW: Remove an unused global variable.
* NEW: Support for the new Spring control.
* BUG: Fix position of controls dropped from the toolbox.
[GB.GUI.BASE]
* NEW: Spring is a new control that is just like a Panel with the Expand property set.
[GB.MAP]
* NEW: AddCircle Fuction on _MapShape Layer allow to display circles
* NEW: Now ShapeItems have a FillColor property that allow to define filling color.
* NEW: _ShapeLayer have a generic FillColor too
* BUG: The shape layer now not display ShapeItems when theire current display size
at zoom is lower than 2 pixels.
[GB.FORM.EDITOR]
* BUG: TextEditor: Automatically close quotes only in Javascript, CSS and SQL modes.
* NEW: TextEditor: Up to 32 highlighting styles can be defined. Custom highlighting styles starts at Highlight.Custom index.
* NEW: TextEditor: Each style now can have a Background property that defines its background color.
[GB.FORM.MDI]
* NEW: Toolbar: Use an hash pattern to draw toolbar in configuration mode.
* BUG: Toolbar: Use the toolbar item font when drawing its drag icon.
[GB.FORM.DIALOG]
* BUG: Dialog.Key is now reset after a dialog has used it.
* BUG: Dialog.AskPassword does not add 'gb.form.dialog' to Dialog.Key to store the password.
[GB.FORM.DIALOG]
* NEW: Dialog.AskPassword() is a new method that displays a modal dialog box that asks for a user name and a password, and that can remember them provided that the gb.settings and gb.desktop components are loaded and the Dialog.Key property is set.
* NEW: Dialog.User is a new property that returns the user entered in the ask password dialog.
* NEW: Dialog.Password is a new property that returns the password entered in the ask password dialog.
* NEW: Dialog.NoUser is a new property that tells the ask password dialog not to ask for a user.
[GB.GUI.BASE]
* NEW: Add Background, Foreground and Font properties to ListView, TreeView, and ColumnView items.
* OPT: Don't call the GridView default drawing routine in ListView, TreeView, and ColumnView.