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

	2.62.0

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

	Fix comments in tools/test_scripts/testheaders.sh

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

	Glib::Checksum, DateTime, TimeZone: Add Glib::Value<> specializations

	With Glib::Value<> specializations these classes can be used in
	Glib::Value<> and _WRAP_PROPERTY.
	See https://mail.gnome.org/archives/gtkmm-list/2019-April/msg00012.html

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

	Deprecate Glib::TimeVal

	GTimeVal has been deprecated in glib.

	* examples/dbus/server_without_bus.cc:
	* examples/dbus/session_bus_service.cc: Replace TimeVal by DateTime.
	* gio/src/fileinfo.[ccg|hg]: Deprecate [set_]modification_time().
	Add set/get_modification_date_time().
	* glib/glibmm/timeval.[cc|h]: Deprecate most of TimeVal.
	* glib/src/date.[ccg|hg]: Deprecate set_time(const GTimeVal& timeval).
	* glib/src/datetime.[ccg|hg]: Deprecate create_now_local/utc(const TimeVal& tv)
	and to_timeval(). Add create_from_iso8601(), format_iso8601() and
	operator bool().
	* tools/m4/convert_glib.m4: Add a conversion for DateTime.

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

	Glib::Property: Update for compatibility with Gtk::Builder

	When an object is created by GtkBuilder, the GObject-derived C object is
	created and its properties set before there is a C++ wrapper to store
	the property values in. Glib::custom_set_property_callback() stores
	property values in a data structure reached via a GQuark in the object.
	PropertyBase::lookup_property() copies those property values to the
	PropertyBase objects when the C++ wrapper is created.

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

	Gio::SocketControlMessage: Add add_deserialize_func()

	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 adds API by adding code from the master branch. Fixes #52

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

	Gio::Application: Add add_option_group()

	Fixes #46

2019-09-16  Daniel Boles  <dboles@src.gnome.org>

	Property: Add const get_proxy() returning ReadOnly

	We could only get_proxy() if non-const and with a read/write Proxy. This
	resolves that so that we can get a read-only proxy from a const Property
	(without having to construct manually from the instance/name as before).

	Close https://gitlab.gnome.org/GNOME/glibmm/issues/44

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

	Glib::Property_ReadOnly: get_proxy() can be const

	Compare commit bfe785f44dffd7fcd4457f96b7b927092d08ee55 by Daniel Boles.

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

	Add Gio::DBus::ObjectManager*

	Add Gio::DBus::ObjectManager, Gio::DBus::ObjectManagerClient and
	Gio::DBus::ObjectManagerServer. Fixes #43

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

	Add Gio::DBus::ObjectProxy and Gio::DBus::ObjectSkeleton

	In preparation for adding Gio::DBus::ObjectManager, ObjectManagerClient
	and ObjectManagerServer. See issue #43.

2019-09-15  Krzysztof Piecuch  <piecuch@protonmail.com>

	ustring: Add make_valid()

	make_valid() replaces all non-UTF8 characters with replacement
	character (U+FFFD). Allows manipulating with ustring after you find
	out by ustring::validate() that it's not an UTF-8 string and you
	need to rescue it somehow. This wraps g_utf8_make_valid().

	https://bugzilla.gnome.org/show_bug.cgi?id=780075
	See also issue #40

	This commit includes part of MR !11 by Martin Ejdestig <marejde@gmail.com>,
	fixing a memory leak in the original make_valid().

2019-09-15  Daniel Boles  <dboles@src.gnome.org>

	ustring: Add sprintf(), wrapping g_strdup_printf()

	This is a manually squashed version of several commits in the master branch.
	Squashed by Kjell Ahlstedt.

	Fixes #21

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

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

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

2019-03-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.60.0

2019-03-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	giomm.h: Add missing #include directives

