What's new in Gambas 3 3.11.4
Dec 17, 2018
- The thousand separators management has been fixed.
- The CHMOD instruction has been fixed.
- The sqlite session management has been fixed in the gb.web component.
- gb.mime is now compatible with the 3.0 version of the libgmime library.
New in Gambas 3 3.10.0 (Mar 19, 2018)
- The support of web forms in the IDE has been enhanced.
- The library packaging has been fixed.
- CStr and CDate are now mutually coherent, by internally converting to UTC dates only. Beware, this bug fix is not backward-compatible!
- The interpreter now uses a monotonic clock if possible.
- The new instruction MOVE ... DOWNTO ... renames a file, erasing the destination atomically.
- The MediaPlayer control can chain media files now.
- The FtpClient now supports the ftps protocol.
- gb.term is a new component to manage terminals, with an API very close to the one provided by the operating system.
- gb.web.feed is a new component to manage RSS feeds.
- Ton of fixes in the gb.web.form component.
New in Gambas 3 3.6.2 (Nov 17, 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 Gambas 3 3.5.2 (Jan 22, 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 Gambas 3 3.5.1 (Nov 30, 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 Gambas 3 3.5.0 (Oct 30, 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 Gambas 3 3.0 (Jan 4, 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 Gambas 3 2.23.1 (May 27, 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 Gambas 3 2.23.0 (Apr 5, 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 Gambas 3 2.22.0 (Nov 24, 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 Gambas 3 2.16.0 (Sep 10, 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.
New in Gambas 3 2.13.1 (May 27, 2009)
- Configuration
- NEW: Switch to version 2.13.1.
- Interpreter
- NEW: Some forgotten FreeBSD patch.
- GB.DB.SQLITE2
- BUG: Fix building with gcc 4.4.0.
- GB.GTK
- BUG: Do not use gtk_adjustment_get_step_increment() if the GTK+ version is not at least 2.14.
- GB.NET.CURL
- BUG: A asynchronous transfer that ends does not stop the other ones anymore.
New in Gambas 3 2.13.0 (May 15, 2009)
- Configuration:
- BUG: FreeBSD patches.
- Development Environment:
- BUG: The right column of the property sheet is not too wide anymore.
- NEW: Support for Hindi language.
- Interpreter:
- BUG: The Atnh() function has been fixed.
- BUG: Format$() now checks its second argument correctly when it is an integer.
- BUG: FreeBSD patches.
- Compiler:
- BUG: Move some debugging breakpoint instructions so that the debugger breaks at the right line when there is an error during an IF or a CASE instruction.
- NEW: Support for FreeBSD getopt_long().
- Archiver:
- NEW: Support for FreeBSD getopt_long().
- Informer:
- NEW: Support for FreeBSD getopt_long().
- Scripter:
- BUG: The markups are now taken into account everywhere inside a server page.
- GB.COMPRESS.ZLIB:
- BUG: Do not include the Linux specific header anymore.
- GB.DB.ODBC:
- BUG: Removed some compilation warnings.
- GB.DB.SQLITE3:
- BUG: Fix building with gcc 4.4.0
- BUG: Removed a compilation warning.
- GB.DRAW:
- BUG: Some properties of the Draw class didn't correctly check that a drawing device was opened.
- GB.EVAL:
- BUG: Removed some compilation warnings.
- GB.FORM:
- BUG: TableView now handle the Return/Enter key by raising the Click event instead of automatically editing the cell, so that non-editable cells are not edited by mistake.
- BUG: The same fix was applied to the way TableView handles arrow keys.
- BUG: The TableView editor now has the same font as the master TableView.
- GB.GTK:
- BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.
- BUG: Correctly initialize the foreground and background colors at Draw.Begin().
- BUG: ComboBox now raises focus events.
- BUG: DrawingArea.Clear() does not erase the border anymore if the DrawingArea is cached.
- BUG: Hiding a row or a column does not prevent the mouse wheel to work anymore in the GridView control.
- BUG: Forgot to remove a debugging message.
- BUG: Newly opened windows are now correctly shown at the specified position.
- BUG: Removed a compilation warning.
- GB.QT:
- BUG: Borderless modal windows do not show any border anymore with Metacity.
- BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.
- BUG: Compound controls like ComboBox should not raise spurious focus events anymore.
- BUG: Fix a possible crash in GridView repaint.
New in Gambas 3 2.12.0 (Mar 21, 2009)
- Configuration:
- NEW: Switch to 2.12 version.
- Development Environment:
- BUG: Gambas version should be always displayed correctly in the about and welcome dialogs now.
- NEW: Japanese translation updated.
- NEW: Support for Malayalam language.
- NEW: The toolbox now remembers if it is opened or closed.
- Interpreter:
- BUG: Fix two possible bugs in 64 bits support.
- BUG: MOD works again with Long values.
- BUG: Array.Clear() now does not crash anymore on multi-dimensional arrays. It just voids the array contents. Array.Clear() behaviour on single dimensional arrays did not change: it removes all elements from the array.
- GB.DB.SQLITE2:
- BUG: Fix a compilation warning.
- GB.GTK:
- BUG: Fix the container arrangement and the ClientX / ClientY properties.
- BUG: GridView Row and Column properties can be set independently.
- BUG: The TabStrip.Font property works as expected.
- BUG: Image.Draw() now works correctly if X or Y are negative.
- BUG: TextLabel.Adjust() now works as expected.
- BUG: Dialog.SaveFile() now correctly initializes the file name in the file chooser dialog.
- BUG: Disabled controls correctly honor the Background property.
- BUG: The Foreground and Background properties of TabStrip, CheckBox, RadioButton and other Button controls work as expected.
- BUG: Setting the Font property does not create a memory leak anymore.
- BUG: The menu bar of a reparented window does not disappear anymore.
- BUG: Fix the ComboBox.Add() method slowness.
- BUG: Fix the corruption of the Text property in editable combo-boxes.
- BUG: Fix again the Font property for non-control classes.
- GB.NET:
- BUG: UdpSocket.TargetPort returns the accurate value now.
- BUG: Too many connections on a ServerSocket does not take 100% CPU anymore.
- GB.PDF:
- BUG: PdfDocument.HasIndex does not return TRUE anymore when there is an index whose length is null.
- BUG: Fix PdfIndex.HasChildren that sometimes returned TRUE when there was no children.
- BUG: Fix PdfIndex.MoveChild() accordingly.
- GB.QT:
- BUG: Borderless windows do not have a border anymore with Metacity.
- BUG: The Window.Mask property works correctly now.
- BUG: Draw.Image() and Draw.Picture() now work correctly on transparent pictures.
- BUG: The minimum size of modal dialog is correctly set again.
- GB.XML.RPC:
- BUG: RpcStruct.Value() should work as expected now.
- BUG: Event management was fixed, thanks to Ron.
- BUG: RcpArray.Copy() now returns an RpcArray object.
New in Gambas 3 2.11.0 (Jan 29, 2009)
- Development Environment:
- BUG: A warning is displayed now when a component project has no exported class.
- BUG: Instead of displaying an error, an unreadable *.component file now just displays a warning.
- BUG: Print warnings on the standard error output now.
- BUG: The find balloon message is always displayed in the accurate field now.
- BUG: The packager now handle spaces in project directory path correctly when creating an autotool package.
- BUG: A badly named environmental variable does not freeze the IDE anymore.
- NEW: In the project property dialog, split the component list between standard components and user components.
- Interpreter:
- BUG: The _compare special method now is not called anymore if one of the compared object references is null.
- GB.DEBUG:
- NEW: Do not block anymore when opening the debug fifo for writing. Try a few times during 0.1 second.
- GB.DRAW:
- BUG: Correctly initialize color properties of the Draw class at Draw.Begin().
- GB.FORM:
- BUG: Workaround the ballon corner drawing bugs.
- GB.GTK:
- BUG: Image.Save() and Picture.Save() now understand the "~" shortcut in path names.
- BUG: Fix the initialization of editable combo-box when its List property is set.
- BUG: Remove a static variable not used anymore.
- GB.NET:
- BUG: Serial port devices are now watched for reading, not for writing. So the callback will not be called permanently.
- GB.QT:
- BUG: Do not loop indefinitely when arranging the contents of a ScrollView.
- BUG: The last GridView column should be correctly stretched when its width is explicitely set now.
New in Gambas 3 2.9.0 (Oct 31, 2008)
- The code editor can now use any font.
- The IDE creates packages inside their own directories.
- A "paste special" feature has been implemented.
- Gambas Server Pages allows you to create Web pages dynamically.
- Networking components were fixed.
New in Gambas 3 2.8.2 (Aug 30, 2008)
- NEW: Small changes in the project property dialog layout.
- BUG: When opening a project, the packager information is correctly reset.
- NEW: Simplified chinese translation updated.
- NEW: Simplified chinese translation updated.
- BUG: Fix the bits manipulation function, thanks to Liang Wei.
- NEW: The interpreter is now linked with the pthread library on Linux systems.