2.88.0 (stable) 2026-03-18:

Glib:
* Markup::ParseContext: Add get_offset() and get_tag_start().
  (Kjell Ahlstedt)

Gio:
* Application: Handle empty description in add_main_option_entry().
  (Kjell Ahlstedt) Issue #124 (Tobias)

Documentation:
* Gio::File: Note where g_free() shall be called.
  (Kjell Ahlstedt)
* README.win32.md: Mention Visual Studio 2026, update build info
  (Chun-wei Fan) Merge request !69

gmmproc:
* tools/defs_gen/docextract: Improve extraction of enum enumerators.
  Fix the case when no enumerator is documented the old way
  in the enum block.
* tools/defs_gen/enumextract.py, h2def.py: Ignore G_GNUC_FLAG_ENUM
  before the name of an enum definition.
  (Kjell Ahlstedt)

Build:
* Require glib >= 2.87.3
* Meson build: Don't require the 'dot' command when creating
  documentation with Doxygen.
  (Kjell Ahlstedt)
* Meson build: Make Visual Studio 2026 builds distinct
* NMake Makefiles:
  - Make Visual Studio 2026 builds distinct
  - Reorganize, fix, and clean up a bit
  - Make m4 detection more flexible and robust
  - Make build process more robust
  (Chun-wei Fan) Merge request !69


2.86.0 (stable) 2025-09-19:

gmmproc:
* tools/defs_gen/docextract: Improve extraction of enum enumerators.
  New enumerators in glib, gtk, pango are usually documented with one
  enumerator per documentation block.
  (Kjell Ahlstedt)


2.85.0 (unstable) 2025-08-31:

Glib:
* Date: Add get_week_of_year() and get_weeks_in_year().
  (Kjell Ahlstedt)

Gio:
* InetAddress: Add get/property_scope_id(), get/property_flowinfo(),
  create(bytes, family, flowinfo, scope_id).
* ZlibCompressor: Add get/set/property_os().
  (Kjell Ahlstedt)

Build:
* Meson build: Use the Python installation that Meson uses.
  See merge request !67.
* Require glib >= 2.85.2
  (Kjell Ahlstedt)


2.84.0 (stable) 2025-03-09:

Documentation:
* README.win32.md: Add note on %PATH% for Python
  (Chun-wei Fan) Merge request !67
* Glib::spawn_*(): Suppress erroneous links
  (Kjell Ahlstedt)

Tests:
* Fix running on Windows 11
  (Chun-wei Fan) Merge request !68

Build:
* Meson: Use python[.exe] to check for Python for MSVC
  (Chun-wei Fan) Merge request !67
* Require glib >= 2.83.4
  (Kjell Ahlstedt)


2.83.1 (unstable) 2025-02-11:

Identical to 2.83.0.
The 2.83.0 tarball has not been stored at download.gnome.org.
The CI pipeline in GitLab failed when tag 2.83.0
was added to the git repository.


2.83.0 (unstable) 2025-02-11:

Glib:
* ustring: Allow comparison with objects implicitly convertible to ustring.
  (Kjell Ahlstedt) Issue #121 (PBS)
* Don't allow Value<Glib::RefPtr<T>> with incomplete class type.
  https://discourse.gnome.org/t/gtk-cellrendererpixbuf-criticals-is-this-a-gtkmm-bug/24669
  (Kjell Ahlstedt)

Gio:
* DBus::ErrorUtils::get_remote_error(): Fix a memory leak.
  (Christian Eggers) Merge request !66
* File: Add query_default_handler_async/finish().
* Resource: Add has_children() and has_children_global().
* SocketListener: Add enum Gio::SocketListener::Event and signal_event().
  (Kjell Ahlstedt)

Documentation:
* Include the Property and Option examples in the documentation.
* Replace gtkmm.org by gtkmm.gnome.org.
  (Kjell Ahlstedt)

Examples:
* Remove std::locale::global(std::locale("")) calls. Done  in Glib::init().
  (Kjell Ahlstedt)

Tests:
* Don't test that Glib::ustring can't be compared with std::string.
  (Kjell Ahlstedt) Issue #121 (PBS)
* Test that Value<Glib::RefPtr<T>> is not allowed with incomplete
  class type.
  (Kjell Ahlstedt)

gmmproc:
* DocsParser.pm: Suppress an unjustified warning, if an error parameter
  is omitted in the documentation.
  (Kjell Ahlstedt)

Build:
* Require glib >= 2.83.0
  (Kjell Ahlstedt)


2.82.0 (stable) 2024-08-27:

Gio:
* Add Gio::DBus::own_name(connection, .....)
  (Kjell Ahlstedt)
