2.28.0 (unstable):

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 he 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.hg: 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.
