Gambas 3.20.2

What's new?

This release includes some bug fixes made since the 3.20.1 release.

Compilation and installation

Read the instructions there.

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

Enjoy it !

Changelog

CONFIGURATION

  • Update AUTHORS file.

  • Update gbx3 manpage.

DEVELOPMENT ENVIRONMENT

Code editor

  • Fix local variable type detection.

Debugger

  • Add a toggle for disabling JIT compiler cache.

  • Fix background color of error label on dark theme.

  • Fix breakpoint synchronization between the editors and the debugger.

  • Allow to toggle the "Use HTTP server" debugging option when the gb.web.gui component is used.

Form editor

  • Redraw arrangement icons.

  • Display the control help when selecting a control.

Help browser

  • Some CSS fixes for offline mode.

Image editor

  • Optimize the loading of shapes.

  • Opened selections now use their first and last points as magnets.

  • Choosing a color now automatically selects the color tab in the property sheet.

  • The "line" tool automatically starts at the last point of the current selection if available.

  • If SHIFT is pressed, then all points of the selection are magnets.

  • The unselect selection button now unselects only the current selected shape.

  • Fix magnet representation on dark and light modes.

Packager

  • Add support for OBS syntax in AppImage ubuntu repository.

  • Update AppImage defaut configuration.

  • Add QT6 support packaging. Fix other support packaging.

  • Fix message label layout during packaging.

Search panel

  • Opening the search panel now always starts with a void search field.

  • Fill the search and replace fields combos with previous values in the right order.

Text editor

  • Support for json highlighting.

Miscellaneous

  • Add a toggle button and a menu entry in the View menu that displays the breakpoint list.

  • Update French translation.

  • Update German translation.

  • Update control icons for dark mode.

  • Update Gambas icons to thin theme.

  • Make the project icon points at Gambas application icon in gb.form.stock.

  • Fix breakpoint icon in the project tree top bar.

WIKI

  • Dark mode fixes.

  • Change how titles are displayed.

SELF-TESTER

  • Plan tests to ensure each will run.

INTERPRETER

  • Fix JIT implementation of the &= operator.

  • Array.Clear() does not crash anymore on static arrays. It just void them now.

  • The -T option without arguments works as expected now.

  • Fix conversion to Variant routine that didn't work on 32 bits systems.

  • Make the interpreter compile with C23.

  • If poll() signals a file descriptor with POLLHUP or POLLERR, immediately remove the watch, otherwise the file descriptor will be signaled again and again.

  • Ensure that all pending JIT compilation is finished before forking.

GB.DB2

  • Result.All() now correctly deals with numeric fields having a NULL value.

GB.DB2.SQLITE3

  • Correctly return fields of system tables.

GB.FORM

Completion

  • Fix popup foreground color.

FileChooser

  • Setting preview mode by code works as expected.

MenuButton

  • Spurious frames should not be drawn anymore during menu popup.

ValueBox

  • Fix mask for currency type.

Miscellaneous

  • Update control icons for dark mode.

GB.FORM.EDITOR

TextEditor

  • Prevent a possible infinite recursion when setting the Highlight property.

  • Add json mode.

  • Highlight matching characters less.

  • Fix highlighting of wrapped lines.

  • Fix GetLocation() method of Gambas mode.

  • Do not put breakpoints and bookmarks in the undo stack anymore.

GB.FORM.MEDIA

MediaView

  • Setting Position before playback now works as expected.

GB.FORM.MDI

  • Update Simplified Chinese translation.

  • Update control icons for dark mode.

GB.FORM.STOCK

  • Add speed stock icon.

  • Redraw gambas icon in gambas-thin theme.

  • Restore contrast in gambas-thin icons, and modify the dark theme generation so that the inverted icons are still readable.

  • Add some saturation to dark themes.

  • Add some application icons.

  • Update mahjongg icon in gambas-thin.

GB.GTK

  • Mouse.State correctly returns the META key state now.

GB.GTK3

  • Mouse.State correctly returns the META key state now.

GB.GUI.BASE

Slider

  • Fix overflows in internal computations.

  • Make the slider button one pixel smaller so that it is not cropped when the control has the focus.

Splitter

  • Prevent possible divisions by zero while computing layout.

Miscellaneous

  • Store the application desktop file inside one of the $XDG_DATA_DIR directories only if it is writable.

  • Use $XDG_DATA_HOME for the last resort directory of the application desktop file.

GB.HIGHLIGHT

  • symbol command can have children state.

  • Javascript highlighter: Fix regexp highlighting.

  • Add json highlighter.

GB.HTTPD

  • Add new environment variable GB_HTTPD_HOST to set the host binding of the http server.

  • Pass the GB_JIT_DEBUG variable to CGI scripts.

GB.JIT

  • If $PATH is not defined, define it using the directory where the compiler was found.

  • Display compiler errors better.

  • Prevent a crash at exit if the JIT temporary directory does not exist anymore for any reason.

  • Display the warning message about XDG_RUNTIME_DIR being not set only in debugging mode.

GB.NET

DnsClient

  • Fix host resolution when the host has both an IP4 and IP6 address.

Socket

  • Fix Connect() method with no arguments.

  • Keep the status socket after an internal error has been raised, so that the posted Error event gets it.

GB.TEST

  • Fix some documentation comments.

  • When printing all project tests, display one test by line.