2019-03-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::NetworkManager: Add class documentation

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio: Add some API (AppInfo::launch_uris_async() etc.)

	* gio/src/appinfo.hg: Add launch_uris_async() and launch_uris_async().
	* gio/src/asyncresult.hg: _IGNORE g_async_result_legacy_propagate_error().
	* gio/src/dbusconnection.hg: Add get/property_flags().
	* tools/m4/convert_gio.m4: Add conversions for GDBusConnectionFlags.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib: Add some API (DateTime::get_timezone() etc.)

	* glib/src/datetime.[ccg|hg]: Add get_timezone().
	* glib/src/keyfile.hg: Add get_locale_for_key().
	* glib/src/timezone.hg: Add get_identifier().

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::Settings: Add property_settings_schema()

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio: Use _IS_REFCOUNTED_BOXEDTYPE where appropriate

	* gio/src/dbusintrospection.hg: Add _IS_REFCOUNTED_BOXEDTYPE to
	Gio::DBus::InterfaceInfo which is used in _WRAP_PROPERTY in Gio::DBus::Proxy.
	* gio/src/settingsschema.hg: Add _IS_REFCOUNTED_BOXEDTYPE. SettingsSchema is
	used in _WRAP_PROPERTY in Gio::Settings.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Add _IS_REFCOUNTED_BOXEDTYPE

	* glib/glibmm/value.h: Add Value_RefPtrBoxed<>.
	* tools/m4/class_opaque_refcounted.m4: Add _IS_REFCOUNTED_BOXEDTYPE, which can
	be used together with _CLASS_OPAQUE_REFCOUNTED. It generates a *_get_type()
	function and a Glib::Value specialization. A Glib::Value specialization is
	required, if the C++ class is used in _WRAP_PROPERTY.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::TlsClientConnection: Deprecate property_accepted_cas()

	It does not work because there is no suitable Glib::Value<T> specialization.
	get_accepted_cas() can be used instead.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Value: Add Value<std::vector<string>> specializations

	Add Value<std::vector<std::string>> and Value<std::vector<Glib::ustring>>.
	One of them is needed in _WRAP_PROPERTY("names", std::vector<Glib::ustring>)
	in Gio::ThemedIcon and in _WRAP_PROPERTYs in gtkmm.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::ThemedIcon: Add create(const std::vector<Glib::ustring>& iconnames)

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::AsyncResult: Explain why wrap() is not used in get_source_object_base()

	* gio/src/asyncresult.ccg: Replace a TODO comment with an explanation.
	* tests/giomm_asyncresult_sourceobject/main.cc: Add code that demonstrates
	why Glib::wrap(GObject* object, bool take_copy) returns an empty RefPtr.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib: Add some Glib::Value<> specializations

	* glib/glibmm/error.[cc|h]: Add operator bool(). Add Glib::Value<Glib::Error>
	so Glib::Error can be used in _WRAP_PROPERTY().
	* glib/glibmm/value.[cc|h]: Add Glib::ValueBase_Variant, base class of
	Glib::Value<VariantBase>.
	* glib/src/variant.[ccg|hg]: Add Glib::Value<VariantBase> which is
	needed in _WRAP_PROPERTY() in Gio:Action.
	* glib/src/varianttype.[ccg|hg]: Add Glib::Value<VariantType> which is
	needed in _WRAP_PROPERTY() in Gio:Action.

	All data types that occur in _WRAP_PROPERTY() must have correct Glib::Value<>
	specializations. In most cases missing Value<> specializations are noticed
	only during execution of code that calls an affected property_*() method.

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio: Remove NO_GTYPE from some _WRAP_ENUMs

	NO_GTYPE can't be used in _WRAP_ENUM if the enum is used in _WRAP_PROPERTY.
	The error is noticed only during execution of code that calls the generated
	property_*() method. Fixes #37

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Object construction: Add custom class init and instance init functions

	Make it possible for named custom types to register additions to the
	class init function and to register an instance init function.
	Fixes #33

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::TlsConnection: Deprecate rehandshake API

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::Application: Add signal_name_lost()

2019-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

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

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

	2.58.1

2019-01-20  Tapasweni Pathak  <tapasweni.pathak@ril.com>

	Add few installation instructions

2019-01-08  Daniel Boles  <dboles.src@gmail.com>

	Gio::Settings: Fix typo in deprecation notice

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

	Revert "Gio: Remove NO_GTYPE from some _WRAP_ENUMs"

	This reverts commit 17e3b167900b95986babeb8fcabd335881ea4d53.
	The reverted commit added new ABI. It must not be added to
	the glibmm-2-58 branch.

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

	Gio: Remove NO_GTYPE from some _WRAP_ENUMs

	NO_GTYPE can't be used in _WRAP_ENUM if the enum is used in _WRAP_PROPERTY.
	The error is noticed only during execution of code that calls the generated
	property_*() method. Fixes #37

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

	gmmproc: _WRAP_ENUM and _WRAP_GERROR: Add gtype_func parameter

	The M4 macro _GET_TYPE_FUNC() does not generate correct function names for
	GDBus* enums. This fix makes it possible to specify the function name in
	the call to _WRAP_ENUM or _WRAP_GERROR. See issue #37

