Gambas 3 Changelog

New in version 3.6.2

November 17th, 2014
  • DEVELOPMENT ENVIRONMENT:
  • NEW: Improve Cygwin System Information awareness.
  • BUG: Control properties containing a database table name can be modified again.
  • GB.DATA:
  • BUG: Don't use forward typedefs as some compilers don't seem to understand them.
  • BUG: Silence false positive compiler warnings.
  • GB.DB.MYSQL:
  • BUG: Try to reconnect to a lost database server when listing existing databases and the fields of a table.
  • GB.FORM:
  • NEW: The SliderBox is now in the same change group as Slider.
  • GB.GTK:
  • BUG: Fix an uninitialized variable.
  • BUG: Fix warning with Slider or SpinBox when setting a minimum value equal to the maximum value, or the contrary.
  • GB.GTK3:
  • BUG: Fix an uninitialized variable.
  • BUG: Fix warning with Slider or SpinBox when setting a minimum value equal to the maximum value, or the contrary.
  • BUG: Paint.Reset() now works as expected on non-cached DrawingArea.
  • GB.GUI.AREA:
  • BUG: TreeView renaming works now if the renamed item is not visible.
  • GB.MEDIA.FORM:
  • BUG: MediaView: The Control property has been renamed as ShowControl.
  • GB.QT4:
  • BUG: The Menu.Checked property now returns the correct value for non-radio menu items.
  • BUG: TextBox: Workaround a Qt4 weird behaviour that sometimes lose the selection. Same workaround for editable ComboBox.
  • BUG: Fix a compilation warning.

