2018-10-31  Kjell Ahlstedt  <[email protected]>

       2.59.1

2018-10-31  Kjell Ahlstedt  <[email protected]>

       Change the ABI to glibmm-2.60

       So we can use the 2.58 version numbers for stable releases in the
       glibmm-2.4 ABI series.
       We don't need to release a stable ABI-parallel glibmm until
       we need to release gtkmm 4.0, and that won't happen until GTK+ 4.0.0
       happens, and we don't know when that might be.

       We've done similar ABI name changes several times before.

2018-10-31  Kjell Ahlstedt  <[email protected]>

       Glib, Gio: Regenerate .defs and docs.xml files

       and update gio_docs_override.xml.

2018-10-31  Kjell Ahlstedt  <[email protected]>

       Add tools/gen_scripts/generate_all.sh

2018-10-26  Kjell Ahlstedt  <[email protected]>

       tools/test_scripts/testheaders.sh: Require C++17

       and fix a directory test.

2018-10-24  Kjell Ahlstedt  <[email protected]>

       tests/glibmm_ustring_format: Fix non-English langs

       >>>
       when I tested it, the glibmm_ustring_format test failed. It failed
       because my chosen language in Ubuntu is Swedish. The expected "42.00"
       became "42,00". The decimal delimiter is a comma in most European
       languages. English is an exception.
       >>>

       https://gitlab.gnome.org/GNOME/glibmm/merge_requests/4#note_352960

2018-10-14  Daniel Boles  <[email protected]>

       ustring: Remove useless alternative Stringify ctor

       This can never be called, because we explicitly specialise Stringify for
       const char*, so that specialisation will always be used instead of this.

2018-10-14  Daniel Boles  <[email protected]>

       ustring: Avoid un(necessary|clear) ptr @ Stringify

       Rather than storing a pointer in the temporary Stringify objects, we can
       instead store a reference, which is clearer about it being non-optional
       and makes for nicer syntax. Then we return that and use operator& when
       forwarding it to compose_private() in the std::initializer_list, since
       containers can't hold references, so we do need a pointer there. Unless:

       We could perhaps go a step further and make that an initializer_list of
       std::reference_wrapper, avoiding pointers altogether while probably not
       incurring overhead as it is a simple wrapper, but that's one for later.

2018-10-14  Daniel Boles  <[email protected]>

       ustring: Make 1 Stringify member const like others

       This was the only specialisation of Stringify in which the member
       string_ was not already const. Make it so.

2018-10-14  Daniel Boles  <[email protected]>

       tests/glibmm_ustring_format: Test output, iomanips

       We only tested here whether single arguments got formatted without
       throwing exceptions, but not whether they got formatted into the
       expected output or combinations of multiple types and I/O manipulators.

       This adds a test for that, so we at least have something to ensure that
       things are working correctly, e.g. if refactoring format() as I just did

2018-10-14  Daniel Boles  <[email protected]>

       ustring: Use C++17 fold expr. instead of recursion

       Instead of having to manually recurse in order to stream every element
       in the parameter pack, use the new fold expressions, by streaming a
       binary left fold of operator, - to do the same thing in far fewer lines.

2018-10-07  Daniel Boles  <[email protected]>

       AsyncResult: Fix grammar error, <tt>ify enumerator

       This was not a grammar error before C++ification! But let’s fix it
       anyway, and give the enumeration name some nice formatting as well.

2018-09-10  Kjell Ahlstedt  <[email protected]>

       Update .gitignore

2018-09-10  Chun-wei Fan  <[email protected]>

       Fix reference documentation generation

       * docs/Makefile.am: Include the filelist.gmake.am files if applicable
       * glib/glibmm/filelist.gmake.am:
       * gio/src/filelist.gmake.am:
       * gio/giomm/filelist.gmake.am: Include filelist.am relative from
       $(top_srcdir) as we are including the filelist.gmake.am's from docs/
       as well.

2018-09-07  Chun-wei Fan  <[email protected]>

       build: Remove Visual Studio 2017 projects

       This removes the Visual Studio projects as they have been replaced with
       the NMake Makefiles.

2018-09-07  Chun-wei Fan  <[email protected]>

       build: Add NMake Makefiles

       This adds a set of NMake Makefiles which can be used to build glibmm
       with Visual Studio 2017 and later.  This will supersede the Visual
       Studio 2017 project files, as this approach will reduce the likelihood
       of the Visual Studio build files becoming out-of-date as this also
       reads from the various filelist.am's under glib/ and gio/.

       The existing gendef, and generated [glib|gio]mmconfig.h and generated
       [glib|gio]mm.rc will continue to be used.

       The NMake Makefiles will now be distributed instead of the Visual Studio
       project files from this point on.

       The Visual Studio project files will be removed in the next commit

2018-09-07  Chun-wei Fan  <[email protected]>

       glibmm, giomm: Split out GNU automake items from filelist.am

       This enables the filelist.am files to be shared with the NMake
       Makefiles, so that any addition/removal to the sources can be reflected
       in the Visual Studio build files as well.

2018-09-07  Chun-wei Fan  <[email protected]>

       build: Rename MSVC_Net2017 to MSVC_NMake

       This prepares for the transition to using NMake Makefiles for building
       glibmm, rather than the Visual Studio project files, to ease future
       maintenance.

