Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation
Components
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
About The Best Formula In The World
Architecture details
Benchmarks
Books
By Reference Argument Passing
Compatibility between versions
Creating And Using Libraries
Database Datatype Mapping
Database Request Quoting
Date & time management
Dates and calendars
DBus and Gambas
Differences Between Shell And Exec
Differences From Visual Basic
Distributions & Operating Systems
Drag & Drop
DrawingArea Internal Behaviour
External functions datatype mapping
Frequently Asked Questions
Gambas Farm Server Protocol
Gambas Mailing List Netiquette
Gambas Markdown Syntax
Gambas Naming Conventions
Gambas Object Model
Gambas Scripting
Gambas Server Pages
Gambas Unit Testing
Gambas Wiki Markup Syntax
Getting Started With Gambas
Hall Of Fame
Housekeeping, cleaning up
Image Management In Gambas
Including Help Comments in Source Code
Interpreter limits
Introduction
Just In Time Compiler
Just In Time Compiler (old version)
License
Localisation and Internationalization
Mailing Lists & Forums
Naming Conventions
Network Programming
ODBC Component Documentation
PCRE Pattern Syntax
Porting from Gambas 2 to Gambas 3
Previous News
Project Directory Structure
Release Notes
Gambas 2.23.0
Gambas 2.23.1
Gambas 2.24.0
Gambas 3.0.0
Gambas 3.1.0
Gambas 3.1.1
Gambas 3.2.0
Gambas 3.2.1
Gambas 3.3.0
Gambas 3.3.1
Gambas 3.3.2
Gambas 3.3.3
Gambas 3.3.4
Gambas 3.4.0
Gambas 3.4.1
Gambas 3.4.2
Gambas 3.5.0
Gambas 3.5.1
Gambas 3.5.2
Gambas 3.5.3
Gambas 3.5.4
Gambas 3.6.0
Gambas 3.6.1
Gambas 3.6.2
Gambas 3.7.0
Gambas 3.7.1
Gambas 3.8.0
Gambas 3.8.1
Gambas 3.8.2
Gambas 3.8.3
Gambas 3.8.4
Gambas 3.9.0
Gambas 3.9.1
Gambas 3.9.2
Gambas 3.10.0
Gambas 3.11.0
Gambas 3.11.1
Gambas 3.11.2
Gambas 3.11.3
Gambas 3.11.4
Gambas 3.12.0
Gambas 3.12.1
Gambas 3.12.2
Gambas 3.13.0
Gambas 3.14.0
Gambas 3.14.1
Gambas 3.14.2
Gambas 3.14.3
Gambas 3.15.0
Gambas 3.15.1
Gambas 3.15.2
Gambas 3.16.0
Gambas 3.16.1
Gambas 3.16.2
Gambas 3.16.3
Gambas 3.17.0
Gambas 3.17.1
Gambas 3.17.2
Gambas 3.17.3
Gambas 3.18.0
Gambas 3.18.1
Gambas 3.18.2
Gambas 3.18.3
Gambas 3.18.4
Gambas 3.19.0
Gambas 3.19.1
Gambas 3.19.2
Gambas 3.19.3
Gambas 3.19.4
Gambas 3.19.5
Gambas 3.19.6
Gambas 3 RC1
Gambas 3 RC2
Gambas 3 RC3
Gambas 3 RC4
Gambas 3 RC5
Gambas 3 RC6
Gambas 3 RC7
Reporting a problem, a bug or a crash
Rich Text Syntax
Screenshots
Text highlighting definition file syntax
The Program has stopped unexpectedly by raising signal #11
Variable Naming Convention
WebPage Syntax
Web site home page
What Is Gambas?
Window & Form Management
Window Activation & Deactivation
Window Life Cycle
XML APIs
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

Gambas 3.8.3

What's new

This release includes all bugs fixes since the release of Gambas 3.8.2.

It includes a few enhancements and optimizations too:
  • Source files can now be dragged & dropped in the IDE project tree.

  • Project directories are now movable.

  • Support for line cap style, line join style and fill rule in the IDE image editor.

  • Array accessors are faster.

ChangeLog

DEVELOPMENT ENVIRONMENT

Project tree

  • A child class is now displayed in the project tree under its parent class only if they are in the same directory. Consequently, dragging a child class to any directory is now possible.

  • Allow project directories to be moved.

  • Cutting & pasting source files now works as expected.

  • Use the file stock icon at correct size when making a project file icon.

About dialog

  • Mouse wheel now scrolls the text in both direction.

Code editor

  • Automatic comment insertion is now done in one step to prevent syntax highlighting from occurring inside the new comment line.

  • Correctly catch errors when reloading a file.

  • Reloading a class or module file now keep the breakpoints.

  • Reloading a file now correctly resets the procedure combo.

Database editor

  • Correctly save CSV file path in data export and table import dialogs.

  • Redraw some database editor icons.

  • Renaming a table does not delete it anymore if the renaming fails for any reason.

  • Larger connection properties dialog.

  • Remove not yet implemented "template" database type.

