cleanup
[platform/upstream/glib.git] / NEWS
diff --git a/NEWS b/NEWS
index 5674f8c..8b930b7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,561 @@
+Overview of changes in GLib 2.43.1
+==================================
+
+* GQueue now accepts NULL as a sibling in g_queue_insert_before() and
+  g_queue_insert_after()
+
+* Bugs fixed:
+  11059 Linux poll issue
+ 726037 Add G_PARAM_READWRITE value to the GParamFlags enumeration
+ 727988 GMemoryOutputStream hangs when writing more than 1GiB
+ 729739 tlscertificate: add support for loading certificate chains
+ 733791 GSettings: delay backend subscription
+ 736286 Clarify g_file_replace behavior with etags
+ 736620 GQueue: accept NULL sibling for insert_before() and insert_after()
+ 737150 GLib-GIO-WARNING **: Failed to parse translated string 'visible-name...
+ 737160 unhelpful error message
+ 738259 GDBusInterfaceVTable: clarify memory handling for the method() virt...
+ 738551 'interface' variable conflicts with Windows defines
+ 738633 Need to disable SSLv3 in glib-networking
+ 740157 <app> --help doesn't work even when options were added
+ 740309 Fix docs in g_strfreev
+ 740413 Fix the GSettings Registry Backend 
+
+* Translation updates:
+ Norwegian bokmål
+
+
+Overview of changes in GLib 2.43.0
+==================================
+
+* GObject gained a debug option to provide instance counts. To use it,
+  set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count().
+
+* GOption now has a strict POSIX mode in which it stops parsing arguments
+  as soon as a non-option argument is encountered.
+
+* Bugs fixed:
+ 354457 Feature Proposal: Per-Type Statistics for Instantiable GTypes
+ 695082 g_hash_table_remove_all is not save against a call to g_hash_table_remove
+ 723160 GOption: add strict posix mode
+ 728256 gcredentials: add NetBSD support
+ 729739 tlscertificate: add support for loading certificate chains
+ 733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
+ 736273 gdesktopappinfo: Use symbolic names in the code
+ 736284 Keep only one list of signal emissions
+ 736806 gtask: Fix reference count loop causing leaks
+ 736914 Docs: various fixes and improvements
+ 737143 Include <stdint.h> in glib/valgrind.h
+ 737259 gcancellable: Clarify that GSources hold references to GCancellables
+ 737338 gmain: Unref child sources when finalising a GSource
+ 737446 tests: Fix some minor leaks in the unit tests
+ 737451 Provide api to read_all_async
+ 737741 g_datalist_id_get_data assertion fails for non-existant keys
+ 737869 GApplication command line handling breaks --help
+ 738170 g_byte_array_new_take() doesn't initialize array->alloc
+ 738197 g_cond_timed_wait() doesn't time out on Mac OS X
+ 738374 gfile: g_file_equal (x, x) is TRUE
+ 738675 GSubprocessLauncher is missing some data on the docs 
+
+* Translation updates:
+ Bengali (India)
+ Bulgarian
+ Gujarati
+ Italian
+ Telugu
+
+
+Overview of changes in GLib 2.42.0
+===================================
+
+All changes in this release are trivial in nature.
+
+ - introspection warning fixes
+
+ - g_application_add_main_option now uses an enum instead of an 'int'
+   for the type of a parameter
+
+ - added a G_OPTION_FLAG_NONE so that people don't need to use 0
+
+ - gresource: Use GError in more places
+
+ - gresource commandline tool: improve extraction from multiple sections
+
+ - GSource now takes the context lock (if any) in g_source_set_name()
+
+ - new documentation to clarify the use of some APIs related to
+   GVariant, GSource, GApplication
+
+ - other minor updates to docs
+
+* Bugs fixed
+ 736683 Thread safety issues with g_main_context_find_source_by_id
+ 736975 [patch] please document that GVariant serialization needs an
+        out-of-band length field
+
+* Translation updates
+ Danish
+ Hindi
+ Marathi
+ Punjabi
+ Serbian
+ Simplified Chinese
+
+Overview of changes in GLib 2.41.5
+==================================
+
+* Bug fixes:
+ 735819 single native credential struct used for two purposes
+ 735915 glib-building.html uses --enable-gcov instead of --enable-coverage
+ 736350 GDesktopAppInfo: avoid polling on missing desktop dirs
+ 736351 Don't use issetugid() on Android
+        Fix the default application logic in GDesktopAppInfo
+ 736458 Only use rand_s() when targetting Visual Studio >= 2005
+
+* Translation updates
+ Galician
+ Hungarian
+ Indonesian
+ Kannada
+ Latvian
+ Polish
+ Russian
+ Slovenian
+ Tamil
+
+
+Overview of changes in GLib 2.41.4
+==================================
+
+* GApplication now has binding-friendly API to handle
+  commandline options: g_application_add_main_option
+
+* G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
+
+* Bugs fixed:
+ 583330 poll list of mounted file systems (no mtab support)
+ 727455 Command line option parsing from bindings
+ 734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
+ 735179 gsocketclient: Handle cancellation between CONNECTING...
+ 735297 Docs claim that GThread struct is deprecated 
+
+* Translation updates:
+  Assamese
+  Catalan
+  Catalan (Valencian)
+  Czech
+  French
+  German
+  Greek
+  Hebrew
+  Korean
+  Oriya
+  Traditional Chinese
+
+
+Overview of changes in GLib 2.41.3
+==================================
+
+* g_clear_pointer and g_clear_object no longer use atomics
+
+* Bugs fixed:
+ 711547 win32: silence some build warnings
+ 725511 Compiled resource files should have the same /-separators everywhere
+ 725513 Some tests fail to build on W32
+ 725514 W32: gfileutils does not preserve errno correctly
+ 725515 test-printf fails on W32
+ 728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
+ 729703 Leaks a GError in g_file_move
+ 730932 statically assert that reasonable assumptions about enums are true
+ 732085 gtype: Fast-path for g_type_is_a
+ 732754 GDBusMessage: optimise (de)serialisation of fixed arrays
+ 733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
+ 733576 Patches from static analysis run on 2.40
+ 733715 glib's configure.ac makes accidentally use of nested function
+ 733934 win32: improve the package installation dir lookup
+ 733960 W32: spawning a console process creates a new window when stdout...
+ 733969 Remove atomic aspects of g_clear_pointer/object
+ 733982 Do not crash when checking whether an instance type is of a given...
+ 734035 gedit hangs up when there's no GSettings key in the registry 
+
+* Translation updates:
+ Basque
+ Brazilian Portuguese
+ Lithuanian
+ Slovenian
+ Spanish
+
+
+Overview of changes in GLib 2.41.2
+==================================
+
+* The Unicode support has been updated to version 7.0
+  of the Unicode standard
+
+* GNotification now supports priorities for notifications
+
+* GCredentials has gained NetBSD support
+
+* GMutex now uses a faster, native implementation on Linux
+
+* Bugs fixed:
+ 699132 Pluggable event loop backends
+ 720708 g_assert_warning(): number of arguments doesn't match for...
+ 722092 Add GtkApplication resources support
+ 724986 Change gio/data-to-c.pl to /usr/bin/env perl.
+ 727974 Fix up failure-to-see-expected-message logging
+ 728256 gcredentials: add NetBSD support
+ 728401 GDateTime: Add guards to g_date_time_new()
+ 729825 Formatting of g_alloca documentation
+ 729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
+ 730293 clang++-3.4: error: 'register' storage class specifier is ...
+ 731339 giochannel: avoid setting uninitialised length
+ 731424 #ifdef spaghetti for load_user_special_dirs() implementations
+ 731623 GNotification: add support for a priority setting
+ 731929 update tables to unicode 7.0.0
+ 731950 gvalue: New g_value_from_instance
+ 731986 GLib: implement GMutex natively on Linux
+ 732184 GObject: warn on use of deprecated properties
+ 732357 Docs: various fixes and improvements
+ 732429 GActionEntry: improve documentation
+ 732465 Fix build on x64 Visual C++ builds
+ 732704 Docs: various fixes and improvements
+ 732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
+ 732754 GDBusMessage: optimise (de)serialisation of fixed arrays
+ 732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
+ 733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
+ 733146 spawn helper does not use correctly the parameters 
+
+* Translation updates:
+ Lithuanian
+
+
+Overview of changes in GLib 2.41.1
+==================================
+
+* Bug fixes:
+ 697229 Custom Interface implementations will be broken with glib 2.37/38
+ 698614 GObject: prevent installing properties after init
+ 729269 gvariant: Fix confusion between type and format strings in the docs
+ 730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
+ 730807 GMutex performance regression
+ 730963 gconvert: mention that the g_convert len should be in bytes
+ 730984 Faster instance type check for fundamentals
+ 731050 <structname> tags appear in documentation
+ 731200 unconditional 'notify' during g_object_set() is problematic
+ 731335 gtype: guard uses of new fundamental type check
+ 731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
+ 731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
+ 731425 giomodule protects function-call with different token than function...
+ 731513 clang: build failure: implicit declaration of function '__atomic_load_4'
+ 731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
+ 731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
+ 731979 docs: Correct param to interface's default_init()
+ 731996 Return folder as icon for directories
+ 732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
+ 732005 Remove unused assignments
+ 732019 gtestdbus: Don’t close stdout for dbus-daemon
+ 732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
+ 732081 gsocket: Document that g_socket_create_source() holds a socket ref
+ 732107 gsocketlistener: Reconsider closing sockets on listener finalisation
+
+
+Overview of changes in GLib 2.41.0
+===================================
+
+* Many bugfixes found by static analysis, including potential fd leaks
+  and NULL pointer dereferences.
+
+* Increased use of (nullable) attribute on out values and return types
+  now that it is supported (mostly from porting Vala metadata).
+
+* use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
+  files, deprecating g_desktop_app_info_set_desktop_env()
+
+* add support for g_desktop_app_info_get_implementations() to find
+  desktop files that have an Implements= line for a given interface
+
+* GHmac has gained SHA-512 support
+
+* support the new mimeapps specification (most notably, moving the
+  assoications/defaults configuration to ~/.config/mimeapps.list).
+
+* libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
+  when gobject is used from a module for a program that does not itself
+  use gobject and that module is unloaded/reloaded
+
+* ... and many other bug fixes.
+
+ 623552 glib warns if backtrace.py is not present
+ 667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
+ 668152 -framework Carbon linker flag not passed to pkg-config .pc files
+ 707298 libgobject should be linked with -Wl,-z,nodelete
+ 712391 Add g_desktop_app_info_get_implementors()
+ 722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
+ 724741 hmac: Fix support for SHA-512 in GHmac
+ 726040 networkaddress: fix parsing of uri with @ after authority
+ 726318 gio: Document that GSocket is not thread safe
+ 726611 socketclient: Leak on cancellation
+ 726872 gio: Add names to idles and timeouts
+ 727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
+ 727123 GNotification: Some small documentation fixes
+ 727320 docs: Remove escaping '\' from literals
+ 727551 Check use_count of GApplication in g_application_release()
+ 727559 g_file_copy: Don't set GError when we intend to ignore errors
+ 727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
+ 727890 soup_content_sniffer_real_sniff segfault
+ 727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
+ 727928 gapplication-tool fixes
+ 727939 INTLLIBS are always appended in configure checks
+ 727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
+ 728040 Implement new mimeapps spec
+ 728066 Deal with startup notify id being NULL
+ 728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
+ 728285 docs: Use markdown links in .h files, too
+ 728350 gaction: Minor clarifications in the GAction documentation
+ 728380 docs: Remove <!-- --> comment before plural s
+ 728565 gfile: More explicitly document the context for GFileProgressCallback
+ 728983 Docs: various fixes and improvements
+ 729167 gobject: Document that classes/objects/interfaces are zero-filled
+ 729563 GOption: A short option's value is included in G_OPTION_REMAINING
+ 729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
+ 729875 gio: cleanup gdbusmessage.c file
+ 730045 Avoid overeager warning about deprecated properties
+ 730189 gtestutils: Fix a very unlikely FD leak in test fork handling
+ 730190 gsocket: Add missing preconditions to g_socket_send_message()
+ 730277 gthread: Fix use of a local variable after it went out of scope
+ 730278 gsubprocess: Add a missing va_end() call
+ 730295 gdbus-tool: Remove dead variables
+ 730493 Port annotations from Vala metadata
+
+Translations updated:
+ Basque
+ Brazilian Portuguese
+ Catalan
+ Czech
+ Danish
+ Greek
+ Hebrew
+ Hungarian
+ Punjabi
+ Serbian
+ Slovenian
+ Spanish
+ Ukrainian
+
+Overview of changes from GLib 2.39.91 to GLib 2.39.92
+=====================================================
+
+This is a release candidate for 2.40.0.
+
+There are no major changes in this release, but a few serious bugs have
+been fixed.
+
+* Bugs fixed:
+ 710367 Crash in g_settings_backend_dispatch_signal()
+ 723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
+ 724859 Let the test_wait_until() test also run on non-*nix
+ 724916 gio unmount code makes XFCE's Thunar crash
+ 725651 GSubprocessLauncher: Does not copy the calling process environment.
+ 725656 Unskip GVariantDict
+ 725891 gio tests: add codegen to BUILT_SOURCES
+ 726046 Recent commit created symbolic icons issues
+
+* Translations:
+ Chinese
+ French
+ Korean
+ Latvian
+ Norwegian bokmål
+ Portuguese
+ Russian
+ Traditional Chinese
+
+Overview of changes from GLib 2.39.90 to GLib 2.39.91
+=====================================================
+
+This release introduces a hard dependency on present and functioning
+clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
+pthread_condattr_setclock() unless your system happens to have
+pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
+release is known to be broken with at least GNU/Hurd, pending addition
+of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
+
+New API: g_str_to_ascii()
+
+* Fixed bugs:
+ 670144 unconditional use of CLOCK_MONOTONIC is broken
+ 673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
+ 710142 Add more impressive transliteration to GLib
+ 722360 make check fails
+ 722604 (partial) Various tests are failing with 2.39.3
+ 723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
+ 724609 Fix build of GIO on Windows
+ 724687 gmain: make monotonic time really monotonic, everywhere
+ 724706 gsource: document priority of child sources
+ 724707 some GSocket source improvements
+ 724839 GMainContext: some source ID cleanups
+ 724858 Dist gtranslit-data.h
+ 724994 Missing icons for bookmarks in file chooser
+ 725023 Can no longer find apps by executable/desktop file name
+
+* Translations:
+ Lithuanian
+ Polish
+ Thai
+
+Overview of changes from GLib 2.39.4 to GLib 2.39.90
+====================================================
+
+* Fixed bugs:
+ 625408 make GVariant dictionaries more useful
+ 660809 document that if you fail a precondition check, documented guarantees do not apply
+ 661576 fix handling of constructors that destroy half-constructed objects
+ 679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
+ 712837 gvariant: Document the need to cast varargs when constructing GVariants
+ 721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
+ 721977 improve split handling of command line arguments
+ 722033 win32: fixup lib.exe invocation
+ 723422 Fix g_socket_get_available() with TCP on Windows
+ 723616 gio/tests: fix race when generating code
+ 724001 gsubprocess: Fix a broken link in the documentation
+ 724124 glib/tests/collate.c fails if no en_US locale
+ 724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
+ 724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
+ 724239 soup_session_queue_message - Connection terminated unexpectedly
+ 724278 gsocketconnection: Document closing connections with g_io_stream_close()
+ 724330 configure.ac: tweak inotify check
+ 724385 gtestutils: make the new assert messages more detailed
+ 724401 gsubprocess: Mutex leak
+ 724417 glib master build broken on OpenBSD
+ 724434 Build failure in gio/gresolver.c
+
+* Updated translations:
+ Brazilian Portuguese
+ Galician
+ Indonesian
+ Italian
+ Kannada
+ Norwegian bokmål
+ Spanish
+ Thai
+
+Overview of changes from GLib 2.39.3 to GLib 2.39.4
+===================================================
+
+* Fixed Bugs:
+ 139699 Correction for g_main_context_unref()
+ 583036 g_strchomp and g_strchug are not declared const
+ 683388 improve documentation for application developers
+ 685204 ./configure fails to add the '-g' flag to CFLAGS
+ 688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
+ 693299 cannot compile on Solaris: error in gbitlock.c
+ 707111 Clarify type transformability and compatibility
+ 711547 win32: silence some build warnings
+ 719344 Fix the various test programs (or GLib itself) on Windows
+ 722025 cleanup/clarify command line argument encoding on Windows
+ 722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
+ 722326 gstringchunk: Use g_slist_free_full() where possible
+ 722357 gio: fix small memory leak on local xattr
+ 722436 Adjust doc to Makefile.decl renaming
+ 722503 GSimpleAction: add default activate handler
+ 722526 glib/deprecated/gthread.h error on FreeBSD
+ 722591 [documentation] broken link to GtkAction from GAction.html
+ 722973 Broken example in GApplication reference
+ 723048 'network-access' test can fail to guess interface index
+ 723360 gmain: Note that g_source_destroy() can be called multiple times 
+
+* Updated Translations:
+ Assamese
+ Tamil
+ Traditional Chinese
+
+
+Overview of changes from GLib 2.39.2 to GLib 2.39.3
+===================================================
+
+No major changes this release -- mostly lots of small fixes and
+improvements in test coverage.
+
+ * fix a crasher in code from gdbus-codegen
+
+ * improvements to gobject gdb helper script
+
+ * portability:
+
+   - fix a deadlock issue with kqueue on FreeBSD
+
+   - work around a quirk in the sunstudio compiler
+
+   - rename a variable to avoid clashing with a macro definition of
+     'environ' on some platforms (like mingw)
+
+   - use POSIX-specified <poll.h> over <sys/poll.h>
+
+   - many improvements to Visual Studio projects and and some build
+     fixes for Windows
+
+ * tests
+   - a very large number of improvements in test coverage
+
+   - don't report skipped tests as failures
+
+   - return 77 if we skip all tests in an executable
+
+   - improve gtest documentation and fix some minor issues
+
+   - fix g_test_trap_reached_timeout() return value
+
+   - remove some dead code uncovered during test coverage expansion
+
+   - Use tap mode for installed tests too, when using tap
+
+ * fix races in unix signal handling
+
+ * make our GVariant-based commandline tools (glib-compile-schemas,
+   gdbus, gapplication) print out GVariant parse errors in context
+
+ * GApplication now has a --gapplication-service command line switch to
+   turn any GApplication into a service
+
+ * improve compatibility of GApplication and GOptionContext
+
+ * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
+
+ * use a directory monitor in GKeyfileSettingsBackend
+
+ * improve robustness of some GIcon classes
+
+Bugs fixed
+ 141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
+ 613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
+ 708212  g_variant_parser_error_get_quark() has unexpected name.
+ 710965  GApplication: add --gapplication-service switch
+ 711090  periodic failure of spawn-multithreaded async testcase
+ 712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
+ 712630  Revert "gsettings m4: check for .xml in src/builddir"
+ 715028  GVariant: add way to print context of parse errors
+ 719344  Fix the various test programs (or GLib itself) on Windows
+ 720263  gtestutils: skipping a test should count as success, not failure
+ 720539  gdbus-codegen: Fix crasher in goa-using apps
+ 720635  Make gdb pretty-printers compatible with Python3
+ 720891  g_settings_get_child does not inherit the backend
+ 721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
+ 721059  g_subprocess_launcher_set_environ vs "environ"
+ 721074  kqueue: deadlock
+ 721087  Missing -lselinux in pkg-config --libs --static gio-2.0
+ 721324  Error message is printed to stdout
+ 721624  Regression in GTest framework reorders existing test cases
+ 721625  backwards NEWS entry about g_source_remove change
+ 721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
+ 721947  Improve GApplication ⇔ GOptionContext compatibility 
+
+Translations updated:
+ Brazilian Portuguese
+ Galician
+ Greek
+ Hebrew
+
 Overview of changes from GLib 2.39.1 to GLib 2.39.2
 ===================================================
 
@@ -330,7 +888,7 @@ Overview of changes from GLib 2.38.0 to GLib 2.39.0
 
    - fix handling of overflowing the 'next source id' counter
 
-   - g_source_remove() will not throw a critical in the case that you
+   - g_source_remove() will now throw a critical in the case that you
      try to remove a non-existent source.  We expect that there is some
      code in the wild that will fall afoul of this new critical but
      considering that we now reuse source IDs, this code is already