New in version 3.5.2 (January 22nd, 2014)

  • DEVELOPMENT ENVIRONMENT:
  • BUG: Report editor: Now the report borders are shown correctly in the editor.
  • BUG: The property help WebView now uses the same default font size (80%) than the help window.
  • BUG: Fix HTML compression so that everything is not put on the same line.
  • BUG: Subversion: Support for Subversion >= 1.8.
  • BUG: Subversion: Automatically remove the ".lang/.pot" file from version control, as it is a generated file, and as its conflicts cannot be resolved.
  • BUG: Subversion: Fix the Subversion conflict management.
  • BUG: Subversion: Raise the svn commands timeout to 30 seconds: some commits can take a long time.
  • BUG: File property dialog: The 'Revert' button is correctly hidden now.
  • BUG: Menu editor: The last menu can be move up now.
  • BUG: Menu editor: Fix the highlight of the current menu.
  • BUG: Menu editor: Fix the menu search box.
  • BUG: Project tree: The popup menu should be accurate with extern files now.
  • BUG: Project tree: Fix popup menu when clicking on the "Data" project tree folder.
  • BUG: Form editor: Correctly hide and show toolbar entries according to the current state (debugging, read-only...).
  • BUG: Form editor: Formatting toolbar buttons act on the entire form if nothing is selected now.
  • BUG: Don't set the focus to the console if it is hidden.
  • BUG: Packager: Fix *.deb package description.
  • BUG: Image editor: Don't left the editor in an inconsistent state after a paste has been done.
  • INTERPRETER:
  • BUG: String.InStr() does not crash anymore if the string pattern is void. It returns 0 instead (like InStr).
  • BUG: Don't crash if an unknown option is passed with the '-g' option.
  • BUG: Fix the LIKE operator whth "{...}" patterns.
  • BUG: Fix a crash when using CStr() on an object having a conversion function.
  • BUG: Be virtual even the first time when calling the [] operator.
  • COMPILER:
  • BUG: Fix compilation of NOT LIKE, NOT BEGINS and NOT ENDS operators when they are not alone in an expression.
  • GB.DB:
  • BUG: Don't crash anymore when releasing database objects.
  • BUG: The automatic Blob to String conversion does not lead to a crash anymore.
  • GB.DB.FORM:
  • BUG: DataCheckBox correctly defines its internal TriState property depending on whether its database field is mandatory or not.
  • BUG: Editable DataBrowser and DataView do not create a spurious extra line anymore.
  • GB.DB.SQLITE3:
  • BUG: Fix specific implementation of sqlite3_exec. Prevent some crashes and make database creation work again (among other things).
  • BUG: Correctly handle requests returning only one table name inside field names.
  • GB.DRAW:
  • BUG: Correctly initialize the Paint class when calling Paint.Begin() on an already opened drawing device.
  • GB.FORM:
  • BUG: FileProperties: Do not crash anymore if the directory size calculation task returns rubbish.
  • BUG: FileProperties: The icon of the FileProperties control now correctly adapts its size.
  • BUG: FileChooser: The Paths property now returns the selected path in single mode and not a void array anymore.
  • GB.FORM.DIALOG:
  • BUG: Dialog.Open() in multiple mode works now. [GB.FORM.MDI]
  • BUG: Raise an error if the Toolbar.Configure() method is called whereas the toolbar Key property is not defined.
  • BUG: Toolbar configuration dialog: the toolbar elements with a short text are correctly displayed now.
  • GB.GSL:
  • BUG: Polynomial: Create a new void polymonial does not lead to a crash anymore.
  • GB.GTK:
  • BUG: The RTL layout is correctly initialized at startup.
  • BUG: Embedder.Embed() does not take two arguments.
  • BUG: Imbrication of popup menu click events works correctly now and does not crash anymore.
  • BUG: The Window.Picture property now should work correctly.
  • BUG: Correctly update background and foreground of multi-container controls.
  • BUG: Font.Grade maximum value is now +24, as expected by the font selector.
  • BUG: Fix memory leak when loading images without alpha channel.
  • BUG: GlArea control now can take the focus.
  • GB.GUI.BASE:
  • BUG: Clicking on GridView/ColumnView headers now should work correctly again.
  • GB.NET.POP3:
  • BUG: Error messages must not be translatable.
  • GB.OPENGL:
  • BUG: GL.GetString() now raises an error if the glGetString() function fails.
  • GB.OPENGL.SGE:
  • BUG: Don't crash if a model has only one frame.
  • GB.PCRE:
  • BUG: RegExp.Replace(): Explicitly use 0 if optional arguments are missing
  • BUG: Don't call GB.ReturnNewString() if a match returns a null string.
  • BUG: Use GB.ReturnVoidString() instead of GB.ReturnNull().
  • GB.QT4:
  • BUG: Imbrication of popup menu click events works correctly now and does not crash anymore.
  • BUG: Correctly update background and foreground of multi-container controls.
  • BUG: Font.Grade maximum value is now +24, as expected by the font selector.
  • BUG: Foreground and background colors now work as expected on ComboBox and SpinBox controls.
  • GB.SDL:
  • BUG: Restore fill pattern to solid after a Draw.Rect() or a Draw.Ellipse(), otherwise Draw.Image() draws nothing!
  • GB.XML:
  • BUG: XMLElement.AppendFromText() now behaves correctly if no extra arguments are given.
  • BUG: XMLElement.FromText() now correctly catches parsing exceptions.
  • BUG: The Boolean parameter 'Indent' of XMLDocument.ToString() is now correctly interpreted.
  • BUG: Serializing a comment that is a direct child of a document with indentation enabled does not crash anymore.
  • BUG: The Document.All property is now correctly declared as an XMLNode[]
  • GB.XML.HTML:
  • BUG: Serializing a comment that is a direct child of a document with indentation enabled does not crash anymore.
  • GB.XML.RPC:
  • BUG: miniServer would give an out-of-bound with multiple parallel requests.
  • BUG: miniServer could crash on an invalid request.
  • GB.WEB:
  • BUG: CGI.Error() now correctly sends an UTF-8 HTML page.

