mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
I read the news today, oh boy...
This commit is contained in:
parent
7ab25865f2
commit
4359cbd810
201
NEWS
201
NEWS
@ -1,3 +1,204 @@
|
|||||||
|
Overview of changes from GLib 2.29/2.30 to 2.31.0
|
||||||
|
=================================================
|
||||||
|
|
||||||
|
This release contains a huge number of changes (500 commits worth). The
|
||||||
|
list below attempts to summarise, but not every change is listed.
|
||||||
|
|
||||||
|
* Major changes to threading and synchronisation
|
||||||
|
- threading is now always enabled in GLib
|
||||||
|
- support for custom thread implementations (including our own internal
|
||||||
|
support for errorcheck mutexes) has been removed
|
||||||
|
- a whole lot of dead code (to deal with the non-threaded case) has
|
||||||
|
been ripped out. This includes the racy path of GMainContext that
|
||||||
|
caused deadlocks with respect to child process exits in
|
||||||
|
single-threaded programs (such as gtester).
|
||||||
|
- libgthread is now an empty shell and g_thread_init() is no longer
|
||||||
|
required (and has been deprecated)
|
||||||
|
- GMutex and GCond can now be statically allocated without explicit
|
||||||
|
initialisation. Dynamic allocation for these types is deprecated.
|
||||||
|
- new types GRecMutex and GRWLock can also be statically allocated
|
||||||
|
without explicit initialisation.
|
||||||
|
- GPrivate can now be statically allocated and has an improved API.
|
||||||
|
Dynamic allocation of GPrivate is deprecated.
|
||||||
|
- GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
|
||||||
|
deprecated.
|
||||||
|
- GCond now uses monotonic time internally and a new API takes
|
||||||
|
monotonic time for timed waits, deprecating the wallclock API
|
||||||
|
- removal of the insane macro indirection used in the previous
|
||||||
|
implementation of threading and synchronisation APIs
|
||||||
|
- use SRWLock and CONDITION_VARIABLE APIs when available on Windows
|
||||||
|
(Vista and later) and emulate them on XP
|
||||||
|
- leaks of G(Static)Private-allocated data on some cases of thread exit
|
||||||
|
have been fixed
|
||||||
|
- simplified new thread creation API with the old API deprecated. The
|
||||||
|
concept of joinability has disappeared (all threads are joinable) as
|
||||||
|
have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
|
||||||
|
and ability to manipulate the stack size.
|
||||||
|
- GThread is now a refcounted type
|
||||||
|
- other implementation details changed
|
||||||
|
|
||||||
|
* Move headers for some deprecated functionality to a separate
|
||||||
|
deprecated/ directory.
|
||||||
|
|
||||||
|
* New support for attribute-based deprecations to issue compiler
|
||||||
|
warnings instead of breaking the build and/or giving warnings about
|
||||||
|
implicit declarations (and possibly miscompiling).
|
||||||
|
|
||||||
|
* GCache has been deprecated (after its last use was removed from our
|
||||||
|
platform over a year ago).
|
||||||
|
|
||||||
|
* It is no longer possible to include individual headers (like
|
||||||
|
"ghash.h") -- you must #include <glib.h>.
|
||||||
|
|
||||||
|
* The misguided experiment of allowing the program to stumble along with
|
||||||
|
missing GSettings schemas is now over -- the abort is back.
|
||||||
|
|
||||||
|
* Clarify that fork() is not valid while using GMainContext. This is
|
||||||
|
because the internal resources of the GMainContext end up being shared
|
||||||
|
by both processes. We had an assert here but it was breaking existing
|
||||||
|
(valid) use cases as well, so it has been removed for now.
|
||||||
|
|
||||||
|
* GApplication
|
||||||
|
- add ::shutdown signal as logical dual to ::startup
|
||||||
|
- don't use a GMainLoop: iterate the GMainContext directly (improves
|
||||||
|
quit logic)
|
||||||
|
|
||||||
|
* Several portability fixes for Windows, OpenBSD, Solaris
|
||||||
|
|
||||||
|
* Add new GValue API to specifically deal in signed chars (in case the
|
||||||
|
platform defines 'char' as unsigned)
|
||||||
|
|
||||||
|
* Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
|
||||||
|
time (ie: stop checking for kernel support at runtime).
|
||||||
|
|
||||||
|
* SOCKS proxy and resolver improvements
|
||||||
|
|
||||||
|
* Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
|
||||||
|
introduce a macro for backwards compatibility.
|
||||||
|
|
||||||
|
* GDBus: many code generation updates and improvements
|
||||||
|
|
||||||
|
* GVariant:
|
||||||
|
- new g_variant_new_from_fixed_array() API
|
||||||
|
- substantial docs improvements/clarifications
|
||||||
|
|
||||||
|
* mount monitoring is now based on /proc/mounts (where available)
|
||||||
|
instead of mtab
|
||||||
|
|
||||||
|
* new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
|
||||||
|
GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
|
||||||
|
|
||||||
|
* use xlocale functions where available to avoid too much heavy lifting
|
||||||
|
in functions like g_ascii_strtod()
|
||||||
|
|
||||||
|
* GMappedFile can now be created from an fd
|
||||||
|
|
||||||
|
* error message strings grammar/i18n fixes
|
||||||
|
|
||||||
|
* many docs updates
|
||||||
|
|
||||||
|
* Partial list of bugs closed:
|
||||||
|
70598 Unify GStaticMutex and GMutex.
|
||||||
|
320888 optimization for g_main_context_wakeup
|
||||||
|
398418 GChildWatch race condition?
|
||||||
|
527214 g_timer_elapsed() returns random values
|
||||||
|
580505 add a way to set/get name for a thread
|
||||||
|
583511 race condition means g_main_loop_quit() does not work
|
||||||
|
592715 Document that g_str_hash() and g_int_hash() are not NULL safe
|
||||||
|
631413 Add macros for GSourceFunc return values
|
||||||
|
632049 not immediately clear what g_variant_get_fixed_array expects
|
||||||
|
640212 "Error stating file" is not a friendly message
|
||||||
|
640293 Use xlocale functions to implement g_ascii_strtod()
|
||||||
|
640975 Check that error exists before trying to set it
|
||||||
|
643934 GApplication lacking a logical dual for the ::startup signal
|
||||||
|
651268 assertion failed in GDBus worker thread
|
||||||
|
653987 g_key_file_get_integer cannot interpret trailing spaces
|
||||||
|
654412 Documentation for g_variant_get_child_value unclear
|
||||||
|
654563 info capplet: Failed to calculate disk space
|
||||||
|
655366 missing GSettings schemas lead to obscure crashes
|
||||||
|
657992 Add glib__private__() API to share between glib,gio
|
||||||
|
658188 _set_as_last_used_for_type generates a broken mimeapps.list
|
||||||
|
658206 gsocks5proxy.c has invalid gettext use
|
||||||
|
658207 glib-compile-schemas says "can not"
|
||||||
|
658558 simpleaction: Fix documentation of :enabled
|
||||||
|
658683 clean up charset/language threading issues
|
||||||
|
658692 add introspection annotations to g_time_val_from_iso8601()
|
||||||
|
658715 Duplicite strings
|
||||||
|
658769 Invalid reuse of GError in GThreadedResolver
|
||||||
|
658806 sign error in string hash implementation
|
||||||
|
658976 gdbus-codegen's C namespace option needs to support Ugly_Case
|
||||||
|
659070 gdbus-codegen generated code segfaults when property changes
|
||||||
|
659082 gdbus-codegen: Single letter namespaces get dropped from names
|
||||||
|
659212 GMappedFile should fail on non-regular files
|
||||||
|
659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
|
||||||
|
659423 Use adaptive mutexes when available
|
||||||
|
659427 Move deprecated code to a separate directory
|
||||||
|
659646 gdbus-codegen produce code that warnings at build
|
||||||
|
659690 Possible build warning in code generated by gdbus-codegen
|
||||||
|
659699 property name collision when generating code for "Connection"
|
||||||
|
659754 Add API to GMappedFile that allows to pass FD
|
||||||
|
659838 incorrect types in introspection for g_object_bind_property
|
||||||
|
659866 pthread_rwlock_t requires defined __USE_UNIX98
|
||||||
|
659870 gvalue: Fix signedness of g_value_get_char()
|
||||||
|
659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
|
||||||
|
659920 Missing setter for read/write property 'closed' of GIOStream
|
||||||
|
659923 Add g_variant_new_fixed_array() function
|
||||||
|
660013 Remove old g_atomic configure cruft
|
||||||
|
660096 glib/rwlock tests failure (tests asserted)
|
||||||
|
660130 Possible loss of user data when updating mimeapps.list
|
||||||
|
660147 tracker causes g_critical in "gsettings list-recursively"
|
||||||
|
660413 Make G_ASSERT_STATIC work with clang
|
||||||
|
660498 Generated test code fails when the codegen changes
|
||||||
|
660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
|
||||||
|
660536 Expose options for /etc/fstab entries
|
||||||
|
660635 Deprecate g_thread_foreach
|
||||||
|
660637 Pending dbus method calls not canceled on connection loss
|
||||||
|
660739 kill off g_{mutex,cond}_{new,free}()
|
||||||
|
660740 make GThread more standard
|
||||||
|
660741 g_cond_timedwait is a disaster
|
||||||
|
660743 macro wrappers for g_once_init_enter/leave
|
||||||
|
660744 finish killing g_thread_init()
|
||||||
|
660745 GPrivate leaks on Windows
|
||||||
|
660791 [gio] Improve doc for g_file_make_directory_with_parents()
|
||||||
|
660843 asyncqueue-test is broken
|
||||||
|
660849 Remove cruft from g_strerror and g_strsignal
|
||||||
|
660886 GDBusProxy: don't drop/complain about unknown props/signals
|
||||||
|
660887 g_slice_set_config() is broken
|
||||||
|
660994 Add g_main_context_ref_thread_default()
|
||||||
|
661255 gio: enable test_peer regression test for OpenBSD
|
||||||
|
661318 tests use pthread without appropriate compiler/linker flags
|
||||||
|
661421 Applications fail to initialize on GNU Hurd - commit
|
||||||
|
661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
|
||||||
|
661763 desktop-app-info: Add support for X-GNOME-Keywords
|
||||||
|
|
||||||
|
* Translations updates:
|
||||||
|
Belarusian
|
||||||
|
Brazilian Portuguese
|
||||||
|
British English
|
||||||
|
Bulgarian
|
||||||
|
Catalan
|
||||||
|
Catalan (Valencian)
|
||||||
|
Czech
|
||||||
|
Danish
|
||||||
|
Esperanto
|
||||||
|
French
|
||||||
|
Gujarati
|
||||||
|
Hebrew
|
||||||
|
Hungarian
|
||||||
|
Italian
|
||||||
|
Lithuanian
|
||||||
|
Norwegian bokmål
|
||||||
|
Oriya
|
||||||
|
Polish
|
||||||
|
Russian
|
||||||
|
Serbian
|
||||||
|
Simplified Chinese
|
||||||
|
Slovak
|
||||||
|
Slovenian
|
||||||
|
Spanish
|
||||||
|
Tamil
|
||||||
|
Vietnamese
|
||||||
|
|
||||||
Overview of changes from GLib 2.29.18 to 2.29.90
|
Overview of changes from GLib 2.29.18 to 2.29.90
|
||||||
================================================
|
================================================
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user