Close branch feature/plugin-errors
2020-05-21, Gary Kramlich
Close branch feature/plugin-errors
* Changed the website to the repository on
(Gary Kramlich)
* Removed an unnecessary meson version check. (Gary Kramlich)
* Bumped the required meson version to 0.50.0. (Gary Kramlich)
* Removed as it was used in the cmake build system.
(Gary Kramlich)
* Removed GPluginVersionCompareFunc and the GPluginPluginInfo::version-func
property as they aren't necessary with semantic versioning. (Gary Kramlich)
* Fixed licenses throughout the codecase. (Richard Laager)
* Added new plugin state UNLOAD_FAILED. When a plugin fails to unload, it
now goes to UNLOAD_FAILED instead of LOADED. (Gary Kramlich)
* Added gplugin_manager_foreach and GPluginManagerForeachFunc to make it
easier to operate on all plugins. (Gary Kramlich)
* Added GPluginManager::unload-plugin-failed signal that gets emitted when
a plugin fails to unload.
* Renamed the GPluginManager::load-failed signal to
GPluginManager::load-plugin-failed and added the error, if any, that the
plugin returned. (Gary Kramlich)
* Added gplugin_manager_find_plugin_with_newest_version. (Gary Kramlich)
* Added an "error" property to GPluginPlugin with a getter. (Gary Kramlich)
* Removed the error parameter from the "plugin-load-failed" and
"plugin-unload-failed" signals. Call gplugin_plugin_get_error instead.
(Gary Kramlich)
* Updated the GPluginGtkView widget to disable entries if there are in the
* Updated the GPluginGtkPluginInfo widget to display the "error" property if
it is set, or "(none)". (Gary Kramlich)
Lua Loader
* Removed the moonscript support from the Lua loader. (Gary Kramlich)
* Add support for Lua 5.3. (Richard Laager)
Perl Loader
* After years of on again, off again work, the Perl loader finally works!
(Gary Kramlich, Richard Laager)
Python Loader
* Bumped the Python 3 dependency to 3.5. (Gary Kramlich)
* Replaced mbstowcs with Py_DecodeLocale. (Gary Kramlich)
* Renamed the python loader from gplugin-python to gplugin-python3.
(Gary Kramlich)
0.29.0: 2019/11/07
* Synchronize GPluginGtkStore with the plugin manager, make the enabled
toggle button work in GPluginGtkView, and allow developers to decide
whether or not to show column headers in GPlugingGtkView. (PR #37)
(Gary Kramlich)
* Added error messages when the unload method of a plugin loader is called.
(PR #38) (Gary Kramlich)
0.28.2: 2019/10/31
* Fixed a broken include in gplugin-gtk-plugin-info.h which caused build
* Fixed an issue where python3.8 no longer links to libpython.
0.28.1: 2019/09/30
* Fix a bug that scanbuild found in test-plugin-info (Gary Kramlich)
* Fix an issue pvs-studio found for using g_set_error instead of
g_error_set_literal (PR #34) (Gary Kramlich)
* Clean up the rpm file (PR #29) (Gary Kramlich)
* Fix the build when being built as a subproject in meson (PR #28) (Gary
* Fix building the Lua loader on FreeBSD (PR #25) (Gary Kramlich)
* Look for plugins with both .so and .dylib extensions on MacOS (PR #16)
(Gary Kramlich)
* Fix a segfault in GPluginFileTree (PR #15) (Olaf Hering)
* Fix valgrind and other memory issues (PR #11, PR #12) (Elliot Sales de
* Fix warnings from Python headers (PR #10) (Elliott Sales de Andrade)
* Use g_set_error (PR #6) (Elliott Sales de Andrade)
* Use g_clear_pointer (PR #6) (Elliott Sales de Andrade)
* Use g_clear_object (PR #6) (Elliott Sales de Andrade)
* Use g_value_dup (PR #6) (Elliott Sales de Andrade)
* Remove null checks from g_strdup (PR #6) (Elliott Sales de Andrade)
* Make sure testing asserts can't be disabled (PR #6) (Elliott Sales de
* Fix some potential reference counting bugs (PR #6) (Elliott Sales de
* Removed checks for glib < 2.40 as that's our required minimum now. (PR #6)
(Elliott Sales de Andrade)
* Replaced GPLUGIN_UNUSED with G_GNUC_UNUSED (PR #6) (Elliott Sales de
* Created VAPI for Vala Bindings. (#76) (Gary Kramlich)
* Added docs for Vala. (#76) (Gary Kramlich)
Python Loader
* Use Py_CLEAR and Py_XINCREF on private attributes (PR #6) (Elliott Sales de
Perl Loader
* Made it compile again (still incomplete) (PR #7) (Elliott Sales de Andrade)
TCC Loader
* Made it compile again, disabled by default (PR #7) (Elliott Sales de
0.28.0: 2019/01/22
* Fixed building on OSX with homebrew
* Added an RPM spec file
* Changed the build system to meson. See INSTALL for instructions.
* Added gplugin_plugin_get_dependent_plugins. (fixes #8)
* Remove ability to disable unit testing.
* Bumped the glib requirement to 2.40.0
* Added gtk-doc
* Added a Glade catalog for gplugin-gtk
* Added GPluginGtk-0.0.gir
0.27.0: 2016/04/18
* Bumped the glib requirement to 2.34.0
* Fix some error reporting with the native loader
0.26.0: 2016/03/03
* Added a load-failed signal which is emitted when a plugin fails to load
* Removed pre glib 2.32.0 code
0.25.0: 2016/02/06
* Fix a regression where the GIR file did not have a predictable name.
* Fix the glib requirement. It was set at 2.20, but we require 2.32.
0.24.1: 2016/01/28
* Fixed the version numbering finally
* Updated the version in CMakeLists.txt
0.0.24: 2016/01/28
* Really fixed the debian package this time
* Made help2man optional
* Don't try to build the pot files if NLS is disabled
0.0.23: 2016/01/06
* Made the moonscript tests option work
* Added to explain how to use the Debian repository
* Install man pages in the correct directory on BSD
0.0.22: 2015/06/30
* Made the moonscripts tests not interfer with the lua tests unless they're
explicitly turned on
* Set the -ggdb cflag if we're being compiled by gcc
0.0.21: 2015/06/29
* Use the GNUInstallDirs cmake module to install everything to the correct
locations. - Elliott Sales de Andrade
* Added -L, --list option to gplugin-query to show the search paths it is
* Added an option to toggle whether or not the moonscript tests are run.
Defaults to no.
0.0.20: 2015/05/07
* Fixed the lua dependency checks for Fedora 20
* Fixed the build on cmake<3.0.0
0.0.19: 2015/05/06
* Add debug packages to the Debian packaging
* Add libgplugin-loaders package to the Debian packaging
* Removed the Seed JavaScript loader (issue #63)
* Removed the GNOME JavaScript loader (issue #64)
* Fixed crash in gplugin-gtk-viewer (issue #25)
0.0.18: 2015/02/22
* Add a dist target to build and sign source archives
0.0.17: 2014/12/12
* Finished the gjs loader.
* Relicensed to LGPL2.
* Created the Debian packaging.
* Add an option to disable unit testing
0.0.16: 2014/05/05
* Added luajit as the first Lua library to try to use.
* Added moonscript support to the Lua loader.
* Added a help field to GPluginPluginInfo.
0.0.15: 2014/03/15
* Added support to build against lua 5.2 (Elliott Sales de Andrade)
* Fixed issue #45 (Elliott Sales de Andrade)
* Updated some unit tests for deprecation in Glib 2.38 (Elliott Sales de
* Fixed issue #46 (John Bailey)
* Moved the Python loader to Python3 only (Elliott Sales de Andrade)
* Added the typelib and gir files as dependencies for all loaders that
require if (Elliott Sales de Andrade)
0.0.14: 2014/01/25
* Added the Seed JavaScript loader.
0.0.13: 2014/01/23
* Removed the gplugin-native API from the gobject-introspection repository.
* Added support for versions in plugin dependencies as well as OR's.
0.0.12: 2014/01/08
* Added a static library to make it easier to test loaders.
* Moved the native loader to the loader-testing static library
* Overhauled the native loader tests
* Fixed a bug where in certain conditions a load-on-query plugin that failed
to load, would get its info tracked twice.
0.0.11: 2013/12/02
* Added gplugin_get_option_group which implements options for adding paths
as well as not adding the default paths.
* Fixed an issue with dependencies in native plugins.
* Fixed some use count issues in native plugins.
* GPluginManager now manages the the states for plugins so the loaders don't
have to.
0.0.10: 2013/11/01
* Got the gplugin-gtk stuff working for the most part
* Implemented the Lua loader
* Renamed the external methods for native plugins to remove the redundant
_plugin in their names
* Renamed the external methods for python plugins to remove the redundant
_plugin in their names
0.0.9: 2013/10/13
* Renamed GPluginPluginLoader to GPluginLoader
* Renamed GPluginPluginManager to GPluginManager
* Updated the gplugin_manager_* API to use a singleton that has signals for
loading, loaded, unloading, and unloaded. Use gplugin_manager_get_instance
to get the instance to use in g_signal_connect. Signals are
"loading-plugin", "loaded-plugin", "unloading-plugin", and "loaded-plugin".
See the documentation for the prototype expected for the callbacks.
* Various internal cleanups
0.0.8: 2013/09/22
* Fixed some issues with loading Python plugins (#16)
* Removed the flags property and replaced it with an internal and
load-on-query properties. Both of which default to FALSE. Closes #15
* Various fixes for gplugin_native_plugin_(un)?use from Ankit
0.0.7: 2013/09/01
* Cleaned up the output of gplugin-query considerably
* Fixed the load on query flag so that it actually works
* Finding and fixed an issue with type registration
* Fixed GObjectIntrospection.cmake to correctly handle CMAKE_INSTALL_PREFIX
* Added internationalization support
* Got the Python loader working
0.0.6: 2013/08/25
* Added GPluginPluginInfo:version-func which can hold a
GPluginVersionCompareFunc that's used to compare versions of the plugin.
* Fixed the multiple id crash issue
0.0.5 2013/08/16:
* Added a "category" property to GPluginPluginInfo
* Changed GPluginPluginInfo:dependencies from a GSList to a gchar *
* Implemented gplugin_plugin_info_new (again) this time with id and
abi_version required
* Renamed GPluginPluginInfo:author to GPluginPluginInfo:authors
* Changed GPluginPluginInfo:authors and GPluginPluginInfo:dependencies from
gchar * to gchar **. See the unittest plugins for an example of how they
* Some more updates for gplugin-query. This needs to be much easier to
maintain, but it's working a bit better.
* Changed GPluginPluginInfo:license to GPluginPluginInfo:license-id
0.0.4: 2013/08/10
* Added the install path as a default for gplugin-query
* Added an option to gplugin-query to not use the default paths
* Fixed a bug in gplugin_plugin_manager_remove_path
* Made some changes to the python loader, still far from working
* Fixed gplugin_plugin_manager_add_app_paths to use g_build_filename instead
of g_build_path.
* Fixed some leaks involving GPluginPluginInfo
* Avoid a crash if no paths are added
* Don't show internal plugins by default in gplugin-query, use -i to see them
* Removed gplugin_plugin_info_new for now (this may make a comeback)
* Set GPluginInfoClass's parent to GInitiallyUnownedClass
* Updated the target names in GObjectIntrospection.cmake to be the filenames
that are produced.
* Added license_text and license_url to GPluginPluginInfo
* Lots of documentation updates, more to go yet
* Added a -D option to gplugin-query to not use the default paths
* Updated the query, load, and unload functions of native plugins to take
a GError.
0.0.3: 2013/07/30
* Added gplugin_plugin_manager_add_app_paths
* Moved GPluginPluginInfo from a boxed type to a GObject
* Added gplugin_[gs]et_plugin_info_type to allow applications to specify
a GPluginPluginInfo subclass for plugins to create.
0.0.2: 2012/04/29
* Fixed the broken pkg-config file...
* Added gplugin_plugin_manager_list_plugins
* Added gplugin-query to query the plugins that gplugin knows about
0.0.1: 2012/04/29
* Initial release
* Basic native plugin loading/unloading supported with dependencies