2019-01-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tools/gen_scripts: Update for non-source-dir builds of glibmm-2.4

	jhbuild/modulesets/gnome-suites-core-deps-latest.modules has been changed
	to allow jhbuild to build glibmm-2.4 with builddir != sourcedir.

2018-12-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tools/gen_scripts/init_generate.sh: glibmm -> glibmm-2.4

	init_generate.sh was too quickly copied from the master branch.
	glibmm-2.4 shall use its own scripts and extra_defs_gen files.

2018-12-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	docextract_to_xml.py: Add --exclude-file option

	* tools/defs_gen/docextract.py:
	* tools/defs_gen/docextract_to_xml.py: Add -x or --exclude-file option.
	Useful when generating gio_docs.xml or (in gtkmm-3) gtk_docs.xml.
	Remove the -d and -o options, which have been accepted, but have done
	nothing.

2018-12-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tools/gen_scripts: Update for non-source-dir builds

	Most modules (e.g. glib) can be built in a directory separated from the
	source directory. Update the scripts that generate .defs and doc.xml files
	to handle that. See gtkmm!11.
	The environment variable JHBUILD_SOURCES is not used any more.
	Instead the environment variables GMMPROC_GEN_SOURCE_DIR and
	GMMPROC_GEN_BUILD_DIR are read. See comments in init_generate.sh.

2018-12-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gio/src/filelist.am: Remove giomm_files_[hg|ccg]

	They are defined also in gio/src/filelist.gmake.am. They should have been
	removed from filelist.am when filelist.gmake.am was created.

2018-12-17  Daniel Boles  <dboles@src.gnome.org>

	stringutils: Don't use @retval here either

	as pointed out by Kjell:
	https://gitlab.gnome.org/GNOME/gtkmm/merge_requests/9#note_389406

2018-12-16  Daniel Boles  <dboles@src.gnome.org>

	fileutils|IOChannel: Don’t use @retval on out args

	as it is for documenting particular values of the return variable.

	Replace @retval with @param[out], and while here, reorder some arguments
	in doc comments to match the order they have in function argument lists.

	See https://gitlab.gnome.org/GNOME/gtkmm/merge_requests/9 for more
	disussion on the rationale for this.

2018-12-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::TlsConnection: Disable deprecation warnings from glib

	g_tls_connection_[set,get]_rehandshake_mode() have been deprecated in glib/gio.
	They can't be deprecated in the stable glibmm-2-58 branch now.
	This patch makes it possible to build glibmm-2.58.x against the newest glib.

2018-10-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.58.0

2018-10-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.56.1

2018-10-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Add tools/gen_scripts/generate_all.sh

2018-10-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Update .gitignore

	The Visual Studio build files are now in MSVC_NMake, not MSVC_201x.

2018-10-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Update build instructions in README.win32

	Let people know how Visual Studio builds are now done via NMake
	Makefiles, and the various build options available.

2018-10-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	build: Remove Visual Studio 2015 projects

	Remove them as they have been superseded by the NMake Makefiles.

2018-10-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	build: Add NMake Makefiles

	This adds a set of NMake Makefiles that can be used to build glibmm with
	Visual Studio 2015 or later (2013 is not supported as it does not have
	enough C++-11 support).  These NMake Makefiles are now dist'ed instead
	of the Visual Studio 2015 projects as it is intended that the NMake
	Makefiles will replace the Visual Studio projects, for maintenance
	reasons.

	Note that for the C++11 versions of glibmm, we name the DLLs and LIBs in
	the form of <library>-vc140-2_4.[dll|lib] or
	<library>-vc140-d-2_4.[dll|lib] since for both Visual Studio 2015 and
	2017 builds as they both link to the Visual Studio v140 C/C++ runtimes.

2018-10-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	build: Split out automake-specific items from filelist.am's

	This will prepare the filelist.am's to be also usable with the NMake
	Makefiles, so that they can be shared with the autotools build files.

