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)
* ActionMap: Improve add_action_with_parameter docs
  (Daniel Boles)


2.53.1.1 (unstable):

Glib:
* Use C++11 enum classes instead of old-style enums, and put many enums
  inside relevant class declarations:
  - Glib::NodeTree: Move enums into class.
  - Glib::BindingFlags is now Glib::Binding::Flags.
  - Glib::KeyfileFlags is now Glib::Keyfile::Flags.
  - Glib::ModuleFlags is now Glib::Module::Flags.
  - Glib::ChecksumType is now Glib::Checksum::Type.
  - Glib::Regex: Move enums inside class.
  - Glib::Resource: Move enums into class.
  (Murray Cumming, Kjell Ahlstedt)
* RefPtr: Make this an alias for std::shared_ptr<> instead.
  - Use std::dynamic_pointer_cast<>() instead of RefPtr<>::cast_dynamic().
  - Use std::static_pointer_cast<>() instead of RefPtr<>::cast_static().
  - Use std::const_pointer_cast<>() instead of RefPtr<>::cast_const().
  - When creating RefPtr directly, instead of using create() methods,
    use Glib::make_refptr_for_instance() so the std::shared_ptr<> has the
    necessary Deleter.
  (Murray Cumming) Bug #755037
* Remove Glib::WeakRef. Use std::weak_ref<> instead.
  (Murray Cumming) Bug #755037
* Object: Use g_object_new_with_properties() instead of (deprecated)
  g_object_newv() and (deprecated) GParameter.
  (Murray Cumming)
* IOChannel: Avoid creating a RefPtr to this.
  (Murray Cumming) Bug #755037
* SignalProxy:
  connect(): Signals with non-void return values now have no default value
  for the "after" parameter, forcing application developers to think about
  whether they should connect before or after already-connected signal
  handlers, and default signal handlers. This is awkward but necessary.
  Just provide "true" to get the previous behaviour, or use connect_notify().
  connect_notify(): Signals with void return values have no connect_notify(),
  because it is not useful with those signals.
  (Kjell Ahlstedt) Bug #126213.

Gio:
* Use C++11 enum classes instead of old-style enums, and put many enums
  inside relevant class declarations:
  - Gio::Drive: Move enums into class.
  - Gio::TlsDatabase: Move enums into class.
  - Gio::UnixSocketAddressType is now Gio::UnixSocketAddress::Type.
  - Gio::Mount: Move enums into class.
  - Gio::TlsPasswordFlags is now Gio::TlsPassword::Flags.
  - Gio::IOStreamSpliceFlags is now Gio::IOStream::SpliceFlags.
  - Gio::SettingsBindFlags is now Gio::Settings::BindFlags.
  - Gio::ResolverRecordType is now Gio::Resolver::RecordType.
  - Gio::Socket: Move enums into class.
  - Gio::File: Move some flags enums into the class.
  - Gio::OutputStreamSpliceFlags is now Gio::OuputStream::SpliceFlags.
  - Gio::CredentialsType is now Gio::Credentials::Type.
  - Gio::NotificationPriority is now Gio::Notification::Priority.
  - Gio::FileMonitorEvent is now Gio::FileMonitor::Event.
  - Gio::FileAttributeInfoFlags is now Gio::FileAttributeInfo::Flags.
  - Gio::EmblemOrigin is now Gio::Emblem::Origin.
  - Gio::Converter: Put enums inside class.
  - Gio::ConverterFlags is now Gio::Converter::Flags.
  - Gio::ConverterResult is now Gio::Converter::Result.
  - Gio::AppInfoCreateFlags is now Gio::AppInfo::CreateFlags.
  - Gio::ApplicationFlags is now Gio::Application::Flags.
  (Murray Cumming, Kjell Ahlstedt)
* Remove duplicate ErrorEnum declaration.
  (Kjell Ahlstedt)
* ConstructParams:
  - Remove (hopefully really unnecessary) copy constructor.
  - C++11: =delete the operator=, instead of making it private.
  (Murray Cumming)
* Value:
  - Remove the CType alias, which should be unnecessary.
  - value_custom: Replace a template parameter with C++11 type traits.
  - Value<RefPtr<T>>: Only use this specialization if T has get_base_type().
  (Murray Cumming) Bug #755037
* Variant:
  - operator bool(): Simplify to avoid clang++ warnings.
  - C++11: Variant: Replace throw(std::bad_cast) with noexcept(false).
    See https://bugzilla.redhat.com/show_bug.cgi?id=1438766
  (Murray Cumming)
* Socket: Avoid creating a RefPtr to this.
  (Murray Cumming) Bug #755037

Gio:DBus:
* Use C++11 enum classes instead of old-style enums, and put many enums
  inside relevant class declarations:
  - Gio::DBus::InterfaceSkeletonFlags is now Gio::DBus::InterfaceSkeleton::Flags.
  - Gio::DBus::ServerFlags is now Gio::DBus::Server::Flags.
  (Murray Cumming, Kjell Ahlstedt)

gmmproc:
* _WRAP_ENUM(): Generate C++ enum classes instead of enums, and let the enums
  be inside class declarations.
  (Kjell Ahlstedt) Bug #86864

Build
* Windows:  Visual Studio builds: Update ABI version
  (Chun-wei Fan)


2.53.1 (unstable):

Glib:
* OptionGroup:
  - Don't allow copy or move.
  - Remove the OptionGroup& parameter in on_pre_parse(), on_post_parse() and
    on_error().
  (Kjell Ahlstedt)
* IOChannel, StreamIOChannel: Remove deprecated parts.
  (Kjell Ahlstedt)
* ustring: Add make_valid().
  (Krzysztof Piecuch) Bug #780075
* Remove (unused) Sequence and sequence().
  (Murray Cumming)
* Remove ListHandle, SListHandle, ArrayHandle, SArrayHandle, and
  StringArrayHandle, replacing them with std::vector in API.
  (Murray Cumming)

gmmproc:
* _WRAP_METHOD(): Some more use of auto in generated code.
  (Murray Cumming)

Build:
* Change the ABI to glibmm-2.54.
  (Murray Cumming)
* Add some #include directives.
  (Kjell Ahlstedt)
* Visual Studio: Require Visual Studio 2017 and update the glibmm project.
  (Chu-wei Fan)


2.51.5

Gio:
* Application: get_default(): Correct the reference counting.
  (KJell Ahlstedt) Bug #779936 (James Legg)
* Add PropertyAction.
  (Kjell Ahlstedt)

Glib:
* Remove Glib::unconst() because it is unused and unnecessary.
  (Kjell Ahlstedt)
* Variant: Add template specialization for std::tuple,
  and a test.
  (Alexander Rössler, Kjell Ahlstedt) Bug #777791


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

Glib:
* Object construction: Add custom class init and instance init functions
  An extra class init function is useful in Gtk::WidgetCustomDraw and
  Gtk::WidgetCustomSnapshot.
  (Kjell Ahlstedt) Bug #775348

Gio:
* Action: #include <glibmm/variant.h>, for convenience.
  (Daniel Boles) Bug #777953
* SimpleAction: Make set_state() public.
  (Daniel Boles) Bug #777953

Documentation:
* Glib::Variant: Explain how to create "maybe" type.
  (Daniel Boles) Bug #778219


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

Glib:
* Remove some deprecated API
  (Kjell Ahlstedt)
* Variant: Remove the string specializations of cast_dynamic.
  (Kjell Ahlstedt)
* Glib::VariantType: Add get_item_types(), removing first() and
  next().
  (Kjell Ahlstedt) Bug #775741


Gio:
* init(): Set the global locale.
  (Kjell Ahlstedt) Bug #661588
* ActionBase: get_state_hint_variant() now returns VariantContainerBase.
  (Kjell Ahlstedt)
* ActionMap: add_action_with_parameter(): Register the parameter type,
  to make this work.
  (Daniel Boles) Bug #774444
* ActionResult: Add is_tagged_vfunc().
  (Kjell Ahlstedt)
* Glib::Dispatcher: Implement the pimpl idiom
  (Kjell Ahlstedt) Bug #651942
* File, FileInfo, FileIOStream, FileOutputStream: Use Glib::ustring for
  (UTF-8) file attributes of string type.
  (Kjell Ahlstedt) Bug #615950
* NetworkMonitor: Derive from Gio::Initable.
  (Kjell Ahlstedt)
* RemoteActionGroup: Rename some vfuncs to add _full().
  (Murray Cumming)

Documentation:
* ActionMap:
  - ActivateSlot: Mention add_action_bool().
  - ActivateWithParameterSlot: Be more specific.
  (Daniel Boles) Bug #774444

Build:
* Update the Visual Studio project files.
  (Chun-wei Fan)
* Some minor cppcheck fixes.
  (Murray Cumming)


2.51.1.1 (unstable):

General:
* Remove no_default_handler in some _WRAP_SIGNAL()s
  This allows application developers to simply override
  the default on_*() signal handlers for these signals too,
  as they can already with most other signals.
  If you are using, for instance, the -Wsuggest-override
  compiler option, watch out for new compiler warnings suggesting
  that your existing signal handler should now be marked with the
  override keyword - that means you should do so but you should
  also stop connecting the signal handler in your code.
  (Kjell Ahlstedt)
* Build: examples/Makefile.am: Re-insert the dispatcher examples
  (Kjell Ahlstedt)

Glib:
* Dispatcher: Don't cast a HANDLE to an int on Windows.
  (Kjell Ahlstedt) Bug #772074
* ObjectBase:
  - Remove connect_property_changed_with_return()
  and let connect_property_changed() return a sigc::connection.
  (Kjell Ahlstedt)
  - Use std::forward_list for interface class pointers.
  (Kjell Ahlstedt)
  - Replace extra_object_base_data map by instance data.
  (Kjell Ahlstedt)
* ObjectBase: overload get_property().
  (Marcin Kolny)
* Main, IOSource: autodeduce type of fd field.
  (Marcin Kolny) Bug #770274
* Settings: Add property_settings_schema(), and update
  signal_changed().
  (Kjell Ahlstedt)
* Settings: Make set_enum() + set_flags() usable
  (djb) Bug #774647
* SettingsSchemaKey: Add missing value/range methods
  (Daniel Boles) Bug #774903
* SignalProxyNormal: Remove connect_() and connect_notify_(),
  adding connect_impl().
  (Kjell Ahlstedt)
* Rename SignalProxyDetailed to SignalProxyDetailedBase, and
  SignalProxyDetailedAnyType to SignalProxyDetailed.
  Remove SignalProxyDetailed# aliases (# = 0..6).
  (Kjell Ahlstedt)
* Source: Replace extra_source_data by instance data.
  (Kjell Ahlstedt) Bug #561885

Gio:
* ActionMap::add_action_vfunc(): Const correction.
  (Murray Cumming)
* Application: Add dbus_register/unregister_vfunc.
  (Ritesh Khadgaray, Kjell Ahlstedt) Bug #762191
* Menu: insert/prepend/add_item(): Const correction.
  (Murray Cumming)
* MenuAttributeIter: get_value(): Const correction.
  (Murray Cumming)
* MenuModel: get_item_atribute(): const correction.
  (Murray Cumming)
* RemoteActionGroup: Derive from Gio::ActionGroup.
  (Murray Cumming)

Gio::Dbus:
* Proxy: Fix memory leak in get_cached_property_names().
  (Kjell Ahlstedt) Bug #775210
* Proxy: Derive from (and implement) Gio::DBus::Interface.
  (Murray Cumming)


2.51.1 (unstable):

This is the first release of the glibmm-2.52 API/ABI.
It installs in parallel with the gtkmm-2.4 API/ABI, of which
the most recent version is glibmm 2.50. We know that is a bit
confusing. We are taking the opportunity to do this glibmm ABI
break while GTK+ (and therefore gtkmm) is also doing an ABI
break. But we cannot call this glibmm-3.0 because there is no
glib 3.0.

Build:
* Require C++14.
  (Murray Cumming)
* Use libsigc++-3.0 instead of libsigc++-2.0.
  https://www.murrayc.com/permalink/2016/03/07/libsigc-3-0-very-variadic/
  (Murray Cumming)
* Remove lots of deprecated API.
  (Kjell Ahlstedt)

Gio:
* BufferedInputStream, InputStream, OutputStream: Add vfuncs,
  allowing implementation in C++.
  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
* SettingsSchemaSource::get_default(): Correct the reference count.
  (Marcin Kolny) Bug #774593
* Settings: Fix type of 'key' parameter of writable-change-event signal
  (Marcin Kolny) Bug #773977

Glib:
* ustring: Add cbegin() and cend().


2.50.0:

No changes since 2.49.7.

2.49.7:

Gio
* AppInfo: Add launch_default_for_uri_async().
  (Murray Cumming)
* Application::get_busy(): return the bool.
  (Murray Cumming) Bug #770304
* Drive: Add is_removable().
  (Murray Cumming)
* Settings:
  - set_uiint(): Deprecate for set_uint().
  - Add get/set_uint64().
  - Add get/set_int64().
  (Murray Cumming)
* giomm.h: Add include for settingsschemasource.h
  (Murray Cumming)

Documentation:
* Glib::OptionGroup: Improve the documentation of add_entry()
  (Kjell Ahlstedt)


2.49.5:

Glib:
* OptionContext: Wrap g_option_context_parse_strv()
  (Kjell Ahlstedt)

gmmproc:
* Add DocsParser::remove_c_memory_handling_info()
  (Kjell Ahlstedt)
* Add missing objects to glib/gio_extra_objects.defs
  (Kjell Ahlstedt)
* Remove DocsParser::non_object_method_name()
  (Kjell Ahlstedt)
* swap() implementations: Use std::swap().
  (Murray Cumming)

Documentation:
* Gio::SocketService: Update the class documentation
  (Kjell Ahlstedt)

2.49.4:

glib:
* Replace some use of some deprecated libsigc++ API.
  (Murray Cumming)

Build:
* Really enable silent builds.
  (Sebastian Geiger) Bug #768797

2.49.2:

Gio:
* FilterInputStream: Added a constructor.
  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
* FilterOutputStream:
  - Correct the property_base_stream() return type.
  (Krzysztof Kosiński) Bug #572471
  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
* InputStream: Added a constructor, is_closed(), has_pending(),
  set_pending(), clear_pending()
  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
* OutputStream: Added a constructor, is_closed(), is_closing(),
  has_pending(), set_pending(), and clear_pending().
  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
* Pollable, InputStream, OutputStream: Return -1 on error in vfuncs.
  (Kjell Ahlstedt)

gmmproc:
* Make h2def.py recognize some GDK_PIXBUF macros
  (Kjell Ahlstedt)
* Add optional argument err_return_value in _WRAP_VFUNC
  (Kjell Ahlstedt)

Build:
* Visual Studio build files: Update projects
  (Chun-wei Fan)

2.49.1:

gmmproc:
* Discard unused m4 sections.
  (Kjell Ahlstedt)
* Add 'deprecated' option in _WRAP_ENUM and _WRAP_GERROR
  (Kjell Ahlstedt)
* _CLASS_GOBJECT(): Allow custom move operation implementations with
  _CUSTOM_MOVE_OPERATION().
  (Marcin Kolny) Bug #756593

Gio:
* Added ListModel, ListStoreBase and ListStore<>, and tests.
  (Kjell Ahlstedt, Murray Cumming, Marcin Kolny)
  Bug #755307
* SocketAddress: Correct the constructor's implemention.
  (Murray Cuming) Bug #766150 (Vladimir)

Gio:DBus:
* Proxy: allow using GDBusProxy* conversion outside DBus namespace

Glib:
* FileAtrributeInfoList, Checksum, Module, RefPtr:
  Make operator bool explicit.
  (Murray Cumming)
* Property: Allow to set property nick, blurb, and flags.
  (Marcin Kolny) Bug #755256
* VariantBase: Add explicit operator bool(), deprecating
  operator const void*.
  (Murray Cumming)

Documentation:
* Examples: Use libsigc++ 2.9/10 and its slot/signal<R(Args...)> syntax.
  (Murray Cumming)

2.48.1:

Build:
* MacOS X: Add alternative #ifdefed code when thread_local
  is not supported by the compiler.
  (Tom Schoonjans) Bug #759791
* Replace most typedefs with the C++11 using keyword.

2.48.0:

* No major changes compared to 2.47.92.

2.47.92:

* Adapt to libsigc++-2.0 2.8:
  - using only the non-deprecated sigc::mem_fun() API.
  (Kjell Ahlstedt)
  - using std::ref instead of deprecated sigc::ref.
  (Murray Cumming)
  -  Correct bad uses of sigc::bind<1>.
  (Murray Cumming)


gmmproc:
* defs generation: Mark deprecated signals and properties as such in the
  generated .defs file.
* gmmproc: Check if signals and properties are deprecated appropriately
  (Kjell Ahlstedt)

Build:
* MSVC builds: Look for includes in include/gio-win32-2.0.
  (Chun-wei Fan)

2.47.6:

Glib:
* Add and uses Glib::c_str_or_nullptr().
  (Kjell Ahlstedt) Bug #755245
* Add some connect() overloads that move the sigc::slot.
  (Kjell Ahlstedt)
* Fix definition of VARIANT_TYPE_DICT_ENTRY to match header declaration
  (Aurelien Jacobs) Bug #761046
* Replace, via deprecation, ScopedPtr with make_unique_ptr_gfree().
  (Murray Cumming) Bug #760223
* SignalProxy: use variadic templates.
  (Marcin Kolny)
* ustring: Add move operators.
  (Kjell Ahlstedt) Bug #760282
*  Put deprecation ifdefs around aleady-deprecated GLIBMM_INITIALIZE_STRUCT.
  (Murray Cumming)
  
Gio:
* FileInfo::list_attributes(): Make name_space optional.
  (Murray Cumming)
* Icon: Add serialize(), deserialize() and documentation of create().
  (Kjell Ahlstedt)
* PropertyBase: Make custom properties more flexible
  (Kjell Ahlstedt) Bug #731484.
* SocketConnectable: Add to_string().
  (Kjell Ahlstedt)

Gio::DBus::
* Connection: Pass an empty bus name as nullptr.

gmmproc:
* Fix errthrow in _WRAP_VFUNC
  (Kjell Ahlstedt) Bug #762437
* Add NULL option to _WRAP_METHOD
  (Kjell Ahlstedt)
* h2def.py: Accept parameter names beginning with const.
  (Kjell Ahlstedt)

Build:
* Use some more minor C++11 features.
  (Murray Cumming)
* Threads example: Fix build on Visual Studio
  (Chun-wei Fan) Bug #760612
* glibmmconfig.h.in: Fix Visual Studio 2013 builds.
  (Chun-wei Fan) Bug #760612
* Glib::ustring: fix -Wmisleading-indentation gcc 6 warning in public header.
  (Aurelien Jacobs) Bug #760641.

Other:
* Reformat our hand-written C++ code with clang-format.
  (Murray Cumming)


2.47.4:

Glib::
* ustring: Don't allow comparison to 0.
  (Kjell Ahlstedt) Bug #572978 (Armin Burgmeier)

Gio:
* ActionMap: Fix the ref count in lookup_action_vfunc().
  (Kjell Ahlstedt) Bug #758813 (Aurimas Černius)

Build:
* Dispatcher: #include <mutex> in Windows builds.
  (T Sailor) Bug #758894
* Gio::Application: Destructor: Use noexcept in the implementation too.
  (Murray Cumming) Bug #758798 (Émeric MASCHINO)
