3 * gmmproc improvements:
4 - gmmproc: Allow () in property and signal docuemntation.
5 - gmmproc: Do not try to remove a common prefix from the
6 C enam values, if there is no common prefix.
7 - enum.pl: Allow whitespace in front of an enum typedef.
9 - enum.pl: Fix an infinite loop.
11 * ObjectBase: Added connect_property_changed(),
12 as an alternative to use when the property proxies are not
13 available because GLIBMM_PROPERTIES_ENABLED is not defined.
15 * Value: When registering float parameters, use
16 G_MAXFLOAT as the minimum, instead of G_MINFLOAT.
23 - Fix for api-default-signal-handlers option.
24 Bug #357830 (Matt Hoosier)
25 - win32: Remove unused source file from Visual Studio project.
30 * KeyFile class added, wrapping GKeyFile,
31 for parsing of .ini-style files.
33 * Added get_user_data_dir(), get_user_config_dir(), and
36 * Support optional ifdef parameters in the .hg macros,
37 to allow, for instance the --enable-atk=no option,
38 to disable the build and use of the atkmm API,
39 for use in embedded environments.
40 (Johannes Schimd, Murray Cuming, Openismus)
42 - Small ustring reference documentation improvement.
48 * Added the --enable-api-default-signal-handlers option, for use in
49 embedded environments that have reduced resources. See configure --help
50 for the other subsets.
51 * Value: Added init(const GValue*), so we can copy GValue instances
52 of any type at runtime. Needed by the new branch of libgdamm.
56 * Build: Added the --enable-api-default-signal-handlers option, for use in
57 embedded environments that have reduced resources. See configure --help
58 for the other subsets.
62 * Date: Fix implementation of Glib::Date::set_time_current() so
63 that it doesn't set the date to Dec 31, 1969.
65 * Value: Added init(const GValue*), so we can copy GValue instances
66 of any type at runtime. Needed by the new branch of libgdamm.
68 * Added a #warning to warn about including X11/Xlib.h before a glibmm header,
69 which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
72 - Quote some m4 macros to avoid warnings. Bugs (with patches) #347076
75 - Fix exporting of get/set_property() on mingw32-gcc.
84 - Define GLIBMM_DLL when building with mingw32 or cygwin,
85 because it is needed by gtkmm. Bug #309030
87 * OptionGroup: Allow default values, by not initializing them all.
89 * Slight code size reduction by marking private functions as static.
95 - ustring.h: Tag npos with GLIBMM_API, in order to
96 dllexport it on win32. Bug #332438.
97 - Updated MSVC++ build files and README, for MS Visual Studio 2005.
99 * gmmproc code generator:
100 - WRAP_METHOD() Take an extra optional argument: deprecated deprecationtext -
101 so that we can insert the appropriate doxygen tag in the documentation, where
102 the C documentation does not do it for us.
107 - Added set_time(time_t), set_time(GTimeVal), and deprecated
109 - Added set_time_current().
111 * Build: Added --enable-deprecated-api option. When set to disabled,
112 it does not build deprecated API. This reduces the size of the
113 library, and might be useful for embedded devices.
118 * Solaris build fix: Correct the detection
119 of make. (Mark Rouchal)
123 * Build: Check for glib 2.8.
127 API additions since glibmm 2.6:
129 * GModule: Add BIND_LOCAL enum value.
130 (Bug #172748 from Phillip Neiswanger).
131 * MainContext Added signal_child_watch()
132 and examples/child_watch.
134 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
135 FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
140 * Updated reference documentation from glib documentation.
144 * OptionEntry: Added FLAG_NO_ARG, FLAG_FILENAME,
145 FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
146 * build_filename() and build_path(): Now use the implementation
151 * GModule: Add BIND_LOCAL enum value.
152 (Bug #172748 from Phillip Neiswanger).
153 * MainContext Added signal_child_watch()
154 and examples/child_watch.
160 * Interface::add_interface(): Disabled the check for a second call,
161 introduced in 2.6.0, for now, because it stops some valid uses.
166 New stable version. Changes compare to glibmm 2.4.x:
168 * Added Option, OptionContext, OptionGroup for parsing of command-line arguments.
169 * Added filename_display_basename() and filename_display_name().
170 * Added setenv() and unsetenv().
171 * add_interface() methods will no longer give warnings if you
174 - Now reuses C properties documentation.
178 * add_interface() methods will no longer give warnings if you
180 * gmmproc: Output properties documentation taken from the .defs.
181 * examples now build on AIX.
183 * MSVC++ .Net 2003 build fix. (Cedric Gustin)
187 * Now builds with the following compilers, in addition to
188 the existing GNU g++, and Intel compilers:
192 - IRIX MIPSpro 7.4.2m
193 (Older versions of all these compilers might also work.)
194 (Murray Cumming, www.thewrittenword.com)
195 * Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
201 * Added Option(GOptionGroup* cast_item) constructor,
203 * Added reference documentation.
209 - Allow parsing of boolean arguments (arguments with no value).
210 - Really use the short names.
211 (Daniel Holbach, Murray Cumming)
212 * Added filename_display_basename() and filename_display_name().
214 * Added setenv() and unsetenv(). (Murray Cumming)
215 * Use static keyword to prevent exporting private API.
217 * input example: Improvements and simplification. (Chris Vine)
221 * OptionEntry: Remove useless enum. (Murray Cumming)
223 - examples: Added iochannel_stream example. (Chris Vine)
224 - reference: Generate more reference API from the C documentation, and
225 try to use the libstdc++ doxygen tags file to link to their
226 documentation. (Murray Cumming)
230 * OptionContext, OptionGroup, OptionEntry: Made the add_entry() methods
231 type-safe and fixed several problems memory-management problems. This
232 API is now worth looking at.
236 * Added OptionContext, OptionGroup, and OptionEntry classes, for
237 parsing of command-line options. See examples/options/
241 * Signals: Avoid crashes when disconnecting a signal when handling that signal.
242 (Murray Cumming, Martin Schulze)
246 * Minor improvements to reference documentation. (Daniel Elstner)
247 * Minor Glib::Dispatcher improvements (Daniel Elstner)
251 * Glib::Dispatcher: win32 implementation rewritten, and hopefully, improved.
254 - Optimization and code-cleanup. (Daniel Elstner)
255 - Added reference documentation for constuctors. (Murray Cumming)
256 * Fixed some compiler warnings.
258 * gmmproc: Some improvements for libgdamm. (Murray Cumming)
263 * Build fixes for gcc 3.4.0.
264 * Doxygen not required when building from tarballs.
272 * 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.
273 * When using pkg-config, you should check for "glibmm-2.4".
274 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other classes that inherit from SigC::Object.
276 - is_null() was removed, to encourage you to use "== 0" instead.
277 - operator=(CppObject*) was removed.
278 * The gtkmmproc code-generator is now gmmproc, and has several improvements to support gtkmm 2.4.
279 * Now uses improved libsigc++ 2.0 API.
280 * Added i18n.h and i18n-lib.h, which include the relevant
281 glib headers, which declare internationalization
284 Glib::spawn_close_id(), Glib::MainLoop::depth(),
285 Glib::Date::clamp_min(), Glib::Date::clamp_max().
286 * Improved documentation.
291 * Fix crash when using Glib::Main signals.
293 * Corrected the configure-time SUN compiler check.
294 (Murray Cumming, Alexander Nedotsukov)
298 * Added configure macros to detect SUN compiler oddities.
299 * Various SUN Forte C+ and g++ 3.4 (cvs) build fixes.
301 * gmmproc: Improved parsing of C docs.
306 * Added i18n.h and i18n-lib.h, which include the relevant
307 glib headers, which declare internationalization
308 macros such as _(). (Murray Cumming)
309 * Added Glib::spawn_close_id(). (Murray Cumming)
310 * Added Glib::MainLoop::depth(). (Murray Cumming)
311 * Documentation: corrections to CHANGES (Martin Schulze).
312 * gmmproc: Can now handle "const const_iterator& iter"
313 parameter names without getting confused by 2 consts.
318 * glibmm now uses libsigc++ 2 rather than libsigc++ 1.2.
322 * ListHandle/SListHandle (intermediate container types):
323 - Added a const_cast<> to allow lists of const elements.
324 * gmmproc: _WRAP_SIGNAL(): Added optional custom_c_callback
327 * WIN32: Build fixes, mostly merged from the 2.2 branch.
332 * gmmproc (code generator)
333 - properties: Make read-only properties have const accessors,
334 and add a second read-only const accessor for normal
335 properties. Wrap construct-only properties as read-only,
336 instead of ignoring them.
337 - vfuncs: Really generate const vfuncs when requested. Put
338 the method declaration directly into the .h file, so that
339 the doxygen documentation can be next to it.
341 - Remove mergecdocs configure option - always
342 merge the C docs, to avoid any risk of uploading or
343 releasing empty documentation. Just delete the *_docs.xml
344 files to make building from cvs faster.
345 - Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm
346 and other *mm projects, to get the perl path needed by
348 - Install beautify_docs.pl so it can be reused in gtkmm
349 and other *mm projects, instead of having lots of copies.
350 * Glib::ObjectBase: The default constructor, never before used,
351 now generates a custom GType, for use when creating new
352 implementations of Glib::Interfaces - for instance, see the
353 new custom tree model example in gtkmm.
354 * Glib::Date: Added clamp_min() and clamp_max().
358 - Added reference documentation for MainLoop, MainContext,
359 Source, and Date. (Alberto Paro)
363 * gmmproc (code generator):
364 - signal proxies have extra space to avoid << with templates.
365 - Added WRAP_METHOD_DOCS_ONLY() for reusing documentation even
366 when the method is hand-coded.
367 - _WRAP_SIGNAL(): Added optional no_default_handler parameter,
368 because some of the new GTK+ signals have no public default
370 * Added Glib::init(), for use by non-GUI apps which need to
372 * PropertyProxy: Can now be used with Interfaces.
373 * Documentation improvements, so that gtkmm docs link to glibmm
379 * gmmproc changes needed by gtkmm 2.3.0
381 * examples updated and buildable and working,
383 (J. Abelardo Gutierrez)
385 Changes in glibmm 2.3.0:
387 * Now separate from gtkmm, so you can use things like Glib::ustring without depending on gtkmm.
388 This glibmm 2.4 API installs in parallel with gtkmm 2.0/2.2, so you can install this unstable library
389 without the risk of breaking existing application.
390 * This does not yet require glib 2.3 because there has been no tarball release of that yet. For now, you
391 can use glibmm 2.3.0 with glib 2.2.x.
392 * When using pkg-config, you should check for "glibmm-2.4".
393 * Glib::ObjectBase inherits virtually from SigC::Object, allowing multiple inheritance with other
394 classes that inherit from SigC::Object.
396 - is_null() was removed, to encourage you to use "== 0" instead.
397 - operator=(CppObject*) was removed.
398 * gtkmmproc is now gmmproc.
399 * All the glibmm bugfixes in gtkmm 2.2.x.