Help browser

  • Correctly set the help browser URL in all cases.

  • Don't display the wiki language combo-box in the help browser.

  • HelpView.Stop() method now always hides the spinner.

Form editor

  • Fix list property editor layout.

  • Draw tool-bar icons of project exported controls larger, so that they are readable.

  • Property help now works off line.

  • Set the Design property of controls the later as possible. That way it is propagated to inner controls that are created after because of a control property.

  • Project exported control icons are thiner.

  • Reverting a form now reverts the class file too.

Image editor

  • Buttons for line cap style, line join style and fill rule.

  • Display the target frame when moving the pasted image.

  • Fix drawing of ghost line tool.

  • Fix magnet detection.

  • Fix the zero-width line drawing.

Packager

  • Correctly handle descriptions having newlines inside.

  • Extra directories are now correctly defined in Debian packages.

Search dialog

  • Search: Fix replace all in current procedure.

Software farm

  • Software farm: Remove sort by vote.

Project property dialog

  • Correctly fix the library "Compatible until" option of the project property dialog.

Miscellaneous

  • Add missing dark theme icons.

  • Fix project icon folder generation.

  • Fix report border chooser dialog.

  • Support for future webforms.

  • Update french translation.

  • When compiling changes the project information metadata, only reload forms.

INTERPRETER

  • Prevent the use of seed 0 for the random-number generator, by replacing it by -1 if Randomize 0 is requested.

  • Ensure better entropy when initializing pseudo-random number generator.

  • Ensure a better hash key seed for hash tables.

  • File.IsHidden() is a new static method that returns if a path is hidden, i.e. if its filename or one of its directory components starts with a dot.

  • Fix a crash when trying twice accessing a collection without the good number of arguments.

  • Fix a possible crash when removing an element from an enumerated collection.

  • Release classes having an array class if that array class has no instance.

  • Some optimization in native array accessors.

COMPILER

  • Support for future webforms.

  • Trim the VERSION file before inserting into the ".startup" file.

BENCHMARKS

  • Do less iterations in benchmarks to get the result faster.

  • Fix sort.pl bench.

GB.COMPRESS.ZLIB

  • Uncompress.String(): Detect gzip format.

GB.DB.ODBC

  • Don't crash when trying to open a database if the host is void.

GB.DB.SQLITE2

  • Listing databases without specifying the host does not crash anymore.

GB.DB.SQLITE3

  • Listing databases without specifying the host does not crash anymore.

GB.FORM

  • Fix "linux" stock icon.

  • Fix stock icon templates.

  • Print each loaded stock icon when Stock.Debug is set.

  • Setting an hidden path to a DirChooser or FileChooser automatically toggles the ShowHidden property if needed.

  • Wizard: Add Update() method that refreshes the Wizard buttons state.

GB.FORM.EDITOR

  • TextEditor: CTRL+ENTER does not crash anymore if there is nothing to fold or unfold.

  • TextEditor: SHIFT+PGUP or SHIFT+PGDOWN keys now work as expected.

GB.FORM.MDI

  • Workspace: Always shows the global close button, even if there is only one tab.

GB.GTK

  • Control.Reparent() now works as expected when the new Parent inherits UserContainer.

  • Correctly initialize resolution when drawing on a DrawingArea.

  • Fix ScrollView ClientWidth and ClientHeight properties.

  • Setting PictureBox.Picture to NULL with PictureBox.Stretch set now works as expected.

  • When searching for event targets, don't look at controls outside of containers client area.

GB.GTK3

  • Control.Reparent() now works as expected when the new Parent inherits UserContainer.

  • Correctly initialize resolution when drawing on a DrawingArea.

  • Fix ScrollView ClientWidth and ClientHeight properties.

  • ScrollView with a border should not display scrollbars anymore when they are void.

  • Setting PictureBox.Picture to NULL with PictureBox.Stretch set now works as expected.

  • When searching for event targets, don't look at controls outside of containers client area.

GB.GUI.BASE

  • _Gui._Quit is a new method called by the GUI components during their "quit" hook. At the moment it releases Drag.Icon picture and voids the Picture cache.

GB.OPENAL

  • Fix return value of Al.GetBufferi(), Al.GetSourcei() and Al.GetListeneri().

GB.QT4

  • Disable warning messages when rendering a SVG file.

  • Draw masked windows the same way as in gb.gtk.

  • Style.Name now returns "Breeze" if the patched breeze style is used.

GB.QT5

  • Disable warning messages when rendering a SVG file.

  • Draw masked windows the same way as in gb.gtk.

  • Style.Name now returns "Breeze" if the patched breeze style is used.

GB.WEB

  • Request.Referer is a new property that returns the request referer.

  • Request.UserAgent is a new property that returns the request user agent.

GB.XML.HTML

  • XmlElement: Fix infinite loop from MatchFilter().

Compilation and installation

Read the instructions there.

If everything was fine, type "gambas3" to run the development environment.

Enjoy it !

See also