summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorChristian Hergert <chergert@redhat.com>2023-03-22 16:44:31 -0700
committerChristian Hergert <chergert@redhat.com>2023-03-22 16:44:31 -0700
commit37b9fae8ab0f31f64761762cb1693807add68613 (patch)
treece2d72f42b97fa679f7bf56076b6978d9354f878 /NEWS
parentc68ecac0025caa5fa2401deff41d3b1959062600 (diff)
downloadlibpeas-37b9fae8ab0f31f64761762cb1693807add68613.tar.gz
janitorial: clean up tree in preparation for libpeas-2.0
This starts the process of working towards a new Libpeas 2.0 ABI. The goals of this ABI break are: * Modernize and cleanup GObject usage within libpeas * Use GObject's in more places to allow for better GIO integration * Implement GListModel where it makes sense * Remove GTK 3 and GTK-based APIs as those are trivial to implement in applications with GTK 4 and newer. * Drop Python 2 support * Simplify support for new plugin loaders # Conflicts: # NEWS # meson.build
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS600
1 files changed, 32 insertions, 568 deletions
diff --git a/NEWS b/NEWS
index 3653bad..4e2d19c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,587 +1,51 @@
-Overview of Changes in libpeas 1.36.0
-=====================================
+# Libpeas 1.99.0
-* PeasExtensionSet now implements GListModel
-* libpeas now requires GLib 2.44 or newer for GListModel
-* Translation updates:
- - Interlingue
- - Turkish
+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.
-As a note to packagers, we'd like to mention that there is an intention to
-release a new libpeas-2 ABI for GNOME 45 to fix a number of longstanding
-needs which can only be resolved with an ABI break.
+This allows libpeas to improve API ergonomics as well as implement features
+which will improve integration with GTK 4.
-Overview of Changes in libpeas 1.34.0
-=====================================
+## Removals
-* Resource-based plugins are sorted by module-name before loading
- to aid in reproducibility.
-* Sorting of plugins with dependencies has been altered to improve
- sort-order with more complex plugin dependency graphs.
-* Translation updates:
- - Hebrew
- - Georgian
- - Bulgarian
+### Removal of libpeas-gtk
-Overview of Changes in libpeas 1.32.0
-=====================================
+libpeas-gtk is not part of libpeas-2.
-* Icon licenses have been corrected
-* Parallel build system operation fixes
-* Various build warnings squashed
-* Various GIR data that should not have been exported was removed
-* Use gi-docgen for documentation
-* Translation updates:
- - Russian
- - Abkhazian
- - Nepali
- - Occitan
- - Icelandic
- - Hebrew
- - Belarusian
+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.
-Overview of Changes in libpeas 1.30.0
-=====================================
+### Reoval of PeasActivatable
-* Build system improvements
-* Improvements when running on Windows
-* Translation updates:
- - Galician
- - Greek
- - Norwegian Bokmål
- - Punjabi
+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.
-Overview of Changes in libpeas 1.28.0
-=====================================
+### Removal of Python 2 support
-* Do not build tests when introspection is disabled/missing
-* add missing locale.h include
-* Translation updates:
- - Chinese (China)
- - Portuguese
- - Ukrainian
+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.
-Overview of Changes in libpeas 1.26.0
-=====================================
+### Deprecated API
-* Simplified i18n usage
-* Build system fixes
-* Translation updates:
- - British English
- - Malay
- - Slovak
+Previously deprecated API has been removed from libpeas such as the very
+old GObject Introspection integration using "call" on extension objects.
-Overview of Changes in libpeas 1.25.3
-=====================================
+## List Models
-* Fix access to peas_gettext()
-* Fix duplicate rename-to annotations
-* Tighten symbol availability for GLib symbols
-* Fix various tests to work with G_DISABLE_ASSERT
-* Fix building with luajit
-* Add peas_extension_set_new_with_properties() to aid in using libpeas
- from language bindings
-* Fix naming of Python2 loader
-* Remove use of undocumented -export-dynamic
-* Fis use of PeasExtension with GInitiallyUnowned
-* Build fixes for macOS
-* Fixes to pkg-config files
-* Translation updates:
- - Chinese (Taiwan)
- - Danish
- - Dutch
- - Galicians
- - Persian
+### PeasEngine
-Overview of Changes in libpeas 1.24.0
-=====================================
+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.
-* Setup troubleshooting environment when running automated tests
-* Translation updates:
- - Brazilian Portuguese
- - German
- - Italian
- - Turkish
+Additionally, you can easily filter lists based on type-to-search with
+GtkFilterListModel, more than you could ever do with libpeas-gtk.
-Overview of Changes in libpeas 1.23.92
-======================================
+### PeasExtensionSet
-This is a RC release for the upcoming GNOME 3.34 release.
+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.
-* Fix soname usage to match 1.22.x
-* Fix typo in deprecation ignores
-* Fix gtk_menu_popup() deprecations
-* Fix meson build warning
-* Translation updates:
- - Basque
- - Catalan
- - Croatian
- - Czech
- - Finnish
- - French
- - Friulan
- - Galician
- - Hungarian
- - Japanese
- - Korean
- - Lithuanian
- - Polish
- - Romanian
- - Serbian
- - Spanish
- - Swedish
-
-Overview of Changes in libpeas 1.23.90.1
-========================================
-
-This is a followup release to yesterdays 1.23.90 which includes a
-fix to ensure that programs linking against libpeas-1.0 also link
-against gobject-introspection-1.0.
-
-Overview of Changes in libpeas 1.23.90
-======================================
-
-This release is the first to use the meson build system. Autotools
-has been removed. In most cases, the transition to meson should be
-relatively painless, and has many examples from other projects in
-the GNOME ecosystem to serve as examples.
-
-See meson_options.txt for the updated parameters.
-
-We'll have a series of .90, .91, .92 releases up to 1.24 if they
-are necessary following the GNOME release schedule for 3.34 in
-September.
-
-* Port to meson build system, autotools has been removed
-* Support for python3.8 in the python3 loader
-* Reduce warning impact of GParameter deprecations on API consumers
-* Fix a number of deprecations in internal API
-* Remove use of intltool in favor of gettext
-* Add versioning macros and hide non-public symbols
-* Translation updates:
- - Catalan
- - Dutch
- - Esperanto
- - French
- - Icelandic
- - Malayalam
- - Polish
-
-Thanks to everyone who provided patches along the way.
-
-Overview of Changes in libpeas 1.22.0
-====================================
-
-* Translation updates:
- - Catalan
- - Danish
-
-Overview of Changes in libpeas 1.21.0
-====================================
-
-* Consider all an interfaces potential properties
-* Fix PeasEngine virtual annotations
-* Allow extensions to be an Abstract Base Class
-* Cache an extension type's base class and interfaces
-
-* Translation updates:
- - Belarusian
- - Croatian
- - Simplified Chinese
-
-Overview of Changes in libpeas 1.20.0
-====================================
-
-* Translation updates:
- - British English
- - Friulian
- - Hebrew
- - Occitan
- - Polish
- - Portuguese
-
-Overview of Changes in libpeas 1.18.0
-====================================
-
-* Translation updates:
- - Latvian
- - Occitan
-
-Overview of Changes in libpeas 1.17.0
-====================================
-
-* Fix Python plugin loader module paths
-* Do not add pyexecdir to Python's paths at runtime
-* Add support for embedded C plugins
-* Order the PeasEngine:plugin-list by dependencies
-* Keep plugins order in PeasExtensionSet
-* Misc bugfixes
-
-* Translation updates:
- - Basque
- - Chinese
- - Lithuanian
- - Occitan
- - Serbian
- - Serbian (Latin)
-
-Overview of Changes in libpeas 1.16.0
-====================================
-
-* Translation updates:
- - Brazilian Portuguese
- - Chinese (Taiwan)
- - Danish
- - Finnish
- - French
- - Galicians
- - German
- - German
- - Greek
- - Indonesian
- - Italian
- - Kazakh
- - Korean
- - Lithuanian
- - Persian
- - Polish
- - Portuguese
- - Russian
- - Slovak
- - Slovenian
- - Swedish
- - Thai
-
-Overview of Changes in libpeas 1.15.0
-====================================
-
-* Add g_autoptr() autocleanup support
-* Fix Python tests on OpenBSD
-* Fix libpeas crash on windows
-* Simplify __all__ support in the Python plugin loader
-* Misc bugfixes
-
-* Translation updates:
- - Czech
- - Hungarian
- - Icelandic
- - Norwegian bokmål
- - Occitan
- - Romanian
- - Spanish
- - Turkish
-
-Overview of Changes in libpeas 1.14.0
-====================================
-
-* Misc bugfixes
-
-* Translation updates:
- - Aragonese
- - Bosnian
- - Chinese (Taiwan)
- - Danish
- - Finnish
- - French
- - Greek
- - Indonesian
- - Italian
- - Kazakh
- - Korean
- - Korean
- - Lithuanian
- - Norwegian bokmål
- - Polish
- - Serbian
- - Slovak
- - Slovenian
- - Swedish
- - Turkish
-
-Overview of Changes in libpeas 1.13.0
-====================================
-
-* Removed support for Seed plugins
-* Added support for Lua 5.1 plugins using the LGI bindings
-* PeasEngine is now thread-safe
-* Added support for non-global plugins loaders
-* Load C plugins with local linkage
-* Use Python to implement the plugin loader's logic
-* Support Python plugins that define __all__
-* Use Lua to implement the plugin loader's logic
-* Prevent the accidental escaping of globals with Lua plugins
-* Misc bugfixes
-
-* Translation updates:
- - Basque
- - Brazilian Portuguese
- - Czech
- - Friulian
- - Galician
- - Hebrew
- - Hungarian
- - Japanese
- - Kannada
- - Nepali
- - Russian
- - Spanish
- - Turkish
-
-Overview of Changes in libpeas 1.12.1
-====================================
-
-* Dist the GResources XML of the Python plugin loaders
-
-Overview of Changes in libpeas 1.12.0
-====================================
-
-* Add easy python profiling support
-* Disable GLib diagnostics in tests
-* Fix various deprecation warning from GTK+
-* Check return values from Python API
-* [osx] Check for bundle before resource path
-* Improved dependency-less support for OS X
-* Misc bugfixes
-
-* Translation updates:
- - Assamese
- - Bengali (India)
- - Brazilian Portuguese
- - Catalan
- - Catalan (Valencian)
- - Czech
- - Danish
- - French
- - Galicians
- - German
- - Greek
- - Gujarati
- - Hebrew
- - Hindi
- - Hungarian
- - Indonesian
- - Kannada
- - Korean
- - Lithuanian
- - Marathis
- - Norwegian bokmål
- - Oriya
- - Polish
- - Punjabi
- - Russian
- - Simplified Chinese
- - Slovenian
- - Spanish
- - Swedish
- - Tamil
- - Telugus
- - Traditional Chinese
-
-Overview of Changes in libpeas 1.10.1
-====================================
-
-* Fix initializing Python loader from Python application
-* Prevent and warn when trying to enable multiple loaders
-* W32: Allow shared libs to be built
-* Misc bugfixes
-
-Overview of Changes in libpeas 1.10.0
-====================================
-
-* Remove support for gjs-based Javascript plugins
-* Misc bugfixes
-
-Overview of Changes in libpeas 1.9.0
-====================================
-
-* Misc bugfixes
-
-* Translation updates:
- - Tajik
-
-Overview of Changes in libpeas 1.8.0
-====================================
-
-* Misc bugfixes
-
-* Translation updates:
- - Aragonese
- - Portuguese
- - Tadjik
- - Uyghur
-
-Overview of Changes in libpeas 1.7.0
-====================================
-
-* Add python3 loader
-
-* Translation updates:
- - Friulan
- - Kannada
- - Odia
-
-Overview of Changes in libpeas 1.6.2
-====================================
-
-* Fix gjs single-include issues
-
-* Translation updates:
- - Slovak
-
-Overview of Changes in libpeas 1.6.1
-====================================
-
-* Better SIGINT handling for python signals module
-
-* Translation updates:
- - Kannada
-
-Overview of Changes in libpeas 1.6.0
-====================================
-
-* Remove the vala demo plugin
-
-* Add min required and max allowed version for glib and Gdk
-
-* Translation updates:
- - Assamese
- - Bengali (India)
- - Galician
- - Gujarati
- - Hindi
- - Latvian
- - Marathi
- - Polish
- - Thai
- - Türkçe
-
-Overview of Changes in libpeas 1.5.0
-====================================
-
-* Warn if activate or deactivate are not implemented
-
-* Find extension construct properties also in interface prerequisites
-
-* Fix interface sorting in GJS and Seed
-
-* Added peas_engine_prepend_search_path
-
-* Added peas_plugin_info_get_external_data
-
-* Misc bugfixes
-
-* Translation updates:
- - Greek
- - Indonesian
-
-Overview of Changes in libpeas 1.3.0
-====================================
-
-* Extensions can now implement multiple interfaces.
-
-* Added GSettings API to PeasPluginInfo.
-
-* Misc improvement and fixes.
-
-* Translation updates:
- - Russian
- - Bulgarian
- - Brazilian Portuguese
- - Galicians
- - Danish
- - Serbian
- - German
- - Norwegian bokmål
- - Polish
- - Swedish
- - Belarusian
- - Telugu
- - Catalan (Valencian)
- - Catalan
- - Hebrew
- - Japanese
- - Slovenian
- - Czech
- - Spanish
-
-Overview of Changes in libpeas 1.2
-====================================
-
-* Fix using Python plugins.
-
-* Misc improvement and fixes.
-
-* Translation updates:
- - Assamese
- - Esperanto
- - Telugu
-
-Overview of Changes in libpeas 1.1.4
-====================================
-
-* Fix to work with PyGObject 3.
-
-* Do not expose the peas_extension_set_call* API to GObject-Introspection.
-
-* Disable log hooks used by PyGObject and Seed.
-
-* Doc updates.
-
-* Misc improvement and fixes.
-
-* Translation updates:
- - Asturian
- - Thai
-
-Overview of Changes in libpeas 1.1.3
-====================================
-
-* Do not expose the PeasExtension API using GObject-Introspection
-
-* Misc improvement and fixes.
-
-Overview of Changes in libpeas 1.1.2
-====================================
-
-* Doc updates.
-
-* Link against pygobject 3.
-
-* Do not cast pointers to unsigned integers.
-
-* Translation updates:
- - Indonesian
-
-Overview of Changes in libpeas 1.1.1
-====================================
-
-* PeasExtension has been deprecated
-
-* You should be able to use C plugins without GObject-Introspection.
-
-* The plugin manager's disable plugins dialog will no longer show
- hidden plugins.
-
-Overview of Changes in libpeas 1.1.0
-====================================
-
-* Add support gjs-based Javascript extensions
-
-* Seed Javascript extension support improvements
- - Use the new() keyword to instantiate new Javascript extensions.
- - Previously used "copied arrays" have been deprecated.
- - Allow using prototypes when defining new extensions.
-
-* Add peas_extension_set_foreach()
- - Also deprecate the old peas_extension_set_call() method as a result.
-
-* Drop support for Gtk+ 2
-
-* Translation updates:
- - Lithuanian
- - Japanese
- - Turkish
- - Esperanto
- - Persian
- - Catalan (Valencian)
- - Finnish