New in version 3.5.1 (November 30th, 2013)

  • DEVELOPMENT ENVIRONMENT:
  • BUG: Fix project browser cursor management when the focus is on the filter field.
  • BUG: Fix form editor control highlighting when the hovered control is a ScrollView.
  • BUG: Packager now use the current Gambas major & minor version as minimum version for component dependencies.
  • BUG: Follow Ubuntu package naming convention.
  • BUG: Some fixes in GUI metapackage creation for Debian/Ubuntu.
  • BUG: Automatic completion of identifiers now correctly shows the known classes.
  • BUG: Correctly display optional values in signatures.
  • NEW: The system information dialog now displays the Gambas version.
  • NEW: The 'gb.desktop.gnome' component is now visible and explicitely checkable.
  • NEW: If a project uses gb.gui, then the packager will create two extra packages: one for Qt4 support, the other for GTK+ support.
  • NEW: Support for package version number.
  • NEW: Update Gambas font.
  • NEW: Display help for third-party components.
  • NEW: Add Afrikaans to the language list.
  • INTERPRETER:
  • BUG: Don't detach a process that returns an error otherwise the Kill event is lost.
  • BUG: Correctly check that there is a current enumeration if the Enum class methods and properties.
  • BUG: The : operator is now correctly overridden in classes inheriting an array class or Collection.
  • BUG: VarPtr() correctly works on method arguments.
  • BUG: Fix the CLOSE instruction when dealing with a string stream.
  • BUG: Prevent crashes at exit by releasing array classes first.
  • NEW: Support for the GB_PATH environment variable, that gives the Gambas interpreter path if set.
  • NEW: Enum.Stopped is a new property that returns if the current enumeration has been stopped.
  • NEW: OPEN STRING is a new instruction that allows to use a string as a stream. Writing to it appends the written data to the end of the string at the moment.
  • NEW: Closing a string stream returns the data written to the stream as a new string.
  • NEW: Make WRITE behave the same way as READ on a memory stream. I.e. it writes a null-terminated "C" string, as READ was reading a null-terminated "C" string.
  • COMPILER:
  • NEW: New OPEN STRING instruction.
  • NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE instructions alone.
  • GB.DESKTOP.GNOME:
  • NEW: Make this component visible to the IDE.
  • GB.EVAL:
  • NEW: Highlight the new OPEN STRING instruction correctly.
  • GB.FORM:
  • BUG: DirChooser.ShowPreview used FDirChooser.GetPreview which does not exist. The correct symbol is FDirChooser.GetShowPreview.
  • NEW: FileChooser now has support for uncompressing 'zip' files, provided that the 'zip' utility is installed on the system.
  • GB.GUI:
  • NEW: If one GUI component fails to load, try the other one.
  • NEW: Abort if no GUI component is found.
  • NEW: Define the GB_GUI environment variable with the GUI component actually loaded.
  • GB.GUI.OPENGL:
  • NEW: Always load the OpenGL support component associated with what lies in the GB_GUI environment variable.
  • GB.SDL:
  • NEW: Rename the default SDL font file as "_default.ttf" to prevent packaging conflicts.
  • NEW: Use the Gambas monospace font as SDL default font now.
  • GB.WEB:
  • BUG: JSON.Encode() correctly encodes ASCII control characters.
  • NEW: JSON.Decode() now takes an extra optional argument indicating that keys having a null value are taken into account inside objects.
  • NEW: JSONCollection is a new class that represents a JSON object whose some keys are associated with a 'null' value.

New in version 3.5.0 (October 30th, 2013)

  • The IDE has a new advanced image editor.
  • The IDE can debug web applications, thanks to the embedded HTTP server component gb.httpd.
  • ARM support has been fixed.
  • A new MATCH instruction that matches regular expressions by implicitly using the gb.pcre component.
  • Global error handler support.
  • gb.clipper is a new component based on the Clipper library.
  • gb.openssl is a new component to wrap cryptographic functions of libcrypto from the OpenSSL project.
  • gb.gmp is a new component based on the Gnu Multiple Precision Arithmetic Library that implements big integers and big rational numbers.
  • gb.openal is a new component based on the OpenAL 3D audio library.
  • gb.opengl.sge is new component that implements a simple OpenGL game engine based on the MD2 format.

New in version 3.0 (January 4th, 2012)

  • The special mathematical functions of glibc are correctly detected and used now.
  • Floating point numbers should be printed in a better way.
  • French, Czech and Catalan translations were updated.
  • And two security holes were closed:
  • String hashing algorithm has been randomized. See that document for the details.
  • In the IDE, you cannot get the project version by running a program (what a stupid idea!). Now you get it from a text file located in a parent directory of the project.