* Fix the build with --disable-deprecated-api.
  (Kjell Ahlstedt)

2.47.3.1:

* Use thread_local instead of (deprecated) Glib::Threads::Private.
  (Murray Cumming, Kjell Ahlstedt) 

2.47.3:

* Deprecate all of Glib::Threads, including Mutex, Lock, Thread, etc.
* Deprecated Glib::ThreadPool.
  (Murray Cumming, Kjell Ahlstedt) 

2.46.2:

* ObjectBase, Object, Interface: Correct move constructors and move assignment
  operators.
  (Kjell Ahlstedt) Bug #756962


Changes in 2.46 compared to 2.44:

General:
* Use, and require C++11, using features such as move operations, noexcept
  auto, = delete, nulltpr, override.
  (Murray Cumming, Kjell Ahlstedt))

Glib::
* RefPtr:
  - Make it possible to stop use of RefPtr with certain classes.
  (Kjell Ahlstedt)
  - Make methods noexcept (C++11).
  (Murray Cumming)
  - Add move operations.
  (Murray Cumming, Marcin Kolny, Kjell Ahlstedt)
  * Add release():
  (Marcin Kolny)
* ObjectBase: Don't use std::auto_ptr (deprecated in C++11).
  (Kjell Ahlstedt)
* ObjectBase, Object, Interface, IOChannel, Markup: Add move operations
  (Murray Cumming) Add C++11 move operations.
  (Murray Cumming)
* HelperList: fix iterator check in operator[]
  (Maks Naumov)
* Add SettingsSchema, SettingsSchemaKey and SettingsSchemaSource.
  (Murray Cumming)
* Add Glib::format_size().
  (Kjell Ahlstedt)
* Add get_user_special_dir(UserDirectory), deprecating 
  get_user_special_dir(GUserDirectory directory).
  (Kjell Ahlstedt)
* Threads::Thread: Use GThread only via a pointer.
  Kjell Ahlstedt
* VariantBase: Add is_castable_to().
* VariantContainerBase: get_iter(): Accept casts of complicated types
  containing object paths and DBus type signatures to Variant<> types
  containing Glib::ustring and std::string.
  (Kjell Ahlstedt)
* Variant: Wrap handles and add get_data_as_bytes()
  (Kjell Ahlstedt)
* Added SignalProxyDetailed.

Gio:
* Application: Add the shutdown signal.
  (Murray Cumming)
* NetworkMonitor: Add get_network_metered() and property.
  (Murray Cumming)
* Settings: Add signal_changed(key).
  (Kjell Ahlstedt, Murray Cumming)
* Added SimpleIOStream.
  (Kjell Ahlstedt)
* SocketService: Add active property.
  (Murray Cumming)
* TlsClientConnection: Add copy_session_state().
  (Murray Cumming)

Gio::Dbus:
* Connection::signal_subscribe(): Pass nullptr instead of "".
  (Murray Cumming)

gmmproc:
* Generate C++11 move operations.
  (Murray Cumming)
* Mark all _CLASS_OPAQUE_REFCOUNTED classes as final (C++11).
  (Murray Cumming)
* generate_wrap_init.pl: Allow use of nested namespaces for whole module.
  (Marcin Kolny)
* _WRAP_METHOD: deprecated: Use G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS
  per function, instead of one big undef [G|GDK|GTK]_DISABLE_DEPRECATED.
  (Kjell Ahlstedt)
* Add _IGNORE_PROPERTY() and _IGNORE_CHILD_PROPERTY() macros.
  (Kjell Ahlstedt)
* Add support for 'newin "n,m"' in some _WRAP macros.
  (Kjell Ahlstedt)
* _WRAP_SIGNAL: Add support for detail_name.
  (Kjell Ahlstedt)
* Fetch property documentation from the docs.xml file, if available there.
  (Kjell Ahlstedt)

Build:
* MSVC Builds: Many improvements
  (Chun-wei Fan)
* Add missing GLIBMM_API for Interface
  (Mikhail Titov)


2.46.1 (stable):

* gmmmproc: _CLASS_GOBJECT():
  Move the "= delete"ed constructor and operator= to public, instead of private.
  (Murray Cumming)

2.46.0 (stable):

Glib::
* RefPtr: Make it possible to stop use of RefPtr with certain classes.
  (Kjell Ahlstedt) Bug #755048
* WeakRef: Use noexcept.
  (Kjell Ahlstedt) Bug #583399.

Gio:
* Application: Remove bind/unbind_busy_property() because they are not
  quite ready.
  (Murray Cumming)

Gio::Dbus:
* Connection::signal_subscribe(): Pass nullptr instead of "".
  (Murray Cumming)

2.45.80 (unstable):

Gio:
* Application: Add bind/unbind_busy_property() and set_state_hint().
  (Murray Cumming)
* TlsClientConnection: Add copy_session_state().
  (Murray Cumming)

Build:
* MSVC Builds: Require MSVC.Net 2013 for C++11 support.
  (Chun-wei Fan) Bug #753271.
* MSVC Builds: Adapt for recent source code changes.
  (Chun-wei Fan) Bug #753271.
* MSVC Builds: Improve Build Speed and Debugging Experience
  (Chun-wei Fan)


2.45.70 (unstable):

Glib:
* C++11: Add move operations to ObjectBase and Object.
  (Murray Cumming)
* C++11: RefPtr: Make methods noexcept.
  (Murray Cumming)

gmmproc:
* C++11: Generate move operations.
  (Murray Cumming)
* C++11: IOChannel: move operations: Call the base sigc::trackable.
  (Murray Cumming)
* C++11: Markup: Add move operations
  (Murray Cumming)
* C++11: More use of = delete instead of private copy operations.
  (Murray Cumming)
* C++11: Use std::stoul instead of strtoul.
  (Murray Cumming)

Documentation:
* Update configuration for Doxygen 1.8.9.1.
  (Daniel Elstner)
* Exclude bogus documentation symbols.
  (Daniel Elstner)
* Generate documentation for API all platforms.
  (Daniel Elstner)


2.45.52 (unstable):

Glib::
* C++11: Glib::ObjectBase, Object, Interface: Add move operators.
  (Murray Cumming)
* C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.
  (Murray Cumming)

Gio:
* FileIcon: Remove unncessary IMPLEMENTS_INTERFACE.
  (Murray Cumming)

gmmproc:
* _CLASS_GOBJECT(): Generate move operations.
* _CLASS_INTERFACE(): Generate move operations.
* _CLASS_BOXEDTYPE_STATIC(): Add move operations.
* _CLASS_BOXEDTYPE_STATIC: Add explicit copy operations.
* _CLASS_OPAQUE_COPYABLE(): Add move operations.
* _CLASS_OPAQUE_COPYABLE: Generate static swap().
* _CLASS_OPAQUE_REFCOUNTED: Use = delete for the default constructor.
(Murray Cumming)


2.45.50 (unstable):

Glib:
* RefPtr:
  * Add move constructor and move assignment operator for castable types.
    (Marcin Kolny) Bug 752812
  * Add release():
    (Marcin Kolny) Bug 752812
  * move assignment operator: Use swap().
    (Murray Cumming) Bug 752812

Gio:
* NetworkMonitor: Add get_network_metered() and property.
  (Murray Cumming)
* SocketService: Add active property.
  (Murray Cumming)

General:
* C++11: Boxed types: Declare move operations as noexcept.
  (Murray Cumming)

Build:
* Update Visual Studio project to Visual Studio 2013,
  for C++11 support.
  (Chun-wei Fan)
* Improve gen_scripts.
  (Kjell Ahlstedt)

gmmproc:
* generate_wrap_init.pl: Allow use of nested namespaces for whole module.
  (Marcin Kolny) Bug 753013


2.45.41 (unstable):

Glib:
* Undeprecate HelperList and List_Iterator because gtkmm-2.4 uses these
  in its undeprecated API. However, all of gtkmm-2.4 is deprecated, so
  you (Inkscape) shouldn't be using it anyway.
  Bug #752797 (Adam Williamson)
  (Murray Cumming)

2.45.40 (unstable):

Glib:
* RefPtr: Add move constructor and move assignment operator.
  (Murray Cumming)

Gio:
* Application: Add the shutdown signal.
  (Murray Cumming) Bug #752600 (Ben)

Build:
* C++11: Use noexcept instead of throw().
  (Murray Cumming)
* C++11: Use "= delete" instead of private copy constructors/operator=.
  (Murray Cumming)
* C++11: Use nullptr instead of 0.
  (Murray Cumming)
* C++11: Use the override keyword.


2.45.31 (unstable):

Glib:
* HelperList: fix iterator check in operator[]
  (Maks Naumov) Bug #751530.

Build:
* Use (and require) C++11.
  (Murray Cumming, Kjell Ahlstedt)
* Use some simple C++11 syntax.
  (Murray Cumming)
* Fix the build with -Wshadow.
  (Murray Cumming)

gmmproc:
* Generate code that uses some simple C++11 syntax.
  (Murray Cumming)
* _WRAP_SIGNAL: Accept apostrophes in a preceding comment.
  (Kjell Ahlstedt)


2.45.3 (unstable):

* Add SettingsSchema, SettingsSchemaKey and SettingsSchemaSource.
  (Murray Cumming)
* Deprecate HelperList and SArray because nothing uses them.
  (Murray Cumming)

Build:
* Don't disable more deprecation warnings than necessary
  (Kjell Ahlstedt) Bug #750379.

gmmproc:
* _WRAP_METHOD: deprecated: Use G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS
  per function, instead of one big undef [G|GDK|GTK]_DISABLE_DEPRECATED.
  (Kjell Ahlstedt) Bug #750379
* Remove GP_LIST, because nothing uses it.
  (Murray Cumming)


2.45.2 (unstable):

Glib:
* Add Glib::format_size().
  (Kjell Ahlstedt) Bug #747311 (Zsolt Bölöny)
* Add get_user_special_dir(UserDirectory), deprecating 
  get_user_special_dir(GUserDirectory directory).
  (Kjell Ahlstedt) Bug #747311
* Threads::Thread: Use GThread only via a pointer.
  Kjell Ahlstedt (Bug #746533)
* VariantBase: Add is_castable_to().
* VariantContainerBase: get_iter(): Accept casts of complicated types
  containing object paths and DBus type signatures to Variant<> types
  containing Glib::ustring and std::string.
  (Kjell Ahlstedt) Bug #747508.
* Variant: Wrap handles and add get_data_as_bytes()
  (Kjell Ahlstedt)
* Added SignalProxyDetailed.

Gio:
* Settings: Add signal_changed(key).
  (Kjell Ahlstedt, Murray Cumming) Bug #749034.
* Added SimpleIOStream.
  (Kjell Ahlstedt)

Documentation:
* API Reference: Remove generated " "You rarely need to use properties".
  Some new glib and gtk+ classes (GSimpleIOStream, GtkModelButton,
  GtkPopoverMenu) have no public set/get methods for their properties.
  (Kjell Ahlstedt)
* API Reference: Fix the version numbers in some @newin Doxygen commands.
  (Kjell Ahlstedt)

gmmproc:
* Add _IGNORE_PROPERTY() and _IGNORE_CHILD_PROPERTY() macros.
  (Kjell Ahlstedt)
* Add support for 'newin "n,m"' in some _WRAP macros.
  (Kjell Ahlstedt) Bug #748856 (Andrew Potter)
* _WRAP_SIGNAL: Add support for detail_name.
  (Kjell Ahlstedt) Bug #749034
*  Fetch property documentation from the docs.xml file, if available there.
  (Kjell Ahlstedt)
* docextract_to_xml.py: Distinguish sections from properties.
  (Kjell Ahlstedt)
* docextract_to_xml.py: Add support for the --no-recursion option.
  (Kjell Ahlstedt)

Build:
* Glib::ObjectBase: Don't use std::auto_ptr (deprecated in C++11).
  (Kjell Ahlstedt) Bug #748630 (Hubert Figuiere)
* Add missing GLIBMM_API for Interface
  (Mikhail Titov) Bug #748719.


2.44:

API additions since 2.42:

Glib:
* Add Binding.
  (Kjell Ahlstedt) Bug #738663.
* OptionContext: Add get/set_strict_posix().
  (Murray Cumming)

Gio:
* Application:
  - Add get/set/unset_resource_base_path() and property.
  - Add get_is_busy() and property.
  (Murray Cumming)
* File: Add replace_contents_bytes_aync().
  (Murray Cumming)
* InputStream: Add read_all_async() and read_all_finish().
  (Murray Cumming)
* MemoryInputStream: Add add_bytes().
  (Murray Cumming)
* Added NetworkMonitor.
  (Murray Cumming)
* Notification: Add set_priority() and enum NotificationPriority.
  (Kjell Ahlstedt)
* OutputStream: Add write_all_async() and write_all_finish().
  (Murray Cumming)
* Add Resource.
  (Kjell Ahlstedt)
* Add TcpWrapperConnection.
  (Murray Cumming)

Gio::DBus
* InterfaceInfo: Add cache_build() and cache_release().
  (Murray Cumming)


2.44.0 (stable):

Gio:
* Action, ActionGroup: Avoid memory leaks in funcs.
  (Kjell Ahlstedt) Bug #705124

gmmproc:
* _WRAP_VFUNC(): Add keep_return parameter.
  (Kjell Ahlstedt) Bug #705124


2.43.91 (unstable):

Glib:
* OptionContext: Add get/set_strict_posix().
  (Murray Cumming)

Gio:
* Application:
  - Add get/set/unset_resource_base_path() and property.
  - Add get_is_busy() and property.
  (Murray Cumming)
* File: Add replace_contents_bytes_aync().
  (Murray Cumming)
* InputStream: Add read_all_async() and read_all_finish().
  (Murray Cumming)
* MemoryInputStream: Add add_bytes().
  (Murray Cumming)
* OutputStream: Add write_all_async() and write_all_finish().
  (Murray Cumming)

Gio::DBus
* InterfaceInfo: Add cache_build() and cache_release().
  (Murray Cumming)



2.43.90 (unstable):

Glib:
* Error::register_init(): Call Glib::wrap_register_init().
  (Kjell Ahlstedt) Bug #743466 (Mike Fleetwood).
* OptionGroup:
  - Fix enable/disable bool option pairs.
  (Kjell Ahlstedt) Bug #744854 (Tom Schoonjans)
  - Fix memory leaks
  (Kjell Ahlstedt) Bug #745173.
  - Don't use deprecate g_option_group_free().
  (Kjell Ahlstedt) 
* Value: Deprecate Value<char>, add Value<signed char>.
  Because g_value_[get,set]_char() are deprecated in favour of
  g_value_[get,set]_schar().
  (Kjell Ahlstedt)

Gio:
* Application: Deprecate property_action_group().
  (Kjell Ahlstedt)
* Notification: Add set_priority() and enum NotificationPriority.
  (Kjell Ahlstedt)
* Add TcpWrapperConnection.
  (Murray Cumming)
* UnixSocketAddress: Deprecate property_abstract().
  (Kjell Ahlstedt)

gmmproc:
* Fix error messages in glib and gio by removing unnecessary _IGNORES().
  (Kjell Ahlstedt)
* h2def.py: Remove *_DEPRECATED_IN_*_*_FOR(*) prefixes with white space.
  (Kjell Ahlstedt)
* Put DOXYGEN_SHOULD_SKIP_THIS around *_Class prototypes.
  To workaround a doxygen bug, to fix the genereated DevHelp search index.
  (Murray Cumming) Bug #743918


2.43.3 (unstable):

Glib:
* Binding: Rename and change BindingTransformSlot to SlotTransform.
  (Kjell Ahlstedt) Bug #738663.   
* Add SlotSpawnChildSetup.
  (Kjell Ahlstedt) Bug #528285.   

Documentation:
* Resource: Suppress incorrect doxygen links.
  (Kjell Ahlstedt)  


2.43.2 (unstable):

Gio:
* Added NetworkMonitor.
  (Murray Cumming)
* UnixFDList, UnixFDMessage: Correct array lengths in steal_fds()
  (Kjell Ahlstedt) Bug #741365 (Matthew Balkam)

gmmproc:
* Don't make one very long line for the enum documentation.
  (Kjell Ahlstedt)
* Improve the conversion of Since to @newin.
  (Kjell Ahlstedt)
* Add an empty line after @newin where it's missing
  (Kjell Ahlstedt)


2.43.1 (unstable):

gmmproc:
* Tidy up the generation of enum docs
  (Kjell Ahlstedt)
* _WRAP_GERROR: Add documentation to the generated enum Code.
  (Kjell Ahlstedt)
* Change messages that MS Visual Studio can misunderstand.
  (Kjell Ahlstedt)
* Warn when an ignored method or signal doesn't exist.
  (Marcin Kolny) Bug #737212.
  
Glib:
* Add Binding.
  (Kjell Ahlstedt) Bug #738663.
* Checksum::ChecksumType: Remove erroneous documentation
  (Kjell Ahlstedt)
* Property: Add some documentation.
  (Kjell Ahlstedt) Bug #523043.

Gio:
  Add Resource.
  (Kjell Ahlstedt)


2.42:

API additions since 2.40:

* Add Permission and SimplePermission.
  (Juan R. García Blanco) Bug #732436
* Add support for GtkContainer child properties.
  (Juan R. García Blanco)


2.42.0 (stable):

Gio:
* Notification: Deprecate set_urgent().
  (Murray Cumming)

Tools:
*  h2def.py: fixed generator in case of inline functions.
   (Marcin Kolny) Bug #736427

Build:
* Update and overhaul of Visual Studio 2005 project build files.
 (Chun-wei Fan)   
* Fixes for  Visual Studio 2008 and 2010 project build files.
 (Chun-wei Fan)
* Fix ustring for Visual Studio Builds.
 (Chun-wei Fan) Bug #736720
* Visual Studio Builds: Add "install" project.
  (Chun-wei Fan)
* Fix tests in Visual Studio.
  (Chun-wei Fan) Bug #736778

2.41.4 (unstable):

gmmproc:
* Added parameter exception_handler in _WRAP_VFUNC().
  (Marcin Koln) Bug #735132
* Better error checks in some _WRAP_* macros.
  (Kjell Ahlstedt)

Build:
* Update and overhaul of Visual Studio 2010 and Visual Studio 2008
  project build files.
  (Chun-wei Fan)
* Gio::DBus: Don't use parameter name 'interface' to fix the build with MinGW.
  (Kjell Ahlstedt) Bug #735137.


2.41.3 (unstable):

Documentation:
* Network example:
  - Use Glib::OptionEntry and friends
  (Kjell Ahlstedt)
  - Network example: Add --use-ipv6 command line option
  (Shashank) Bug #734094.

2.41.2 (unstable):

Gio:
* Menu: Allow detailed_action == null
  (Kjell Ahlstedt) Bug #733203 (Hubert Figuiere)
* Add Permission and SimplePermission.
  (Juan R. García Blanco) Bug #732436

Glib:
* Make custom interface properties instance data.
  (Kjell Ahlstedt) Bug #732746
* PropertyBase: Use g_object_notify_by_pspec() instead of g_object_notify()
  (Povilas Kanapickas) Bug #731484

gmmproc:
* Add support for GtkContainer child properties.
  (Juan R. García Blanco)
*  _WRAP_METHOD: Allow multi-word parameter types such as unsigned int.
  (Kjell Ahlstedt)


2.41.1 (unstable):

Gio:
* Application: Deprecate set_action_group().
  (Kjell Ahlstedt)
* DesktopAppInfo: Deprecate set_desktop_env().
  (Kjell Ahlstedt)
* Settings:  Deprecate list_schemas(), range_check() and
  property_schema().
  (Kjell Ahlstedt)
* TlsConnection: Deprecate [set|get]_use_system_certdb()
  and property_use_system_certdb().
  (Kjell Ahlstedt)
* VolumeMonitor: Deprecate adopt_orphan_mount().
  (Kjell Ahlstedt)

Glib:
* Keyfile: Deprecate one of the load_from_dirs() methods.
  (Kjell Ahlstedt)
* ValueArray: Deprecated.
  (Kjell Ahlstedt)

tests:
* Test custom properties and an interface with properties.
  (José Alburquerque) Bug #697229

Documentation:
*  Add a blank line after @deprecated and @newin to help doxygen.
  (Kjell Ahlstedt)


2.41.0 (unstable):
  
Gio:
* Application:
  - Add add_main_option_entry() and enum OptionType.
  (Kjell Ahlsted) Bug #727822.
  - Add add_main_option_entry() taking a slot parameter
  (Kjell Ahlsted) Bug #727822.
* Add SocketSource, SignalSocket and Socket::create_source().
  (Kjell Ahlsted) Bug #725281.

Documentation:
* examples/network: Use SocketSource and SignalSocket.
  (Kjell Ahlstedt)

Build:
* gmmproc: Don't interpret a comma as the end of a deprecation message.
  (Kjell Ahlstedt)


2.40:

API additions since 2.38:

Glib:
* Keyfile: Add save_to_file().
  (Murray Cumming)
* Add VariantDict.
  (Murray Cumming)

Gio:
* Action: Add parse_detailed_name() and parse_detailed_name_variant().
  (Kjell Ahlstedt)
* Application: Add the handle-local-options signal.
  (Murray Cumming)
* ApplicationCommandline: Add get_options_dict().
* MenuModel: Add signal_items_changed()
  (Kjell Ahlstedt)
* MemoryInputStream: Add add_data() taking a sigc::slot,
  with a test.
  (Kjell Ahlstedt) Bug #609946 (Daniel Elstner)
* Add Notification.
  (Kjell Ahlstedt) Bug #722896.
* Settings: Add get_user_value() and get_default_value().
  (Murray Cumming)
* Socket: Add get/set_option().
  (Murray Cumming)
* TlsInteraction: Add invoke_request_certificate(),
  request_certificate(), request_certificate_async() and
  request_certificate_finish().
  (Murray Cumming)


2.40.0 (stable):

* VariantType: Fix typo in VARIANT_TYPE_BYTESTRING_ARRAY value.
  (Murray Cumming)
* gmmproc: Small improvement of enum documentation
  (Kjell Ahlstedt)
* Windows Update the visual Studio build files.
  (Chun-wei Fan)

2.39.93 (unstable):

Glib:
* Keyfile: Add save_to_file().
  (Murray Cumming)
* Add VariantDict.
  (Murray Cumming)
* Variant: Remove the now-unnecessary local g_variant_parse_error_quark().
  (Murray Cumming) Bug #727554 (Antoine Jacoutot)

Gio:
* Application: Add the handle-local-options signal.
* ApplicationCommandline: Add get_options_dict().
* Settings: Add get_user_value() and get_default_value().
  (Murray Cumming)
* Socket: Add get/set_option().
  (Murray Cumming)
* TlsInteraction: Add invoke_request_certificate(),
  request_certificate(), request_certificate_async() and
  request_certificate_finish().
  (Murray Cumming)

Build:
* h2def.py:
  - Handle *_DEPRECATED_IN_* and AVAILABLE_IN_* with 0 digits.
  - Also strip *_DEPRECATE_IN_*_FOR () without a space.
  (Murray Cumming)
* Visual Studio Projects: Update giomm Projects.
  (Chun-wei Fan)


2.39.92 (unstable):

Gio:
* Application: Add add_main_option_entry() and add_option_group().
  (Murray Cumming)

Documentation:
* Glib::ustring: Say more clearly that it must be only UTF-8.
  (Kjell Ahlstedt) Bug #681560 (vurentjie)

Build:
* win32: Surround content_type_get_symbolic_icon() with ifdefs.
  (Giuseppe Penone)


2.39.91 (unstable):

Documenation:
* Improve Gio::Socket documentation.
  (Tomasz Jankowski, Murray Cumming)

2.39.3 (unstable):

Gio
* Action:
  - Add parse_detailed_name() and parse_detailed_name_variant().
    (Kjell Ahlstedt)
  - Fix activate(const Glib::Variant<T_Value>& value).
    (Kjell Ahlstedt) Bug #722896
* MenuModel: Add signal_items_changed()
  (Kjell Ahlstedt)
* MemoryInputStream: Add add_data() taking a sigc::slot,
  with a test.
  (Kjell Ahlstedt) Bug #609946 (Daniel Elstner)
* MenuModel: Add signal_items_changed()
  (Kjell Ahlstedt)
* Add Notification.
  (Kjell Ahlstedt) Bug #722896.
    
Documentation:
* Fix some doxygen warnings.
  (Kjell Ahlstedt)
* Don't change NULL to 0 in docs, when it's part of a longer name.
  (Kjell Ahlstedt)
* OptionContext: Add API documentation based on the C docs.
  (Murray Cumming)


2.39.3 (unstable):

* Documentation improvements.
  (Kjell Ahlstedt)
* Fix a test on IPv6 systems.
  (Adam Sampson)


2.38.1 (stable):

Build:
* Gio::ActionGroup: Remove a nonsensical check that
  clang complains about, correctly.
  (Murray Cumming) Bug #709963 (Johannes Meng, David Evans)

Documentation:
* Gio::content_type_*(): Add a link from Gtk::AppChooser.
  (Kjell Ahlstedt)
* giomm_tls_client test: Add some comments
  (Kjell Ahlstedt)


Changes in 2.38 compared to 2.36:

Glib:
* Object: Add interfaces to custom types before class_init.
  This deprecates the use of Glib::Object as a base class
  anywhere but in the last in the list of base classes when
  implementing an interface, such as TreeModel or 
  CellRenderer.
  Having it, for instance, as the first base class,
  is unfortunately likely to break with glib 3.40.
  (Kjell Ahlstedt) Bug #697229
* Use std::memset() instead of GLIBMM_INITIALIZE_STRUCT
  (Because it causes compiler warnings with --std=c++ with g++,
  because that defines __STRICT_ANSI__.) and deprecate
  GLIBMM_INITIALIZE_STRUCT.
  (Kjell Ahlstedt)
* ByteArray:
  - Fix refcount problems.
    (Krzesimir Nowak)
  - ByteArray: Add some tests for methods returning self.
    (Krzesimir Nowak)
* DateTime: Fix compare() and equal().
  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)
