diff --git a/NEWS.md b/NEWS.md index 276d879..dbea36a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,51 @@ +# 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](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/class.MessageDialog.html#adwmessagedialog-as-gtkbuildable) custom syntax. +- Added support for inline sub-templates for [Gtk.BuilderListItemFactory](https://docs.gtk.org/gtk4/class.BuilderListItemFactory.html). (Cameron Dehning) +- Added support for [Adw.Breakpoint](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.Breakpoint.html) custom syntax. +- Added a warning when an object ID might be confusing. +- Added support for [Gtk.Scale](https://docs.gtk.org/gtk4/class.Scale.html#gtkscale-as-gtkbuildable) 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. + # v0.6.0 ## Breaking Changes diff --git a/docs/flatpak.rst b/docs/flatpak.rst index f848671..7db32be 100644 --- a/docs/flatpak.rst +++ b/docs/flatpak.rst @@ -16,7 +16,7 @@ a module in your flatpak manifest: { "type": "git", "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler", - "tag": "v0.6.0" + "tag": "v0.8.0" } ] } diff --git a/meson.build b/meson.build index 186c967..b082627 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('blueprint-compiler', - version: '0.7.0', + version: '0.8.0', ) subdir('docs')