3 * Build: Hopefully fix the build on NetBSD-4.99.6/amd64.
4 Bug #386990. (was already in 2.12.7) (Murray Cumming)
5 * gmmproc: Added support for the new _CONFIGINCLUDE() macro.
10 * Glib::wrap(): Don't fail when wrapping an interface that
11 is implemented by an unrecognized type.
12 gmmproc-generated code now uses the new wrap_auto_interface(),
13 so newly-generated source code will require this latest glibmm
15 * Increase version number check for glib.
22 * New Regex class, allowing string searching with regular expressions.
23 (Murray Cumming, Daniel Elstner)
25 (Rob Page, Jonathan Jongsma, Murray Cumming)
26 * Main: Added SignalTimeout::connect_seconds().
28 * OptionContext: Added get/set_summary(), get/set_description(),
29 set_translation_domain() and set_translate_func().
31 * Added Glib::get_user_special_dir(), get_user_data_dir(),
32 get_user_config_dir(), and get_user_cache_dir().
33 (Jonathan Jongsma, Murray Cumming)
34 * Improved documentation.
35 (Johannes Schmid, Jonathan Jongsma, Ralf Stephan)
40 - Add escape_string().
41 - match_full(): Rename to match().
42 - match_all_full(): Rename to match_all().
43 - split_full(): Rename to split().
47 * KeyFile: Added Added get_double(), set_double(), get_double_list()
48 and set_double_list().
53 * OptionContext: Added get/set_summary(), get/set_description(), set_translation_domain(),
54 and set_translate_func().
57 Added RegEx class documentation. (Johannes Schmid)
62 * Regex: Added a create() method and added default parameter values.
63 Added a simple example.
64 * Added SignalTimeout::connect_seconds(), in addition to the existing
65 SignalTimeout::connect(), as a wrapper of g_timeout_add_seconds().
66 Improveed the documentation.
67 * Added get_user_special_dir().
72 * Added Glib::Regex, an API for doing regular expression search/matching.
73 This is not fully wrapped yet, but the simple versions of the API are there.
74 We need to write an example for this.
79 * Correctly ifdef-out initialization of deprecated classes.
80 (Johannes Schmid, Openismus)
81 * Build: Cope with newer m4 versions. (Yselkowitz)
85 * Correct initialization when using --disable-deprecated for reduced code-size
86 on embedded devices. (Johannes Schmid, Openismus)
87 * Glib::ObjectBase::is_derived_() is now public, though it is still only for
88 internal use. This allows us to do some optimization of default signal handlers and
90 (Armin Burgmeier, Openismus)
91 * Options: Don't overwrite default arguments. This change was lost in
92 March 2006, but now it is back.
94 * Dispatcher: Several minor implementation improvements. (Daniel Elstner)
95 * ustring: Minor improvements. (Daniel Elstner)
96 * Documentation: Actually use the signals documentation again.
97 (Armin Burgmeier, Openismus)
99 - Fix code generation when using the latest m4, and functions named
100 mkstemp, as experienced on Ubuntu Feisty.
101 Bug #397167 (Dodji Seketeli, Daniel Elstner)
102 - helperlist.h: Avoid warnings about a shadowed member.
103 Bug #420316 from Bradley Bell.
104 - utility.h: Avoid a warning about a redundant declaration.
105 Bug #420339 from Bradley Bell.
110 * Glib::ObjectBase::is_derived_() is now public, though it is still only for
111 internal use. This allows us to do some optimization of default signal handlers and
113 (Armin Burgmeier, Openismus)
115 - helperlist.h: Avoid warnings about a shadowed member.
116 Bug #420316 from Bradley Bell.
117 - utility.h: Avoid a warning about a redundant declaration.
118 Bug #420339 from Bradley Bell.
119 * gmmproc improvements:
120 - gmmproc: Allow () in property and signal docuemntation.
121 - gmmproc: Do not try to remove a common prefix from the
122 C enam values, if there is no common prefix.
123 - enum.pl: Allow whitespace in front of an enum typedef.
125 - enum.pl: Fix an infinite loop.
126 * ObjectBase: Added connect_property_changed(),
127 as an alternative to use when the property proxies are not
128 available because GLIBMM_PROPERTIES_ENABLED is not defined.
130 * Value: When registering float parameters, use
131 G_MAXFLOAT as the minimum, instead of G_MINFLOAT.
132 Likewise for doubles.
138 - Fix for api-default-signal-handlers option.
139 Bug #357830 (Matt Hoosier)
140 - win32: Remove unused source file from Visual Studio project.
145 * KeyFile class added, wrapping GKeyFile,
146 for parsing of .ini-style files.
148 * Added get_user_data_dir(), get_user_config_dir(), and
149 get_user_cache_dir().
151 * Support optional ifdef parameters in the .hg macros,
152 to allow, for instance the --enable-atk=no option,
153 to disable the build and use of the atkmm API,
154 for use in embedded environments.
155 (Johannes Schimd, Murray Cuming, Openismus)
157 - Small ustring reference documentation improvement.
163 * Added the --enable-api-default-signal-handlers option, for use in
164 embedded environments that have reduced resources. See configure --help
165 for the other subsets.
166 * Value: Added init(const GValue*), so we can copy GValue instances
167 of any type at runtime. Needed by the new branch of libgdamm.
171 * Build: Added the --enable-api-default-signal-handlers option, for use in
172 embedded environments that have reduced resources. See configure --help
173 for the other subsets.
177 * Date: Fix implementation of Glib::Date::set_time_current() so
178 that it doesn't set the date to Dec 31, 1969.
180 * Value: Added init(const GValue*), so we can copy GValue instances
181 of any type at runtime. Needed by the new branch of libgdamm.
183 * Added a #warning to warn about including X11/Xlib.h before a glibmm header,
184 which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
187 - Quote some m4 macros to avoid warnings. Bugs (with patches) #347076
190 - Fix exporting of get/set_property() on mingw32-gcc.
199 - Define GLIBMM_DLL when building with mingw32 or cygwin,
200 because it is needed by gtkmm. Bug #309030
202 * OptionGroup: Allow default values, by not initializing them all.
204 * Slight code size reduction by marking private functions as static.
210 - ustring.h: Tag npos with GLIBMM_API, in order to
211 dllexport it on win32. Bug #332438.
212 - Updated MSVC++ build files and README, for MS Visual Studio 2005.
214 * gmmproc code generator:
215 - WRAP_METHOD() Take an extra optional argument: deprecated deprecationtext -
216 so that we can insert the appropriate doxygen tag in the documentation, where
217 the C documentation does not do it for us.
222 - Added set_time(time_t), set_time(GTimeVal), and deprecated
224 - Added set_time_current().
226 * Build: Added --enable-deprecated-api option. When set to disabled,
227 it does not build deprecated API. This reduces the size of the
228 library, and might be useful for embedded devices.
233 * Solaris build fix: Correct the detection
234 of make. (Mark Rouchal)
238 * Build: Check for glib 2.8.
242 API additions since glibmm 2.6:
244 * GModule: Add BIND_LOCAL enum value.
245 (Bug #172748 from Phillip Neiswanger).
246 * MainContext Added signal_child_watch()
247 and examples/child_watch.
249 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
250 FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
255 * Updated reference documentation from glib documentation.
259 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
260 FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
261 * build_filename() and build_path(): Now use the implementation
266 * GModule: Add BIND_LOCAL enum value.
267 (Bug #172748 from Phillip Neiswanger).
268 * MainContext Added signal_child_watch()
269 and examples/child_watch.
275 * Interface::add_interface(): Disabled the check for a second call,
276 introduced in 2.6.0, for now, because it stops some valid uses.
281 New stable version. Changes compare to glibmm 2.4.x:
283 * Added Option, OptionContext, OptionGroup for parsing of command-line arguments.
284 * Added filename_display_basename() and filename_display_name().
285 * Added setenv() and unsetenv().
286 * add_interface() methods will no longer give warnings if you
289 - Now reuses C properties documentation.
293 * add_interface() methods will no longer give warnings if you
295 * gmmproc: Output properties documentation taken from the .defs.
296 * examples now build on AIX.
298 * MSVC++ .Net 2003 build fix. (Cedric Gustin)
302 * Now builds with the following compilers, in addition to
303 the existing GNU g++, and Intel compilers:
307 - IRIX MIPSpro 7.4.2m
308 (Older versions of all these compilers might also work.)
309 (Murray Cumming, www.thewrittenword.com)
310 * Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
316 * Added Option(GOptionGroup* cast_item) constructor,
318 * Added reference documentation.
324 - Allow parsing of boolean arguments (arguments with no value).
325 - Really use the short names.
326 (Daniel Holbach, Murray Cumming)
327 * Added filename_display_basename() and filename_display_name().
329 * Added setenv() and unsetenv(). (Murray Cumming)
330 * Use static keyword to prevent exporting private API.
332 * input example: Improvements and simplification. (Chris Vine)
336 * OptionEntry: Remove useless enum. (Murray Cumming)
338 - examples: Added iochannel_stream example. (Chris Vine)
339 - reference: Generate more reference API from the C documentation, and
340 try to use the libstdc++ doxygen tags file to link to their
341 documentation. (Murray Cumming)
345 * OptionContext, OptionGroup, OptionEntry: Made the add_entry() methods
346 type-safe and fixed several problems memory-management problems. This
347 API is now worth looking at.
351 * Added OptionContext, OptionGroup, and OptionEntry classes, for
352 parsing of command-line options. See examples/options/
356 * Signals: Avoid crashes when disconnecting a signal when handling that signal.
357 (Murray Cumming, Martin Schulze)
361 * Minor improvements to reference documentation. (Daniel Elstner)
362 * Minor Glib::Dispatcher improvements (Daniel Elstner)
366 * Glib::Dispatcher: win32 implementation rewritten, and hopefully, improved.
369 - Optimization and code-cleanup. (Daniel Elstner)
370 - Added reference documentation for constuctors. (Murray Cumming)
371 * Fixed some compiler warnings.
373 * gmmproc: Some improvements for libgdamm. (Murray Cumming)
378 * Build fixes for gcc 3.4.0.
379 * Doxygen not required when building from tarballs.
387 * 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.
388 * When using pkg-config, you should check for "glibmm-2.4".
389 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other classes that inherit from SigC::Object.
391 - is_null() was removed, to encourage you to use "== 0" instead.
392 - operator=(CppObject*) was removed.
393 * The gtkmmproc code-generator is now gmmproc, and has several improvements to support gtkmm 2.4.
394 * Now uses improved libsigc++ 2.0 API.
395 * Added i18n.h and i18n-lib.h, which include the relevant
396 glib headers, which declare internationalization
399 Glib::spawn_close_id(), Glib::MainLoop::depth(),
400 Glib::Date::clamp_min(), Glib::Date::clamp_max().
401 * Improved documentation.
406 * Fix crash when using Glib::Main signals.
408 * Corrected the configure-time SUN compiler check.
409 (Murray Cumming, Alexander Nedotsukov)
413 * Added configure macros to detect SUN compiler oddities.
414 * Various SUN Forte C+ and g++ 3.4 (cvs) build fixes.
416 * gmmproc: Improved parsing of C docs.
421 * Added i18n.h and i18n-lib.h, which include the relevant
422 glib headers, which declare internationalization
423 macros such as _(). (Murray Cumming)
424 * Added Glib::spawn_close_id(). (Murray Cumming)
425 * Added Glib::MainLoop::depth(). (Murray Cumming)
426 * Documentation: corrections to CHANGES (Martin Schulze).
427 * gmmproc: Can now handle "const const_iterator& iter"
428 parameter names without getting confused by 2 consts.
433 * glibmm now uses libsigc++ 2 rather than libsigc++ 1.2.
437 * ListHandle/SListHandle (intermediate container types):
438 - Added a const_cast<> to allow lists of const elements.
439 * gmmproc: _WRAP_SIGNAL(): Added optional custom_c_callback
442 * WIN32: Build fixes, mostly merged from the 2.2 branch.
447 * gmmproc (code generator)
448 - properties: Make read-only properties have const accessors,
449 and add a second read-only const accessor for normal
450 properties. Wrap construct-only properties as read-only,
451 instead of ignoring them.
452 - vfuncs: Really generate const vfuncs when requested. Put
453 the method declaration directly into the .h file, so that
454 the doxygen documentation can be next to it.
456 - Remove mergecdocs configure option - always
457 merge the C docs, to avoid any risk of uploading or
458 releasing empty documentation. Just delete the *_docs.xml
459 files to make building from cvs faster.
460 - Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm
461 and other *mm projects, to get the perl path needed by
463 - Install beautify_docs.pl so it can be reused in gtkmm
464 and other *mm projects, instead of having lots of copies.
465 * Glib::ObjectBase: The default constructor, never before used,
466 now generates a custom GType, for use when creating new
467 implementations of Glib::Interfaces - for instance, see the
468 new custom tree model example in gtkmm.
469 * Glib::Date: Added clamp_min() and clamp_max().
473 - Added reference documentation for MainLoop, MainContext,
474 Source, and Date. (Alberto Paro)
478 * gmmproc (code generator):
479 - signal proxies have extra space to avoid << with templates.
480 - Added WRAP_METHOD_DOCS_ONLY() for reusing documentation even
481 when the method is hand-coded.
482 - _WRAP_SIGNAL(): Added optional no_default_handler parameter,
483 because some of the new GTK+ signals have no public default
485 * Added Glib::init(), for use by non-GUI apps which need to
487 * PropertyProxy: Can now be used with Interfaces.
488 * Documentation improvements, so that gtkmm docs link to glibmm
494 * gmmproc changes needed by gtkmm 2.3.0
496 * examples updated and buildable and working,
498 (J. Abelardo Gutierrez)
500 Changes in glibmm 2.3.0:
502 * Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm.
503 This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install this unstable library
504 without the risk of breaking existing application.
505 * This does not yet require glib 2.3 because there has been no tarball release of that yet. For now, you
506 can use glibmm 2.3.0 with glib 2.2.x.
507 * When using pkg-config, you should check for "glibmm-2.4".
508 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other
509 classes that inherit from SigC::Object.
511 - is_null() was removed, to encourage you to use "== 0" instead.
512 - operator=(CppObject*) was removed.
513 * gtkmmproc is now gmmproc.
514 * All the glibmm bugfixes in gtkmm 2.2.x.