Update the year in the *.rc.in files
[platform/upstream/glib.git] / NEWS
diff --git a/NEWS b/NEWS
index 140330e..53ffb49 100644 (file)
--- a/NEWS
+++ b/NEWS
+Overview of changes from GLib 2.29.4 to 2.29.6
+==============================================
+
+* Atomic operations have been rewritten from scratch to make use
+  of gcc builtins where possible. As a side-effect of this, calls
+  to g_atomic_ API with explicit casts may now be problematic; if
+  that happens to you, try first to remove the casts. Another
+  side-effect of the rewrite is that g_atomic_int_exchange_and_add
+  has been deprecated in favor of g_atomic_int_add.
+
+* A full set of atomic operations on pointers has been added,
+  including bit locks in pointer-size locations.
+
+* Access to quarks is now lockless
+
+* GObject data scalability has been greatly improved
+
+* g_data_time_format now supports alternative digits and padding
+
+* Introspection improvements:
+ - Add a boxed type for GVariantBuilder
+ - Annotation fixes in GDBus, GVariant, g_base64_
+
+* Bugs fixed:
+ 502560 g_rand_double_range returns 'inf'
+ 612729 g_mkdir_with_parents can fail if the directory already exists
+ 617491 g_once() implementation is inefficient
+ 619418 Add a performance test for UTF-8 decoding functions
+ 619435 Make g_utf8_to_ucs4_fast() yet faster
+ 626549 G_STATIC_ASSERT_EXPR
+ 631231 bitlock: Fix detection and usage of futexes with Bionic
+ 632294 g_queue_remove() should return a boolean
+ 640518 GMainLoop has quadratic complexity when all pollfd's...
+ 642026 Race condition in g_static_private_free
+ 646635 Fix introspection of GLib
+ 648678 g_date_time_format(): support %O flags for localized numbers
+ 649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
+ 649506 GTestFunc et al lacking Since tag
+ 649657 Don't return gboolean for functions that throw
+ 649775 glib-gio-gdbuscodegen-Makefile.patch
+ 649915 gsettings accepts unquoted strings longer than two characters
+ 649973 gthread: build unix tests only on unix
+ 649988 gdbus-codegen: Drop dependency on argparse
+ 650078 forkbomb building glib/tests/protocol
+ 650211 Optimization in key file parsing
+ 650236 Application over DBus implements action state incorrectly
+ 650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
+ 650458 reduce overhead in g_object_set/get_data
+ 650459 hash table consistency while calling destroy notify funcs
+ 650688 enforce rules about hash table modification
+ 650823 expand the set of atomic ops
+ 650874 codegen chokes on docs
+ 650882 use stdout instead of stderr for informational messages
+ 650884 fix compilation with gcc2
+ 650885 implement glib credentials on OpenBSD (hackish)
+ 650935 G_GNUC_MAY_ALIAS and atomic ops
+ 651009 minor documentation fix
+ 651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
+ 651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
+ 651141 hashtable infinite loop
+ 651219 fix path to true(1) on OpenBSD
+ 651223 Fix some compile warnings on OpenBSD
+ 651327 Minor fixes for the gsocket API
+ 651467 Add pointer sized bitlocks
+ 651650 gdbus: Avoid busy wait loop
+ 651725 gmain: Cleanups and a new test case
+ 651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
+
+* Updated translations:
+ Catalan (Valencian)
+ Esperanto
+ Hebrew
+ Hungarian
+ Russian
+ Spanish
+
+
+Overview of changes from GLib 2.29.2 to 2.29.4
+==============================================
+
+* GDBus:
+ - Includes several new types to support modeling D-Bus
+   objects and interfaces more fully, and also introduces
+   an 'object manager' pattern:
+   GDBusInterface, GDBusObject, GDBusObjectManager
+   These interfaces have client-side implementations:
+   GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
+   And server-side implementations:
+   GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
+ - The new gdbus-codegen utility uses these new classes
+   to generate C code and documentation from D-Bus interface
+   descriptions in XML
+
+* GTest:
+ - There is now a g_test_fail() function to mark
+   tests as failed
+
+* GDesktopAppInfo
+ - Now has a binding-friendly filename property
+ - Other new API to more fully expose desktop file contents:
+   g_desktop_app_info_get_categories(),
+   g_desktop_app_info_get_generic_name()
+
+* GHashTable:
+ - Several optimizations to reduce space consumption of
+   large hash tables, in particular tables that are used
+   to store sets.
+
+* Unix-specific APIs:
+  GLib now installs a separate header, glib-unix.h, that is
+  meant to collect Unix-specific APIs. For now, it contains
+  g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
+  with pipes and fds, as well as APIs to create mainloop
+  sources which can trigger callbacks on certain Unix
+  signals (SIGTERM, SIGHUP, SIGINT).
+
+* Bugs fixed:
+ 631379 GDBus nonce-tcp test failing
+ 632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
+ 635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
+ 637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
+ 642935 g_date_time_format() prints wrong value for %z and timezone -0800
+ 643134 g_dbus_message_copy
+ 644941 glib-unix: New Unix-specific API
+ 646013 g_hash_table_remove_all_nodes optimization
+ 646309 glib cannot be cross-compilled for mingw32
+ 646435 GTimeZone doesn't seem to be thread-safe
+ 646957 GIO chained calls don't work with a thread default context
+ 647594 README link to mailing list is broken
+ 647602 Cannot connect to remote message bus via TCP
+ 647746 The GSocketService documentation is incomplete.
+ 647826 API: gtester: Add g_test_fail()
+ 647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
+ 648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
+ 648423 Support G_DEBUG=trap-warnings
+ 648425 GDesktopAppInfo: Add "filename" property for bindings
+ 648966 Update g_unichar_iswide and g_unichar_iswide_cjk
+
+* Updated translations
+ Norwegian bokmÃ¥l
+ Spanish
+ Turkish
+ Uighur
+
+
 Overview of Changes from GLib 2.28.0 to 2.29.2
 ==============================================
 
