Vala 0.56.6
===========
 * Regression fix:
  - vala: Improve initialization of namespace fields with compound
    literal [#1424]

 * Bindings:
  - gio-2.0,glib-2.0,gobject-2.0: Update 2.74 symbols
  - webkit2gtk-4.*: Update to 2.40.0
  - webkitgtk-6.0: Update to 2.40.0

Vala 0.56.5
===========
 * Various improvements and bug fixes:
  - codegen:
    + Consistently handle GLib.Error as boxed type [#1418]
    + Add cast to accessor calls for generic property implementations
    + Use g_object_class_override_property to implement generic interface
      properties [#1419]
    + Add declaration for register call of dynamic DBus interfaces [#1422]
  - vala:
    + Correctly handle pre/post-increment expression as index of element
      access [#1417]
    + Set proper value-type of unary ref/out expression in initializers [#1421]
    + Allow assignment of namespace fields with inline allocated arrays
  - gtkmodule: Improve error messages

 * Bindings:
  - gtk4: Update to 4.10.1~40b154bf from 0.58
  - gtk4: Add sealed to all the final types
  - gtk+-3.0: Fix ToolPalette.icon_size get-accessor type
  - webkitgtk-6.0: Update to 2.39.90

Vala 0.56.4
===========
 * Various improvements and bug fixes:
  - codegen:
    + Add glib.h include for TRUE/FALSE literal
    + Append VALA_EXTERN also when using fast-vapi
    + Perform required casts for generic types of return-values and
      in/out-parameters [#1407]
    + Correctly handle fixed-length array initialization of fields in classes
    + Perform required cast while assigning and passing function pointers [#1408]
    + Cast return value of generic type accessor functions [#1408]
    + Cast vfunc of property accessors by using cast_method_pointer() [#1408]
  - vala:
    + Report error in real literal if exponent has no digits
    + Improve compatibility type checks of array elements in assignments
    + Improve missing exponent check for real literals
    + Better handling of [NoReturn] call inside finally clause
  - Properly check for colored terminal output on Windows [#1383]
  - Fix output decoding error of non-ASCII character on Win32 [#1379]
  - parser: Properly handle chained equality expressions [#1385]
  - manual: Update from wiki.gnome.org

 * Bindings:
  - cairo: Add missing Cairo.Pattern.get_rgba() [#1381]
  - glib-2.0: Add `double_hash` and `double_equal`
  - gtk4: Make Gtk.show_uri_full() an instance method of Gtk.Window [#1347]
  - gtk4: Update workaround for DropTarget.drop() signal conflict [#1312]
  - libgvc: Fix `cheader_filename` of the `Gvc` namespace
  - pango: Fix a few binding errors
  - pixman-1: Fix instance position of region copy methods
  - webkit2gtk-*.*: Update to 2.37.91
  - Add webkitgtk-6.0 bindings
  - Update gnome-desktop-3.0 and gnome-desktop-4

Vala 0.56.3
===========
 * Various improvements and bug fixes:
  - vala: Don't unconditionally expect ObjectType of Class [#1341]
  - vala: Make try-statement parsing more resilient [#1304]
  - vala: Avoid problems with '\' in #line directives on Windows [#1353]
  - gidlparser: Set source reference of parameters

 * Bindings:
  - atspi-2: Fix a few binding errors
  - glib-2.0: Use g_abort for GLib.Process.abort() beginning with 2.50 [#1350]
  - gtk+-3.0: Correctly unhide BindingSet.by_class to avoid Version attribute

Vala 0.56.2
===========
 * Various improvements and bug fixes:
  - codegen: Correctly set array-length for NoAccessorMethods properties [#1316]
  - codegen: Detect usage of static type-parameter in runtime context [#1326]
  - vala: Avoid critical in SourceFile.get_mapped_length() [#1330]
  - codegen: Make sure to initialize static collections
  - codegen: Split reserved identifiers for C and Vala
  - codegen: Check cname of fields and methods against reserved identfiers [#1329]

 * Bindings:
  - glib2.0: Add abs() to int8/int16/int32/ssize_t [#1328]
  - Add initial wayland-client binding
  - Add geocode-glib-2.0 binding
  - Add rest-1.0 bindings

Vala 0.56.1
===========
 * Various improvements and bug fixes:
  - vala: Improve accessibility check inside member initializer [#1300]
  - vala: Don't allow nullable enum value as real GObject property [#1074]
  - valadoc: Include path to doclet in error message
  - manual: Update from wiki.gnome.org

 * Bindings:
  - gtk4: Fix GLib.Value parameter in ContentProvider.get_value()
  - gtk4: Split out gtk4-wayland and gtk4-x11 into separate bindings [#1308]
  - gstreamer: Update from 1.21+ git main
  - vapi: Update GIR-based bindings

Vala 0.56.0
===========
 * Various improvements and bug fixes:
  - codegen: Drop confusing warning when accessing interface members

 * Bindings:
  - Add webkit2gtk-4.1 bindings
  - glib-2.0: Fix memory management of TestSuite.add*/get_root() with 2.70 [#1295]
  - libarchive: Fix a few binding errors
  - SDL2_ttf: Fix a few binding errors
  - tiff: Fix a few binding errors

Vala 0.55.91
============
 * Various improvements and bug fixes:
  - girparser:
    + Handle duplicated and unnamed symbols
    + Add support for "copy_/free_function" metadata for compact classes
    + Don't count instance-parameter when checking for backwards closure
      reference [#721]

 * Bindings:
  - gst-editing-services-1.0: Fix BaseEffect.set_time_translation_funcs()
  - gstreamer-audio-1.0: Fix a few binding errors
  - gstreamer-base-1.0: Fix a few binding errors
  - gstreamer-video-1.0: Fix a few binding errors
  - gtk4: Fix content_deserialize_async()
  - libarchive: Fix a few binding errors
  - libgsf-1: Fix a few binding errors
  - libgrss: Fix FeedItem.get_geo_point() parameters

Vala 0.55.90
============
 * Various improvements and bug fixes:
  - codegen:
    + Emit G_DEFINE_AUTOPTR_CLEANUP_FUNC() for interfaces with base class [#1292]
    + Emit G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC() for structs [#1293]
    + Default to "has_type_id = false" for external error-domains
    + Emit GType definition for error domains [#699]
  - vala:
    + Catch and throw possible inner error of lock statements [#83]
    + Keep error-code symbol reference in callable expression context
    + Allow delegate without target to be used as constant type
  - girparser: Pick up type_id of error domains

 * Bindings:
  - glib-2.0: Update 2.70/72 symbols
  - gstreamer: Update from 1.21.0+ git main
  - vapi: Update GIR-based bindings

Vala 0.55.3
===========
 * Highlights:
  - Allow usage of dynamic on VarType [#187]

 * Various improvements and bug fixes:
  - codegen: Use correct target/destroy of delegate field initializer [#1285]
  - codegen: Stop generating wrappers for dynamic property access
  - gtkmodule: Improve UI parsing and handling of nested objects and properties
  - vala:
    + Add missing TraverseVisitor.visit_data_type()
    + Improve check of generic type references in static contexts [#1284]
    + Make sure to drop our "trap" jump target in case of an error [#1287]
    + Move dynamic property errors to semantic analyzer pass
    + Free empty stack list for code contexts
    + Clear SemanticAnalyzer.current_{symbol,source_file} when not needed anymore

 * Bindings:
  - gio-2.0,glib-2.0,gobject-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.90+ git main
  - gtk4: Specify sentinel for GtkAcessible methods
  - gtk4: Update to 4.6.0+06ec4ec1
  - vapi: Update GIR-based bindings

Vala 0.55.2
===========
 * Highlights:
  - Add support for async main and yield statements in main block [#1275]
  - Add foreach statement support for GLib.Array and GLib.Sequence

 * Various improvements and bug fixes:
  - codegen:
    + Avoid symbol clashes with "va_*" from "stdarg.h"
    + Access of inline allocated array is guaranteed to be non null [#1282]
    + Don't uncoditionally null check callback_func for GLib.Closure [#1282]
    + Access of stack allocated struct is guaranteed to be non null [#1282]
    + Write array length of formal parameters with fixed length
  - vala:
    + Require lvalue access of delegate target/destroy "fields" [#857]
    + Implement missing YieldStatement.accept()
    + Add support to infer return type of dynamic signals
    + Transform assignment of an array element as needed [#889] [#1258]
  - parser: Reduce the source reference of main block method to its beginning
  - parser: Improve handling of nullable VarType in with-statement
  - manual: Update from wiki.gnome.org

 * Bindings:
  - glib-2.0,gio-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.3+ git master
  - gtk4: Update to 4.6.0+a092986a
  - glib-2.0: Fix criticals in string.joinv() with arrays that start with null
  - vapi: Add linux-media bindings (linux/media.h)
  - alsa: Add/fix *.alloca() functions
  - posix: Add limits.h binding
  - v4l2: Update V4l2.Capabilities and fix some inline arrays

Vala 0.55.1
===========
 * Highlights:
  - Add support for partial classes [#370]
  - Add support for nested methods (local functions) [#1232]
  - Add multi-line support to Vala.Report [#764]
  - Support "emit" for explicit signal emission
  - Add native support to specify non default length-type for arrays [#607]

 * Various improvements and bug fixes:
  - codegen:
    + Move some errors to semantic analyzer pass
    + Stop generating wrappers for dynamic signal connections
    + gdbus: Use g_dbus_method_invocation_take_error() as simplification
    + Initialize type parameter properties for generics earlier [#67]
    + Initialize "result" variable on declaration for abstract methods only
    + Use __once instead of __volatile in generated code
    + Generated SimpleType structs don't have a type id
  - vala:
    + Add optional SourceReference parameter to DataType classes
    + Preserve the source reference when resolving data types
    + Set source references of created DataType instances in OCE
    + Set TypeParameter as symbol of GenericType
    + Add accessibility check of type for constants and structs base type
    + Don't allow casting to void [#1070]
    + Don't allow casting real structs to classes or simple-types [#1249]
    + Check accessibility of initializer for constant and enum value
    + Show source location when reporting deprecations

 * Bindings:
  - Add gnome-desktop-4, gnome-bg-4 and gnome-rr-4 bindings
  - Add libsoup-3.0 binding
  - Add webkit2gtk-5.0 bindings
  - glib-2.0: Add Unicode 14.0 symbols
  - glib-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.3+ git master
  - gstreamer-1.0: Make Gst.Uri a sealed class
  - gtk4: Update to 4.6.0+06e5da45
  - webkit2gtk-*.0: Update to 2.35.1
  - vapi: Update GIR-based bindings

Vala 0.54.6
===========
 * Various improvements and bug fixes:
  - codegen:
    + Allow boxing of non-external SimpleType structs [#1273]
    + Cast given default-value of struct with possible member initializer [#1272]
    + Clear existing length values when revisiting a slice expression [#1274]
  - vala:
    + Allow unsafe assignment of integer to enum while reporting a notice
    + Non nullable enum types are simple types [#1268]
    + Correctly replace "in" expression in pre-/postconditions of method [#1269]

 * Bindings:
  - gio-2.0: Add custom MemoryOutputStream.with_*data() wrappers [#1271]

Vala 0.54.5
===========
 * Various improvements and bug fixes:
  - codegen:
    + Correctly handle chain up of struct creation methods [#1264]
    + Use a dedicated EmitContext for _variant_get*() functions
    + gtkmodule: Handle nested closure elements and bind them accordingly [#1262]
  - vala:
    + NullLiteral is not a valid argument for string concatenation [#1260]
    + Set is_yield_expression in async context when chaining up to async base ctor
    + Report statement parsing error if it is not meant to be an expression [#1261]
    + girparser: Avoid possibily creating duplicated attributes
  - vapigen.m4: use $PKG_CONFIG_SYSROOT_DIR

 * Bindings:
  - glib-2.0: Always use the actual C type for CCode.array_length_type
  - gstreamer: Cherry-pick bindings fixes from 0.56
  - gstreamer-1.0: Unskip the ElementFactory.make/create_full() symbols

Vala 0.54.4
===========
 * Various improvements and bug fixes:
  - codegen:
    + Use CCodeConstant for member access of constant symbol
    + Emit constants without initializer list in defines section [#440]
    + Add and use CCodeConstantIdentifier for accessing constants
    + Check required length of enum type name for GType support
    + Add missing check while overriding virtual async interface methods [#852]
    + Drop inconsistent space for ObjectType parameters
    + Accept CCode.type attribute on parameters [#876]
    + Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
  - vala:
    + Improve error message for invalid handler of dynamic signal
    + Using SignalHandler.disconnect() is required for dynamic signals
    + Check for unavailable value-type of variable initializer [#1253]
    + Add [Profile] as known attribute for methods
    + Report error on missing gio-2.0 package for async constructors
    + Fix signals with generic return
    + parser: Split out Parser.parse_switch_section_statement()
    + parser: Better handling of misplaced switch sections [#1246]
  - genie:
    + Amend text of indent and dedent for error messages [#497]
    + Accept INTERR token before type arguments when parsing type [#1245]
    + Properly handle plain "get" or "set" property accessors [#1248]
    + "exception" is the expected string for TokenType.ERRORDOMAIN
    + Accept accessibility/async modifiers on "construct" creation methods [#1235]
  - girparser: Accept "sealed" for transformed records and compact classes
  - gtkmodule: Improve error message for invalid signal element in ui-file
  - build: Add "test-update" which passed UPDATE_EXPECTED=1 to refresh c-expected
  - tests: Rename colliding test cases to avoid conflicts

 * Bindings:
  - alsa: Add more API and fix a few things
  - gnome-desktop-3.0: Some parameter fixes
  - gstreamer: Cherry-pick bindings fixes from 0.56
  - gstreamer-base-1.0: Some parameter fixes [#1255]
  - gtk4: Update to 4.5.0~cd9b7307
  - pango: Cherry-pick bindings fixes from 0.56

Vala 0.54.3
===========
 * Various improvements and bug fixes:
  - codegen: Actually free data when using "remove(_all)"
    on GLib.Queue/(S)List [#1238]
  - vala:
    + Parameter following ellipsis parameter is not allowed [#1237]
    + More thorough check of ValueType and set CodeNode.error on failure
    + Really check compatiblity of error types for delegate symbol
    + Correctly output signature of callable throwing error
    + Report error for non ErrorType in throws
    + Implement CodeWriter.visit_foreach_statement()/visit_catch_clause()
  - parser: Make sure ErrorCodes are accessible as needed
  - girparser: Add support for "ref_/ref_sink_/unref_function"
    metadata for classes [#1233]

Vala 0.54.2
===========
 * Various improvements and bug fixes:
  - vala:
    + Multi-dimensional params-array not allowed [#1230]
    + Accept NullType as generic type argument
    + Set source references of created DataType instances in OCE

 * Bindings:
  - gio-2.0: Update to 2.71.0~a0d2efdc
  - glib-2.0: Update 2.70 symbols
  - gtk4: Update to 4.5.0~da5efea6

Vala 0.54.1
===========
 * Regression and bug fixes:
  - codegen:
    + Add type declaration for implicit temporary local variable
    + Sealed class in external package is not special [#1229]

 * Bindings:
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Update to 4.5.0~3e20ecd6

Vala 0.54.0
===========
 * Various improvements and bug fixes:
  - vala: Warn about unsupported cast to void and drop it [#1070]
  - vala: Don't restrict element type of GLib.Array [#1227]
  - valadoc: Correctly format background of inline @link's [#1226]

 * Bindings:
  - gio-2.0: Unhide a few usable symbols which are marked not introspectable [#1222]

Vala 0.53.2
===========
 * Various improvements and bug fixes:
  - codegen:
    + Fix property access inside opaque compact class
    + Add missing cast to access base-class members in class/static ctor [#1221]

 * Bindings:
  - glib-2.0: Current constants in GLib.Math are part of glib.h [#1220]
  - glib-2.0: Add RefString since 2.58 [#723]
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Update to 4.5.0~e681fdd9
  - vapi: Update GIR-based bindings

Vala 0.53.1
===========
 * Highlights:
  - Support explicit nullable var-type declarations [#1146]
  - Add support for variadic delegates [#160]
  - Add support for sealed classes [#278]
  - Add support for null-safe access operator [#522]
  - Emit external creation methods in bindings
  - Introduce VALA_EXPORT for public symbols to improve portability
  - girwriter:
    + Use "optional" and "nullable" instead of deprecated "allow-none"
    + Improve struct creation method binding
  - girparser:
    + Improve instance method detection [#1210]
    + Never skip "function" elements
    + Add "move-to" value of functions as Version.replacement

 * Various improvements and bug fixes:
  - codegen:
    + Use ssize_t for length variables in common array helper functions
    + Fix support for public fields on GLib.Source subclasses
  - vala:
    + Add Profile.LIBC as synonym for POSIX and accept "libc" profile
    + Improve semantic check of simple type structs
    + Refactor UnresolvedSymbol/Type constructors
    + Properly check GLib.Object naming convention for properties
    + Add foreach statement support for GLib.GenericArray
  - build: Add "test-asan" make target for convenience
  - build: Add --enable-test-ubsan configure option and "test-ubsan" make target
  - build: Use jing to verify generated GIR file, if available
  - testrunner: Allow checking generated C sources

 * Bindings:
  - Remove gedit-2.20 and webkit-1.0 bindings
  - gio-2.0,glib-2.0: Add new symbols from 2.69.0
  - gio-2.0: Improve DatagramBased.create_source() binding
  - glib-2.0: Wrap TimeZone.identifier() constuctor for proper error support
  - gstreamer-rtp-1.0: Fix some bindings errors [#1177]
  - gstreamer: Update from 1.19.0+ git master
  - javascriptcoregtk-4.0: Fix JSC.Class.add_property() binding
  - linux: Add SocketCAN bindings, and ISOTP constants and options
  - webkit2gtk-4.0: Update to 2.33.3

Vala 0.52.5
===========
 * Various improvements and bug fixes:
  - codegen:
    + Allow null to initialize non-null struct inside initializer list [#594]
    + Implementing GLib.Source.prepare/check is optional since 2.36
    + Fix variadic constructors for compact classes and structs [#1195]
    + Use detroy_value() for delete statement [#1201]
    + Fix params-array in constructor for struct [#1202]
  - vala:
    + Rely on DataType.to_qualified_string() for error-types [#1206]
    + Disallow resize() for constant arrays [#944]
  - Recognize multiple valid CCode.gir_namespace/_version in VAPI files [#1189]
  - Slightly improve source_reference for get_dup_func_expression()
  - girwriter:
    + Respect GIR.name for constants, errordomains and delegates [#1196]
    + Add explicit writable attribute to all field elements
    + Fix position of "result" parameter for struct constructor
    + Write missing c:type attribute of compact class record
  - girparser: Add support for "final" class attribute
  - tests/girwriter: Add missing [Flags] annotation
  - testrunner: Add support for girwriter tests
  - docs: Update bootstrap instructions in README.md

 * Bindings:
  - Partly revert "gstreamer: Update from 1.19.0+ git master" [#1210]
  - glib-2.0: expected_type and return value of VariantDict.lookup_value()
    is nullable
  - glib-2.0: Add Uri.to_string/to_string_partial() (since 2.66)
  - gobject-2.0: Fix the Closure.invoke() signature
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Update to 4.3.2+04f3c805
  - linux: Substitute linux/if.h with net/if.h
  - linux: Fix some bindings errors
  - linux: Fix i2c-dev constants

Vala 0.52.4
===========
 * Various improvements and bug fixes:
  - codegen:
    + GArray, GByteArray and GPtrArray are reference counted
    + Replace wrongly hard coded usage of G_OBJECT_GET_CLASS
    + Don't add errornous cast for unknown type_symbol
    + Mark entry point method implementation "_vala_main" as static
    + Improve check for GLib.Source derived classes
  - vala: Parameter following params-array parameter is not allowed
  - doc: Update man page to include more information on profiles

 * Bindings:
  - glib-2.0: Add missing has_typedef attributes on SourceFuncs delegates
  - gstreamer: Update from 1.19.0+ git master
  - gtk+-3.0: Update to 3.24.29+f9fe28ce
  - gtk4: Update to 4.3.0+24f0ae1d
  - pango: Mark language parameter of AttrIterator.get_font() as out
  - vapi: Update GIR-based bindings

Vala 0.52.3
===========
 * Various improvements and bug fixes:
  - codegen:
    + Apply gconstpointer to gpointer cast to GenericType only
    + Fix access to captured generics in async method of interfaces (2)
    + Use if-clause for is_in_destructor() condition to be more clear
    + Add missing "_return" label and "_inner_error*_" declaration in dtors
    + Don't use G_GNUC_INTERNAL on implicit type specific fields
  - vala:
    + length-type of arrays must not be nullable
    + Report a warning for unhandled errors in destructors
  - parser:
    + Minor semantic checks to improve error messages
    + Allow empty member-initializer and accept trailing comma
    + Include INTERR token in source_reference of parsed types

Vala 0.52.2
===========
 * Regression and bug fixes:
  - codegen:
    + Don't free temp-var for element-access to array with boxed structs [#1174]
    + Don't free unowned heap allocated struct

 * Bindings:
  - glib-2.0: Add simple_generics attribute to GenericArray.find_custom()

Vala 0.52.1
===========
 * Various improvements and bug fixes:
  - codegen:
    + Improve handling of ellipsis parameter in get_ccode_name()
    + Fix default value of get_ccode_destroy_notify_pos()
    + Don't override valid target/destroy of previous lambda argument [#59]
    + Don't call *_instance_init() in compact class chainup
  - vala: Mark tranformed static member-access as qualified [#270]
  - parser: Stricter mode for chained member initializer with --keep-going [#1158]
  - girwriter: namespace expects "c:symbol-prefixes" attribute [#1038]
  - girwriter: Don't use instance-parameter inside callback [#1167]
  - girparser,libvaladoc/girimporter: Don't guess length of xml header, iterate
    forward to <repository>
  - libvaladoc/girimporter: parse_constant() use "c:identifier" attribute first

 * Bindings:
  - gsl: Add BLAS module [#1149]
  - rest-0.7: Fix OAuthProxyAuthCallback binding
  - gtk+-3.0: Fix ModuleInitFunc binding
  - gio-2.0: Fix TlsPassword.get_value() binding
  - Fix several bindings which lead to invalid code by using them in:
    javascriptcoregtk-4.0, libusb, libusb-1.0, pixman-1,
    webkit2gtk-web-extension-4.0, x11, zlib,

Vala 0.52.0
===========
 * Various improvements and bug fixes:
  - codegen: Include "glib.h" for deprecated symbols (GOBJECT) [#1155]
  - vala: Improve error for incompatible expressions in conditional expression
  - vala: Check for unused attributes unconditionally
  - girparser: Allow overriding of "Compact" attribute for classes
  - girparser: Handle empty "<type/>" element and report an error
  - girparser: Add support for NoWrapper metadata for methods
  - build: Add --enable-test-asan configure option

 * Bindings:
  - gio-2.0: Add some missing NoWrapper and CCode.has_typedef attributes
  - gnutls: Fix some binding errors
  - gsl: Fix some binding errors
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Add Gtk.INVALID_LIST_POSITION [#1151]
  - gtk4-unix-print: Switch to gir
  - gtk4: Update to 4.1.2
  - linux: Provide Input.Event.input_event_sec/input_event_usec fields [#1152]
  - vapi: Fix a couple of attribute typos
  - webkit2gtk-4.0: Update to 2.31.91

Vala 0.51.91
============
 * Various improvements and bug fixes:
  - codegen:
    + Error for missing type-arguments of HashTable (de)serialization [#1147]
    + Free intermediate temp-variables of postcondition expression [#80]
    + Use the one available source_reference for internal error [#436]
    + Fix access to captured generics in async method of interfaces [#537]
    + Don't ever create null-aware free macro for GenericType
    + Don't add generics arguments/parameters to async finish method
    + Drop inner casts before converting between generics and integers
  - vala:
    + Add missing null-check in DataType.get_type_signature()
    + Check array type of declarations for errornous type-arguments
    + Check (optional) type-arguments of array creation expression
    + Replace all type parameter occurances in parameters for signal delegate

 * Bindings:
  - glib-2.0,gio-2.0: Add some missing type-arguments
  - vapi: Update GIR-based bindings

Vala 0.51.90
============
 * Various improvements and bug fixes:
  - codegen:
    + More use of get_ccode_type_name()
    + "_first_array" parameter for params-array is variadic too
    + Inherit GType from base struct of SimpleType structs
  - vala:
    + Report warning if --target-glib=auto was not evaluated successfully
    + Fix ownership inheritance of "unowned var" in foreach statement
    + Use pre-resolved symbol/type of SemanticAnalyzer if possible
  - gdbus: Don't leak memory of deserialized arguments on error in wrapper method
  - girparser: Reuse populated Node.gtype_struct_for instead of resolving again
  - girparser: Evaluate "glib:type-struct" twice to pick up reparented structs
  - testrunner: Include Gio-2.0/gio-2.0 for GIR tests too

 * Bindings:
  - gtk4: Update to 4.1.1+f8f90d85

Vala 0.51.3
===========
 * Various improvements and bug fixes:
  - codegen:
    + Don't use volatile modifier in glib API when targetting >= 2.68 [glib!1719]
    + CCodeBaseModule.get_type_id_expression () won't return null
    + Don't wrongly emit declaration for default-handler of signals
    + Include "string.h" for strcmp() (POSIX)
  - vala:
    + Generics value holding struct pointer requires casting on access [#347]
    + Infer needle type for "in" expression on enum [#1138]
    + Don't allow "in" operation with different enum types [#1139]
    + Improve context check whether property is writeable on assignments
    + Include "stdlib.h" for Enum.to_string() (POSIX) [#1143]
    + Set proper source_reference for implicit "this" and "result" variables
    + Report error for invalid inner operand of unary expressions
  - girwriter: Output default handler of signals

 * Bindings:
  - glib-2.0: Add new symbols from 2.68
  - webkit2gtk-4.0: Update to 2.31.90
  - vapi: Update GIR-based bindings

Vala 0.51.2
===========
 * Various improvements and bug fixes:
  - vala:
    + Check type-arguments in base-types/prerequisites of class/interface [#404]
    + Include type-checks in preconditions of methods for type narrowing [#894]
    + Capturing va_list parameters/variables is not allowed [#1136]
    + Properly parse and handle chained initialization of members [#1137]
  - codewriter: Output valid vala syntax for LoopStatement and don't write
    trailing ";" after body of WithStatement

 * Bindings:
    + gstreamer: Update from 1.19.0+ git master
    + vapi: Update GIR-based bindings

Vala 0.51.1
===========
 * Highlights:
  - Support "binding" to bind GtkCallback to class of given property [#1093]
  - Add support for type narrowing [#894]
  - Support chain up to simple generics constructor [#342]
  - Perform runtime version check of libvala [#88]
  - girparser: Handle anonymous delegate not backed by virtual-method or signal
  - Add support for 'opaque' compact classes [#1129]
  - Add further support for params arrays in constructors [#128]
  - Improve handling of "NoWrapper" attribute
  - Improve support of SimpleType struct constructors
  - Use __attribute__ instead of G_GNUC_* in POSIX profile
  - Add SDL 2.x bindings [#1032] amd drop SDL 1.x

 * Various improvements and bug fixes:
  - codegen:
    + Improve GValueModule.visit_cast_expression()
    + Drop obsolete dedicated handling of property value-parameter
    + Apply CCodeModifiers.PRINTF to "string_printf" (POSIX)
    + Allow CCode.type_cname for classes and use get_ccode_type_name()
    + Always use G_TYPE_INSTANCE_GET_CLASS/INTERFACE for external symbols
    + Also check array type of variable argument for ref parameters
    + Don't leak array memory after it was implicitly copied
    + Use g_boxed_free in free-wrapper for heap-allocated GLib.Value
    + Don't leak GLib.Value when implicitly unboxing it
    + Don't leak memory moving heap-allocated struct to stack
    + Chain up to base struct destroy function
    + Use g_memdup2 if target glib >= 2.68 is set
    + Replace "g_memdup" with "_vala_memdup2" for target glib < 2.68
    + Correctly retrieve symbol_reference of nested cast expressions [#1134]
    + Strip all nested occurances of CCodeCastExpression [#1134]
  - vala:
    + Improve detection of duplicate package source files
    + GtkChild fields/properties must be declared as unowned [#1121]
    + Don't allow assigning GtkChild fields/properties [#1121]
    + Apply stricter condition for lambda to delegate assignment
    + Don't allow disposable SimpleType structs
    + Rename Loop to LoopStatement and introduce a common base class
    + GLib.Value unboxing returns unowned value
    + Don't allow GLib.Value casting to nullable struct/simple types
    + Add Block.unreachable_exit and have it set by FlowAnalyzer [#838]
    + Convert Report.*() to real printf-like functions
    + Avoid taking extra reference of foreach collection for index iteration
    + Make sure parent_symbol for special async parameters is available
    + Require a valid DataType instance for every TargetValue
  - girparser:
    + Minor improvement to field getter detection
    + Apply "delegate_target" metadata for methods and parameters
    + Apply "destroy_notify_cname" metadata for fields
    + Apply "type_get_function" metadata for classes and inferfaces
    + Set CCode.type_cname for classes if it doesn't match our default
  - girwriter: Infer gir_namespace/version from target GIR filename [#606]
  - girwriter: Write instance-parameter elements [#1128]
  - libvaladoc/html: Don't sort struct fields to keep their original order
  - libvaladoc: Correctly retrieve value for Api.Class.is_compact
  - libvaladoc: Add wrapper for "agedge" of graphviz
  - valadoc: Correctly set verbose flag on CodeContext
  - valadoc: Replace png icons with elementary's svg version

 * Bindings:
  - Add enchant-2 bindings for Enchant 2.x
  - Add gnu.vapi with binding for getopt_long() and some other GNU APIs
  - Add libunwind-generic binding
  - Fix several bindings which lead to invalid code by using them in:
    cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3,
    libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4,
    fuse, libxml-2.0
  - curses: Remove initial “w” from some Window method names for consistency
  - gdk-pixbuf-2.0: Fix Pixbuf.save_to_streamv_async()
  - gdk-pixbuf-2.0: Update to 2.42.3~
  - gio-2.0: Fix binding of PollableOutputStream.write*_nonblocking()
  - gio-2.0,gtk+-3.0,gtk4: Drop explicit c-type attributes of va_list parameters
  - gio-2.0: Pick up missing invoker for some AppInfo/File.*() methods
  - gio-2.0: Update to 2.67.3
  - glib-2.0: Add GLib.[S]List.is_empty() convenience methods for non-null
  - glib-2.0: Add new symbols from 2.68
  - glib-2.0: Bind assert_cmp* functions [#395]
  - glib-2.0: Improve type of OptionEntry.flags field
  - glib-2.0: Make PtrArray a subclass of GenericArray
  - gobject-2.0: Add new symbols from 2.68
  - gstreamer-1.0: Set CCode.type_id of MiniObject to G_TYPE_BOXED [#1133]
  - gstreamer: Update from 1.19.0+ git master
  - gtk+-2.0,javascriptcoregtk-4.0: Wrong usage of CCode.type_cname attribute
  - gtk+-3.0,gtk4: Fix some delegate return values and parameters
  - gtk4: Update to 4.1.0+2712f536
  - posix: Add POSIX, GNU and BSD Regex APIs
  - webkit2gtk-4.0: Update to 2.31.1

Vala 0.50.3
===========
 * Various improvements and bug fixes:
  - codegen:
    + Use CCodeInvalidExpression instead of place holders
    + Don't leak memory of already assigned out-parameter on error [#1123]
    + Don't leak memory on internal value comparison of property setter
    + Fix assignment of casted struct value to property [#1126]
  - vala:
    + Report an error if gio-2.0 is missing for DBus support
    + Add missing TraverseVisitor.visit_addressof_expression()
    + value_type of PointerIndirection expressions must not be owned [#1118]
    + SliceExpression need to return heap-allocated or unowned references [#1120]
    + Accept "unowned var" as type for foreach variable declaration [#152]
    + Ownership transfer of inline-allocated array is not allowed [#931]
  - tests: Use Automake’s parallel test driver to speed up running tests [#1094]
  - testrunner: A lot of simplifications

 * Bindings:
  - gio-2.0: Fix DBusSubtreeIntrospectFunc binding
  - gstreamer-1.0: Fix direction of GLib.Value typed parameters [#1014]
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Use correct cheader_include for wayland/x11 gdk backend [#1112]
  - gtk4: Don't rename binding for gtk_css_provider_load_from_data [#1117]
  - gtk4: Update to 4.0.1
  - webkit2gtk-4.0: Update to 2.30.3

Vala 0.50.2
===========
 * Various improvements and bug fixes:
  - codegen:
    + More use of delegate_target_type and delegate_target_destroy_type
    + Reduce get_delegate_target/get_delegate_target_destroy_notify calls
    + Don't use inferred type for temp-value to access generic property [#1088]
    + Update outdated array _size_ variable of captured local-variable [#1090]
    + Report internal error for unsupported collection type in foreach
  - vala:
    + Issue an error on void initializer for local-variable
    + Allow markup-reader to accept spaces around '=' of attribute assignment
    + CodeNode.source_reference is optional, so let the API respect that
    + Use DataType.compatible() to check for string concatenation [#1100]
  - valadoc: Don't call CodeContext.pop() on empty stack [#1064]
  - libvaladoc: Don't filter-out generic type-parameters of delegates
  - libvaladoc/girimporter: Skip "docsection" elements in <namespace>
  - testrunner: Add "-Werror=return-local-addr" flag
  - manual: Update from wiki.gnome.org

 * Bindings:
  - alsa: Fix PcmDevice.set_poll_descriptors_revents() binding [#1092]
  - curses: Add Terminfo API set, function keycodes F(n) and minor changes
  - curses: Correctly use [PrintfFormat] attribute
  - glib-2.0: Fix return-type of Uri.parse_params() binding
  - glib-2.0: Add return codes to FileStream.putc/puts(), like posix
  - glib-2.0: Add GenericArray.find_custom(), variant of find_with_equal_func()
  - glib-2.0: Improve GenericArray.length property
  - gio-2.0: Fix binding of Resolver.lookup_service*()
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Attribute Gsk.ShaderArgsBuilder.free_to_args with DestroysInstance
  - gtk4: Update to 3.99.4+7551f85d [#1089]
  - linux: Add missing struct in cname for Spi.IocTransfer
  - posix: Declare fstat, stat, lstat and fstatat as public [#1086]
  - posix: Add freopen binding, as FILE.reopen()
  - rest-0.7: Fix ParamsIter.next() binding
  - vapi: Update GIR-based bindings

Vala 0.50.1
===========
 * Various improvements and bug fixes:
  - codegen:
    + Don't falsly use g_return_val_if_fail() for async creation method [#1077]
    + Don't pass CCodeFunctionCall to NULL-aware free macro
  - vala:
    + Improve parsing of with-statement and allow it as embedded statement
    + Prioritize the usage of an existing with-variable instance,
      Recognize previously inserted implicit access to with-variable [#1043]
  - parser: Allow to begin expression with statement keyword [#1073]
  - g-i: Fix a couple of C compiler warnings
  - libvaladoc: Fix a couple of C compiler warnings
  - testrunner: Pass --enable-checking to increase coverage, Filter external
    -0X flags to preserve current default -O0
  - build: Stop passing obsolete --use-header

 * Bindings:
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Don't skip LayoutManager.create_layout_child() [#1071]
  - gtk4: Update to 3.99.1+15b635d7
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.30.1

Vala 0.50.0
===========
 * Various improvements and bug fixes:
  - codegen: The actual struct size is required for calloc (POSIX) [#1068]

 * Bindings:
  - gstreamer: Update from 1.18.0+ git master
  - poppler-glib: Update to 20.09.0
  - vapi: Update GIR-based bindings

Vala 0.49.92
============
 * Various improvements and bug fixes:
  - Don't use locale dependent string functions on syntax strings [#1067]
  - girparser: Additionally fallback to "glib:type-name" to retrieve the cname
  - libvaladoc/girimporter:
    + Fallback to "name" for callback
    + Fallback to "glib:type-name" for class, interface and record
    + Improve parse_symbol_doc() and don't use parse_doc()
    + Skip "attribute" elements
  - libvaladoc/gtkdoc-importer:
    + Correctly retrieve "url" from "ulink" elements
    + Don't let parse_block_taglet() return null

 * Bindings:
  - gtk4: Update to 3.99.1
  - vapi: Update GIR-based bindings

Vala 0.49.91
============
 * Various improvements and bug fixes:
  - codegen: Don't append unreachable clean-up section of Block [#169] [#838]
  - codegen: Always include base_struct declaration if available [#464]
  - vala: Additionally break on ObjectCreationExpression in "tainted" check
  - vala: Add ObjectCreationExpression.to_string()
  - manual: Update from wiki.gnome.org

 * Bindings:
  - gio-unix-2.0,glib-2.0: Updates for 2.66
  - gtk4: Resolve a few conflicts of methods with virtual-methods

Vala 0.49.90
============
 * Regression and bug fixes:
  - Revert "girwriter: Use appropriate get_ccode_* functions" [#1059]
  - tests: Don't rely on undefined use-after-free behaviour of glibc
  - Add TraverseVisitor for traversing the tree with a callback
  - Force usage of temporary variables for "tainted" member accesses [#1061]
  - vala: Move transformation of unary increment/decrement to codegen
  - vala: Set parent_node for child nodes of lambda-expression [#1062]

 * Bindings:
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+e6e2d6b4
  - pango: Update from 1.46.0
  - webkit2gtk-4.0: Update to 2.29.91

Vala 0.49.2
===========
 * Highlights:
  - Support non-virtual signals with default handler [#1056]

 * Various improvements and bug fixes:
  - codegen: Include header for base-symbols when connecting vfuncs
  - vala:
    + Inherit CCode.returns_floating_reference attribute from base [#1053]
    + Mark tranformed member-access as qualified [#57]
    + Switch context if with-variable is not owned by with-statement [#1043]
  - girparser: Add support for string "feature_test_macro" metadata

 * Bindings:
  - gio-2.0: Include "gio/gsettingsbackend.h" for GLib.SettingsBackend
    members [#1054]
  - goocanvas-2.0: Fix some field ownerships and types [#1057]
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+358b698e
  - pango: Update from 1.45.4+
  - posix: Add missing "has_typedef" attribute for some delegates
  - posix: Declare WRDE_APPEND constant as public
  - vapi: Update GIR-based bindings

Vala 0.49.1
===========
 * Highlights:
  - Use defintions of public header in internal header if available
    and drop --use-header compiler option and enable it by default [#713]
  - gdbus: Use GDBusProxy API to set `g-interface-info` at initialization time
  - Check vfunc of abstract/virtual methods and property accessors for NULL
    before using it [#153]
  - Check coverage of switch on enum-type and issue warnings if needed [#777]
  - Map empty start/end index to 0/length for slice expressions [#238]
  - Add support for "with" statement (mark them experiemental) [#327]
  - Use inheritted scopes of base-types/prerequisites to resolve symbols [#54]

 * Various improvements and bug fixes:
  - codegen:
    + Add implicit parameter and instance checks in async method [#1005]
    + Make use of CCode.cname for label name of CatchClause
  - vala:
    + Move setting of target profile and standard packages into CodeContext
    + Remove some public API from expressions and statements
    + Add Expression.is_always_true/false() helpers
    + Add InvalidExpression as replacement for erroneous nodes instead
    + Don't loose invalid_syntax when copying array type for variables [#942]
  - girparser: Strip "Enum"-suffix only from enumeration
  - girwriter: Internal fields/vfuncs in type-symbols are public in C [#513]
  - libvaladoc: Remove unused Api.Class.get_finalize_function_name() API
  - testrunner: Add more -Werror=* flags

 * Bindings:
  - gio-unix-2.0: Fix "g_unix_mount_for" binding [#1052]
  - glib-2.0,gio-2.0,gobject-2.0: Updates for 2.66
  - glib-2.0: data of GLib.Bytes is allowed to be null
  - glib-2.0: Add more explicit type_id attributes for various symbols
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+d743e757
  - pango: Update from 1.45.2
  - vapi: Update GIR-based bindings

Vala 0.48.8
===========
 * Various improvements and bug fixes:
  - codegen:
    + Handle "gtk_param_spec_expression" in get_param_spec()
    + Properly compare string if binary-expression contains string-literal
    + Inline allocated and constant arrays are never NULL
    + Check param for null before using it
    + Properly destroy elements of an inline struct array [#365]
  - vala:
    + Avoid subsequent critical caused by invalid array type for constant
    + Improve error handling of nested initializer lists
    + Don't allow "resize" invocation on variable with unowned array type [#928]
    + Property must be writable when invoking ReturnsModifiedPointer method [#1023]
    + Recursive check of assignment target to recognize constants [#944]
    + Return copy of constant type in get_value_type_for_symbol()
    + Handle parameter initializer without value-type
    + Fully qualify member-access when using-directive was used to resolve [#57]
    + Tranform instance member-access to a static one if possible [#270]
    + Improve check of expression passed to yield
    + Allow prototype access to signal with emitter
    + Check error-type accessibility of creation methods and delegates
  - girparser: Warn about conflicting signals and properties
  - girparser: Skip 'docsection' elements in <namespace>
  - girwriter:
    + Add c:identifier-prefixes to <namespace>
    + Write c:type="void" when name="none"
    + Write c:symbol-prefix on supported elements
    + Don't include symbols outside of a namespace [#241]
    + Use appropriate get_ccode_* functions
  - libvaladoc: Support exporting the `class` modifier on methods and fields
  - Disable deprecation warnings when checking bindings
  - tests: Fix "methods/extern" test with -Werror=address and gcc 5.4.0

 * Bindings:
   - glib-2.0: Add AtomicUint, an alternation of AtomicInt for uint [#915]
   - gstreamer: Update from 1.17.2+ git master
   - gtk+-3.0: Update to 3.24.21+ffe2df7b
   - gtk+-3.0: Resolve conflicts of signals with properties
   - gtk4: Resolve conflict of DropTarget.drop signal with property [#1033]
   - gtk4: Improve Gtk.ParamSpecExpression binding
   - gtk4: Fix binding of CClosureExpression ctor [#1024]
   - gtk4,gtk4-unix-print: Update to 3.98.5+23dcf36e
   - webkit2gtk-4.0: Update to 2.29.4

Vala 0.48.7
===========
 * Various improvements and bug fixes:
  - codegen:
    + Improve array-dup-wrapper for empty arrays [#999]
    + Don't call get_ccode_finish_instance() with non-async methods
    + Cast initializer-list to struct for non-constant/-array assignment [#1013]
    + Consistently use get_ccode_lower_case_prefix() for function names [#1008]
  - vala:
    + Correctly handle qualified struct type in initializer list [#1004]
    + Reduce calls of CodeContext.get()