New in version 2.23.1 (May 27th, 2011)

  • [DEVELOPMENT ENVIRONMENT]:
  • NEW: Support for Lithuanian language.
  • NEW: Swedish translation updated.
  • [INTERPRETER]:
  • BUG: The GB.ToZeroString() API now correctly handles zero length strings.
  • [ARCHIVER]:
  • BUG: Ignore "core", "vgcore.*" and "callgrind.*" files when making an executable.
  • [GB.V4L]:
  • BUG: Make gb.v4l compile with recent kernels.

New in version 2.23.0 (April 5th, 2011)

  • A new Romanian translation was added and the Czech and Swedish translations were updated.
  • A memory leak that lead to a crash in enumeration management was fixed.
  • Many bugs in TextBox, TextArea, SpinBox, Menu, GridView, ListBox, and ComboBox controls in the GTK+ component were fixed.
  • The Control.MoveScaled method has been fixed.
  • Table existence is correctly checked in the ODBC component.
  • SQLite integer primary keys are better detected.

New in version 2.22.0 (November 24th, 2010)

  • Configuration:
  • BUG: Detect x86_64 architecture better.
  • BUG: Compile correctly on Ubuntu 10.10.
  • NEW: Add AC_PROG_LIBTOOL in root configure.ac file.
  • NEW: Check for missing mathematical function directly instead of relying on operating system detection.
  • NEW: Remove useless install-sh links.
  • Development Environment:
  • BUG: A "=" character was missing in the menu file generated by the Debian/Ubuntu packager.
  • NEW: Don't save the Url in the project file if it is equal to the default URL http://www.endoftheinternet.com
  • NEW: Greek translation updated by Demosthenes Koptsis.
  • Database Manager:
  • NEW: Greek translation updated by Demosthenes Koptsis.
  • Interpreter
  • BUG: Extern functions now can handle up to 16 pointer or string arguments.
  • BUG: Do not use stack contents as return value.
  • BUG: The return value of extern functions returning a 'char *' is now correctly converted to a constant String.
  • BUG: The == operator works correctly now.
  • BUG: Fix two incorrect optional function declarations.
  • Compiler:
  • BUG: Remove some useless tests.
  • Archiver:
  • BUG: Files having the ".gambas" extension are now excluded from executable archives. That prevents a possible endless growing generated file.
  • Development Enviroment:
  • NEW: Spanish translation updated.
  • GB.DB.POSTGRESQL:
  • BUG: Correctly ignore fields deleted with the "DROP COLUMN" command.
  • GB.FORM:
  • BUG: Make arrow keys navigation work better with read-only cells in TableView control.
  • NEW: DateChooser uses Sunday as first day of the week when the current language is 'C' or 'en_US'.
  • GB.GTK:
  • BUG: Fix duplicate Click event in CheckBox control.
  • BUG: Correctly handle tristate Checkbox controls.
  • BUG: Fix the behaviour of ComboBox when setting the List and the ReadOnly property, and the order used for saving ComboBox properties in the *.form file.
  • BUG: Popup menus now work correctly on tray icons in all cases.
  • BUG: Make TabStrip behave like in gb.qt when inserting a new tab.
  • BUG: TabStrip now uses its own window, so that it is not partially visible when covering other widgets.
  • BUG: ColumnView, TreeView and ListView are correctly refreshed when an item icon is changed.
  • BUG: Read-only ComboBox controls do not lost focus events anymore.
  • BUG: Correctly free menu tags.
  • BUG: Fix possible crashes in three utility routines.
  • BUG: Fix a crash in GridView.Rows[].Text property.
  • BUG: Fix a infinite recursion in drag and drop management when draging TextBox or TextArea contents inside the same application.
  • BUG: Reparenting a top-level window does not show hidden children controls anymore.
  • BUG: Rich-text string management has been fixed. The ampersand character, the "&", ">" and "

New in version 2.16.0 (September 10th, 2009)

  • This release compiles with libtool 2.x on recent Ubuntu versions.
  • Ctrl+PageUp and Ctrl+PageDown now switch between tabs in the IDE.
  • Shortcuts are correctly saved in all cases in the IDE menu editor.
  • The READ instruction has been fixed on 64-bit systems.
  • gb.pdf now compiles with recent Poppler versions.