2018-10-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	builds: Rename MSVC_Net2015 as MSVC_NMake

	This is to prepare the transition the Visual Studio build files into
	NMake Makefiles.

2018-10-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tools/test_scripts/testheaders.sh: Fix a directory test

2018-10-07  Daniel Boles  <dboles@src.gnome.org>

	AsyncResult: Fix grammar error, <tt>ify enumerator

	This was not a grammar error before C++ification! But let’s fix it
	anyway, and give the enumeration name some nice formatting as well.

2018-08-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Avoid compiler warnings from function pointer conversions

	gcc8 -Wextra prints a warning when a single reinterpret_cast is used for
	conversion between different types of function pointers. The previous fix
	with a union in Glib::bitwise_equivalent_cast<>() is not standard C++.
	Rename the function to Glib::function_pointer_cast<>(), and use two
	reinterpret_casts as recommended in gcc's documentation.

	* glib/src/optiongroup.ccg: Use a reinterpret_cast to convert from
	a function pointer to void*. That's possible now. It's "conditionally
	supported", starting with C++11.

	See https://github.com/libsigcplusplus/libsigcplusplus/issues/8

2018-08-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC builds: Ensure we build variantdbusstring.cc

	...this was an added source file that ought to be included.  Also ensure
	that the corresponding header gets "installed".

2018-08-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC builds: Require Visual Studio 2015

	It was since 2.50.1 when we actually needed C++-11 features beyond what
	Visual Studio 2013 supports, so bump the required Visual Studio version
	to 2015, so that things will continue to build.

2018-07-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	configure.ac: Require glib-2.0 >= 2.55.1

	and update the bug report address in AC_INIT.

	Fixes #29

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

	Avoid compiler warnings from function pointer conversions

	gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
	between different types of function pointers. Avoid that by adding
	Glib::bitwise_equivalent_cast<>() with a union with members of
	the two types of function pointers.

	* glib/src/optiongroup.ccg: Use Glib::bitwise_equivalent_cast<>() to convert
	from a function pointer to void*.

	See https://github.com/libsigcplusplus/libsigcplusplus/issues/1

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

	Revert "Avoid compiler warnings from function pointer conversions"

	This reverts commit 5d953603f30f0452cb9da35e3083a3fc145c3f57.

	This can be done in a better way by keeping the union in a template function.

2018-07-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Avoid compiler warnings from function pointer conversions

	gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
	between different types of function pointers. Avoid that by instead using
	a union with members of the two types of function pointers.

	See https://github.com/libsigcplusplus/libsigcplusplus/issues/1

2018-07-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::MainContext: g_main_context_wait() is deprecated

	* glib/glibmm/main.cc: Add G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS.
	* glib/glibmm/main.h: Update the description of MainContext::wait().

2018-07-02  Daniel Boles  <dboles@src.gnome.org>

	SocketClient: Take copy in RefPtrs for signal args

	Without doing so, the C++ arguments take ownership of the C GObjects
	passed to the handler, so both go out of scope on exiting the handler.

	https://gitlab.gnome.org/GNOME/glibmm/issues/28

2018-05-20  Daniel Boles  <dboles@src.gnome.org>

	AsyncResult: Bin obsolete docs re: initing GThread

	As the GLib Threads documentation states:

	“Since version 2.32, the GLib threading system is automatically
	initialized at the start of your program, and all thread-creation
	functions and synchronization primitives are available right away.”

2018-04-26  Clemens Lang  <cal@macports.org>

	ustring: Fix wchar conversion on macOS with libc++

	libc++ internally represents std::wstrings in UCS-4 just like libstdc++,
	but does not set the __STDC_ISO_10646__ define. This caused the code to
	fall back to calling iconv with the WCHAR_T source character set, which
	does not correctly convert these strings and leads to errors, for
	example in inkscape on startup.

	See https://trac.macports.org/ticket/56214 for an instance of such
	a problem.

	Re-use the UCS4 to UTF8 conversion code when libc++ is detected, which
	solves this. Bug 795338

2018-03-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.56.0

2018-03-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::DesktopAppInfo: Add get_locale_string()

2018-03-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::Application: Add set_option_context_*()

	Add set_option_context_parameter_string(), set_option_context_summary(),
	set_option_context_description().

