* bugfix from http://tracker.ardour.org/view.php?id=2155 thanks to kristian: fix...
[ardour.git] / libs / glibmm2 / NEWS
1 2.14.2:
2
3 * Build: Hopefully fix the build on NetBSD-4.99.6/amd64.
4   Bug #386990. (was already in 2.12.7) (Murray Cumming)
5 * gmmproc: Added support for the new _CONFIGINCLUDE() macro.
6   (Armin Burgmeier)
7
8 2.14.1:
9
10 * Glib::wrap(): Don't fail when wrapping an interface that 
11   is implemented by an unrecognized type.
12   gmmproc-generated code now uses the new wrap_auto_interface(), 
13   so newly-generated source code will require this latest glibmm 
14   version.
15 * Increase version number check for glib.
16   (Rémi Cardona)
17
18 2.14:
19
20 Changes sinze 2.12:
21
22 * New Regex class, allowing string searching with regular expressions.
23   (Murray Cumming, Daniel Elstner)
24 * New KeyFile class.
25   (Rob Page, Jonathan Jongsma, Murray Cumming)
26 * Main: Added SignalTimeout::connect_seconds().
27   (Murray Cumming)
28 * OptionContext: Added get/set_summary(), get/set_description(), 
29   set_translation_domain() and set_translate_func().
30   (Jonathan Jongsma)
31 * Added Glib::get_user_special_dir(), get_user_data_dir(),
32   get_user_config_dir(), and get_user_cache_dir().
33   (Jonathan Jongsma, Murray Cumming)
34 * Improved documentation.
35   (Johannes Schmid, Jonathan Jongsma, Ralf Stephan)
36
37 2.14.0:
38
39 * Regex:
40   - Add escape_string().
41   - match_full(): Rename to match().
42   - match_all_full(): Rename to match_all().
43   - split_full(): Rename to split().
44
45 2.13.9:
46
47 * KeyFile: Added Added get_double(), set_double(), get_double_list() 
48   and set_double_list().
49   (Murray Cumming)
50
51 2.13.8:
52
53 * OptionContext: Added get/set_summary(), get/set_description(), set_translation_domain(),
54   and set_translate_func().
55   (Jonathon Jongsma)
56 * Documenation:
57   Added RegEx class documentation. (Johannes Schmid)
58   Show new API in 2.14.
59
60 2.13.7:
61
62 * Regex: Added a create() method and added default parameter values.
63   Added a simple example.
64 * Added  SignalTimeout::connect_seconds(), in addition to the existing 
65   SignalTimeout::connect(), as a wrapper of g_timeout_add_seconds().
66   Improveed the documentation.
67 * Added get_user_special_dir().
68   (Murray Cumming)
69
70 2.13.6:
71
72 * Added Glib::Regex, an API for doing regular expression search/matching.
73   This is not fully wrapped yet, but the simple versions of the API are there.
74   We need to write an example for this.
75   (Murray Cumming)
76
77 2.13.5:
78
79 * Correctly ifdef-out initialization of deprecated classes.
80   (Johannes Schmid, Openismus)
81 * Build: Cope with newer m4 versions. (Yselkowitz)
82
83 2.13.4:
84
85 * Correct initialization when using --disable-deprecated for reduced code-size 
86   on embedded devices. (Johannes Schmid, Openismus)
87 * Glib::ObjectBase::is_derived_() is now public, though it is still only for 
88   internal use. This allows us to do some optimization of default signal handlers and 
89   vfuncs.
90   (Armin Burgmeier, Openismus)
91 * Options: Don't overwrite default arguments. This change was lost in 
92   March 2006, but now it is back.
93   (Armin Burgmeier)
94 * Dispatcher: Several minor implementation improvements. (Daniel Elstner)
95 * ustring: Minor improvements. (Daniel Elstner)
96 * Documentation: Actually use the signals documentation again.
97   (Armin Burgmeier, Openismus)
98 * Build:
99   - Fix code generation when using the latest m4, and functions named 
100   mkstemp, as experienced on Ubuntu Feisty.
101   Bug #397167 (Dodji Seketeli, Daniel Elstner)
102   - helperlist.h: Avoid warnings about a shadowed member.
103   Bug #420316 from Bradley Bell.
104   - utility.h: Avoid a warning about a redundant declaration.
105   Bug #420339 from Bradley Bell.
106
107 2.13.3:
108
109
110 * Glib::ObjectBase::is_derived_() is now public, though it is still only for 
111   internal use. This allows us to do some optimization of default signal handlers and 
112   vfuncs.
113   (Armin Burgmeier, Openismus)
114 * Build:
115   - helperlist.h: Avoid warnings about a shadowed member.
116   Bug #420316 from Bradley Bell.
117   - utility.h: Avoid a warning about a redundant declaration.
118   Bug #420339 from Bradley Bell.
119 * gmmproc improvements:
120   - gmmproc: Allow () in property and signal docuemntation.
121   - gmmproc: Do not try to remove a common prefix from the 
122   C enam values, if there is no common prefix.
123   - enum.pl: Allow whitespace in front of an enum typedef. 
124   (Daniel Elstner)
125   - enum.pl: Fix an infinite loop.
126 * ObjectBase: Added connect_property_changed(), 
127   as an alternative to use when the property proxies are not 
128   available because GLIBMM_PROPERTIES_ENABLED is not defined.
129   (Murray Cumming)
130 * Value: When registering float parameters, use 
131   G_MAXFLOAT as the minimum, instead of G_MINFLOAT.
132   Likewise for doubles.
133   (Oliver Nittka)
134
135 2.13.2:
136
137 *Build:
138  - Fix for api-default-signal-handlers option.
139    Bug #357830 (Matt Hoosier)
140  - win32: Remove unused source file from Visual Studio project.
141    (Cedric Gustin)
142
143 2.13.1:
144
145 * KeyFile class added, wrapping GKeyFile, 
146   for parsing of .ini-style files.
147   (Rob Page)
148 * Added get_user_data_dir(), get_user_config_dir(), and 
149   get_user_cache_dir().
150   (Jonathon Jongsma)
151 * Support optional ifdef parameters in the .hg macros, 
152   to allow, for instance the --enable-atk=no option, 
153   to disable the build and use of the atkmm API, 
154   for use in embedded environments.
155   (Johannes Schimd, Murray Cuming, Openismus)
156 * Documentation: 
157   - Small ustring reference documentation improvement.
158   (Ralf Stephan)
159
160 2.12.0:
161
162 Changes sinze 2.10:
163 * Added the --enable-api-default-signal-handlers option, for use in 
164   embedded environments that have reduced resources. See configure --help 
165   for the other subsets.
166 * Value: Added init(const GValue*), so we can copy GValue instances 
167   of any type at runtime. Needed by the new branch of libgdamm.
168
169 2.11.3:
170
171 * Build: Added the --enable-api-default-signal-handlers option, for use in 
172   embedded environments that have reduced resources. See configure --help 
173   for the other subsets.
174
175 2.11.2:
176
177 * Date: Fix implementation of Glib::Date::set_time_current() so
178   that it doesn't set the date to Dec 31, 1969.
179   (Jonathon Jongsma)
180 * Value: Added init(const GValue*), so we can copy GValue instances 
181   of any type at runtime. Needed by the new branch of libgdamm.
182   (Murray Cumming)
183 * Added a #warning to warn about including X11/Xlib.h before a glibmm header, 
184   which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
185   (Murray Cumming)
186 * Build: 
187   - Quote some m4 macros to avoid warnings. Bugs (with patches) #347076 
188   and #347077
189   (Kevin McBride).
190   - Fix exporting of get/set_property() on mingw32-gcc.
191   (Cedric Gustin)
192
193
194
195
196 2.10.1
197
198 * Windows Build:
199  - Define GLIBMM_DLL when building with mingw32 or cygwin, 
200    because it is needed by gtkmm. Bug #309030
201  (Cedric Gustin)
202 * OptionGroup: Allow default values, by not initializing them all.
203   (Armin Burgmeier)
204 * Slight code size reduction by marking private functions as static.
205   (Murray Cumming)
206
207 2.10.0:
208
209 * Windows Build:
210  - ustring.h: Tag npos with GLIBMM_API, in order to
211    dllexport it on win32. Bug #332438.
212  - Updated MSVC++ build files and README, for MS Visual Studio 2005.
213  (Cedric Gustin)
214 * gmmproc code generator: 
215  - WRAP_METHOD() Take an extra optional argument: deprecated deprecationtext - 
216   so that we can insert the appropriate doxygen tag in the documentation, where 
217   the C documentation does not do it for us.
218
219 2.9.1:
220
221 * Date:
222   - Added set_time(time_t), set_time(GTimeVal), and deprecated  
223     set_time(GTime)
224   - Added set_time_current().
225   (Murray Cumming)
226 * Build: Added --enable-deprecated-api  option. When set to disabled, 
227   it does not build deprecated API. This reduces the size of the 
228   library, and might be useful for embedded devices.
229   (Murray Cumming)
230
231 2.8.2:
232
233 * Solaris build fix: Correct the detection 
234   of make. (Mark Rouchal)
235
236 2.8.1:
237
238 * Build: Check for glib 2.8.
239
240 2.8.0:
241
242 API additions since glibmm 2.6:
243
244 * GModule: Add BIND_LOCAL enum value.
245   (Bug #172748 from Phillip Neiswanger).
246 * MainContext Added signal_child_watch()
247   and examples/child_watch.
248   (Yair Hershkovitz)
249 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME, 
250   FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
251   (Murray Cumming)
252
253 2.7.3:
254
255 * Updated reference documentation from glib documentation.
256
257 2.7.2:
258
259 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME, 
260   FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
261 * build_filename() and build_path(): Now use the implementation 
262   from glib.
263
264 2.7.1:
265
266 * GModule: Add BIND_LOCAL enum value.
267   (Bug #172748 from Phillip Neiswanger).
268 * MainContext Added signal_child_watch()
269   and examples/child_watch.
270   (Yair Hershkovitz)
271 * Fixes from 2.6.2.
272
273 2.6.1:
274
275 * Interface::add_interface(): Disabled the check for a second call, 
276   introduced in 2.6.0, for now, because it stops some valid uses.
277   (Bryan Forbes)
278
279 2.6.0:
280
281 New stable version. Changes compare to glibmm 2.4.x:
282
283 * Added Option, OptionContext, OptionGroup for parsing of command-line arguments.
284 * Added filename_display_basename() and filename_display_name().
285 * Added setenv() and unsetenv().
286 * add_interface() methods will no longer give warnings if you 
287   call them twice.
288 * gmmproc:
289   - Now reuses C properties documentation.
290
291 2.5.6:
292
293 * add_interface() methods will no longer give warnings if you 
294 call them twice.
295 * gmmproc: Output properties documentation taken from the .defs.
296 * examples now build on AIX.
297   (Murray Cumming)
298 * MSVC++ .Net 2003 build fix. (Cedric Gustin)
299
300 2.5.5:
301
302 * Now builds with the following compilers, in addition to 
303 the existing GNU g++, and Intel compilers:
304 - SUN Forte CC 5.5
305 - IBM AIX xlC v7
306 - Tru64 C++ V6.5-042
307 - IRIX MIPSpro 7.4.2m
308   (Older versions of all these compilers might also work.)
309   (Murray Cumming, www.thewrittenword.com)
310 * Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
311   (Cedric Gustin)
312   
313 2.5.4:
314
315 Options:
316 * Added Option(GOptionGroup* cast_item) constructor,
317   needed by Gtk::Main.
318 * Added reference documentation.
319 (Murray Cumming)
320
321 2.5.3:
322
323 * Options:
324   - Allow parsing of boolean arguments (arguments with no value).
325   - Really use the short names.  
326   (Daniel Holbach, Murray Cumming)
327 * Added filename_display_basename() and filename_display_name().
328   (Murray Cumming)
329 * Added setenv() and unsetenv(). (Murray Cumming)
330 * Use static keyword to prevent exporting private API.
331   (Benoît Dejean)
332 * input example: Improvements and simplification. (Chris Vine) 
333
334 2.5.2:
335
336 * OptionEntry: Remove useless enum. (Murray Cumming)
337 * Documentation:
338   - examples: Added iochannel_stream example. (Chris Vine)
339   - reference: Generate more reference API from the C documentation, and
340     try to use the libstdc++ doxygen tags file to link to their 
341     documentation. (Murray Cumming)
342
343 2.5.1:
344
345 * OptionContext, OptionGroup, OptionEntry: Made the add_entry() methods 
346   type-safe and fixed several problems memory-management problems. This 
347   API is now worth looking at.
348
349 2.5.0:
350
351 * Added OptionContext, OptionGroup, and OptionEntry classes, for
352   parsing of command-line options. See examples/options/
353
354 2.4.4:
355
356 * Signals: Avoid crashes when disconnecting a signal when handling that signal.
357   (Murray Cumming, Martin Schulze)
358
359 2.4.3:
360
361 * Minor improvements to reference documentation. (Daniel Elstner)
362 * Minor Glib::Dispatcher improvements (Daniel Elstner)
363
364 2.4.2:
365
366 * Glib::Dispatcher: win32 implementation rewritten, and hopefully, improved.
367   (Daniel Elstner)
368 * Glib::ustring:
369   - Optimization and code-cleanup. (Daniel Elstner)
370   - Added reference documentation for constuctors. (Murray Cumming)
371 * Fixed some compiler warnings.
372   (Daniel Elstner)
373 * gmmproc: Some improvements for libgdamm. (Murray Cumming)
374
375
376 2.4.1:
377
378 * Build fixes for gcc 3.4.0.
379 * Doxygen not required when building from tarballs.
380   (Murray Cumming)
381
382
383 2.4.0:
384
385 Changes since 2.2.0:
386
387 * Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm. This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install applications which use either.
388 * When using pkg-config, you should check for "glibmm-2.4".
389 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other classes that inherit from SigC::Object.
390 * RefPtr:
391   - is_null() was removed, to encourage you to use "== 0" instead.
392   - operator=(CppObject*) was removed.
393 * The gtkmmproc code-generator is now gmmproc, and has several improvements to support gtkmm 2.4.
394 * Now uses improved libsigc++ 2.0 API.
395 * Added i18n.h and i18n-lib.h, which include the relevant
396   glib headers, which declare internationalization 
397   macros such as _().
398 * New methods:
399   Glib::spawn_close_id(), Glib::MainLoop::depth(),
400   Glib::Date::clamp_min(),  Glib::Date::clamp_max(). 
401 * Improved documentation.
402
403  
404 2.3.8:
405
406 * Fix crash when using Glib::Main signals.
407   (Martin Schulze)
408 * Corrected the configure-time SUN compiler check.
409   (Murray Cumming, Alexander Nedotsukov)
410
411 2.3.7:
412
413 * Added configure macros to detect SUN compiler oddities.
414 * Various SUN Forte C+ and g++ 3.4 (cvs) build fixes.
415   (Murray Cumming)
416 * gmmproc: Improved parsing of C docs.
417   (Hagen Moebius)
418
419 2.3.6:
420
421 * Added i18n.h and i18n-lib.h, which include the relevant
422   glib headers, which declare internationalization 
423   macros such as _(). (Murray Cumming)
424 * Added Glib::spawn_close_id(). (Murray Cumming)
425 * Added Glib::MainLoop::depth(). (Murray Cumming)
426 * Documentation: corrections to CHANGES (Martin Schulze).
427 * gmmproc: Can now handle "const const_iterator& iter"
428   parameter names without getting confused by 2 consts.
429   (Murray Cumming)
430
431 2.3.5:
432
433 * glibmm now uses libsigc++ 2 rather than libsigc++ 1.2.
434  
435 2.3.4:
436
437 * ListHandle/SListHandle (intermediate container types):
438   - Added a const_cast<> to allow lists of const elements.
439 * gmmproc: _WRAP_SIGNAL(): Added optional custom_c_callback 
440   parameter.
441   (Murray Cumming)
442 * WIN32: Build fixes, mostly merged from the 2.2 branch.
443   (Cedric Gustin) 
444  
445 2.3.3:
446
447 * gmmproc (code generator)
448   - properties: Make read-only properties have const accessors,
449     and add a second read-only const accessor for normal
450     properties. Wrap construct-only properties as read-only,
451     instead of ignoring them.
452   - vfuncs: Really generate const vfuncs when requested. Put
453     the method declaration directly into the .h file, so that
454     the doxygen documentation can be next to it.
455   - documentation:
456     - Remove mergecdocs configure option - always
457     merge the C docs, to avoid any risk of uploading or
458     releasing empty documentation. Just delete the *_docs.xml
459     files to make building from cvs faster.
460     - Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm
461     and other *mm projects, to get the perl path needed by
462     doxygen.
463     - Install beautify_docs.pl so it can be reused in gtkmm
464     and other *mm projects, instead of having lots of copies.
465 * Glib::ObjectBase: The default constructor, never before used,
466   now generates a custom GType, for use when creating new
467   implementations of Glib::Interfaces - for instance, see the
468   new custom tree model example in gtkmm.
469 * Glib::Date: Added clamp_min() and clamp_max().
470   (Murray Cumming)
471
472 * Documentation:
473   - Added reference documentation for MainLoop, MainContext, 
474     Source, and Date. (Alberto Paro)
475   
476 2.3.2:
477
478 * gmmproc (code generator):
479   - signal proxies have extra space to avoid << with templates.
480   - Added WRAP_METHOD_DOCS_ONLY() for reusing documentation even
481     when the method is hand-coded.
482   - _WRAP_SIGNAL(): Added optional no_default_handler parameter,
483     because some of the new GTK+ signals have no public default 
484     handler vfunc.
485 * Added Glib::init(), for use by non-GUI apps which need to 
486   use Glib::wrap().
487 * PropertyProxy: Can now be used with Interfaces.
488 * Documentation improvements, so that gtkmm docs link to glibmm
489   docs.
490   (Murray Cumming)
491
492 2.3.1:
493
494 * gmmproc changes needed by gtkmm 2.3.0
495   (Murray Cumming)
496 * examples updated and buildable and working,
497   without gtkmm code.
498   (J. Abelardo Gutierrez)
499
500 Changes in glibmm 2.3.0:
501
502 * Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm.
503   This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install this unstable library 
504   without the risk of breaking existing application.
505 * This does not yet require glib 2.3 because there has been no tarball release of that yet. For now, you
506   can use glibmm 2.3.0 with glib 2.2.x.
507 * When using pkg-config, you should check for "glibmm-2.4".
508 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other
509   classes that inherit from SigC::Object.
510 * RefPtr:
511   - is_null() was removed, to encourage you to use "== 0" instead.
512   - operator=(CppObject*) was removed.
513 * gtkmmproc is now gmmproc.
514 * All the glibmm bugfixes in gtkmm 2.2.x.