* Regex: Add get_max_lookbehind().
  (Murray Cumming)
* Variant: Fix memory leaks.
  (Kjell Ahlstedt) Bug #704851 (xanm)

Gio:
* Action:
  - get_state() and get_state_hint() now return something.
    We choose not to consider this an ABI break because these
    methods were impossible to use for anything useful before.
   (Andrew Potter) Bug #690134.
  - Add get_state_bool() and change_state(bool),
    to make it easier to deal with toggle actions.
    However, we might add a whole derived convenience class for these
    instead.
    (Murray Cumming, Kjell Ahlstedt)
  - Add create_radio_string() and create_radio_integer() for
    radio items, though we might change this API lots.
    (Murray Cumming)
  - Add name_is_valid() and print_detailed_name().
    (Murray Cumming)
  - Add an activate() method that takes no parameter.
    (Murray Cumming)
  - print_detailed_name(): Remove the action_name parameter.
    (Murray Cumming)
  - print_detailed_name() Make this templated.
   (Murray Cumming)
  - Make get_state() templated.
    (Murray Cumming)
  - get_state_hint(): Correct a check.
    (Murray Cumming)
  - Add templated change_state() and activate().
    (Murray Cumming)
* Application: Add mark/unmark_busy().
  (Murray Cumming)
* ActionGroup:
  - Add templated getters.
    (Murray Cumming)
  - activate_action(): Add a method overload
    that takes no parameter parameter.
    (Murray Cumming)
* ActionMap:
  - Add add_action(name, slot).
    This is a convenience method similar to
    g_action_map_add_action_entries() in C.
    (Murray Cumming, Kjell Ahlstedt)
  - Add add_action_radio_string() and add_action_radio_integer()
    for radio items, though we might change this API lots.
    (Murray Cumming)
* DesktopInfo: Add list_actions(), launch_action() and get_action_name().
  (Murray Cumming)
* File:
  - Add measure_disk_usage() and measure_disk_usage_async().
    (Murray Cumming)
  - Add trash_async(), trash_finish(), make_directory_async()
    and make_directory_finish().
    (Murray Cumming)
* Menu: Add remove_all().
  (Murray Cumming)
* MenuItem:
  - Add set/unset_icon().
    (Murray Cumming)
  - Reimplement the constructors.
    (Murray Cumming) Bug #705199 (Pete Woods)
  - Add set_action(), unset_target() and
    unset_action_and_target().
    (Murray Cumming)
  - MenuItem: get/set_attribute(): Deprecated for
    get/set_attribute_value() methods.
    (Murray Cumming)
  - Add insert/append/prepend_section() with no label parameter.
   (Murray Cumming) Bug #702456 (Aurimas Černius)
* Settings:
  - Add create_action().
    (Murray Cumming)
  - Add get/set_uint().
    (Murray Cumming)
* SimpleAction:
  - Make set_state() protected.
    (Murray Cumming)
  - add_action() now takes a slot with no parameter.
    Added add_action_with_parameter().
    (Murray Cumming)
  - set_enabled(): Add default parameter value.
    (Murray Cumming)
  - Add constructors and create_bool() methods that take a bool instead of
    a VariantBase for the state, to make it easier to deal with toggle actions.
    However, we might add a whole derived convenience class for these
    instead.
    (Murray Cumming)
* SimpleActionGroup:
  - lookup(): Add a const version and use refreturn.
    (Murray Cumming)
  - Deprecate all methods, because they just call methods in
    the base ActionMap. The C functions are now deprecated too.
    See glib bug #705600 .
    (Murray Cumming)
* Add VariantParseError.
  Because it is thrown by GtkBuilder, at least for now.
  (Murray Cumming

Gio::DBus:
* Add InterfaceSkeleton.
  (José Alburquerque)

Build:
* Port tools/defs_gen to Python 3.
  (Kjell Ahlstedt) Bug #690969
* tools/h2def.py: Handle functions with Handle *_DEPRECATED_IN_*_FOR (*).
  (Murray Cumming)
* Update Visual Studio Projects
  (Chun-wei Fan)
* Glib::TypeTraits<>: Avoid warnings when compiling with -Wcast-qual.
  (Kjell Ahlstedt) Bug #704640 (Aurimas Černius)
* enums.pl: fixed multi-argument defines as enum values.
  (Marcin Kolny) Bug #705113
* Move to a generated ChangeLog.
  (José Alburquerque)

gmmproc:
* Pass NULL to C function calls for optional empty strings.
  (José Alburquerque) Bug #686909. Bug #702456
* Add parameter return_value in _WRAP_VFUNC.
  (Marcin Kolny) Bug #705699.
* Fix _WRAP_SIGNAL with 'ifdef' and 'deprecated'.
  (Kjell Ahlstedt)
* docextract_to_xml.py: Add '&rArr;' to the list of escape sequences.
  (José Alburquerque)
* Add _WRAP_ENUM_DOCS_ONLY() and simplify enum docs process.
  (José Alburquerque) Bug #703155
*  gmmproc: Use GMMPROC_RETURN_MISMATCHES environment variable.
  (José Alburquerque)
* Write glibmm version in generated files.
  (Kjell Ahlstedt) Bug #697835 and Bug #700495
    
Documentation:
* gmmproc: Add docs to the default constructor of _CLASS_OPAQUE_COPYABLE.
  mentioning that the constructed object is invalid.
  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)



2.38.0 (stable):

Glib:
* ByteArray:
  - Fix refcount problems.
  (Krzesimir Nowak)
  - ByteArray: Add some tests for methods returning self.
  (Krzesimir Nowak)

Gio
* Action:
  - Add an activate() method that takes no parameter.
  (Murray Cumming)
  - print_detailed_name(): Remove the action_name parameter.
  (Murray Cumming)
* ActionGroup: activate_action(): Add a method overload
  that takes no parameter parameter.
  (Murray Cumming)
* ActionMap: Fix a reference-counting problem.
  (Murray Cumming)
* MenuItem:
  - Add set_action(), unset_target() and
  unset_action_and_target().
  (Murray Cumming)
  - MenuItem: get/set_attribute(): Deprecated for
    get/set_attribute_value() methods.
  (Murray Cumming)
* Settings: Add create_action().
  (Murray Cumming)


2.37.93 (unstable):

Gio
* ActionMap: lookup_action(): Fix the reference counting.
  (Murray Cumming)
* File: Add measure_disk_usage() and measure_disk_usage_async().
  (Murray Cumming)
* Settings: Add get/set_uint().
  (Murray Cumming)
* Add VariantParseError.
  Because it is thrown by GtkBuilder, at least for now.
  (Murray Cumming

Build:
* Port tools/defs_gen to Python 3.
  (Kjell Ahlstedt) Bug #690969
* tools/h2def.py: Handle functions with Handle *_DEPRECATED_IN_*_FOR (*).
  (Murray Cumming)

2.37.7 (unstable):

Gio:
* Menu: Add insert/append/prepend_section() with no label parameter.
  (Murray Cumming) Bug #702456 (Aurimas Černius)
    
gmmproc:
* Pass NULL to C function calls for optional empty strings.
  (José Alburquerque) Bug #686909. Bug #702456
* Add parameter return_value in _WRAP_VFUNC.
  (Marcin Kolny) Bug #705699.
    
Build:
* Update Visual Studio Projects
  (Chun-wei Fan)


2.37.6 (unstable):

Gio:
* Action:
  - Make get_state() templated.
    (Murray Cumming)
  - get_state_hint(): Correct a check.
    (Murray Cumming)
  - Add templated change_state() and activate().
    (Murray Cumming)
  - print_detailed_name() Make this templated.
     (Murray Cumming)
* ActionGroup: Add templated getters.
  (Murray Cumming)
* ActionMap: add_action_radio_*(): Use better Slot types.
  (Murray Cumming)
* SimpleAction:
  - Make set_state() protected.
   (Murray Cumming)
  - add_action() now takes a slot with no parameter.
    Added add_action_with_parameter().
    (Murray Cumming)
* SimpleActionGroup:
  - lookup(): Add a const version and use refreturn.
    (Murray Cumming)
  - Deprecate all methods, because they just call methods in
    the base ActionMap. The C functions are now deprecated too.
    See glib bug #705600 .
    (Murray Cumming)

gmmproc:
* Fix _WRAP_SIGNAL with 'ifdef' and 'deprecated'.
  (Kjell Ahlstedt)   


2.37.5 (unstable):

Glib
* Object: Add interfaces to custom types before class_init.
  This deprecates the use of Glib::Object as a base class
  anywhere but in the last in the list of base classes when
  implementing an interface, such as TreeModel or 
  CellRenderer.
  Having it, for instance, as the first base class,
  is unfortunately likely to break with glib 3.40.
  (Kjell Ahlstedt) Bug #697229
* DateTime: Fix compare() and equal().
  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)
* Regex: Add get_max_lookbehind().
  (Murray Cumming)
* Variant: Fix memory leaks.
  (Kjell Ahlstedt) Bug #704851 (xanm)

Gio:
* Action:
  - get_state() and get_state_hint() now return something.
  We choose not to consider this an ABI break because these
  methods were impossible to use for anything useful before.
  (Andrew Potter) Bug #690134.
  - Add get_state_bool() and change_state(bool),
  to make it easier to deal with toggle actions.
  However, we might add a whole derived convenience class for these
  instead.
  (Murray Cumming, Kjell Ahlstedt)
  - Add create_radio_string() and create_radio_integer() for
  radio items, though we might change this API lots.
  (Murray Cumming)
  - Add name_is_valid() and print_detailed_name().
  (Murray Cumming)
* ActionMap:
  - Add add_action(name, slot).
  This is a convenience method similar to
  g_action_map_add_action_entries() in C.
  (Murray Cumming, Kjell Ahlstedt)
  - Add add_action_radio_string() and add_action_radio_integer()
  for radio items, though we might change this API lots.
  (Murray Cumming)
* Application: Add mark/unmark_busy().
  (Murray Cumming)
* DesktopInfo: Add list_actions(), launch_action() and get_action_name().
  (Murray Cumming)
* File: Add trash_async(), trash_finish(), make_directory_async()
  and make_directory_finish().
  (Murray Cumming)
* Menu: Add remove_all().
  (Murray Cumming)
* MenuItem:
  - Add set/unset_icon().
  (Murray Cumming)
  - Reimplement the constructors.
  (Murray Cumming) Bug #705199 (Pete Woods)
* SimpleAction:
  - set_enabled(): Add default parameter value.
  (Murray Cumming)
  - Add constructors and create_bool() methods that take a bool instead of
  a VariantBase for the state, to make it easier to deal with toggle actions.
  However, we might add a whole derived convenience class for these
  instead.
  (Murray Cumming)

Documentation:
* gmmproc: Add docs to the default constructor of _CLASS_OPAQUE_COPYABLE.
  mentioning that the constructed object is invalid.
  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)

Build:
* Glib::TypeTraits<>: Avoid warnings when compiling with -Wcast-qual.
  (Kjell Ahlstedt) Bug #704640 (Aurimas Černius)
* enums.pl: fixed multi-argument defines as enum values.
  (Marcin Kolny) Bug #705113 


2.37.4 (unstable):

glibmm:
* Use std::memset() instead of GLIBMM_INITIALIZE_STRUCT
  (Because it causes compiler warnings with --std=c++ with g++,
  because that defines __STRICT_ANSI__.) and deprecate
  GLIBMM_INITIALIZE_STRUCT.
  (Kjell Ahlstedt)

giomm:
* Add Gio::DBus::InterfaceSkeleton.
  (José Alburquerque)

gmmproc:
* docextract_to_xml.py: Add '&rArr;' to the list of escape sequences.
  (José Alburquerque)
* Add _WRAP_ENUM_DOCS_ONLY() and simplify enum docs process.
  (José Alburquerque) Bug #703155
*  gmmproc: Use GMMPROC_RETURN_MISMATCHES environment variable.
  (José Alburquerque)
* Write glibmm version in generated files.
  (Kjell Ahlstedt) Bug #697835 and Bug #700495
  
Build:
* Move to a generated ChangeLog.
  (José Alburquerque)
    	
2.36.2 (stable):

* Revert this change from 2.36.1, which should not have appeared in a
	stable release yet:
	Custom Interfaces: Implement derived interface properties.
	(Murray Cumming)

2.36.1 (stable):

* Custom Interfaces: Implement derived interface properties.
  (José Alburquerque)
* gmmproc: Fix _WRAP_SIGNAL(custom_c_callback) for void func().
  (Kjell Ahlstedt) Bug #605728 (Murray Cumming)
* Output.pm: convert_args_c_to_cpp(): Reverse mappings hash correctly.
  (José Alburquerque) Bug #698989 (David Evans, John Ralls)

Changes in 2.36 compared to 2.34:

Glib:
* AppInfo::get_all(): Fix ownerships.
  (Pavel Vasi) Bug #694505
  (José Alburquerque)