2018-03-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::Application: Add property_resource_base_path_string()

	property_resource_base_path() has the wrong return type, bool instead of
	std::string. It can't be fixed without breaking API/ABI. For now, deprecate
	property_resource_base_path() and add hand-coded
	property_resource_base_path_string() with the correct type. Bug 787496

2018-03-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::RefPtr: Add get()

	Analogous to std::shared_ptr::get(). Bug 495762

2018-03-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Module: Remove obsolete _IGNORE() directives

2018-03-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::AppInfo: Change some parameter names

2018-03-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::DataInputStream: Deprecate read_until() and friends

	Deprecate read_until(), read_until_async() and read_until_finish().
	The corresponding glib functions have been deprecated.

2018-03-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::TlsClientConnection: Deprecate set/get/property_use_ssl3()

	The corresponding glib functions have been deprecated.

2018-03-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

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

	* tools/extra_defs_gen/generate_defs_gio.cc: Add an initial call to
	get_defs(G_TYPE_APPLICATION) to make sure the first call to get_defs()
	requests info on a GObject, not a GInterface.

2018-03-02  Pavlo Solntsev  <pavlo.solntsev@gmail.com>

	member.m4: Add _MEMBER_SET_STR, setter for strings

	Introduce a macro to generate appropriate setter for a structure which
	has gchar* as a member. Bug 793778

2018-02-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::DataInputStream: Disable deprecation warnings from glib

	g_data_input_stream_read_until(), _read_until_async() and _read_until_finish()
	have been deprecated in glib/gio. They can't be deprecated in the stable
	glibmm-2-54 branch now. This patch makes it possible to build glibmm-2.54.x
	against the newest glib.

2018-01-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::TimeoutSource: Use monotonic time consistently

	* glib/glibmm/main.[cc|h]: Use Source::get_time() consistently.
	Remove a misleading sentence from the documentation of
	Source::get_current_time(). Bug 792524

2018-01-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::TlsClientConnection: Disable deprecation warnings from glib

	g_tls_client_connection_[set|get]_use_ssl3() and the use-ssl3 property
	have been deprecated in glib/gio. They can't be deprecated in the stable
	glibmm-2-54 branch now. This patch makes it possible to build glibmm-2.54.x
	against the newest glib.

2018-01-15  Daniel Boles  <dboles@src.gnome.org>

	Variant: Slightly elaborate Variant<Variant> docs

	Point out get_n_children() for checking nullable status, and copy the
	doc for Variant<VariantBase> to Variant< Variant<T> >.

	https://bugzilla.gnome.org/show_bug.cgi?id=778219

2017-12-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Threads::Private: Fix gobj()

	Bug 791711

2017-11-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::VariantBase::cast_dynamic(): Remove noexcept(false)

	noexcept(false) has the same meaning as no noexcept specification, but
	Doxygen adds "noexcept" instead of "noexcept(false)" in the detailed
	description of the method, which is confusing. Bug 789329

2017-10-23  Daniel Boles  <dboles@src.gnome.org>

	Variant: Fix typo: unclosed monospace tag

2017-10-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc, _WRAP_METHOD_DOCS_ONLY: Optionally suppress @return section

	Add an optional 'voidreturn' parameter that can be specified if the wrapped
	C function returns a value, but the corresponding C++ method returns void.
	Bug 787978

2017-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::Action: Add exception specs to errthrow

2017-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::KeyFile, OptionContext, Regex: Add exception specs to errthrow

2017-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: _WRAP_METHOD: Accept optional list of exceptions in errthrow

	In _WRAP_METHOD[_DOCS_ONLY], the errthrow parameter can now contain an
	optional list of exceptions with default value Glib::Error.
	Corresponding @throws Doxygen commands are included in the documentation,
	if the documentation does not contain other @throws commands (e.g.
	from *_docs_override.xml). Bug 787979

2017-09-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::DataInputStream: Fix the documentation of read_line_utf8()

	Hand-code the documentation of read_line_utf8() and read_line_finish_utf8().
	Use Glib::convert_return_gchar_ptr_to_stdstring() to set the output
	parameter. It handles the case when the char* is NULL.
	Minor fixes in the documentation of several other methods.

2017-09-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Suppress the @return section if return type is void

	If the wrapped C function returns a value, but the corresponding C++ method
	returns void, _WRAP_METHOD() suppresses the @return section in the
	documentation. Bug 787978

