### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: docs/content-docs/about/release-notes-gtk3.md
### ----------------------------------------------------
### -- Chunk 1 of 2
---
title: About Gtk3 Release Notes
nav_menu: default-nav
sidebar_menu: about-sidebar
layout: sidebar
---
# Release notes
* 2024-04-04 0.49.0
  * Add `:api<1>` to all class names. Use statements loading the gnome libs have also the api<1> added. Api 1 is also added the 'META6.json' as well as to the dependencies of other gnome modules.

* 2023-02-06 0.48.16
  * Call in Builder changed to remove deprecation message

* 2023-01-28 0.48.15
  * New module **Gnome::Gtk3::IconInfo**.
  * HeaderBar module reviewed. get-custom-title-rk() deprecated. Changed documentation and added child properties info.

* 2023-01-13 0.48.14
  * Extend **Gnome::Gtk3::Image** with some Gio icon manipulation methods

<!--
  * Add `get-pango-context()` to Widget;
-->

* 2022-11-14 0.48.13
  * Added method `child-get-property()` in **Gnome::Gtk3::Container** to get child properties of widgets added to the container.
  * Checked **Gnome::Gtk3::Fixed**. Added two child properties. Check other modules for child properties; **Gnome::Gtk3::Box** has 5.
  * Checked **Gnome::Gtk3::Frame**.

* 2022-10-23 0.48.12
  * Checked **Gnome::Gtk3::FileFilter**.

* 2022-10-10 0.48.11
  * Bugfix in **Gnome::Gtk3::FileChooserWidget**. Also cleanup of pod doc.
  * File extensions renamed.

* 2022-08-31 0.48.10
  * Revisited modules **Gnome::Gtk3::EntryCompletion**, **Gnome::Gtk3::EventBox**, **Gnome::Gtk3::FileChooser**, **Gnome::Gtk3::FileChooserButton**.

* 2022-08-28 0.48.9
  * Revisited module **Gnome::Gtk3::Entry**.

* 2022-07-26 0.48.8
  * Changed **Gnome::Gtk3::ListBox**
  * Removed dependencies on :_widget in test files

* 2022-07-15 0.48.7
  * Revisited modules from the Gnome::Glib distribution. Quite a few bugs are removed from **Gnome::Glib::Error**, many method return types are changed to native types instead of the Raku classes conform the latest ideas. Again very unfortunate that for these I cannot install deprecation code because the dispatch of multi methods are not looking at return types.
    An example from the **Gnome::Glib::List** module;
    ```
    # next line
    my Gnome::Glib::List $l .= new(:native-object($my-grid.get-children));

    # or like this

    my Gnome::Glib::List $l = $w.get-children-rk;

    would become

    my Gnome::Glib::List() $l = $w.get-children;
    ```

    Also the methods in that List module are modified, so the use of e.g. `append()` would become;
    ```
    my Gnome::Glib::List() $integer-list;         # note the '()' !!
    my $int-pointer = CArray[gint].new;
    $int-pointer[0] = 42;
    $integer-list .= append(nativecast( gpointer, $int-pointer));
    $int-pointer[0] = 43;
    $integer-list .= append(nativecast( gpointer, $int-pointer));
    ```

  * Changed **Gnome::Gtk3::Container**. Missed a few `…-rk()` deprecations.

  * **NOTE 1: All these changes regarding the `…-rk()` can be changed before the deprecation messages are installed. This will save you for some irritating changes occurring later on when I am able to change the methods.**

  * **NOTE 2: What came to mind is the use of `:$_widget` in event callbacks. This can easily be replaced by `:$_native_object` (already defined). The latter is always defined while the first might be destroyed by the user to free memory.**
    An example to show the use of `:$_native_object` with the `add` signal callback handler from **Gnome::Gtk3::Container**. The handler is defined as;
    ```
    method handler (
      N-GObject $n-widget,
      Gnome::Gtk3::Container :_widget($container),
      Int :$_handler-id,
      N-GObject :$_native-object,
      *%user-options
    )
    ```
    This could be implemented as
    ```
    method add-event (
      N-GObject $added-widget,
      Gnome::Gtk3::Container() :_native-object($container)
    ) { … }
    ```
    From this, it follows that the named argument `:$_widget` is not useful anymore. Therefore, this named argument is deprecated too.

  * Changed docs here and there to remove old uses of deprecated arguments and methods in example code.
  * Added `COERCE()` routine in **Gnome::Gtk3::TreeIter** to coerce from `N-GObject` to `N-GtkTreeIter`. Also done in **Gnome::Glib::Error**.
  * Method