* Add ByteArray, because it is used in the GTls* API.
  (José Alburquerque)
* Resolver: Add lookup_records(), lookup_records_async()
  and lookup_records_finish().
  (José Alburquerque)
* Signal*::connect(): Make them less thread-unsafe.
  (Kjell Ahlstedt) Bug #396958 (Daniel Elstner, Chris Vine)
* Threads: Add create(slot, name) to create named threads.
  (Andrew Potter) Bug #689863
* Variant: Allow containing complex types in arrays and in variants.
  (José Alburquerque)
* Variant: Don't refsink variants created using the custom cast ctor.
  (José Alburquerque)
* Variant< std::vector<std::string> >: Add create_from_object_paths().
  (José Alburquerque)
* VariantBase: Add check_format_string().
   (Murray Cumming)
* VariantBase: Add operator for BoolExpr (const void*).
  (Andrew Potter) Bug #690121
* VariantType: Add create_tuple().
  (Andrew Potter) Bug #688682
* VariantType: Correct the referencing in the create*() methods.
  (José Alburquerque) Bug #688440 (Andrew Potter)


Gio:
* AppInfo: Add create_duplicate().
  (José Alburquerque)
* ApplicationCommandLine: Add get_stdin() and
  create_file_for_arg().
  (Murray Cumming)
* AsyncResult: Added is_tagged().
  (Murray Cumming)
* Credentials: Add get_unix_pid().
  (José Alburquerque)
* DesktopAppInfo: Add has_key(),
  get_string() and get_boolean().
  (Murray Cumming)
* DesktopAppInfo: Add some new getter methods.
  (José Alburquerque)
* File: Remove refreturn to avoid memory leaks.
  (Kjell Ahlstedt) Bug #691606 (Dodak4Gi)
* FileEnumerator: Add get_child().
  (Murray Cumming)
* FileInfo: Add get_deletion_date().
  (Murray Cumming)
* MemoryOutputStream: Add the steal_as_bytes() method.
  (José Alburquerque)
* SimpleAction: Fix stateful action constructor typo, allowing use.
  (Andrew Potter) Bug #690122
* SocketClient: Add get/set_tls(),
  get/set_tls_validation_flags(), get/set_proxy_resolver().
  Added timeout, tls, enable-proxy, tls-validation, and 
  proxy-resolver properties.
  Added the event signal.
  (Murray Cumming)
* SocketConnection: Add connect*() and is_connected() methods.
  (José Alburquerque)
* ThemedIcon: Wrap the "names" property.
  (José Alburquerque)
* Add TlsConnection, TlsClient, TlsServer, TlsDatabase,
  TlsCertificate, TlsPassword, TlsFileDatabase and TlsInteraction.
  (José Alburquerque)
* UnixConnection: Add [receive|send]_credentials_[async|finish]().
  (José Alburquerque)

Gio::DBus:
* DBus::[Connection|Proxy]: Use ifdefs for the UnixFDList call*() methods.
  (José Alburquerque)

gmmproc:
* Verify that void methods should not return a value.
  (José Alburquerque) Bug #696364
* Parse the argument list of methods correctly.
  (José Alburquerque)
* gmmproc: _WRAP_VFUNC: Support the wrapping of slots.
  (José Alburquerque)
* gmmproc: _WRAP_METHOD: Support wrapping methods with slots.
  (José Alburquerque) Bug #688587
* gmmproc: _WRAP_METHOD: Ensure that slot parameters can be optional.
  (José Alburquerque)
* gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Allow any order of {} options.
  (José Alburquerque)
* gmmproc: _WRAP_ENUM: Skip enum constants whose names are deleted.
  (Kjell Ahlstedt) Bug #544694 (Murray Cumming)
* gmmproc: _WRAP_CTOR: Handle *_new() functions with a final GError**.
  (José Alburquerque) Bug #687959

Build:
* Visual Studio Projects: Fix and update.
  (Chun-wei Fan)
* Add a test of implementing an interface,
  to detect the problem in glib 2.36.0 and
  the expected problem with glib >= 2.37.0
  See bug #697229
  (Murray Cumming)
* DBus::[Connection|Proxy]: Change ifdef G_OS_LINUX to ifdef G_OS_UNIX.
  (Kjell Ahlstedt)
* ContentType: Fix typo in the content_type_get_symbolic_icon() implementation.
  (José Alburquerque)
* Remove the use of g_type_init() because it has been deprecated.
  (José Alburquerque)
* Strip trailing whitespace.
  (Mark Vender) 
* Fix the build with warnings enabled.
  (Murray Cumming)




Documentation:
* Signal[Timeout|Idle]::connect_once() docs: Warn about thread-unsafety.
  (Kjell Ahlstedt) Bug #396963 (Daniel Elstner, Chris Vine)
* ThreadPool::push() docs: Note that sigc::trackable is not thread-safe.
  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
* Threads::Thread::create(): Update the documentation.
  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
* SignalProxy: Fix the documentation, especially of connect_notify().
  (Kjell Ahlstedt) Bug #126213, comment 5.
* Gio::Action: Add more documentation of get_state_hint() and get_state().
  (Kjell Ahlstedt) Bug #690134 (Andrew Potter)
* Predefine G_OS_UNIX or G_OS_WIN32 in Doxygen's configuration file.
  (Kjell Ahlstedt)
* gmmproc: Improve the conversion of documentation to Doxygen format.
  (Kjell Ahlstedt)
* Documentation: Fix many warnings from Doxygen.
  (Kjell Ahlstedt)
* gmmproc: Make enum documentation possible.
  (José Alburquerque) Bug #544694 (Murray Cumming)
* gmmproc: Improve the search for documentation of enums.
  (Kjell Ahlstedt)
* gmmproc: Documentation: Adjust if the method has a slot param.
  (José Alburquerque) Bug #688587.
* docextract_to_xml.py: Replace &colon; with ':' in generated XML files.
  (José Alburquerque)
* gmmproc: Improve the documentation of properties.
  (Kjell Ahlstedt)
* ustring docs: The global locale should be set when using C++ streams.
  (Debarshi Ray) Bug #661588


2.36.0 (stable):

Changes since 2.35.9:

Glib:
* ByteArray:
  - Add size() and get_data().
  - Add a Glib::Value<> template specialization.
  (José Alburquerque)
* VariantBase: Add check_format_string().
   (Murray Cumming)

Gio:
* ApplicationCommandLine: Add get_stdin() and
  create_file_for_arg().
  (Murray Cumming)
* AsyncResult: Added is_tagged().
  (Murray Cumming)
* Credentials: Add get_unix_pid().
  (José Alburquerque)
* DesktopAppInfo: Add has_key(),
  get_string() and get_boolean().
  (Murray Cumming)
* FileEnumerator: Add get_child().
  (Murray Cumming)
* FileInfo: Add get_deletion_date().
  (Murray Cumming)
* SocketClient: Add get/set_tls(),
  get/set_tls_validation_flags(), get/set_proxy_resolver().
  Added timeout, tls, enable-proxy, tls-validation, and 
  proxy-resolver properties.
  Added the event signal.
  (Murray Cumming)

gmmproc:
* Verify that void methods should not return a value.
  (José Alburquerque) Bug #696364
* Parse the argument list of methods correctly.
  (José Alburquerque)

Build:
* Visual Studio Projects: Fix and update.
  (Chun-wei Fan)
* Add a test of implementing an interface,
  to detect the problem in glib 2.36.0 and
  the expected problem with glib >= 2.37.0
  See bug #697229
  (Murray Cumming)


2.35.9 (unstable):

Glib:
* Add edByteArray, because it is used in the GTls* API.
  (José Alburquerque)
* AppInfo::get_all(): Fix ownerships.
  (Pavel Vasi) Bug #694505


Gio:
* TlsFileDatabase: Add the create() method.
  (José Alburquerque)
* TlsCertificate: Add the certificate property.
  (José Alburquerque)
* TlsClientConnection: Add get_accepted_cas()
  and the "accepted-cas" property.
  (José Alburquerque)
* TlsDatabase: Add the lookup_certificates_issued_by*()
  methods and virtual functions.  Correct a TlsCertificate conversion
  for the virtual functions so that the underlying GObject is properly
  copied from the C++ wrapper.
  (José Alburquerque)
* TlsInteraction: Add the virtual functions.
  (José Alburquerque)


2.35.8 (unstable):

Glib:
* Resolver: Add lookup_records(), lookup_records_async()
  and lookup_records_finish().
  (José Alburquerque)
* Signal*::connect(): Make them less thread-unsafe.
  (Kjell Ahlstedt) Bug #396958 (Daniel Elstner, Chris Vine)
* Threads: Add create(slot, name) to create named threads.
  (Andrew Potter) Bug #689863
* Variant: Allow containing complex types in arrays and in variants.
  (José Alburquerque)
* Variant: Don't refsink variants created using the custom cast ctor.
  (José Alburquerque)
* Variant< std::vector<std::string> >: Add create_from_object_paths().
  (José Alburquerque)
* VariantBase: Add operator for BoolExpr (const void*).
  (Andrew Potter) Bug #690121
* VariantType: Add create_tuple().
  (Andrew Potter) Bug #688682
* VariantType: Correct the referencing in the create*() methods.
  (José Alburquerque) Bug #688440 (Andrew Potter)

Gio:
* AppInfo: Add create_duplicate().
  (José Alburquerque)
* DesktopAppInfo: Add some new getter methods.
  (José Alburquerque)
* File: Remove refreturn to avoid memory leaks.
  (Kjell Ahlstedt) Bug #691606 (Dodak4Gi)
* MemoryOutputStream: Add the steal_as_bytes() method.
  (José Alburquerque)
* SimpleAction: Fix stateful action constructor typo, allowing use.
  (Andrew Potter) Bug #690122
* SocketConnection: Add connect*() and is_connected() methods.
  (José Alburquerque)
* ThemedIcon: Wrap the "names" property.
  (José Alburquerque)
* Add TlsConnection, TlsClient, TlsServer, TlsDatabase,
  TlsCertificate, TlsPassword, TlsFileDatabase and TlsInteraction.
  (José Alburquerque)
* UnixConnection: Add [receive|send]_credentials_[async|finish]().
  (José Alburquerque)

Gio::DBus:
* DBus::[Connection|Proxy]: Use ifdefs for the UnixFDList call*() methods.
  (José Alburquerque)

gmmproc:
* gmmproc: _WRAP_VFUNC: Support the wrapping of slots.
  (José Alburquerque)
* gmmproc: _WRAP_METHOD: Support wrapping methods with slots.
  (José Alburquerque) Bug #688587
* gmmproc: _WRAP_METHOD: Ensure that slot parameters can be optional.
  (José Alburquerque)
* gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Allow any order of {} options.
  (José Alburquerque)
* gmmproc: _WRAP_ENUM: Skip enum constants whose names are deleted.
  (Kjell Ahlstedt) Bug #544694 (Murray Cumming)
* gmmproc: _WRAP_CTOR: Handle *_new() functions with a final GError**.
  (José Alburquerque) Bug #687959

Documentation:
* Signal[Timeout|Idle]::connect_once() docs: Warn about thread-unsafety.
  (Kjell Ahlstedt) Bug #396963 (Daniel Elstner, Chris Vine)
* ThreadPool::push() docs: Note that sigc::trackable is not thread-safe.
  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
* Threads::Thread::create(): Update the documentation.
  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
* SignalProxy: Fix the documentation, especially of connect_notify().
  (Kjell Ahlstedt) Bug #126213, comment 5.
* Gio::Action: Add more documentation of get_state_hint() and get_state().
  (Kjell Ahlstedt) Bug #690134 (Andrew Potter)
* Predefine G_OS_UNIX or G_OS_WIN32 in Doxygen's configuration file.
  (Kjell Ahlstedt)
* gmmproc: Improve the conversion of documentation to Doxygen format.
  (Kjell Ahlstedt)
* Documentation: Fix many warnings from Doxygen.
  (Kjell Ahlstedt)
* gmmproc: Make enum documentation possible.
  (José Alburquerque) Bug #544694 (Murray Cumming)
* gmmproc: Improve the search for documentation of enums.
  (Kjell Ahlstedt)
* gmmproc: Documentation: Adjust if the method has a slot param.
  (José Alburquerque) Bug #688587.
* docextract_to_xml.py: Replace &colon; with ':' in generated XML files.
  (José Alburquerque)
* gmmproc: Improve the documentation of properties.
  (Kjell Ahlstedt)
* ustring docs: The global locale should be set when using C++ streams.
  (Debarshi Ray) Bug #661588

Build/Other:
* DBus::[Connection|Proxy]: Change ifdef G_OS_LINUX to ifdef G_OS_UNIX.
  (Kjell Ahlstedt)
* ContentType: Fix typo in the content_type_get_symbolic_icon() implementation.
  (José Alburquerque)
* Remove the use of g_type_init() because it has been deprecated.
  (José Alburquerque)
* Strip trailing whitespace.
  (Mark Vender) 
* Fix the build with warnings enabled.
  (Murray Cumming)


Changes in 2.34 compared to 2.32:

Glib:
* Added the Bytes class, wrapping GBytes.
  (Murray Cumming)
* RegEx: Add get_has_cr_or_lf().
  (José Alburquerque)
* Threads::Mutex, RecMutex: Add wrap() functions.
  (Kjell Ahlstedt) Bug #483790
* VariantIter: Add init() method.
  (José Alburquerque)

Gio:
* ActionGroup: Add the query_action() methods.
  (José Alburquerque)
* AppInfo: Added  get_display_name(),
  set_as_last_used_for_type() and get_supported_types().
  (Murray Cumming)
* AppLaunchContext: Add setenv(), unsetenv() and get_environment().
  (Murray Cumming)
* Application:
  - Added get_dbus_connection()
  and get_dbus_object_path().
  - Allow the application ID to be empty.
  (Murray Cumming)
* ContentType:
  - get_icon(): Fix a refcount error.
  - Added get_symbolic_icon().
  (Murray Cumming)
* Add Converter, ZlibCompressor, ZlibDecompressor and 
  CharsetConverter classes.
  (José Alburquerque)
* Add ConverterInputStream and ConverterOutputStream.
  (José Alburquerque)
* DBusAuthObserver: Added allow_mechanism().
  (Murray Cumming)
* Drive: Added get_symbolic_icon().
  (Murray Cumming)
* File: Add remove_async() and remove_finish().
  (Murray Cumming)
* FileAttributeMatcher: Add create_difference() and to_string().
  (José Alburquerque)
* FileInfo:
  - Add has_namespace(), [get|set]_attribute_status(),
  and [get|set]_attribute_strings().
  (José Alburquerque)
  - Added get_symbolic_icon().
  (Murray Cumming)
* InetSocketAddress: Added get_flowinfo() and get_scope_id()
  (Murray Cumming)
* InputStream: Added read_bytes(), read_bytes_async() and read_bytes_finish().
  (Murray Cumming)
* IOStream: Add splice_async() splice_finish().
  (José Alburquerque)
* Menu: Added append_section().
  (Murray Cumming)
* MenuItem:
  - Added get_link().
  (Murray Cumming)
  - Add get_attribute().
  (José Alburquerque)
* MenuModel: Added is_mutable() and get_n_items().
  (Murray Cumming)
* Mount: Added get_symbolic_icon().
  (Murray Cumming)
* MountOperation: Wrap the "show-unmount-progess" signal.
  (José Alburquerque)
* OutputStream: Added write_bytes(), write_bytes_async() and write_bytes_finish().
  (Murray Cumming)
* Add PollableInputStream and PollableOutputStream.
  (José Alburquerque)
* Proxy: Add call(), call_sync() and call_finish() for unix_fd_list.
  (Murray Cumming)
* ProxyAddress: Added get_destination_protocol()
  and get_uri().
  (Murray Cumming)
* Add Resource
  Bug #674545 (Kalev Lember)
* Socket: Added get_available_bytes(), get_ttl(), set_ttl(), 
  get_broadcast(), set_broadcast(), 
  get_multicast_loopback(), set_multicast_loopback(),
  get_multicast_ttl(), set_multicast_ttl(),
  join_multicast_group(), leave_multicast_group(),
  and properties.
  (Murray Cumming)
* Volume:
  - Added get_symbolic_icon().
  - Added get_sort_key().
  (Murray Cumming)

Gio::DBus:
* Connection:
  - Added get_last_serial().
  (Murray Cumming)
  - Added call_[finish|sync]() with UnixFDLists.
  (José Alburquerque)#662371.

gmmproc:
* Add _INCLUDE_IN_WRAP_INIT, _GMMPROC_WRAP_CONDITIONALLY.
  (Kjell Ahlstedt) Bug #678883.
* Add _CUSTOM_CTOR_CAST
  (Krzesimir Nowak)
* _WRAP_VFUNC: Handle virtual functions that throw GErrors.
  (José Alburquerque) Bug #683460
* Add a _NO_WRAP_INIT_REGISTRATION macro
  (José Alburquerque) Bug #684006
* _CLASS_GOBJECT: Allow classes to have custom wrap() functions.
  (José Alburquerque) Bug #684006
* _WRAP_METHOD: Allow setting parameters from C output params.
  (José Alburquerque) Bug #662371


2.34.0 (stable):

* Some minor documentation improvements.
  (Murray Cumming)
 
2.33.14:

Glib:
* RegEx: Add get_has_cr_or_lf().
  (José Alburquerque)
* VariantIter: Add init() method.
  (José Alburquerque)

Gio:
* ActionGroup: Add the query_action() methods.
  (José Alburquerque)
* FileAttributeMatcher: Add create_difference() and to_string().
* FileInfo:  Add has_namespace(), [get|set]_attribute_status(),
  and [get|set]_attribute_strings().
  (José Alburquerque)
* IOStream: Add splice_async() splice_finish().
* MenuItem: Add get_attribute().
* MountOperation: Wrap the "show-unmount-progess" signal.
  (José Alburquerque)

* Gio::DBus:
  - Proxy: Add call(), call_sync() and call_finish() for unix_fd_list.
    (Murray Cumming)

* gmmproc:
  - Make the output param feature work for single indirection.
    (José Alburquerque) Bug #662371.
  - Add 3-argument @newin.
    (Kjell Ahlstedt)


2.33.13 (unstable):

Gio:
* AppLaunchContext: Add setenv(), unsetenv() and get_environment().
* File: Add remove_async() and remove_finish().
  (Murray Cumming)
* Add e ConverterInputStream and ConverterOutputStream.
* Add PollableInputStream and PollableOutputStream.
  (José Alburquerque)

Gio::DBus:
* Connection: Add the call_[finish|sync]() with UnixFDLists.
  (José Alburquerque)#662371.

gmmproc:
* Add a _NO_WRAP_INIT_REGISTRATION macro
  (José Alburquerque) Bug #684006
* _CLASS_GOBJECT: Allow classes to have custom wrap() functions.
  (José Alburquerque) Bug #684006
* _WRAP_METHOD: Allow setting parameters from C output params.
  (José Alburquerque) Bug #662371
* Prepend a Doxygen @throws clause to the declaration of virtual 
  functions that throw Glib::Error.
  (José Alburquerque)
* Improve the search for unwrapped methods.
  (Kjell Ahlstedt)

Build:
* Use std::time_t instead of ::time_t 
  instead of ::time_t.
* Use std::size_t and std::ptrdiff_t instead
  of ::size_t and ::ptrdiff_t.
  (Kjell Ahlstedt)


