gnome-gitlab jwestman/blueprint-compiler v0.8.0

latest releases: v0.14.0, v0.12.0, v0.10.0...
16 months ago

v0.8.0

Breaking Changes

  • A trailing | is no longer allowed in flags.
  • The primitive type names gboolean, gchararray, gint, gint64, guint, guint64, gfloat, gdouble, utf8, and gtype are no longer permitted. Use the non-g-prefixed versions instead.
  • Translated strings may no longer have trailing commas.

Added

  • Added cast expressions, which are sometimes needed to specify type information in expressions.
  • Added support for closure expressions.
  • Added the --typelib-path command line argument, which allows adding directories to the search path for typelib files.
  • Added custom compile and decompile commands to the language server. (Sonny Piers)
  • Added support for Adw.MessageDialog custom syntax.
  • Added support for inline sub-templates for Gtk.BuilderListItemFactory. (Cameron Dehning)
  • Added support for Adw.Breakpoint custom syntax.
  • Added a warning when an object ID might be confusing.
  • Added support for Gtk.Scale custom syntax.

Changed

Some of these changes affect syntax, but the old syntax is still accepted with a purple "upgrade" warning, so they are not breaking changes yet. In editors that support code actions, such as Visual Studio Code, the blueprint language server can automatically fix these warnings.

  • The XML output uses the integer value rather than GIR name for enum values.
  • Compiler errors are now printed to stderr rather than stdout. (Sonny Piers)
  • Introduced $ to indicate types or callbacks that are provided in application code.
    • Types that are provided by application code are now begin with a $ rather than a leading ..
    • The handler name in a signal is now prefixed with $.
    • Closure expressions, which were added in this version, are also prefixed with $.
  • When a namespace is not found, errors are supressed when the namespace is used.
  • The compiler bug message now reports the version of blueprint-compiler.
  • The typeof syntax now uses <> instead of () to match cast expressions.
  • Menu sections and subsections can now have an ID.
  • The interactive porting tool now ignores hidden folders. (Sonny Piers)
  • Templates now use the typename syntax rather than an ID to specify the template's class. In most cases, this just means adding a $ prefix to the ID, but for GtkListItem templates it should be shortened to ListItem (since the Gtk namespace is implied). The template object is now referenced with the template keyword rather than with the ID.

Fixed

  • Fixed a bug in the language server's acceptance of text change commands. (Sonny Piers)
  • Fixed a bug in the display of diagnostics when the diagnostic is at the beginning of a line.
  • Fixed a crash that occurred when dealing with array types.
  • Fixed a bug that prevented Gio.File properties from being settable.

Documentation

  • Added a reference section to the documentation. This replaces the Examples page with a detailed description of each syntax feature, including a formal specification of the grammar.

Don't miss a new blueprint-compiler release

NewReleases is sending notifications on new releases.