* 2022-07-16 0.48.6
  * Revisited the **Gnome::Gtk3::Dialog** module. all `…-rk()` are obsoleted. E.g. use `my Gnome::Gtk3::Box() $content-area = $dialog.get-content-area;` instead of `my Gnome::Gtk3::Box $content-area = $dialog.get-content-area-rk;` or `my Gnome::Gtk3::Box $content-area .= new(:native-object($dialog.get-content-area));`
  * Revisited the **Gnome::Gtk3::Editable** module.

* 2022-07-2 0.48.5
  * New module **Gnome::Gtk3::Expander**.

* 2022-06-12 0.48.4
  * Changed docs.
  * Missing docs for **Gnome::Gtk3::DragDest** and **Gnome::Gtk3::DragSource**.
  * Previously, the method `find-target()` from **Gnome::Gtk3::DragDest** returned a **Gnome::Gdk3::Atom**. To be in line with latest ideas about coercing, the routine now returns a native object. To cope with the change, write the following instead, for example;
    ```
    my Gnome::Gdk3::Atom() $target-atom = $!destination.find-target(…);
    ```
    Note the `()` tacked on the **Gnome::Gdk3::Atom** type! Sorry that I cannot give a deprecation warning because of multis not looking for return types. (lucky that the module docs weren't generated yet 😃😃😃😃).
    Unfortunately, this will happen once in a while when things evolve. You may recognize those functions returning Gnome::* objects and prepare for the change just by tacking those brackets on the type like shown in the example above.
  * Added a module **Gnome::Gtk3::Drag** with methods from DragSource and DragDest. This is more inline with the C-files and the routines defined there.
    * Methods from DragDest; finish, get-data, get-source-widget, highlight and unhighlight.
    * Methods from DragSource; cancel
  * Site doc changes

* 2022-05-13 0.48.3
  * More modules converted and more routines deprecated.

* 2022-04-06 0.48.2
  * More modules converted and more routines deprecated.

* 2022-03-19 0.48.1
  * Removed the named argument `:$widget` to event handlers. Now only `:$_widget` is available together with `:$_handler-id` and `:$_native-object`.

* 2022-03-19 0.48.0
  * Add modules **Gnome::Gtk3::ShortcutsWindow**, **Gnome::Gtk3::ShortcutsSection**, **Gnome::Gtk3::ShortcutsGroup**, **Gnome::Gtk3::ShortcutsShortcut**.
  * More modules converted and more routines deprecated.
  * Bugfix in **Gnome::Gtk3::Application** method `get-actions-for-accel()` and `get-accels-for-action()`. In some cases, native routines return `CArray[Str]` while the newer methods return `Array`. This can produce errors like `Don't know how many elements a C array returned from a library` if you want the number of elements to traverse the array. The methods, which return an `Array` do not pose this problem.

* 2022-03-13 0.47.4
  * Structure `GdkRGBA` from **Gnome::Gdk3::RGBA** is renamed into `N-GdkRGBA`. Unfortunately, it was not possible to set deprecation messages first because of the large overhead of extra software coping with coercion. Also `N-GdkRGBA` structure will be used internally only and casted to `N-GObject` before returning to the user.
    This is going to happen to all native pointers and structures and the meaning of `N-GObject` is changed. In the past the purpose of that structure was _a native object wrapped into **Gnome::GObject::Object** and used by its descendents_ to _a common native object for all classes_. We can see the name therefore as _a Native Gnome Object_.

  * **Gnome::Gtk3::ColorChooserDialog** changed documentation and tests.
  * A few other modules using **Gnome::Gdk3::RGBA** needed small changes.

* 2022-02-04 0.47.3
  * New tests show that the `-rk()` methods are not needed anymore. Code is added to **Gnome::N::TopLevelClassSupport** to coerce to and from a native object stored in a N-GObject type object. This operation will take several versions to get it all out again 😦.

  ```
  my Gnome::Gtk3::Window $w .= new;
  my N-GObject() $no = $w;        # to get the native object
  $no = $w.N-GObject;             # or

  # instead of
  $no = $w.get-native-object;

  # and from native to Raku object
  my Gnome::Gtk3::Window() $w2 = $no;

  # instead of
  my Gnome::Gtk3::Window $w2 .= new(:native-object($no));
  ```
  So all `-rk()` methods will be deprecated and removed after some version. This means that the code base will become smaller and perhaps faster to compile.

  * `GdkGeometry` structure from Gnome::Gdk3 is renamed to `N-GdkGeometry`.

  * `GdkWindowAttr` structure from Gnome::Gdk3 is renamed to `N-GdkWindowAttr`.

* 2022-02-04 0.47.2
  * **Gnome::Gtk3::Window** had errors in that it used the wrong name for a `N-GdkEventKey` structure and should have thrown compiler errors after changing **Gnome::Gdk3::Events** module.
  * Bugfix caused by newer Raku; native type and Raku type for unsigned integers are treated differently.

* 2022-02-02 0.47.1
  * Add `do-event()` to **Gnome::Gtk3::Main**.

* 2022-01-27 0.47.0
  * Add **Gnome::Gtk3::CssSection**. I don't think there is much use for it, no examples found anywhere... Maybe later.

* 2022-01-26 0.46.4
  * Documentation changes; **Gnome::Gtk3::CssProvider**.

* 2021-12-29 0.46.5
  * Documentation changes from **Gnome::Cairo** package.
  * Tutorial for using cairo.
  * Bugfixes in **Gnome::Gtk3::StyleContext**.

* 2021-12-12 0.46.4
  * Changes for renamed methods in **Gnome::N::TopLevelClassSupport**.

* 2021-12-08 0.46.3
  * Add methods `.get-objects()` and `.expose-object()` to Builder module.
  * Inhibit start of eventloop if **Gnome::T** is active.

* 2021-12-05 0.46.2
  * Doc and test update of modules **Gnome::Gtk3::RadioButton**, **Gnome::Gtk3::ColorButton**, and **Gnome::Gtk3::ToggleButton**.

* 2021-11-28 0.46.1
  * Doc and tutorial updates

* 2021-11-10 0.46.0:
  * Add **Gnome::Gtk3::AccelGroup**, **Gnome::Gtk3::AccelMap**, **Gnome::Gtk3::AccelLabel**.

* 2021-10-27 0.45.0:
  * Add **Gnome::Gtk3::AppChooser**, **Gnome::Gtk3::AppChooserButton**, **Gnome::Gtk3::AppChooserDialog**, **Gnome::Gtk3::AppChooserWidget**.

* 2021-10-11 0.44.3:
  * Rewrite pod doc and method ordering of **Gnome::Gtk3::Assistant**, **Gnome::Gtk3::Bin**, **Gnome::Gtk3::Border**, **Gnome::Gtk3::Box**, **Gnome::Gtk3::Builder**, **Gnome::Gtk3::Button**. Also added methods returning Raku objects.

* 2021-09-26 0.44.2:
  * Rewite pod doc and method ordering of **Gnome::Gtk3::Dialog** **Gnome::Gtk3::Application** and **Gnome::Gtk3::ApplicationWindow**. Also added methods returning Raku objects next to the original methods returning native objects.
  * Bugfix in **Gnome::Gtk3::ComboBoxText**. Method `new()` did not recognize the `:native-object` option.

* 2021-09-24 0.44.1:
  * Methods ending in `…-rk()` have `:child-type` added where it is possible to inherit from the returned object type.

* 2021-07-20 0.44.0:
  * Add modules **Gnome::Gtk3::Layout**, **Gnome::Gtk3::ActionBar** and **Gnome::Gtk3::HeaderBar**.

* 2021-07-11 0.43.1:
  * Typos and code changes in tutorials and example code.
  * Due to some changes in **Gnome::GObject::Value**, the `.get-boolean()` method returns `True` or `False` instead of `1` or `0`. `.set-boolean()` is unchanged because Raku could coerse `True` and `False` to integer automatically.

* 2021-07-08 0.43.0:
  * Add module **Gnome::Gtk3::OffscreenWindow**.

* 2021-06-29 0.42.0:
  * Add module **Gnome::Gtk3::ButtonBox**, **Gnome::Gtk3::Scrollable** and **Gnome::Gtk3::Viewport**.
  * **Gnome::Gtk3::Scrollable** role is added to the already existing modules **Gnome::Gtk3::IconView**, **Gnome::Gtk3::TreeView** and **Gnome::Gtk3::TextView**.

* 2021-06-22 0.41.1:
  * bugfix; removed a sub by accident.

* 2021-06-20 0.41.0:
  * Add module **Gnome::Gtk3::FileChooserWidget**.
  * Bugfixes in **Gnome::Gtk3::FileFilter**. Defined wrong type for **GtkFileFilterInfo**. Changed to **N-GtkFileFilterInfo**.
  * Improved doc and tests of **Gnome::Gtk3::Statusbar**, **Gnome::Gtk3::DrawinfArea**, **Gnome::Gtk3::StyleContext**, **Gnome::Gtk3::Image** and , **Gnome::Gtk3::Label**.

* 2021-06-15 0.40.1:
  * Module **Gnome::Gtk3::Statusbar** docs are improved, methods are added and more tests done.
  * Drag and drop tutorial finished.

* 2021-06-14 0.40.0:
  * Added support for drag and drop. Modules added;
  * Gnome::Gdk3: Atom and DragContext
  * Gnome::Gtk3: Targets, TargetList, TargetEntry, SelectionData, DragDest and DragSource.
  * Bugfixes; in Widget, a lot of signals were in wrong categories. Discovered after using drag and drop. At the same time, docs about signals are improved for this module.

* 2021-05-08 0.39.4:
  * Modules **Gnome::Gtk3::Adjustment** and **Gnome::Gtk3::Notebook** docs are improved, methods are added and more tests done.

* 2021-04-29 0.39.3:
  * Some test failures. The tests are adjusted.
  * Bugfixes in **Gnome::Glib::List**. Objects were not initialized properly and therefore could not be tested for its validity.

* 2021-04-29 0.39.2:
  * Improve docs of Grid, Container and Fixed. Added some tests for Container.
  * Container; add a method `get-child-at-rk()` to return a raku object. `get-child-at()` returns a native object.
  * Now that it is possible to return raku widget objects I've started experimenting with callbacks too. Normally they will always get native objects which need to be imported into a raku object to be able to call any methods. In the **Gnome::Gtk3::Container** module there is this `foreach()` method which in turn calls a callback routine for each widget in its container. The widget in the argument is provided as a **N-GObject**. The experiment now is as follows; providing a callback method will as normal get a native object except when the name of the callback ends in `-rk`. In that case it returns a raku widget object. The next test taken from `t/Container.t` shows the differences.
  ```
  class X {
    method cb ( N-GObject $no, :$label ) {
      my Gnome::Gtk3::Widget $w .= new(:native-object($no));
      is $w.get-name(), 'GtkLabel', '.foreach(): callback()';
      my Gnome::Gtk3::Label $l .= new(:native-object($no));
      is $l.get-text, $label, 'label text';
    }

    # In this case we only expect a Label!
    method cb-rk ( Gnome::Gtk3::Label $rk, :$label ) {
      is $rk.get-name, 'GtkLabel', '.foreach(): callback-rk()';
      is $rk.get-text, $label, 'label text';
    }
  }

  # The button has a Bin and a Container as its parent and grandparent.
  # The label is a widget contained in the button.
  my Gnome::Gtk3::Button $b $b .= new(:label<some-text>);
  $b.foreach( X.new, 'cb', :label<some-text>);
  $b.foreach( X.new, 'cb-rk', :label<some-text>);
  ```
  This is maybe a nice solution and in line with the remarks in previous entries about methods with the `-rk` extentions. Another experiment is by using a named argument `:give-raku-objects`. This might prove a better solution because this argument is also given to the callback method. The callback routine just checks for its truthiness to decide what object it has got. The caller can than also turn the flag to `False` if it is not able to create a raku object.
  * Bugfixes in **Gnome::Gtk3::Widget**; The `delete-event` signal was wrongly defined.

* 2021-04-25 0.39.1:
  * It hounts me at night that I break code `sigh…` :sleeping:. Even that I am allowed to do it (version < 1.0.0) I have slept restles. So, might have to make a change so that code will not break. The following will be done to remedy my sleepless nights :smile:
  * Methods returning native objects are kept as it is, i.e. no `-no` added to the method name.
  * Methods returning raku objects get the `-rk` added to the method name.
  * In newly generated modules, raku objects are returned when possible. Otherwise native objects.
    These methods will not have the `-rk` extension on the method name because there is no history. And also because several are already created some time ago, it would break that code if I change that :bomb:. I might deprecate that later and become more consequent in all modules and add the `-rk` methods first.
    If the method is made returning a native object and later on I might find a way to create and return a raku object, the newer method will get the `-rk` added the the method name.
  * Changed the following modules for the above remarks;
  * **Gnome::Gdk3::Screen**
  * **Gnome::Gdk3::Visual**
  * **Gnome::Gtk3::Widget**

  This means for the previous mentioned methods
  `.get-display-rk(… --> Gnome::Gdk3::Display)`
  `.get-display(… --> N-GObject)`

* 2021-04-15 0.39.0:
  * Improve **Gnome::Gtk3::Widget** docs and tests. Changes are
  * `.get-display(… --> Gnome::Gdk3::Display)`.
  * `.get-path(… --> Gnome::Gtk3::WidgetPath)`.
  * Improved **Gnome::Gdk3::Screen** because of some bugfix. I am experimenting with an extra method when originally a native object was returned but the new method now returns a raku object. To support the older method I have added methods like `.xyz-no( … --> N-GObject)` next to `.xyz( … --> Gnome::Gxyz::Xyz)`. Changes are;
  * `.get-display ( --> Gnome::Gdk3::Display )`.
  * `.get-rgba-visual ( --> Gnome::Gdk3::Visual )`.
  * `.get-root-window ( --> Gnome::Gdk3::Window )`.
  * `.get-system-visual ( --> Gnome::Gdk3::Visual )`.

  With the above remark there is e.g. `.get-display-no( --> N-GObject )` too.
  * Added  **Gnome::Gdk3::Visual** to support a method in **Gnome::Gdk3::Screen**
  * New experiment which I did already before the rather difficult way. Suppose I've a method with a `Num` typed argument `$x`. I used to get the variable in untyped and then converted it using `$x.Num`. This helps the user to provide the number as `0.4`, `4e-1`, `⅖` and `'0.4'`. After so many years it finally  dawned to me that writing the argument type as `Num()` just does that. I have seen it in numerous examples but didn't knew the meaning of it.
  * Another experiment is to use `require ::($type)` a bit more. It solves a few problems I have been facing;
  * Circular dependencies. This happens when one type can produce another type while that second type can in turn produce the first one. This happens for example between classes **Gnome::Gdk3::Screen** and **Gnome::Gdk3::Visual**
  * Many methods are not always needed and a module needed to create an object would be loaded unnecessarely. The call will postpone the loading until needed.

  With all this, there is still a rakudo bug issue [#3075](https://github.com/rakudo/rakudo/issues/3075) unsolved. It states that sometimes the loading of symbols while using `require` goes wrong sometimes. Related issues are [#3722](https://github.com/rakudo/rakudo/issues/3722). So, when you run into such a problem, you can then use the `xyz-no( … --> N-GObject)` type of routine which will not use the `require` call and you can create the object using `my Gnome::Xyz::Abc $abc .= new(:native-object(xyz-no(…))`

  * New module **Gnome::Gtk3::EventBox**.

* 2021-04-05 0.38.0:
  * Add role **Gnome::Gtk3::CellLayout**. Added this role to **Gnome::Gtk3::ComboBox**, **Gnome::Gtk3::IconView** and, **Gnome::Gtk3::TreeViewColumn**. TreeViewColumn had problems in that there where methods defined which were also made available in CellLayout. Therefore I have removed those from TreeViewColumn. There is a change however in some of those methods.
  * `.pack-start()` and `.pack-end()`; The `$expand` arguments are now a real boolean accepting only `True` and `False`.
  * Add module **Gnome::Gtk3::EntryCompletion**.
  * bugfix; found out that **Gnome::Gtk3::RecentFilter did not inherited **Gnome::Gtk3::Buildable.

* 2021-03-26 0.37.0:
  * Add module **Gnome::Gtk3::Editable** which is a role needed by the input widgets like **Gnome::Gtk3::Entry**.
  * Module **Gnome::Glib::List** rewritten and extended.

* 2021-03-26 0.36.6:
  * `Gnome::Gtk3::Widget.get-screen()` now returns a **Gnome::Gdk3::Screen** instead of the native object. Also document updates where Gnome::Gtk3::Screen where mentioned; changed into Gnome::Gdk3::Screen.
  * All **Gnome::Glib::N-…** _modules_ describing native objects are removed and replaced by **Gnome::N::N-GObject**. These are **Gnome::Glib::N-GVariant**, **Gnome::Glib::N-GVariantDict**, **Gnome::Glib::N-GVariantType**, **Gnome::Glib::N-GMainLoop** and **Gnome::Glib::GMainContext**.
  This might be an errors generating issue. Check your code for the use of these structure references and replace them by `N-GObject`, import **Gnome::N::N-GObject** to get that type. Hopefully it does not have a great impact because those modules are mostly for lower level handling of things.
  * Bugfixed in **Gnome::Gtk3::Widget**.
  * Enumerated type `N-GdkEventMask` has a wrong name and is renamed to `GdkEventMask`. All enumerated types are without the leading N-. The N- prefix is used for native structures and classes like `N-GObject`, `N-GError`, `N-GdkRectangle`, etcetera. It won't break anything because it is not used as a type on parameters. It is mainly used for its members which are or'ed into a mask and sent/received as an `Int`.

* 2021-03-22 0.36.5:
  * Improve docs of **Gnome::Gtk3::Window** and tests.
  * Bugfixed; method `Gnome::Gtk3::Window.set-icon()` called the native sub without the icon argument.

* 2021-03-18 0.36.4:
  * Improve documentation of **Gnome::Gtk3::Widget** and  **Gnome::Gtk3::MenuButton**. Also methods are added and new tests.

* 2021-03-02 0.36.3:
  * Removed dependency on **Gnome::Glib::OptionContext**. All classes needed to process commandline arguments, like this one, are removed or not implemented until I am realy sure that it will add more functionality than we already have using `MAIN()`, `USAGE()` and `@*ARGS`. Besides that, a lot of option processing modules are available. Take for example **Getopt::***, there are _**11**_ modules!.

* 2021-03-02 0.36.2:
Please note that in this version a few API modifications are made to some of the methods, e.g. in **Gnome::Gtk3::ColorChooser**. In the future more of this kind of changes will take place because of the implementation of real methods as opposed to the search methods starting in a FALLBACK().
Implementation of methods alongside each native subroutine was started because it made the access to the native subroutines faster.
Because those methods are then implemented in the same module, it is also clear, most of the time, what type of object is returned. It is then also possible to return the raku object instead of the native object.
Other changes are also applied. For instance, `gboolean` values become truly `Bool` instead of the `Int` returned from the native sub. Also enumerated values can be correctly returned through the use of the method.

For example originally the call to `gtk_color_chooser_get_rgba()` defined in **Gnome::Gtk3::ColorChooser**, you had to do;
```
my Gnome::Gdk3::RGBA $r .= new(:native-object($ccd.get-rgba));
```
while now you can
```
my Gnome::Gdk3::RGBA $r = $ccd.get-rgba;
```
My sincere apologies for breaking code 😐. It is however not possible, to my knowledge, to create multi's based on return types. For the moment, the calls to any of the routines `gtk_color_chooser_get_rgba()` and `get_rgba()`still work, though not documented anymore. At a later date, a deprecation warning will be given and after some while later, all the undocumented routines are removed.

* 2021-02-17 0.36.1:
  * Adjusted **Gnome::Gtk3::Application**. It inherits from **Gnome::Gio::Application** so it was not necessary to implement the role **Gnome::Gio::ActionMap** because **Gnome::Gio::Application** already does that.
  * Remove calls to `_orientable_interface()` and method in **Gnome::Gtk3::Orientable**.
  * Updated docs and tests of **Gnome::Gtk3::Buildable** and **Gnome::Gtk3::Main**.
  * Initializing **Gnome::Gtk3::Main** is now without calling `.init-check()`, option `:check` to `.new()` has no function anymore. Call `.init-check()` explicitly if need be. Most of the time working with any class inheriting from **Gnome::GObject::Object** has this part covered.
  * Added new interface **Gnome::Gtk3::Actionable**.
  * Updated docs and tests of **Gnome::Gtk3::ColorChooser**. Also found bugs in modules using ColorChooser. Those modules did not correctly found the signal `color-activated` from the interface.

  * There are some changes `Gnome::Gio`;
  * Added and improved are Action, SimpleAction, ActionGroup and SimpleActionGroup.
  * The MenuModel is split up in MenuModel, MenuAttributeIter and MenuLinkIter.
  * Add new module **Gnome::Gio::Menu**. Directly split into Menu and MenuIter.

  * Also Some changes in `Gnome::GObject`;
  * Added a new named argument to the call to a signal handler. Besides `:$_widget` and `:_handlder-id` the argument `:_native-object` is added. Usable when the value in `$_widget` is invalid.

* 2021-01-21 0.36.0:
  * New role **Gnome::Gtk3::RecentChooser**. This module is now used in an older module **Gnome::Gtk3::RecentChooserMenu**.
  * Building up the rest of the recently used files modules with **Gnome::Gtk3::RecentManager**, **Gnome::Gtk3::RecentInfo**, **Gnome::Gtk3::RecentFilter**, **Gnome::Gtk3::RecentChooserWidget** and **Gnome::Gtk3::RecentChooserDialog**.

* 2021-01-18 0.35.1:
  * New module **Gnome::Gtk3::CheckMenuItem**, **Gnome::Gtk3::SeparatorMenuItem** and **Gnome::Gtk3::RadioMenuItem**.
  * Document fixes of MessageDialog module.

* 2021-01-11 0.35.0:
  * Grid and Orientable speedup with new methods. Tests and benchmarking added and docs improved.
  * New module **Gnome::Gtk3::Fixed**

* 2021-01-11 0.34.9:
  * Test cut off by check of `raku_test_all` env variable to shorten total test time.

* 2021-01-07 0.34.8:
  * Document fixes of Scale module and add UML diagram.

* 2021-01-06 0.34.7:
  * Scale speedup with new methods. Tests and benchmarking added and docs improved.

* 2021-01-03 0.34.6:
  * **Gnome::Gtk3::Label** speedup with new methods. Tests and benchmarking added and docs improved.
  * Bugfix in TreeModel. Caused by changes in helper function `_f()` in **Gnome::N::TopLevelClassSuppert**.

* 2020-12-29 0.34.5:
  * Bugfixes in **Gnome::Gtk3::AboutDialog**.

* 2020-12-21 0.34.4:
  * Speeding up **Gnome::Gtk3::Assistant** and modify documents. Also make Assistant inheritable.

* 2020-12-21 0.34.3:
  * **Gnome::Gtk3::AboutDialog** speedup by adding methods for many native subroutines. Speedup is about 8 times faster. Documentation is modified to show the most useful call. Also **Gnome::Gtk3::Widget** has a few methods added which gives a speedup of about 2.5 times.
  * Testing of some modules is shortened. The idea is to do it with all test scripts. Setting an environment variable `raku_test_all` will then run through all tests. This will make the testing phase shorter. However, installing will still take much time.

* 2020-11-24 0.34.2:
  * Bugfixes in tests

* 2020-11-24 0.34.1:
  * Doc changes;
  - using **Gnome::N::GlibTorakuTypes**, types are replaced with types from that module giving a benefit of central coordination of glib types while keeping the native subs as closely as they are described.
  * AboutDialog