2.33.12 (unstable):

Gio:
* Add Converter, ZlibCompressor, ZlibDecompressor and 
  CharsetConverter classes.
  (José Alburquerque)
* AppInfo: Added  get_display_name(),
  set_as_last_used_for_type() and get_supported_types().
* Application: Added get_dbus_connection()
  and get_dbus_object_path().
* ContentType:
  - get_icon(): Fix a refcount error.
  - Added get_symbolic_icon().
  (Murray Cumming)
* DBusAuthObserver: Added allow_mechanism().
* Drive: Added get_symbolic_icon().
* FileInfo: Added get_symbolic_icon().
* Menu: Added append_section().
* MenuItem: Added get_link().
* MenuModel: Added is_mutable() and get_n_items().
* Mount: Added get_symbolic_icon().
* ProxyAddress: Added get_destination_protocol()
  and get_uri().
* Socket: Added get_available_bytes(), get_ttl(), set_ttl(), 
  get_broadcast(), set_broadcast(), 
  get_multicast_loopback(), set_multicast_loopback(),
  get_multicast_ttl(), set_multicast_ttl(),
  join_multicast_group(), leave_multicast_group(),
  and properties.
* Volume:
  - Added get_symbolic_icon().
  - Added get_sort_key().
  (Murray Cumming)

gmmproc:
* _WRAP_VFUNC: Handle virtual functions that throw GErrors.
  (José Alburquerque) Bug #683460


2.33.4 (unstable):

Glib:
* KeyFile: Correct the load_from_dirs() implementation.
  (Krzesimir Nowak)
* Variant: Make sure that we always sink the initial reference.
  (Krzesimir Nowak) Bug #680407
* VariantType: peek_string(): Correct this to handle 
  the non-null-terminated result from g_variant_type_peek_string().
* Threads::Mutex, RecMutex: Add wrap() functions.
  (Kjell Ahlstedt) Bug #483790

gmmproc:
*  Add _CUSTOM_CTOR_CAST
  (Krzesimir Nowak)

Documentation:
* Show the get_type() functions in the API documentation.
  (Murray Cumming) Bug #670212 (Mark Vender).


2.33.3 (unstable):

Glib:
* Added the Bytes class, wrapping GBytes.
  (Murray Cumming)

Gio:
* InetSocketAddress: Added get_flowinfo() and get_scope_id()
* OutputStream: Added write_bytes(), write_bytes_async() and write_bytes_finish().
* InputStream: Added read_bytes(), read_bytes_async() and read_bytes_finish().
  (Murray Cumming)

Gio::DBus:
* Connection: Added get_last_serial().
  (Murray Cumming)

gmmproc:
* Add _INCLUDE_IN_WRAP_INIT, _GMMPROC_WRAP_CONDITIONALLY.
  (Kjell Ahlstedt) Bug #678883.

2.33.2 (unstable):

* Added some enum values and documentation.
  (Murray Cumming)

2.33.1 (unstable):

Gio:
* Application:
  - Allow the application ID to be empty.
  - Pass 0 (NULL) rather than "" to GApplication.
  (Murray Cumming)
* Add Resource
  Bug #674545 (Kalev Lember)

Glib:
* Miscutils: get_system_data_dirs(), get_system_config_dirs():
  Return early when the C function returns NULL.
  (Krzesimir Nowak)
* Thread::RecMutex: Don't initialize this as a GStaticMutex.
  (Deprecated anyway)
  (Michał Wróbel) Bug #677291
* Documentation: Don't hide add_exception_handler() documentation.
  (Kjell Ahlstedt)

2.32.0 (stable):

Glib:
* Dispatcher: Don't send messages to a deleted Dispatcher.
  (Kjell Ahlstedt) Bug #651942
* Make SignalTimeout/SignalIdle::connect_once() more thread safe.
  (Kjell Ahlstedt) Suggested by Chris Vine. Bug #396963
* Document Glib::Property and Glib::PropertyBase.
  (Mark Vender) Bug #673291

gmmproc:
* Add macro _CUSTOM_CTOR_CAST in _CLASS_BOXEDTYPE.
  (Kjell Ahlstedt) Bug #511136, comment 20.
* Generate the documentation of default constructors of interface classes.
  (Mark Vender) Bug #673213

Build:
* Update Visual Studio projects.
  (Chun-wei Fan)


2.31.22 (unstable):

Glib:
* Threads, Dispatcher: Delete DispatchNotifier.
  (Kjell Ahlstedt) Bug #671587.

Gio:
* Action: Ensure vfunc callbacks return valid memory.
  (José Alburquerque)
* ActionGroup: list_actions_vfunc(): Do not return freed memory.
  (Murray Cumming)
* Move AppLaunchContext into its own header file.
  (Murray Cumming)
* Add Menu and MenuItem.
* SimpleAction: Constructor: Add a parameter that takes no VariantType.
  (Murray Cumming)

Gio::DBus:
* Object: Ensure vfunc callbacks return valid memory.
  (José Alburquerque)
* Add the Interface and Object interfaces.
  (José Alburquerque)

gmmproc:
* _WRAP_SIGNAL() can now take an optional deprecated parameter,
  like _WRAP_METHOD() and _WRAP_PROPERTY().
  (Murray Cumming, Kjell Ahlstedt)
* _WRAP_PROPERTY(): Correct the ifdefs in generated code when
  using the optional deprecated parameter.
  (Kjell Ahlstedt)

Other:
* Dispatcher examples: Use Glib::signal_idle().connect_once().
  (Kjell Ahlstedt) Bug #396963
* Some fixes for minor clang++ warnings.
  (José Alburquerque, Murray Cumming)


2.31.20:

Glib:
* Fix exceptions thrown by Thread::create() and Threads::Thread::create.
  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)
* Fix the build with --disable-deprecated-api.
  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)

Gio::
* Application: Add quit(). 
  (Murray Cumming)

Gio::DBus:
* DBus::Error, DBus::Proxy: Fix interaction with generate_wrap_init.pl.
  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)

* Documentation: Signal*: Better description of the connect*() methods.
  (Kjell Ahlstedt) Bug #669906 (Mark Vender)

gmmproc and tools:
* gmmproc: Allow destructors to be documented.
  (José Alburquerque) Bug #668918 (Mark Vender)
* docextract_to_xml.py: Generate signal documentation too.
  (José Alburquerque) Bug #668918 (Mark Vender)
* Add some scripts to regenerate the .defs files.
  (José Alburquerque)
* generate_wrap_init.pl:
  - Improve reg. of exception classes in sub-namespaces and
  improve it for deprecated files and sub-namespaces.
  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)
* h2defs.py: Ignore the new GDK_AVAILABLE_IN_* macros.
  (Murray Cumming)

2.31.18.1:

gmmproc:
* h2def.py: Handle types such as 'const gchar* const *' for functions.
  (José Alburquerque)
* _WRAP_PROPERTY(): Allow properties to be deprecated.
  (Murray Cumming)

Gio:
* Application: Derive from the ActionGroup interface.
* Application: Add missing virtual functions and get/set_default() methods.
* Add MenuModel, MenuAttribute, MenuLink and MenuIter.

Gio::DBus:
* ActionGroup, MenuModel: Have get() methods instead of create() methods.
  (José Alburquerque) Bug #637445.
* Add DBus::MenuModel.
* Connection: Add the MenuModel export/unexport methods.
* Add class documentation.


2.31.18: (unstable):

Gio:
* Add the ActionMap interface.
  (José Alburquerque)

Gio::Dbus:
* Add the ActionGroup classe.
* Connection: Add the ActionGroup export/unexport methods.
  (José Alburquerque)

Glib:
* Add the RemoteActionGroup classes.
  (José Alburquerque)

gmmproc:
* h2def.py: Handle deprecated functions.
* docs: Remove possible parens in gtk-doc signal references. Bug #668918.
  (José Alburquerque)


2.31.16.1: (unstable):

* gmmproc (docs):
  - Add documentation to wrapped signals.
    Bug #668918 (Mark)
  - Convert signal and property names correctly.
    Bug #668918 (Mark)
  - Add some HTML entity conversions.
  - Translate the <itemizedlist> tags in docs correctly.
  (José Alburquerque)

2.31.16: (unstable):

Build:
* Dispatcher: Fix the build on win32.
  (TS)
* thread.h: Move calls to deprecated glib functions into thread.cc.
  (Haikel Guemar)

2.31.2: (unstable):

glibmm:
* Add Glib::Threads::* in threads.h, deprecating everything in thread.h.
  This was necessary because we had to break the ABI to avoid using 
  API that is now deprecated in glib.
* Avoid compiler warnings when using -std=c++0x with g++.
  (Murray Cumming, Kjell Ahlsted)

giomm:
* drive: Add get_sort_key().
* EmblemedIcon: Add clear_emblems().
* FileIconL Add the "file" property.
* InetAddress: Add address_equal().
* Mount: Add get_sort_key().
* Socket: Add the "timeout" property.
* SocketAddress: Add the "family" property.
  (José Alburquerque)

gmmproc:
* C example code removal: Also remove code in </programlisting> tags.
 (José Alburquerque)
* Ensure template parameter has a space before to avoid trigraphs.
  (Hub Figuière) Bug #663303

Examples:
* Avoid use of the now-deprecated API.
 (Murray Cummign)

2.31.0.2: (unstable)

* gthread.h: Move the deprecation ifdefs to avoid affecting non-deprecated API.

2.31.0.1: (unstable)

* Avoid deprecation compiler warnings in glibmm and projects using glibmm.
  However, you will need to include either <glibmm.h> or <glibmm/thread.h>
  before other glibmm includes.
  (Murray Cumming)
* Move IOCondition from main.h to iochannel.h.
  (Murray Cumming)
* Don't include <glibmm.h> via init.h or wrap_init.h.
  (Murray Cumming)
* gmmproc:
  - Don't include C code examples found in the XML docs. Bug #650544
  - Don't include <glibmm.h> by default in generated files. Bug #662597
  (José Alburquerque)
  
2.31.0: (unstable)

Glib:
* Date: set_time(): Use g_date_set_time_t() instead of g_date_set_time().
  (José Alburquerque) 
* Thread: Deprecated thread_init(), Thread::joinable(), *_priority(), etc.
  (Murray Cumming)
* (Threads are always enabled in glib now, and thread_init() does nothing.)
* VariantContainerBase: Add create_maybe().
  (José Alburquerque) 

Gio:
* DataInputStream: Add read_line_utf8() and read_line_finish_utf8().
  (José Alburquerque)
* DBus::MethodInvocation: Add UnixFDList return_value() method overload.
  (José Alburquerque)
* Re-add Application and related class so they can be finished.
  (José Alburquerque)
* ApplicationCommandLine: Add the get_platform_data() method.
  (José Alburquerque)
* SimpleAction: Wrap the signals and properties.
  (José Alburquerque)

* gmmproc:
  - Fix h2def.py not parsing function starting with G_GNUC_* macros.
  (Krzesimir Nowak) Bug #660225.
  - _WRAP_METHOD: Allow return types to have commas.
  (José Alburquerque) Bug #661401
  - _WRAP_METHOD: Use {OUT} instead of {RET} for output params.
  (José Alburquerque)
  - Remove M4 warnings due to commas in return types.
  (José Alburquerque)

2.30.0: (stable)

giomm:
* DBus::Server: Add constructors.
* Remove Application and friends, because they are still not ready.
  See bug ##637445#c29
  (Murray Cumming)

Documentation:
* gmmproc: DocParser: Correct the removal of link tags.
  (José Alburquerque)
  
2.29.13: (unstable)

giomm:
* Variant< std::vector<std::string> >: Ensure correct creation.
  (José Alburquerque) Bug #657030 (Aurimas Černius)
gmmproc
* Correct handling of constversion etc. in _WRAP_METHOD, avoiding side-effects 
  on other _WRAP_METHOD() calls in the same .hg file.
  (Kjell Ahlstedt) Bug #657751,
  
2.29.12: (unstable)

2011-08-03  Murray Cumming  <murrayc@murrayc.com>

* Gio::Application:
  - Add back Gio::Application and friends so we can try to finish them.
  - local_command_line_vfunc(): Use references for parameters.
    See bug #643478.
  (Murray Cumming)
* Gio::TimeZoneMonitor: Remove because it was removed in glib.
  (José Alburquerque)
* Build:
configure: Require the latest libsigc++ because our tests require it.
  See https://bugs.launchpad.net/bugs/829596
  (Murray Cumming)

  
2.29.11: (unstable)

* Gio::AppInfo:
  - launch(): Use a vector instead of a ListHandle and assume that it contains 
  Gio::File rather than strings. This was unusable before.
  - Add launch() overload with no launch_context parameter.
  - Add launch() overload taking one file, 
  - launch_uri(): Deprecate the method taking a GAppLaunchContext*, adding 
    one taking a Gio::AppLaunchContext instead.
  - Add launch_uri() taking one URI.
  (Murray Cumming)
* Add test case for a recent fix in libsigc++ with RefPtr.
  (Kjell Ahlstedt) Bug #564005#c14 (Alexander Shaduri)
* tools: Add python .def generation scripts removed from PyGObject.
  (Murray Cumming)
* gmmproc: Allow _STRUCT_NOT_HIDDEN to be used even when multiple classes 
  are defined in one file.
  (José Alburquerque)

2.29.10: (unstable)

* Gio:
- Added DateTime, TimeZone, TimeZoneMonitor.
  (José Alburquerque)

2.28.2: (stable)

* gmmproc:
  - _WRAP_METHOD: Add optional parameter functionality.
  - _WRAP_[CREATE|CTOR|METHOD]: Support parameter reordering.
  - _WRAP_METHOD: Add the possibility of an output parameter.
  (José Alburquerque)
  - Protect documentation with m4 quotes.
  (Kjell Ahlstedt) Bug #603930

Gio:
* DBus::Connection::emit_signal(): Replace empty strings with 0, because 
  gio fails with "", apparently unnecessarily.
  (José Alburquerque) Bug #645072 (Yannick Guesnet).

Build:
* Removed now-unused doctooldir variable from pkgconfig files.
  (Kalev Lember) Bug #652461

2.28.1:

gmmproc:
* Extra Defs Tool: Only generate properties that the GType owns.
  (José Alburquerque)
* Put guards around generated includes in wrap_init.cc to fix the wind32 build.
  (Kalev Lember) Bug #649182
* tools/pm/GtkDefs.pm: GtkDefs::split_tokens(): Speed improvement.
  (Kjell Ahlstedt) Bug #644037

Build:
* Update the VS 2005, 2008, and 2010 project files.
  (Fan, Chun-wei)
* Examples build: Use the GLIB_COMPILE_SCHEMAS variable.
  (Volker Grabsch) Bug #648485.
* Gio::DBus::Message: Fixed includes for WIN32
  (Kalev Lember)  Bug #649168

Documentation:
* Added some classes to the DBus documentation group and added class
  overview documentation. (Murray Cumming)

New API in glibmm 2.28:
(There was no stable glibmm 2.26 release)

Glib:
* Variant: A new hierarchy of templated Variant<> types, for use with
  Gio::Settings and Gio::DBus.
  (José Alburquerque, Yannick Guesnet, Murray Cumming)
* OptionGroup:
  - Add add_entry() that takes a slot with callback function.
  - on_post_parse() overrides no longer need to call the base class.
  (Kjell Ahlstedt)
* RefPtr: Make it work with sorted containers.
  (David Kozub)
* Regex: Added and used a MatchInfo class.
  (José Alburquerque)
* General:
  - build_filename(): Add method overloads to take up to 9 arguments,
  for convenience.
  (Fabricio Godoy)
  - Added get_system_data_dirs() and get_system_config_dirs().
  (Murray Cumming)

Gio:
* Proxy, ProxyAddress and ProxyResolver.
  (Murray Cumming)
* Settings: For application settings, replacing GConf (or Gnome::Conf).
  (Jonathon Jongsmam, José Alburquerque, Murray Cumming)
* DBus: API to use or implement D-Bus services.
  (José Alburquerque, Yannick Guesnet, Michael Edwards,
  Martin Braure de Calignon and Murray Cumming.)
* SocketControlMessage, UnixCredentialsMessage and UnixFDMessage.
  (José Alburquerque)
* Added UnixFDList.
  (José Alburquerque)

gmmproc:
* Support for use of std::vector<> instead of ListHandle<>, SListHandle<>,
and ArrayHandle.
(Krzesimir Nowak)

See also this list of new API:
http://developer.gnome.org/glibmm/unstable/since_2_28.html

Gio::DBus, Glib::Variant and Gio::Settings were a huge amount of difficult
work mostly by José Alburquerque, with help from Jonathon Jongsmam,
Yannick Guesnet, Michael Edwards, Martin Braure de Calignon and Murray Cumming.
Some of José Alburquerque's work was funded by Openismus GmbH.
Thank you, everyone.


2.28.0 (stable):

Gio:
* DBus::Connection:
  - Added a register_method() overload with no vtable.
  - register_object(), register_subtree(): Take the VTable by reference,
  not pointer.
  (Murray Cumming)
* DBus::MethodInvocation:
  - get_parameters(): Return a VariantContainerBase instead of taking a
  VariantBase.
  - return_gerror(), return_error_literal(): Rename them both to return_error().
  (Murray Cumming)
* DBus::NodeInfo::lookup_interface(): Add a method overload with no name.
  (Murray Cumming)
* DBus::Proxy: Rename type_map_changed_properties to MapChangeProperties.
  (Murray Cumming)
* DBus::VariantContainerBase::create_tuple(): Add a method overload that takes
  a single VariantBase,
* Settings: Really add list_schemas().
  (Murray Cumming)

2.27.99.2 (unstable):

Glib:
* Variant:
  - Rename get(index) to get_child(index).
 - Variant<std::string>:
   Allow this to be used for object paths and signatures as well as just
   bytestrings.
 - Variant<Glib::ustring>:
   Allow this to be used for bytestrings, object paths and signatures as well as just
   (UTF-8) strings.
 - Move constructor definitions into the .cc file.
 - Capitalize the standard types, such as VARIANT_TYPE_STRING.
 (Murray Cumming)
* ArrayHandle: Make it compilable with MSVC 2005, 2008, 2010.
  (Krzesimir Nowak) Bug #645851 (Fan, Chun-wei)

2.27.99.1 (unstable):

Gio:
* DBus: Use VariantContainerBase for tuple Variants.

2.27.99 (unstable):

This is probably the very last release before 2.28.0 which will happen very soon.

Gio:
* Removed Application, ApplicationCommandLine, and ActionGroup because
  they are unfinished. We hope to add them back in glibmm 3.2.
* Removed SettingsBackend because it is unfinished.
* Settings: Removed API that used SettingsBackend.
* Variant: Improved the documentation.

Build: Remove the dependency on mm-common during the tarball build.

2.27.98 (unstable):

Gio:
* DBus::InterfaceVTable: Make the tuple type clearer in SlotInterfaceMethodCall.

Glib:
* Correct some range checks to use >= instead of just >.
  (Murray Cumming) Thanks to Michael Edwards.
* Vectorutils, ArrayHandle: Check for NULL pointers.
  (Krzesimir Nowak)

2.27.97 (unstable):

Gio:
* DBus::Proxy: Added the properties_changed signal.
  (Yannick Guesnet) Bug #644886
* Variant:
  - Added Variant<VariantBase>::get().
  (Yannick Guesnet) Bug #644207.
  - Added some get() method overloads.
  (Murray Cumming)
  - Added VariantBase::cast_dynamic().
  (Yannick Guesnet) Bug #644146

