Gambas 3.19.1

Gambas is an IDE and BASIC interpreter with object-oriented extensions. It's designed to ease building graphical applications programs using Gtk+ or Qt, and runs on most Unix and Linux systems. With its runtime standalone applications can be packaged, even command-line programs. The Gambas3 JIT-compiling interpreter often executes faster than Perl or Python apps. It also supports SDL, OpenGL and OpenAL, MySQL or PostgreSQL databases, CGI webserver interfacing,

Tags c++ c basic interpreter ide developers x11 gtk kde curses sdl
License GNU GPL
State stable

Recent Releases

3.19.118 Mar 2024 00:05 minor feature: This release includes some made since the 3.19.0 release... Compilation and installation Read the instructions there. If everything was fine, type "gambas3" to run the development environment. Enjoy it !.. Changelog. CONFIGURATION. Compile gb.web
3.18.418 Sep 2023 09:45 minor feature: This release includes some important made since the 3.18.3 release... Compilation and installation Read the instructions there. If everything was fine, type "gambas3" to run the development environment. Enjoy it !.. Changelog. CONFIGURATION. compilation on Alpine... Support for e2k architecture. INTERPRETER. a compiler warning... Prevent some optimizations that cannot work in a just-in-time context... Don't crash if the argument of SizeOf()
3.18.328 Jul 2023 01:39 minor feature: This release includes some important made since the 3.18.2 release... Compilation and installation Read the instructions there. If everything was fine, type "gambas3" to run the development environment. Enjoy it !.. Changelog. CONFIGURATION. Update README files. DEVELOPMENT ENVIRONMENT. Form editor. If multiple controls are selected, do not crash when editing common properties if some of the controls are virtual... Allows control properties to be applied when its _DrawWith
2.23.001 Apr 2023 03:25 minor feature: This release is a -release. The main changes are : A new Romanian translation was added... The Czech and Swedish translations were updated... A memory leak that lead to a crash in enumeration management was... Many in TextBox, TextArea, SpinBox, Menu, gridview, ListBox, and ComboBox controls in he GTK+ component were... The Control.MoveScaled method has been... Table existence is correctly checked in the ODBC component... SQLite integer primary keys are better detected. ChangeLog... DEVELOPMENT ENVIRONMENT . NEW: Add support for Finnish language. NEW: Support for the Romanian language. NEW: Romanian translation made by Florin Iacob. NEW: Czech translation updated by Radek Fryšták and Josef Kubíček. NEW: Add desktop and icon files. NEW: Swedish translation updated. INTERPRETER . File.SetExt() now works correctly with files whose name begins with a dot. a memory leak that can lead to a crash in enumeration management. The Stat.Perm property correctly returns execution permissions now. COMPILER . Correctly read long constants whose value is the lower possible Long value. Define the LLONG_MAX constant if it is not defined. GB.DB.FORM . NEW: New Czech translation made by Radek Fryšták and Josef Kubíček. GB.DB.ODBC . Table existence should be checked correctly now. GB.DB.SQLITE3 . Detect integer primary key whatever the case used to write. quot;integer quot;. GB.FORM . NEW: New Czech translation made by Radek Fryšták and Josef Kubíček. GB.FORM.DIALOG . NEW: New Czech translation made by Radek Fryšták and Josef Kubíček. GB.FORM.MDI . NEW: New Czech translation made by Radek Fryšták and Josef Kubíček. GB.GTK . Cursor is correctly updated with the value of Application.Busy now. Stop Event now works during the event of a modal form. a memory leak that leads to a crash in the TextArea.Paste() method. Label automatic resize. Settings the text of a transparent Label or TextLabel having no text works correctly now. SpinBox Value property should al
3.18.005 Jan 2023 10:05 minor feature: Compilation and installation. Read the instructions there.. If everything was fine, type "gambas3" to run the development environment.. Enjoy it ! Changelog. CONFIGURATION... New bytecode version 3.18... detection of C++11 and C++17 compilation flags... Update configuration files to autoconf 2.71... Update README.
3.17.001 Mar 2022 03:15 minor feature: This is a huge release again, with more than 1,200 changes, optimizations and.. The main features of this release are:. A new lightweight HTML viewer component, gb.form.htmlview
3.16.001 Apr 2021 03:15 minor feature: Compilation and installation. Read the instructions there.. If everything was fine, type "gambas3" to run the development environment.. Enjoy it ! Changelog. CONFIGURATION... Uninstall mimetypes for Gambas script and server pages. Install an icon for the Gambas IDE. Update Gambas IDE icons. installation of IDE icons and menu. make install.
3.15.005 Jul 2020 04:45 minor feature: This release provides the following main features and :. A new unit test system made by Christof Thalhofer and Tobias Boege. A new diff mode in the IDE code editor. The ability to save and restore custom IDE layouts. Enhanced support for dark themes. Many in the packager. A new trace mode in the interpreter. A new OPEN NULL.
3.14.022 Sep 2019 11:45 minor feature: This release brings the main following features:. The IDE can now print a source code file. A lot of in the packager wizard. A 16 point size version of the Gambas font. Support for immutable (read-only) arrays. PROPERTY...USE... is a new shortcut syntax for defining properties. Uncaught errors raised from an event handler can be ignored now. The compiler emits column position on errors and warnings if possible. Many for dark themes. Message boxes are not native anymore. Web applications based on gb.web.
3.13.024 Mar 2019 07:05 minor feature: This release a lot of discovered since 3.12.2, and add the following features:. Support for automatic translation in the IDE. File.RealPath() to canonicalize a path, removing all its symbolic links. Array.SortUsing() to sort an array using an order defined by another array. Array.Shuffle() to randomly shuffle the contents of an array. TimeBox, a new control to enter durations. Enhancements to the SpinBox control. Compilation and installation. Read the instructions there.. If everything was fine, type "gambas3" to run the development environment.. Enjoy it !. Changelog. CONFIGURATION... Do not reset CFLAGS or CXXFLAGS so one can overwrite them. Now that *.mo.
3.12.028 Dec 2018 06:25 minor feature: This main feature of this release is the new Just-In-Time compiler, that replaces the old one based on a deprecated version of LLVM. This new JIT compiler translates the Gambas bytecode into C code at runtime, and uses the gcc
3.11.021 Mar 2018 11:45 minor feature: Compilation and installation. Read the instructions there.. If everything was fine, type "gambas3" to run the development environment.. Enjoy it ! Changelog. CONFIGURATION... Add (short) commit hash and branch name to gb a,c,i,x 3 --version when compiled from git. Put all version compilation constants in version.m4.
3.10.020 Jul 2017 11:05 minor feature: 150 new, 225, 3 opt Changelog. CONFIGURATION... Update copyright year in all source files. Remove all depcomp.
3.9.021 Aug 2016 14:45 minor feature: Here are the main changes in this new version: Changelog. CONFIGURATION... Add explicit dependencies on x11.
3.8.205 Oct 2015 03:16 minor feature: This release includes all since the release of Gambas 3.8.1.. It includes a few enhancements too:. Support for dark themes. New logo, project, mime types and control icons based on the breeze theme look. Project creation is now based on customizable project templates. Logical set operations on selections in the image editor. Relative paths now can refer to files located in the main project, in. The current component, or in components crossed by stacked function calls. The ODBC component is usable now. ChangeLog. CONFIGURATION... gambas server page mimetype file. New breeze-like icons for mimetypes. New Gambas icons. Redraw many control icons. Register mimetype icon with correct sizes. Uninstall now correctly removes templates and XML appdata file. DEVELOPMENT ENVIRONMENT... "F2" now correctly finds the definition of classes used as method or. Array. Faster about dialog based on a triple image cache. Add a large toolbox icon size, for HighDPI screens. Add an option to invert an editor theme so that it is usable with a. GUI dark theme. Add dark theme versions of some icons. Code formatting now does its job entirely. Code formatting now keeps the cursor position. Code formatting when saving does not prevent modification flag to. Work anymore. Code formatting is faster now by working on a temporary line buffer. Dark version of many icons. Don't crash if the template global directory has not been correctly. Installed. Don't define an initial position to the tips window. Editor color themes better adapt to desktop dark themes. a crash in the new class metadata management. author list width in about dialog. documentation metadata reset. dutch translation. RichText in a message. some default themes so that they are more usable inverted. windows using icons that do not exist anymore. Hitting ESC while current method signature is displayed only hides. The signature now. Image editor: Clip pasted image. Image editor: mouse wheel behaviour when zooming. Image editor: rectangle
3.8.103 Sep 2015 08:25 minor feature: This release includes all 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. 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 prethe project Name with the vendor name if needed. Image editor: pen and eraser tool drawing. Image editor: Information is now displayed on top of the image. Image editor: The property panel got a button. Image editor: The information label is correctly refreshed when. Zooming in or zooming out. behaviour of shortcut text properties having ampersands inside. Packager: Support for a vendor preshortcut, 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. Deger: 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... 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 allocat
3.8.001 Aug 2015 03:15 minor feature: Here are the main changes in this new version:. The text editor has been entirely rewritten in Gambas. It is located in a new component named gb.form.editor. That way, GTK+ programs now have a text editor with syntax highlighting for free. Support for QT5. The new gb.qt5, gb.qt5.opengl and gb.qt5.webkit. components have the same interface as the QT4 components. Automatic support for KDE amp; Unity tray icon DBus protocols. Just use the TrayIcon class. as before, and the new protocol will be automatically used if a DBus system tray icon is detected. Otherwise, the old X11 protocol is used. Important fixed in UTF-8 string handling. Searching inside native arrays is faster. The SQLite3 driver has been rewritten and is faster now. And of course tons of bug fixes. Changelog. CONFIGURATION... Do not use the AC_LIBLTDL_CONVENIENCE macro. It is deprecated and. now useless. DEVELOPMENT ENVIRONMENT. Source editor... New editor based on gb.form.editor. A new button to toggle wrap word mode in code editor and text. editor. Code prettyfier should not move the cursor anymore. Fix completion with language keywords. Use IDE breakpoint icon for displaying breakpoints in editor. Text editor... New editor based on gb.form.editor. A new button to toggle wrap word mode in code editor and text. editor. Do automatic completion while typing strings. Compression correctly marks the file as modified. Fix text pasting. Database editor... Add a "Remember database structure" checkbox in the connection. properties dialog. The IDE will dump the database structure into a template file only if this checkbox is checked. It won't do that all the time anymore. The import CSV dialog is now a wizard. Removing a connection now removes the template file too. The connection properties dialog now correctly uses the. provided password to list the available databases. Form editor... Fix the edition of DataComboView.Columns property and any other. field" property that takes its table in another property of th
3.7.130 Mar 2015 03:15 minor feature: This release includes all bugs fixed since the release of Gambas 3.7.0, and the ability to open projects installed from the Gambas "farm" directly from the IDE welcome window. ChangeLog. . . DEVELOPMENT ENVIRONMENT . BUG: Create the example directory if it does not exist when installing a non-example software having the #x27;example #x27; tag. BUG: Removing a connection now removes the template file too. BUG: Remove a debugging message. NEW: Add an #x27;Installed softwares #x27; button in the welcome dialog. NEW: Always center the farm client window. INTERPRETER . BUG: Stream read ahead does not have to wait for the descriptor to be ready for reading. BUG: Do not read ahead file descriptors ready to read opened using the. quot;.xx quot; special name. BUG: Shell () now quotes quotes correctly. GB.DB.MYSQL . BUG: Don #x27;t crash when removing something from the metadata cache. GB.DB.SQLITE3 . BUG: Detect primary key only with #x27;table_info #x27; pragma. Consequently, fields declared as quot;INTEGER quot; will not be incorreclty taken as a default primary key anymore. GB.GTK . BUG: Fix a crash when calling Dialog.SaveFile() with a void Dialog.Path. BUG: TextBox: Setting the Pos property during a KeyPress event now works in all cases. GB.GTK3 . BUG: Fix a crash when calling Dialog.SaveFile() with a void Dialog.Path. BUG: TextBox: Setting the Pos property during a KeyPress event now works in all cases. GB.REPORT2 . BUG: Remove a bug on drawing grayscale preview in ReportView. BUG: Restore the report scaling after drawing in the DocumentView. BUG: Replace deprecated Image.Gray() by Image.Desaturate(). BUG: Refresh the print button icon correctly.
3.7.014 Mar 2015 00:00 major feature: A new software repository made with Gambas for Gambas. It allows to publish and install Gambas softwares. All Gambas examples will be stored there now. Projects can be published to a "farm server", and installed from there. The database editor now automatically store the description of the database into a template file that can be used at runtime to initialize a new database. The text editor now can handle Unix, Windows and Mac end-of-lines characters. Array accessors are now faster. Two new functions for encoding URLs: Url and FromUrl . The child process interface has been fixed and optimized. The USE instruction of Gambas scripts is now part of the language.
3.6.013 Oct 2014 06:45 major feature: This new release fixes 459 bugs, adds 465 new features and 22 optimizations. Support for GNU/kFreeBSD systems. Support for CygWin. The IDE now can open a single file without any project. Use the Gambas 3 IDE for editing your sqlite database files for example! Array and Collection constructor operator ... now can take any number of arguments. IsMissing allows to check for a missing optional argument. The ... token can be used for passing all the optional arguments of the current function to another function. Rand is a new function that returns an integer random number. Overriding a class that is the parent of other classes is possible again. System.Log is a new method that sends a message to the system log.