Gambas 3.8.1

What's new

This release includes all bugs fixes and little changes made since the release of Gambas 3.8.0.

ChangeLog

DEVELOPMENT ENVIRONMENT

  • Error translations updated.

  • French translation updated.

  • Editor: Do not mark a file as unsaved when refactoring is triggered by saving this same file.

  • Some HiDPI fixes.

  • Recent Projects use the saved sort order now

  • Do not display the SVN revision anymore in the welcome dialog. Only in the system information.

  • SVN revision is now taken from the interpreter executable.

  • System information is now anonymous.

  • Comment, uncomment, indent and unindent now work as expected if the text has been selected from bottom to top.

  • Color chooser does not crash anymore when the project does not use any GUI component.

  • The packager now can create a package for a component project whatever the name of the project. It will internally prefix the project name with the vendor name if needed.

  • Image editor: Fix pen and eraser tool drawing.

  • Image editor: Information is now displayed on top of the image.

  • Image editor: The property panel got a close button.

  • Image editor: The information label is correctly refreshed when zooming in or zooming out.

  • Fix behaviour of shortcut text properties having ampersands inside.

  • Packager: Support for a vendor prefix shortcut, that is used in the package name instead of the vendor full name.

  • Packager: Now package names are normalized for each distribution. All non alphanumeric characters are replaced by an hyphen, but this can be changed independently of the distribution if needed.

  • Debugger: Displaying a dynamic variable in a static context does not crash anymore

  • GB.SubstString() API now can take a void substitution string. It returns NULL instead of doing a segfault. Consequently, RegExp.Replace() from gb.pcre can take a null replace string without crashing.

INTERPRETER

  • Fix DateDiff() day comparison when comparing two dates with different times.

  • Array.Resize() now correctly raises an error if its argument is negative.

  • Correctly detect too large arrays.

  • Array allocation incrementation now cannot be larger than 256 slots.

  • Fix multi-dimensional arrays size check.

  • New routine to compute the localized time/date formats and separators.

COMPILER

  • Syntax errors in constant declarations now give more detailed messages.

GB.DB.FORM

  • The application busy state is now correctly reset when an SQL error occurs.

  • Fix the queries requesting the data after the 256th entry.

GB.DB.MYSQL

  • Use the MySQL documentation trick to make the difference between a blob field and a text field. This should work far better than using the "max_length" value returned by the MySQL API that seems to randomly change between MySQL versions.

GB.DB.ODBC

  • Allow the Connection.Host property to be a full ODBC connection string.

GB.DB.SQLITE3

  • Interpret unknown SQL datatypes as "String" instead of using random garbage.

GB.FORM

  • Stock icon default sizes ("small", "medium"...) are now proportional to Desktop.Scale by steps of 8 pixels. This is for HiDPI support.

  • Wizard BeforeChange event can be cancelled now.

  • MessageView: Custom background color is now taken into account.

GB.FORM.EDITOR

  • TextEditor: Fix tab ("\t") character printing.

  • TextEditor: Only change the contents of a line if the provided new content is different from the current one.

GB.FORM.MDI

  • Toolbar tries to update the size of its icons when the font changes.

GB.GTK

  • Window now raises a Font event when its font changes.

  • Fix a uninitialized variable that can lead to a crash when creating a window.

  • TextArea.Paste() and CTRL+V works correctly now.

  • No GTK+ warning message anymore when a TextArea or TextBox gets the focus using some input methods.

GB.GTK3

  • Window now raises a Font event when its font changes.

  • Fix a uninitialized variable that can lead to a crash when creating a window.

  • TextArea.Paste() and CTRL+V works correctly now.

  • No GTK+ warning message anymore when a TextArea or TextBox gets the focus using some input methods.

GB.GUI.BASE

  • IconView: Fix item drawing when in horizontal orientation.

  • TreeView items height padding is now proportional to Desktop.Scale.

  • Fix behaviour of shortcut text properties having ampersands inside.

GB.NET.SMTP

  • SmtpClient.MessageId is a new property that allows to define the Message-ID header of the mail.

  • SmtpClient.InReplyTo is a new property that allows to define the In-Reply-To header of the mail. It defines the References header as well with the same value.

  • SmtpClient.AddHeader() is a new method to add a custom specific header to the mail.

GB.PCRE

  • RegExp.Replace() does not crash anymore when the replace string is void.

GB.QT4

  • Window now raises a Font event when its font changes.

  • Correctly initialize window properties when showing it in all cases.

  • Breeze widget theme patch to fix its bugs on small TextBox, ComboBox and SpinBox controls.

GB.QT5

  • Window now raises a Font event when its font changes.

  • Breeze widget theme patch to fix its bugs on small TextBox, ComboBox and SpinBox controls.

GB.REPORT2

  • The printer resolution is always 1200 dpi now.

  • Preview: The layout has been changed to be more readable.

  • Preview: Fix the printer combo initial value.

GB.XML

  • Document: Fixed a memory leak when the instanciation failed due to a parsing exception.

  • XmlElement: Internally setting an attribute with a NULL value does not crash anymore.

  • Encountering a never-ended attribute does not crash the parser anymore.

  • Optimized parser cleanup when an exception is thrown.

  • Fix attribute initialization method.

GB.XML.HTML

  • Encountering a never-ended attribute does not crash the parser anymore.

Compilation and installation

Read the instructions there.

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

Enjoy it !

See also