summaryrefslogtreecommitdiff
path: root/NEWS
blob: 4e2d19c05019c7e521a4b40428c04d9476ffb3eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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.

## Removals

### 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.

### Reoval 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.

## List Models

### PeasEngine

The PeasEngine object now implements a GListModel of PeasPluginInfo. Now
that PeasPluginInfo is a GObject, you may bind it's 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.