12.64.2: (stable):
2
3Glib:
4* build_filename(): Fix the template overload
5  (Kjell Ahlstedt) Issue #71 (Kalev Lember)
6
7Build:
8* Meson build: Install generate_extra_defs.h
9  (Kjell Ahlstedt) Issue #70 (Jan Alexander Steffens)
10
11
122.64.1: (stable):
13
14Glib:
15* Add missing #includes
16  (Kjell Ahlstedt) Issue #69 (Kalev Lember)
17
18
192.64.0 (stable):
20
21Glib:
22* Add get_user_runtime_dir()
23  (scx) Issue #57, merge request !14
24* Add get_host_name()
25  (scx) Issue #58, merge request !15
26* MainContext: Add push/pop/get_thread_default()
27  (Kjell Ahlstedt) Issue #56 (Yackie-Yang)
28* Add StdStringView and UStringView
29  Use them in build_filename()
30  (Thomas Holder, Kjell Ahlstedt) Issue #34
31* Regex: match(), match_all(): Deprecate rvalue string references
32  (Thomas Holder, Kjell Ahlstedt) Issue #66, merge request !26
33* Add Glib::canonicalize_filename()
34  (Kjell Ahlstedt) Issue #59 (Patrick Storz)
35* ustring: Fix insert(iterator, In, In)
36  (Thomas Holder) Merge request !19
37
38Gio:
39* DBus::Connection: Make the wrap() function thread-safe
40  (Kjell Ahlstedt) Issue #56 (Yackie-Yang)
41* DBus::Message::get_unix_fd_list(): Add refreturn
42  (Kjell Ahlstedt) Issue #68 (kr.woaini)
43
44gmmproc:
45* Add optional decl_prefix parameter to _CLASS_BOXEDTYPE,
46  _CLASS_BOXEDTYPE_STATIC, _CLASS_GOBJECT, _CLASS_INTERFACE,
47  _CLASS_OPAQUE_COPYABLE, _CLASS_OPAQUE_REFCOUNTED, _WRAP_GERROR
48  Used for adding GLIBMM_API or similar for MS Visual C++
49  (Chun-wei Fan)
50
51Build:
52* Add Meson support
53  (Chun-wei Fan, Kjell Ahlstedt) Merge request !28
54* Drop gendef from Windows builds
55  (Chun-wei Fan) Issue #12 (Mikhail Titov), merge request !30
56
57Documentation:
58* Correct spelling of spawn_async_with_pipes()
59  (Mike Fleetwood) Merge request !16
60* Glib::Binding: Several doc improvements
61  (Daniel Boles) Merge request !17
62* Glib::Binding: Explain why SlotTransform takes GValue*
63  (Kjell Ahlstedt) Issue #61 (Daniel Boles)
64* Regex: Note that Glib::ustring must be used in match methods
65  (Kjell Ahlstedt) Issue #66, merge request !26
66* Gio::AsyncResult: Improve the class description
67  (Kjell Ahlstedt) Issue #27 (Alberto Mardegan)
68
69
702.62.0 (stable):
71
72Glib:
73* Add ustring::make_valid()
74  (Krzysztof Piecuch) Bug #780075
75  (Martin Ejdestig) Merge request !11
76  Issue #40 (Tanu Kaskinen)
77* Use convert_return_gchar_ptr_to_*() in a couple of ustring methods
78  (Martin Ejdestig) Merge request !11
79* Add ustring::sprintf(), wrapping g_strdup_printf()
80  (Daniel Boles) Issue #21
81* Fix callback races in glibmm when GSource is destructed
82  (Dainis Jonitis) Issue #41
83* Checksum, Datetime, TimeZone: Add Glib::Value specializations
84  (Kjell Ahlstedt)
85* Property: Add const get_proxy() returning ReadOnly
86  Getting Proxy from ReadOnly is const
87  (Daniel Boles) Issue #44
88* Property: Update for compatibility with Gtk::Builder
89  (Kjell Ahlstedt)
90* Fix memory leak in Variant<std::tuple<>>::create()
91  (Van de Bugger, Kjell Ahlstedt) Issue #48
92* Deprecate TimeVal
93  (Kjell Ahlstedt)
94
95Gio:
96* Add Application::add_option_group()
97  (Kjell Ahlstedt Issue #46 (Patrick Storz)
98* DBus::Object: Fix refcounts in some vfuncs
99  (Kjell Ahlstedt)
100* Gio::DBus: Add ObjectProxy, ObjectSkeleton, ObjectManager,
101  ObjectManagerClient, ObjectManagerServer
102  (Kjell Ahlstedt) Issue #43 (Martin Ejdestig)
103* Drive, MountOperation, ThemedIcon, TlsDatabase, VolumeMonitor:
104  Fix ownership of some lists and arrays (Fixes memory leaks
105  and dangling pointers)
106  (Kjell Ahlstedt) Issue #50 (Gary Wang)
107* Add SocketControlMessage::add_deserialize_func()
108  (Kjell Ahlstedt) Issue #52 (Ankur deep jaiswal)
109
110gmmproc:
111* Update for new glib deprecation macros
112  (Kjell Ahlstedt)
113
114Build:
115* Require glib-2.0 >= 2.61.2
116  (Kjell Ahlstedt)
117
118Documentation:
119* Glib::init(), Gio::init(): Improve the documentation
120  (Kjell Ahlstedt) Issue #49 (Van de Bugger)
121* Glib::ustring can't always replace std::string
122  (Kjell Ahlstedt) Issue #47 (Patrick Storz)
123
124
1252.60.0 (stable):
126
127Glib:
128* Add DateTime::get_timezone()
129  Add KeyFile::get_locale_for_key()
130  Add TimeZone::get_identifier()
131  (Kjell Ahlstedt)
132* Add Value_RefPtrBoxed<>
133  Add Value<std::vector<string>> specializations and other Value
134  specializations that are necessary for _WRAP_PROPERTY
135  (Kjell Ahlstedt)
136* Object construction: Add custom class init and instance init functions
137  (Kjell Ahlstedt) Issue #33
138
139Gio:
140* Add AppInfo::launch_uris_async() and launch_uris_async()
141  Add DBusConnection::get_flags() and property_flags()
142  (Kjell Ahlstedt)
143* Settings: Add property_settings_schema()
144  (Kjell Ahlstedt)
145* TlsClientConnection: Deprecate property_accepted_cas()
146  (Kjell Ahlstedt)
147* ThemedIcon: Add create(const std::vector<Glib::ustring>& iconnames)
148  (Kjell Ahlstedt)
149* Remove NO_GTYPE from some _WRAP_ENUMs
150  (Kjell Ahlstedt) Issue #37 (Jan Tojnar)
151* TlsConnection: Deprecate rehandshake API
152  (Kjell Ahlstedt)
153* Application: Add signal_name_lost()
154  (Kjell Ahlstedt)
155
156gmmproc:
157* Add _IS_REFCOUNTED_BOXEDTYPE
158  (Kjell Ahlstedt)
159
160Build:
161* Require glib-2.0 >= 2.59.2
162  (Kjell Ahlstedt)
163
164
1652.58.1 (stable):
166
167gmmproc:
168* _WRAP_ENUM and _WRAP_GERROR: Add gtype_func parameter
169  (Kjell Ahlstedt)
170* docextract_to_xml.py: Add --exclude-file option.
171  (Kjell Ahlstedt)
172
173Documentation:
174* README: Add installation instructions
175  (Tapasweni Pathak) Merge request !10
176* Don’t use @retval on out args, use @param[out]
177  (Daniel Boles) Merge request !6
178
179
1802.58.0 (stable):
181
182This release is identical to 2.56.1.
183
184
1852.56.1 (stable):
186
187Glib:
188* ustring: Fix wchar conversion on macOS with libc++
189  (Clemens Lang) Bug #795338
190* Avoid compiler warnings from function pointer conversions
191  (Kjell Ahlstedt) Issue libsigcplusplus#1 (sharkcz)
192  (Kjell Ahlstedt) Issue libsigcplusplus#8 (db0451)
193
194Gio:
195* SocketClient: Take copy in RefPtrs for signal args
196  (Daniel Boles) Issue #28 (Jens Mühlenhoff)
197
198Build:
199* Require glib-2.0 >= 2.55.1
200  (Kjell Ahlstedt) Issue #29 (Mart Raudsepp)
201* Replace the Visual Studio project files with MSVC NMake project files
202  (Chun-wei Fan) Merge request !5
203
204
2052.56.0 (stable):
206
207Glib:
208* Threads::Private: Fix gobj().
209  (Kjell Ahlstedt) Bug #791711 (octoploid)
210* TimeoutSource: Use monotonic time consistently.
211  (Kjell Ahlstedt) Bug #792524 (Dainis Jonitis)
212* Add RefPtr::get().
213  (Kjell Ahlstedt) Bug #495762 (Hubert Figuiere)
214
215Gio:
216* TlsClientConnection: Deprecate set/get/property_use_ssl3().
217  (Kjell Ahlstedt)
218* DataInputStream: Deprecate read_until().
219  (Kjell Ahlstedt)
220* Application: Add property_resource_base_path_string().
221  This is a replacement for property_resource_base_path() which can't be
222  fixed without breaking ABI.
223  (Kjell Ahlstedt) Bug #787496 (Daniel Boles)
224* Application: Add three set_option_context_*() methods.
225  (Kjell Ahlstedt)
226* DesktopAppInfo: Add get_locale_string().
227  (Kjell Ahlstedt)
228
229Documentation:
230* Slightly elaborate Glib::Variant<Variant> docs.
231  (Daniel Boles) Bug #778219
232
233tests:
234* glibmm_variant: Don't use C++14 features when a C++11 compiler is used.
235  (Kjell Ahlstedt, Jonathan Wakely) Bug #787648 (Armin K.)
236* glibmm_interface_move test: Avoid unused function warnings.
237  (Murray Cumming)
238
239gmmproc:
240* _WRAP_METHOD: Accept optional list of exceptions in errthrow.
241  (Kjell Ahlstedt) Bug #787979 (Daniel Boles)
242* _WRAP_METHOD: Suppress the @return section in generated documentation
243  if return type is void.
244  (Kjell Ahlstedt) Bug #787978 (Daniel Boles)
245* Add _MEMBER_SET_STR macro, setter for strings.
246  (Pavlo Solntsev) Bug #793778
247
248
2492.54.1 (stable):
250
251Glib:
252* Variant: Don't use std::index_sequence from C++14.
253  (Kjell Ahlstedt, Jonathan Wakely) Bug #787648 (Armin K.)
254
255Documentation:
256* Note that Gio::Application::property_resource_base_path() shall not
257  be used. It has a bug that's hard to fix without breaking ABI.
258  (Kjell Ahlstedt) Bug #787496 (Daniel Boles)
259
260gmmproc:
261* Convert all property documentation to C++.
262  (Kjell Ahlstedt) Bug #787698 (Daniel Boles)
263
2642.54.0 (stable):
265
266Glib:
267* Added DBusObjectPathString and DBusSignatureString, for Variants with D-Bus object paths or D-Bus signatures,
268  and add Variant specializations for Variant<Glib::DBusObjectPathString>,
269  Variant<Glib::DBusSignatureString> and Variant<std::vector<Glib::DBusObjectPathString>>.
270  (Kjell Ahlstedt) Bug #785700
271* Variant: Add template specialization for std::tuple.
272  (Alexander Rössler) Bug #777791
273
274Gio:
275* ActionGroup: Add optional action_name parameters to some signals.
276  (Kjell Ahlstedt)
277* Settings: Add optional key parameter to the writable_changed signal.
278  (Kjell Ahlstedt)
279
280gmmproc:
281* Write signal flags to generated documentation
282  (Kjell Ahlstedt) Bug #785895 (Daniel Boles)
283* Write default values of properties to generated documentation
284  (Kjell Ahlstedt) Bug #785895 (Daniel Boles)
285* Warn for unmatched deprecations in signals and properties.
286  (Kjell Ahlstedt)
287* Accept curly braces in default values in _WRAP macros.
288  (Kjell Ahlstedt) Bug #783216 comment #13 (Daniel Boles)
289* Fix _WRAP_ENUM for enumerators with apostrophes.
290  (Kjell Ahlstedt)
291* Add new elements types for the docs_override:
292  substitute_type_name and substitute_enumerator_name.
293  (Kjell Ahlstedt) Bug #86864
294
295
2962.52.1 (stable):
297
298Gio:
299* TlsDatabase: Fix memory leak in a vfunc.
300  (Kjell Ahlstedt) Bug #783360
301
302Documentation:
303* Update docs of get_*_name().
304  (Daniel Boles)
305
306Build:
307* MacOS: Really correct build without gdesktopinfo.
308  (Kjell Ahlstedt) Bug #781947
309
3102.52.0 (stable):
311
312Gio:
313* UnixSocketAddress::create(): Remove the default value for the type
314  parameter to avoid ambiguity.
315  (Kjell Ahlstedt) Bug #782592
316
317Gio::DBus
318* Proxy: Wrap call() and call_sync() methods.
319  (Vyacheslav Yurkov) Bug #781818
320
321Documentation:
322* RefPtr: Clarify comment about undefined behaviour.
323  (Daniel Boles)
324
3252.51.7 (unstable):
326
327Glib:
328* SettingsSchemaKey: Add missing value/range methods.
329  (Daniel Boles) Bug #774903
330* Variant: Replace throw(std::bad_cast) with noexcept(false),
331  to fix the build with C++17.
332  See https://bugzilla.redhat.com/show_bug.cgi?id=1438766
333  (Murray Cumming)
334* VariantType: Deprecate first() and next(). Add get_item_types()
335  (Kjell Ahlstedt) Bug #775741
336
337Gio:
338* ActionMap: Add add_action_with_parameter() that takes a parameter type,
339  and deprecated the existing method, because it cannot work.
340  (Daniel Boles) Bug #774444
341* SimpleAction: Make set_state() public.
342  (Daniel Boles) Bug #777953
343
344Build:
345* MacOS: Correct build without gdesktopinfo.
346  (John Ralls) Bug #781947
347* Glib::Object: Suppress deprecation warning for g_object_newv() with glib 2.54.
348  (Kjell Ahlstedt)
349
350
3512.51.6 (unstable):
352
353This is version 2.51.6 of glibmm-2.24. Ignore versions 2.51.1 to 2.51.5 of
354unstable glibmm-2.52. Unstable glibmm-2.52 is now unstable glibmm-2.54,
355leaving the 2.51/52 version numbers again for use by stable glibmm-2.52.
356
357Glib:
358* Dispatcher:
359  - autodeduce the type of the fd field.
360  (Marcin Kolny) Bug #772074
361  - Don't cast a HANDLE to an int on Windows.
362  (Kjell Ahlstedt) Bug #772074
363* ustring: Add cbegin() and cend().
364  (Murray Cumming)
365
366Gio:
367* Action: Include variant.h in the heaer.
368  (Daniel Boles) Bug #777953
369* Application: get_default(): Correct the reference counting.
370  (Kjell Ahlstedt) Bug #779936
371* Settings:
372  - Really add set_enum() and set_flags().
373  (djb) Bug #774647
374  - Writable-change-event signal: Correct the type of the key parameter.
375  (Marcin Kolny) Bug #773977
376* SettingsSchemaSource: get_default(): Correct the refcounting.
377  (Marcin Kolny) Bug #774593
378
379Gio::DBus:
380* Proxy: Fix memory leak in get_cached_property_names().
381  (Kjell Ahlstedt) Bug #775210
382
383Documentation:
384* Glib::Variant: Improve documentation of maybe types.
385  (Daniel Boles) Bug #778219
386* Gio::ActionMap: Clarify doc of ActivateWithParameterSlot
387  (Daniel Boles)
388
389Build:
390* Visual Studio builds: "Install" the .pdb files
391  (Chun-wei Fan)
392
393
3942.50.0:
395
396No changes since 2.49.7.
397
3982.49.7:
399
400Gio
401* AppInfo: Add launch_default_for_uri_async().
402  (Murray Cumming)
403* Application::get_busy(): return the bool.
404  (Murray Cumming) Bug #770304
405* Drive: Add is_removable().
406  (Murray Cumming)
407* Settings:
408  - set_uiint(): Deprecate for set_uint().
409  - Add get/set_uint64().
410  - Add get/set_int64().
411  (Murray Cumming)
412* giomm.h: Add include for settingsschemasource.h
413  (Murray Cumming)
414
415Documentation:
416* Glib::OptionGroup: Improve the documentation of add_entry()
417  (Kjell Ahlstedt)
418
419
4202.49.5:
421
422Glib:
423* OptionContext: Wrap g_option_context_parse_strv()
424  (Kjell Ahlstedt)
425
426gmmproc:
427* Add DocsParser::remove_c_memory_handling_info()
428  (Kjell Ahlstedt)
429* Add missing objects to glib/gio_extra_objects.defs
430  (Kjell Ahlstedt)
431* Remove DocsParser::non_object_method_name()
432  (Kjell Ahlstedt)
433* swap() implementations: Use std::swap().
434  (Murray Cumming <murrayc@murrayc.com>
435
436Documentation:
437* Gio::SocketService: Update the class documentation
438  (Kjell Ahlstedt)
439
4402.49.4:
441
442glib:
443* Replace some use of some deprecated libsigc++ API.
444  (Murray Cumming)
445
446Build:
447* Really enable silent builds.
448  (Sebastian Geiger) Bug #768797
449
4502.49.2:
451
452Gio:
453* FilterInputStream: Added a constructor.
454  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
455* FilterOutputStream:
456  - Correct the property_base_stream() return type.
457  (Krzysztof Kosiński) Bug #572471
458  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
459* InputStream: Added a constructor, is_closed(), has_pending(),
460  set_pending(), clear_pending()
461  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
462* OutputStream: Added a constructor, is_closed(), is_closing(),
463  has_pending(), set_pending(), and clear_pending().
464  (Krzysztof Kosiński, Kjell Ahlstedt) Bug #572471
465* Pollable, InputStream, OutputStream: Return -1 on error in vfuncs.
466  (Kjell Ahlstedt)
467
468gmmproc:
469* Make h2def.py recognize some GDK_PIXBUF macros
470  (Kjell Ahlstedt)
471* Add optional argument err_return_value in _WRAP_VFUNC
472  (Kjell Ahlstedt)
473
474Build:
475* Visual Studio build files: Update projects
476  (Chun-wei Fan)
477
4782.49.1:
479
480gmmproc:
481* Discard unused m4 sections.
482  (Kjell Ahlstedt)
483* Add 'deprecated' option in _WRAP_ENUM and _WRAP_GERROR
484  (Kjell Ahlstedt)
485* _CLASS_GOBJECT(): Allow custom move operation implementations with
486  _CUSTOM_MOVE_OPERATION().
487  (Marcin Kolny) Bug #756593
488
489Gio:
490* Added ListModel, ListStoreBase and ListStore<>, and tests.
491  (Kjell Ahlstedt, Murray Cumming, Marcin Kolny)
492  Bug #755307
493* SocketAddress: Correct the constructor's implemention.
494  (Murray Cuming) Bug #766150 (Vladimir)
495
496Gio:DBus:
497* Proxy: allow using GDBusProxy* conversion outside DBus namespace
498
499Glib:
500* FileAtrributeInfoList, Checksum, Module, RefPtr:
501  Make operator bool explicit.
502  (Murray Cumming)
503* Property: Allow to set property nick, blurb, and flags.
504  (Marcin Kolny) Bug #755256
505* VariantBase: Add explicit operator bool(), deprecating
506  operator const void*.
507  (Murray Cumming)
508
509Documentation:
510* Examples: Use libsigc++ 2.9/10 and its slot/signal<R(Args...)> syntax.
511  (Murray Cumming)
512
5132.48.1:
514
515Build:
516* MacOS X: Add alternative #ifdefed code when thread_local
517  is not supported by the compiler.
518  (Tom Schoonjans) Bug #759791
519* Replace most typedefs with the C++11 using keyword.
520
5212.48.0:
522
523* No major changes compared to 2.47.92.
524
5252.47.92:
526
527* Adapt to libsigc++-2.0 2.8:
528  - using only the non-deprecated sigc::mem_fun() API.
529  (Kjell Ahlstedt)
530  - using std::ref instead of deprecated sigc::ref.
531  (Murray Cumming)
532  -  Correct bad uses of sigc::bind<1>.
533  (Murray Cumming)
534
535
536gmmproc:
537* defs generation: Mark deprecated signals and properties as such in the
538  generated .defs file.
539* gmmproc: Check if signals and properties are deprecated appropriately
540  (Kjell Ahlstedt)
541
542Build:
543* MSVC builds: Look for includes in include/gio-win32-2.0.
544  (Chun-wei Fan)
545
5462.47.6:
547
548Glib:
549* Add and uses Glib::c_str_or_nullptr().
550  (Kjell Ahlstedt) Bug #755245
551* Add some connect() overloads that move the sigc::slot.
552  (Kjell Ahlstedt)
553* Fix definition of VARIANT_TYPE_DICT_ENTRY to match header declaration
554  (Aurelien Jacobs) Bug #761046
555* Replace, via deprecation, ScopedPtr with make_unique_ptr_gfree().
556  (Murray Cumming) Bug #760223
557* SignalProxy: use variadic templates.
558  (Marcin Kolny)
559* ustring: Add move operators.
560  (Kjell Ahlstedt) Bug #760282
561*  Put deprecation ifdefs around aleady-deprecated GLIBMM_INITIALIZE_STRUCT.
562  (Murray Cumming)
563
564Gio:
565* FileInfo::list_attributes(): Make name_space optional.
566  (Murray Cumming)
567* Icon: Add serialize(), deserialize() and documentation of create().
568  (Kjell Ahlstedt)
569* PropertyBase: Make custom properties more flexible
570  (Kjell Ahlstedt) Bug #731484.
571* SocketConnectable: Add to_string().
572  (Kjell Ahlstedt)
573
574Gio::DBus::
575* Connection: Pass an empty bus name as nullptr.
576
577gmmproc:
578* Fix errthrow in _WRAP_VFUNC
579  (Kjell Ahlstedt) Bug #762437
580* Add NULL option to _WRAP_METHOD
581  (Kjell Ahlstedt)
582* h2def.py: Accept parameter names beginning with const.
583  (Kjell Ahlstedt)
584
585Build:
586* Use some more minor C++11 features.
587  (Murray Cumming)
588* Threads example: Fix build on Visual Studio
589  (Chun-wei Fan) Bug #760612
590* glibmmconfig.h.in: Fix Visual Studio 2013 builds.
591  (Chun-wei Fan) Bug #760612
592* Glib::ustring: fix -Wmisleading-indentation gcc 6 warning in public header.
593  (Aurelien Jacobs) Bug #760641.
594
595Other:
596* Reformat our hand-written C++ code with clang-format.
597  (Murray Cumming)
598
599
6002.47.4:
601
602Glib::
603* ustring: Don't allow comparison to 0.
604  (Kjell Ahlstedt) Bug #572978 (Armin Burgmeier)
605
606Gio:
607* ActionMap: Fix the ref count in lookup_action_vfunc().
608  (Kjell Ahlstedt) Bug #758813 (Aurimas Černius)
609
610Build:
611* Dispatcher: #include <mutex> in Windows builds.
612  (T Sailor) Bug #758894
613* Gio::Application: Destructor: Use noexcept in the implementation too.
614  (Murray Cumming) Bug #758798 (Émeric MASCHINO)
615* Fix the build with --disable-deprecated-api.
616  (Kjell Ahlstedt)
617
6182.47.3.1:
619
620* Use thread_local instead of (deprecated) Glib::Threads::Private.
621  (Murray Cumming, Kjell Ahlstedt)
622
6232.47.3:
624
625* Deprecate all of Glib::Threads, including Mutex, Lock, Thread, etc.
626* Deprecated Glib::ThreadPool.
627  (Murray Cumming, Kjell Ahlstedt)
628
6292.46.2:
630
631* ObjectBase, Object, Interface: Correct move constructors and move assignment
632  operators.
633  (Kjell Ahlstedt) Bug #756962
634
635
636Changes in 2.46 compared to 2.44:
637
638General:
639* Use, and require C++11, using features such as move operations, noexcept
640  auto, = delete, nulltpr, override.
641  (Murray Cumming, Kjell Ahlstedt))
642
643Glib::
644* RefPtr:
645  - Make it possible to stop use of RefPtr with certain classes.
646  (Kjell Ahlstedt)
647  - Make methods noexcept (C++11).
648  (Murray Cumming)
649  - Add move operations.
650  (Murray Cumming, Marcin Kolny, Kjell Ahlstedt)
651  * Add release():
652  (Marcin Kolny)
653* ObjectBase: Don't use std::auto_ptr (deprecated in C++11).
654  (Kjell Ahlstedt)
655* ObjectBase, Object, Interface, IOChannel, Markup: Add move operations
656  (Murray Cumming) Add C++11 move operations.
657  (Murray Cumming)
658* HelperList: fix iterator check in operator[]
659  (Maks Naumov)
660* Add SettingsSchema, SettingsSchemaKey and SettingsSchemaSource.
661  (Murray Cumming)
662* Add Glib::format_size().
663  (Kjell Ahlstedt)
664* Add get_user_special_dir(UserDirectory), deprecating
665  get_user_special_dir(GUserDirectory directory).
666  (Kjell Ahlstedt)
667* Threads::Thread: Use GThread only via a pointer.
668  Kjell Ahlstedt
669* VariantBase: Add is_castable_to().
670* VariantContainerBase: get_iter(): Accept casts of complicated types
671  containing object paths and DBus type signatures to Variant<> types
672  containing Glib::ustring and std::string.
673  (Kjell Ahlstedt)
674* Variant: Wrap handles and add get_data_as_bytes()
675  (Kjell Ahlstedt)
676* Added SignalProxyDetailed.
677
678Gio:
679* Application: Add the shutdown signal.
680  (Murray Cumming)
681* NetworkMonitor: Add get_network_metered() and property.
682  (Murray Cumming)
683* Settings: Add signal_changed(key).
684  (Kjell Ahlstedt, Murray Cumming)
685* Added SimpleIOStream.
686  (Kjell Ahlstedt)
687* SocketService: Add active property.
688  (Murray Cumming)
689* TlsClientConnection: Add copy_session_state().
690  (Murray Cumming)
691
692Gio::Dbus:
693* Connection::signal_subscribe(): Pass nullptr instead of "".
694  (Murray Cumming)
695
696gmmproc:
697* Generate C++11 move operations.
698  (Murray Cumming)
699* Mark all _CLASS_OPAQUE_REFCOUNTED classes as final (C++11).
700  (Murray Cumming)
701* generate_wrap_init.pl: Allow use of nested namespaces for whole module.
702  (Marcin Kolny)
703* _WRAP_METHOD: deprecated: Use G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS
704  per function, instead of one big undef [G|GDK|GTK]_DISABLE_DEPRECATED.
705  (Kjell Ahlstedt)
706* Add _IGNORE_PROPERTY() and _IGNORE_CHILD_PROPERTY() macros.
707  (Kjell Ahlstedt)
708* Add support for 'newin "n,m"' in some _WRAP macros.
709  (Kjell Ahlstedt)
710* _WRAP_SIGNAL: Add support for detail_name.
711  (Kjell Ahlstedt)
712* Fetch property documentation from the docs.xml file, if available there.
713  (Kjell Ahlstedt)
714
715Build:
716* MSVC Builds: Many improvements
717  (Chun-wei Fan)
718* Add missing GLIBMM_API for Interface
719  (Mikhail Titov)
720
721
7222.46.1 (stable):
723
724* gmmmproc: _CLASS_GOBJECT():
725  Move the "= delete"ed constructor and operator= to public, instead of private.
726  (Murray Cumming)
727
7282.46.0 (stable):
729
730Glib::
731* RefPtr: Make it possible to stop use of RefPtr with certain classes.
732  (Kjell Ahlstedt) Bug #755048
733* WeakRef: Use noexcept.
734  (Kjell Ahlstedt) Bug #583399.
735
736Gio:
737* Application: Remove bind/unbind_busy_property() because they are not
738  quite ready.
739  (Murray Cumming)
740
741Gio::Dbus:
742* Connection::signal_subscribe(): Pass nullptr instead of "".
743  (Murray Cumming)
744
7452.45.80 (unstable):
746
747Gio:
748* Application: Add bind/unbind_busy_property() and set_state_hint().
749  (Murray Cumming)
750* TlsClientConnection: Add copy_session_state().
751  (Murray Cumming)
752
753Build:
754* MSVC Builds: Require MSVC.Net 2013 for C++11 support.
755  (Chun-wei Fan) Bug #753271.
756* MSVC Builds: Adapt for recent source code changes.
757  (Chun-wei Fan) Bug #753271.
758* MSVC Builds: Improve Build Speed and Debugging Experience
759  (Chun-wei Fan)
760
761
7622.45.70 (unstable):
763
764Glib:
765* C++11: Add move operations to ObjectBase and Object.
766  (Murray Cumming)
767* C++11: RefPtr: Make methods noexcept.
768  (Murray Cumming)
769
770gmmproc:
771* C++11: Generate move operations.
772  (Murray Cumming)
773* C++11: IOChannel: move operations: Call the base sigc::trackable.
774  (Murray Cumming)
775* C++11: Markup: Add move operations
776  (Murray Cumming)
777* C++11: More use of = delete instead of private copy operations.
778  (Murray Cumming)
779* C++11: Use std::stoul instead of strtoul.
780  (Murray Cumming)
781
782Documentation:
783* Update configuration for Doxygen 1.8.9.1.
784  (Daniel Elstner)
785* Exclude bogus documentation symbols.
786  (Daniel Elstner)
787* Generate documentation for API all platforms.
788  (Daniel Elstner)
789
790
7912.45.52 (unstable):
792
793Glib::
794* C++11: Glib::ObjectBase, Object, Interface: Add move operators.
795  (Murray Cumming)
796* C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.
797  (Murray Cumming)
798
799Gio:
800* FileIcon: Remove unncessary IMPLEMENTS_INTERFACE.
801  (Murray Cumming)
802
803gmmproc:
804* _CLASS_GOBJECT(): Generate move operations.
805* _CLASS_INTERFACE(): Generate move operations.
806* _CLASS_BOXEDTYPE_STATIC(): Add move operations.
807* _CLASS_BOXEDTYPE_STATIC: Add explicit copy operations.
808* _CLASS_OPAQUE_COPYABLE(): Add move operations.
809* _CLASS_OPAQUE_COPYABLE: Generate static swap().
810* _CLASS_OPAQUE_REFCOUNTED: Use = delete for the default constructor.
811(Murray Cumming)
812
813
8142.45.50 (unstable):
815
816Glib:
817* RefPtr:
818  * Add move constructor and move assignment operator for castable types.
819    (Marcin Kolny) Bug 752812
820  * Add release():
821    (Marcin Kolny) Bug 752812
822  * move assignment operator: Use swap().
823    (Murray Cumming) Bug 752812
824
825Gio:
826* NetworkMonitor: Add get_network_metered() and property.
827  (Murray Cumming)
828* SocketService: Add active property.
829  (Murray Cumming)
830
831General:
832* C++11: Boxed types: Declare move operations as noexcept.
833  (Murray Cumming)
834
835Build:
836* Update Visual Studio project to Visual Studio 2013,
837  for C++11 support.
838  (Chun-wei Fan)
839* Improve gen_scripts.
840  (Kjell Ahlstedt)
841
842gmmproc:
843* generate_wrap_init.pl: Allow use of nested namespaces for whole module.
844  (Marcin Kolny) Bug 753013
845
846
8472.45.41 (unstable):
848
849Glib:
850* Undeprecate HelperList and List_Iterator because gtkmm-2.4 uses these
851  in its undeprecated API. However, all of gtkmm-2.4 is deprecated, so
852  you (Inkscape) shouldn't be using it anyway.
853  Bug #752797 (Adam Williamson)
854  (Murray Cumming)
855
8562.45.40 (unstable):
857
858Glib:
859* RefPtr: Add move constructor and move assignment operator.
860  (Murray Cumming)
861
862Gio:
863* Application: Add the shutdown signal.
864  (Murray Cumming) Bug #752600 (Ben)
865
866Build:
867* C++11: Use noexcept instead of throw().
868  (Murray Cumming)
869* C++11: Use "= delete" instead of private copy constructors/operator=.
870  (Murray Cumming)
871* C++11: Use nullptr instead of 0.
872  (Murray Cumming)
873* C++11: Use the override keyword.
874
875
8762.45.31 (unstable):
877
878Glib:
879* HelperList: fix iterator check in operator[]
880  (Maks Naumov) Bug #751530.
881
882Build:
883* Use (and require) C++11.
884  (Murray Cumming, Kjell Ahlstedt)
885* Use some simple C++11 syntax.
886  (Murray Cumming)
887* Fix the build with -Wshadow.
888  (Murray Cumming)
889
890gmmproc:
891* Generate code that uses some simple C++11 syntax.
892  (Murray Cumming)
893* _WRAP_SIGNAL: Accept apostrophes in a preceding comment.
894  (Kjell Ahlstedt)
895
896
8972.45.3 (unstable):
898
899* Add SettingsSchema, SettingsSchemaKey and SettingsSchemaSource.
900  (Murray Cumming)
901* Deprecate HelperList and SArray because nothing uses them.
902  (Murray Cumming)
903
904Build:
905* Don't disable more deprecation warnings than necessary
906  (Kjell Ahlstedt) Bug #750379.
907
908gmmproc:
909* _WRAP_METHOD: deprecated: Use G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS
910  per function, instead of one big undef [G|GDK|GTK]_DISABLE_DEPRECATED.
911  (Kjell Ahlstedt) Bug #750379
912* Remove GP_LIST, because nothing uses it.
913  (Murray Cumming)
914
915
9162.45.2 (unstable):
917
918Glib:
919* Add Glib::format_size().
920  (Kjell Ahlstedt) Bug #747311 (Zsolt Bölöny)
921* Add get_user_special_dir(UserDirectory), deprecating
922  get_user_special_dir(GUserDirectory directory).
923  (Kjell Ahlstedt) Bug #747311
924* Threads::Thread: Use GThread only via a pointer.
925  Kjell Ahlstedt (Bug #746533)
926* VariantBase: Add is_castable_to().
927* VariantContainerBase: get_iter(): Accept casts of complicated types
928  containing object paths and DBus type signatures to Variant<> types
929  containing Glib::ustring and std::string.
930  (Kjell Ahlstedt) Bug #747508.
931* Variant: Wrap handles and add get_data_as_bytes()
932  (Kjell Ahlstedt)
933* Added SignalProxyDetailed.
934
935Gio:
936* Settings: Add signal_changed(key).
937  (Kjell Ahlstedt, Murray Cumming) Bug #749034.
938* Added SimpleIOStream.
939  (Kjell Ahlstedt)
940
941Documentation:
942* API Reference: Remove generated " "You rarely need to use properties".
943  Some new glib and gtk+ classes (GSimpleIOStream, GtkModelButton,
944  GtkPopoverMenu) have no public set/get methods for their properties.
945  (Kjell Ahlstedt)
946* API Reference: Fix the version numbers in some @newin Doxygen commands.
947  (Kjell Ahlstedt)
948
949gmmproc:
950* Add _IGNORE_PROPERTY() and _IGNORE_CHILD_PROPERTY() macros.
951  (Kjell Ahlstedt)
952* Add support for 'newin "n,m"' in some _WRAP macros.
953  (Kjell Ahlstedt) Bug #748856 (Andrew Potter)
954* _WRAP_SIGNAL: Add support for detail_name.
955  (Kjell Ahlstedt) Bug #749034
956*  Fetch property documentation from the docs.xml file, if available there.
957  (Kjell Ahlstedt)
958* docextract_to_xml.py: Distinguish sections from properties.
959  (Kjell Ahlstedt)
960* docextract_to_xml.py: Add support for the --no-recursion option.
961  (Kjell Ahlstedt)
962
963Build:
964* Glib::ObjectBase: Don't use std::auto_ptr (deprecated in C++11).
965  (Kjell Ahlstedt) Bug #748630 (Hubert Figuiere)
966* Add missing GLIBMM_API for Interface
967  (Mikhail Titov) Bug #748719.
968
969
9702.44:
971
972API additions since 2.42:
973
974Glib:
975* Add Binding.
976  (Kjell Ahlstedt) Bug #738663.
977* OptionContext: Add get/set_strict_posix().
978  (Murray Cumming)
979
980Gio:
981* Application:
982  - Add get/set/unset_resource_base_path() and property.
983  - Add get_is_busy() and property.
984  (Murray Cumming)
985* File: Add replace_contents_bytes_aync().
986  (Murray Cumming)
987* InputStream: Add read_all_async() and read_all_finish().
988  (Murray Cumming)
989* MemoryInputStream: Add add_bytes().
990  (Murray Cumming)
991* Added NetworkMonitor.
992  (Murray Cumming)
993* Notification: Add set_priority() and enum NotificationPriority.
994  (Kjell Ahlstedt)
995* OutputStream: Add write_all_async() and write_all_finish().
996  (Murray Cumming)
997* Add Resource.
998  (Kjell Ahlstedt)
999* Add TcpWrapperConnection.
1000  (Murray Cumming)
1001
1002Gio::DBus
1003* InterfaceInfo: Add cache_build() and cache_release().
1004  (Murray Cumming)
1005
1006
10072.44.0 (stable):
1008
1009Gio:
1010* Action, ActionGroup: Avoid memory leaks in funcs.
1011  (Kjell Ahlstedt) Bug #705124
1012
1013gmmproc:
1014* _WRAP_VFUNC(): Add keep_return parameter.
1015  (Kjell Ahlstedt) Bug #705124
1016
1017
10182.43.91 (unstable):
1019
1020Glib:
1021* OptionContext: Add get/set_strict_posix().
1022  (Murray Cumming)
1023
1024Gio:
1025* Application:
1026  - Add get/set/unset_resource_base_path() and property.
1027  - Add get_is_busy() and property.
1028  (Murray Cumming)
1029* File: Add replace_contents_bytes_aync().
1030  (Murray Cumming)
1031* InputStream: Add read_all_async() and read_all_finish().
1032  (Murray Cumming)
1033* MemoryInputStream: Add add_bytes().
1034  (Murray Cumming)
1035* OutputStream: Add write_all_async() and write_all_finish().
1036  (Murray Cumming)
1037
1038Gio::DBus
1039* InterfaceInfo: Add cache_build() and cache_release().
1040  (Murray Cumming)
1041
1042
1043
10442.43.90 (unstable):
1045
1046Glib:
1047* Error::register_init(): Call Glib::wrap_register_init().
1048  (Kjell Ahlstedt) Bug #743466 (Mike Fleetwood).
1049* OptionGroup:
1050  - Fix enable/disable bool option pairs.
1051  (Kjell Ahlstedt) Bug #744854 (Tom Schoonjans)
1052  - Fix memory leaks
1053  (Kjell Ahlstedt) Bug #745173.
1054  - Don't use deprecate g_option_group_free().
1055  (Kjell Ahlstedt)
1056* Value: Deprecate Value<char>, add Value<signed char>.
1057  Because g_value_[get,set]_char() are deprecated in favour of
1058  g_value_[get,set]_schar().
1059  (Kjell Ahlstedt)
1060
1061Gio:
1062* Application: Deprecate property_action_group().
1063  (Kjell Ahlstedt)
1064* Notification: Add set_priority() and enum NotificationPriority.
1065  (Kjell Ahlstedt)
1066* Add TcpWrapperConnection.
1067  (Murray Cumming)
1068* UnixSocketAddress: Deprecate property_abstract().
1069  (Kjell Ahlstedt)
1070
1071gmmproc:
1072* Fix error messages in glib and gio by removing unnecessary _IGNORES().
1073  (Kjell Ahlstedt)
1074* h2def.py: Remove *_DEPRECATED_IN_*_*_FOR(*) prefixes with white space.
1075  (Kjell Ahlstedt)
1076* Put DOXYGEN_SHOULD_SKIP_THIS around *_Class prototypes.
1077  To workaround a doxygen bug, to fix the genereated DevHelp search index.
1078  (Murray Cumming) Bug #743918
1079
1080
10812.43.3 (unstable):
1082
1083Glib:
1084* Binding: Rename and change BindingTransformSlot to SlotTransform.
1085  (Kjell Ahlstedt) Bug #738663.
1086* Add SlotSpawnChildSetup.
1087  (Kjell Ahlstedt) Bug #528285.
1088
1089Documentation:
1090* Resource: Suppress incorrect doxygen links.
1091  (Kjell Ahlstedt)
1092
1093
10942.43.2 (unstable):
1095
1096Gio:
1097* Added NetworkMonitor.
1098  (Murray Cumming)
1099* UnixFDList, UnixFDMessage: Correct array lengths in steal_fds()
1100  (Kjell Ahlstedt) Bug #741365 (Matthew Balkam)
1101
1102gmmproc:
1103* Don't make one very long line for the enum documentation.
1104  (Kjell Ahlstedt)
1105* Improve the conversion of Since to @newin.
1106  (Kjell Ahlstedt)
1107* Add an empty line after @newin where it's missing
1108  (Kjell Ahlstedt)
1109
1110
11112.43.1 (unstable):
1112
1113gmmproc:
1114* Tidy up the generation of enum docs
1115  (Kjell Ahlstedt)
1116* _WRAP_GERROR: Add documentation to the generated enum Code.
1117  (Kjell Ahlstedt)
1118* Change messages that MS Visual Studio can misunderstand.
1119  (Kjell Ahlstedt)
1120* Warn when an ignored method or signal doesn't exist.
1121  (Marcin Kolny) Bug #737212.
1122
1123Glib:
1124* Add Binding.
1125  (Kjell Ahlstedt) Bug #738663.
1126* Checksum::ChecksumType: Remove erroneous documentation
1127  (Kjell Ahlstedt)
1128* Property: Add some documentation.
1129  (Kjell Ahlstedt) Bug #523043.
1130
1131Gio:
1132  Add Resource.
1133  (Kjell Ahlstedt)
1134
1135
11362.42:
1137
1138API additions since 2.40:
1139
1140* Add Permission and SimplePermission.
1141  (Juan R. García Blanco) Bug #732436
1142* Add support for GtkContainer child properties.
1143  (Juan R. García Blanco)
1144
1145
11462.42.0 (stable):
1147
1148Gio:
1149* Notification: Deprecate set_urgent().
1150  (Murray Cumming)
1151
1152Tools:
1153*  h2def.py: fixed generator in case of inline functions.
1154   (Marcin Kolny) Bug #736427
1155
1156Build:
1157* Update and overhaul of Visual Studio 2005 project build files.
1158 (Chun-wei Fan)
1159* Fixes for  Visual Studio 2008 and 2010 project build files.
1160 (Chun-wei Fan)
1161* Fix ustring for Visual Studio Builds.
1162 (Chun-wei Fan) Bug #736720
1163* Visual Studio Builds: Add "install" project.
1164  (Chun-wei Fan)
1165* Fix tests in Visual Studio.
1166  (Chun-wei Fan) Bug #736778
1167
11682.41.4 (unstable):
1169
1170gmmproc:
1171* Added parameter exception_handler in _WRAP_VFUNC().
1172  (Marcin Koln) Bug #735132
1173* Better error checks in some _WRAP_* macros.
1174  (Kjell Ahlstedt)
1175
1176Build:
1177* Update and overhaul of Visual Studio 2010 and Visual Studio 2008
1178  project build files.
1179  (Chun-wei Fan)
1180* Gio::DBus: Don't use parameter name 'interface' to fix the build with MinGW.
1181  (Kjell Ahlstedt) Bug #735137.
1182
1183
11842.41.3 (unstable):
1185
1186Documentation:
1187* Network example:
1188  - Use Glib::OptionEntry and friends
1189  (Kjell Ahlstedt)
1190  - Network example: Add --use-ipv6 command line option
1191  (Shashank) Bug #734094.
1192
11932.41.2 (unstable):
1194
1195Gio:
1196* Menu: Allow detailed_action == null
1197  (Kjell Ahlstedt) Bug #733203 (Hubert Figuiere)
1198* Add Permission and SimplePermission.
1199  (Juan R. García Blanco) Bug #732436
1200
1201Glib:
1202* Make custom interface properties instance data.
1203  (Kjell Ahlstedt) Bug #732746
1204* PropertyBase: Use g_object_notify_by_pspec() instead of g_object_notify()
1205  (Povilas Kanapickas) Bug #731484
1206
1207gmmproc:
1208* Add support for GtkContainer child properties.
1209  (Juan R. García Blanco)
1210*  _WRAP_METHOD: Allow multi-word parameter types such as unsigned int.
1211  (Kjell Ahlstedt)
1212
1213
12142.41.1 (unstable):
1215
1216Gio:
1217* Application: Deprecate set_action_group().
1218  (Kjell Ahlstedt)
1219* DesktopAppInfo: Deprecate set_desktop_env().
1220  (Kjell Ahlstedt)
1221* Settings:  Deprecate list_schemas(), range_check() and
1222  property_schema().
1223  (Kjell Ahlstedt)
1224* TlsConnection: Deprecate [set|get]_use_system_certdb()
1225  and property_use_system_certdb().
1226  (Kjell Ahlstedt)
1227* VolumeMonitor: Deprecate adopt_orphan_mount().
1228  (Kjell Ahlstedt)
1229
1230Glib:
1231* Keyfile: Deprecate one of the load_from_dirs() methods.
1232  (Kjell Ahlstedt)
1233* ValueArray: Deprecated.
1234  (Kjell Ahlstedt)
1235
1236tests:
1237* Test custom properties and an interface with properties.
1238  (José Alburquerque) Bug #697229
1239
1240Documentation:
1241*  Add a blank line after @deprecated and @newin to help doxygen.
1242  (Kjell Ahlstedt)
1243
1244
12452.41.0 (unstable):
1246
1247Gio:
1248* Application:
1249  - Add add_main_option_entry() and enum OptionType.
1250  (Kjell Ahlsted) Bug #727822.
1251  - Add add_main_option_entry() taking a slot parameter
1252  (Kjell Ahlsted) Bug #727822.
1253* Add SocketSource, SignalSocket and Socket::create_source().
1254  (Kjell Ahlsted) Bug #725281.
1255
1256Documentation:
1257* examples/network: Use SocketSource and SignalSocket.
1258  (Kjell Ahlstedt)
1259
1260Build:
1261* gmmproc: Don't interpret a comma as the end of a deprecation message.
1262  (Kjell Ahlstedt)
1263
1264
12652.40:
1266
1267API additions since 2.38:
1268
1269Glib:
1270* Keyfile: Add save_to_file().
1271  (Murray Cumming)
1272* Add VariantDict.
1273  (Murray Cumming)
1274
1275Gio:
1276* Action: Add parse_detailed_name() and parse_detailed_name_variant().
1277  (Kjell Ahlstedt)
1278* Application: Add the handle-local-options signal.
1279  (Murray Cumming)
1280* ApplicationCommandline: Add get_options_dict().
1281* MenuModel: Add signal_items_changed()
1282  (Kjell Ahlstedt)
1283* MemoryInputStream: Add add_data() taking a sigc::slot,
1284  with a test.
1285  (Kjell Ahlstedt) Bug #609946 (Daniel Elstner)
1286* Add Notification.
1287  (Kjell Ahlstedt) Bug #722896.
1288* Settings: Add get_user_value() and get_default_value().
1289  (Murray Cumming)
1290* Socket: Add get/set_option().
1291  (Murray Cumming)
1292* TlsInteraction: Add invoke_request_certificate(),
1293  request_certificate(), request_certificate_async() and
1294  request_certificate_finish().
1295  (Murray Cumming)
1296
1297
12982.40.0 (stable):
1299
1300* VariantType: Fix typo in VARIANT_TYPE_BYTESTRING_ARRAY value.
1301  (Murray Cumming)
1302* gmmproc: Small improvement of enum documentation
1303  (Kjell Ahlstedt)
1304* Windows Update the visual Studio build files.
1305  (Chun-wei Fan)
1306
13072.39.93 (unstable):
1308
1309Glib:
1310* Keyfile: Add save_to_file().
1311  (Murray Cumming)
1312* Add VariantDict.
1313  (Murray Cumming)
1314* Variant: Remove the now-unnecessary local g_variant_parse_error_quark().
1315  (Murray Cumming) Bug #727554 (Antoine Jacoutot)
1316
1317Gio:
1318* Application: Add the handle-local-options signal.
1319* ApplicationCommandline: Add get_options_dict().
1320* Settings: Add get_user_value() and get_default_value().
1321  (Murray Cumming)
1322* Socket: Add get/set_option().
1323  (Murray Cumming)
1324* TlsInteraction: Add invoke_request_certificate(),
1325  request_certificate(), request_certificate_async() and
1326  request_certificate_finish().
1327  (Murray Cumming)
1328
1329Build:
1330* h2def.py:
1331  - Handle *_DEPRECATED_IN_* and AVAILABLE_IN_* with 0 digits.
1332  - Also strip *_DEPRECATE_IN_*_FOR () without a space.
1333  (Murray Cumming)
1334* Visual Studio Projects: Update giomm Projects.
1335  (Chun-wei Fan)
1336
1337
13382.39.92 (unstable):
1339
1340Gio:
1341* Application: Add add_main_option_entry() and add_option_group().
1342  (Murray Cumming)
1343
1344Documentation:
1345* Glib::ustring: Say more clearly that it must be only UTF-8.
1346  (Kjell Ahlstedt) Bug #681560 (vurentjie)
1347
1348Build:
1349* win32: Surround content_type_get_symbolic_icon() with ifdefs.
1350  (Giuseppe Penone)
1351
1352
13532.39.91 (unstable):
1354
1355Documenation:
1356* Improve Gio::Socket documentation.
1357  (Tomasz Jankowski, Murray Cumming)
1358
13592.39.3 (unstable):
1360
1361Gio
1362* Action:
1363  - Add parse_detailed_name() and parse_detailed_name_variant().
1364    (Kjell Ahlstedt)
1365  - Fix activate(const Glib::Variant<T_Value>& value).
1366    (Kjell Ahlstedt) Bug #722896
1367* MenuModel: Add signal_items_changed()
1368  (Kjell Ahlstedt)
1369* MemoryInputStream: Add add_data() taking a sigc::slot,
1370  with a test.
1371  (Kjell Ahlstedt) Bug #609946 (Daniel Elstner)
1372* MenuModel: Add signal_items_changed()
1373  (Kjell Ahlstedt)
1374* Add Notification.
1375  (Kjell Ahlstedt) Bug #722896.
1376
1377Documentation:
1378* Fix some doxygen warnings.
1379  (Kjell Ahlstedt)
1380* Don't change NULL to 0 in docs, when it's part of a longer name.
1381  (Kjell Ahlstedt)
1382* OptionContext: Add API documentation based on the C docs.
1383  (Murray Cumming)
1384
1385
13862.39.3 (unstable):
1387
1388* Documentation improvements.
1389  (Kjell Ahlstedt)
1390* Fix a test on IPv6 systems.
1391  (Adam Sampson)
1392
1393
13942.38.1 (stable):
1395
1396Build:
1397* Gio::ActionGroup: Remove a nonsensical check that
1398  clang complains about, correctly.
1399  (Murray Cumming) Bug #709963 (Johannes Meng, David Evans)
1400
1401Documentation:
1402* Gio::content_type_*(): Add a link from Gtk::AppChooser.
1403  (Kjell Ahlstedt)
1404* giomm_tls_client test: Add some comments
1405  (Kjell Ahlstedt)
1406
1407
1408Changes in 2.38 compared to 2.36:
1409
1410Glib:
1411* Object: Add interfaces to custom types before class_init.
1412  This deprecates the use of Glib::Object as a base class
1413  anywhere but in the last in the list of base classes when
1414  implementing an interface, such as TreeModel or
1415  CellRenderer.
1416  Having it, for instance, as the first base class,
1417  is unfortunately likely to break with glib 3.40.
1418  (Kjell Ahlstedt) Bug #697229
1419* Use std::memset() instead of GLIBMM_INITIALIZE_STRUCT
1420  (Because it causes compiler warnings with --std=c++ with g++,
1421  because that defines __STRICT_ANSI__.) and deprecate
1422  GLIBMM_INITIALIZE_STRUCT.
1423  (Kjell Ahlstedt)
1424* ByteArray:
1425  - Fix refcount problems.
1426    (Krzesimir Nowak)
1427  - ByteArray: Add some tests for methods returning self.
1428    (Krzesimir Nowak)
1429* DateTime: Fix compare() and equal().
1430  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)
1431* Regex: Add get_max_lookbehind().
1432  (Murray Cumming)
1433* Variant: Fix memory leaks.
1434  (Kjell Ahlstedt) Bug #704851 (xanm)
1435
1436Gio:
1437* Action:
1438  - get_state() and get_state_hint() now return something.
1439    We choose not to consider this an ABI break because these
1440    methods were impossible to use for anything useful before.
1441   (Andrew Potter) Bug #690134.
1442  - Add get_state_bool() and change_state(bool),
1443    to make it easier to deal with toggle actions.
1444    However, we might add a whole derived convenience class for these
1445    instead.
1446    (Murray Cumming, Kjell Ahlstedt)
1447  - Add create_radio_string() and create_radio_integer() for
1448    radio items, though we might change this API lots.
1449    (Murray Cumming)
1450  - Add name_is_valid() and print_detailed_name().
1451    (Murray Cumming)
1452  - Add an activate() method that takes no parameter.
1453    (Murray Cumming)
1454  - print_detailed_name(): Remove the action_name parameter.
1455    (Murray Cumming)
1456  - print_detailed_name() Make this templated.
1457   (Murray Cumming)
1458  - Make get_state() templated.
1459    (Murray Cumming)
1460  - get_state_hint(): Correct a check.
1461    (Murray Cumming)
1462  - Add templated change_state() and activate().
1463    (Murray Cumming)
1464* Application: Add mark/unmark_busy().
1465  (Murray Cumming)
1466* ActionGroup:
1467  - Add templated getters.
1468    (Murray Cumming)
1469  - activate_action(): Add a method overload
1470    that takes no parameter parameter.
1471    (Murray Cumming)
1472* ActionMap:
1473  - Add add_action(name, slot).
1474    This is a convenience method similar to
1475    g_action_map_add_action_entries() in C.
1476    (Murray Cumming, Kjell Ahlstedt)
1477  - Add add_action_radio_string() and add_action_radio_integer()
1478    for radio items, though we might change this API lots.
1479    (Murray Cumming)
1480* DesktopInfo: Add list_actions(), launch_action() and get_action_name().
1481  (Murray Cumming)
1482* File:
1483  - Add measure_disk_usage() and measure_disk_usage_async().
1484    (Murray Cumming)
1485  - Add trash_async(), trash_finish(), make_directory_async()
1486    and make_directory_finish().
1487    (Murray Cumming)
1488* Menu: Add remove_all().
1489  (Murray Cumming)
1490* MenuItem:
1491  - Add set/unset_icon().
1492    (Murray Cumming)
1493  - Reimplement the constructors.
1494    (Murray Cumming) Bug #705199 (Pete Woods)
1495  - Add set_action(), unset_target() and
1496    unset_action_and_target().
1497    (Murray Cumming)
1498  - MenuItem: get/set_attribute(): Deprecated for
1499    get/set_attribute_value() methods.
1500    (Murray Cumming)
1501  - Add insert/append/prepend_section() with no label parameter.
1502   (Murray Cumming) Bug #702456 (Aurimas Černius)
1503* Settings:
1504  - Add create_action().
1505    (Murray Cumming)
1506  - Add get/set_uint().
1507    (Murray Cumming)
1508* SimpleAction:
1509  - Make set_state() protected.
1510    (Murray Cumming)
1511  - add_action() now takes a slot with no parameter.
1512    Added add_action_with_parameter().
1513    (Murray Cumming)
1514  - set_enabled(): Add default parameter value.
1515    (Murray Cumming)
1516  - Add constructors and create_bool() methods that take a bool instead of
1517    a VariantBase for the state, to make it easier to deal with toggle actions.
1518    However, we might add a whole derived convenience class for these
1519    instead.
1520    (Murray Cumming)
1521* SimpleActionGroup:
1522  - lookup(): Add a const version and use refreturn.
1523    (Murray Cumming)
1524  - Deprecate all methods, because they just call methods in
1525    the base ActionMap. The C functions are now deprecated too.
1526    See glib bug #705600 .
1527    (Murray Cumming)
1528* Add VariantParseError.
1529  Because it is thrown by GtkBuilder, at least for now.
1530  (Murray Cumming
1531
1532Gio::DBus:
1533* Add InterfaceSkeleton.
1534  (José Alburquerque)
1535
1536Build:
1537* Port tools/defs_gen to Python 3.
1538  (Kjell Ahlstedt) Bug #690969
1539* tools/h2def.py: Handle functions with Handle *_DEPRECATED_IN_*_FOR (*).
1540  (Murray Cumming)
1541* Update Visual Studio Projects
1542  (Chun-wei Fan)
1543* Glib::TypeTraits<>: Avoid warnings when compiling with -Wcast-qual.
1544  (Kjell Ahlstedt) Bug #704640 (Aurimas Černius)
1545* enums.pl: fixed multi-argument defines as enum values.
1546  (Marcin Kolny) Bug #705113
1547* Move to a generated ChangeLog.
1548  (José Alburquerque)
1549
1550gmmproc:
1551* Pass NULL to C function calls for optional empty strings.
1552  (José Alburquerque) Bug #686909. Bug #702456
1553* Add parameter return_value in _WRAP_VFUNC.
1554  (Marcin Kolny) Bug #705699.
1555* Fix _WRAP_SIGNAL with 'ifdef' and 'deprecated'.
1556  (Kjell Ahlstedt)
1557* docextract_to_xml.py: Add '&rArr;' to the list of escape sequences.
1558  (José Alburquerque)
1559* Add _WRAP_ENUM_DOCS_ONLY() and simplify enum docs process.
1560  (José Alburquerque) Bug #703155
1561*  gmmproc: Use GMMPROC_RETURN_MISMATCHES environment variable.
1562  (José Alburquerque)
1563* Write glibmm version in generated files.
1564  (Kjell Ahlstedt) Bug #697835 and Bug #700495
1565
1566Documentation:
1567* gmmproc: Add docs to the default constructor of _CLASS_OPAQUE_COPYABLE.
1568  mentioning that the constructed object is invalid.
1569  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)
1570
1571
1572
15732.38.0 (stable):
1574
1575Glib:
1576* ByteArray:
1577  - Fix refcount problems.
1578  (Krzesimir Nowak)
1579  - ByteArray: Add some tests for methods returning self.
1580  (Krzesimir Nowak)
1581
1582Gio
1583* Action:
1584  - Add an activate() method that takes no parameter.
1585  (Murray Cumming)
1586  - print_detailed_name(): Remove the action_name parameter.
1587  (Murray Cumming)
1588* ActionGroup: activate_action(): Add a method overload
1589  that takes no parameter parameter.
1590  (Murray Cumming)
1591* ActionMap: Fix a reference-counting problem.
1592  (Murray Cumming)
1593* MenuItem:
1594  - Add set_action(), unset_target() and
1595  unset_action_and_target().
1596  (Murray Cumming)
1597  - MenuItem: get/set_attribute(): Deprecated for
1598    get/set_attribute_value() methods.
1599  (Murray Cumming)
1600* Settings: Add create_action().
1601  (Murray Cumming)
1602
1603
16042.37.93 (unstable):
1605
1606Gio
1607* ActionMap: lookup_action(): Fix the reference counting.
1608  (Murray Cumming)
1609* File: Add measure_disk_usage() and measure_disk_usage_async().
1610  (Murray Cumming)
1611* Settings: Add get/set_uint().
1612  (Murray Cumming)
1613* Add VariantParseError.
1614  Because it is thrown by GtkBuilder, at least for now.
1615  (Murray Cumming
1616
1617Build:
1618* Port tools/defs_gen to Python 3.
1619  (Kjell Ahlstedt) Bug #690969
1620* tools/h2def.py: Handle functions with Handle *_DEPRECATED_IN_*_FOR (*).
1621  (Murray Cumming)
1622
16232.37.7 (unstable):
1624
1625Gio:
1626* Menu: Add insert/append/prepend_section() with no label parameter.
1627  (Murray Cumming) Bug #702456 (Aurimas Černius)
1628
1629gmmproc:
1630* Pass NULL to C function calls for optional empty strings.
1631  (José Alburquerque) Bug #686909. Bug #702456
1632* Add parameter return_value in _WRAP_VFUNC.
1633  (Marcin Kolny) Bug #705699.
1634
1635Build:
1636* Update Visual Studio Projects
1637  (Chun-wei Fan)
1638
1639
16402.37.6 (unstable):
1641
1642Gio:
1643* Action:
1644  - Make get_state() templated.
1645    (Murray Cumming)
1646  - get_state_hint(): Correct a check.
1647    (Murray Cumming)
1648  - Add templated change_state() and activate().
1649    (Murray Cumming)
1650  - print_detailed_name() Make this templated.
1651     (Murray Cumming)
1652* ActionGroup: Add templated getters.
1653  (Murray Cumming)
1654* ActionMap: add_action_radio_*(): Use better Slot types.
1655  (Murray Cumming)
1656* SimpleAction:
1657  - Make set_state() protected.
1658   (Murray Cumming)
1659  - add_action() now takes a slot with no parameter.
1660    Added add_action_with_parameter().
1661    (Murray Cumming)
1662* SimpleActionGroup:
1663  - lookup(): Add a const version and use refreturn.
1664    (Murray Cumming)
1665  - Deprecate all methods, because they just call methods in
1666    the base ActionMap. The C functions are now deprecated too.
1667    See glib bug #705600 .
1668    (Murray Cumming)
1669
1670gmmproc:
1671* Fix _WRAP_SIGNAL with 'ifdef' and 'deprecated'.
1672  (Kjell Ahlstedt)
1673
1674
16752.37.5 (unstable):
1676
1677Glib
1678* Object: Add interfaces to custom types before class_init.
1679  This deprecates the use of Glib::Object as a base class
1680  anywhere but in the last in the list of base classes when
1681  implementing an interface, such as TreeModel or
1682  CellRenderer.
1683  Having it, for instance, as the first base class,
1684  is unfortunately likely to break with glib 3.40.
1685  (Kjell Ahlstedt) Bug #697229
1686* DateTime: Fix compare() and equal().
1687  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)
1688* Regex: Add get_max_lookbehind().
1689  (Murray Cumming)
1690* Variant: Fix memory leaks.
1691  (Kjell Ahlstedt) Bug #704851 (xanm)
1692
1693Gio:
1694* Action:
1695  - get_state() and get_state_hint() now return something.
1696  We choose not to consider this an ABI break because these
1697  methods were impossible to use for anything useful before.
1698  (Andrew Potter) Bug #690134.
1699  - Add get_state_bool() and change_state(bool),
1700  to make it easier to deal with toggle actions.
1701  However, we might add a whole derived convenience class for these
1702  instead.
1703  (Murray Cumming, Kjell Ahlstedt)
1704  - Add create_radio_string() and create_radio_integer() for
1705  radio items, though we might change this API lots.
1706  (Murray Cumming)
1707  - Add name_is_valid() and print_detailed_name().
1708  (Murray Cumming)
1709* ActionMap:
1710  - Add add_action(name, slot).
1711  This is a convenience method similar to
1712  g_action_map_add_action_entries() in C.
1713  (Murray Cumming, Kjell Ahlstedt)
1714  - Add add_action_radio_string() and add_action_radio_integer()
1715  for radio items, though we might change this API lots.
1716  (Murray Cumming)
1717* Application: Add mark/unmark_busy().
1718  (Murray Cumming)
1719* DesktopInfo: Add list_actions(), launch_action() and get_action_name().
1720  (Murray Cumming)
1721* File: Add trash_async(), trash_finish(), make_directory_async()
1722  and make_directory_finish().
1723  (Murray Cumming)
1724* Menu: Add remove_all().
1725  (Murray Cumming)
1726* MenuItem:
1727  - Add set/unset_icon().
1728  (Murray Cumming)
1729  - Reimplement the constructors.
1730  (Murray Cumming) Bug #705199 (Pete Woods)
1731* SimpleAction:
1732  - set_enabled(): Add default parameter value.
1733  (Murray Cumming)
1734  - Add constructors and create_bool() methods that take a bool instead of
1735  a VariantBase for the state, to make it easier to deal with toggle actions.
1736  However, we might add a whole derived convenience class for these
1737  instead.
1738  (Murray Cumming)
1739
1740Documentation:
1741* gmmproc: Add docs to the default constructor of _CLASS_OPAQUE_COPYABLE.
1742  mentioning that the constructed object is invalid.
1743  (Kjell Ahlstedt) Bug #704639 (Aurimas Černius)
1744
1745Build:
1746* Glib::TypeTraits<>: Avoid warnings when compiling with -Wcast-qual.
1747  (Kjell Ahlstedt) Bug #704640 (Aurimas Černius)
1748* enums.pl: fixed multi-argument defines as enum values.
1749  (Marcin Kolny) Bug #705113
1750
1751
17522.37.4 (unstable):
1753
1754glibmm:
1755* Use std::memset() instead of GLIBMM_INITIALIZE_STRUCT
1756  (Because it causes compiler warnings with --std=c++ with g++,
1757  because that defines __STRICT_ANSI__.) and deprecate
1758  GLIBMM_INITIALIZE_STRUCT.
1759  (Kjell Ahlstedt)
1760
1761giomm:
1762* Add Gio::DBus::InterfaceSkeleton.
1763  (José Alburquerque)
1764
1765gmmproc:
1766* docextract_to_xml.py: Add '&rArr;' to the list of escape sequences.
1767  (José Alburquerque)
1768* Add _WRAP_ENUM_DOCS_ONLY() and simplify enum docs process.
1769  (José Alburquerque) Bug #703155
1770*  gmmproc: Use GMMPROC_RETURN_MISMATCHES environment variable.
1771  (José Alburquerque)
1772* Write glibmm version in generated files.
1773  (Kjell Ahlstedt) Bug #697835 and Bug #700495
1774
1775Build:
1776* Move to a generated ChangeLog.
1777  (José Alburquerque)
1778
17792.36.2 (stable):
1780
1781* Revert this change from 2.36.1, which should not have appeared in a
1782	stable release yet:
1783	Custom Interfaces: Implement derived interface properties.
1784	(Murray Cumming)
1785
17862.36.1 (stable):
1787
1788* Custom Interfaces: Implement derived interface properties.
1789  (José Alburquerque)
1790* gmmproc: Fix _WRAP_SIGNAL(custom_c_callback) for void func().
1791  (Kjell Ahlstedt) Bug #605728 (Murray Cumming)
1792* Output.pm: convert_args_c_to_cpp(): Reverse mappings hash correctly.
1793  (José Alburquerque) Bug #698989 (David Evans, John Ralls)
1794
1795Changes in 2.36 compared to 2.34:
1796
1797Glib:
1798* AppInfo::get_all(): Fix ownerships.
1799  (Pavel Vasi) Bug #694505
1800  (José Alburquerque)
1801* Add ByteArray, because it is used in the GTls* API.
1802  (José Alburquerque)
1803* Resolver: Add lookup_records(), lookup_records_async()
1804  and lookup_records_finish().
1805  (José Alburquerque)
1806* Signal*::connect(): Make them less thread-unsafe.
1807  (Kjell Ahlstedt) Bug #396958 (Daniel Elstner, Chris Vine)
1808* Threads: Add create(slot, name) to create named threads.
1809  (Andrew Potter) Bug #689863
1810* Variant: Allow containing complex types in arrays and in variants.
1811  (José Alburquerque)
1812* Variant: Don't refsink variants created using the custom cast ctor.
1813  (José Alburquerque)
1814* Variant< std::vector<std::string> >: Add create_from_object_paths().
1815  (José Alburquerque)
1816* VariantBase: Add check_format_string().
1817   (Murray Cumming)
1818* VariantBase: Add operator for BoolExpr (const void*).
1819  (Andrew Potter) Bug #690121
1820* VariantType: Add create_tuple().
1821  (Andrew Potter) Bug #688682
1822* VariantType: Correct the referencing in the create*() methods.
1823  (José Alburquerque) Bug #688440 (Andrew Potter)
1824
1825
1826Gio:
1827* AppInfo: Add create_duplicate().
1828  (José Alburquerque)
1829* ApplicationCommandLine: Add get_stdin() and
1830  create_file_for_arg().
1831  (Murray Cumming)
1832* AsyncResult: Added is_tagged().
1833  (Murray Cumming)
1834* Credentials: Add get_unix_pid().
1835  (José Alburquerque)
1836* DesktopAppInfo: Add has_key(),
1837  get_string() and get_boolean().
1838  (Murray Cumming)
1839* DesktopAppInfo: Add some new getter methods.
1840  (José Alburquerque)
1841* File: Remove refreturn to avoid memory leaks.
1842  (Kjell Ahlstedt) Bug #691606 (Dodak4Gi)
1843* FileEnumerator: Add get_child().
1844  (Murray Cumming)
1845* FileInfo: Add get_deletion_date().
1846  (Murray Cumming)
1847* MemoryOutputStream: Add the steal_as_bytes() method.
1848  (José Alburquerque)
1849* SimpleAction: Fix stateful action constructor typo, allowing use.
1850  (Andrew Potter) Bug #690122
1851* SocketClient: Add get/set_tls(),
1852  get/set_tls_validation_flags(), get/set_proxy_resolver().
1853  Added timeout, tls, enable-proxy, tls-validation, and
1854  proxy-resolver properties.
1855  Added the event signal.
1856  (Murray Cumming)
1857* SocketConnection: Add connect*() and is_connected() methods.
1858  (José Alburquerque)
1859* ThemedIcon: Wrap the "names" property.
1860  (José Alburquerque)
1861* Add TlsConnection, TlsClient, TlsServer, TlsDatabase,
1862  TlsCertificate, TlsPassword, TlsFileDatabase and TlsInteraction.
1863  (José Alburquerque)
1864* UnixConnection: Add [receive|send]_credentials_[async|finish]().
1865  (José Alburquerque)
1866
1867Gio::DBus:
1868* DBus::[Connection|Proxy]: Use ifdefs for the UnixFDList call*() methods.
1869  (José Alburquerque)
1870
1871gmmproc:
1872* Verify that void methods should not return a value.
1873  (José Alburquerque) Bug #696364
1874* Parse the argument list of methods correctly.
1875  (José Alburquerque)
1876* gmmproc: _WRAP_VFUNC: Support the wrapping of slots.
1877  (José Alburquerque)
1878* gmmproc: _WRAP_METHOD: Support wrapping methods with slots.
1879  (José Alburquerque) Bug #688587
1880* gmmproc: _WRAP_METHOD: Ensure that slot parameters can be optional.
1881  (José Alburquerque)
1882* gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Allow any order of {} options.
1883  (José Alburquerque)
1884* gmmproc: _WRAP_ENUM: Skip enum constants whose names are deleted.
1885  (Kjell Ahlstedt) Bug #544694 (Murray Cumming)
1886* gmmproc: _WRAP_CTOR: Handle *_new() functions with a final GError**.
1887  (José Alburquerque) Bug #687959
1888
1889Build:
1890* Visual Studio Projects: Fix and update.
1891  (Chun-wei Fan)
1892* Add a test of implementing an interface,
1893  to detect the problem in glib 2.36.0 and
1894  the expected problem with glib >= 2.37.0
1895  See bug #697229
1896  (Murray Cumming)
1897* DBus::[Connection|Proxy]: Change ifdef G_OS_LINUX to ifdef G_OS_UNIX.
1898  (Kjell Ahlstedt)
1899* ContentType: Fix typo in the content_type_get_symbolic_icon() implementation.
1900  (José Alburquerque)
1901* Remove the use of g_type_init() because it has been deprecated.
1902  (José Alburquerque)
1903* Strip trailing whitespace.
1904  (Mark Vender)
1905* Fix the build with warnings enabled.
1906  (Murray Cumming)
1907
1908
1909
1910
1911Documentation:
1912* Signal[Timeout|Idle]::connect_once() docs: Warn about thread-unsafety.
1913  (Kjell Ahlstedt) Bug #396963 (Daniel Elstner, Chris Vine)
1914* ThreadPool::push() docs: Note that sigc::trackable is not thread-safe.
1915  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
1916* Threads::Thread::create(): Update the documentation.
1917  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
1918* SignalProxy: Fix the documentation, especially of connect_notify().
1919  (Kjell Ahlstedt) Bug #126213, comment 5.
1920* Gio::Action: Add more documentation of get_state_hint() and get_state().
1921  (Kjell Ahlstedt) Bug #690134 (Andrew Potter)
1922* Predefine G_OS_UNIX or G_OS_WIN32 in Doxygen's configuration file.
1923  (Kjell Ahlstedt)
1924* gmmproc: Improve the conversion of documentation to Doxygen format.
1925  (Kjell Ahlstedt)
1926* Documentation: Fix many warnings from Doxygen.
1927  (Kjell Ahlstedt)
1928* gmmproc: Make enum documentation possible.
1929  (José Alburquerque) Bug #544694 (Murray Cumming)
1930* gmmproc: Improve the search for documentation of enums.
1931  (Kjell Ahlstedt)
1932* gmmproc: Documentation: Adjust if the method has a slot param.
1933  (José Alburquerque) Bug #688587.
1934* docextract_to_xml.py: Replace &colon; with ':' in generated XML files.
1935  (José Alburquerque)
1936* gmmproc: Improve the documentation of properties.
1937  (Kjell Ahlstedt)
1938* ustring docs: The global locale should be set when using C++ streams.
1939  (Debarshi Ray) Bug #661588
1940
1941
19422.36.0 (stable):
1943
1944Changes since 2.35.9:
1945
1946Glib:
1947* ByteArray:
1948  - Add size() and get_data().
1949  - Add a Glib::Value<> template specialization.
1950  (José Alburquerque)
1951* VariantBase: Add check_format_string().
1952   (Murray Cumming)
1953
1954Gio:
1955* ApplicationCommandLine: Add get_stdin() and
1956  create_file_for_arg().
1957  (Murray Cumming)
1958* AsyncResult: Added is_tagged().
1959  (Murray Cumming)
1960* Credentials: Add get_unix_pid().
1961  (José Alburquerque)
1962* DesktopAppInfo: Add has_key(),
1963  get_string() and get_boolean().
1964  (Murray Cumming)
1965* FileEnumerator: Add get_child().
1966  (Murray Cumming)
1967* FileInfo: Add get_deletion_date().
1968  (Murray Cumming)
1969* SocketClient: Add get/set_tls(),
1970  get/set_tls_validation_flags(), get/set_proxy_resolver().
1971  Added timeout, tls, enable-proxy, tls-validation, and
1972  proxy-resolver properties.
1973  Added the event signal.
1974  (Murray Cumming)
1975
1976gmmproc:
1977* Verify that void methods should not return a value.
1978  (José Alburquerque) Bug #696364
1979* Parse the argument list of methods correctly.
1980  (José Alburquerque)
1981
1982Build:
1983* Visual Studio Projects: Fix and update.
1984  (Chun-wei Fan)
1985* Add a test of implementing an interface,
1986  to detect the problem in glib 2.36.0 and
1987  the expected problem with glib >= 2.37.0
1988  See bug #697229
1989  (Murray Cumming)
1990
1991
19922.35.9 (unstable):
1993
1994Glib:
1995* Add edByteArray, because it is used in the GTls* API.
1996  (José Alburquerque)
1997* AppInfo::get_all(): Fix ownerships.
1998  (Pavel Vasi) Bug #694505
1999
2000
2001Gio:
2002* TlsFileDatabase: Add the create() method.
2003  (José Alburquerque)
2004* TlsCertificate: Add the certificate property.
2005  (José Alburquerque)
2006* TlsClientConnection: Add get_accepted_cas()
2007  and the "accepted-cas" property.
2008  (José Alburquerque)
2009* TlsDatabase: Add the lookup_certificates_issued_by*()
2010  methods and virtual functions.  Correct a TlsCertificate conversion
2011  for the virtual functions so that the underlying GObject is properly
2012  copied from the C++ wrapper.
2013  (José Alburquerque)
2014* TlsInteraction: Add the virtual functions.
2015  (José Alburquerque)
2016
2017
20182.35.8 (unstable):
2019
2020Glib:
2021* Resolver: Add lookup_records(), lookup_records_async()
2022  and lookup_records_finish().
2023  (José Alburquerque)
2024* Signal*::connect(): Make them less thread-unsafe.
2025  (Kjell Ahlstedt) Bug #396958 (Daniel Elstner, Chris Vine)
2026* Threads: Add create(slot, name) to create named threads.
2027  (Andrew Potter) Bug #689863
2028* Variant: Allow containing complex types in arrays and in variants.
2029  (José Alburquerque)
2030* Variant: Don't refsink variants created using the custom cast ctor.
2031  (José Alburquerque)
2032* Variant< std::vector<std::string> >: Add create_from_object_paths().
2033  (José Alburquerque)
2034* VariantBase: Add operator for BoolExpr (const void*).
2035  (Andrew Potter) Bug #690121
2036* VariantType: Add create_tuple().
2037  (Andrew Potter) Bug #688682
2038* VariantType: Correct the referencing in the create*() methods.
2039  (José Alburquerque) Bug #688440 (Andrew Potter)
2040
2041Gio:
2042* AppInfo: Add create_duplicate().
2043  (José Alburquerque)
2044* DesktopAppInfo: Add some new getter methods.
2045  (José Alburquerque)
2046* File: Remove refreturn to avoid memory leaks.
2047  (Kjell Ahlstedt) Bug #691606 (Dodak4Gi)
2048* MemoryOutputStream: Add the steal_as_bytes() method.
2049  (José Alburquerque)
2050* SimpleAction: Fix stateful action constructor typo, allowing use.
2051  (Andrew Potter) Bug #690122
2052* SocketConnection: Add connect*() and is_connected() methods.
2053  (José Alburquerque)
2054* ThemedIcon: Wrap the "names" property.
2055  (José Alburquerque)
2056* Add TlsConnection, TlsClient, TlsServer, TlsDatabase,
2057  TlsCertificate, TlsPassword, TlsFileDatabase and TlsInteraction.
2058  (José Alburquerque)
2059* UnixConnection: Add [receive|send]_credentials_[async|finish]().
2060  (José Alburquerque)
2061
2062Gio::DBus:
2063* DBus::[Connection|Proxy]: Use ifdefs for the UnixFDList call*() methods.
2064  (José Alburquerque)
2065
2066gmmproc:
2067* gmmproc: _WRAP_VFUNC: Support the wrapping of slots.
2068  (José Alburquerque)
2069* gmmproc: _WRAP_METHOD: Support wrapping methods with slots.
2070  (José Alburquerque) Bug #688587
2071* gmmproc: _WRAP_METHOD: Ensure that slot parameters can be optional.
2072  (José Alburquerque)
2073* gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Allow any order of {} options.
2074  (José Alburquerque)
2075* gmmproc: _WRAP_ENUM: Skip enum constants whose names are deleted.
2076  (Kjell Ahlstedt) Bug #544694 (Murray Cumming)
2077* gmmproc: _WRAP_CTOR: Handle *_new() functions with a final GError**.
2078  (José Alburquerque) Bug #687959
2079
2080Documentation:
2081* Signal[Timeout|Idle]::connect_once() docs: Warn about thread-unsafety.
2082  (Kjell Ahlstedt) Bug #396963 (Daniel Elstner, Chris Vine)
2083* ThreadPool::push() docs: Note that sigc::trackable is not thread-safe.
2084  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
2085* Threads::Thread::create(): Update the documentation.
2086  (Kjell Ahlstedt) Bug #512348 (Chris Vine)
2087* SignalProxy: Fix the documentation, especially of connect_notify().
2088  (Kjell Ahlstedt) Bug #126213, comment 5.
2089* Gio::Action: Add more documentation of get_state_hint() and get_state().
2090  (Kjell Ahlstedt) Bug #690134 (Andrew Potter)
2091* Predefine G_OS_UNIX or G_OS_WIN32 in Doxygen's configuration file.
2092  (Kjell Ahlstedt)
2093* gmmproc: Improve the conversion of documentation to Doxygen format.
2094  (Kjell Ahlstedt)
2095* Documentation: Fix many warnings from Doxygen.
2096  (Kjell Ahlstedt)
2097* gmmproc: Make enum documentation possible.
2098  (José Alburquerque) Bug #544694 (Murray Cumming)
2099* gmmproc: Improve the search for documentation of enums.
2100  (Kjell Ahlstedt)
2101* gmmproc: Documentation: Adjust if the method has a slot param.
2102  (José Alburquerque) Bug #688587.
2103* docextract_to_xml.py: Replace &colon; with ':' in generated XML files.
2104  (José Alburquerque)
2105* gmmproc: Improve the documentation of properties.
2106  (Kjell Ahlstedt)
2107* ustring docs: The global locale should be set when using C++ streams.
2108  (Debarshi Ray) Bug #661588
2109
2110Build/Other:
2111* DBus::[Connection|Proxy]: Change ifdef G_OS_LINUX to ifdef G_OS_UNIX.
2112  (Kjell Ahlstedt)
2113* ContentType: Fix typo in the content_type_get_symbolic_icon() implementation.
2114  (José Alburquerque)
2115* Remove the use of g_type_init() because it has been deprecated.
2116  (José Alburquerque)
2117* Strip trailing whitespace.
2118  (Mark Vender)
2119* Fix the build with warnings enabled.
2120  (Murray Cumming)
2121
2122
2123Changes in 2.34 compared to 2.32:
2124
2125Glib:
2126* Added the Bytes class, wrapping GBytes.
2127  (Murray Cumming)
2128* RegEx: Add get_has_cr_or_lf().
2129  (José Alburquerque)
2130* Threads::Mutex, RecMutex: Add wrap() functions.
2131  (Kjell Ahlstedt) Bug #483790
2132* VariantIter: Add init() method.
2133  (José Alburquerque)
2134
2135Gio:
2136* ActionGroup: Add the query_action() methods.
2137  (José Alburquerque)
2138* AppInfo: Added  get_display_name(),
2139  set_as_last_used_for_type() and get_supported_types().
2140  (Murray Cumming)
2141* AppLaunchContext: Add setenv(), unsetenv() and get_environment().
2142  (Murray Cumming)
2143* Application:
2144  - Added get_dbus_connection()
2145  and get_dbus_object_path().
2146  - Allow the application ID to be empty.
2147  (Murray Cumming)
2148* ContentType:
2149  - get_icon(): Fix a refcount error.
2150  - Added get_symbolic_icon().
2151  (Murray Cumming)
2152* Add Converter, ZlibCompressor, ZlibDecompressor and
2153  CharsetConverter classes.
2154  (José Alburquerque)
2155* Add ConverterInputStream and ConverterOutputStream.
2156  (José Alburquerque)
2157* DBusAuthObserver: Added allow_mechanism().
2158  (Murray Cumming)
2159* Drive: Added get_symbolic_icon().
2160  (Murray Cumming)
2161* File: Add remove_async() and remove_finish().
2162  (Murray Cumming)
2163* FileAttributeMatcher: Add create_difference() and to_string().
2164  (José Alburquerque)
2165* FileInfo:
2166  - Add has_namespace(), [get|set]_attribute_status(),
2167  and [get|set]_attribute_strings().
2168  (José Alburquerque)
2169  - Added get_symbolic_icon().
2170  (Murray Cumming)
2171* InetSocketAddress: Added get_flowinfo() and get_scope_id()
2172  (Murray Cumming)
2173* InputStream: Added read_bytes(), read_bytes_async() and read_bytes_finish().
2174  (Murray Cumming)
2175* IOStream: Add splice_async() splice_finish().
2176  (José Alburquerque)
2177* Menu: Added append_section().
2178  (Murray Cumming)
2179* MenuItem:
2180  - Added get_link().
2181  (Murray Cumming)
2182  - Add get_attribute().
2183  (José Alburquerque)
2184* MenuModel: Added is_mutable() and get_n_items().
2185  (Murray Cumming)
2186* Mount: Added get_symbolic_icon().
2187  (Murray Cumming)
2188* MountOperation: Wrap the "show-unmount-progess" signal.
2189  (José Alburquerque)
2190* OutputStream: Added write_bytes(), write_bytes_async() and write_bytes_finish().
2191  (Murray Cumming)
2192* Add PollableInputStream and PollableOutputStream.
2193  (José Alburquerque)
2194* Proxy: Add call(), call_sync() and call_finish() for unix_fd_list.
2195  (Murray Cumming)
2196* ProxyAddress: Added get_destination_protocol()
2197  and get_uri().
2198  (Murray Cumming)
2199* Add Resource
2200  Bug #674545 (Kalev Lember)
2201* Socket: Added get_available_bytes(), get_ttl(), set_ttl(),
2202  get_broadcast(), set_broadcast(),
2203  get_multicast_loopback(), set_multicast_loopback(),
2204  get_multicast_ttl(), set_multicast_ttl(),
2205  join_multicast_group(), leave_multicast_group(),
2206  and properties.
2207  (Murray Cumming)
2208* Volume:
2209  - Added get_symbolic_icon().
2210  - Added get_sort_key().
2211  (Murray Cumming)
2212
2213Gio::DBus:
2214* Connection:
2215  - Added get_last_serial().
2216  (Murray Cumming)
2217  - Added call_[finish|sync]() with UnixFDLists.
2218  (José Alburquerque)#662371.
2219
2220gmmproc:
2221* Add _INCLUDE_IN_WRAP_INIT, _GMMPROC_WRAP_CONDITIONALLY.
2222  (Kjell Ahlstedt) Bug #678883.
2223* Add _CUSTOM_CTOR_CAST
2224  (Krzesimir Nowak)
2225* _WRAP_VFUNC: Handle virtual functions that throw GErrors.
2226  (José Alburquerque) Bug #683460
2227* Add a _NO_WRAP_INIT_REGISTRATION macro
2228  (José Alburquerque) Bug #684006
2229* _CLASS_GOBJECT: Allow classes to have custom wrap() functions.
2230  (José Alburquerque) Bug #684006
2231* _WRAP_METHOD: Allow setting parameters from C output params.
2232  (José Alburquerque) Bug #662371
2233
2234
22352.34.0 (stable):
2236
2237* Some minor documentation improvements.
2238  (Murray Cumming)
2239
22402.33.14:
2241
2242Glib:
2243* RegEx: Add get_has_cr_or_lf().
2244  (José Alburquerque)
2245* VariantIter: Add init() method.
2246  (José Alburquerque)
2247
2248Gio:
2249* ActionGroup: Add the query_action() methods.
2250  (José Alburquerque)
2251* FileAttributeMatcher: Add create_difference() and to_string().
2252* FileInfo:  Add has_namespace(), [get|set]_attribute_status(),
2253  and [get|set]_attribute_strings().
2254  (José Alburquerque)
2255* IOStream: Add splice_async() splice_finish().
2256* MenuItem: Add get_attribute().
2257* MountOperation: Wrap the "show-unmount-progess" signal.
2258  (José Alburquerque)
2259
2260* Gio::DBus:
2261  - Proxy: Add call(), call_sync() and call_finish() for unix_fd_list.
2262    (Murray Cumming)
2263
2264* gmmproc:
2265  - Make the output param feature work for single indirection.
2266    (José Alburquerque) Bug #662371.
2267  - Add 3-argument @newin.
2268    (Kjell Ahlstedt)
2269
2270
22712.33.13 (unstable):
2272
2273Gio:
2274* AppLaunchContext: Add setenv(), unsetenv() and get_environment().
2275* File: Add remove_async() and remove_finish().
2276  (Murray Cumming)
2277* Add e ConverterInputStream and ConverterOutputStream.
2278* Add PollableInputStream and PollableOutputStream.
2279  (José Alburquerque)
2280
2281Gio::DBus:
2282* Connection: Add the call_[finish|sync]() with UnixFDLists.
2283  (José Alburquerque)#662371.
2284
2285gmmproc:
2286* Add a _NO_WRAP_INIT_REGISTRATION macro
2287  (José Alburquerque) Bug #684006
2288* _CLASS_GOBJECT: Allow classes to have custom wrap() functions.
2289  (José Alburquerque) Bug #684006
2290* _WRAP_METHOD: Allow setting parameters from C output params.
2291  (José Alburquerque) Bug #662371
2292* Prepend a Doxygen @throws clause to the declaration of virtual
2293  functions that throw Glib::Error.
2294  (José Alburquerque)
2295* Improve the search for unwrapped methods.
2296  (Kjell Ahlstedt)
2297
2298Build:
2299* Use std::time_t instead of ::time_t
2300  instead of ::time_t.
2301* Use std::size_t and std::ptrdiff_t instead
2302  of ::size_t and ::ptrdiff_t.
2303  (Kjell Ahlstedt)
2304
2305
23062.33.12 (unstable):
2307
2308Gio:
2309* Add Converter, ZlibCompressor, ZlibDecompressor and
2310  CharsetConverter classes.
2311  (José Alburquerque)
2312* AppInfo: Added  get_display_name(),
2313  set_as_last_used_for_type() and get_supported_types().
2314* Application: Added get_dbus_connection()
2315  and get_dbus_object_path().
2316* ContentType:
2317  - get_icon(): Fix a refcount error.
2318  - Added get_symbolic_icon().
2319  (Murray Cumming)
2320* DBusAuthObserver: Added allow_mechanism().
2321* Drive: Added get_symbolic_icon().
2322* FileInfo: Added get_symbolic_icon().
2323* Menu: Added append_section().
2324* MenuItem: Added get_link().
2325* MenuModel: Added is_mutable() and get_n_items().
2326* Mount: Added get_symbolic_icon().
2327* ProxyAddress: Added get_destination_protocol()
2328  and get_uri().
2329* Socket: Added get_available_bytes(), get_ttl(), set_ttl(),
2330  get_broadcast(), set_broadcast(),
2331  get_multicast_loopback(), set_multicast_loopback(),
2332  get_multicast_ttl(), set_multicast_ttl(),
2333  join_multicast_group(), leave_multicast_group(),
2334  and properties.
2335* Volume:
2336  - Added get_symbolic_icon().
2337  - Added get_sort_key().
2338  (Murray Cumming)
2339
2340gmmproc:
2341* _WRAP_VFUNC: Handle virtual functions that throw GErrors.
2342  (José Alburquerque) Bug #683460
2343
2344
23452.33.4 (unstable):
2346
2347Glib:
2348* KeyFile: Correct the load_from_dirs() implementation.
2349  (Krzesimir Nowak)
2350* Variant: Make sure that we always sink the initial reference.
2351  (Krzesimir Nowak) Bug #680407
2352* VariantType: peek_string(): Correct this to handle
2353  the non-null-terminated result from g_variant_type_peek_string().
2354* Threads::Mutex, RecMutex: Add wrap() functions.
2355  (Kjell Ahlstedt) Bug #483790
2356
2357gmmproc:
2358*  Add _CUSTOM_CTOR_CAST
2359  (Krzesimir Nowak)
2360
2361Documentation:
2362* Show the get_type() functions in the API documentation.
2363  (Murray Cumming) Bug #670212 (Mark Vender).
2364
2365
23662.33.3 (unstable):
2367
2368Glib:
2369* Added the Bytes class, wrapping GBytes.
2370  (Murray Cumming)
2371
2372Gio:
2373* InetSocketAddress: Added get_flowinfo() and get_scope_id()
2374* OutputStream: Added write_bytes(), write_bytes_async() and write_bytes_finish().
2375* InputStream: Added read_bytes(), read_bytes_async() and read_bytes_finish().
2376  (Murray Cumming)
2377
2378Gio::DBus:
2379* Connection: Added get_last_serial().
2380  (Murray Cumming)
2381
2382gmmproc:
2383* Add _INCLUDE_IN_WRAP_INIT, _GMMPROC_WRAP_CONDITIONALLY.
2384  (Kjell Ahlstedt) Bug #678883.
2385
23862.33.2 (unstable):
2387
2388* Added some enum values and documentation.
2389  (Murray Cumming)
2390
23912.33.1 (unstable):
2392
2393Gio:
2394* Application:
2395  - Allow the application ID to be empty.
2396  - Pass 0 (NULL) rather than "" to GApplication.
2397  (Murray Cumming)
2398* Add Resource
2399  Bug #674545 (Kalev Lember)
2400
2401Glib:
2402* Miscutils: get_system_data_dirs(), get_system_config_dirs():
2403  Return early when the C function returns NULL.
2404  (Krzesimir Nowak)
2405* Thread::RecMutex: Don't initialize this as a GStaticMutex.
2406  (Deprecated anyway)
2407  (Michał Wróbel) Bug #677291
2408* Documentation: Don't hide add_exception_handler() documentation.
2409  (Kjell Ahlstedt)
2410
24112.32.0 (stable):
2412
2413Glib:
2414* Dispatcher: Don't send messages to a deleted Dispatcher.
2415  (Kjell Ahlstedt) Bug #651942
2416* Make SignalTimeout/SignalIdle::connect_once() more thread safe.
2417  (Kjell Ahlstedt) Suggested by Chris Vine. Bug #396963
2418* Document Glib::Property and Glib::PropertyBase.
2419  (Mark Vender) Bug #673291
2420
2421gmmproc:
2422* Add macro _CUSTOM_CTOR_CAST in _CLASS_BOXEDTYPE.
2423  (Kjell Ahlstedt) Bug #511136, comment 20.
2424* Generate the documentation of default constructors of interface classes.
2425  (Mark Vender) Bug #673213
2426
2427Build:
2428* Update Visual Studio projects.
2429  (Chun-wei Fan)
2430
2431
24322.31.22 (unstable):
2433
2434Glib:
2435* Threads, Dispatcher: Delete DispatchNotifier.
2436  (Kjell Ahlstedt) Bug #671587.
2437
2438Gio:
2439* Action: Ensure vfunc callbacks return valid memory.
2440  (José Alburquerque)
2441* ActionGroup: list_actions_vfunc(): Do not return freed memory.
2442  (Murray Cumming)
2443* Move AppLaunchContext into its own header file.
2444  (Murray Cumming)
2445* Add Menu and MenuItem.
2446* SimpleAction: Constructor: Add a parameter that takes no VariantType.
2447  (Murray Cumming)
2448
2449Gio::DBus:
2450* Object: Ensure vfunc callbacks return valid memory.
2451  (José Alburquerque)
2452* Add the Interface and Object interfaces.
2453  (José Alburquerque)
2454
2455gmmproc:
2456* _WRAP_SIGNAL() can now take an optional deprecated parameter,
2457  like _WRAP_METHOD() and _WRAP_PROPERTY().
2458  (Murray Cumming, Kjell Ahlstedt)
2459* _WRAP_PROPERTY(): Correct the ifdefs in generated code when
2460  using the optional deprecated parameter.
2461  (Kjell Ahlstedt)
2462
2463Other:
2464* Dispatcher examples: Use Glib::signal_idle().connect_once().
2465  (Kjell Ahlstedt) Bug #396963
2466* Some fixes for minor clang++ warnings.
2467  (José Alburquerque, Murray Cumming)
2468
2469
24702.31.20:
2471
2472Glib:
2473* Fix exceptions thrown by Thread::create() and Threads::Thread::create.
2474  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)
2475* Fix the build with --disable-deprecated-api.
2476  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)
2477
2478Gio::
2479* Application: Add quit().
2480  (Murray Cumming)
2481
2482Gio::DBus:
2483* DBus::Error, DBus::Proxy: Fix interaction with generate_wrap_init.pl.
2484  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)
2485
2486* Documentation: Signal*: Better description of the connect*() methods.
2487  (Kjell Ahlstedt) Bug #669906 (Mark Vender)
2488
2489gmmproc and tools:
2490* gmmproc: Allow destructors to be documented.
2491  (José Alburquerque) Bug #668918 (Mark Vender)
2492* docextract_to_xml.py: Generate signal documentation too.
2493  (José Alburquerque) Bug #668918 (Mark Vender)
2494* Add some scripts to regenerate the .defs files.
2495  (José Alburquerque)
2496* generate_wrap_init.pl:
2497  - Improve reg. of exception classes in sub-namespaces and
2498  improve it for deprecated files and sub-namespaces.
2499  (Kjell Ahlstedt) Bug #640029 (Michael Edwards)
2500* h2defs.py: Ignore the new GDK_AVAILABLE_IN_* macros.
2501  (Murray Cumming)
2502
25032.31.18.1:
2504
2505gmmproc:
2506* h2def.py: Handle types such as 'const gchar* const *' for functions.
2507  (José Alburquerque)
2508* _WRAP_PROPERTY(): Allow properties to be deprecated.
2509  (Murray Cumming)
2510
2511Gio:
2512* Application: Derive from the ActionGroup interface.
2513* Application: Add missing virtual functions and get/set_default() methods.
2514* Add MenuModel, MenuAttribute, MenuLink and MenuIter.
2515
2516Gio::DBus:
2517* ActionGroup, MenuModel: Have get() methods instead of create() methods.
2518  (José Alburquerque) Bug #637445.
2519* Add DBus::MenuModel.
2520* Connection: Add the MenuModel export/unexport methods.
2521* Add class documentation.
2522
2523
25242.31.18: (unstable):
2525
2526Gio:
2527* Add the ActionMap interface.
2528  (José Alburquerque)
2529
2530Gio::Dbus:
2531* Add the ActionGroup classe.
2532* Connection: Add the ActionGroup export/unexport methods.
2533  (José Alburquerque)
2534
2535Glib:
2536* Add the RemoteActionGroup classes.
2537  (José Alburquerque)
2538
2539gmmproc:
2540* h2def.py: Handle deprecated functions.
2541* docs: Remove possible parens in gtk-doc signal references. Bug #668918.
2542  (José Alburquerque)
2543
2544
25452.31.16.1: (unstable):
2546
2547* gmmproc (docs):
2548  - Add documentation to wrapped signals.
2549    Bug #668918 (Mark)
2550  - Convert signal and property names correctly.
2551    Bug #668918 (Mark)
2552  - Add some HTML entity conversions.
2553  - Translate the <itemizedlist> tags in docs correctly.
2554  (José Alburquerque)
2555
25562.31.16: (unstable):
2557
2558Build:
2559* Dispatcher: Fix the build on win32.
2560  (TS)
2561* thread.h: Move calls to deprecated glib functions into thread.cc.
2562  (Haikel Guemar)
2563
25642.31.2: (unstable):
2565
2566glibmm:
2567* Add Glib::Threads::* in threads.h, deprecating everything in thread.h.
2568  This was necessary because we had to break the ABI to avoid using
2569  API that is now deprecated in glib.
2570* Avoid compiler warnings when using -std=c++0x with g++.
2571  (Murray Cumming, Kjell Ahlsted)
2572
2573giomm:
2574* drive: Add get_sort_key().
2575* EmblemedIcon: Add clear_emblems().
2576* FileIconL Add the "file" property.
2577* InetAddress: Add address_equal().
2578* Mount: Add get_sort_key().
2579* Socket: Add the "timeout" property.
2580* SocketAddress: Add the "family" property.
2581  (José Alburquerque)
2582
2583gmmproc:
2584* C example code removal: Also remove code in </programlisting> tags.
2585 (José Alburquerque)
2586* Ensure template parameter has a space before to avoid trigraphs.
2587  (Hub Figuière) Bug #663303
2588
2589Examples:
2590* Avoid use of the now-deprecated API.
2591 (Murray Cummign)
2592
25932.31.0.2: (unstable)
2594
2595* gthread.h: Move the deprecation ifdefs to avoid affecting non-deprecated API.
2596
25972.31.0.1: (unstable)
2598
2599* Avoid deprecation compiler warnings in glibmm and projects using glibmm.
2600  However, you will need to include either <glibmm.h> or <glibmm/thread.h>
2601  before other glibmm includes.
2602  (Murray Cumming)
2603* Move IOCondition from main.h to iochannel.h.
2604  (Murray Cumming)
2605* Don't include <glibmm.h> via init.h or wrap_init.h.
2606  (Murray Cumming)
2607* gmmproc:
2608  - Don't include C code examples found in the XML docs. Bug #650544
2609  - Don't include <glibmm.h> by default in generated files. Bug #662597
2610  (José Alburquerque)
2611
26122.31.0: (unstable)
2613
2614Glib:
2615* Date: set_time(): Use g_date_set_time_t() instead of g_date_set_time().
2616  (José Alburquerque)
2617* Thread: Deprecated thread_init(), Thread::joinable(), *_priority(), etc.
2618  (Murray Cumming)
2619* (Threads are always enabled in glib now, and thread_init() does nothing.)
2620* VariantContainerBase: Add create_maybe().
2621  (José Alburquerque)
2622
2623Gio:
2624* DataInputStream: Add read_line_utf8() and read_line_finish_utf8().
2625  (José Alburquerque)
2626* DBus::MethodInvocation: Add UnixFDList return_value() method overload.
2627  (José Alburquerque)
2628* Re-add Application and related class so they can be finished.
2629  (José Alburquerque)
2630* ApplicationCommandLine: Add the get_platform_data() method.
2631  (José Alburquerque)
2632* SimpleAction: Wrap the signals and properties.
2633  (José Alburquerque)
2634
2635* gmmproc:
2636  - Fix h2def.py not parsing function starting with G_GNUC_* macros.
2637  (Krzesimir Nowak) Bug #660225.
2638  - _WRAP_METHOD: Allow return types to have commas.
2639  (José Alburquerque) Bug #661401
2640  - _WRAP_METHOD: Use {OUT} instead of {RET} for output params.
2641  (José Alburquerque)
2642  - Remove M4 warnings due to commas in return types.
2643  (José Alburquerque)
2644
26452.30.0: (stable)
2646
2647giomm:
2648* DBus::Server: Add constructors.
2649* Remove Application and friends, because they are still not ready.
2650  See bug ##637445#c29
2651  (Murray Cumming)
2652
2653Documentation:
2654* gmmproc: DocParser: Correct the removal of link tags.
2655  (José Alburquerque)
2656
26572.29.13: (unstable)
2658
2659giomm:
2660* Variant< std::vector<std::string> >: Ensure correct creation.
2661  (José Alburquerque) Bug #657030 (Aurimas Černius)
2662gmmproc
2663* Correct handling of constversion etc. in _WRAP_METHOD, avoiding side-effects
2664  on other _WRAP_METHOD() calls in the same .hg file.
2665  (Kjell Ahlstedt) Bug #657751,
2666
26672.29.12: (unstable)
2668
26692011-08-03  Murray Cumming  <murrayc@murrayc.com>
2670
2671* Gio::Application:
2672  - Add back Gio::Application and friends so we can try to finish them.
2673  - local_command_line_vfunc(): Use references for parameters.
2674    See bug #643478.
2675  (Murray Cumming)
2676* Gio::TimeZoneMonitor: Remove because it was removed in glib.
2677  (José Alburquerque)
2678* Build:
2679configure: Require the latest libsigc++ because our tests require it.
2680  See https://bugs.launchpad.net/bugs/829596
2681  (Murray Cumming)
2682
2683
26842.29.11: (unstable)
2685
2686* Gio::AppInfo:
2687  - launch(): Use a vector instead of a ListHandle and assume that it contains
2688  Gio::File rather than strings. This was unusable before.
2689  - Add launch() overload with no launch_context parameter.
2690  - Add launch() overload taking one file,
2691  - launch_uri(): Deprecate the method taking a GAppLaunchContext*, adding
2692    one taking a Gio::AppLaunchContext instead.
2693  - Add launch_uri() taking one URI.
2694  (Murray Cumming)
2695* Add test case for a recent fix in libsigc++ with RefPtr.
2696  (Kjell Ahlstedt) Bug #564005#c14 (Alexander Shaduri)
2697* tools: Add python .def generation scripts removed from PyGObject.
2698  (Murray Cumming)
2699* gmmproc: Allow _STRUCT_NOT_HIDDEN to be used even when multiple classes
2700  are defined in one file.
2701  (José Alburquerque)
2702
27032.29.10: (unstable)
2704
2705* Gio:
2706- Added DateTime, TimeZone, TimeZoneMonitor.
2707  (José Alburquerque)
2708
27092.28.2: (stable)
2710
2711* gmmproc:
2712  - _WRAP_METHOD: Add optional parameter functionality.
2713  - _WRAP_[CREATE|CTOR|METHOD]: Support parameter reordering.
2714  - _WRAP_METHOD: Add the possibility of an output parameter.
2715  (José Alburquerque)
2716  - Protect documentation with m4 quotes.
2717  (Kjell Ahlstedt) Bug #603930
2718
2719Gio:
2720* DBus::Connection::emit_signal(): Replace empty strings with 0, because
2721  gio fails with "", apparently unnecessarily.
2722  (José Alburquerque) Bug #645072 (Yannick Guesnet).
2723
2724Build:
2725* Removed now-unused doctooldir variable from pkgconfig files.
2726  (Kalev Lember) Bug #652461
2727
27282.28.1:
2729
2730gmmproc:
2731* Extra Defs Tool: Only generate properties that the GType owns.
2732  (José Alburquerque)
2733* Put guards around generated includes in wrap_init.cc to fix the wind32 build.
2734  (Kalev Lember) Bug #649182
2735* tools/pm/GtkDefs.pm: GtkDefs::split_tokens(): Speed improvement.
2736  (Kjell Ahlstedt) Bug #644037
2737
2738Build:
2739* Update the VS 2005, 2008, and 2010 project files.
2740  (Fan, Chun-wei)
2741* Examples build: Use the GLIB_COMPILE_SCHEMAS variable.
2742  (Volker Grabsch) Bug #648485.
2743* Gio::DBus::Message: Fixed includes for WIN32
2744  (Kalev Lember)  Bug #649168
2745
2746Documentation:
2747* Added some classes to the DBus documentation group and added class
2748  overview documentation. (Murray Cumming)
2749
2750New API in glibmm 2.28:
2751(There was no stable glibmm 2.26 release)
2752
2753Glib:
2754* Variant: A new hierarchy of templated Variant<> types, for use with
2755  Gio::Settings and Gio::DBus.
2756  (José Alburquerque, Yannick Guesnet, Murray Cumming)
2757* OptionGroup:
2758  - Add add_entry() that takes a slot with callback function.
2759  - on_post_parse() overrides no longer need to call the base class.
2760  (Kjell Ahlstedt)
2761* RefPtr: Make it work with sorted containers.
2762  (David Kozub)
2763* Regex: Added and used a MatchInfo class.
2764  (José Alburquerque)
2765* General:
2766  - build_filename(): Add method overloads to take up to 9 arguments,
2767  for convenience.
2768  (Fabricio Godoy)
2769  - Added get_system_data_dirs() and get_system_config_dirs().
2770  (Murray Cumming)
2771
2772Gio:
2773* Proxy, ProxyAddress and ProxyResolver.
2774  (Murray Cumming)
2775* Settings: For application settings, replacing GConf (or Gnome::Conf).
2776  (Jonathon Jongsmam, José Alburquerque, Murray Cumming)
2777* DBus: API to use or implement D-Bus services.
2778  (José Alburquerque, Yannick Guesnet, Michael Edwards,
2779  Martin Braure de Calignon and Murray Cumming.)
2780* SocketControlMessage, UnixCredentialsMessage and UnixFDMessage.
2781  (José Alburquerque)
2782* Added UnixFDList.
2783  (José Alburquerque)
2784
2785gmmproc:
2786* Support for use of std::vector<> instead of ListHandle<>, SListHandle<>,
2787and ArrayHandle.
2788(Krzesimir Nowak)
2789
2790See also this list of new API:
2791http://developer.gnome.org/glibmm/unstable/since_2_28.html
2792
2793Gio::DBus, Glib::Variant and Gio::Settings were a huge amount of difficult
2794work mostly by José Alburquerque, with help from Jonathon Jongsmam,
2795Yannick Guesnet, Michael Edwards, Martin Braure de Calignon and Murray Cumming.
2796Some of José Alburquerque's work was funded by Openismus GmbH.
2797Thank you, everyone.
2798
2799
28002.28.0 (stable):
2801
2802Gio:
2803* DBus::Connection:
2804  - Added a register_method() overload with no vtable.
2805  - register_object(), register_subtree(): Take the VTable by reference,
2806  not pointer.
2807  (Murray Cumming)
2808* DBus::MethodInvocation:
2809  - get_parameters(): Return a VariantContainerBase instead of taking a
2810  VariantBase.
2811  - return_gerror(), return_error_literal(): Rename them both to return_error().
2812  (Murray Cumming)
2813* DBus::NodeInfo::lookup_interface(): Add a method overload with no name.
2814  (Murray Cumming)
2815* DBus::Proxy: Rename type_map_changed_properties to MapChangeProperties.
2816  (Murray Cumming)
2817* DBus::VariantContainerBase::create_tuple(): Add a method overload that takes
2818  a single VariantBase,
2819* Settings: Really add list_schemas().
2820  (Murray Cumming)
2821
28222.27.99.2 (unstable):
2823
2824Glib:
2825* Variant:
2826  - Rename get(index) to get_child(index).
2827 - Variant<std::string>:
2828   Allow this to be used for object paths and signatures as well as just
2829   bytestrings.
2830 - Variant<Glib::ustring>:
2831   Allow this to be used for bytestrings, object paths and signatures as well as just
2832   (UTF-8) strings.
2833 - Move constructor definitions into the .cc file.
2834 - Capitalize the standard types, such as VARIANT_TYPE_STRING.
2835 (Murray Cumming)
2836* ArrayHandle: Make it compilable with MSVC 2005, 2008, 2010.
2837  (Krzesimir Nowak) Bug #645851 (Fan, Chun-wei)
2838
28392.27.99.1 (unstable):
2840
2841Gio:
2842* DBus: Use VariantContainerBase for tuple Variants.
2843
28442.27.99 (unstable):
2845
2846This is probably the very last release before 2.28.0 which will happen very soon.
2847
2848Gio:
2849* Removed Application, ApplicationCommandLine, and ActionGroup because
2850  they are unfinished. We hope to add them back in glibmm 3.2.
2851* Removed SettingsBackend because it is unfinished.
2852* Settings: Removed API that used SettingsBackend.
2853* Variant: Improved the documentation.
2854
2855Build: Remove the dependency on mm-common during the tarball build.
2856
28572.27.98 (unstable):
2858
2859Gio:
2860* DBus::InterfaceVTable: Make the tuple type clearer in SlotInterfaceMethodCall.
2861
2862Glib:
2863* Correct some range checks to use >= instead of just >.
2864  (Murray Cumming) Thanks to Michael Edwards.
2865* Vectorutils, ArrayHandle: Check for NULL pointers.
2866  (Krzesimir Nowak)
2867
28682.27.97 (unstable):
2869
2870Gio:
2871* DBus::Proxy: Added the properties_changed signal.
2872  (Yannick Guesnet) Bug #644886
2873* Variant:
2874  - Added Variant<VariantBase>::get().
2875  (Yannick Guesnet) Bug #644207.
2876  - Added some get() method overloads.
2877  (Murray Cumming)
2878  - Added VariantBase::cast_dynamic().
2879  (Yannick Guesnet) Bug #644146
2880
2881* Build: Fix the missing doc-install.pl problem.
2882  mm-common is now needed for tarball builds, though this might change soon.
2883  (Murray Cumming)
2884
28852.27.96 (unstable):
2886
2887Gio:
2888* Application:
2889  - open(): Added a single-file method overload.
2890  - The command-line signal now returns an int instead of a bool. It is a
2891  main() status code.
2892  - Added get_environ().
2893  - Add the local_command_line vfunc,
2894* ApplicationCommandLine: Use std::string instead of ustring in some API.
2895  (Murray Cumming)
2896* DBus::InterfaceVTable: Use g_error_copy() where appropriate, fixing a crash.
2897  (Murray Cumming) Bug #644008 (Yannick.Guesnet)
2898
2899* Build: Do not install doctool/ scripts such as doc-install.pl.
2900  These are now only installed by mm-common, and the mm-common macros find it
2901  there, so no changes should be necessary in other modules if you update
2902  mm-common.
2903  (Murray Cumming)
2904* Documentation: Avoid errors in the reference documentation due to encoding
2905  confusion in our perl scripts.
2906  (Kjell Ahlstedt) Bug #644037
2907
29082.27.95 (unstable):
2909
2910Gio:
2911* Throw Gio::Error again, instead of just the base Glib::Error.
2912  This was broken in glibmm 2.27.94.
2913  (Murray Cumming)
2914
2915Glib:
2916* build_filename(): Add method overloads to take up to 9 arguments,
2917  for convenience.
2918  (Fabricio Godoy) Bug #599578
2919* Documentation: Mark some new API as new in 2.28.
2920  (Murray Cumming)
2921
29222.27.94 (unstable):
2923
2924Glib:
2925* OptionGroup:
2926  - Add add_entry() that takes a slot with callback function.
2927  (Kjell Ahlstedt) Bug #589197 (Hubert Figuiere)
2928  - on_post_parse() overrides no longer need to call the base class.
2929  (Kjell Ahlstedt) Bug #588988 (Hubert Figuiere)
2930  - Make Glib::{Array,List,SList}Handle work with std::vector<bool>.
2931  (Krzesimir Nowak) Bug 640079
2932
2933Gio:
2934* Moved all DBus* classes into a Gio::DBus namespace.
2935  (Murray Cumming)
2936
29372.27.93 (unstable):
2938
2939* Added ArrayHandler, ListHandler and SListHandler, to help with conversions
2940  to/from std::vector.
2941  These replace ArrayHandle, ListHandle, and SListHandle, which allowed the
2942  use of any standard container. New APIs will use only std::vector, because
2943  that is less confusing to developers, though less flexible.
2944  (Krzesimir Nowak)
2945* Application: Initialize glibmm and giomm in the constructor, for
2946  convenience.
2947  (Murray Cumming)
2948* Resolver: lookup_service(), lookup_by_address(): Fix the reference counting.
2949  (Murray Cumming) Bug #639575 (Michael Edwards)
2950* Fix the build (and of applications) with  GLIB_DISABLE_SINGLE_INCLUDES.
2951  (Chris Kühl)
2952
29532.27.91.1 (unstable):
2954
2955* gmmproc:
2956  - _WRAP_CTOR(): Restore the optional extra parameter, because it
2957  is still needed by gtkmm-2.4.
2958  (Murray Cumming)
2959  - Added conversion from bool& to gboolean*.
2960  (Chris Kühl)
2961
2962* DBus::[watch|own]_name(): Add default values for parameters.
2963* DBusConnection:
2964  - Add a send_message() without an "out_serial" parameter.
2965  - Avoid errors/exceptions in callbacks due to NULL C strings.
2966  - Wrap properties and signals.
2967* DBusMessage: Wrap properties and signals.
2968* DBusServer: Comment out constructors because of bug #639478.
2969* InetAddress: Wrap properties.
2970* Variant: Make the variant_type() functions return actual types.
2971* Documentation: Started a client/server example that uses the user's bus.
2972
2973  DBus: Add initial implementation of a bus server/client example.
2974
2975  * examples/Makefile.am:
2976  * examples/dbus/busserver.cc: Add a partial implementation of the
2977  server part of a server/client example that communicate through the
2978  user's bus.
2979  * examples/dbus/peer.cc: Typos.
2980
29812.27.91 (unstable):
2982
2983Gio:
2984* BufferedInputStream, BufferedOutputStream: Fix create_sized().
2985  (Murray Cumming) Bug #638616 (Michael Edwards)
2986* DBus: Use std::string for addresses since they could be a file path.
2987  Use std::string instead of Glib::ustring for address parameters just to avoid
2988  possible errors since DBus address could be a filename path as the "Addresses"
2989  section of the DBus introduction seems to imply:
2990  http://www.freedesktop.org/wiki/IntroductionToDBus.
2991* DBus: Use std::string instead of Glib::ustring for guid's since std::string's
2992  API is probably adequate enough for their use.
2993  (José Alburquerque)
2994* DBusConnection:
2995  - call*() methods: Re-order parameters.
2996  - Callbacks: Check for NULL GError** parameters and throw exceptions to the
2997  caller.
2998  - Add [register|unregister]_subtree() methods.
2999  - Fix crashes caused by inappropriate use of reinterpret_cast<>.
3000  (José Alburquerque) Bug #637587 (Yannick Guesnet)
3001* DBusConnectionInvocation: reference-counting fixes.
3002  (Murray Cumming)
3003* DBusIntrospection: Fix some reference counting.
3004* DBusServer:
3005  - Added create() methods.
3006  - CCorrect the type of the "active" property.
3007* SocketService, ThreadedSocketService: Correct ref-counting for signals.
3008* Improvements to the DBus examples.
3009  (José Alburquerque)
3010
3011Tools:
3012* gmmproc: Warn about unwrapped properties.
3013  (Krzesimir Nowak)
3014* Added defs_fixer.pl, which fixes some generated .defs by applying a specified
3015  override file. This should be easier than using a patch.
3016  (Krzesimir Nowak)
3017
3018
30192.27.5.1: (unstable):
3020
3021Glib:
3022* RefPtr: Make it work with sorted containers.
3023  (David Kozub) Bug #626858
3024* Variant:
3025  - Make all the get_iter() methods const.
3026  - Added dictionary entry and dictionary specializations.
3027  - VariantContainerBase: Add a create() method from an array of variants.
3028  - Added tests.
3029  (José Alburquerque)
3030* gmmproc cleanup
3031  (José Alburquerque)
3032
3033Gio:
3034* Application: Added the open signal.
3035  (Yannick Guesnet)
3036* DBusConnection: Add register/unregister_object() methods.
3037  (José Alburquerque) Bug #637587 (Yannick Guesnet)
3038
3039
30402.27.5: (unstable):
3041
3042Glib:
3043* Added Variant<std::string>, Glib::Variant< array >, and
3044  Variant< vector > specializations
3045
3046Gio:
3047* Added DBus client example: examples/dbus/well-known-address-client.cc
3048  (José Alburquerque)
3049* Fox the build with mingw32.
3050  (José Alburquerque) Bug #636754 (t.sailer)
3051
3052
30532.27.4.1: (unstable):
3054
3055Gio:
3056* DBus[Connection|Proxy]: Don't take extra reference on async creation.
3057* DBusConnection:
3058  - Add non-observable create method overloads.
3059  - Make the create methods.async get methods, static.
3060  - Added get_sync() methods.
3061  - Added send_message_with_reply_sync() methods.
3062  - Added signal_subscribe() and add_filter().
3063* DBusIntrospection: new_for_xml(): Rename to create_for_xml().
3064* DBusProxy:
3065  - Reorder the parameters so that "name" is second in methods.
3066  - Add a non-cancellable call_sync() method.
3067* Documentation: Add a DBus Doxygen group.
3068  (José Alburquerque)
3069
3070Glib:
3071* Regex: Add a MatchInfo class and use it.
3072  (José Alburquerque) Bug #636911 (Alexander Shaduri)
3073* gmmproc: Remove m4 conversion files for gdk, gtk, atk, and pango.
3074  They are now in the derived projects, which should now include
3075  convert_glibmm instead of, for instance, convert_gtkmm.
3076  Some modules will now need to add a line in their configure.ac so they
3077  can use the extra conversions from gtkmm. For instance, with
3078  gtksourceviewmm:
3079  MM_PKG_CONFIG_SUBST([GMMPROC_EXTRA_M4_DIR], [--variable=gmmprocm4dir gtkmm-3.0])
3080  (Murray Cumming)
3081
30822.27.4: (unstable):
3083
3084Gio:
3085* DBus::Address: Wrap the gio dbus address API in this namespace.
3086* DBusConnection:
3087  - Add emit_signal().
3088  - Add call(), call_finish() and call_sync() methods.
3089* DBusMethodInvocationbusmethodinvocation: Remove the default constructor
3090  because it probably will not be used (there is no create() method to
3091  go along with it).
3092* DbusServer: create_sync(): Use g_dbus_server_new_sync() instead of the
3093  constructors because the C function does more than call g_initable_new().
3094  (José Alburquerque)
3095
3096gmmproc:
3097* Improve parsing of the C documentation.
3098  (José Alburquerque)
3099
31002.27.3.1: (unstable):
3101
3102Gio:
3103* Added ApplicationCommandLine.
3104* Application
3105  - Added non-cancellable overload of register_application()
3106  - Return int value from run() correctly
3107  - Fix protected constructor signature
3108  (Jonathon Jongsma)
3109* DBusConnection, DBusProxy, DBusServer: Add non-cancellable overloads of the
3110  constructors and create methods.
3111  Renamed the create() synchronized methods to create_sync().
3112* Initable: Add a non-cancellable overload of the init() method.
3113* Documentation: Added lots of class and method documentation.
3114   (José Alburquerque)
3115
3116
31172.27.3: (unstable):
3118
3119Gio:
3120* Application: Added open().
3121* ActionGroup: Added list_actions.
3122* DataInputStream: Added read_upto(), read_upto_async()
3123  and read_upto_finish().
3124  (Murray Cumming)
3125* DBusConnection: Correct the AsyncInitable inheritance/implementation.
3126* MemoryOutputStream: Added steal_data(), and a const get_data().
3127* NetworkService: Added get_scheme(), set_scheme() and the property.
3128* Socket: Added get_timeout(), set_timeout(),
3129  receive_with_blocking() and send_with_blocking().
3130  (José Alburquerque)
3131* SocketClient:
3132  * Add get_enable_proxy(), set_enable_proxy(),
3133  get_timeout(), set_timeout() and add_application_proxy().
3134  (José Alburquerque)
3135  * Added connect_to_uri(), connect_to_uri_async()
3136  and connect_to_uri_finish().
3137  (Murray Cumming)
3138* SocketConnectable: socketconnectable Added proxy_enumerate() and a
3139  const enumerate().
3140* Added UnixSocketAddress
3141* UnixCredentialMessage, UnixFDMessage: Wrap properties properly.
3142  (José Alburquerque)
3143* giomm.h: Add includes of newly wrapped API.
3144  (José Alburquerque)
3145
3146Glib:
3147* ObjectBase: Fixed compiler errors when the debug warnings are enabled
3148  at compile time.
3149  (Krzesimir Nowak)
3150
31512.27.2: (unstable):
3152
3153Gio:
3154
3155* Added ActionGroup.
3156* Application: Large API changes to match the changed C API.
3157* DBusConnection: Reorder the parameters in the
3158  constructors and create methods so that the DBusConnection flag
3159  parameter has a default value.
3160* DBusProxy: Added get_cached_property().
3161  (José Alburquerque)
3162
3163Glib:
3164* Main: Add get_time(), deprecating get_current_time(), though this needs
3165  more work.
3166  (Murray Cumming)
3167
31682.27.1: (unstable):
3169
3170Gio:
3171* AsyncInitable: Add create_finish().
3172* DBusProxy:
3173  -  Add call(), call_finish() and call_sync() methods.
3174  - Add properties and signals.
3175  (José Alburquerque)
3176* Variant: create methods: Remove the floating reference of the GVariants,
3177  correcting our memory management.
3178
3179Glib:
3180* Added get_system_data_dirs() and get_system_config_dirs().
3181  (Murray Cumming)
3182* Build: Fix a Windows build problem caused by the removal of the optional-API
3183  ifdefs.
3184  (José Alburquerque)
3185
31862.27.0: (unstable):
3187
3188* Depend on glib 2.27.x.
3189* Add Gio:Application.
3190
31912.25.5: (unstable):
3192
3193Gio:
3194* Removed Application (removed in glib 2.26)
3195  This is still in the git master versions.
3196* DBusMessage: Added create_from_blob(), set/get_byte_order(),
3197  get_header_fields(), bytes_needed(), to_blob(), to_exception(), get_locked(),
3198  lock() and copy().
3199* NetworkAddress: Added get_scheme() and property.
3200* Added Proxy, ProxyAddress and ProxyResolver.
3201* Settings: Added reset(), list_children(), list_keys().
3202  (Murray Cumming)
3203* Added DBusAnnotationInfo, DBusArgInfo, DBusMethodInfo, DBusSignalInfo,
3204  DBusPropertyInfo, DBusInterfaceInfo, and DBusNodeInfo.
3205* Added DBusProxy.
3206* Added DBus::watch() and DBus::unwatch_name().
3207* Several other DBus* improvements.
3208  (José Alburquerque)
3209
3210Glib:
3211* Variant: Added get_maybe(), get_size(), get_data(), store(), and
3212  get_n_children().
3213* Added VariantIter.
3214  (Murray Cumming)
3215
32162.25.4: (unstable):
3217
3218Gio:
3219* Added AsyncInitable.
3220* DBusConnection: Added create() methods.
3221* UnixConnection: Add receive/send_credentials() methods.
3222* Added SocketControlMessage, UnixCredentialsMessage and UnixFDMessage.
3223  (José Alburquerque)
3224
32252.25.3: (unstable):
3226
3227Glib:
3228* Added VariantBase and Variant<>.
3229  (José Alburquerque, Murray Cumming)
3230
3231Gio:
3232* Added Application, wrapping GApplication
3233  (Murray Cumming)
3234* Added Credentials.
3235  (Murray Cumming)
3236* Added DBusConnection, DBusMethodInvocation, DBusServer,
3237  DBusAuthObserver and DBusMessage.
3238  (José Alburquerque, Murray Cumming, Martin Braure de Calignon)
3239* Added UnixFDList.
3240   (José Alburquerque)
3241
3242Build:
3243* Fix the build without __STDC_ISO_10646__.
3244  (Koop Mast)
3245
3246
32472.25.2: (unstable):
3248
3249Gio:
3250* Settings: create*() methods:
3251  Use SettingsBackend instead of string context parameters.
3252  (Murray Cumming)
3253
3254
32552.25.1: (unstable):
3256
3257Glib:
3258
3259* Removed the --enable-api-exceptions, --enable-api-properties,
3260  --enable-api-vfuncs and --enable-api-default-signal-handlers options
3261  because nobody needs them any more.
3262  The defines are now always defined, for backwards compatiblity.
3263* Keyfile:
3264  - Added get_int64, get_uint64, set_int64, set_uint64().
3265  - Added load_from_dirs().
3266  (José Alburquerque)
3267* OptionGroup: Added set_translate_func().
3268  (José Alburquerque)
3269* RegEx: Added get_compile_flags(), get_match_flags().
3270  (José Alburquerque)
3271* TimeVal: Avoid compiler warning in TimeVal::as_double()
3272  (Daniel Elstner) Bug #617463 (Alexander Shaduri)
3273* Added Glib::listenv().
3274  (Alex Vallée) Bug #578355.
3275
3276Gio:
3277* DesktopAppInfo: Added get_filename().
3278  (José Alburquerque)
3279* Added Settings, wrapping GSettings.
3280  (Jonathon Jongsmam, José Alburquerque)
3281
32822.24.2 (stable):
3283
3284* Reference Documentation: Add main page text for index.html.
3285  (David King, Murray Cumming)
3286
32872.24.1:
3288
3289* UnixOutputStream: Fix the constructor to use the correct property name.
3290  (Alex Vallee) Bug #615482
3291* Documentation: Strip out the gobject-introspection annotations, and use
3292  other improvements made to docextract_to_xml.py
3293  (José Alburquerque)
3294* Fix the Windows MSVC build. (Armin Burgmeier)
3295
32962.24.0:
3297
3298* Changes in glibmm 2.24 compared to glibmm 2.22:
3299
3300Glib:
3301* BalanceTree: New class, wrapping GTree.
3302  (Szilárd Pfeiffer, Jonathan Jongsma)
3303* Fix ustring::format(non-const char*) and add regression test.
3304  (Debarshi Ray)
3305
3306Gio:
3307* Added InetAddress, NetworkAddress, NetworkService, Resolver, Socket,
3308  SocketAddress, SocketAddressEnumerator, SocketClient, SocketConnectable,
3309  SocketConnection, SocketListener, SocketService, SrvTarget, TcpConnection,
3310  Threaded SocketService, UnixConnection
3311  (Jonanthan Jongsma)
3312* AsyncResult: Add get_source_object_base(), deprecating get_source_object()
3313  because it usually can never work.
3314  (Murray Cumming, Daniel Elstner) Bug #608269 (Michael Hasselmann)
3315* Cancellable: Added release_fd() and make_polldf().
3316File:
3317  - Added has_parent(), supports_thread_contexts(), start_mountable(),
3318  stop_mountable(), poll_mountable()
3319  - Aded create_file_readwrite(),  create_file_readwrite_async().
3320  - Added open_readwrite(), open_readwrite_async(), finish_readwrite(), r
3321  replace_readwrite(), replace_readwrite_async() and finish_replace_readwrite().
3322  - unmount_mountable(), eject_mountable(): Add overrides with MountOperation
3323  parameters.
3324* ThemedIcon: Added get_names().
3325  (Murray Cumming)
3326* NetworkService: Add domain property.
3327  (Krzesimir Nowak)
3328
3329
33302.23.4 (unstable):
3331
3332Gio:
3333* File: Add TypeTraits to fix Gtk::FileChooser::get_files() in gtkmm.
3334  (Jonathan Jongsma) Bug #590940 (Tomasz Jankowski)
3335* MemoryInputStream: Correct data loss/corruption with binary data.
3336  (Alexey Kosilin) Bug #609552 (Holger Seelig)
3337* ThemedIcon: Added get_names().
3338  (Murray Cumming)
3339
3340Glib:
3341* Fix ustring::format(non-const char*) and add regression test.
3342  (Debarshi Ray)
3343
3344Build:
3345* tests: Reorder assignment to LDADD and giomm_ldadd in tests/Makefile.am
3346  to always use the built library, not the installed one.
3347  (David King) Bug #610854 (Pacho Ramos)
3348
33492.23.3 (unstable):
3350
3351Gio:
3352* AsyncResult: Add get_source_object_base(), deprecating get_source_object()
3353  because it usually can never work.
3354  (Murray Cumming, Daniel Elstner) Bug #608269 (Michael Hasselmann)
3355* File: Delete Gio::SlotFileProgress (and friends) at the correct time,
3356  fixing a crash.
3357  (Debarshi Ray) Bug #611521.
3358* IOStream: get_input_stream(), get_output_stream(): Fix reference counting,
3359  fixing a crash.
3360  (Murray Cumming) Bug #607554 (michi7x7)
3361* MemoryInputStream::add_data(): Minor documentation fix.
3362  (Michael Hasselmann)
3363* MemoryOutputStream: Fix the constructor, so this really works.
3364  (Krzysztof Kosiński) Bug #605710
3365
33662.23.2 (unstable):
3367
3368Glib:
3369* BalanceTree: New class, wrapping GTree.
3370  (Szilárd Pfeiffer, Jonathan Jongsma)
3371* NodeTree: get_root() const correction.
3372  (Alexander Shaduri)
3373
3374Gio:
3375* Cancellable: Added release_fd() and make_polldf().
3376* File:
3377  - Added has_parent(), supports_thread_contexts(), start_mountable(),
3378  stop_mountable(), poll_mountable()
3379  - Aded create_file_readwrite(),  create_file_readwrite_async().
3380  - Added open_readwrite(), open_readwrite_async(), finish_readwrite(), r
3381  replace_readwrite(), replace_readwrite_async() and finish_replace_readwrite().
3382  - unmount_mountable(), eject_mountable(): Add overrides with MountOperation
3383  parameters.
3384* NetworkService: Change hostname property to domain.
3385  (Krzesimir Nowak)
3386* SocketConnection: Remove graceful-disconnect property.
3387  (Krzesimir Nowak)
3388* UnixInputStream: Fix the constructor's implementation.
3389  Bug #608665 (Matt Marsh)
3390
3391* Windows: giomm.h: Don't include files on Windows that are not available
3392  on that platform.
3393  (Armin Burgmeier)
3394
33952.23.1 (unstable):
3396
3397    This release adds the BalancedTree class (wrapping GTree) and fixes a number
3398    of bugs, including one where we were accidentally depending on an unreleased
3399    version of glib.
3400
3401    Alexander Shaduri (1):
3402          Bug #594173 - NodeTree::get_root() violates const-correctness
3403
3404    Daniel Elstner (1):
3405          Fine-tune Doxygen configuration to improve output
3406
3407    Jonathon Jongsma (8):
3408          Add non-cancellable versions of a bunch of SocketClient functions
3409          wrap g_socket_connection_factory_create_connection()
3410          A bunch of minor doxygen cleanups around the tree
3411          Fix up some formatting issues for BalancedTree
3412          Rename btree.* to balancedtree.*
3413          Bug #606146 - Relax the glib requirement
3414          Bug 581811 - Gio::content_type_guess() miss the version with a NULL filename
3415
3416    Krzesimir Nowak (1):
3417          Bug #606100 - Fix wrapping properties.
3418
3419    Szilárd Pfeiffer (3):
3420          Implement GTree wrapper
3421          Implemented reference counting for BalancedTree.
3422          Fixed several bugs of balanced binary tree wrapper.
3423
34242.23.0 (unstable):
3425
3426    This release adds API for the new Network I/O classes that were added in
3427    glib 2.22.x (e.g. Gio::Socket, Gio::Resolver, etc). Testing of this new API
3428    would be greatly appreciated. There are a few minor fixes in various other
3429    areas as well.
3430
3431    Armin Burgmeier (2):
3432          Added new files to MSVC projects
3433          ifdef-out inclusion of files not available on Windows in giomm.h
3434
3435    Jonathon Jongsma (18):
3436          Re-enable network IO stuff (GSocket, etc)
3437          Re-enable network IO stuff (Socket, Resolver, etc)
3438          Add socket-client example
3439          Add socket-server example
3440          Take an extra ref from the return of g_inet_socket_address_get_address
3441          Fix another bug in resolver example
3442          Regenerate gio_methods.defs, bump glib requirement
3443          Re-generate gio_docs.xml
3444          Wrap Gio::Mount::get_default_location()
3445          _IGNORE a couple API that we've implemented manually
3446          Wrap SocketClient, SocketConnection, TcpConnection, UnixConnection
3447          Wrap SocketListener
3448          Accidentally marked wrong SocketConnection as non-win32
3449          Re-generate gio signal defs
3450          Wrap SocketService
3451          Wrap ThreadedSocketService
3452          Wrap missing properties of SocketClient, SocketConnection, SocketListener
3453          Add some more .gitignore stuff
3454
3455    José Alburquerque (1):
3456          Make build successful when exceptions, vfuncs, etc. are disabled.
3457
3458    Murray Cumming (1):
3459          Regex: Slight documentation improvement.
3460
3461
34622.22.1 (stable):
3463
3464    This is a quick follow-on release to fix a couple minor issues discovered in
3465    2.22.0.  The tarball has been re-generated with the latest mm-common to fix
3466    a devhelp installation issue. There is also a build fix for when building
3467    with exceptions disabled.
3468
3469    Daniel Elstner (1):
3470          Fix KeyFile build with exceptions disabled
3471
3472
34732.22.0 (stable):
3474
3475    This it he first release in the stable 2.22 series.  It is essentially
3476    equivalent to 2.21.5, but with a few build fixes, etc.
3477
3478    Daniel Elstner (8):
3479          Re-enable input file line markers in gmmproc
3480          Fix broken test for empty _WRAP_METHOD argument
3481          Allow the C documentation to be overridden
3482          Slightly clean up gross Perl code in gmmproc.in
3483          Correctly quote the extracted comment for M4
3484          Enable verbose output of autoreconf
3485          Do not complain about missing docs_override.xml
3486          Support Automake silent rules
3487
3488
34892.21.5 (unstable):
3490
3491    This release is a release candidate for 2.22.0.  As such, some unfinished
3492    API has been disabled (notably the network IO classes that we were not able
3493    to finish in time).  Also, a few documentation-related fixes.
3494
3495    Daniel Elstner (5):
3496          Remove sigc from the Doxygen excluded symbols
3497          Sanitize the Glib::Cond usage example
3498          Officially deprecate GLIBMM_CHECK_PERL macro
3499          Delete obsolete MAINTAINERS file
3500          Implement Gio::Socket ctors using Gio::Initable
3501
3502    Jonathon Jongsma (2):
3503          Add Network I/O classes to new documentation module
3504          disable network io stuff.  punt to next release
3505
3506
35072.21.4.2 (unstable):
3508
3509    This release corrects a mistake in the build setup which prevented
3510    the installation of the gmmproc code generation support files.
3511
3512    Daniel Elstner (1):
3513          Always build tools/ subdirectory (bgo #593518, Vincent Untz)
3514
35152.21.4.1 (unstable):
3516
3517    Daniel Elstner (4):
3518          Reenable hierarchy graphs for each class
3519          Remove header and footer HTML fragments
3520          Use shared mm-common Doxygen style sheet
3521
35222.21.4 (unstable):
3523
3524    Daniel Elstner (59):
3525          Transition to new mm-common build infrastructure
3526
3527    José Alburquerque (1):
3528          Correct the if condition in Gio::MemoryInputStream::add_data().
3529
3530
35312.21.3 (unstable):
3532
3533    David King (1):
3534          Only compile the properties example if properties are enabled.
3535
3536    Jonathon Jongsma (10):
3537          fix release target to use correct tagging scheme
3538          Bug 587173 - Fails to install when bootstrapped with Automake 1.11
3539          add _IGNORE() for a eject_with_operation() which is hand-written
3540          add get_start_stop_type() and Gio::DriveStartStopType enum
3541          add overloads for resolver methods without a cancellable object
3542          add async versions of Resolver methods
3543          Added a simple example showing how to resolve an internet address from a hostname
3544          Fix MemoryInputStream::addData (Bug #589683)
3545          Fix a build error in MemoryInputStream
3546          Add Glib::ObjectBase::freeze_notify()/thaw_notify.  Fixes Bug #575533
3547
3548    José Alburquerque (1):
3549          Repair Glib::KeyFile docs with regard to exceptions. Bug# 587766.
3550
3551    Krzesimir Nowak (1):
3552          Wrapped several ISO 8601 related functions.
3553
3554    Murray Cumming (1):
3555          Corrected the ChangeLog to mention changes that I accidentally committed in last month, but which I did want to commit some time.
3556
35572.21.2 (unstable):
3558
3559Glib:
3560    Daniel Elstner (1):
3561          Treat empty Glib::spawn*() working dir as unset
3562
3563    Jonathon Jongsma (1):
3564          Add OptionGroup::add_entry(.., double&)
3565
3566Gio:
3567    Daniel Elstner (1):
3568          Remove stray semicolons
3569
3570    Jonathon Jongsma (9):
3571          Fix build with glib from master
3572          wrap a couple added GDrive methods
3573          Wrap g_drive_eject_with_operation() and related functions
3574          implement GDrive::stop-button signal
3575          implement Gio::InetAddress::get_native_size()
3576          Implement Gio::Mount::mount/eject_with_operation()
3577          implement Gio::Volume::eject_with_operation()
3578          fix accidental bug in Gio::Drive::eject() that the compiler warned me about
3579          implement Gio::VolumeMonitor::drive-stop-button
3580
35812.21.1 (unstable):
3582
3583Glib:
3584* Date: Constructor: Check for invalid dates.
3585  (José Alburquerque)
3586* Added Glib::ValueArray, for use in gstreamermm.
3587  (José Alburquerque)
3588* Added Glib::file_set_contents().
3589  (Jonathon Jongsma)
3590* gmmproc:
3591  - Avoid problems with spaces in _DEFS() calls.
3592  (Hubert Figuiere) Bug #586785.
3593  - Improve guessing of the *_get_type() function names from enum names.
3594  (José Alburquerque) Bug #575870.
3595
3596Gio:
3597* Cancellable: Added connect() and disconnect().
3598* Added FileIOStream.
3599* Added InetAddress.
3600* Added Initable.
3601* Added IOStream.
3602* Added NetworkAddress.
3603* Added NetworkService.
3604* Added Resolver
3605* Added Socket.
3606* Added SocketAddress.
3607* Added SocketConnectable.
3608* Added SrvTarget.
3609  (Jonathon Jongsma)
3610* File::load_contents() Added overload without the etag_out parameter.
3611  (Hubert Figuiere) Bug #581349.
3612
3613Windows Build:
3614* General Windows fixes.
3615* Fix the build directly from git.
3616(Armin Burgmeier)
3617
36182.20.0 (stable):
3619
3620* Documentation fixes (Daniel Elstner)
3621
36222.19.8 (unstable):
3623(2.19.4 to 2.19.8 were skipped)
3624
3625* Added FILE_CREATE_REPLACE_DESTINATION enum value.
3626* Added Error::TOO_MANY_OPEN_FILES error code.
3627* Fix some compiler warnings about extra ;s.
3628  (Murray Cumming)
3629
36302.19.3 (unstable):
3631
3632* New API:
3633  * BufferedInputStream: buffer_size property
3634  * BufferedOutputStream: buffer_size, auto_grow properties
3635  * DataInputStream: byte_order, newline_type properties
3636  * DataOutputStream: byte_order property
3637  * FilterInputStream: close_base_stream property, get/set_close_base_stream()
3638  * FilterOutputStream: close_base_stream property, get/set_close_base_stream()
3639  * UnixInputStream: fd and close_fd properties, get_fd(), get/set_close_fd()
3640  * UnixOutputStream: fd and close_fd properties, get_fd(), get/set_close_fd()
3641* Make licenses consistent with eachother (library gpl vs. lesser gpl, etc)
3642  (Deng Xiyue)
3643* Fixed some problems when building with exceptions disabled (Murray Cumming)
3644* Build fixes (Theppitak Karoonboonyanan)
3645
36462.19.2 (unstable):
3647
3648* File: Added make_directory_with_parents() method overload with no parameter.
3649  Bug #566003 (Philip Belemezov).
3650* NoteTree: Do not use a non-ASCII dash character in a comment, to
3651  avoid the MSVC++ warning C4819 with Visual Studio 2008.
3652  (Tao Wang) Bug #568072
3653* spawn_*() functions: Added alternative API for when
3654  GLIBMM_EXCEPTIONS_ENABLED is not enabled. (Murray Cumming)
3655  Bug #565487 (Jonathon Jongsma)
3656* uri_*() functions: Fix memory leak.
3657  (Jonathan Jongsma) Bug #566845 (Jason Kasper)
3658* ustring: Add an overload which takes only a format string and no arguments
3659  to be substituted. (Daniel Elstner) Bug #506394.
3660
36612.19.1 (unstable):
3662
3663 * Fix accidental ABI breakage in 2.19.0 caused by adding default handlers for
3664   new Gio::Drive signals
3665
36662.19.0 (unstable):
3667
3668 * wrapped new glib 2.19.x API
3669   * Gio::AppInfo: get_commandline(), can_delete(), do_delete(),
3670     reset_type_associations(), launch_default_for_uri()
3671   * Gio::Drive: new signals changed, disconnected, and eject_button
3672   * Gio::Icon: create(std::string), to_string()(),
3673   * Gio::Mount: guess_content_type_sync(), is_shadowed(), shadow(), unshadow()
3674   * Gio::content_type_from_mine_type();
3675   * Gio::DesktopAppInfo: create_from_keyfile()
3676   * Gio::Emblem: new class
3677   * Gio::EmblemedIcon: new class
3678   * Gio::MemoryOutputStream: new class
3679 * Bugs Fixed:
3680   * 555743 - warning in glibmm
3681   * 562716 - warning fixing cause more warnings.
3682   * 396963 - Add Glib::signal_idle().connect_once()
3683 * Thanks to contributions from Przemysław Grzegorczyk, Dave Foster, Hubert
3684   Figuiere, and Jonathon Jongsma for changes in this release
3685
36862.18.1 (stable):
3687
3688 * Many windows build improvements
3689 * Bugs fixed:
3690   * 506410 - Call of overloaded Stringify is ambiguous
3691   * 529496 - Gio::Error::HOST_NOT_FOUND clashes with a netdb.h #define
3692   * 539891 - Can't use doxygen commands in *_override.xml
3693   * 555576 - name clash in fileinfo.h with winbase.h from VS2005
3694   * 556315 - Extra defs generation utility forgets to generate signals for inter...
3695   * 556387 - FileEnumerator::next_file reference counting problems
3696 * Thanks to contributions from Armin Burgmeier, Jonathon Jongsma, José
3697   Alburquerque, Murray Cumming, and Szilárd Pfeiffer
3698
36992.18.0 (stable):
3700
3701 * Bug #550789: Fixed a licensing issue with some of the tools distributed with
3702   the source tarball (Murray Cumming)
3703
37042.17.3 (unstable):
3705
3706 * More Glib::NodeTree improvements (Szilárd Pfeiffer, Murray Cumming)
3707 * Windows build fixes (Armin Burgmeier)
3708
37092.17.2 (unstable):
3710
3711 * Changes to API that was added in this unstable series:
3712   * Glib::Tree (wrapper around GNode) renamed to Glib::NodeTree  to avoid
3713     confusion with GTree
3714   * pass the node to the traversal the callback (Szilárd Pfeiffer)
3715   * Move TraverseFlags inside the NodeTree class (Murray Cumming)
3716 * New API:
3717   * Added the drive_eject_button signal (Murray Cumming)
3718 * Bug Fixes:
3719   * #423990: glibmm et al don't recognize new GNU m4 (Damien Carbery)
3720   * #529496: Gio::Error::HOST_NOT_FOUND clashes with a netdb.h #define (Murray
3721     Cumming)
3722   * #523043: Initialization of Glib::ObjectBase for derived types should be
3723     mentioned in documentation (Moritz Ulrich)
3724   * #506410: Call of overloaded Stringify is ambiguous (Szilárd Pfeiffer,
3725     Murray Cumming)
3726
37272.17.1 (unstable):
3728
3729  * New API: (Murray Cumming)
3730    * Gio::File: make_directory_with_parents(), query_file_type(), monitor().
3731    * Gio::FileEnumerator: get_container().
3732    * Gio::Mount: guess_content_type() and guess_content_type_finish().
3733    * Gio:ThemedIcon: prepend_name().
3734    * Gio::Volume: get_activation_root().
3735  * Bug Fixes:
3736    * #512348: provide documentation about threadsafety of
3737      Glib::Thread::create() when the slot object is of type sigc::trackable (Chris Vine)
3738    * #538803: minor fixes to Glib::Tree (Levi Bard)
3739    * #540656: Pass NULL in a couple functions instead of an empty string allow
3740      files to be overwritten (Armin Burgmeier)
3741    * #540875: add documentation for Glib::OwnershipType (Johannes Schmid)
3742    * #542929: Fix some compiler warnings (Benjamin Herr)
3743    * Fix AppLaunchContext::get_display(),
3744      AppLaunchContext::get_startup_notify_id() to use a list of Gio::File, not
3745      filepath string.  properly documented we know that this is correct. It's an
3746      API break but this function could nothave worked before. (Murray)
3747    * Bug #543292: Fix visual studio project file (Jens Georg)
3748  * Added Keyfile example (Murray Cumming)
3749
37502.17.0 (unstable):
3751
3752  * Added copy constructor and assignment operator, made GDate constructor visible (José
3753    Alburquerque)
3754  * Added Glib::Tree, a wrapper for GNode, providing an N-ary tree container, more or
3755    less like a standard C++ container (Levi Bard)
3756  * Bug #529648 - give helpful warning message when library user forgets to initialize the
3757    library (Jonathon Jongsma)
3758  * Bug #529533 - Fix bug that prevented for Gio::Mount, Gio::Drive, and Gio::Volume from
3759    being wrapped for some backend implementations (Jonathon Jongsma)
3760
37612.16.2 (stable):
3762
3763 * Bug 526831 – G_OPTION_REMAINING no longer works with OptionEntry (Murray
3764   Cumming)
3765 * Bug 527687 – ustring::erase(iterator) incorrect for non ascii character
3766   (Murray Cumming)
3767 * add API documentation for spawn_* functions (Murray Cumming)
3768 * fix possible memory leak in OptionEntr (Murray Cumming)
3769
37702.16.1 (stable):
3771
3772* Reference-counting bugfix in Gio::File::create() and Gio::File::replace()
3773  (Murray Cumming)
3774* Include Gio::Error header in headers that have API that can throw this
3775  exception (Murray Cumming)
3776* Improve documentation (Murray Cumming)
3777* Build fixes for giomm on win32 (Jonathon Jongsma)
3778* fix warning with g++ 4.3 (Tim Retout)
3779
37802.16.0 (stable):
3781
3782Changes compared to glibmm 2.14:
3783
3784* New Gio API. Check for giomm-2.4 with pkg-config to use this.
3785  (Marko Anastasov, Jonathon Jongsma, José Alburquerque, Murray Cumming)
3786* New Glib::Checksum class.
3787  (Naveen Verma, Murray Cumming)
3788* New uri helper functions: uri_unescape_string(), uri_parse_scheme(),
3789  uri_escape_string().
3790  (Murray Cumming)
3791
37922.15.8 (unstable):
3793
3794* File: load_contents(), load_contents_finish(),  load_partial_contents_finish():
3795  Use char*& instead of char** for contents.
3796  Use std::string& instead of char**  for etag_out.
3797  Added method overloads without cancellable.
3798  (Murray Cumming)
3799* Improved documentation: Mention exceptions instead of errors.
3800
38012.15.7 (unstable):
3802
3803* File:
3804  - Added query_filesystem_info_async() and
3805  query_filesystem_info_finish() because these were added to the C API.
3806  (Murray Cumming)
3807  - Renamed contains_file() to file_has_prefix() because this was changed in the
3808  C API.
3809  (Wouter Bolsterlee)
3810* ThemedIcon: Added append_name() because this was added to the C API.
3811  (Murray Cumming)
3812
3813Glib:
3814* Renamed uri_get_scheme() to uri_parse_scheme() because this was changed
3815  in the C API.
3816  (Wouter Bolsterlee)
3817
3818Documentation:
3819* Corrections to the .devhelp file generation.
3820  (Jonathon Jongsma. Bug #518673)
3821
3822
38232.15.6 (unstable):
3824
3825Gio:
3826* Removed most vfuncs, because they are not useful to application developers,
3827  and are a likely source of errors. (Murray Cumming)
3828* DesktopAppInfo:
3829  - Added Added create(), create_from_file(),
3830    is_hidden() and set_desktop_env()
3831    Renamed new_from_file() to create_from_file().
3832    (José Alburquerque)
3833* File: equal(), get_relative_file(), contains_file(): Take const File
3834  parameters.
3835* FileAttributeInfoList: Added dup().
3836* MemoryInputStream: Added add_data(const void* data, gssize len).
3837* Mount: Really added signals.
3838* MountOperation: Wrapped the ask-question signal.
3839  (Murray Cumming)
3840* Volume:
3841  - Added should_automount().
3842    (Marko Anastasov)
3843  - Really added signals.
3844    (Murray Cumming)
3845* UnixOutputStream, DataOutputStream, DataInputStream: Made constructors
3846  protected.
3847  (Marko Anastasov)
3848
3849
3850Documentation:
3851* Install a devhelp file like the existing gtkmm one.
3852  (Jonathon Jongsma)
3853
38542.15.5 (unstable)
3855
3856Gio:
3857* File, Mount, Volume:
3858  Updated for latest gio API changes, adding a MountFlags parameter to some
3859  methods.
3860  (Jonathon Jongsma)
3861* Volume, VolumeMonitor, Added some vfuncs, though we might remove these
3862  later as they seem useless and likely to be sources of problems.
3863  (Murray Cumming)
3864
3865Glib:
3866* Actually install gi18n-lib.h
3867  (Takao Fujiwara. Bug #515133)
3868
38692.15.4 (unstable):
3870
3871Glib:
3872
3873* AppInfo: Added  vfuncs.
3874  (Jonathon Jongsma)
3875* Added BufferedOutputStream, DataInputStream and DataOutputStream, and
3876  FilterOutputStream.
3877  (Jonathon Jongsma)
3878* Cancellable: Added the signal.
3879  (Murray Cumming)
3880* Added ContentType functions.
3881  (Jonathon Jongsma)
3882* File:
3883  - Added overloads of create_file(), remove(), trash(),
3884    make_directory(), make_symbolic_link(), query_settable_attributes(),
3885    query_writable_namespaces(), query_filesystem_info(),
3886    query_default_handler() and mount_mountable(() without cancellable
3887    parameters.
3888    (Murray Cumming)
3889  - Added copy_attributes(), added mount_enclosing_volume(),
3890    mount_enclosing_volume_finish(), find_enclosing_mount(), and
3891    find_enclosing_mount_finish().
3892    (Murray Cumming)
3893  - set_attributes_from_info(): Reordered parameters so we can have default
3894    values.
3895    (Murray Cumming)
3896  - Added copy_async(), with overloads without slot_progress. copy_finish(),
3897    query_default_handler().
3898    (Marko Anastasov)
3899  - find_enclosing_mount(), append_to(): Reordered parameters and added
3900    overloads without cancellable.
3901    (Murray Cumming)
3902  - Added non-cancellable set_attribute_string(), set_attribute_byte_string(),
3903    set_attribute_{uint32, int32, uint64, int64}.
3904    (José Alburquerque)
3905* Added FilenameCompleter.
3906  (Murray Cumming)
3907* LoadableIcon:
3908  - Derive from Icon, and no longer derive FileIcon from Icon directly.
3909  (Murray Cumming)
3910  - Wrapped some vfuncs and some extra methods.
3911  (Jonathon Jongsma)
3912* Added MemoryInputStream.
3913  (Jonathon Jongsma)
3914* Added ThemedIcon
3915  (Murray Cumming)
3916* Added UnixInputStream, UnixOutputStream, and DesktopAppInfo, available only
3917  on Unix/Linux.
3918  (José Alburquerque, Murray Cumming)
3919* Volume: Added get_mount(), get_identifier(), enumerate_identifiers().
3920  (Marko Anastasov)
3921* VolumeMonitor: Added signals and properties.
3922  (Murray Cumming)
3923
3924Build:
3925* Use local gmmproc files again, instead of only installed ones.
3926  (Murray Cumming)
3927* Fix compile with GCC 4.3.
3928  (Kjartan Maraas)
3929
3930
39312.15.3 (unstable):
3932
3933Gio:
3934* FilterInputStream: Really wrap this.
3935* VolumeMonitor: Workaround a crash in gio due to the
3936  eccentric use of the GType system to discover GVolumeMonitor
3937  implementations. See gio bug #511814.
3938* Added Gio::Error exception.
3939* Added more method overloads without optional parameters, and
3940  reordered more parameters to allow default values.
3941  (Murray Cumming)
3942* giomm.h: Added includes.
3943  (Jonathan Jongsma)
3944
3945* Note that there are some examples in the gtkmm-documentation module.
3946
3947
39482.15.2 (unstable):
3949
3950Glib:
3951
3952* Checksum: New class, wrapping GChecksum.
3953  (Naveen Verma. Bug #510235)
3954* ObjectBase: Added connect_property_changed_with_return()
3955  because connect_property_changed() does not return a sigc::connection.
3956  Bug #433984 (Philip Langdale, Kalle Vahlman).
3957* enums.pl .defs generator: Handle parantheses.
3958  (Marko Anastasov. Bug #498621)
3959
3960Gio:
3961* Added FilterInputStream, Mount, FileMonitor, VolumeMonitor.
3962  (Marko Anastasov, Murray Cumming)
3963* Many methods' parameters have been reordered so we can
3964  add default parameter values.
3965* Many methods now have overloads with less parameters.
3966  (Murray Cumming, José Alburquerque, Marko Anastasov)
3967
3968
39692.15.1 (unstable):
3970
3971Gio:
3972* Actually build the giomm library.
3973* Added API reference documentation.
3974  (Murray Cumming)
3975* Added AppInfo and AppLaunchContext.
3976* Drive:
3977  - Added poll_for_media() and poll_for_media_finish().
3978  - Added capability-checking functions.
3979  (Marko Anastasov)
3980* File: Renamed create() to create_file(),
3981  create_async() to create_file_async() and
3982  create_finish() to create_file_finish() to slightly
3983  reduce confusion with the static create*() methods.
3984* FileInputStream, FileOutputStream: Derive from Seekable.
3985  (Murray Cumming)
3986* FileInputStream, InputStream, Volume: Modified *_finish
3987  functions to take a const AsyncResult.
3988  (Marko Anastasov)
3989* Added LoadableIcon.
3990  (Murray Cumming)
3991* MountOperation: Added MountOperationResult enumeration and make
3992  reply() take this instead of a bool.
3993  (Jonathon Jongsma)
3994
3995  (Murray Cumming)
3996
3997Glib:
3998* Added uri_unescape_string(), uri_get_scheme() and uri_escape_string().
3999  (Murray Cumming
4000
4001
40022.15.0 (unstable):
4003
4004* New giomm library (check for giomm-2.4 with pkg-config)
4005  in the glibmm tarball. This wraps the new gio API in glib 2.15/16.
4006  However, this API could change considerably before the stable
4007  glibmm 2.16 is released.
4008  (Marko Anastasov)
4009* ustring:
4010  - Added compose() to substitute placeholders in a format string, as an
4011  equivalent to sprintf(), to help internationalization/translation.
4012  - Added format() to simplify the common task of converting a value
4013  (such as a number) to a string, with optional stream formatting
4014  parmatters. This uses the regular C++ stream API in its implementation.
4015  (Daniel Elstner, Openismus)
4016* Glib::RefPtr: Deprecate clear(), replacing it with
4017  reset(), because people often do treemodel.clear() when they
4018  mean treemodel->clear(). reset() is consistent with std::auto_ptr<>.
4019  But the method is still there so the compiler still can't help
4020  you to avoid the mistake.
4021  (Murray Cumming)
4022* KeyFile: set_integer_list(),  set_boolean_list(), set_double_list()
4023  actually work now without crashing.
4024  (Daniel Elstner, Openismus)
4025* gmmproc:
4026  - Refuse to generate a wrapper for a construct-only
4027  property which is also write-only, and display a warning.
4028  (Daniel Elstner, bug #436789)
4029  - Added _DERIVES_INITIALLY_UNOWNED to sink floating
4030  references in constructor of classes that wrap
4031  GInitiallyUnowned-derived GTypes. Plus _INITIALLY_UNOWNED_SINK
4032  for hand-written constructors.
4033  (Murray Cumming)
4034* Build:
4035- Fix build for glib 2.15 by including
4036  gtestutils.h instead of gmessages.h to get g_assert(),
4037  though I am angry that this API break has been allowed.
4038  (Murray Cumming)
4039- Fix build for pre-releases of gcc 4.3 - also an include
4040  issue. (Sebastien Bacher, #498438)
4041
40422.14.2:
4043
4044* Build: Hopefully fix the build on NetBSD-4.99.6/amd64.
4045  Bug #386990. (was already in 2.12.7) (Murray Cumming)
4046* gmmproc: Added support for the new _CONFIGINCLUDE() macro.
4047  (Armin Burgmeier)
4048
40492.14.1:
4050
4051* Glib::wrap(): Don't fail when wrapping an interface that
4052  is implemented by an unrecognized type.
4053  gmmproc-generated code now uses the new wrap_auto_interface(),
4054  so newly-generated source code will require this latest glibmm
4055  version.
4056* Increase version number check for glib.
4057  (Rémi Cardona)
4058
40592.14:
4060
4061Changes sinze 2.12:
4062
4063* New Regex class, allowing string searching with regular expressions.
4064  (Murray Cumming, Daniel Elstner)
4065* New KeyFile class.
4066  (Rob Page, Jonathan Jongsma, Murray Cumming)
4067* Main: Added SignalTimeout::connect_seconds().
4068  (Murray Cumming)
4069* OptionContext: Added get/set_summary(), get/set_description(),
4070  set_translation_domain() and set_translate_func().
4071  (Jonathan Jongsma)
4072* Added Glib::get_user_special_dir(), get_user_data_dir(),
4073  get_user_config_dir(), and get_user_cache_dir().
4074  (Jonathan Jongsma, Murray Cumming)
4075* Improved documentation.
4076  (Johannes Schmid, Jonathan Jongsma, Ralf Stephan)
4077
40782.14.0:
4079
4080* Regex:
4081  - Add escape_string().
4082  - match_full(): Rename to match().
4083  - match_all_full(): Rename to match_all().
4084  - split_full(): Rename to split().
4085
40862.13.9:
4087
4088* KeyFile: Added Added get_double(), set_double(), get_double_list()
4089  and set_double_list().
4090  (Murray Cumming)
4091
40922.13.8:
4093
4094* OptionContext: Added get/set_summary(), get/set_description(), set_translation_domain(),
4095  and set_translate_func().
4096  (Jonathon Jongsma)
4097* Documenation:
4098  Added RegEx class documentation. (Johannes Schmid)
4099  Show new API in 2.14.
4100
41012.13.7:
4102
4103* Regex: Added a create() method and added default parameter values.
4104  Added a simple example.
4105* Added  SignalTimeout::connect_seconds(), in addition to the existing
4106  SignalTimeout::connect(), as a wrapper of g_timeout_add_seconds().
4107  Improveed the documentation.
4108* Added get_user_special_dir().
4109  (Murray Cumming)
4110
41112.13.6:
4112
4113* Added Glib::Regex, an API for doing regular expression search/matching.
4114  This is not fully wrapped yet, but the simple versions of the API are there.
4115  We need to write an example for this.
4116  (Murray Cumming)
4117
41182.13.5:
4119
4120* Correctly ifdef-out initialization of deprecated classes.
4121  (Johannes Schmid, Openismus)
4122* Build: Cope with newer m4 versions. (Yselkowitz)
4123
41242.13.4:
4125
4126* Correct initialization when using --disable-deprecated for reduced code-size
4127  on embedded devices. (Johannes Schmid, Openismus)
4128* Glib::ObjectBase::is_derived_() is now public, though it is still only for
4129  internal use. This allows us to do some optimization of default signal handlers and
4130  vfuncs.
4131  (Armin Burgmeier, Openismus)
4132* Options: Don't overwrite default arguments. This change was lost in
4133  March 2006, but now it is back.
4134  (Armin Burgmeier)
4135* Dispatcher: Several minor implementation improvements. (Daniel Elstner)
4136* ustring: Minor improvements. (Daniel Elstner)
4137* Documentation: Actually use the signals documentation again.
4138  (Armin Burgmeier, Openismus)
4139* Build:
4140  - Fix code generation when using the latest m4, and functions named
4141  mkstemp, as experienced on Ubuntu Feisty.
4142  Bug #397167 (Dodji Seketeli, Daniel Elstner)
4143  - helperlist.h: Avoid warnings about a shadowed member.
4144  Bug #420316 from Bradley Bell.
4145  - utility.h: Avoid a warning about a redundant declaration.
4146  Bug #420339 from Bradley Bell.
4147
41482.13.3:
4149
4150
4151* Glib::ObjectBase::is_derived_() is now public, though it is still only for
4152  internal use. This allows us to do some optimization of default signal handlers and
4153  vfuncs.
4154  (Armin Burgmeier, Openismus)
4155* Build:
4156  - helperlist.h: Avoid warnings about a shadowed member.
4157  Bug #420316 from Bradley Bell.
4158  - utility.h: Avoid a warning about a redundant declaration.
4159  Bug #420339 from Bradley Bell.
4160* gmmproc improvements:
4161  - gmmproc: Allow () in property and signal docuemntation.
4162  - gmmproc: Do not try to remove a common prefix from the
4163  C enam values, if there is no common prefix.
4164  - enum.pl: Allow whitespace in front of an enum typedef.
4165  (Daniel Elstner)
4166  - enum.pl: Fix an infinite loop.
4167* ObjectBase: Added connect_property_changed(),
4168  as an alternative to use when the property proxies are not
4169  available because GLIBMM_PROPERTIES_ENABLED is not defined.
4170  (Murray Cumming)
4171* Value: When registering float parameters, use
4172  G_MAXFLOAT as the minimum, instead of G_MINFLOAT.
4173  Likewise for doubles.
4174  (Oliver Nittka)
4175
41762.13.2:
4177
4178*Build:
4179 - Fix for api-default-signal-handlers option.
4180   Bug #357830 (Matt Hoosier)
4181 - win32: Remove unused source file from Visual Studio project.
4182   (Cedric Gustin)
4183
41842.13.1:
4185
4186* KeyFile class added, wrapping GKeyFile,
4187  for parsing of .ini-style files.
4188  (Rob Page)
4189* Added get_user_data_dir(), get_user_config_dir(), and
4190  get_user_cache_dir().
4191  (Jonathon Jongsma)
4192* Support optional ifdef parameters in the .hg macros,
4193  to allow, for instance the --enable-atk=no option,
4194  to disable the build and use of the atkmm API,
4195  for use in embedded environments.
4196  (Johannes Schimd, Murray Cuming, Openismus)
4197* Documentation:
4198  - Small ustring reference documentation improvement.
4199  (Ralf Stephan)
4200
42012.12.0:
4202
4203Changes sinze 2.10:
4204* Added the --enable-api-default-signal-handlers option, for use in
4205  embedded environments that have reduced resources. See configure --help
4206  for the other subsets.
4207* Value: Added init(const GValue*), so we can copy GValue instances
4208  of any type at runtime. Needed by the new branch of libgdamm.
4209
42102.11.3:
4211
4212* Build: Added the --enable-api-default-signal-handlers option, for use in
4213  embedded environments that have reduced resources. See configure --help
4214  for the other subsets.
4215
42162.11.2:
4217
4218* Date: Fix implementation of Glib::Date::set_time_current() so
4219  that it doesn't set the date to Dec 31, 1969.
4220  (Jonathon Jongsma)
4221* Value: Added init(const GValue*), so we can copy GValue instances
4222  of any type at runtime. Needed by the new branch of libgdamm.
4223  (Murray Cumming)
4224* Added a #warning to warn about including X11/Xlib.h before a glibmm header,
4225  which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
4226  (Murray Cumming)
4227* Build:
4228  - Quote some m4 macros to avoid warnings. Bugs (with patches) #347076
4229  and #347077
4230  (Kevin McBride).
4231  - Fix exporting of get/set_property() on mingw32-gcc.
4232  (Cedric Gustin)
4233
4234
4235
4236
42372.10.1
4238
4239* Windows Build:
4240 - Define GLIBMM_DLL when building with mingw32 or cygwin,
4241   because it is needed by gtkmm. Bug #309030
4242 (Cedric Gustin)
4243* OptionGroup: Allow default values, by not initializing them all.
4244  (Armin Burgmeier)
4245* Slight code size reduction by marking private functions as static.
4246  (Murray Cumming)
4247
42482.10.0:
4249
4250* Windows Build:
4251 - ustring.h: Tag npos with GLIBMM_API, in order to
4252   dllexport it on win32. Bug #332438.
4253 - Updated MSVC++ build files and README, for MS Visual Studio 2005.
4254 (Cedric Gustin)
4255* gmmproc code generator:
4256 - WRAP_METHOD() Take an extra optional argument: deprecated deprecationtext -
4257  so that we can insert the appropriate doxygen tag in the documentation, where
4258  the C documentation does not do it for us.
4259
42602.9.1:
4261
4262* Date:
4263  - Added set_time(time_t), set_time(GTimeVal), and deprecated
4264    set_time(GTime)
4265  - Added set_time_current().
4266  (Murray Cumming)
4267* Build: Added --enable-deprecated-api  option. When set to disabled,
4268  it does not build deprecated API. This reduces the size of the
4269  library, and might be useful for embedded devices.
4270  (Murray Cumming)
4271
42722.8.2:
4273
4274* Solaris build fix: Correct the detection
4275  of make. (Mark Rouchal)
4276
42772.8.1:
4278
4279* Build: Check for glib 2.8.
4280
42812.8.0:
4282
4283API additions since glibmm 2.6:
4284
4285* GModule: Add BIND_LOCAL enum value.
4286  (Bug #172748 from Phillip Neiswanger).
4287* MainContext Added signal_child_watch()
4288  and examples/child_watch.
4289  (Yair Hershkovitz)
4290* OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
4291  FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
4292  (Murray Cumming)
4293
42942.7.3:
4295
4296* Updated reference documentation from glib documentation.
4297
42982.7.2:
4299
4300* OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
4301  FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
4302* build_filename() and build_path(): Now use the implementation
4303  from glib.
4304
43052.7.1:
4306
4307* GModule: Add BIND_LOCAL enum value.
4308  (Bug #172748 from Phillip Neiswanger).
4309* MainContext Added signal_child_watch()
4310  and examples/child_watch.
4311  (Yair Hershkovitz)
4312* Fixes from 2.6.2.
4313
43142.6.1:
4315
4316* Interface::add_interface(): Disabled the check for a second call,
4317  introduced in 2.6.0, for now, because it stops some valid uses.
4318  (Bryan Forbes)
4319
43202.6.0:
4321
4322New stable version. Changes compare to glibmm 2.4.x:
4323
4324* Added Option, OptionContext, OptionGroup for parsing of command-line arguments.
4325* Added filename_display_basename() and filename_display_name().
4326* Added setenv() and unsetenv().
4327* add_interface() methods will no longer give warnings if you
4328  call them twice.
4329* gmmproc:
4330  - Now reuses C properties documentation.
4331
43322.5.6:
4333
4334* add_interface() methods will no longer give warnings if you
4335call them twice.
4336* gmmproc: Output properties documentation taken from the .defs.
4337* examples now build on AIX.
4338  (Murray Cumming)
4339* MSVC++ .Net 2003 build fix. (Cedric Gustin)
4340
43412.5.5:
4342
4343* Now builds with the following compilers, in addition to
4344the existing GNU g++, and Intel compilers:
4345- SUN Forte CC 5.5
4346- IBM AIX xlC v7
4347- Tru64 C++ V6.5-042
4348- IRIX MIPSpro 7.4.2m
4349  (Older versions of all these compilers might also work.)
4350  (Murray Cumming, www.thewrittenword.com)
4351* Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
4352  (Cedric Gustin)
4353
43542.5.4:
4355
4356Options:
4357* Added Option(GOptionGroup* cast_item) constructor,
4358  needed by Gtk::Main.
4359* Added reference documentation.
4360(Murray Cumming)
4361
43622.5.3:
4363
4364* Options:
4365  - Allow parsing of boolean arguments (arguments with no value).
4366  - Really use the short names.
4367  (Daniel Holbach, Murray Cumming)
4368* Added filename_display_basename() and filename_display_name().
4369  (Murray Cumming)
4370* Added setenv() and unsetenv(). (Murray Cumming)
4371* Use static keyword to prevent exporting private API.
4372  (Benoît Dejean)
4373* input example: Improvements and simplification. (Chris Vine)
4374
43752.5.2:
4376
4377* OptionEntry: Remove useless enum. (Murray Cumming)
4378* Documentation:
4379  - examples: Added iochannel_stream example. (Chris Vine)
4380  - reference: Generate more reference API from the C documentation, and
4381    try to use the libstdc++ doxygen tags file to link to their
4382    documentation. (Murray Cumming)
4383
43842.5.1:
4385
4386* OptionContext, OptionGroup, OptionEntry: Made the add_entry() methods
4387  type-safe and fixed several problems memory-management problems. This
4388  API is now worth looking at.
4389
43902.5.0:
4391
4392* Added OptionContext, OptionGroup, and OptionEntry classes, for
4393  parsing of command-line options. See examples/options/
4394
43952.4.4:
4396
4397* Signals: Avoid crashes when disconnecting a signal when handling that signal.
4398  (Murray Cumming, Martin Schulze)
4399*
44002.4.3:
4401
4402* Minor improvements to reference documentation. (Daniel Elstner)
4403* Minor Glib::Dispatcher improvements (Daniel Elstner)
4404
44052.4.2:
4406
4407* Glib::Dispatcher: win32 implementation rewritten, and hopefully, improved.
4408  (Daniel Elstner)
4409* Glib::ustring:
4410  - Optimization and code-cleanup. (Daniel Elstner)
4411  - Added reference documentation for constuctors. (Murray Cumming)
4412* Fixed some compiler warnings.
4413  (Daniel Elstner)
4414* gmmproc: Some improvements for libgdamm. (Murray Cumming)
4415
4416
44172.4.1:
4418
4419* Build fixes for gcc 3.4.0.
4420* Doxygen not required when building from tarballs.
4421  (Murray Cumming)
4422
4423
44242.4.0:
4425
4426Changes since 2.2.0:
4427
4428* 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.
4429* When using pkg-config, you should check for "glibmm-2.4".
4430* Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other classes that inherit from SigC::Object.
4431* RefPtr:
4432  - is_null() was removed, to encourage you to use "== 0" instead.
4433  - operator=(CppObject*) was removed.
4434* The gtkmmproc code-generator is now gmmproc, and has several improvements to support gtkmm 2.4.
4435* Now uses improved libsigc++ 2.0 API.
4436* Added i18n.h and i18n-lib.h, which include the relevant
4437  glib headers, which declare internationalization
4438  macros such as _().
4439* New methods:
4440  Glib::spawn_close_id(), Glib::MainLoop::depth(),
4441  Glib::Date::clamp_min(),  Glib::Date::clamp_max().
4442* Improved documentation.
4443
4444
44452.3.8:
4446
4447* Fix crash when using Glib::Main signals.
4448  (Martin Schulze)
4449* Corrected the configure-time SUN compiler check.
4450  (Murray Cumming, Alexander Nedotsukov)
4451
44522.3.7:
4453
4454* Added configure macros to detect SUN compiler oddities.
4455* Various SUN Forte C+ and g++ 3.4 (cvs) build fixes.
4456  (Murray Cumming)
4457* gmmproc: Improved parsing of C docs.
4458  (Hagen Moebius)
4459
44602.3.6:
4461
4462* Added i18n.h and i18n-lib.h, which include the relevant
4463  glib headers, which declare internationalization
4464  macros such as _(). (Murray Cumming)
4465* Added Glib::spawn_close_id(). (Murray Cumming)
4466* Added Glib::MainLoop::depth(). (Murray Cumming)
4467* Documentation: corrections to CHANGES (Martin Schulze).
4468* gmmproc: Can now handle "const const_iterator& iter"
4469  parameter names without getting confused by 2 consts.
4470  (Murray Cumming)
4471
44722.3.5:
4473
4474* glibmm now uses libsigc++ 2 rather than libsigc++ 1.2.
4475
44762.3.4:
4477
4478* ListHandle/SListHandle (intermediate container types):
4479  - Added a const_cast<> to allow lists of const elements.
4480* gmmproc: _WRAP_SIGNAL(): Added optional custom_c_callback
4481  parameter.
4482  (Murray Cumming)
4483* WIN32: Build fixes, mostly merged from the 2.2 branch.
4484  (Cedric Gustin)
4485
44862.3.3:
4487
4488* gmmproc (code generator)
4489  - properties: Make read-only properties have const accessors,
4490    and add a second read-only const accessor for normal
4491    properties. Wrap construct-only properties as read-only,
4492    instead of ignoring them.
4493  - vfuncs: Really generate const vfuncs when requested. Put
4494    the method declaration directly into the .h file, so that
4495    the doxygen documentation can be next to it.
4496  - documentation:
4497    - Remove mergecdocs configure option - always
4498    merge the C docs, to avoid any risk of uploading or
4499    releasing empty documentation. Just delete the *_docs.xml
4500    files to make building from cvs faster.
4501    - Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm
4502    and other *mm projects, to get the perl path needed by
4503    doxygen.
4504    - Install beautify_docs.pl so it can be reused in gtkmm
4505    and other *mm projects, instead of having lots of copies.
4506* Glib::ObjectBase: The default constructor, never before used,
4507  now generates a custom GType, for use when creating new
4508  implementations of Glib::Interfaces - for instance, see the
4509  new custom tree model example in gtkmm.
4510* Glib::Date: Added clamp_min() and clamp_max().
4511  (Murray Cumming)
4512
4513* Documentation:
4514  - Added reference documentation for MainLoop, MainContext,
4515    Source, and Date. (Alberto Paro)
4516
45172.3.2:
4518
4519* gmmproc (code generator):
4520  - signal proxies have extra space to avoid << with templates.
4521  - Added WRAP_METHOD_DOCS_ONLY() for reusing documentation even
4522    when the method is hand-coded.
4523  - _WRAP_SIGNAL(): Added optional no_default_handler parameter,
4524    because some of the new GTK+ signals have no public default
4525    handler vfunc.
4526* Added Glib::init(), for use by non-GUI apps which need to
4527  use Glib::wrap().
4528* PropertyProxy: Can now be used with Interfaces.
4529* Documentation improvements, so that gtkmm docs link to glibmm
4530  docs.
4531  (Murray Cumming)
4532
45332.3.1:
4534
4535* gmmproc changes needed by gtkmm 2.3.0
4536  (Murray Cumming)
4537* examples updated and buildable and working,
4538  without gtkmm code.
4539  (J. Abelardo Gutierrez)
4540
4541Changes in glibmm 2.3.0:
4542
4543* Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm.
4544  This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install this unstable library
4545  without the risk of breaking existing application.
4546* This does not yet require glib 2.3 because there has been no tarball release of that yet. For now, you
4547  can use glibmm 2.3.0 with glib 2.2.x.
4548* When using pkg-config, you should check for "glibmm-2.4".
4549* Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other
4550  classes that inherit from SigC::Object.
4551* RefPtr:
4552  - is_null() was removed, to encourage you to use "== 0" instead.
4553  - operator=(CppObject*) was removed.
4554* gtkmmproc is now gmmproc.
4555* All the glibmm bugfixes in gtkmm 2.2.x.
4556