-* The format accepted by the GVariant parser has beend documented
+* GApplication
+ - The documentation has been enhanced and clarified
+ - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
+ - GApplication now syncs settings before g_application_run() returns
 
-* The return value of g_datetime_compare() has been fixed to
-  match strcmp() semantics
+* GDBus
+ - Interface lookups are now happening in constant time
+ - Signature checking and handling of various unexpected
+   situations has been improved
+
+* GVariant
+ - The format accepted by the GVariant parser has beend documented
+ - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
+
+* GDateTime:
+ - The return value of g_datetime_compare() has been fixed to
+   match strcmp() semantics
+ - In order to handle problems with changing timezones, a GTimeZoneMonitor
+   has been added to GIO, and g_time_zone_refresh_local() can be
+   called to update the cached information about the local timezone
+
+* GOption now uses /proc/self/cmdline to set the program name instead
+  and only falls back to "<unknown>" if that is unavailable
+
+* GSettings:
+ - The schema compiler now warns about references to non-existing schemas
 
 * Commandline utilities are now fully translated
 
+* Signals can now indicate that collecting their arguments must
+  always happen, even in the absence of connected signal handlers,
+  using the G_SIGNAL_MUST_COLLECT flag.
+
 * Bugs fixed:
  635099 Memory leak in gdbus introspection when parsing xml
  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
  642052 g_timeout_add(_seconds) cannot handle large intervals
  642490 notify_desktop_launch() "g_variant_new_bytestring:...
+ 613269 g_type_get_qdata() doesn't work as I expected on subtypes
+ 624943 G_VALUE_NOCOPY_CONTENTS is undocumented
+ 637738 object_interface_check_properties never actually executes
+ 638185 GIOCondition should be annotated as "flags"
+ 639478 GDBusServer's g_dbus_server_new_sync() function should just...
+ 641755 Add g_settings_get/set_uint() helpers
+ 641768 dconf gsettings backend silently drops writes if it can't...
+ 642797 g_app_info_get_default_for_type() broken for subtypes
+ 642825 Unnecessary assertion failure in g_option_context_parse()
+ 642944 NULL key lookup using g_hash_table_lookup_extended()
+ 643074 Incorrect documentation for g_socket_receive() and g_socket...
+ 643197 g_application_id_is_valid docs imply no valid ids
+ 643468 GApplication docs: Warn that handling "command-line" means...
+ 643478 GApplication::local_command_line vfunc documentation seems wrong
+ 643624 Can g_variant_unref() on an already free'd variant
+ 643649 g_application_run() should say that argc/argv can be NULL
+ 643780 shouldn't need to create an action group to use actions...
+ 643795 g_timeout_add_seconds fires with intervals 1 second longer...
+ 644309 Program name is not set when using GtkApplication
+ 644428 Crash in failure section of g_markup_collect_attributes()
+ 644465 undefined reference to `_usleep'
+ 644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
+ 644607 Correct internal definition of C_()
+ 645789 annotations for g_file_*_contents
+ 646039 g_settings_list_children() returns child that cannot be opened
+ 646310 Accept range with only min or max
+ 646420 g_dbus_method_invocation_get_parameters() docs should say...
+ 646843 occasional abort on autologin
+ 646985 add G_APPLICATION_NON_UNIQUE flag
+ 647579 gsettings: Implement reset-recursively
+ 647600 gsettings description has typo
 
 * Translation updates
+ Afrikaans
  Bulgarian
  Bengali India
- Korean
- Polish
+ British English
+ Bulgarian
+ Catalan
+ Czech
+ Danish
+ French
  Galician
+ German
+ Greek
+ Gujarati
  Hebrew
+ Hungarian
  Italian
+ Japanese
+ Korean
+ Lithuanian
+ Polish
+ Portuguese
+ Romanian
+ Serbian
+ Simplified Chinese
  Spanish
+ Swedish
+ Traditional Chinese
+ Uighur
+ Vietnamese
 
 
 Overview of Changes from GLib 2.27.93 to 2.28.0