* Build: Fix the missing doc-install.pl problem.
  mm-common is now needed for tarball builds, though this might change soon.
  (Murray Cumming)

2.27.96 (unstable):

Gio:
* Application:
  - open(): Added a single-file method overload.
  - The command-line signal now returns an int instead of a bool. It is a
  main() status code.
  - Added get_environ().
  - Add the local_command_line vfunc,
* ApplicationCommandLine: Use std::string instead of ustring in some API.
  (Murray Cumming)
* DBus::InterfaceVTable: Use g_error_copy() where appropriate, fixing a crash.
  (Murray Cumming) Bug #644008 (Yannick.Guesnet)

* Build: Do not install doctool/ scripts such as doc-install.pl.
  These are now only installed by mm-common, and the mm-common macros find it
  there, so no changes should be necessary in other modules if you update
  mm-common.
  (Murray Cumming)
* Documentation: Avoid errors in the reference documentation due to encoding
  confusion in our perl scripts.
  (Kjell Ahlstedt) Bug #644037

2.27.95 (unstable):

Gio:
* Throw Gio::Error again, instead of just the base Glib::Error.
  This was broken in glibmm 2.27.94.
  (Murray Cumming)

Glib:
* build_filename(): Add method overloads to take up to 9 arguments,
  for convenience.
  (Fabricio Godoy) Bug #599578
* Documentation: Mark some new API as new in 2.28.
  (Murray Cumming)

2.27.94 (unstable):

Glib:
* OptionGroup:
  - Add add_entry() that takes a slot with callback function.
  (Kjell Ahlstedt) Bug #589197 (Hubert Figuiere)
  - on_post_parse() overrides no longer need to call the base class.
  (Kjell Ahlstedt) Bug #588988 (Hubert Figuiere)
  - Make Glib::{Array,List,SList}Handle work with std::vector<bool>.
  (Krzesimir Nowak) Bug 640079

Gio:
* Moved all DBus* classes into a Gio::DBus namespace.
  (Murray Cumming)

2.27.93 (unstable):

* Added ArrayHandler, ListHandler and SListHandler, to help with conversions
  to/from std::vector.
  These replace ArrayHandle, ListHandle, and SListHandle, which allowed the
  use of any standard container. New APIs will use only std::vector, because
  that is less confusing to developers, though less flexible.
  (Krzesimir Nowak)
* Application: Initialize glibmm and giomm in the constructor, for
  convenience.
  (Murray Cumming)
* Resolver: lookup_service(), lookup_by_address(): Fix the reference counting.
  (Murray Cumming) Bug #639575 (Michael Edwards)
* Fix the build (and of applications) with  GLIB_DISABLE_SINGLE_INCLUDES.
  (Chris Kühl)

2.27.91.1 (unstable):

* gmmproc:
  - _WRAP_CTOR(): Restore the optional extra parameter, because it
  is still needed by gtkmm-2.4.
  (Murray Cumming)
  - Added conversion from bool& to gboolean*.
  (Chris Kühl)

* DBus::[watch|own]_name(): Add default values for parameters.
* DBusConnection:
  - Add a send_message() without an "out_serial" parameter.
  - Avoid errors/exceptions in callbacks due to NULL C strings.
  - Wrap properties and signals.
* DBusMessage: Wrap properties and signals.
* DBusServer: Comment out constructors because of bug #639478.
* InetAddress: Wrap properties.
* Variant: Make the variant_type() functions return actual types.
* Documentation: Started a client/server example that uses the user's bus.

  DBus: Add initial implementation of a bus server/client example.

  * examples/Makefile.am:
  * examples/dbus/busserver.cc: Add a partial implementation of the
  server part of a server/client example that communicate through the
  user's bus.
  * examples/dbus/peer.cc: Typos.

2.27.91 (unstable):

Gio:
* BufferedInputStream, BufferedOutputStream: Fix create_sized().
  (Murray Cumming) Bug #638616 (Michael Edwards)
* DBus: Use std::string for addresses since they could be a file path.
  Use std::string instead of Glib::ustring for address parameters just to avoid
  possible errors since DBus address could be a filename path as the "Addresses"
  section of the DBus introduction seems to imply:
  http://www.freedesktop.org/wiki/IntroductionToDBus.
* DBus: Use std::string instead of Glib::ustring for guid's since std::string's
  API is probably adequate enough for their use.
  (José Alburquerque)
* DBusConnection:
  - call*() methods: Re-order parameters.
  - Callbacks: Check for NULL GError** parameters and throw exceptions to the
  caller.
  - Add [register|unregister]_subtree() methods.
  - Fix crashes caused by inappropriate use of reinterpret_cast<>.
  (José Alburquerque) Bug #637587 (Yannick Guesnet)
* DBusConnectionInvocation: reference-counting fixes.
  (Murray Cumming)
* DBusIntrospection: Fix some reference counting.
* DBusServer:
  - Added create() methods.
  - CCorrect the type of the "active" property.
* SocketService, ThreadedSocketService: Correct ref-counting for signals.
* Improvements to the DBus examples.
  (José Alburquerque)

Tools:
* gmmproc: Warn about unwrapped properties.
  (Krzesimir Nowak)
* Added defs_fixer.pl, which fixes some generated .defs by applying a specified
  override file. This should be easier than using a patch.
  (Krzesimir Nowak)


2.27.5.1: (unstable):

Glib:
* RefPtr: Make it work with sorted containers.
  (David Kozub) Bug #626858
* Variant:
  - Make all the get_iter() methods const.
  - Added dictionary entry and dictionary specializations.
  - VariantContainerBase: Add a create() method from an array of variants.
  - Added tests.
  (José Alburquerque)
* gmmproc cleanup
  (José Alburquerque)

Gio:
* Application: Added the open signal.
  (Yannick Guesnet)
* DBusConnection: Add register/unregister_object() methods.
  (José Alburquerque) Bug #637587 (Yannick Guesnet)


2.27.5: (unstable):

Glib:
* Added Variant<std::string>, Glib::Variant< array >, and
  Variant< vector > specializations

Gio:
* Added DBus client example: examples/dbus/well-known-address-client.cc
  (José Alburquerque)
* Fox the build with mingw32.
  (José Alburquerque) Bug #636754 (t.sailer)


2.27.4.1: (unstable):

Gio:
* DBus[Connection|Proxy]: Don't take extra reference on async creation.
* DBusConnection:
  - Add non-observable create method overloads.
  - Make the create methods.async get methods, static.
  - Added get_sync() methods.
  - Added send_message_with_reply_sync() methods.
  - Added signal_subscribe() and add_filter().
* DBusIntrospection: new_for_xml(): Rename to create_for_xml().
* DBusProxy:
  - Reorder the parameters so that "name" is second in methods.
  - Add a non-cancellable call_sync() method.
* Documentation: Add a DBus Doxygen group.
  (José Alburquerque)

Glib:
* Regex: Add a MatchInfo class and use it.
  (José Alburquerque) Bug #636911 (Alexander Shaduri)
* gmmproc: Remove m4 conversion files for gdk, gtk, atk, and pango.
  They are now in the derived projects, which should now include
  convert_glibmm instead of, for instance, convert_gtkmm.
  Some modules will now need to add a line in their configure.ac so they
  can use the extra conversions from gtkmm. For instance, with
  gtksourceviewmm:
  MM_PKG_CONFIG_SUBST([GMMPROC_EXTRA_M4_DIR], [--variable=gmmprocm4dir gtkmm-3.0])
  (Murray Cumming)

2.27.4: (unstable):

Gio:
* DBus::Address: Wrap the gio dbus address API in this namespace.
* DBusConnection:
  - Add emit_signal().
  - Add call(), call_finish() and call_sync() methods.
* DBusMethodInvocationbusmethodinvocation: Remove the default constructor
  because it probably will not be used (there is no create() method to
  go along with it).
* DbusServer: create_sync(): Use g_dbus_server_new_sync() instead of the
  constructors because the C function does more than call g_initable_new().
  (José Alburquerque)

gmmproc:
* Improve parsing of the C documentation.
  (José Alburquerque)

2.27.3.1: (unstable):

Gio:
* Added ApplicationCommandLine.
* Application
  - Added non-cancellable overload of register_application()
  - Return int value from run() correctly
  - Fix protected constructor signature
  (Jonathon Jongsma)
* DBusConnection, DBusProxy, DBusServer: Add non-cancellable overloads of the
  constructors and create methods.
  Renamed the create() synchronized methods to create_sync().
* Initable: Add a non-cancellable overload of the init() method.
* Documentation: Added lots of class and method documentation.
   (José Alburquerque)


2.27.3: (unstable):

Gio:
* Application: Added open().
* ActionGroup: Added list_actions.
* DataInputStream: Added read_upto(), read_upto_async()
  and read_upto_finish().
  (Murray Cumming)
* DBusConnection: Correct the AsyncInitable inheritance/implementation.
* MemoryOutputStream: Added steal_data(), and a const get_data().
* NetworkService: Added get_scheme(), set_scheme() and the property.
* Socket: Added get_timeout(), set_timeout(),
  receive_with_blocking() and send_with_blocking().
  (José Alburquerque)
* SocketClient:
  * Add get_enable_proxy(), set_enable_proxy(),
  get_timeout(), set_timeout() and add_application_proxy().
  (José Alburquerque)
  * Added connect_to_uri(), connect_to_uri_async()
  and connect_to_uri_finish().
  (Murray Cumming)
* SocketConnectable: socketconnectable Added proxy_enumerate() and a
  const enumerate().
* Added UnixSocketAddress
* UnixCredentialMessage, UnixFDMessage: Wrap properties properly.
  (José Alburquerque)
* giomm.h: Add includes of newly wrapped API.
  (José Alburquerque)

Glib:
* ObjectBase: Fixed compiler errors when the debug warnings are enabled
  at compile time.
  (Krzesimir Nowak)

2.27.2: (unstable):

Gio:

* Added ActionGroup.
* Application: Large API changes to match the changed C API.
* DBusConnection: Reorder the parameters in the
  constructors and create methods so that the DBusConnection flag
  parameter has a default value.
* DBusProxy: Added get_cached_property().
  (José Alburquerque)

Glib:
* Main: Add get_time(), deprecating get_current_time(), though this needs
  more work.
  (Murray Cumming)

2.27.1: (unstable):

Gio:
* AsyncInitable: Add create_finish().
* DBusProxy:
  -  Add call(), call_finish() and call_sync() methods.
  - Add properties and signals.
  (José Alburquerque)
* Variant: create methods: Remove the floating reference of the GVariants,
  correcting our memory management.

Glib:
* Added get_system_data_dirs() and get_system_config_dirs().
  (Murray Cumming)
* Build: Fix a Windows build problem caused by the removal of the optional-API
  ifdefs.
  (José Alburquerque)

2.27.0: (unstable):

* Depend on glib 2.27.x.
* Add Gio:Application.

2.25.5: (unstable):

Gio:
* Removed Application (removed in glib 2.26)
  This is still in the git master versions.
* DBusMessage: Added create_from_blob(), set/get_byte_order(),
  get_header_fields(), bytes_needed(), to_blob(), to_exception(), get_locked(),
  lock() and copy().
* NetworkAddress: Added get_scheme() and property.
* Added Proxy, ProxyAddress and ProxyResolver.
* Settings: Added reset(), list_children(), list_keys().
  (Murray Cumming)
* Added DBusAnnotationInfo, DBusArgInfo, DBusMethodInfo, DBusSignalInfo,
  DBusPropertyInfo, DBusInterfaceInfo, and DBusNodeInfo.
* Added DBusProxy.
* Added DBus::watch() and DBus::unwatch_name().
* Several other DBus* improvements.
  (José Alburquerque)

Glib:
* Variant: Added get_maybe(), get_size(), get_data(), store(), and
  get_n_children().
* Added VariantIter.
  (Murray Cumming)

2.25.4: (unstable):

Gio:
* Added AsyncInitable.
* DBusConnection: Added create() methods.
* UnixConnection: Add receive/send_credentials() methods.
* Added SocketControlMessage, UnixCredentialsMessage and UnixFDMessage.
  (José Alburquerque)

2.25.3: (unstable):

Glib:
* Added VariantBase and Variant<>.
  (José Alburquerque, Murray Cumming)

Gio:
* Added Application, wrapping GApplication
  (Murray Cumming)
* Added Credentials.
  (Murray Cumming)
* Added DBusConnection, DBusMethodInvocation, DBusServer,
  DBusAuthObserver and DBusMessage.
  (José Alburquerque, Murray Cumming, Martin Braure de Calignon)
* Added UnixFDList.
   (José Alburquerque)

Build:
* Fix the build without __STDC_ISO_10646__.
  (Koop Mast)


2.25.2: (unstable):

Gio:
* Settings: create*() methods:
  Use SettingsBackend instead of string context parameters.
  (Murray Cumming)


2.25.1: (unstable):

Glib:

* Removed the --enable-api-exceptions, --enable-api-properties,
  --enable-api-vfuncs and --enable-api-default-signal-handlers options
  because nobody needs them any more.
  The defines are now always defined, for backwards compatiblity.
* Keyfile:
  - Added get_int64, get_uint64, set_int64, set_uint64().
  - Added load_from_dirs().
  (José Alburquerque)
* OptionGroup: Added set_translate_func().
  (José Alburquerque)
* RegEx: Added get_compile_flags(), get_match_flags().
  (José Alburquerque)
* TimeVal: Avoid compiler warning in TimeVal::as_double()
  (Daniel Elstner) Bug #617463 (Alexander Shaduri)
* Added Glib::listenv().
  (Alex Vallée) Bug #578355.

Gio:
* DesktopAppInfo: Added get_filename().
  (José Alburquerque)
* Added Settings, wrapping GSettings.
  (Jonathon Jongsmam, José Alburquerque)

2.24.2 (stable):

* Reference Documentation: Add main page text for index.html.
  (David King, Murray Cumming)

2.24.1:

* UnixOutputStream: Fix the constructor to use the correct property name.
  (Alex Vallee) Bug #615482
* Documentation: Strip out the gobject-introspection annotations, and use
  other improvements made to docextract_to_xml.py
  (José Alburquerque)
* Fix the Windows MSVC build. (Armin Burgmeier)

2.24.0:

* Changes in glibmm 2.24 compared to glibmm 2.22:

Glib:
* BalanceTree: New class, wrapping GTree.
  (Szilárd Pfeiffer, Jonathan Jongsma)
* Fix ustring::format(non-const char*) and add regression test.
  (Debarshi Ray)

Gio:
* Added InetAddress, NetworkAddress, NetworkService, Resolver, Socket,
  SocketAddress, SocketAddressEnumerator, SocketClient, SocketConnectable,
  SocketConnection, SocketListener, SocketService, SrvTarget, TcpConnection,
  Threaded SocketService, UnixConnection
  (Jonanthan Jongsma)
* AsyncResult: Add get_source_object_base(), deprecating get_source_object()
  because it usually can never work.
  (Murray Cumming, Daniel Elstner) Bug #608269 (Michael Hasselmann)
* Cancellable: Added release_fd() and make_polldf().
File:
  - Added has_parent(), supports_thread_contexts(), start_mountable(),
  stop_mountable(), poll_mountable()
  - Aded create_file_readwrite(),  create_file_readwrite_async().
  - Added open_readwrite(), open_readwrite_async(), finish_readwrite(), r
  replace_readwrite(), replace_readwrite_async() and finish_replace_readwrite().
  - unmount_mountable(), eject_mountable(): Add overrides with MountOperation
  parameters.
* ThemedIcon: Added get_names().
  (Murray Cumming)
* NetworkService: Add domain property.
  (Krzesimir Nowak)


2.23.4 (unstable):

Gio:
* File: Add TypeTraits to fix Gtk::FileChooser::get_files() in gtkmm.
  (Jonathan Jongsma) Bug #590940 (Tomasz Jankowski)
* MemoryInputStream: Correct data loss/corruption with binary data.
  (Alexey Kosilin) Bug #609552 (Holger Seelig)
* ThemedIcon: Added get_names().
  (Murray Cumming)

Glib:
* Fix ustring::format(non-const char*) and add regression test.
  (Debarshi Ray)

Build:
* tests: Reorder assignment to LDADD and giomm_ldadd in tests/Makefile.am
  to always use the built library, not the installed one.
  (David King) Bug #610854 (Pacho Ramos)

2.23.3 (unstable):

Gio:
* AsyncResult: Add get_source_object_base(), deprecating get_source_object()
  because it usually can never work.
  (Murray Cumming, Daniel Elstner) Bug #608269 (Michael Hasselmann)
* File: Delete Gio::SlotFileProgress (and friends) at the correct time,
  fixing a crash.
  (Debarshi Ray) Bug #611521.
* IOStream: get_input_stream(), get_output_stream(): Fix reference counting,
  fixing a crash.
  (Murray Cumming) Bug #607554 (michi7x7)
* MemoryInputStream::add_data(): Minor documentation fix.
  (Michael Hasselmann)
* MemoryOutputStream: Fix the constructor, so this really works.
  (Krzysztof Kosiński) Bug #605710

2.23.2 (unstable):

Glib:
* BalanceTree: New class, wrapping GTree.
  (Szilárd Pfeiffer, Jonathan Jongsma)
* NodeTree: get_root() const correction.
  (Alexander Shaduri)

Gio:
* Cancellable: Added release_fd() and make_polldf().
* File:
  - Added has_parent(), supports_thread_contexts(), start_mountable(),
  stop_mountable(), poll_mountable()
  - Aded create_file_readwrite(),  create_file_readwrite_async().
  - Added open_readwrite(), open_readwrite_async(), finish_readwrite(), r
  replace_readwrite(), replace_readwrite_async() and finish_replace_readwrite().
  - unmount_mountable(), eject_mountable(): Add overrides with MountOperation
  parameters.
* NetworkService: Change hostname property to domain.
  (Krzesimir Nowak)
* SocketConnection: Remove graceful-disconnect property.
  (Krzesimir Nowak)
* UnixInputStream: Fix the constructor's implementation.
  Bug #608665 (Matt Marsh)

* Windows: giomm.h: Don't include files on Windows that are not available
  on that platform.
  (Armin Burgmeier)

2.23.1 (unstable):

    This release adds the BalancedTree class (wrapping GTree) and fixes a number
    of bugs, including one where we were accidentally depending on an unreleased
    version of glib.

    Alexander Shaduri (1):
          Bug #594173 - NodeTree::get_root() violates const-correctness

    Daniel Elstner (1):
          Fine-tune Doxygen configuration to improve output

    Jonathon Jongsma (8):
          Add non-cancellable versions of a bunch of SocketClient functions
          wrap g_socket_connection_factory_create_connection()
          A bunch of minor doxygen cleanups around the tree
          Fix up some formatting issues for BalancedTree
          Rename btree.* to balancedtree.*
          Bug #606146 - Relax the glib requirement
          Bug 581811 - Gio::content_type_guess() miss the version with a NULL filename

    Krzesimir Nowak (1):
          Bug #606100 - Fix wrapping properties.

    Szilárd Pfeiffer (3):
          Implement GTree wrapper
          Implemented reference counting for BalancedTree.
          Fixed several bugs of balanced binary tree wrapper.

