doc • release • 3.17.1

Gambas 3.17.1

What's new?

This release includes important bug fixes made since the 3.17.0 release, and a few new features.

Compilation and installation

Read the instructions there.

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

Enjoy it !



Code editor

  • Pretty printer does not confuse structure keywords with symbols anymore.

  • Opening the procedure list now should make the current procedure name visible reliably.

  • Identifiers can now include the "-" character for autocompletion.


  • Fix dialog initialization of debugger configuration dialog.

  • Removing all breakpoints should not sometimes crash anymore.

  • Display process memory size greater than 2 GiB correctly.

File property dialog

  • Center the "Close" button under the TabPanel.

Form editor

  • Cursor property is not applied anymore.

  • Some cosmetic changes.

  • Allow the DrawWith control constant to define the initial value of properties of the control used for drawing.

  • When a control cannot be loaded because of a missing component, now display the form with a red background, in read-only mode, and with a button that allows to remove all controls whose component is missing.

Help browser

  • Compute the title of a symbol the same way as the wiki.

  • Use a SidePanel for the left panel.

  • Correctly take help font into account in offline mode.

Options dialog

  • Use a switch button instead of a combo.

Project open dialog

  • Display the project directory on the bottom of the project box.

  • Draw project box buttons differently.

Project properties dialog

  • Save the project before opening the dialog.

Project tree

  • Classes are now correctly sorted in all cases when showing inheritance is activated.

  • Renaming does not miss sometimes the correct item anymore.

Test suites

  • Add a button to run the selected test suite, that reacts to the F4 shortcut.

  • Remove the test suite combo selection. The test that will be run is now the one selected in the test suite list.

  • Add a button to open the test suites dialog in the test panel.

Version control

  • Add a button to locate a specific change inside the source code.

  • Add a rotating spinner while the git log history is loading.

  • Don't wrap lines of git history log, to speed up loading of huge history.


  • The IDE italian tips are now complete and correct.

  • Redraw some icons.

  • Update French translation.

  • Update Italian translation.


  • Line number in error message should now be correct when the faulty code spans on multiple lines.


  • Integer datatypes are correctly detected now.


  • DateChooser: Don't draw weeks if the ShowWeek property is false.

  • FileProperties: Center the Close button when it is used as a dialog.

  • ListEditor: The remove button is correctly enabled when the first item is selected.

  • Use the new GUI API to decide if a control must be animated.

  • Some new stock icons.


  • TextEditor: Correctly define the identifier characters of the different modes.

  • TextEditor: Take the mode into account when selecting a word.


  • HtmlView: Fix incompatibility with gb.xml.html component.

  • HtmlView: Font changes now should be taken into account correctly (litehtml has some weird layout bugs sometimes).

  • Update to the latest litehtml master.


  • Toolbar: Try to prevent a crash when configuring a toolbar.


  • Some new icons, and some changes in existing ones.


  • Don't grab the current modal window, it seems unnecessary.

  • Current modal window is not incorrectly reset at each window initialization anymore.


  • Don't grab the current modal window, it seems unnecessary.

  • Current modal window is not incorrectly reset at each window initialization anymore.


  • Add linking against OpenGL libraries.


  • ScrollView: Ignore controls with Ignore property set when resizing the contents.

  • Add a GUI API for checking if a control must be animated.


  • WebView: Try to prevent a possible crash when clearing the view.


  • Language: Support for some languages from India.


  • WebScrollView: Draw the control with a ScrollView whose Border is initially unset.

  • WebTable: Always define row ids, so that EnsureVisible() works when ShowCheck is TRUE.

  • WebTable: Fix internal row ids and checkbox ids, so that selection works as expected.