* Add DBus::Connection:register_object() with slots
  (Kjell Ahlstedt) Issue #42 (Alberto Mardegan)
* Add Converter::convert(const Glib::RefPtr<const Glib::Bytes>&)
  (Kjell Ahlstedt)

Documentation:
* Gio::DBus::InterfaceVTable, SubtreeVTable: Improve code snippets in docs
  (Kjell Ahlstedt)

Build:
* Meson build: Use Meson's pkgconfig module instead of using
  the *.pc.in templates
  (Chun-wei Fan) Merge request !65
* Meson build: Some fixes in the pkgconfig files
  Require meson >= 0.62
* Require glib >= 2.81.0
  (Kjell Ahlstedt)


2.80.1 (stable) 2024-08-27:

Gio:
* Fix memory leak in DBus::generate_guid()
  (Jan Burgmeier) Merge request !64

gmmproc:
* generate_wrap_in.pl.in: Ignore -Winconsistent-dllimport from clang
  (Kjell Ahlstedt) Issue #119 (Luca Bacci)
* Convert [enum@Module.Type.ENUMERATOR] in documentation
* h2def.py: Avoid syntax warnings from Python 3.12
  (Kjell Ahlstedt)
* DocsParser.pm: Don't link to developer-old.gnome.org
  (Kjell Ahlstedt) Issue #120 (Andre Klapper)
* Improve documentation of enum and enum class
  (Kjell Ahlstedt)

Build:
* Some fixes to avoid warnings from the clang compiler
  (Kjell Ahlstedt, Chun-wei Fan) Merge request !63


2.80.0 (stable):

Glib:
* Add wide_from_utf8() and wide_to_utf8()
  (Kjell Ahlstedt, Chris Vine) Issue #9 (Chris Vine)
* DateTime: Add create_from_local_usec(), create_from_utc_usec()
  and to_unix_usec().

Gio:
* Application: Add get/set/property_version()
* ApplicationCommandLine: Add done()
* DBus::Message: Add get_arg0_path()
* Socket: Add receive_bytes() and receive_bytes_from()
  (Kjell Ahlstedt)
* content_type_guess(): Remove most of an unnecessary overload
  (Kjell Ahlstedt) Issue #118 (LinuxUser GD)

Build:
* Require glib-2.0 >= 2.79.2
  (Kjell Ahlstedt)


2.78.1 (stable):

Glib:
* Dispatcher: Allow destroy during emit
  (Kjell Ahlstedt) Issue #116 (PBS)

gmmproc:
* h2def.py: Make return types that are unsigned work.
  Required by gtkmm4, GdkDmabufTextureBuilder
  (Kjell Ahlstedt)

