2019-09-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.60.1

2019-09-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::SocketControlMessage: Add deserialize_vfunc_callback()

	The deserialize vfunc in GLib is a class virtual function (not associated
	with an instance). Such functions don't exist in C++. But it must be wrapped
	in one way or another. g_socket_control_message_deserialize() assumes that
	all subclasses of GSocketControlMessage override this vfunc. A user-program
	can crash, if any subclass does not.

	This patch that does not add API. A more complete fix can be committed,
	when API can be added. Fixes #52

2019-08-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Disable warnings from deprecated GTimeVal and GTime

	GTimeVal and GTime have been deprecated in glib.
	They can't be deprecated in the stable glibmm-2-60 branch now.
	This patch makes it possible to build glibmm-2.60.x against the newest glib.
	This affects Glib::TimeVal, Glib::Date, Glib::DateTime and Gio::FileInfo.

2019-07-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Revert "Glib, Gio: Regenerate docs.xml and .defs files"

	This reverts commit 3fcc2bdeb4a8df2172d6cc453b9d07c6cc9eda0d.
	Changes in glib 2.61 should not have been added to glibmm 2.60

2019-07-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio: Fix ownership of some lists and arrays

	* gio/src/drive.hg: get_volumes(): Glib::OWNERSHIP_SHALLOW -> DEEP
	* gio/src/mountoperation.hg: signal_ask_question(): DEEP -> NONE
	A signal handler shall not deallocate its input data.
	* gio/src/themedicon.hg: get_names(): DEEP -> NONE
	* gio/src/tlsdatabase.[ccg|hg]: lookup_certificates_issued_by[_finish]_vfunc():
	g_list_copy() -> g_list_copy_deep()
	* gio/src/volumemonitor.hg: get_connected_drives(), get_volumes(),
	get_mounts(): SHALLOW -> DEEP

2019-07-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib, Gio: Regenerate docs.xml and .defs files

2019-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::DBus::Object::get_interface_vfunc(): Don't add global symbol

	The previous fix of Gio::DBus::Object vfuncs added a Glib::unwrap_copy()
	overload, which became a global symbol in the load module. Replace it
	with a local name in an anonymous namespace.

2019-07-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::DBus::Object: Fix refcounts in some vfuncs

	Gio::DBus::Object::get_interface_vfunc() and get_interfaces_vfunc()
	must add a reference to the returned DBus interfaces. The caller shall
	unref them. g_dbus_object_get_interface() and g_dbus_object_get_interfaces()
	are marked (transfer full).

2019-07-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::ustring docs: ustring can't always replace std::string

	Fixes #47

2019-07-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::init(), Gio::init(): Improve the documentation

	See issue #49

2019-07-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Variant<std::tuple<>>::create(): Fix memory leak

	Fixes #48

2019-07-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Update enum.pl and h2def.py for new glib deprecation macros

	* tools/enum.pl:  Don't replace MY_ENUMERATOR = '}' with MY_ENUMERATOR = ']'.
	Remove *_DEPRECATED_TYPE_IN_* and *_DEPRECATED_ENUMERATOR_IN_* when enum
	definitions are parsed.
	* tools/defs_gen/h2def.py: When parsing function declarations:
	Remove G_GNUC_BEGIN_IGNORE_DEPRECATIONS, G_GNUC_END_IGNORE_DEPRECATIONS
	and G_DECLARE_INTERFACE(*). Update the removals of *_DEPRECATED*
	and *_AVAILABLE_IN* so the new *_DEPRECATED_TYPE* and friends won't
	affect the result.

2019-06-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Properties example: Print the property values

2019-06-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Object, Thread: Use G_GNUC_{BEGIN,END}_IGNORE_DEPRECATIONS

	* glib/glibmm/object.[h|cc]: GParameter is really deprecated (not just
	mentioned in a comment). Use G_GNUC_{BEGIN,END}_IGNORE_DEPRECATIONS
	to avoid warnings.
	* glib/src/thread.hg: GLib ignores G_DISABLE_DEPRECATED.
	Use G_GNUC_{BEGIN,END}_IGNORE_DEPRECATIONS to avoid warnings.

2019-06-12  Daniel Boles  <dboles@src.gnome.org>

	Property: Clarify “manipulate” → read and/or write

2019-04-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Checksum, DateTime, TimeZone: Add TODO comments

	These classes shall have Glib::Value specializations, when we can add API.
	In the master branch, where API and ABI can be changed, they have been
	wrapped as _CLASS_BOXEDTYPE.

2019-04-18  Dainis Jonitis  <jonitis@gmail.com>

	Fix callback races in glibmm when source is destructed

	It is normal situation when glib main loop iterates sources on one
	thread where it checks whether source is still active and its callback
	functions can be called and glibmm Source being destroyed on other
	thread. Glibmm should check once again that callback_data and
	callback_funcs fields are still valid and GSource was not marked
	as inactive while its callback handlers are called.

	Fixes #41

2019-04-18  Martin Ejdestig  <marejde@gmail.com>

	Use convert_return_gchar_ptr_to_*() in a couple of ustring methods

	First attempt at fixing memory leak in make_valid() (see previous commit)
	used make_unique_ptr_gfree() directly because of looking at these methods.
	Better to use the helper function.

	This actually fixes undefined behavior for normalize() since
	g_utf8_normalize() is documented to return NULL if string is not a valid
	UTF-8 string. The constructor for std::string, which ustring uses for
	storage, that takes a pointer is documented to have undefined behavior if
	pointer is NULL. The utility function checks for NULL and uses the default
	constructor in that case. (Have not looked at implementation of Glib
	functions, and it may be that all std::string implementations Glibmm is
	used with handles this case, but good to avoid undefined behavior
	regardless, I think.)