switch glibmm/giomm to 2.18
[ardour.git] / libs / glibmm2 / NEWS
1 2.18.2 (stable):
2
3  * uri_*(): Fix a memory leak. (Jonathon Jongsma) Bug #566845 (Jason Kasper)
4  * gmmproc: 
5   - CLASS_GOBJECT(): Added _CUSTOM_CTOR_CAST for classes that need to 
6   include custom code in their cast and construct_params constructors as 
7   already seen in _CLASS_GTKOBJECT. Bug #574861.
8         - enum handling of unusually-capitalized names: For example, 
9         gtk_foo_bar_get_type() instead of gtk_fo_obar_get_type(). Bug #575870.
10         (José Alburquerque)
11  * Build:
12    - Fix the build with --disable-api-exceptions. (Daniel Elstner)
13    - Fix -Wshadow warnings in NodeTree. (Hubert Figuiere) Bug #555743
14    - Fix ununused variables warnings. (Hubert Figuiere) Bug #562716
15    - Use single glib includes. (Przemysław Grzegorczyk) Bug #563987
16    - Do not use a non-ASCII dash character, to avoid the MSVC++ warning C4819.
17            (Tao Wang) Bug #568072
18    
19 2.18.1 (stable):
20
21  * Many windows build improvements
22  * Bugs fixed:
23    * 506410 - Call of overloaded Stringify is ambiguous
24    * 529496 - Gio::Error::HOST_NOT_FOUND clashes with a netdb.h #define
25    * 539891 - Can't use doxygen commands in *_override.xml
26    * 555576 - name clash in fileinfo.h with winbase.h from VS2005
27    * 556315 - Extra defs generation utility forgets to generate signals for inter...
28    * 556387 - FileEnumerator::next_file reference counting problems
29  * Thanks to contributions from Armin Burgmeier, Jonathon Jongsma, José
30    Alburquerque, Murray Cumming, and Szilárd Pfeiffer
31
32 2.18.0 (stable):
33
34  * Bug #550789: Fixed a licensing issue with some of the tools distributed with
35    the source tarball (Murray Cumming)
36
37 2.17.3 (unstable):
38
39  * More Glib::NodeTree improvements (Szilárd Pfeiffer, Murray Cumming)
40  * Windows build fixes (Armin Burgmeier)
41
42 2.17.2 (unstable):
43
44  * Changes to API that was added in this unstable series:
45    * Glib::Tree (wrapper around GNode) renamed to Glib::NodeTree  to avoid
46      confusion with GTree
47    * pass the node to the traversal the callback (Szilárd Pfeiffer)
48    * Move TraverseFlags inside the NodeTree class (Murray Cumming)
49  * New API:
50    * Added the drive_eject_button signal (Murray Cumming)
51  * Bug Fixes:
52    * #423990: glibmm et al don't recognize new GNU m4 (Damien Carbery)
53    * #529496: Gio::Error::HOST_NOT_FOUND clashes with a netdb.h #define (Murray
54      Cumming)
55    * #523043: Initialization of Glib::ObjectBase for derived types should be
56      mentioned in documentation (Moritz Ulrich)
57    * #506410: Call of overloaded Stringify is ambiguous (Szilárd Pfeiffer,
58      Murray Cumming)
59
60 2.17.1 (unstable):
61
62   * New API: (Murray Cumming)
63     * Gio::File: make_directory_with_parents(), query_file_type(), monitor().
64     * Gio::FileEnumerator: get_container().
65     * Gio::Mount: guess_content_type() and guess_content_type_finish().
66     * Gio:ThemedIcon: prepend_name().
67     * Gio::Volume: get_activation_root().
68   * Bug Fixes:
69     * #512348: provide documentation about threadsafety of
70       Glib::Thread::create() when the slot object is of type sigc::trackable (Chris Vine)
71     * #538803: minor fixes to Glib::Tree (Levi Bard)
72     * #540656: Pass NULL in a couple functions instead of an empty string allow
73       files to be overwritten (Armin Burgmeier)
74     * #540875: add documentation for Glib::OwnershipType (Johannes Schmid)
75     * #542929: Fix some compiler warnings (Benjamin Herr)
76     * Fix AppLaunchContext::get_display(),
77       AppLaunchContext::get_startup_notify_id() to use a list of Gio::File, not
78       filepath string.  properly documented we know that this is correct. It's an
79       API break but this function could nothave worked before. (Murray)
80     * Bug #543292: Fix visual studio project file (Jens Georg)
81   * Added Keyfile example (Murray Cumming)
82
83 2.17.0 (unstable):
84
85   * Added copy constructor and assignment operator, made GDate constructor visible (José
86     Alburquerque)
87   * Added Glib::Tree, a wrapper for GNode, providing an N-ary tree container, more or
88     less like a standard C++ container (Levi Bard)
89   * Bug #529648 - give helpful warning message when library user forgets to initialize the
90     library (Jonathon Jongsma)
91   * Bug #529533 - Fix bug that prevented for Gio::Mount, Gio::Drive, and Gio::Volume from
92     being wrapped for some backend implementations (Jonathon Jongsma)
93
94 2.16.2 (stable):
95
96  * Bug 526831 – G_OPTION_REMAINING no longer works with OptionEntry (Murray
97    Cumming)
98  * Bug 527687 – ustring::erase(iterator) incorrect for non ascii character
99    (Murray Cumming)
100  * add API documentation for spawn_* functions (Murray Cumming)
101  * fix possible memory leak in OptionEntr (Murray Cumming)
102
103 2.16.1 (stable):
104
105 * Reference-counting bugfix in Gio::File::create() and Gio::File::replace()
106   (Murray Cumming)
107 * Include Gio::Error header in headers that have API that can throw this
108   exception (Murray Cumming)
109 * Improve documentation (Murray Cumming)
110 * Build fixes for giomm on win32 (Jonathon Jongsma)
111 * fix warning with g++ 4.3 (Tim Retout)
112
113 2.16.0 (stable):
114
115 Changes compared to glibmm 2.14:
116
117 * New Gio API. Check for giomm-2.4 with pkg-config to use this.
118   (Marko Anastasov, Jonathon Jongsma, José Alburquerque, Murray Cumming)
119 * New Glib::Checksum class.
120   (Naveen Verma, Murray Cumming)
121 * New uri helper functions: uri_unescape_string(), uri_parse_scheme(), 
122   uri_escape_string().
123   (Murray Cumming)
124
125 2.15.8 (unstable):
126
127 * File: load_contents(), load_contents_finish(),  load_partial_contents_finish(): 
128   Use char*& instead of char** for contents.
129   Use std::string& instead of char**  for etag_out.
130   Added method overloads without cancellable.
131   (Murray Cumming)
132 * Improved documentation: Mention exceptions instead of errors.
133
134 2.15.7 (unstable):
135
136 * File:
137   - Added query_filesystem_info_async() and 
138   query_filesystem_info_finish() because these were added to the C API.
139   (Murray Cumming)
140   - Renamed contains_file() to file_has_prefix() because this was changed in the 
141   C API.
142   (Wouter Bolsterlee)
143 * ThemedIcon: Added append_name() because this was added to the C API.
144   (Murray Cumming)
145
146 Glib:
147 * Renamed uri_get_scheme() to uri_parse_scheme() because this was changed 
148   in the C API.
149   (Wouter Bolsterlee)
150
151 Documentation:
152 * Corrections to the .devhelp file generation.
153   (Jonathon Jongsma. Bug #518673)
154
155
156 2.15.6 (unstable):
157
158 Gio:
159 * Removed most vfuncs, because they are not useful to application developers, 
160   and are a likely source of errors. (Murray Cumming)
161 * DesktopAppInfo:
162   - Added Added create(), create_from_file(),
163     is_hidden() and set_desktop_env()
164     Renamed new_from_file() to create_from_file().
165     (José Alburquerque)
166 * File: equal(), get_relative_file(), contains_file(): Take const File 
167   parameters.
168 * FileAttributeInfoList: Added dup().
169 * MemoryInputStream: Added add_data(const void* data, gssize len).
170 * Mount: Really added signals.
171 * MountOperation: Wrapped the ask-question signal.
172   (Murray Cumming)
173 * Volume:
174   - Added should_automount().
175     (Marko Anastasov)
176   - Really added signals.
177     (Murray Cumming)
178 * UnixOutputStream, DataOutputStream, DataInputStream: Made constructors 
179   protected.
180   (Marko Anastasov)
181
182
183 Documentation:
184 * Install a devhelp file like the existing gtkmm one.
185   (Jonathon Jongsma)
186
187 2.15.5 (unstable)
188
189 Gio:
190 * File, Mount, Volume:
191   Updated for latest gio API changes, adding a MountFlags parameter to some 
192   methods.
193   (Jonathon Jongsma)
194 * Volume, VolumeMonitor, Added some vfuncs, though we might remove these 
195   later as they seem useless and likely to be sources of problems.
196   (Murray Cumming)
197
198 Glib:
199 * Actually install gi18n-lib.h
200   (Takao Fujiwara. Bug #515133)
201
202 2.15.4 (unstable):
203
204 Glib:
205
206 * AppInfo: Added  vfuncs.
207   (Jonathon Jongsma)
208 * Added BufferedOutputStream, DataInputStream and DataOutputStream, and 
209   FilterOutputStream.
210   (Jonathon Jongsma)
211 * Cancellable: Added the signal.
212   (Murray Cumming)
213 * Added ContentType functions.
214   (Jonathon Jongsma)
215 * File:
216   - Added overloads of create_file(), remove(), trash(), 
217     make_directory(), make_symbolic_link(), query_settable_attributes(), 
218     query_writable_namespaces(), query_filesystem_info(),  
219     query_default_handler() and mount_mountable(() without cancellable 
220     parameters.
221     (Murray Cumming)
222   - Added copy_attributes(), added mount_enclosing_volume(), 
223     mount_enclosing_volume_finish(), find_enclosing_mount(), and 
224     find_enclosing_mount_finish().
225     (Murray Cumming)
226   - set_attributes_from_info(): Reordered parameters so we can have default 
227     values.
228     (Murray Cumming)
229   - Added copy_async(), with overloads without slot_progress. copy_finish(), 
230     query_default_handler().
231     (Marko Anastasov)
232   - find_enclosing_mount(), append_to(): Reordered parameters and added 
233     overloads without cancellable.
234     (Murray Cumming)
235   - Added non-cancellable set_attribute_string(), set_attribute_byte_string(), 
236     set_attribute_{uint32, int32, uint64, int64}.
237     (José Alburquerque)
238 * Added FilenameCompleter.
239   (Murray Cumming)
240 * LoadableIcon:
241   - Derive from Icon, and no longer derive FileIcon from Icon directly.
242   (Murray Cumming)
243   - Wrapped some vfuncs and some extra methods.
244   (Jonathon Jongsma)
245 * Added MemoryInputStream.
246   (Jonathon Jongsma)
247 * Added ThemedIcon
248   (Murray Cumming)
249 * Added UnixInputStream, UnixOutputStream, and DesktopAppInfo, available only 
250   on Unix/Linux.
251   (José Alburquerque, Murray Cumming)
252 * Volume: Added get_mount(), get_identifier(), enumerate_identifiers().
253   (Marko Anastasov)
254 * VolumeMonitor: Added signals and properties. 
255   (Murray Cumming)
256
257 Build:
258 * Use local gmmproc files again, instead of only installed ones.
259   (Murray Cumming)
260 * Fix compile with GCC 4.3.
261   (Kjartan Maraas)
262
263
264 2.15.3 (unstable):
265
266 Gio:
267 * FilterInputStream: Really wrap this.
268 * VolumeMonitor: Workaround a crash in gio due to the 
269   eccentric use of the GType system to discover GVolumeMonitor 
270   implementations. See gio bug #511814.
271 * Added Gio::Error exception.
272 * Added more method overloads without optional parameters, and 
273   reordered more parameters to allow default values. 
274   (Murray Cumming)
275 * giomm.h: Added includes.
276   (Jonathan Jongsma)
277
278 * Note that there are some examples in the gtkmm-documentation module.
279
280
281 2.15.2 (unstable):
282
283 Glib:
284
285 * Checksum: New class, wrapping GChecksum.
286   (Naveen Verma. Bug #510235)
287 * ObjectBase: Added connect_property_changed_with_return() 
288   because connect_property_changed() does not return a sigc::connection.
289   Bug #433984 (Philip Langdale, Kalle Vahlman).
290 * enums.pl .defs generator: Handle parantheses.
291   (Marko Anastasov. Bug #498621)
292
293 Gio:
294 * Added FilterInputStream, Mount, FileMonitor, VolumeMonitor.
295   (Marko Anastasov, Murray Cumming)
296 * Many methods' parameters have been reordered so we can 
297   add default parameter values.
298 * Many methods now have overloads with less parameters.
299   (Murray Cumming, José Alburquerque, Marko Anastasov)
300
301
302 2.15.1 (unstable):
303
304 Gio:
305 * Actually build the giomm library.
306 * Added API reference documentation.
307   (Murray Cumming)
308 * Added AppInfo and AppLaunchContext.
309 * Drive:
310   - Added poll_for_media() and poll_for_media_finish().
311   - Added capability-checking functions.
312   (Marko Anastasov)
313 * File: Renamed create() to create_file(), 
314   create_async() to create_file_async() and 
315   create_finish() to create_file_finish() to slightly 
316   reduce confusion with the static create*() methods.
317 * FileInputStream, FileOutputStream: Derive from Seekable.
318   (Murray Cumming)
319 * FileInputStream, InputStream, Volume: Modified *_finish 
320   functions to take a const AsyncResult.
321   (Marko Anastasov)
322 * Added LoadableIcon.
323   (Murray Cumming)
324 * MountOperation: Added MountOperationResult enumeration and make 
325   reply() take this instead of a bool.
326   (Jonathon Jongsma)
327
328   (Murray Cumming)
329  
330 Glib:
331 * Added uri_unescape_string(), uri_get_scheme() and uri_escape_string().
332   (Murray Cumming
333
334
335 2.15.0 (unstable):
336
337 * New giomm library (check for giomm-2.4 with pkg-config) 
338   in the glibmm tarball. This wraps the new gio API in glib 2.15/16.
339   However, this API could change considerably before the stable 
340   glibmm 2.16 is released.
341   (Marko Anastasov)
342 * ustring:
343   - Added compose() to substitute placeholders in a format string, as an 
344   equivalent to sprintf(), to help internationalization/translation.
345   - Added format() to simplify the common task of converting a value 
346   (such as a number) to a string, with optional stream formatting 
347   parmatters. This uses the regular C++ stream API in its implementation.
348   (Daniel Elstner, Openismus)
349 * Glib::RefPtr: Deprecate clear(), replacing it with 
350   reset(), because people often do treemodel.clear() when they 
351   mean treemodel->clear(). reset() is consistent with std::auto_ptr<>.
352   But the method is still there so the compiler still can't help 
353   you to avoid the mistake.
354   (Murray Cumming)
355 * KeyFile: set_integer_list(),  set_boolean_list(), set_double_list() 
356   actually work now without crashing.
357   (Daniel Elstner, Openismus)
358 * gmmproc:
359   - Refuse to generate a wrapper for a construct-only 
360   property which is also write-only, and display a warning.
361   (Daniel Elstner, bug #436789)
362   - Added _DERIVES_INITIALLY_UNOWNED to sink floating 
363   references in constructor of classes that wrap 
364   GInitiallyUnowned-derived GTypes. Plus _INITIALLY_UNOWNED_SINK 
365   for hand-written constructors.
366   (Murray Cumming)
367 * Build:
368 - Fix build for glib 2.15 by including 
369   gtestutils.h instead of gmessages.h to get g_assert(), 
370   though I am angry that this API break has been allowed.
371   (Murray Cumming)
372 - Fix build for pre-releases of gcc 4.3 - also an include 
373   issue. (Sebastien Bacher, #498438)
374
375 2.14.2:
376
377 * Build: Hopefully fix the build on NetBSD-4.99.6/amd64.
378   Bug #386990. (was already in 2.12.7) (Murray Cumming)
379 * gmmproc: Added support for the new _CONFIGINCLUDE() macro.
380   (Armin Burgmeier)
381
382 2.14.1:
383
384 * Glib::wrap(): Don't fail when wrapping an interface that 
385   is implemented by an unrecognized type.
386   gmmproc-generated code now uses the new wrap_auto_interface(), 
387   so newly-generated source code will require this latest glibmm 
388   version.
389 * Increase version number check for glib.
390   (Rémi Cardona)
391
392 2.14:
393
394 Changes sinze 2.12:
395
396 * New Regex class, allowing string searching with regular expressions.
397   (Murray Cumming, Daniel Elstner)
398 * New KeyFile class.
399   (Rob Page, Jonathan Jongsma, Murray Cumming)
400 * Main: Added SignalTimeout::connect_seconds().
401   (Murray Cumming)
402 * OptionContext: Added get/set_summary(), get/set_description(), 
403   set_translation_domain() and set_translate_func().
404   (Jonathan Jongsma)
405 * Added Glib::get_user_special_dir(), get_user_data_dir(),
406   get_user_config_dir(), and get_user_cache_dir().
407   (Jonathan Jongsma, Murray Cumming)
408 * Improved documentation.
409   (Johannes Schmid, Jonathan Jongsma, Ralf Stephan)
410
411 2.14.0:
412
413 * Regex:
414   - Add escape_string().
415   - match_full(): Rename to match().
416   - match_all_full(): Rename to match_all().
417   - split_full(): Rename to split().
418
419 2.13.9:
420
421 * KeyFile: Added Added get_double(), set_double(), get_double_list() 
422   and set_double_list().
423   (Murray Cumming)
424
425 2.13.8:
426
427 * OptionContext: Added get/set_summary(), get/set_description(), set_translation_domain(),
428   and set_translate_func().
429   (Jonathon Jongsma)
430 * Documenation:
431   Added RegEx class documentation. (Johannes Schmid)
432   Show new API in 2.14.
433
434 2.13.7:
435
436 * Regex: Added a create() method and added default parameter values.
437   Added a simple example.
438 * Added  SignalTimeout::connect_seconds(), in addition to the existing 
439   SignalTimeout::connect(), as a wrapper of g_timeout_add_seconds().
440   Improveed the documentation.
441 * Added get_user_special_dir().
442   (Murray Cumming)
443
444 2.13.6:
445
446 * Added Glib::Regex, an API for doing regular expression search/matching.
447   This is not fully wrapped yet, but the simple versions of the API are there.
448   We need to write an example for this.
449   (Murray Cumming)
450
451 2.13.5:
452
453 * Correctly ifdef-out initialization of deprecated classes.
454   (Johannes Schmid, Openismus)
455 * Build: Cope with newer m4 versions. (Yselkowitz)
456
457 2.13.4:
458
459 * Correct initialization when using --disable-deprecated for reduced code-size 
460   on embedded devices. (Johannes Schmid, Openismus)
461 * Glib::ObjectBase::is_derived_() is now public, though it is still only for 
462   internal use. This allows us to do some optimization of default signal handlers and 
463   vfuncs.
464   (Armin Burgmeier, Openismus)
465 * Options: Don't overwrite default arguments. This change was lost in 
466   March 2006, but now it is back.
467   (Armin Burgmeier)
468 * Dispatcher: Several minor implementation improvements. (Daniel Elstner)
469 * ustring: Minor improvements. (Daniel Elstner)
470 * Documentation: Actually use the signals documentation again.
471   (Armin Burgmeier, Openismus)
472 * Build:
473   - Fix code generation when using the latest m4, and functions named 
474   mkstemp, as experienced on Ubuntu Feisty.
475   Bug #397167 (Dodji Seketeli, Daniel Elstner)
476   - helperlist.h: Avoid warnings about a shadowed member.
477   Bug #420316 from Bradley Bell.
478   - utility.h: Avoid a warning about a redundant declaration.
479   Bug #420339 from Bradley Bell.
480
481 2.13.3:
482
483
484 * Glib::ObjectBase::is_derived_() is now public, though it is still only for 
485   internal use. This allows us to do some optimization of default signal handlers and 
486   vfuncs.
487   (Armin Burgmeier, Openismus)
488 * Build:
489   - helperlist.h: Avoid warnings about a shadowed member.
490   Bug #420316 from Bradley Bell.
491   - utility.h: Avoid a warning about a redundant declaration.
492   Bug #420339 from Bradley Bell.
493 * gmmproc improvements:
494   - gmmproc: Allow () in property and signal docuemntation.
495   - gmmproc: Do not try to remove a common prefix from the 
496   C enam values, if there is no common prefix.
497   - enum.pl: Allow whitespace in front of an enum typedef. 
498   (Daniel Elstner)
499   - enum.pl: Fix an infinite loop.
500 * ObjectBase: Added connect_property_changed(), 
501   as an alternative to use when the property proxies are not 
502   available because GLIBMM_PROPERTIES_ENABLED is not defined.
503   (Murray Cumming)
504 * Value: When registering float parameters, use 
505   G_MAXFLOAT as the minimum, instead of G_MINFLOAT.
506   Likewise for doubles.
507   (Oliver Nittka)
508
509 2.13.2:
510
511 *Build:
512  - Fix for api-default-signal-handlers option.
513    Bug #357830 (Matt Hoosier)
514  - win32: Remove unused source file from Visual Studio project.
515    (Cedric Gustin)
516
517 2.13.1:
518
519 * KeyFile class added, wrapping GKeyFile, 
520   for parsing of .ini-style files.
521   (Rob Page)
522 * Added get_user_data_dir(), get_user_config_dir(), and 
523   get_user_cache_dir().
524   (Jonathon Jongsma)
525 * Support optional ifdef parameters in the .hg macros, 
526   to allow, for instance the --enable-atk=no option, 
527   to disable the build and use of the atkmm API, 
528   for use in embedded environments.
529   (Johannes Schimd, Murray Cuming, Openismus)
530 * Documentation: 
531   - Small ustring reference documentation improvement.
532   (Ralf Stephan)
533
534 2.12.0:
535
536 Changes sinze 2.10:
537 * Added the --enable-api-default-signal-handlers option, for use in 
538   embedded environments that have reduced resources. See configure --help 
539   for the other subsets.
540 * Value: Added init(const GValue*), so we can copy GValue instances 
541   of any type at runtime. Needed by the new branch of libgdamm.
542
543 2.11.3:
544
545 * Build: Added the --enable-api-default-signal-handlers option, for use in 
546   embedded environments that have reduced resources. See configure --help 
547   for the other subsets.
548
549 2.11.2:
550
551 * Date: Fix implementation of Glib::Date::set_time_current() so
552   that it doesn't set the date to Dec 31, 1969.
553   (Jonathon Jongsma)
554 * Value: Added init(const GValue*), so we can copy GValue instances 
555   of any type at runtime. Needed by the new branch of libgdamm.
556   (Murray Cumming)
557 * Added a #warning to warn about including X11/Xlib.h before a glibmm header, 
558   which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
559   (Murray Cumming)
560 * Build: 
561   - Quote some m4 macros to avoid warnings. Bugs (with patches) #347076 
562   and #347077
563   (Kevin McBride).
564   - Fix exporting of get/set_property() on mingw32-gcc.
565   (Cedric Gustin)
566
567
568
569
570 2.10.1
571
572 * Windows Build:
573  - Define GLIBMM_DLL when building with mingw32 or cygwin, 
574    because it is needed by gtkmm. Bug #309030
575  (Cedric Gustin)
576 * OptionGroup: Allow default values, by not initializing them all.
577   (Armin Burgmeier)
578 * Slight code size reduction by marking private functions as static.
579   (Murray Cumming)
580
581 2.10.0:
582
583 * Windows Build:
584  - ustring.h: Tag npos with GLIBMM_API, in order to
585    dllexport it on win32. Bug #332438.
586  - Updated MSVC++ build files and README, for MS Visual Studio 2005.
587  (Cedric Gustin)
588 * gmmproc code generator: 
589  - WRAP_METHOD() Take an extra optional argument: deprecated deprecationtext - 
590   so that we can insert the appropriate doxygen tag in the documentation, where 
591   the C documentation does not do it for us.
592
593 2.9.1:
594
595 * Date:
596   - Added set_time(time_t), set_time(GTimeVal), and deprecated  
597     set_time(GTime)
598   - Added set_time_current().
599   (Murray Cumming)
600 * Build: Added --enable-deprecated-api  option. When set to disabled, 
601   it does not build deprecated API. This reduces the size of the 
602   library, and might be useful for embedded devices.
603   (Murray Cumming)
604
605 2.8.2:
606
607 * Solaris build fix: Correct the detection 
608   of make. (Mark Rouchal)
609
610 2.8.1:
611
612 * Build: Check for glib 2.8.
613
614 2.8.0:
615
616 API additions since glibmm 2.6:
617
618 * GModule: Add BIND_LOCAL enum value.
619   (Bug #172748 from Phillip Neiswanger).
620 * MainContext Added signal_child_watch()
621   and examples/child_watch.
622   (Yair Hershkovitz)
623 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME, 
624   FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
625   (Murray Cumming)
626
627 2.7.3:
628
629 * Updated reference documentation from glib documentation.
630
631 2.7.2:
632
633 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME, 
634   FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
635 * build_filename() and build_path(): Now use the implementation 
636   from glib.
637
638 2.7.1:
639
640 * GModule: Add BIND_LOCAL enum value.
641   (Bug #172748 from Phillip Neiswanger).
642 * MainContext Added signal_child_watch()
643   and examples/child_watch.
644   (Yair Hershkovitz)
645 * Fixes from 2.6.2.
646
647 2.6.1:
648
649 * Interface::add_interface(): Disabled the check for a second call, 
650   introduced in 2.6.0, for now, because it stops some valid uses.
651   (Bryan Forbes)
652
653 2.6.0:
654
655 New stable version. Changes compare to glibmm 2.4.x:
656
657 * Added Option, OptionContext, OptionGroup for parsing of command-line arguments.
658 * Added filename_display_basename() and filename_display_name().
659 * Added setenv() and unsetenv().
660 * add_interface() methods will no longer give warnings if you 
661   call them twice.
662 * gmmproc:
663   - Now reuses C properties documentation.
664
665 2.5.6:
666
667 * add_interface() methods will no longer give warnings if you 
668 call them twice.
669 * gmmproc: Output properties documentation taken from the .defs.
670 * examples now build on AIX.
671   (Murray Cumming)
672 * MSVC++ .Net 2003 build fix. (Cedric Gustin)
673
674 2.5.5:
675
676 * Now builds with the following compilers, in addition to 
677 the existing GNU g++, and Intel compilers:
678 - SUN Forte CC 5.5
679 - IBM AIX xlC v7
680 - Tru64 C++ V6.5-042
681 - IRIX MIPSpro 7.4.2m
682   (Older versions of all these compilers might also work.)
683   (Murray Cumming, www.thewrittenword.com)
684 * Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
685   (Cedric Gustin)
686   
687 2.5.4:
688
689 Options:
690 * Added Option(GOptionGroup* cast_item) constructor,
691   needed by Gtk::Main.
692 * Added reference documentation.
693 (Murray Cumming)
694
695 2.5.3:
696
697 * Options:
698   - Allow parsing of boolean arguments (arguments with no value).
699   - Really use the short names.  
700   (Daniel Holbach, Murray Cumming)
701 * Added filename_display_basename() and filename_display_name().
702   (Murray Cumming)
703 * Added setenv() and unsetenv(). (Murray Cumming)
704 * Use static keyword to prevent exporting private API.
705   (Benoît Dejean)
706 * input example: Improvements and simplification. (Chris Vine) 
707
708 2.5.2:
709
710 * OptionEntry: Remove useless enum. (Murray Cumming)
711 * Documentation:
712   - examples: Added iochannel_stream example. (Chris Vine)
713   - reference: Generate more reference API from the C documentation, and
714     try to use the libstdc++ doxygen tags file to link to their 
715     documentation. (Murray Cumming)
716
717 2.5.1:
718
719 * OptionContext, OptionGroup, OptionEntry: Made the add_entry() methods 
720   type-safe and fixed several problems memory-management problems. This 
721   API is now worth looking at.
722
723 2.5.0:
724
725 * Added OptionContext, OptionGroup, and OptionEntry classes, for
726   parsing of command-line options. See examples/options/
727
728 2.4.4:
729
730 * Signals: Avoid crashes when disconnecting a signal when handling that signal.
731   (Murray Cumming, Martin Schulze)
732
733 2.4.3:
734
735 * Minor improvements to reference documentation. (Daniel Elstner)
736 * Minor Glib::Dispatcher improvements (Daniel Elstner)
737
738 2.4.2:
739
740 * Glib::Dispatcher: win32 implementation rewritten, and hopefully, improved.
741   (Daniel Elstner)
742 * Glib::ustring:
743   - Optimization and code-cleanup. (Daniel Elstner)
744   - Added reference documentation for constuctors. (Murray Cumming)
745 * Fixed some compiler warnings.
746   (Daniel Elstner)
747 * gmmproc: Some improvements for libgdamm. (Murray Cumming)
748
749
750 2.4.1:
751
752 * Build fixes for gcc 3.4.0.
753 * Doxygen not required when building from tarballs.
754   (Murray Cumming)
755
756
757 2.4.0:
758
759 Changes since 2.2.0:
760
761 * 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.
762 * When using pkg-config, you should check for "glibmm-2.4".
763 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other classes that inherit from SigC::Object.
764 * RefPtr:
765   - is_null() was removed, to encourage you to use "== 0" instead.
766   - operator=(CppObject*) was removed.
767 * The gtkmmproc code-generator is now gmmproc, and has several improvements to support gtkmm 2.4.
768 * Now uses improved libsigc++ 2.0 API.
769 * Added i18n.h and i18n-lib.h, which include the relevant
770   glib headers, which declare internationalization 
771   macros such as _().
772 * New methods:
773   Glib::spawn_close_id(), Glib::MainLoop::depth(),
774   Glib::Date::clamp_min(),  Glib::Date::clamp_max(). 
775 * Improved documentation.
776
777  
778 2.3.8:
779
780 * Fix crash when using Glib::Main signals.
781   (Martin Schulze)
782 * Corrected the configure-time SUN compiler check.
783   (Murray Cumming, Alexander Nedotsukov)
784
785 2.3.7:
786
787 * Added configure macros to detect SUN compiler oddities.
788 * Various SUN Forte C+ and g++ 3.4 (cvs) build fixes.
789   (Murray Cumming)
790 * gmmproc: Improved parsing of C docs.
791   (Hagen Moebius)
792
793 2.3.6:
794
795 * Added i18n.h and i18n-lib.h, which include the relevant
796   glib headers, which declare internationalization 
797   macros such as _(). (Murray Cumming)
798 * Added Glib::spawn_close_id(). (Murray Cumming)
799 * Added Glib::MainLoop::depth(). (Murray Cumming)
800 * Documentation: corrections to CHANGES (Martin Schulze).
801 * gmmproc: Can now handle "const const_iterator& iter"
802   parameter names without getting confused by 2 consts.
803   (Murray Cumming)
804
805 2.3.5:
806
807 * glibmm now uses libsigc++ 2 rather than libsigc++ 1.2.
808  
809 2.3.4:
810
811 * ListHandle/SListHandle (intermediate container types):
812   - Added a const_cast<> to allow lists of const elements.
813 * gmmproc: _WRAP_SIGNAL(): Added optional custom_c_callback 
814   parameter.
815   (Murray Cumming)
816 * WIN32: Build fixes, mostly merged from the 2.2 branch.
817   (Cedric Gustin) 
818  
819 2.3.3:
820
821 * gmmproc (code generator)
822   - properties: Make read-only properties have const accessors,
823     and add a second read-only const accessor for normal
824     properties. Wrap construct-only properties as read-only,
825     instead of ignoring them.
826   - vfuncs: Really generate const vfuncs when requested. Put
827     the method declaration directly into the .h file, so that
828     the doxygen documentation can be next to it.
829   - documentation:
830     - Remove mergecdocs configure option - always
831     merge the C docs, to avoid any risk of uploading or
832     releasing empty documentation. Just delete the *_docs.xml
833     files to make building from cvs faster.
834     - Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm
835     and other *mm projects, to get the perl path needed by
836     doxygen.
837     - Install beautify_docs.pl so it can be reused in gtkmm
838     and other *mm projects, instead of having lots of copies.
839 * Glib::ObjectBase: The default constructor, never before used,
840   now generates a custom GType, for use when creating new
841   implementations of Glib::Interfaces - for instance, see the
842   new custom tree model example in gtkmm.
843 * Glib::Date: Added clamp_min() and clamp_max().
844   (Murray Cumming)
845
846 * Documentation:
847   - Added reference documentation for MainLoop, MainContext, 
848     Source, and Date. (Alberto Paro)
849   
850 2.3.2:
851
852 * gmmproc (code generator):
853   - signal proxies have extra space to avoid << with templates.
854   - Added WRAP_METHOD_DOCS_ONLY() for reusing documentation even
855     when the method is hand-coded.
856   - _WRAP_SIGNAL(): Added optional no_default_handler parameter,
857     because some of the new GTK+ signals have no public default 
858     handler vfunc.
859 * Added Glib::init(), for use by non-GUI apps which need to 
860   use Glib::wrap().
861 * PropertyProxy: Can now be used with Interfaces.
862 * Documentation improvements, so that gtkmm docs link to glibmm
863   docs.
864   (Murray Cumming)
865
866 2.3.1:
867
868 * gmmproc changes needed by gtkmm 2.3.0
869   (Murray Cumming)
870 * examples updated and buildable and working,
871   without gtkmm code.
872   (J. Abelardo Gutierrez)
873
874 Changes in glibmm 2.3.0:
875
876 * Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm.
877   This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install this unstable library 
878   without the risk of breaking existing application.
879 * This does not yet require glib 2.3 because there has been no tarball release of that yet. For now, you
880   can use glibmm 2.3.0 with glib 2.2.x.
881 * When using pkg-config, you should check for "glibmm-2.4".
882 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other
883   classes that inherit from SigC::Object.
884 * RefPtr:
885   - is_null() was removed, to encourage you to use "== 0" instead.
886   - operator=(CppObject*) was removed.
887 * gtkmmproc is now gmmproc.
888 * All the glibmm bugfixes in gtkmm 2.2.x.