Gambas 3.5.1

What's new

This releases mainly tries to fix the packager, but there are some bug fixes too, and new features related to that bug fixes.

ChangeLog

[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.

Compilation and installation

Read the instructions there.

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

Enjoy it !

See also