2017-09-20  Murray Cumming  <murrayc@murrayc.com>

	tests: Avoid unused function warnings from G_DECLARE_INTERFACE()

2017-09-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tests/glibmm_variant: Use C++14 features conditionally

	* glib/src/variant.hg: Add (void) to intentionally unused variables,
	thus avoiding warnings when the test case is built with clang++.
	* tests/glibmm_variant/main.cc: Use std::get<Number>(std::tuple)
	(not std::get<Type>()) when compiling with only C++11 support.
	Bug 787648

2017-09-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Variant: Avoid warnings from clang++

	Bug 787648

2017-09-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	2.54.1

2017-09-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Variant<std::tuple>: Don't use std::index_sequence from C++14

	std::index_sequence and std::index_sequence_for are new in C++14,
	but this version of glibmm requires only C++11.
	The code that replaces std::index_sequence has been provided by
	Jonathan Wakely <zilla@kayari.org>. Bug 787648

2017-09-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Convert all property documentation to C++

	Bug 787698

2017-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::Application docs: Add a note to property_resource_base_path()

	The type of property_resource_base_path() shall be std::string (is bool).
	Fixing this would break API and ABI. A fix has to wait until the next
	API/ABI break. For now, add a note to the documentation. Bug 787496

2017-09-13  Murray Cumming  <murrayc@murrayc.com>

	2.54.0

2017-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio::ActionGroup, Settings: Add detail_name to some _WRAP_SIGNAL()s

	* gio/src/actiongroup.hg: signal_action_added(), signal_action_removed(),
	signal_action_enabled_changed() and signal_action_state_changed() accept
	an 'action_name' parameter.
	* gio/src/settings.hg: signal_writable_changed() accepts a 'key' parameter.

2017-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Regenerate gio_signals.defs and gio_signals.defs.patch

2017-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	generate_extra_defs.cc: Write signal flags to .defs files

	Bug 785895

2017-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Write signal flags to generated documentation

	Bug 785895

2017-09-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Warn for unmatched deprecations in signals and properties

	Warn if a signal or a property is deprecated in the _WRAP_* macro,
	but not in the .defs file. (Warnings if a signal or a property is
	deprecated in the .defs file, but not in the _WRAP_* macro have been
	added previously.)

2017-09-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::Variant: Improved support for D-Bus object paths and signatures

	* glib/glibmm/filelist.am: Add variantdbusstring.h and variantdbusstring.cc.
	* glib/glibmm/variantdbusstring.[cc|h]: New files. String classes meant
	only for Variants with D-Bus object paths or D-Bus signatures.
	* glib/src/variant.[ccg|hg]: Add specializations for
	Variant<Glib::DBusObjectPathString>, Variant<Glib::DBusSignatureString>
	and Variant<std::vector<Glib::DBusObjectPathString>>.
	* glib/src/varianttype.[ccg|hg]: Add VARIANT_TYPE_OBJECT_PATH_ARRAY.
	* tests/glibmm_variant/main.cc: Add test_object_path().

	Make it possible to create a composite Variant containing variant type
	o (D-Bus object path) or g (D-Bus signature). Bug 785700

2017-09-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	tests/glibmm_variant: Add test of Variant<std::tuple>

	Bug 777791

2017-09-08  Alexander Rössler  <alexander.roessler@zuehlke.com>

	Glib::Variant: Add template specialization for std::tuple

	Bug 777791

2017-09-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Regenerate glib_signals.defs and gio_signals.defs

2017-09-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	generate_extra_defs.cc: Write default values of properties to .defs files

	Bug 785895

2017-09-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: Write default values of properties to generated documentation

	Bug 785895

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

	gmmproc: Accept curly braces in default values in _WRAP macros

	In C++11 default values of function arguments can contain curly braces,
	such as const Glib::RefPtr<SomeClass>& x = {}. Bug 783216 comment 13

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

	gmmproc: Remove obsolete TODO comments

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

	gmmproc: Fix _WRAP_ENUM for enumerators with apostrophes

	* tools/enum.pl: Handle enumerator values like 'B', 1u << 2, (gint)(1u << 31).
	Suppress repeated long warnings.
	* tools/pm/Output.pm: Handle enumerator values like 'B'. (1u << 2 and
	(gint)(1u << 31) require no fix.)

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

	Glib, Gio: docs_override.xml: Add substitute_enumerator_name elements