2.23.0 (unstable):

    This release adds API for the new Network I/O classes that were added in
    glib 2.22.x (e.g. Gio::Socket, Gio::Resolver, etc). Testing of this new API
    would be greatly appreciated. There are a few minor fixes in various other
    areas as well.

    Armin Burgmeier (2):
          Added new files to MSVC projects
          ifdef-out inclusion of files not available on Windows in giomm.h

    Jonathon Jongsma (18):
          Re-enable network IO stuff (GSocket, etc)
          Re-enable network IO stuff (Socket, Resolver, etc)
          Add socket-client example
          Add socket-server example
          Take an extra ref from the return of g_inet_socket_address_get_address
          Fix another bug in resolver example
          Regenerate gio_methods.defs, bump glib requirement
          Re-generate gio_docs.xml
          Wrap Gio::Mount::get_default_location()
          _IGNORE a couple API that we've implemented manually
          Wrap SocketClient, SocketConnection, TcpConnection, UnixConnection
          Wrap SocketListener
          Accidentally marked wrong SocketConnection as non-win32
          Re-generate gio signal defs
          Wrap SocketService
          Wrap ThreadedSocketService
          Wrap missing properties of SocketClient, SocketConnection, SocketListener
          Add some more .gitignore stuff

    José Alburquerque (1):
          Make build successful when exceptions, vfuncs, etc. are disabled.

    Murray Cumming (1):
          Regex: Slight documentation improvement.


2.22.1 (stable):

    This is a quick follow-on release to fix a couple minor issues discovered in
    2.22.0.  The tarball has been re-generated with the latest mm-common to fix
    a devhelp installation issue. There is also a build fix for when building
    with exceptions disabled.

    Daniel Elstner (1):
          Fix KeyFile build with exceptions disabled


2.22.0 (stable):

    This it he first release in the stable 2.22 series.  It is essentially
    equivalent to 2.21.5, but with a few build fixes, etc.

    Daniel Elstner (8):
          Re-enable input file line markers in gmmproc
          Fix broken test for empty _WRAP_METHOD argument
          Allow the C documentation to be overridden
          Slightly clean up gross Perl code in gmmproc.in
          Correctly quote the extracted comment for M4
          Enable verbose output of autoreconf
          Do not complain about missing docs_override.xml
          Support Automake silent rules


2.21.5 (unstable):

    This release is a release candidate for 2.22.0.  As such, some unfinished
    API has been disabled (notably the network IO classes that we were not able
    to finish in time).  Also, a few documentation-related fixes.

    Daniel Elstner (5):
          Remove sigc from the Doxygen excluded symbols
          Sanitize the Glib::Cond usage example
          Officially deprecate GLIBMM_CHECK_PERL macro
          Delete obsolete MAINTAINERS file
          Implement Gio::Socket ctors using Gio::Initable

    Jonathon Jongsma (2):
          Add Network I/O classes to new documentation module
          disable network io stuff.  punt to next release


2.21.4.2 (unstable):

    This release corrects a mistake in the build setup which prevented
    the installation of the gmmproc code generation support files.

    Daniel Elstner (1):
          Always build tools/ subdirectory (bgo #593518, Vincent Untz)

2.21.4.1 (unstable):

    Daniel Elstner (4):
          Reenable hierarchy graphs for each class
          Remove header and footer HTML fragments
          Use shared mm-common Doxygen style sheet

2.21.4 (unstable):

    Daniel Elstner (59):
          Transition to new mm-common build infrastructure

    José Alburquerque (1):
          Correct the if condition in Gio::MemoryInputStream::add_data().


2.21.3 (unstable):

    David King (1):
          Only compile the properties example if properties are enabled.

    Jonathon Jongsma (10):
          fix release target to use correct tagging scheme
          Bug 587173 - Fails to install when bootstrapped with Automake 1.11
          add _IGNORE() for a eject_with_operation() which is hand-written
          add get_start_stop_type() and Gio::DriveStartStopType enum
          add overloads for resolver methods without a cancellable object
          add async versions of Resolver methods
          Added a simple example showing how to resolve an internet address from a hostname
          Fix MemoryInputStream::addData (Bug #589683)
          Fix a build error in MemoryInputStream
          Add Glib::ObjectBase::freeze_notify()/thaw_notify.  Fixes Bug #575533

    José Alburquerque (1):
          Repair Glib::KeyFile docs with regard to exceptions. Bug# 587766.

    Krzesimir Nowak (1):
          Wrapped several ISO 8601 related functions.

    Murray Cumming (1):
          Corrected the ChangeLog to mention changes that I accidentally committed in last month, but which I did want to commit some time.

2.21.2 (unstable):

Glib:
    Daniel Elstner (1):
          Treat empty Glib::spawn*() working dir as unset

    Jonathon Jongsma (1):
          Add OptionGroup::add_entry(.., double&)

Gio:
    Daniel Elstner (1):
          Remove stray semicolons

    Jonathon Jongsma (9):
          Fix build with glib from master
          wrap a couple added GDrive methods
          Wrap g_drive_eject_with_operation() and related functions
          implement GDrive::stop-button signal
          implement Gio::InetAddress::get_native_size()
          Implement Gio::Mount::mount/eject_with_operation()
          implement Gio::Volume::eject_with_operation()
          fix accidental bug in Gio::Drive::eject() that the compiler warned me about
          implement Gio::VolumeMonitor::drive-stop-button

2.21.1 (unstable):

Glib:
* Date: Constructor: Check for invalid dates.
  (José Alburquerque)
* Added Glib::ValueArray, for use in gstreamermm.
  (José Alburquerque)
* Added Glib::file_set_contents().
  (Jonathon Jongsma)
* gmmproc:
  - Avoid problems with spaces in _DEFS() calls.
  (Hubert Figuiere) Bug #586785.
  - Improve guessing of the *_get_type() function names from enum names.
  (José Alburquerque) Bug #575870.

Gio:
* Cancellable: Added connect() and disconnect().
* Added FileIOStream.
* Added InetAddress.
* Added Initable.
* Added IOStream.
* Added NetworkAddress.
* Added NetworkService.
* Added Resolver
* Added Socket.
* Added SocketAddress.
* Added SocketConnectable.
* Added SrvTarget.
  (Jonathon Jongsma)
* File::load_contents() Added overload without the etag_out parameter.
  (Hubert Figuiere) Bug #581349.

Windows Build:
* General Windows fixes.
* Fix the build directly from git.
(Armin Burgmeier)

2.20.0 (stable):

* Documentation fixes (Daniel Elstner)

2.19.8 (unstable):
(2.19.4 to 2.19.8 were skipped)

* Added FILE_CREATE_REPLACE_DESTINATION enum value.
* Added Error::TOO_MANY_OPEN_FILES error code.
* Fix some compiler warnings about extra ;s.
  (Murray Cumming)

2.19.3 (unstable):

* New API:
  * BufferedInputStream: buffer_size property
  * BufferedOutputStream: buffer_size, auto_grow properties
  * DataInputStream: byte_order, newline_type properties
  * DataOutputStream: byte_order property
  * FilterInputStream: close_base_stream property, get/set_close_base_stream()
  * FilterOutputStream: close_base_stream property, get/set_close_base_stream()
  * UnixInputStream: fd and close_fd properties, get_fd(), get/set_close_fd()
  * UnixOutputStream: fd and close_fd properties, get_fd(), get/set_close_fd()
* Make licenses consistent with eachother (library gpl vs. lesser gpl, etc)
  (Deng Xiyue)
* Fixed some problems when building with exceptions disabled (Murray Cumming)
* Build fixes (Theppitak Karoonboonyanan)

2.19.2 (unstable):

* File: Added make_directory_with_parents() method overload with no parameter.
  Bug #566003 (Philip Belemezov).
* NoteTree: Do not use a non-ASCII dash character in a comment, to
  avoid the MSVC++ warning C4819 with Visual Studio 2008.
  (Tao Wang) Bug #568072
* spawn_*() functions: Added alternative API for when
  GLIBMM_EXCEPTIONS_ENABLED is not enabled. (Murray Cumming)
  Bug #565487 (Jonathon Jongsma)
* uri_*() functions: Fix memory leak.
  (Jonathan Jongsma) Bug #566845 (Jason Kasper)
* ustring: Add an overload which takes only a format string and no arguments
  to be substituted. (Daniel Elstner) Bug #506394.

2.19.1 (unstable):

 * Fix accidental ABI breakage in 2.19.0 caused by adding default handlers for
   new Gio::Drive signals

2.19.0 (unstable):

 * wrapped new glib 2.19.x API
   * Gio::AppInfo: get_commandline(), can_delete(), do_delete(),
     reset_type_associations(), launch_default_for_uri()
   * Gio::Drive: new signals changed, disconnected, and eject_button
   * Gio::Icon: create(std::string), to_string()(),
   * Gio::Mount: guess_content_type_sync(), is_shadowed(), shadow(), unshadow()
   * Gio::content_type_from_mine_type();
   * Gio::DesktopAppInfo: create_from_keyfile()
   * Gio::Emblem: new class
   * Gio::EmblemedIcon: new class
   * Gio::MemoryOutputStream: new class
 * Bugs Fixed:
   * 555743 - warning in glibmm
   * 562716 - warning fixing cause more warnings.
   * 396963 - Add Glib::signal_idle().connect_once()
 * Thanks to contributions from Przemysław Grzegorczyk, Dave Foster, Hubert
   Figuiere, and Jonathon Jongsma for changes in this release

2.18.1 (stable):

 * Many windows build improvements
 * Bugs fixed:
   * 506410 - Call of overloaded Stringify is ambiguous
   * 529496 - Gio::Error::HOST_NOT_FOUND clashes with a netdb.h #define
   * 539891 - Can't use doxygen commands in *_override.xml
   * 555576 - name clash in fileinfo.h with winbase.h from VS2005
   * 556315 - Extra defs generation utility forgets to generate signals for inter...
   * 556387 - FileEnumerator::next_file reference counting problems
 * Thanks to contributions from Armin Burgmeier, Jonathon Jongsma, José
   Alburquerque, Murray Cumming, and Szilárd Pfeiffer

2.18.0 (stable):

 * Bug #550789: Fixed a licensing issue with some of the tools distributed with
   the source tarball (Murray Cumming)

2.17.3 (unstable):

 * More Glib::NodeTree improvements (Szilárd Pfeiffer, Murray Cumming)
 * Windows build fixes (Armin Burgmeier)

2.17.2 (unstable):

 * Changes to API that was added in this unstable series:
   * Glib::Tree (wrapper around GNode) renamed to Glib::NodeTree  to avoid
     confusion with GTree
   * pass the node to the traversal the callback (Szilárd Pfeiffer)
   * Move TraverseFlags inside the NodeTree class (Murray Cumming)
 * New API:
   * Added the drive_eject_button signal (Murray Cumming)
 * Bug Fixes:
   * #423990: glibmm et al don't recognize new GNU m4 (Damien Carbery)
   * #529496: Gio::Error::HOST_NOT_FOUND clashes with a netdb.h #define (Murray
     Cumming)
   * #523043: Initialization of Glib::ObjectBase for derived types should be
     mentioned in documentation (Moritz Ulrich)
   * #506410: Call of overloaded Stringify is ambiguous (Szilárd Pfeiffer,
     Murray Cumming)

2.17.1 (unstable):

  * New API: (Murray Cumming)
    * Gio::File: make_directory_with_parents(), query_file_type(), monitor().
    * Gio::FileEnumerator: get_container().
    * Gio::Mount: guess_content_type() and guess_content_type_finish().
    * Gio:ThemedIcon: prepend_name().
    * Gio::Volume: get_activation_root().
  * Bug Fixes:
    * #512348: provide documentation about threadsafety of
      Glib::Thread::create() when the slot object is of type sigc::trackable (Chris Vine)
    * #538803: minor fixes to Glib::Tree (Levi Bard)
    * #540656: Pass NULL in a couple functions instead of an empty string allow
      files to be overwritten (Armin Burgmeier)
    * #540875: add documentation for Glib::OwnershipType (Johannes Schmid)
    * #542929: Fix some compiler warnings (Benjamin Herr)
    * Fix AppLaunchContext::get_display(),
      AppLaunchContext::get_startup_notify_id() to use a list of Gio::File, not
      filepath string.  properly documented we know that this is correct. It's an
      API break but this function could nothave worked before. (Murray)
    * Bug #543292: Fix visual studio project file (Jens Georg)
  * Added Keyfile example (Murray Cumming)

2.17.0 (unstable):

  * Added copy constructor and assignment operator, made GDate constructor visible (José
    Alburquerque)
  * Added Glib::Tree, a wrapper for GNode, providing an N-ary tree container, more or
    less like a standard C++ container (Levi Bard)
  * Bug #529648 - give helpful warning message when library user forgets to initialize the
    library (Jonathon Jongsma)
  * Bug #529533 - Fix bug that prevented for Gio::Mount, Gio::Drive, and Gio::Volume from
    being wrapped for some backend implementations (Jonathon Jongsma)

2.16.2 (stable):

 * Bug 526831 – G_OPTION_REMAINING no longer works with OptionEntry (Murray
   Cumming)
 * Bug 527687 – ustring::erase(iterator) incorrect for non ascii character
   (Murray Cumming)
 * add API documentation for spawn_* functions (Murray Cumming)
 * fix possible memory leak in OptionEntr (Murray Cumming)

2.16.1 (stable):

* Reference-counting bugfix in Gio::File::create() and Gio::File::replace()
  (Murray Cumming)
* Include Gio::Error header in headers that have API that can throw this
  exception (Murray Cumming)
* Improve documentation (Murray Cumming)
* Build fixes for giomm on win32 (Jonathon Jongsma)
* fix warning with g++ 4.3 (Tim Retout)

2.16.0 (stable):

Changes compared to glibmm 2.14:

* New Gio API. Check for giomm-2.4 with pkg-config to use this.
  (Marko Anastasov, Jonathon Jongsma, José Alburquerque, Murray Cumming)
* New Glib::Checksum class.
  (Naveen Verma, Murray Cumming)
* New uri helper functions: uri_unescape_string(), uri_parse_scheme(),
  uri_escape_string().
  (Murray Cumming)

2.15.8 (unstable):

* File: load_contents(), load_contents_finish(),  load_partial_contents_finish():
  Use char*& instead of char** for contents.
  Use std::string& instead of char**  for etag_out.
  Added method overloads without cancellable.
  (Murray Cumming)
* Improved documentation: Mention exceptions instead of errors.

2.15.7 (unstable):

* File:
  - Added query_filesystem_info_async() and
  query_filesystem_info_finish() because these were added to the C API.
  (Murray Cumming)
  - Renamed contains_file() to file_has_prefix() because this was changed in the
  C API.
  (Wouter Bolsterlee)
* ThemedIcon: Added append_name() because this was added to the C API.
  (Murray Cumming)

Glib:
* Renamed uri_get_scheme() to uri_parse_scheme() because this was changed
  in the C API.
  (Wouter Bolsterlee)

