Opened 19 months ago
Last modified 19 months ago
#18586 new enhancement
libpeas-2.0.0 (new ABI version, wait until something needs it)
Reported by: | Douglas R. Reno | Owned by: | blfs-book |
---|---|---|---|
Priority: | normal | Milestone: | 99-Waiting |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
New major version
Change History (3)
comment:1 by , 19 months ago
comment:2 by , 19 months ago
Lua 5.1 is enabled by default, we can disable it via -Dlua51=false
.
Gjs should be recommended or optional, it's enabled by default but can be disabled with -Dgjs=false
.
comment:3 by , 19 months ago
Milestone: | 12.1 → 99-Waiting |
---|---|
Summary: | libpeas-2.0.0 → libpeas-2.0.0 (new ABI version, wait until something needs it) |
eog-45.0 and gedit-46.1 still requires libpeas-1.
Note:
See TracTickets
for help on using tickets.
Libpeas 2.0.0
This release corresponds with GNOME 45.0.
Changes since 1.99.1:
Libpeas 1.99.1
This release corresponds with GNOME 45.rc.
It contains various build system improvements that were found when integrating 1.99.0 with various distribution channels.
Libpeas 1.99.0
This is the beginning of the libpeas 2.0 series. It breaks ABI with previous versions of libpeas and therefore can be installed along-side libpeas-1.0.
This allows libpeas to improve API ergonomics as well as implement features which will improve integration with GTK 4.
GJS
With libpeas-2 we are gaining a new plugin loader in GJS. This is the same JavaScript engine (powered by SpiderMonkey) that GNOME Shell uses and allows for modern JavaScript programming with clean integration of GObject.
This works using new-style JavaScript modules and recent feature additions to GJS. See https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/846 for more information.
Removal of libpeas-gtk
libpeas-gtk is not part of libpeas-2.
Application developers are encouraged to use GTK 4's integration with GtkListView and similar widgets with PeasEngine. It provides a GListModel implementation with PeasPluginInfo to bind into row widgets.
Removal of PeasActivatable
Interfaces are cheap and easy to create in GObject these days. Application developers are encouraged to create their own interfaces or base-objects which can implemented by their plugins.
Removal of Python 2 support
Everything of consequence is on Python 3 now. There is no need for us to maintain the Python 2 loader for new applications targeting libpeas-2.
Deprecated API
Previously deprecated API has been removed from libpeas such as the very old GObject Introspection integration using "call" on extension objects.
PeasEngine
The PeasEngine object now implements a GListModel of PeasPluginInfo. Now that PeasPluginInfo is a GObject, you may bind its properties to labels within rows of a GtkListView with relative ease.
Additionally, you can easily filter lists based on type-to-search with GtkFilterListModel, more than you could ever do with libpeas-gtk.
PeasExtensionSet
PeasExtensionSet is also a GListModel which improves situations where an application wants to limit which extensions within a set are active based on arbitrary conditions.