2018-08-31  Kjell Ahlstedt  <[email protected]>

       Avoid compiler warnings from function pointer conversions

       gcc8 -Wextra prints a warning when a single reinterpret_cast is used for
       conversion between different types of function pointers. The previous fix
       with a union in Glib::bitwise_equivalent_cast<>() is not standard C++.
       Rename the function to Glib::function_pointer_cast<>(), and use two
       reinterpret_casts as recommended in gcc's documentation.

       * glib/src/optiongroup.ccg: Use a reinterpret_cast to convert from
       a function pointer to void*. That's possible now. It's "conditionally
       supported", starting with C++11.

       See https://github.com/libsigcplusplus/libsigcplusplus/issues/8

2018-07-18  Kjell Ahlstedt  <[email protected]>

       configure.ac: Require glib-2.0 >= 2.55.1

       and update the bug report address in AC_INIT.

       Fixes #29

2018-07-17  Kjell Ahlstedt  <[email protected]>

       Avoid compiler warnings from function pointer conversions

       gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
       between different types of function pointers. Avoid that by adding
       Glib::bitwise_equivalent_cast<>() with a union with members of
       the two types of function pointers.

       * glib/src/optiongroup.ccg: Use Glib::bitwise_equivalent_cast<>() to convert
       from a function pointer to void*.

       See https://github.com/libsigcplusplus/libsigcplusplus/issues/1

2018-07-17  Kjell Ahlstedt  <[email protected]>

       Revert "Avoid compiler warnings from function pointer conversions"

       This reverts commit fa85bd1161d5d914095d1a3f9b620da294c9af79.

       This can be done in a better way by keeping the union in a template function.

2018-07-13  Kjell Ahlstedt  <[email protected]>

       Avoid compiler warnings from function pointer conversions

       gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion
       between different types of function pointers. Avoid that by instead using
       a union with members of the two types of function pointers.

       See https://github.com/libsigcplusplus/libsigcplusplus/issues/1

2018-07-02  Kjell Ahlstedt  <[email protected]>

       Install giomm/slot_async.h

       Gio::SignalProxy_async_callback() is required in gtkmm.

2018-07-02  Kjell Ahlstedt  <[email protected]>

       convert_gio.m4: Add a conversion of GInputStream

       useful in other modules, e.g. gtkmm.

2018-07-02  Kjell Ahlstedt  <[email protected]>

       gmmproc, _WRAP_METHOD: Accept ":" in slot_callback parameter

       such as slot_callback Gio::SignalProxy_async_callback, useful in gtkmm.

2018-07-01  Daniel Boles  <[email protected]>

       SocketClient: Take copy in RefPtrs for signal args

       Without doing so, the C++ arguments take ownership of the C GObjects
       passed to the handler, so both go out of scope on exiting the handler.

       https://gitlab.gnome.org/GNOME/glibmm/issues/28

2018-05-24  Kjell Ahlstedt  <[email protected]>

       Glib::ExtraClassInit docs: Don't mention Gtk::WidgetCustomDraw

       Gtk::WidgetCustomDraw has been removed. Don't mention it in the
       class documentation of Glib::ExtraClassInit.

2018-05-20  Daniel Boles  <[email protected]>

       AsyncResult: Bin obsolete docs re: initing GThread

       As the GLib Threads documentation states:

       “Since version 2.32, the GLib threading system is automatically
       initialized at the start of your program, and all thread-creation
       functions and synchronization primitives are available right away.”

2018-04-26  Kjell Ahlstedt  <[email protected]>

       Use libsigc++-3.0.tag for libsigc++ documentation

2018-04-26  Clemens Lang  <[email protected]>

       ustring: Fix wchar conversion on macOS with libc++

       libc++ internally represents std::wstrings in UCS-4 just like libstdc++,
       but does not set the __STDC_ISO_10646__ define. This caused the code to
       fall back to calling iconv with the WCHAR_T source character set, which
       does not correctly convert these strings and leads to errors, for
       example in inkscape on startup.

       See https://trac.macports.org/ticket/56214 for an instance of such
       a problem.

       Re-use the UCS4 to UTF8 conversion code when libc++ is detected, which
       solves this. Bug 795338

2018-04-26  Kjell Ahlstedt  <[email protected]>

       Update some @newin commands

       API which is new in the future ABI-breaking release is newin{2,58},
       but this might change again in the future. glibmm-2.58 is still just a
       preliminary name of this ABI. Bug 789330

2018-04-22  Murray Cumming  <[email protected]>

       Revert "Try to disable -Wunused-function for the glibmm_interface_move test."

       This reverts commit 732df7d9cb709f6fd96099654fb83a00d99f26cf.

       This doesn't seem to be a problem any more.

2018-04-08  Murray Cumming  <[email protected]>

       Require C++17.

       Because libsigc++-3.0 now requires C++17.

2018-03-31  Kjell Ahlstedt  <[email protected]>

       Gio::DesktopAppInfo: Add get_locale_string()

2018-03-31  Kjell Ahlstedt  <[email protected]>

       Gio::Application: Add set_option_context_*()

       Add set_option_context_parameter_string(), set_option_context_summary(),
       set_option_context_description().