Build:
* Meson build: Don't fail if warning_level=everything
  (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
* MSVC, NMake: Make dep paths configurable
  (Chun-wei Fan)


2.78.0 (stable):

Glib:
* ustring: Add a std::hash<> specialization
  Not included by #include <glibmm.h>.
  Activate with #include <glibmm/ustring_hash.h>.
  (Kjell Ahlstedt) Issue #16 (Murray Cumming), merge request !61


2.77.0 (unstable):

Glib, Gio:
* Use callback functions with C linkage
  (Kjell Ahlstedt) Issue #1 (Murray Cumming)

Glib:
* Add create_variant()
  (Kjell Ahlstedt) Issue #109 (ilya-fedin)
* Add VariantBase::get_dynamic()
  (Kjell Ahlstedt) Issue #110 (ilya-fedin)
* Variant: Provide Variant<long long> whenever possible
  (Kjell Ahlstedt) Issue #111 (ilya-fedin)
* VariantContainerBase: Add a const version of get_child()
  and deprecate the non-const version
  (Kjell Ahlstedt) Issue #112 (ilya-fedin)
* Add DBusHandle and Variant<DBusHandle>
  (Kjell Ahlstedt) Issue #113 (ilya-fedin)
* ustring: Add truncate_middle()
  (Kjell Ahlstedt)

Gio:
* Add Subprocess and SubprocessLauncher
  (Kjell Ahlstedt) Issue #106 (ilya-fedin)
* Resolver: Add set/get/property_timeout()
  (Kjell Ahlstedt)

Documentation:
* Gio::File: Fix various spelling errors
  (Daniel Boles)
* Remove AUTHORS and README.SUN; add info to README.md
  (Kjell Ahlstedt) Issue gtkmm#140

gmmproc:
* Generate callback functions with C linkage
  (Kjell Ahlstedt) Issue #1 (Murray Cumming)

Examples:
* Add subprocess example
  (Kjell Ahlstedt) Issue #106 (ilya-fedin)

Tests:
* Giomm tests: Test for /etc/passwd instead of /etc/fstab
  (Jeremy Bicha) Merge request !60

Build:
* Require glib-2.0 >= 2.77.0
* Autotools build: Don't include config.h in ustring.cc
  (Kjell Ahlstedt)


2.76.0 (stable):

Glib:
* Dispatcher: Don't warn when a Dispatcher is deleted while
  messages are pending.
  (Kjell Ahlstedt) Issue #108 (PBS)
* Dispatcher: Add const versions of emit() and operator()()
  and deprecate the non-const versions.
  (Kjell Ahlstedt) Issue #103 (PBS)

Gio:
* ListModel: Add get_typed_object()
  (Kjell Ahlstedt) See issue gtkmm#132


2.75.0 (unstable):

Glib:
* Module: Deprecate build_path()
* Binding: Fix the bind_property() with two transformation functions
* Add the GLIBMM_CHECK_VERSION() preprocessor macro
  (Kjell Ahlstedt)

Gio:
* NetworkMonitor::get_default(): Add refreturn
  (Kjell Ahlstedt) Issue #104 (ilya-fedin)
* AppInfo: Add get_[recommended|fallback]_for_type()
  (Kjell Ahlstedt) Issue #105 (ilya-fedin)
* Add BytesIcon
  (Kjell Ahlstedt) Issue #107 (ilya-fedin)
* ListStore: Rename a local variable
  (Chun-wei Fan) Merge request !59
* Settings: Add bind() with mapping functions and unbind()
  (Kjell Ahlstedt)

Documentation:
* Glib::Binding::unbind(): Fix documentation
  (Kjell Ahlstedt)

gmmproc:
* generate_wrap_init.pl.in: Disable warning C4273 on Visual Studio
  (Chun-wei Fan) Merge request !57

Tests:
* Fix giomm_simple test on Windows
  (Chun-wei Fan) Merge request !58

Meson build:
* Detect if we build from a git subtree
  (William Roy) Merge request gtkmm!72
  (Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
* Don't copy files with configure_file()
  (Kjell Ahlstedt)


2.74.0 (stable):

Gio:
* ListStore: Add find()
* File: Add create_tmp()
  (Kjell Ahlstedt)

Documentation:
* File: Document create_for_parse_name()
  (Kjell Ahlstedt)


2.73.2 (unstable):

Glib:
* ustring: Add release()
  (Kjell Ahlstedt) Issue #101 (PBS)

Gio:
* ListStore: Don't derive a gtkmm__GListStore GType
  (Kjell Ahlstedt) Issue glib#2661
* DBus::Proxy: get_connection(), get_interface_info(): Add refreturn
  (Kjell Ahlstedt) Issue #102 (우정모)
* AppInfo: Add get_default_for_type_async/finish(),
  get_default_for_uri_scheme_async/finish()
* File: Add make_symbolic_link_async/finish()
* ListStore: Add property_n_items()
* Resolver: Add lookup_by_name_with_flags(),
  lookup_by_name_with_flags_async/finish()
  (Kjell Ahlstedt)

Documentation:
* Glib::RefPtr: Improve the documentation
  (Kjell Ahlstedt) Issue gtkmm#119 (David Marceau)
* Gio::Action: Improve the documentation
  (Kjell Ahlstedt) Issue #100 (Diederik van Lierop)

gmmproc:
* Improved handling of final types
  (Kjell Ahlstedt) Issue glib#2661
* Improve handling of gi-docgen syntax in C documentation
  (Kjell Ahlstedt)

Build:
* Meson build: Avoid unnecessary configuration warnings
  (Kjell Ahlstedt)
* Meson/MSVC: Add more warnings to ignore
  (Chun-wei Fan)
* NMake Makefiles: Ensure g[lib|io]mm[config.h|.rc] are created
  (Chun-wei Fan) Issue #99 (Martin Ammermüller)
* Require glib-2.0 >= 2.73.2
  (Kjell Ahlstedt)


2.72.1 (stable):

Glib:
* ustring_Iterator: Don't declare copy constructor =default.
  A fix in the 2.72.0 release broke ABI.
  (Kjell Ahlstedt) Issue #98 (Scotty Trees)


2.72.0 (stable):

Glib:
* MainContext: Add create(MainContextFlags flags)
  (Kjell Ahlstedt)

Gio:
* Add AppInfoMonitor
  (Kjell Ahlstedt, technic93) Issue #97
* DBus::Proxy: signal_signal() accepts a signal name
* File: Add move_async() and move_finish()
* SocketClient: Deprecate set/get/property_tls_validation_flags()
* TlsCertificate: Add properties private_key, private_key_pem,
pkcs11_uri, private_key_pkcs11_uri. Fix the create*() methods.
* TlsClientConnection.hg: Deprecate set/get/property_validation_flags()
  (Kjell Ahlstedt)

gmmproc:
* Add "ignore_deprecations" argument in _WRAP_METHOD()
  (Kjell Ahlstedt)

Build:
* Require glib-2.0 >= 2.71.2
  (Kjell Ahlstedt)
* MSVC build: Support VS2022 builds
  (Chun-wei Fan)
* Meson build: Specify 'check' option in run_command()
  Require Meson >= 0.55.0
  (Kjell Ahlstedt)


2.70.0 (stable):

Glib:
* Timer: Add resume() and is_active()
  (Kjell Ahlstedt) Issue #87 (chamignoom)
* Add the Environ class
  (Kjell Ahlstedt) Issue #89 (Alexander Shaduri)
* Binding: Add dup_source(), dup_target().
    Deprecate get_source(), get_target().
  TimeZone: Add operator bool(), create_identifier(). Deprecate create().
  (Kjell Ahlstedt)

Gio:
* FileInfo: Add get/set_access_date(), get/set_creation_date().
  Notification: Add set_category().
  TlsCertificate: Add property/get_not_valid_before(),
    property/get_not_valid_after(), property/get_subject_name(),
    property/get_issuer_name().
  TlsConnection: Add property/get_protocol_version(),
    property/get_ciphersuite_name().
  (Kjell Ahlstedt)

Tests:
* Add test of Glib::Environ
  (Kjell Ahlstedt) Issue #89 (Alexander Shaduri)

gmmproc:
* Handle gi-docgen syntax in C documentation
  (Kjell Ahlstedt)

Build:
* Require glib-2.0 >= 2.69.1
  (Kjell Ahlstedt)


2.68.2 (stable):

Glib:
* Replace all g_quark_from_static_string() by g_quark_from_string()
  (Kjell Ahlstedt) Issue #96 (小太)

Gio:
* FileEnumerator: Remove refreturn to avoid memory leak
  (talisein) Merge request !53
* ListModel::get_object(): Make it work for interface classes
  (Kjell Ahlstedt) Issue #93 (pumkinpal)
* AppInfo::get_all(): Avoid a crash on Windows
  (Kjell Ahlstedt) Issue #94 (Lawrence37)

Build:
* MSVC build: Remove extraneous GLIBMM_API in Glib::ustring
  (Kjell Ahlstedt) Issue #92 (Christoph Reiter)


2.68.1 (stable):

Glib:
* Variant: Fix template constructors so they work with C++20
  (Magne Oestlyngen) Merge request !50

Build:
* Meson build: Use relative paths to untracked/
  (Kjell Ahlstedt) Merge request gtkmm!61 (Mingli Yu)
* [gio|glib]mmconfig.h.*: Don't dllimport on MinGW
  (Chun-wei Fan) Issue gtkmm#90 (Lukas K.)
* Meson build: examples and tests: Add dependency('threads')
  (Kjell Ahlstedt)
* Meson build: Make it possible to use glibmm as a subproject
  (Kjell Ahlstedt)
* Meson build: No implicit_include_directories
  (Kjell Ahlstedt)
* Meson build: Make quiet installations possible
  (Kjell Ahlstedt)
* MSVC build: Avoid exporting classes with std::string members
  (Chun-wei Fan) Merge reqest !51

Tests:
* glibmm_ustring_compare: Fix so it works for C++20
  (Kjell Ahlstedt) Merge request !50 (Magne Oestlyngen) 


2.68.0 (stable):
This is the first stable release in the glibmm-2.68 ABI series.
It is parallel-installable with the glibmm-2.4 ABI.

The tarball for 2.68.0 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read the relevant
part of the README file.

Glib:
* PropertyProxyConnectionNode::connect_changed():
  Fix using without property name
  (Daniel Boles) Issue #74 (wswfc), merge request !35
* Remove BalancedTree
  (Kjell Ahlstedt)

Gio:
* ListStore: Accept interfaces
  (Andreas Persson) Merge request !38
* MenuModel: Make MenuAttribute and MenuLink enum class
  (Kjell Ahlstedt)
* Add TlsClientConnectionImpl and TlsServerConnectionImpl
  (Kjell Ahlstedt)
* SocketClient::signal_event(): Fix wrapping of 'connection' parameter
  (Kjell Ahlstedt) Issue #73 (smilingthax)

gmmproc:
* Add optional decl_prefix parameter to _WRAP_GERROR and _WRAP_ENUM
  Used for adding GLIBMM_API or similar for MS Visual C++
  (Chun-wei Fan) Merge request !32
* Allow decorating comparison operators (for Visual Studio builds)
  (Chun-wei Fan) Merge request !33
* _CLASS_BOXEDTYPE, _CLASS_OPAQUE_COPYABLE: Fix move assignment
  (Kjell Ahlstedt) Issue #76 (misos1)
* Decorate private generated classes with __declspec when building
  with Visual Studio
  (Chun-wei Fan) Merge request !39, !41
* generate_wrap_init.pl.in: Use g_type_ensure(SomeClass::get_type())
  to ensure that get_type() is called
  (Kjell Ahlstedt)

Build:
* Use __declspec(dllexport) consistently when building glibmm with
  Visual Studio
  (Chun-wei Fan) Merge request !32
* Meson build: Set default value of the 'warnings' option to 'min'
  (Kjell Ahlstedt)
* Improve NMake support
  (Chun-wei Fan)
* Improve Visual Studio support
  (Chun-wei Fan) Merge request !37
* docs/reference/: Update for Doxygen >= 1.8.16
  (Kjell Ahlstedt)
* Meson build: Fix versioning on macOS
  (Kjell Ahlstedt) Pull request libsigcplusplus#65 (Tom Schoonjans)
* Meson build: Fix detection of macOS
  (Tom Schoonjans) Merge request !43
* Change the ABI to glibmm-2.68
  (Kjell Ahlstedt)

Documentation:
* Meson build: Add missing Glib::Value and Variant documentation
  (Kjell Ahlstedt)


2.65.3: (unstable):
Distro packagers should probably not package this yet.

Tests:
* glibmm_buildfilename: Add some tests
  (Kjell Ahlstedt) Issue #71 (Kalev Lember)

Build:
* Meson build: Install generate_extra_defs.h
  (Kjell Ahlstedt) Issue #70 (Jan Alexander Steffens)


2.65.2: (unstable):
Distro packagers should probably not package this yet.

Glib:
* Add missing #includes
  (Kjell Ahlstedt) Issue #69 (Kalev Lember)


2.65.1: (unstable):
Distro packagers should probably not package this yet.

Glib:
* Add get_user_runtime_dir()
  (scx) Issue #57, merge request !14
* Add get_host_name()
  (scx) Issue #58, merge request !15
* MainContext: Add push/pop/get_thread_default()
  (Kjell Ahlstedt) Issue #56 (Yackie-Yang)
* Add StdStringView and UStringView
  Use them in build_filename() and other functions
  (Thomas Holder, Kjell Ahlstedt) Issue #34
  (Thomas Holder) Issue #64, #65
* Regex::match(): Avoid using string after deletion
  (Thomas Holder) Issue #66, merge request !25
* Add Glib::canonicalize_filename()
  (Kjell Ahlstedt) Issue #59 (Patrick Storz)
* Binding: get_source() and get_target() return ObjectBase*
  (Kjell Ahlstedt) Issue #63 (Daniel Boles)
* ustring: Fix insert(iterator, In, In)
  (Thomas Holder) Merge request !19
* Value: Adding static_assert() for template parameter
  (Pavlo Solntsev) Merge request !23
* Error: Derive from std::exception, remove Glib::Exception
  (Kjell Ahlstedt) Issue #23 (Daniel Boles)
* Binding: Keep a binding alive even without a RefPtr
  (Kjell Ahlstedt) Issue #62 (Daniel Boles)

Gio:
* DBus::Connection: Make the wrap() function thread-safe
  (Kjell Ahlstedt) Issue #56 (Yackie-Yang)
* SettingsSchemaSource: Add list_schemas()
  Add a create(), wrapping new_from_directory()
  (Daniel Boles) Issue #19, merge request !20
* DBus::Message::get_unix_fd_list(): Add refreturn
  (Kjell Ahlstedt) Issue #68 (kr.woaini)

Tests:
* Add glibmm_ustring_compare test
  (Thomas Holder) Issue #65
* Add glibmm_regex test
  (Thomas Holder) Issue #66, merge request !25
* Add glibmm_binding test
  (Daniel Boles) Merge request !18

gmmproc:
* Add optional decl_prefix parameter to _CLASS_BOXEDTYPE,
  _CLASS_BOXEDTYPE_STATIC, _CLASS_GOBJECT, _CLASS_INTERFACE,
  _CLASS_OPAQUE_COPYABLE, _CLASS_OPAQUE_REFCOUNTED, _WRAP_GERROR
  Used for adding GLIBMM_API or similar for MS Visual C++
  (Chun-wei Fan)

Build:
* Change the ABI to glibmm-2.66
  (Kjell Ahlstedt)
* Add Meson support
  (Chun-wei Fan, Kjell Ahlstedt) Merge request !27
* Drop gendef from Windows builds
  (Chun-wei Fan) Issue #12 (Mikhail Titov), merge request !29

Documentation:
* Correct spelling of spawn_async_with_pipes()
  (Mike Fleetwood) Merge request !16
* Glib::Binding: Several doc improvements
  (Daniel Boles) Merge request !18
* Glib::Binding: Explain why SlotTransform takes GValue*
  (Kjell Ahlstedt) Issue #61 (Daniel Boles)
* Gio::AsyncResult: Improve the class description 
  (Kjell Ahlstedt) Issue #27 (Alberto Mardegan)


2.63.1: (unstable):
Distro packagers should probably not package this yet.

Glib:
* ustring: Fix memory leak in make_valid()
  Use convert_return_gchar_ptr_to_*() in a couple of methods
  (Martin Ejdestig) Merge request !11
* Add ustring::sprintf(), wrapping g_strdup_printf()
  (Daniel Boles) Issue #21
* Fix callback races in glibmm when GSource is destructed
  (Dainis Jonitis) Issue #41
* Checksum, Datetime, TimeZone: Declare as _CLASS_BOXEDTYPE
  (Kjell Ahlstedt)
* Property: Add const get_proxy() returning ReadOnly
  Getting Proxy from ReadOnly is const
  (Daniel Boles) Issue #44
* Property: Update for compatibility with Gtk::Builder
  (Kjell Ahlstedt)
* Fix memory leak in Variant<std::tuple<>>::create()
  (Van de Bugger, Kjell Ahlstedt) Issue #48
* Remove TimeVal
  (Kjell Ahlstedt)

Gio:
* Add Application::add_option_group()
  (Kjell Ahlstedt Issue #46 (Patrick Storz)
* DBus::Object: Fix refcounts in some vfuncs
  (Kjell Ahlstedt)
* Gio::DBus: Add ObjectProxy, ObjectSkeleton, ObjectManager,
  ObjectManagerClient, ObjectManagerServer
  (Kjell Ahlstedt) Issue #43 (Martin Ejdestig)
* Drive, MountOperation, ThemedIcon, TlsDatabase, VolumeMonitor:
  Fix ownership of some lists and arrays (Fixes memory leaks
  and dangling pointers)
  (Kjell Ahlstedt) Issue #50 (Gary Wang)
* Add SocketControlMessage::add_deserialize_func()
  (Kjell Ahlstedt) Issue #52 (Ankur deep jaiswal)

gmmproc:
* Update for new glib deprecation macros
  (Kjell Ahlstedt)

Build:
* Doxyfile.in: Remove unused configuration constants
  (Kjell Ahlstedt) Issue #22
* Require glib-2.0 >= 2.61.2
  (Kjell Ahlstedt)
* Change the ABI to glibmm-2.64
  (Kjell Ahlstedt)

Documentation:
* Glib::init(), Gio::init(): Improve the documentation
  (Kjell Ahlstedt) Issue #49 (Van de Bugger)
* Glib::ustring can't always replace std::string
  (Kjell Ahlstedt) Issue #47 (Patrick Storz)


2.61.1: (unstable):
Distro packagers should probably not package this yet.

Glib:
* Add DateTime::get_timezone()
  Add KeyFile::get_locale_for_key()
  Add TimeZone::get_identifier()
  (Kjell Ahlstedt)
* KeyFile: Make it a refcounted class
  (Kjell Ahlstedt)
* Add Value_RefPtrBoxed<>
  Add Value<std::vector<string>> specializations and other Value
  specializations that are necessary for _WRAP_PROPERTY
  (Kjell Ahlstedt)

Gio:
* Put _WRAP_VFUNC in protected sections
  (Kjell Ahlstedt)
* Add AppInfo::launch_uris_async() and launch_uris_async()
  Add DBusConnection::get_flags()and property_flags()
  (Kjell Ahlstedt)
* TlsClientConnection: Remove property_accepted_cas()
  (Kjell Ahlstedt)
* ThemedIcon: Add create(const std::vector<Glib::ustring>& iconnames)
  (Kjell Ahlstedt)
* Remove NO_GTYPE from some _WRAP_ENUMs
  (Kjell Ahlstedt) Issue #37 (Jan Tojnar)
* TlsConnection: Remove rehandshake API
  (Kjell Ahlstedt)
* Application: Add signal_name_lost()
  (Kjell Ahlstedt)

Glib and Gio:
* Use {} for function arguments initialisation
  (Tapasweni Pathak) Merge request !9
  Issue #20 (Daniel Boles)

gmmproc:
* generate_wrap_init.pl.in: Don't exclude any Gtk classes
  (Kjell Ahlstedt)
* _WRAP_PROPERTY: generate a static_assert() that checks if
  the data type is acceptable
  (Kjell Ahlstedt)
* Add _IS_REFCOUNTED_BOXEDTYPE
  (Kjell Ahlstedt)
* _WRAP_ENUM and _WRAP_GERROR: Add gtype_func parameter
  (Kjell Ahlstedt)

Build:
* glibmmconfig.h.in: Remove unused configuration constants
  (Kjell Ahlstedt) Issue #22
* Require glib-2.0 >= 2.59.2
  (Kjell Ahlstedt)
* Change the ABI to glibmm-2.62
  (Kjell Ahlstedt)

Documentation:
* README: Add installation instructions
  (Tapasweni Pathak) Merge request !10
* Don’t use @retval on out args, use @param[out]
  (Daniel Boles) Merge request !6


2.59.1: (unstable):
Distro packagers should probably not package this yet.

Glib:
* ustring: Fix wchar conversion on macOS with libc++
  (Clemens Lang) Bug #795338
* Avoid compiler warnings from function pointer conversions
  (Kjell Ahlstedt) Issue libsigcplusplus#1 (sharkcz)
  (Kjell Ahlstedt) Issue libsigcplusplus#8 (db0451)
* ustring: Simplify format() using C++17 fold expression.
  (Daniel Boles) Merge request !4

Gio:
* Application: Add set_option_context_parameter_string(),
  set_option_context_summary(), set_option_context_description().
  (Kjell Ahlstedt)
* DesktopAppInfo: Add get_locale_string()
  (Kjell Ahlstedt)
* SocketClient: Take copy in RefPtrs for signal args
  (Daniel Boles) Issue #28 (Jens Mühlenhoff)
* Make SignalProxy_async_callback() available to e.g. gtkmm
  (Kjell Ahlstedt)

gmmproc:
* _WRAP_METHOD: Accept ":" in slot_callback parameter
  (Kjell Ahlstedt)

Build:
* Require C++17.
  (Murray Cumming)
* Require glib-2.0 >= 2.55.1
  (Kjell Ahlstedt) Issue #29 (Mart Raudsepp)
* Replace the Visual Studio project files with MSVC NMake project files
  (Chun-wei Fan) Merge request !2
* Change the ABI to glibmm-2.60
  (Kjell Ahlstedt)

Documentation:
* Use libsigc++-3.0.tag for libsigc++ documentation
  (Kjell Ahlstedt)


2.57.1: (unstable):
Distro packagers should probably not package this yet.

Gio:
* DataOutputStream::put_string(): Don't pass std:string by value
  (Kjell Ahlstedt)

gmmproc:
* Add _MEMBER_SET_STR() macro
  (Pavlo Solntsev) Bug #793778

Build:
* Change the ABI to glibmm-2.58
  (Kjell Ahlstedt)


2.55.2: (unstable):
Distro packagers should probably not package this yet.

Glib:
* IOCondition: Add an IO_ prefix to the enumerator names
  (Kjell Ahlstedt)
* TimeoutSource: Use monotonic time consistently
  (Kjell Ahlstedt) Bug #792524 (Dainis Jonitis)
* Source: Remove get_current_time().
  (Kjell Ahlstedt)
* KeyFile, OptionContext, Regex: Add exception specs to errthrow.
  (Kjell Ahlstedt)
* ustring:
  - Replace 8×format() with 1 variadic template.
  - Replace 9×compose() with 1 variadic template.
  - Use std::initializer_list instead of pointer + size
  (Daniel Boles) Bug #784211
* VariantBase:
  - Add operator==() and operator!=().
  (Kjell Ahlstedt) Bug #789330 (Daniel Boles)
  - cast_dynamic(): Remove noexcept(false).
  (Kjell Ahlstedt)

Glib::Gio:
* AppInfo: Update the name of the AppLaunchContext parameters
  (Kjell Ahlstedt)
* Action: Add exception specs to errthrow.
  (Kjell Ahlstedt)
* Application: Fix property_resource_base_path()'s type
  (Kjell Ahlstedt)
* Credentials, et al.: Add exception specs to errthrow.
  (Kjell Ahlstedt)
* DataInputStream:
  - Remove read_until*().
  - Fix the documentation of read_line_utf8().
  (Kjell Ahlstedt)
* InetSocketAddress, ProxyAddress: No guint16 in _WRAP_PROPERTY().
  (Kjell Ahlstedt)
* Settings: set_int() and friends shall return bool.
  (Kjell Ahlstedt) Bug #784211
* TlsClientConnection: Remove get/set/property_use_ssl3().
  (Kjell Ahlstedt)

gmmproc:
* Warn if parameter lists are not compatible
  (Kjell Ahlstedt)
* _WRAP_METHOD: Accept optional list of exceptions in errthrow
  (Kjell Ahlstedt)
* _WRAP_METHOD_DOCS_ONLY: Optionally suppress @return section.
  (Kjell Ahlstedt) Bug #787978
* docextract_to_xml.py: Add --exclude-file option.
  (Kjell Ahlstedt)
* Suppress the @return section if return type is void.
  (Kjell Ahlstedt)
* generate_extra_defs.cc:
  - Write signal flags to .defs files.
  - Write default values of properties to .defs files.
  - Write default values of properties to generated documentation.
  (Kjell Ahlstedt) Bug #785895 (Daniel Boles)
* Warn for unmatched deprecations in signals and properties.
  (Kjell Ahlstedt)

Documentation:
* Glib::ObjectBase: Don't mention GtkObject in comments.
  (Kjell Ahlstedt)
* Glib::Variant: Hide namespace Glib::detail from Doxygen
  (Kjell Ahlstedt) Bug #787698 (Daniel Boles)
* Glib::Variant: Slightly elaborate Variant<Variant> docs.
  (Daniel Boles) Bug #778219 (Daniel Boles)


2.55.1: (unstable):
Distro packagers should probably not package this yet.

Glib:
* Object: Value_Pointer class should take only one template argument.
  (Marcin Kolny)
* Variant: Improved support for D-Bus object paths and signatures.
  (Kjell Ahlstedt) Bug #785700 (Johannes Dohmen)
* Glib::Value_Flags<>: static_cast to correct type.
  (Kjell Ahlstedt)

Gio:
* Derive all interfaces directly from Glib::Interface
  (Kjell Ahltedt) Bug #776537
* Application: OptionType: Make this an enum class.
  (Kjell Ahlstedt)
* BufferedInputStream, BufferedOutputStream, DataOutputStream:
  Implement Seekable.
* CharsetConverter: Implement the Gio::Initable interface.
  and call Initable::init() from CharsetConverter's constructor.
  (Kjell Ahlstedt) Bug #776537
* Add FileDescriptorBased interface and make GUnixInputStream and
  GUnixOutputStream implement it.
* MemoryInputStream, UnixInputStream: Implement PollableInputStream.
  (Kjell Ahlstedt)
* MemoryOutputStream, UnixOutputStream: Implement PollableOutputStream.
  (Kjell Ahlstedt)
* TlsDatabase: create_certificate_handle_vfunc():
  Fix memory leak, and correctly return nulltpr.
  (Kjell Ahlstedt) Bug #783360

gmmproc:
* Accept curly braces in default values in _WRAP macros
  (Khell Ahlstedt) Bug #783216 comment 13
* Don't accept unpaired double quotes.
  (Khell Ahlstedt)
* gmmproc: Fix _WRAP_ENUM for enumerators with apostrophes.
  (Khell Ahlstedt)
* gmmproc, _WRAP_ENUM: Add optional CONV_TO_INT parameter.
  (Khell Ahlstedt)

Build:
* Change the ABI to glibmm-2.56.
  (Murray Cumming)
* Really exclude DesktopAppInfo from wrap_init.cc on MacOS.
  (Kjell Ahlstedt) Bug #781947

Documentation:
* miscutils: Update docs of get_*_name() from GLib.
  (Daniel Boles)
* Fix documentation of enum Glib::IOCondition.
  (Khell Ahlstedt)


2.53.2 (unstable):
Distro packagers should probably not package this yet.

Glib:
* ConstructParams: Do not increment allocation size twice
  (Daniel Elstner)

Gio:
* ActionMap: Really fix add_action_with_parameter().
  (Daniel Boles) Bug 774444#c31
* UnixSocketAddress::create(): Remove a default value to avoid ambiguity.
  (Kjell Ahlstedt) Bug #782592

Gio::DBus
* Proxy: Wrap call() and call_sync() methods.
  (Vyacheslav Yurkov) Bug #781818

gmmproc:
* Use of static_cast<> instead of C-style casts.
  (Murray Cumming)

Build:
* Fix the build on MacOS, where glib doesn't have gdesktopinfo.
  (John Ralls) Bug #781947
* Really use desktopappinfo.hg to fix the build.
  (Murray Cumming)

Documentation:
* Glib, Gio: Update documentation of in-class enums.
  (Kjell Ahlstedt)