Documentation:
* Corrections to the .devhelp file generation.
  (Jonathon Jongsma. Bug #518673)


2.15.6 (unstable):

Gio:
* Removed most vfuncs, because they are not useful to application developers,
  and are a likely source of errors. (Murray Cumming)
* DesktopAppInfo:
  - Added Added create(), create_from_file(),
    is_hidden() and set_desktop_env()
    Renamed new_from_file() to create_from_file().
    (José Alburquerque)
* File: equal(), get_relative_file(), contains_file(): Take const File
  parameters.
* FileAttributeInfoList: Added dup().
* MemoryInputStream: Added add_data(const void* data, gssize len).
* Mount: Really added signals.
* MountOperation: Wrapped the ask-question signal.
  (Murray Cumming)
* Volume:
  - Added should_automount().
    (Marko Anastasov)
  - Really added signals.
    (Murray Cumming)
* UnixOutputStream, DataOutputStream, DataInputStream: Made constructors
  protected.
  (Marko Anastasov)


Documentation:
* Install a devhelp file like the existing gtkmm one.
  (Jonathon Jongsma)

2.15.5 (unstable)

Gio:
* File, Mount, Volume:
  Updated for latest gio API changes, adding a MountFlags parameter to some
  methods.
  (Jonathon Jongsma)
* Volume, VolumeMonitor, Added some vfuncs, though we might remove these
  later as they seem useless and likely to be sources of problems.
  (Murray Cumming)

Glib:
* Actually install gi18n-lib.h
  (Takao Fujiwara. Bug #515133)

2.15.4 (unstable):

Glib:

* AppInfo: Added  vfuncs.
  (Jonathon Jongsma)
* Added BufferedOutputStream, DataInputStream and DataOutputStream, and
  FilterOutputStream.
  (Jonathon Jongsma)
* Cancellable: Added the signal.
  (Murray Cumming)
* Added ContentType functions.
  (Jonathon Jongsma)
* File:
  - Added overloads of create_file(), remove(), trash(),
    make_directory(), make_symbolic_link(), query_settable_attributes(),
    query_writable_namespaces(), query_filesystem_info(),
    query_default_handler() and mount_mountable(() without cancellable
    parameters.
    (Murray Cumming)
  - Added copy_attributes(), added mount_enclosing_volume(),
    mount_enclosing_volume_finish(), find_enclosing_mount(), and
    find_enclosing_mount_finish().
    (Murray Cumming)
  - set_attributes_from_info(): Reordered parameters so we can have default
    values.
    (Murray Cumming)
  - Added copy_async(), with overloads without slot_progress. copy_finish(),
    query_default_handler().
    (Marko Anastasov)
  - find_enclosing_mount(), append_to(): Reordered parameters and added
    overloads without cancellable.
    (Murray Cumming)
  - Added non-cancellable set_attribute_string(), set_attribute_byte_string(),
    set_attribute_{uint32, int32, uint64, int64}.
    (José Alburquerque)
* Added FilenameCompleter.
  (Murray Cumming)
* LoadableIcon:
  - Derive from Icon, and no longer derive FileIcon from Icon directly.
  (Murray Cumming)
  - Wrapped some vfuncs and some extra methods.
  (Jonathon Jongsma)
* Added MemoryInputStream.
  (Jonathon Jongsma)
* Added ThemedIcon
  (Murray Cumming)
* Added UnixInputStream, UnixOutputStream, and DesktopAppInfo, available only
  on Unix/Linux.
  (José Alburquerque, Murray Cumming)
* Volume: Added get_mount(), get_identifier(), enumerate_identifiers().
  (Marko Anastasov)
* VolumeMonitor: Added signals and properties.
  (Murray Cumming)

Build:
* Use local gmmproc files again, instead of only installed ones.
  (Murray Cumming)
* Fix compile with GCC 4.3.
  (Kjartan Maraas)


2.15.3 (unstable):

Gio:
* FilterInputStream: Really wrap this.
* VolumeMonitor: Workaround a crash in gio due to the
  eccentric use of the GType system to discover GVolumeMonitor
  implementations. See gio bug #511814.
* Added Gio::Error exception.
* Added more method overloads without optional parameters, and
  reordered more parameters to allow default values.
  (Murray Cumming)
* giomm.h: Added includes.
  (Jonathan Jongsma)

* Note that there are some examples in the gtkmm-documentation module.


2.15.2 (unstable):

Glib:

* Checksum: New class, wrapping GChecksum.
  (Naveen Verma. Bug #510235)
* ObjectBase: Added connect_property_changed_with_return()
  because connect_property_changed() does not return a sigc::connection.
  Bug #433984 (Philip Langdale, Kalle Vahlman).
* enums.pl .defs generator: Handle parantheses.
  (Marko Anastasov. Bug #498621)

Gio:
* Added FilterInputStream, Mount, FileMonitor, VolumeMonitor.
  (Marko Anastasov, Murray Cumming)
* Many methods' parameters have been reordered so we can
  add default parameter values.
* Many methods now have overloads with less parameters.
  (Murray Cumming, José Alburquerque, Marko Anastasov)


2.15.1 (unstable):

Gio:
* Actually build the giomm library.
* Added API reference documentation.
  (Murray Cumming)
* Added AppInfo and AppLaunchContext.
* Drive:
  - Added poll_for_media() and poll_for_media_finish().
  - Added capability-checking functions.
  (Marko Anastasov)
* File: Renamed create() to create_file(),
  create_async() to create_file_async() and
  create_finish() to create_file_finish() to slightly
  reduce confusion with the static create*() methods.
* FileInputStream, FileOutputStream: Derive from Seekable.
  (Murray Cumming)
* FileInputStream, InputStream, Volume: Modified *_finish
  functions to take a const AsyncResult.
  (Marko Anastasov)
* Added LoadableIcon.
  (Murray Cumming)
* MountOperation: Added MountOperationResult enumeration and make
  reply() take this instead of a bool.
  (Jonathon Jongsma)

  (Murray Cumming)

Glib:
* Added uri_unescape_string(), uri_get_scheme() and uri_escape_string().
  (Murray Cumming


2.15.0 (unstable):

* New giomm library (check for giomm-2.4 with pkg-config)
  in the glibmm tarball. This wraps the new gio API in glib 2.15/16.
  However, this API could change considerably before the stable
  glibmm 2.16 is released.
  (Marko Anastasov)
* ustring:
  - Added compose() to substitute placeholders in a format string, as an
  equivalent to sprintf(), to help internationalization/translation.
  - Added format() to simplify the common task of converting a value
  (such as a number) to a string, with optional stream formatting
  parmatters. This uses the regular C++ stream API in its implementation.
  (Daniel Elstner, Openismus)
* Glib::RefPtr: Deprecate clear(), replacing it with
  reset(), because people often do treemodel.clear() when they
  mean treemodel->clear(). reset() is consistent with std::auto_ptr<>.
  But the method is still there so the compiler still can't help
  you to avoid the mistake.
  (Murray Cumming)
* KeyFile: set_integer_list(),  set_boolean_list(), set_double_list()
  actually work now without crashing.
  (Daniel Elstner, Openismus)
* gmmproc:
  - Refuse to generate a wrapper for a construct-only
  property which is also write-only, and display a warning.
  (Daniel Elstner, bug #436789)
  - Added _DERIVES_INITIALLY_UNOWNED to sink floating
  references in constructor of classes that wrap
  GInitiallyUnowned-derived GTypes. Plus _INITIALLY_UNOWNED_SINK
  for hand-written constructors.
  (Murray Cumming)
* Build:
- Fix build for glib 2.15 by including
  gtestutils.h instead of gmessages.h to get g_assert(),
  though I am angry that this API break has been allowed.
  (Murray Cumming)
- Fix build for pre-releases of gcc 4.3 - also an include
  issue. (Sebastien Bacher, #498438)

2.14.2:

* Build: Hopefully fix the build on NetBSD-4.99.6/amd64.
  Bug #386990. (was already in 2.12.7) (Murray Cumming)
* gmmproc: Added support for the new _CONFIGINCLUDE() macro.
  (Armin Burgmeier)

2.14.1:

* Glib::wrap(): Don't fail when wrapping an interface that
  is implemented by an unrecognized type.
  gmmproc-generated code now uses the new wrap_auto_interface(),
  so newly-generated source code will require this latest glibmm
  version.
* Increase version number check for glib.
  (Rémi Cardona)

2.14:

Changes sinze 2.12:

* New Regex class, allowing string searching with regular expressions.
  (Murray Cumming, Daniel Elstner)
* New KeyFile class.
  (Rob Page, Jonathan Jongsma, Murray Cumming)
* Main: Added SignalTimeout::connect_seconds().
  (Murray Cumming)
* OptionContext: Added get/set_summary(), get/set_description(),
  set_translation_domain() and set_translate_func().
  (Jonathan Jongsma)
* Added Glib::get_user_special_dir(), get_user_data_dir(),
  get_user_config_dir(), and get_user_cache_dir().
  (Jonathan Jongsma, Murray Cumming)
* Improved documentation.
  (Johannes Schmid, Jonathan Jongsma, Ralf Stephan)

2.14.0:

* Regex:
  - Add escape_string().
  - match_full(): Rename to match().
  - match_all_full(): Rename to match_all().
  - split_full(): Rename to split().

2.13.9:

* KeyFile: Added Added get_double(), set_double(), get_double_list()
  and set_double_list().
  (Murray Cumming)

2.13.8:

* OptionContext: Added get/set_summary(), get/set_description(), set_translation_domain(),
  and set_translate_func().
  (Jonathon Jongsma)
* Documenation:
  Added RegEx class documentation. (Johannes Schmid)
  Show new API in 2.14.

2.13.7:

* Regex: Added a create() method and added default parameter values.
  Added a simple example.
* Added  SignalTimeout::connect_seconds(), in addition to the existing
  SignalTimeout::connect(), as a wrapper of g_timeout_add_seconds().
  Improveed the documentation.
* Added get_user_special_dir().
  (Murray Cumming)

2.13.6:

* Added Glib::Regex, an API for doing regular expression search/matching.
  This is not fully wrapped yet, but the simple versions of the API are there.
  We need to write an example for this.
  (Murray Cumming)

2.13.5:

* Correctly ifdef-out initialization of deprecated classes.
  (Johannes Schmid, Openismus)
* Build: Cope with newer m4 versions. (Yselkowitz)

2.13.4:

* Correct initialization when using --disable-deprecated for reduced code-size
  on embedded devices. (Johannes Schmid, Openismus)
* Glib::ObjectBase::is_derived_() is now public, though it is still only for
  internal use. This allows us to do some optimization of default signal handlers and
  vfuncs.
  (Armin Burgmeier, Openismus)
* Options: Don't overwrite default arguments. This change was lost in
  March 2006, but now it is back.
  (Armin Burgmeier)
* Dispatcher: Several minor implementation improvements. (Daniel Elstner)
* ustring: Minor improvements. (Daniel Elstner)
* Documentation: Actually use the signals documentation again.
  (Armin Burgmeier, Openismus)
* Build:
  - Fix code generation when using the latest m4, and functions named
  mkstemp, as experienced on Ubuntu Feisty.
  Bug #397167 (Dodji Seketeli, Daniel Elstner)
  - helperlist.h: Avoid warnings about a shadowed member.
  Bug #420316 from Bradley Bell.
  - utility.h: Avoid a warning about a redundant declaration.
  Bug #420339 from Bradley Bell.

2.13.3:


* Glib::ObjectBase::is_derived_() is now public, though it is still only for
  internal use. This allows us to do some optimization of default signal handlers and
  vfuncs.
  (Armin Burgmeier, Openismus)
* Build:
  - helperlist.h: Avoid warnings about a shadowed member.
  Bug #420316 from Bradley Bell.
  - utility.h: Avoid a warning about a redundant declaration.
  Bug #420339 from Bradley Bell.
* gmmproc improvements:
  - gmmproc: Allow () in property and signal docuemntation.
  - gmmproc: Do not try to remove a common prefix from the
  C enam values, if there is no common prefix.
  - enum.pl: Allow whitespace in front of an enum typedef.
  (Daniel Elstner)
  - enum.pl: Fix an infinite loop.
* ObjectBase: Added connect_property_changed(),
  as an alternative to use when the property proxies are not
  available because GLIBMM_PROPERTIES_ENABLED is not defined.
  (Murray Cumming)
* Value: When registering float parameters, use
  G_MAXFLOAT as the minimum, instead of G_MINFLOAT.
  Likewise for doubles.
  (Oliver Nittka)

2.13.2:

*Build:
 - Fix for api-default-signal-handlers option.
   Bug #357830 (Matt Hoosier)
 - win32: Remove unused source file from Visual Studio project.
   (Cedric Gustin)

2.13.1:

* KeyFile class added, wrapping GKeyFile,
  for parsing of .ini-style files.
  (Rob Page)
* Added get_user_data_dir(), get_user_config_dir(), and
  get_user_cache_dir().
  (Jonathon Jongsma)
* Support optional ifdef parameters in the .hg macros,
  to allow, for instance the --enable-atk=no option,
  to disable the build and use of the atkmm API,
  for use in embedded environments.
  (Johannes Schimd, Murray Cuming, Openismus)
* Documentation:
  - Small ustring reference documentation improvement.
  (Ralf Stephan)

2.12.0:

Changes sinze 2.10:
* Added the --enable-api-default-signal-handlers option, for use in
  embedded environments that have reduced resources. See configure --help
  for the other subsets.
* Value: Added init(const GValue*), so we can copy GValue instances
  of any type at runtime. Needed by the new branch of libgdamm.

2.11.3:

* Build: Added the --enable-api-default-signal-handlers option, for use in
  embedded environments that have reduced resources. See configure --help
  for the other subsets.

2.11.2:

* Date: Fix implementation of Glib::Date::set_time_current() so
  that it doesn't set the date to Dec 31, 1969.
  (Jonathon Jongsma)
* Value: Added init(const GValue*), so we can copy GValue instances
  of any type at runtime. Needed by the new branch of libgdamm.
  (Murray Cumming)
* Added a #warning to warn about including X11/Xlib.h before a glibmm header,
  which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
  (Murray Cumming)
* Build:
  - Quote some m4 macros to avoid warnings. Bugs (with patches) #347076
  and #347077
  (Kevin McBride).
  - Fix exporting of get/set_property() on mingw32-gcc.
  (Cedric Gustin)




2.10.1

* Windows Build:
 - Define GLIBMM_DLL when building with mingw32 or cygwin,
   because it is needed by gtkmm. Bug #309030
 (Cedric Gustin)
* OptionGroup: Allow default values, by not initializing them all.
  (Armin Burgmeier)
* Slight code size reduction by marking private functions as static.
  (Murray Cumming)

2.10.0:

* Windows Build:
 - ustring.h: Tag npos with GLIBMM_API, in order to
   dllexport it on win32. Bug #332438.
 - Updated MSVC++ build files and README, for MS Visual Studio 2005.
 (Cedric Gustin)
* gmmproc code generator:
 - WRAP_METHOD() Take an extra optional argument: deprecated deprecationtext -
  so that we can insert the appropriate doxygen tag in the documentation, where
  the C documentation does not do it for us.

2.9.1:

* Date:
  - Added set_time(time_t), set_time(GTimeVal), and deprecated
    set_time(GTime)
  - Added set_time_current().
  (Murray Cumming)
* Build: Added --enable-deprecated-api  option. When set to disabled,
  it does not build deprecated API. This reduces the size of the
  library, and might be useful for embedded devices.
  (Murray Cumming)

2.8.2:

* Solaris build fix: Correct the detection
  of make. (Mark Rouchal)

2.8.1:

* Build: Check for glib 2.8.

2.8.0:

API additions since glibmm 2.6:

* GModule: Add BIND_LOCAL enum value.
  (Bug #172748 from Phillip Neiswanger).
* MainContext Added signal_child_watch()
  and examples/child_watch.
  (Yair Hershkovitz)
* OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
  FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
  (Murray Cumming)

2.7.3:

* Updated reference documentation from glib documentation.

2.7.2:

* OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
  FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
* build_filename() and build_path(): Now use the implementation
  from glib.

2.7.1:

* GModule: Add BIND_LOCAL enum value.
  (Bug #172748 from Phillip Neiswanger).
* MainContext Added signal_child_watch()
  and examples/child_watch.
  (Yair Hershkovitz)
* Fixes from 2.6.2.

2.6.1:

* Interface::add_interface(): Disabled the check for a second call,
  introduced in 2.6.0, for now, because it stops some valid uses.
  (Bryan Forbes)

2.6.0:

New stable version. Changes compare to glibmm 2.4.x:

* Added Option, OptionContext, OptionGroup for parsing of command-line arguments.
* Added filename_display_basename() and filename_display_name().
* Added setenv() and unsetenv().
* add_interface() methods will no longer give warnings if you
  call them twice.
* gmmproc:
  - Now reuses C properties documentation.

2.5.6:

* add_interface() methods will no longer give warnings if you
call them twice.
* gmmproc: Output properties documentation taken from the .defs.
* examples now build on AIX.
  (Murray Cumming)
* MSVC++ .Net 2003 build fix. (Cedric Gustin)

2.5.5:

* Now builds with the following compilers, in addition to
the existing GNU g++, and Intel compilers:
- SUN Forte CC 5.5
- IBM AIX xlC v7
- Tru64 C++ V6.5-042
- IRIX MIPSpro 7.4.2m
  (Older versions of all these compilers might also work.)
  (Murray Cumming, www.thewrittenword.com)
* Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
  (Cedric Gustin)

2.5.4:

Options:
* Added Option(GOptionGroup* cast_item) constructor,
  needed by Gtk::Main.
* Added reference documentation.
(Murray Cumming)

2.5.3:

* Options:
  - Allow parsing of boolean arguments (arguments with no value).
  - Really use the short names.
  (Daniel Holbach, Murray Cumming)
* Added filename_display_basename() and filename_display_name().
  (Murray Cumming)
* Added setenv() and unsetenv(). (Murray Cumming)
* Use static keyword to prevent exporting private API.
  (Benoît Dejean)
* input example: Improvements and simplification. (Chris Vine)

2.5.2:

* OptionEntry: Remove useless enum. (Murray Cumming)
* Documentation:
  - examples: Added iochannel_stream example. (Chris Vine)
  - reference: Generate more reference API from the C documentation, and
    try to use the libstdc++ doxygen tags file to link to their
    documentation. (Murray Cumming)

2.5.1:

* OptionContext, OptionGroup, OptionEntry: Made the add_entry() methods
  type-safe and fixed several problems memory-management problems. This
  API is now worth looking at.

2.5.0:

* Added OptionContext, OptionGroup, and OptionEntry classes, for
  parsing of command-line options. See examples/options/

2.4.4:

* Signals: Avoid crashes when disconnecting a signal when handling that signal.
  (Murray Cumming, Martin Schulze)
*
2.4.3:

* Minor improvements to reference documentation. (Daniel Elstner)
* Minor Glib::Dispatcher improvements (Daniel Elstner)

2.4.2:

* Glib::Dispatcher: win32 implementation rewritten, and hopefully, improved.
  (Daniel Elstner)
* Glib::ustring:
  - Optimization and code-cleanup. (Daniel Elstner)
  - Added reference documentation for constuctors. (Murray Cumming)
* Fixed some compiler warnings.
  (Daniel Elstner)
* gmmproc: Some improvements for libgdamm. (Murray Cumming)


2.4.1:

* Build fixes for gcc 3.4.0.
* Doxygen not required when building from tarballs.
  (Murray Cumming)


2.4.0:

Changes since 2.2.0:

* Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm. This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install applications which use either.
* When using pkg-config, you should check for "glibmm-2.4".
* Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other classes that inherit from SigC::Object.
* RefPtr:
  - is_null() was removed, to encourage you to use "== 0" instead.
  - operator=(CppObject*) was removed.
* The gtkmmproc code-generator is now gmmproc, and has several improvements to support gtkmm 2.4.
* Now uses improved libsigc++ 2.0 API.
* Added i18n.h and i18n-lib.h, which include the relevant
  glib headers, which declare internationalization
  macros such as _().
* New methods:
  Glib::spawn_close_id(), Glib::MainLoop::depth(),
  Glib::Date::clamp_min(),  Glib::Date::clamp_max().
* Improved documentation.


2.3.8:

* Fix crash when using Glib::Main signals.
  (Martin Schulze)
* Corrected the configure-time SUN compiler check.
  (Murray Cumming, Alexander Nedotsukov)

2.3.7:

* Added configure macros to detect SUN compiler oddities.
* Various SUN Forte C+ and g++ 3.4 (cvs) build fixes.
  (Murray Cumming)
* gmmproc: Improved parsing of C docs.
  (Hagen Moebius)

2.3.6:

* Added i18n.h and i18n-lib.h, which include the relevant
  glib headers, which declare internationalization
  macros such as _(). (Murray Cumming)
* Added Glib::spawn_close_id(). (Murray Cumming)
* Added Glib::MainLoop::depth(). (Murray Cumming)
* Documentation: corrections to CHANGES (Martin Schulze).
* gmmproc: Can now handle "const const_iterator& iter"
  parameter names without getting confused by 2 consts.
  (Murray Cumming)

2.3.5:

* glibmm now uses libsigc++ 2 rather than libsigc++ 1.2.

2.3.4:

* ListHandle/SListHandle (intermediate container types):
  - Added a const_cast<> to allow lists of const elements.
* gmmproc: _WRAP_SIGNAL(): Added optional custom_c_callback
  parameter.
  (Murray Cumming)
* WIN32: Build fixes, mostly merged from the 2.2 branch.
  (Cedric Gustin)

2.3.3:

* gmmproc (code generator)
  - properties: Make read-only properties have const accessors,
    and add a second read-only const accessor for normal
    properties. Wrap construct-only properties as read-only,
    instead of ignoring them.
  - vfuncs: Really generate const vfuncs when requested. Put
    the method declaration directly into the .h file, so that
    the doxygen documentation can be next to it.
  - documentation:
    - Remove mergecdocs configure option - always
    merge the C docs, to avoid any risk of uploading or
    releasing empty documentation. Just delete the *_docs.xml
    files to make building from cvs faster.
    - Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm
    and other *mm projects, to get the perl path needed by
    doxygen.
    - Install beautify_docs.pl so it can be reused in gtkmm
    and other *mm projects, instead of having lots of copies.
* Glib::ObjectBase: The default constructor, never before used,
  now generates a custom GType, for use when creating new
  implementations of Glib::Interfaces - for instance, see the
  new custom tree model example in gtkmm.
* Glib::Date: Added clamp_min() and clamp_max().
  (Murray Cumming)

* Documentation:
  - Added reference documentation for MainLoop, MainContext,
    Source, and Date. (Alberto Paro)

2.3.2:

* gmmproc (code generator):
  - signal proxies have extra space to avoid << with templates.
  - Added WRAP_METHOD_DOCS_ONLY() for reusing documentation even
    when the method is hand-coded.
  - _WRAP_SIGNAL(): Added optional no_default_handler parameter,
    because some of the new GTK+ signals have no public default
    handler vfunc.
* Added Glib::init(), for use by non-GUI apps which need to
  use Glib::wrap().
* PropertyProxy: Can now be used with Interfaces.
* Documentation improvements, so that gtkmm docs link to glibmm
  docs.
  (Murray Cumming)

2.3.1:

* gmmproc changes needed by gtkmm 2.3.0
  (Murray Cumming)
* examples updated and buildable and working,
  without gtkmm code.
  (J. Abelardo Gutierrez)

Changes in glibmm 2.3.0:

* Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm.
  This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install this unstable library
  without the risk of breaking existing application.
* This does not yet require glib 2.3 because there has been no tarball release of that yet. For now, you
  can use glibmm 2.3.0 with glib 2.2.x.
* When using pkg-config, you should check for "glibmm-2.4".
* Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other
  classes that inherit from SigC::Object.
* RefPtr:
  - is_null() was removed, to encourage you to use "== 0" instead.
  - operator=(CppObject*) was removed.
* gtkmmproc is now gmmproc.
* All the glibmm bugfixes in gtkmm 2.2.x.
