* Nothing yet, be the first!! * Fix plugin searching with Glib 2.69. (RR 856) (Elliott Sales de Andrade) * Look for Perl in additional paths. (RR 851, 864) (ivanhoe) * Override our dependency in meson if we have a new enough meson. (RR 837) * Converted the GPluginManager API to take an instance of a GPluginManager instead of just working working on a library managed instance. (RR 862) * Update all of the basic plugins to verify that they were called with the proper arguments. (RR 817) (Gary Kramlich) * Check for all known and supported Python3 pkg-config files. (RR 832) (Gary * Bump the meson minimum version to 0.56.0 and start using the summary function. (RR 849) (Gary Kramlich) * Move the management of plugins state from GPluginManager to GPluginLoader. * Expose the GPluginManager object. This is the first step in updating the API to make it match the manager objects that we've been building in libpurple and Pidgin. (RR 689) (Gary Kramlich) * Added provides and priority properties to GPluginPluginInfo. (RR 691) (Gary * Added an option to install gplugin-query. (RR 159) (GPLUGIN-129) (Sorvival) * Added an option to install gplugin-gtk-viewer. (RR 159) (GPLUGIN-129) * Changed the symbol bind logical for native plugins to bind locally by default. (RR 108) (GPLUGIN-119) (Gary Kramlich) * Added a parameter of type GPluginCoreFlags to gplugin_init. (RR 110) (GPLUGIN-103) (Gary Kramlich) * Added gplugin_plugin_info_get_id_normalized. (RR 131) (GPLUGIN-128) * Added a macro to make it easier to implement native plugins and to future proof them a bit. (RR 578) (GPLUGIN-132) (Gary Kramlich) * Changed the website to the repository on keep.imfreedom.org. * Removed an unnecessary meson version check. (Gary Kramlich) * Bumped the required meson version to 0.50.0. (Gary Kramlich) * Removed gplugin-version.sh.in as it was used in the cmake build system. * Fixed licenses throughout the codebase. (Richard Laager) * Removed GPluginVersionCompareFunc and the GPluginPluginInfo::version-func property as they aren't necessary with semantic versioning. (Gary Kramlich) * 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. * Updated the GPluginGtkView widget to disable entries if there are in the GPLUGIN_PLUGIN_STATE_LOAD_FAILED state. (Gary Kramlich) * Updated the GPluginGtkPluginInfo widget to display the "error" property if it is set, or "(none)". (Gary Kramlich) * Removed the moonscript support from the Lua loader. (Gary Kramlich) * Add support for Lua 5.3. (Richard Laager) * After years of on again, off again work, the Perl loader finally works! (Gary Kramlich, Richard Laager) * 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. * 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) * Added error messages when the unload method of a plugin loader is called. * Fixed a broken include in gplugin-gtk-plugin-info.h which caused build * Fixed an issue where python3.8 no longer links to libpython. * 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 spec.in 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) * 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) * Use Py_CLEAR and Py_XINCREF on private attributes (PR #6) (Elliott Sales de * Made it compile again (still incomplete) (PR #7) (Elliott Sales de Andrade) * Made it compile again, disabled by default (PR #7) (Elliott Sales de * Fixed building on OSX with homebrew * 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 a Glade catalog for gplugin-gtk * Added GPluginGtk-0.0.gir * Bumped the glib requirement to 2.34.0 * Fix some error reporting with the native loader * Added a load-failed signal which is emitted when a plugin fails to load * Removed pre glib 2.32.0 code * 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. * Fixed the version numbering finally * Updated the version in CMakeLists.txt * Really fixed the debian package this time * Don't try to build the pot files if NLS is disabled * Made the moonscript tests option work * Added Debian.md to explain how to use the Debian repository * Install man pages in the correct directory on BSD * Made the moonscripts tests not interfer with the lua tests unless they're * Set the -ggdb cflag if we're being compiled by gcc * 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. * Fixed the lua dependency checks for Fedora 20 * Fixed the build on cmake<3.0.0 * 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) * Add a dist target to build and sign source archives * Finished the gjs loader. * Created the Debian packaging. * Add an option to disable unit testing * Added luajit as the first Lua library to try to use. * Added moonscript support to the Lua loader. * Added a help field to GPluginPluginInfo. * 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) * Added the Seed JavaScript loader. * Removed the gplugin-native API from the gobject-introspection repository. * Added support for versions in plugin dependencies as well as OR's. * 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. * 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 * 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 * Renamed the external methods for python plugins to remove the redundant * 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 * 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 * 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 * Added GPluginPluginInfo:version-func which can hold a GPluginVersionCompareFunc that's used to compare versions of the plugin. * Fixed the multiple id crash issue * 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 * 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 * 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 * 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 * 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 * 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. * Fixed the broken pkg-config file... * Added gplugin_plugin_manager_list_plugins * Added gplugin-query to query the plugins that gplugin knows about * Basic native plugin loading/unloading supported with dependencies