new files from sakari, missed last time
[ardour.git] / libs / glibmm2 / ChangeLog
index 0bddbef6b1204180e0de820d8cbeb43cfad9482b..af229af44ed6c9f703a4a19ea2e95b525caa4904 100644 (file)
+2.14.2:
+
+2007-10-22  Murray Cumming  <murrayc@murrayc.com>
+
+       * Merged this change from 2007-03-03 from the glibmm-2-12 branch, which was 
+       missing from this branch:
+       * configure.in:
+       * glib/glibmmconfig.h.in:
+       * glib/src/date.ccg:
+       * glib/src/date.hg:
+       * scripts/Makefile.am:
+       * scripts/c_std.m4: Added a test for the case that time_t is equivalent to 
+       guint32, as seems to be the case on NetBSD-4.99.6/amd64, so we can ifdef-out 
+       the (deprecated, anyway) Glib::Date::set_time(GTime) method when necessary, because 
+       GTime is also equivalent to guint32.
+       Bug #386990.
+
+2007-10-12  Armin Burgmeier  <armin@openismus.com>
+
+       * tools/m4/base.m4: Added a new section called SECTION_HEADER_FIRST
+       that within the header file that is before any generated code (apart
+       from the include guards) and a _CONFIGINCLUDE macro that includes a
+       file within this section. This is intended to be used with
+       g*mmconfig.h so the *_DISABLE_DEPRECATED define is set for deprecated
+       classes also when included from other code.
+
+2.14.1:
+
+2007-09-29  RĂ©mi Cardona  <remi@gentoo.org>
+
+       * configure.in:
+       increase the minimum glib requirements.
+       Bug #481566.
+
+2007-10-02  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/wrap.cc:
+       * glib/glibmm/wrap.h: Replaced wrap_create_new_wrapper() 
+       (introduced by the last commit) with wrap_create_new_wrapper(),
+       allowing us to check that the parent GType actually implements 
+       the interface. This allows us to return a parent known type 
+       if it implements the wanted interface.
+
+2007-09-25  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/wrap.cc:
+       * glib/glibmm/wrap.h: Added wrap_auto_interface<>(), which should 
+       be used by wrap() specializations for interfaces, so we create 
+       instances of the interface even if the derived C type is unknown to 
+       us.
+       * glib/glibmm/signalproxy_connectionnode.h: Do not wrap.h from here 
+       unnecessarily, to allow us to include objectbase.h in wrap.h, 
+       needed by the new templated method.
+       * tools/m4/class_interface.m4: Use wrap_auto_interface<>() 
+       instead of wrap_auto() for interfaces.
+
+2.14.0:
+
+2007-09-06  Daniel Elstner  <danielk@openismus.com>
+
+        * glib/src/regex.{ccg,hg} (Regex): Some cosmetic cleanup.  Also
+        replace C-style casts in default argument values with static_cast<>.
+        (escape_string): Wrap missing function.
+        (match_full): Rename to and add as overloads of match().
+        (match_all_full): Rename to and add as overloads of match_all().
+        (split_full): Rename to and add as overloads of split().
+
+       This has freeze-break approval from the release team.
+
+2007-08-16  Jonathon Jongsma  <jjongsma@gnome.org>
+
+       * docs/reference/glibmm_footer.html_fragment,
+       docs/reference/glibmm_header.html_fragment: added <div> to doxygen header
+       and footer to make it easier to integrate with library.gnome.org, per a
+       request by Frederic Peters
+
+2.13.9:
+
+2007-07-28  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/keyfile.hg:
+       * glib/src/keyfile.ccg: Added a set_double() without the group_name 
+       parameter, because the C function can take NULL.
+       * glib/src/glib_docs_override.xml: Corrected the documnentation for 
+       g_keyfile_set/get_double() to mention 2.14, instead of 2.12, 
+       because we only added these to glibmm in 2.14.
+       * glib/src/regex.hg: Correct the since documentation to be 2.14 
+       not 2.12.
+       * glib/src/iochannel.hg: read(): Corrected a parameter name to 
+       match the generated documentation.
+       * glib/glibmm/miscutils.h: Fixed typos in the use of newin2p14.
+
+2007-07-28  Murray Cumming  <murrayc@murrayc.com>
+
+       * docs/Makefile_web.am_fragment: Corrected the rsync options, to 
+       match those used by gtkmm, to fix the examples upload.
+       * glib/src/glib_docs.xml: Regenerated from the C documentation.
+
+2007-07-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/keyfile.ccg:
+       * glib/src/keyfile.hg: Added get_double(), set_double(), get_double_list() 
+       and set_double_list().
+
+2.13.8:
+
+2007-07-07  Jonathon Jongsma  <jjongsma@gnome.org>
+
+       * glib/src/optioncontext.ccg:
+       * glib/src/optioncontext.hg: add some new API that was added in glib 2.12,
+       including get/set_summary(), get/set_description(), set_translation_domain(),
+       and set_translate_func().
+       * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
+       * glib/src/glib_docs_override.xml: override docs for the new functions so
+       that they say that they were introduced in glibmm 2.14 instead of 2.12
+
+2007-07-02  Johannes Schmid <johannes.schmid@openismus.com>
+
+       * glib/src/regex.hg:
+       Added class documentation
+
+2007-07-02  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/pm/DocsParser.pm: convert_tags_to_doxygen():
+       Handle newin markers for 2.12 and a few after that. 
+       * docs/reference/Doxyfile.in: Added ALIASES for newin2p12 and 
+       a few more.
+
+2.13.7:
+
+2007-06-22  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/main.cc:
+       * glib/glibmm/main.h: Added SignalTimeout::connect_seconds() 
+       as an equivalent for g_timeout_add_seconds() and took the improved 
+       documentation from glib.
+
+       * glib/glibmm/miscutils.cc:
+       * glib/glibmm/miscutils.h: Added get_user_special_dir(), though we 
+       should maybe wrap the enum.
+       Reimplemented many of the functions with the 
+       convert_return_gchar_ptr_to_stdstring() and 
+       convert_const_gchar_ptr_to_stdstring() functions to simplify them 
+       and make them handle NULLs properly.
+
+2007-06-22  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/regex.ccg:
+       * glib/src/regex.hg: Added a create() method, and added some 
+       more default parameter values to the methods.
+
+       * configure.in:
+       * examples/Makefile.am:
+       * examples/regex/main.cc: Added a very simple example.
+
+       * glib/glibmm/value_custom.h: Put header guards around this, though 
+       this should never be included directly anyway.
+
+2.13.6:
+
+2007-06-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/regex.hg:
+       * glib/src/matchinfo.hg: Removed API that uses GMatchInfo, until we 
+       wrap this properly, probably as a C++ iterator. This will avoid this 
+       API accidentally being released as stable sometime.
+
+2007-06-12  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/glib_enums.defs: Regenerated with enums.pl
+       * glib/src/glib_functions.defs: Regenerated with h2defs.py
+
+       * glib/src/Makefile_list_of_hg.am_fragment:
+       * tools/m4/convert_glib.m4:
+       * glib/src/matchinfo.ccg:
+       * glib/src/matchinfo.hg:
+       * glib/src/regex.ccg:
+       * glib/src/regex.hg: Added the RegEx and MatchInfo classes.
+       These need some examples to test them. The MatchInfo class is 
+       probably particularly broken at the moment. See the TODO comments.
+
+       * glib/glibmm.h: Added regex.h
+
+2007-05-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/m4/class_boxedtype.m4:
+       * tools/m4/class_gobject.m4:
+       * tools/m4/class_gtkobject.m4:
+       * tools/m4/class_interface.m4:
+       * tools/m4/class_opaque_copyable.m4:
+       * tools/m4/class_opaque_refcounted.m4: Explicitly mention Glib::wrap() 
+       in the documentation for generated Glib::wrap() functions, because doxygen 
+       does not show their namespace.
+
+2007-05-04  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/pm/Function.pm: When generating example prototypes for 
+       signal handlers, prefix them with on_my_, to avoid confusion with 
+       similarly named functions and with on_*() default signal handlers.
+
+2.13.5:
+
+2007-04-30  Johannes Schmid <johannes.schmid@openismus.com>
+
+       * tools/generate_wrap_init.pl.in:
+       * tools/m4/class_gtkobject.m4:
+       Use _IS_DEPRECATED instead of _CLASS_DEPRECATED because
+       the latter confuses gmmproc.
+       We cannot just use _DEPRECATED because it will result
+       in incorrect handling of for example
+       #ifndef GTKMM_DISABLE_DEPRECATED
+
+2007-04-24  Yselkowitz <yselkowitz@users.sourceforge.net>
+
+       * scripts/macros.m4: Check for both m4 and M4 in the GNU m4 output,
+       to fix the build on some platforms.
+       Bug #423990
+
+2.13.4:
+
+2007-04-11  Armin Burgmeier  <armin@openismus.com>
+
+       * tools/pm/WrapParser.pm: Added peek_token() function which only
+       returns the next token without removing it from the tokens array.
+       Parse '/**' as a separate token and handle it in a special way so that
+       when the final '*/' is encountered and _WRAP_SIGNAL follows, the
+       comment is not terminated but continued by that automatically
+       generated doxygen comment.
+
+       * tools/pm/Output.pm: Added a merge_doxygen_comment_with_previous
+       parameter in output_wrap_sig_decl(). If it is nonzero, the function
+       assumes that there is already a comment open and continues to use it
+       instead of opening a new comment by removing the leading '/**' from
+       what get_refdoc_comment() returns. Bug #378810.
+
+2007-04-06  Johannes Schmid <johannes.schmid@openismus.com>
+
+       * tools/generate_wrap_init.pl.in:
+       Use _CLASS_DEPRECATE instead of just _DEPRECATE to
+       known whether a whole class should be avoided in wrap_init.
+       Otherwise every .hg file containing deprecated methods
+       might get ignored. (Fixes Gtk::TextBuffer bug in maemo)
+
+2007-03-19  Bradley Bell  <btb@debian.org>
+
+       * glib/glibmm/helperlist.h: Change variable name to avoid
+       warnings about a shadowed member.
+       Bug #420316.
+
+2007-03-19  Bradley Bell  <btb@debian.org>
+
+       * glib/glibmm/utility.h: remove g_free prototype, include gmem.h
+       instead, to avoid a warning about a redundant declaration.
+       Bug #420339.
+
+2007-03-17  Armin Burgmeier  <armin@openismus.com>
+
+       * tools/m4/signal.m4:
+       * tools/m4/vfunc.m4: 
+       Use static_cast in vfuncs and signal handlers to cast the
+       wrapper object to ObjectBase*. This is enough to check whether the object is
+       from a derived type or not. A slow dynamic_cast has only to be performed if it
+       is derived, and the C++ vfunc needs to be called.
+       * glib/glibmm/objectbase.h: This requires ObjectBase::is_derived_ to be public, 
+       because it is called on a ObjectBase* rather than the actual type.
+       This causes a slight speed up of vfuncs and default signal handler invokation.
+
+       Also added commented-out inline versions of ObjectBase::_get_current_wrapper() and 
+       ObjectBase::is_derived(), which could be used in the generated code if we find 
+       that this has significant performance benefits. Note that these methods must be 
+       additional to the non-inline methods, because inline methods are not usually exported in the 
+       shared library. 
+
+2007-02-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * examples/options/main.cc: Use a default value, to show that it 
+       can be done.
+       (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
+
+2007-02-10  Armin Burgmeier <armin@arbur.net>
+
+       * glib/src/optiongroup.ccg: default_c_arg(): Set the initial
+       value of the C argument to the value the C++ argument has, to avoid
+       that glibmm resets arguments to zero that were not given on the
+       command line.
+       (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
+
+2007-01-28  Daniel Elstner  <daniel.kitta@gmail.com>
+
+       * tools/m4/ctor.m4: If the argument list is empty, call the non-
+       varargs overload of the Glib::ConstructParams constructor instead
+       of using an empty varargs list.  This mistake was exposed thanks
+       to the recent addition of G_GNUC_NULL_TERMINATED to the varargs
+       constructor declaration.  Fortunately it was harmless in this case.
+       Also use the opportunity to clean up the M4 code and prefix builtin
+       M4 macros with m4_, so that we may get rid of the unprefixed macros
+       altogether some day.
+
+Thu, 25 Jan 2007 23:13:05 +0100 Dodji Seketeli
+
+       * tools/m4/base.m4:
+         prefix the builting mkstemp with 'm4' because otherwise,
+         m4 1.4.8 recognizes it as a builtin macro and expands it, leading
+         to compilation errors on some distros.
+         This should fix #397167. Thanks to Daniel Elstner for spotting this.
+
+2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>
+
+       * glib/glibmm/dispatcher.{cc,h}: Early spring cleaning.  Also add
+       a paragraph about Dispatcher on win32 to the documentation.
+       (DispatchNotifyData): Remove the 'tag' member from the struct that
+       was always set to 0xdeadbeef in order to detect memory corruption.
+       This is pointless, as we already check the DispatchNotifier pointer
+       sent across the pipe, which is a far better indicator of corruption
+       anyway.
+       (warn_failed_pipe_io): Remove the err_no parameter and retrieve
+       errno respectively GetLastError() within the function instead.
+       (DispatchNotifier::conn_io_handler_): Remove, as we now inherit
+       from sigc::trackable.  I verified that this doesn't cause problems
+       with threading in this particular case.
+       (DispatchNotifier::DispatchNotifier): If creating the pipe failed
+       and exceptions are disabled, call at least warn_failed_pipe_io()
+       instead of doing nothing at all.
+       (DispatchNotifier::*): Rework the win32 implementation so that it
+       matches more closely the Dispatcher semantics on Unix.  This still
+       needs testing by someone on win32, though.  So far I only verified
+       that it compiles with dummy definitions of the win32 API.  Also,
+       I accidentally located the real cause of the race condition Cedric
+       experienced in bug #109966.  It was a bug in my patch, rather than
+       in the example code.
+
+       * examples/thread/dispatcher.cc: Cleanup.  In particular, get rid
+       of the Glib::RefPtr<> abuse with non-Glib::Object types.  I don't
+       believe we endorse such usage officially, so it shouldn't be in
+       the examples.
+
+2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>
+
+       * glib/glibmm/miscutils.cc: Clean up the code a bit.
+       (get_application_name): Remove the code that checked the string for
+       valid UTF-8, and attempted conversion if not valid.  I must have
+       been on crack when I wrote this, as the combination of conditions
+       that would cause the string to be invalid UTF-8 is quite unlikely.
+       If this is a valid concern at all, it should be filed as a GLib bug
+       and not worked around in glibmm.
+       (build_filename(const std::string&, const std::string&)): Just call
+       the plain g_build_filename() instead of building a temporary array
+       and passing that via ArrayHandle to the build_filename() overload
+       for containers.
+       (build_path): Remove the already deactivated custom implementation
+       from the time before g_build_pathv() was added to GLib.
+
+       * glib/glibmm/object.{cc,h}: Improve/fix a couple of comments.
+       (ConstructParams::ConstructParams): Add G_GNUC_NULL_TERMINATED
+       function attribute to make the compiler complain if the variadic
+       argument list is not terminated by a NULL pointer.
+
+       * glib/glibmm/ustring.{cc,h} (utf8_find_last_of): Avoid applying
+       bitwise logical operators directly to (possibly signed) operands
+       of char type.  In order to avoid relying on implementation-defined
+       behavior, make sure that the operands are of unsigned integer type.
+       (ustring::is_ascii): Likewise,
+       (ustring_Iterator<T>::operator--): Likewise.
+       (get_unichar_from_std_iterator): De-obfuscate this highly optimized
+       piece of code, as the current stable release of GCC (4.1.2-pre on
+       my system) generates better assembler output without the voodoo.
+
+2.13.3:
+
+2006-11-28  Daniel Elstner  <danielk@openismus.com>
+
+       * tools/pm/GtkDefs.pm (read_defs): Allow an empty pair of
+       parentheses in the innermost match.  This fixes the problem of
+       gmmproc choking on "()" in the documentation strings.  This would
+       still break on unmatched parentheses, though.  Of course the
+       parser should just skip over quoted strings, but I wasn't able
+       to get that to work.
+       * glib/src/glib_enums.defs (GNormalizeMode): Manually fix the
+       improperly parsed value of G_NORMALIZE_NFD.  Fortunately this
+       doesn't change anything since the "#error" token was interpreted
+       as zero, which happens to be the right value.
+       * glib/src/glib_functions.defs (g_iconv): Manually convert to
+       a function definition, as it was improperly parsed as a method
+       with a zero-length name (!) of object GIConv.  This fixes the
+       annoying gmmproc warning about an allegedly unwrapped method.
+
+2006-11-28  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/propertyproxy_base.cc: Don't ifdef out 
+       PropertyProxy_Base when properties are disabled. It is needed 
+       for connect_property_changed().
+
+2006-11-27  Daniel Elstner  <danielk@openismus.com>
+
+       * tools/enum.pl (parse): Ignore whitespace in front of an enum
+       typedef.  This fixes parsing of HildonTelephoneEditorFormat in
+       hildon-libs.
+       * tools/pm/Enum.pm (parse_values): Check whether the enumeration
+       constants actually have a common module prefix before attempting
+       to remove it.  This fixes the incorrect parsing of inconsistently
+       named enums in hildon-libs.
+
+2006-11-27  Daniel Elstner  <danielk@openismus.com>
+
+       * tools/enum.pl (form_names): Break the loop if the length of the
+       common prefix reaches zero.  This fixes the infinite loop when
+       processing the inconsistently named enumeration constants of the
+       Hildon libraries.
+
+2006-11-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * docs/reference/libstdc++.tag.xml: Updated from the libstdc++ site. 
+       Note that the original does not have an .xml extension. This is is 
+       lots bigger, but that should mean there is more documentation now.
+
+2006-11-22  Oliver Nittka  <oly@nittka.com>
+
+       * glib/src/value_basictypes.cc.m4: When registering float parameters, 
+       use -G_MAXFLOAT instead of G_MINFLOAT. Since we first implemented this, 
+       the glib documentation has been updated to make it cleare that this is 
+       the real minimum and G_MINFLOAT is the minimum positive value.
+       Do the same for doubles too.
+
+2006-11-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/Makefile.am: Add enum.pl to the dist, so that it is in 
+       tarballs. Someone saw it mentioned in the appendix, but could not 
+       find it in the tarball.
+
+2006-11-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * docs/reference/Doxyfile.in: Add PREDEFINES for the optional API, 
+       so that the documentation shows the regular API.
+
+2006-11-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/objectbase.cc:
+       * glib/glibmm/objectbase.h: Added connect_property_changed(), 
+       as an alternative to use when the property proxies are not 
+       available because GLIBMM_PROPERTIES_ENABLED is not defined.
+       SignalProxyProperty::connect(): Use notify::propertyname instead of 
+       just notify, so do not have to check the property name later. This 
+       should be more efficient (when this is used, rarely).
+       * glib/glibmm/propertyproxy_base.cc:
+       * glib/glibmm/propertyproxy_base.h: Move PropertyProxyConnectionNode
+       into the header, so we can reuse it for connect_property_changed(). 
+
+2006-10-04  Murray Cumming  <murrayc@murrayc.com>
+
+        * glib/glibmm/class.cc:
+        * glib/src/iochannel.ccg:
+        * glib/src/markup.ccg: Add a silly line to avoid unused parameters
+        when GLIBMM_EXCEPTIONS_ENABLED is not set.
+        * glib/glibmm/error.h: Do not use G_GNU_NO_RETURN on the version
+        of throw_exception() that returns, to avoid a warning.
+
+2006-10-01  Murray Cumming  <murrayc@murrayc.com>
+
+       * Makefile.am:
+       * docs/Makefile.am:
+       * docs/Makefile_web.am_fragment:
+       * docs/images/Makefile.am:
+       * docs/reference/Makefile.am:
+       * docs/reference/README:
+       * examples/Makefile.am: Upload to the new hoster instead of to sourceforge.
+       Abstracted the host and path names into docs/Makefile_web.am_fragment to 
+       avoid duplication.
+
+2.13.2:
+
+2006-09-28  Cedric Gustin  <cedric.gustin@gmail.com>
+       
+       * MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray from list of
+       source and header files.
+
+2006-09-26  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmmconfig.h.in: For win32, define 
+       GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS to 1, 
+       instead of just defining it to nothing.
+       * scripts/reduced.m4: In the AC_ARG_ENABLE() to 
+       define (or not) GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS, 
+       use api-default-signal-handlers as the first parameter 
+       instead of api-exceptions (a copy/paste error), though it does 
+       not seem to make any difference.
+       Bug #357830.
+
+2006-09-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
+
+       * glib/src/keyfile.ccg, glib/src/keyfile.hg: added new files that were
+       missed from an earlier commit
+
+2.13.1:
+
+2006-09-19  Ralf Stephan  <ralf@ark.in-berlin.de>
+
+       * glib/glibmm/ustring.h: 
+       ustring(const ustring& src, size_type i, size_type n=npos)
+       and 
+       ustring(const char* src, size_type n) constructors:
+       In the reference documentation, mention explicitly that 
+       n is the number of _UTF-8_ characters, rather than 
+       ASCII characters (bytes).
+
+2006-02-20  Rob Page  <page.rob@gmail.com>
+
+       Wraps GKeyFile (Bug #330535)
+       * glib/glibmm.h: Added include of keyfile.h
+       * glib/glibmm/Makefile.am: Added keyfile.h
+       * glib/glibmm/containerhandle_shared.h: Added a TypeTraits
+       specialization for converting between bool and gboolean*.
+       * glib/src/Makefile_list_of_hg.am_fragment: Added keyfile.hg
+       to files_general_hg.
+       * glib/src/keyfile.hg: KeyFile header
+       * glib/src/keyfile.ccg: KeyFile implementation
+       * tools/m4/convert_glib.m4: Added a conversion for KeyFileFlags
+
+2006-09-14  Johannes Schmid <jhs@gnome.org>
+
+       * tools/m4/class_shared.m4: Change _IMPLEMENTS_INTERFACE to 
+       _IMPLEMENTS_INTERFACE_CC so we can have more control over it, 
+       by generating the _IMPLEMENTS_INTERFACE_CC from the WrapParser.pm.
+       * tools/m4/method.m4:
+       * tools/m4/signal.m4:
+       * tools/m4/vfunc.m4: Added optional parameters that result in 
+       #ifdefs around methods, signals, vfuncs, etc.
+       * tools/pm/Output.pm: Addef ifdef() and endif().
+       output_wrap_vfunc_h(), output_wrap_vfunc_cc(),
+       output_wrap_default_signal_handler_h(), 
+       output_wrap_default_signal_handler_cc(),
+       output_wrap_meth(),
+       output_wrap_create(),
+       output_wrap_sig_decl(): Support optional ifdefs around  
+       declarations and implementations, by calling ifdef() and endif(), 
+       or by passing the extra argument to the m4 macros.
+       * tools/pm/WrapParser.pm: parse_and_build_output(): 
+       Parse _IMPLEMENTS_INTERFACE, and call the new on_implements_interface() 
+       method, which uses the new output_implements_interface() method, 
+       so it can have an optional ifdef parameter.
+       on_wrap_method(), on_wrap_create(), on_wrap_vfunc(), output_wrap_signal(),
+       output_wrap_vfunc(): Handle the optional ifdef (with a parameter) option 
+       for the _WRAP*() macros.
+
+       This adds support for disabling certain features by using the new
+       "ifdef" argument for methods, vfuncs, signals and interfaces.
+
+2006-09-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
+
+       * docs/reference/Makefile.am: rebuild docs when a .h files changes in
+       glib/glibmm
+       * glib/glibmm/miscutils.cc:
+       * glib/glibmm/miscutils.h: wrap g_get_user_data_dir(),
+       g_get_user_config_dir(), and g_get_user_cache_dir()
+
+This is the HEAD branch, for new API. There is also a glib-2-12 branch for 
+maintenance of the stable API.
+
+2006-08-18  Cedric Gustin  <cedric.gustin@gmail.com>
+       
+       * MSVC_Net2003/*.vcproj: Updated for glibmm-2.12.
+
+2.12.0:
+
+2.11.3:
+
+2006-04-25  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.in:
+       * glib/glibmmconfig.h.in:
+       * scripts/reduced.m4: Added a --enable-api-default-signal-handlers option. This defines 
+       GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED, which is used to #ifdef default signal handlers.
+       This saves on library code size (less code and API symbols) and application code size and 
+       loading time (less virtual methods, which must be imported and resolved at load time) and 
+       per-object memory size (smaller object sizes because of less virtual methods.) 
+       * tools/m4/class_interface.m4:
+       * tools/m4/class_shared.m4: Put default signal handler code in #ifdefs.
+
+2.11.2:
+
+2006-07-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.in: Reverted the previous patch slightly to unbreak glibmmconfig.h.
+
+2.11.1:
+
+2006-07-16  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.in: Quote GLIBMM_*_VERSION to avoid m4 warnings. Patch from 
+       Bug #347076 from Kevin McBride.
+       * scripts/sun.m4: Quote GLIBMM_PROG_CXX_SUN to avoid an m4 warning. 
+       Patch from Bug #347077 from Kevin McBride.  
+
+2006-07-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
+
+       * glib/src/date.ccg: fix implementation of Glib::Date::set_time_current() so
+       that it doesn't set the date to Dec 31, 1969.
+
+2006-06-19  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/object.h: Check whether DestroyNotify is defined, so we can warn about 
+       including X11/Xlib.h before this header, which will break things. 
+       Bug #316726 from Mert Tugcu and Javeed Shaikh.
+
+2006-06-09  Cedric Gustin  <cedric.gustin@gmail.com>
+
+       * glib/glibmm/objectbase.h : Inline the set_property and
+       get_property methods. This is required by mingw32-gcc as
+       ObjectBase is explicitly dllexported.
+
+2006-06-05  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/convert.ccg: When using --enable-api-exception=no, only try to get the Glib::Error 
+       when the GError is not null.
+
+2006-05-18  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/m4/method.m4: _METHOD(): When using errthrow, actually print the function call even if 
+       the return type is 0.
+
+2006-05-16  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/m4/method.m4:  _METHOD(), _STATIC_METHOD(): Remove spaces before dnl statements, 
+       to avoid unwanted indentation in .cc files.
+
+2006-05-16  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/m4/convert_base.m4: _CONVERT(): If the return type is void, use the unconverted 
+       statement, not no statement. This prevents some void methods from being totally empty. 
+       This was a (very bad) regression introduced by the optional API changed. 
+       Bug #341895 from Philip Langdale.
+       * tools/m4/method.m4: _METHOD(), _STATIC_METHOD(): Attempt to remove unnecessary newlines, 
+       though some indenting spaces slipped in instead. Must fix that. 
+
+2006-05-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/value.cc:
+       * glib/glibmm/value.h: Restored the init(GValue*) method that was lost when 
+       merging changes from the glibmm-2-10 branch.
+
+2006-05-09  Murray Cumming  <murrayc@murrayc.com>
+       * glib/glibmm/ustring.cc:
+       * glib/src/date.ccg:
+       * glib/src/convert.ccg:
+       * glib/src/convert.hg: Added #ifdefed versions for the case that 
+       exceptions are disabled.
+
+2006-05-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.in:
+       * scripts/reduced.m4: Moved --enable-deprecated-api macro into scripts/reduced.m4.
+       Added the --enable-api-exceptions macro that was missing from my last commit.
+
+2006-04-05  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.in:
+       * scripts/reduced.m4: Added --enable-api-exceptions option. When this 
+       is used, methods that would normally throw an exception will now take 
+       an extra std::auto_ptr<Glib::Error> argument that should be checked with 
+       auto_ptr::get().
+       * glib/glibmmconfig.h.in: Undef the GLIBMM_EXCEPTIONS_ENABLED, 
+       so it will be defined.
+       * tools/m4/gerror.m4: throw_func() returns an auto_ptr of a 
+       Glib::Error when exceptions are disabled.
+       * tools/m4/method.m4:
+       * tools/pm/Output.pm: on_wrap_method(): Added alternative API with 
+       #ifdefs
+       * tools/m4/signal.m4:
+       * tools/m4/signalproxy_custom.m4:
+       * tools/m4/vfunc.m4: Put #ifdefs around the exception re-throwing 
+       try/catch blocks.
+       * glib/glibmm/dispatcher.cc:
+       * glib/glibmm/dispatcher.h:
+       * glib/glibmm/error.cc:
+       * glib/glibmm/error.h:
+       * glib/glibmm/exceptionhandler.cc:
+       * glib/glibmm/exceptionhandler.h:
+       * glib/glibmm/main.cc:
+       * glib/glibmm/signalproxy.cc:
+       * glib/glibmm/streamiochannel.cc:
+       * glib/glibmm/stringutils.cc:
+       * glib/glibmm/threadpool.cc:
+       * glib/src/iochannel.ccg:
+       * glib/src/iochannel.hg:
+       * glib/src/markup.ccg:
+       * glib/src/spawn.ccg:
+       * glib/src/thread.ccg: Put #ifdefs around try/catch blocks, and 
+       use alternative API when appropriate.
+       * examples/iochannel_stream/fdstream.cc:
+       * examples/markup/parser.cc:
+       * examples/options/main.cc: Adapted examples to 
+       the alternative API, with #ifdefs
+       * tools/m4/convert_base.m4: Avoid any conversion if the result is 
+       void, to allow _WRAP_METHOD() to ignore bool results, so we can 
+       generate some methods that are currently hand-coded.
+
+2006-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/value.cc:
+       * glib/glibmm/value.h: Added init(const GValue*), so that we can copy GValue instances 
+       of any type at runtime. Needed by libgdamm, which returns const GValue* instances.
+
+This is the HEAD branch, for API additions. See also the glibmm-2-10 branch.
+
+2.10.1:
+
+2006-04-12  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/m4/signalproxy_custom.m4: Remove this file because it is not installed and 
+       does not seem to be used.
+
+2006-04-12  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/m4/signal.m4: Mark the (private) signal info callback functions as 
+       static, to save on code size. 
+
+2006-04-12  Murray Cumming  <murrayc@murrayc.com>
+
+       * tools/pm/WrapParser.pm: Parse a new optional constversion parameter for 
+       _WRAP_METHOD(), to save on code size by just calling the non-const overload 
+       instead of generating almost identical code.
+       * tools/m4/method.m4: _METHOD(): Take extra parameters for use when constversion is used.
+       * tools/pm/Output.pm: Send the extra parameters to _METHOD().
+       * docs/internal/using_gmmproc.txt: Documented the new constversion option.
+
+2006-04-12  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/glibmm/main.cc:
+       * glib/glibmm/objectbase.cc:
+       * glib/glibmm/property.cc:
+       * glib/glibmm/ustring.cc:
+       * glib/glibmm/value_custom.cc: 
+       * glib/src/spawn.ccg: Mark private functions as 
+       static, to stop them being exported in the API, to reduce the 
+       library code size slightly.
+       * tools/m4/signal.m4: Make generated callback functions static, for 
+       the same reasons.
+
+2006-04-07  Cedric Gustin  <cedric.gustin@gmail.com>
+
+       * README.win32: Updated for Mingw-4.1.
+
+2006-04-06  Cedric Gustin  <cedric.gustin@gmail.com>
+
+       * MSVC_Net2003/*.vcproj: Embed the manifest file into executables
+       in the case of the Debug target.
+       * README.win32: Fixed a few typos.
+       * build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to
+       the extra_defines compiler flags (switch between
+       dllexport/dllimport on win32).
+       * glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with
+       mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for
+       gtkmm) active with these two platforms, as required by bug
+       #309030.  
+       * glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object
+       and ObjectBase classes with GLIBMM_API to make Visual Studio happy.
+
+2.10.0:
+
+2006-02-25  Murray Cumming  <murrayc@murrayc.com>
+       * tools/pm/DocsParser.pm: looklookup_documentation(): Put the 
+       @deprecated text immediately after the main description, before 
+       the parameters, so that Doxygen actually uses it.
+2006-02-25  Murray Cumming  <murrayc@murrayc.com>
+       * tools/pm/DocsParser.pm: looklookup_documentation(): Accept an 
+       extra deprecated_documentation parameter, to be appended to the 
+       Doxygen documentation.
+       * tools/pm/Output.pm: output_wrap_meth(): Put the documentation 
+       inside the deprecation #ifdef, for neatness.
+       * tools/pm/WrapParser.pm: on_wrap_method(): Read an optional string 
+       after the optional deprecated parameter, used to say why the 
+       method is deprecated, in case it was not deprecated by the C API, 
+       in which case it would already have documentation for this.
+
+2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>
+
+       * README.win32: Updated for glibmm-2.8 (MS Visual Studio 2005).
+       * glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
+       dllexport it on win32. Bug #332438.
+       * MSVC_Net2003/*.vcproj: Updated for Visual Studio 2005. Added the
+       /vd2 compiler flag (Bug #158040).
+       * MSVC_Net2003/glibmm.sln: Updated for Visual Studio 2005.
+       * MSVC_Net2003/gendef/gendef.cc: Redirect output of dumpbin to a
+       file.
+       * glib/glibmmconfig.h.in: Undefined
+       GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS for MSVC.
+
+2006-02-03  Murray Cumming  <murrayc@murrayc.com>
+
+       * docs/internal/using_gmmproc.txt: Section about regenerating .defs:
+       Repeat the hint about extra_defs_gen here.
+
+2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>
+
+       * glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
+       dllexport it on win32. Bug #332438.
+
+2006-02-07  Rob Page  <page.rob@gmail.com>
+
+       * glib/glibmm/ustring.h: fix a typo in the documentation for uppercase()
+
+2.9.1:
+
+2006-01-28  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/optiongroup.ccg: add_entry_with_wrapper(): Copy the 
+       CppOptionEntry into the map _after_ setting entry_ so that we 
+       really delete it in release_c_arg(), to avoid a memory leak.
+
+2006-01-28  Rob Page <rob@gmail.com>
+
+       * docs/reference/glibmm_header.html_fragment: Fix the link 
+       to the Main page. Bug #328299.
+
+2006-01-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/optionentry.ccg: Constructor: Avoid memory 
+       leak caused by double instantiation of gobject_.
+
+2005-12-16  Murray Cumming <murrayc@murrayc.com>
+
+       * glib/glibmm/object.h:
+       * glib/glibmm/objectbase.h: Hide some internal stuff 
+       from Doxygen. Add/Improve the Doxygen documentation.
+       * glib/src/convert.hg: Correct the declaration of 
+       filename_display_name() to match the implementation. 
+       Previously this would have been unusable due to a linker 
+       error.
+
+2005-11-30  Murray Cumming <murrayc@murrayc.com>
+
+       * docs/reference/Doxyfile.in: Define the @newin aliases, 
+       as in gtkmm.
+       * tools/pm/DocsParser.pm: Convert Since: in gtk-doc 
+       text to @newin for our doxygen docs.
+
+2005-11-29  Murray Cumming <murrayc.com>
+
+       * build_shared/Makefile_build.am_fragment:
+       * configure.in: Added --enable-use-deprecations, 
+       defaulting to no (do not check for them), so that 
+       the tarball will still build when newer versions 
+       of glib deprecate some API. 
+       * examples/Makefile.am_fragment: Use the 
+       deprecation, if wanted.
+
+2005-11-29  Murray Cumming <murrayc@murrayc.com>
+
+       * build_shared/Makefile_build.am_fragment:
+       * configure.in: 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.
+       * glib/src/date.ccg:
+       * glib/src/date.hg: Use _DEPRECATE_IFDEF_START/END 
+       around the deprecated set_time() method.
+
+2005-11-29  Murray Cumming <murrayc@murrayc.com>
+
+       * tools/m4/base.m4: Add 
+        _DEPRECATE_IFDEF_START and _DEPRECATE_IFDEF_END 
+       macros, to #ifdef-out generated methods. 
+       Added _DEPRECATE_IFDEF_CLASS_START and 
+       _DEPRECATE_IFDEF_CLASS_END for whole classes. 
+       Put _DEPRECATE_IFDEF_CLASS* around all generated 
+       code. It does nothing if the class is not deprecated.
+       * tools/m4/class_gtkobject.m4: Add _DEPRECATED macro, 
+       used to mark a class as deprecated.
+       * tools/m4/method.m4: Take an extra parameter, to 
+       optionally mark the method as deprecated, to add 
+       #ifdefs around the code, with 
+       _DEPRECATE_IFDEF_START/END
+       * tools/pm/Output.pm: _DEPRECATE_IFDEF_START/END 
+       around the declarations of deprecated methods.
+       * tools/pm/WrapParser.pm: Check for an optional 
+       deprecated parameter to _WRAP_METHOD(). 
+       * tools/m4/member.m4: Allow optional deprecated 
+       method for _MEMBER_GET/SET*() to ifdef the code 
+       out.
+       * tools/generate_wrap_init.pl.in: Put an #ifdef 
+       around use of deprecated classes.
+
+2005-11-23  Murray Cumming <murrayc@murrayc.com>
+
+       * configure.in: Depend on glib 2.9, which 
+       has new API.
+       * glib/src/date.ccg:
+       * glib/src/date.hg: Wrap glib_date_set_time_t() 
+       and glib_date_set_time_val(). Deprecate  
+       set_time(GTime) in favour of the new method 
+       overloads. Added set_time_current(), wrapping the 
+       case that the time_t is 0.
+
+This is the HEAD branch, for new API, targetting glib 2.9. See also the 
+glibmm-2-8 branch.
+
+2.8.2:
+
+2005-11-23  Murray Cumming <murrayc@murrayc.com>
+
+       * glib/glibmm/containers.h: Do not use g_assert() in 
+       a header, because g++ sometimes warns that it has 
+       no effect.
+
+2005-10-29  Murray Cumming <murrayc@murrayc.com>
+
+       * scripts/macros.m4: AL_PROG_GNU_MAKE(): 
+       Use $MAKE-make instead of $ac_make, which 
+       apparently fixes a build problem on some 
+       Solaris systems. Thanks to Mark Rouchal in 
+       bug #307480.
+
+2.8.1:
+
+2005-10-19  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.in: Check for glib 2.8. Bug #317913.
+
+2.8.0:
+
+Updated NEWS and increased version to 2.8.0.
+
+2.7.3:
+
+2005-08-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
+       * glib/src/glib_enums.defs: Regenerated with enums.pl
+       * glib/src/glib_functions.defs: Regenerated with h2defs.py
+
+2.7.2:
+
+2005-07-16  Murray Cumming <murrayc@murrayc.com
+
+       * glib/glibmm/miscutils.cc: Reimplemented build_filename() and 
+       build_path() with the new non-vararg functions in glib 2.7, 
+       instead of implementing them in gtkmm.
+       * glib/src/glib_enums.defs: Regenerated with enums.pl
+       * glib/src/optionentry.hg: Added FLAG_NO_ARG, FLAG_FILENAME, 
+       FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
+
+
+2.7.1:
+
+2005-06-08  Murray Cumming <murrayc@murrayc.com
+
+       * glib/glibmm/propertyproxy.h: 
+       PropertyProxy_ReadOnly<>::get_value(),
+       PropertyProxy_WriteOnly<>::set_value(): Add implementations 
+       instead of casting to unrelated PropertyProxy() and calling it 
+       there. The AIX compiler did not like this hack. Bug #301610
+
+2005-06-07  Cedric Gustin <cedric.gustin@swing.be>
+
+       * glib/glibmm/miscutils.cc: In get_home_dir, return an empty
+       string when HOME is not defined (Win9x). Bug #306310 from Michael
+       Hofmann.
+       * glib/glibmm/miscutils.h: Updated docstring for the get_home_dir
+       method.
+
+2005-04-27  Murray Cumming <murrayc@murrayc.com>
+
+       * examples/child_watch/main.cc:
+       * examples/thread/dispatcher.cc:
+       * examples/thread/thread.cc:
+       * glib/glibmm/dispatcher.cc: Inherit signal handler objects from 
+       sigc::trackable. This is necessary with some libsigc++ patches, 
+       though not currently necessary with regular libsigc++.
+
+2005-04-22  Murray Cumming  <murrayc@murrayc.com>
+
+       * glib/src/gmodule_enums.defs: Regenerate with enums.pl
+       * glib/src/gmodule_functions.defs: Regenerate with h2defs.py
+       This adds the BIND_LOCAL enum value. Bug #172748 from 
+        Phillip Neiswanger.
+
+2005-04-05  Murray Cumming  <murrayc@murrayc.com>
+
+       * tool/pm/Output.pm: output_wrap_property(): Do not add the 
+       const read-only method override if the property can not be read. Be 
+       careful because this removes a little API from generated code. You 
+       should hand-code the wrongly-generated methods and mark them as 
+       deprecated.
+       * glib/glibmm/refptr.h: Added cast_const<>, like the existing 
+       cast_dynamic<> and cast_static.
+
+2005-03-31  Murray Cumming <murrayc@murrayc.com>
+
+       * glib/src/glib_functions.defs: Updated with 
+       h2defs.py.
+
+2005-03-13  Yair Hershkovitz <yairhr@gmail.com>
+
+       * glib/glibmm/main.h,
+       glib/glibmm/main.cc: Added MainContext::signal_child_watch()
+       * examples/: Added child_watch/ example   
+  
+2005-03-11  Yair Hershkovitz <yairhr@gmail.com>
+
+       * glib/glibmm/main.h, glib/glibmm/main.cc: 
+       Add Glib::SignalChildWatch class, Glib::signal_child_watch()
+
+This is the HEAD branch, for new API. Bug fixes that do not change or add 
+API should also be applied to the glibmm-2-6 branch.
+
+2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
+
+       * MSVC_Net2003/Makefile.am: Add blank.cpp to EXTRA_DIST.
+       * MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray.cc from the
+       list of source files.
+       * MSVC_Net2003/examples/*/*.vcproj,
+       MSVC_Net2003/tests/glibmm_value/glibmmvalue.vcproj: Change name of
+       PDB file to $(OutDir)/$(TargetName).pdb. 
+       
 2.6.1:
 
 2005-03-07  Murray Cumming  <murrayc@murrayc.com>