2.1.1 - July 11, 2022
---------------------
* Move install metadata from ``setup.py`` to ``setup.cfg``
* Add py.typed to source distribution
2.1.0 - July 11, 2022
---------------------
* Updated entries
- "Turkey" changed to "Türkiye"
12.5.1
Fixed
Fixed missing typing extensions dependency on 3.9
12.5.0
Added
Environment variables JUPYTER_COLUMNS and JUPYTER_LINES to control width and height of console in Jupyter
Markdown friendly Box style, MARKDOWN, for rendering tables ready to copy into markdown files
inspect will prefix coroutine functions with async def
Style.__add__ will no longer return NotImplemented
Remove rich._lru_cache
Changed
Default width of Jupyter console size is increased to 115
Optimized Segment.divide
Fixed
Fix Rich clobbering cursor style on Windows
Fix text wrapping edge case
Allow exceptions that are raised while a Live is rendered to be displayed and/or processed
Fix crashes that can happen with inspect when docstrings contain some special control codes
Fix edges used in first row of tables when show_header=False
Fix interaction between Capture contexts and Console(record=True)
Fixed hash issue in Styles class
Fixed bug in Segment.split_and_crop_lines
Changes:
# Release 4.3.0 (July 1, 2022)
- Add `typing_extensions.NamedTuple`, allowing for generic `NamedTuple`s on
Python <3.11 (backport from python/cpython#92027, by Serhiy Storchaka). Patch
by Alex Waygood (@AlexWaygood).
- Adjust `typing_extensions.TypedDict` to allow for generic `TypedDict`s on
Python <3.11 (backport from python/cpython#27663, by Samodya Abey). Patch by
Alex Waygood (@AlexWaygood).
# Release 4.2.0 (April 17, 2022)
- Re-export `typing.Unpack` and `typing.TypeVarTuple` on Python 3.11.
- Add `ParamSpecArgs` and `ParamSpecKwargs` to `__all__`.
- Improve "accepts only single type" error messages.
- Improve the distributed package. Patch by Marc Mueller (@cdce8p).
- Update `typing_extensions.dataclass_transform` to rename the
`field_descriptors` parameter to `field_specifiers` and accept
arbitrary keyword arguments.
- Add `typing_extensions.get_overloads` and
`typing_extensions.clear_overloads`, and add registry support to
`typing_extensions.overload`. Backport from python/cpython#89263.
- Add `typing_extensions.assert_type`. Backport from bpo-46480.
- Drop support for Python 3.6. Original patch by Adam Turner (@AA-Turner).
# Release 4.1.1 (February 13, 2022)
- Fix importing `typing_extensions` on Python 3.7.0 and 3.7.1. Original
patch by Nikita Sobolev (@sobolevn).
# Release 4.1.0 (February 12, 2022)
- Runtime support for PEP 646, adding `typing_extensions.TypeVarTuple`
and `typing_extensions.Unpack`.
- Add interaction of `Required` and `NotRequired` with `__required_keys__`,
`__optional_keys__` and `get_type_hints()`. Patch by David Cabot (@d-k-bo).
- Runtime support for PEP 675 and `typing_extensions.LiteralString`.
- Add `Never` and `assert_never`. Backport from bpo-46475.
- `ParamSpec` args and kwargs are now equal to themselves. Backport from
bpo-46676. Patch by Gregory Beauregard (@GBeauregard).
- Add `reveal_type`. Backport from bpo-46414.
- Runtime support for PEP 681 and `typing_extensions.dataclass_transform`.
- `Annotated` can now wrap `ClassVar` and `Final`. Backport from
bpo-46491. Patch by Gregory Beauregard (@GBeauregard).
- Add missed `Required` and `NotRequired` to `__all__`. Patch by
Yuri Karabas (@uriyyo).
- The `@final` decorator now sets the `__final__` attribute on the
decorated object to allow runtime introspection. Backport from
bpo-46342.
- Add `is_typeddict`. Patch by Chris Moradi (@chrismoradi) and James
Hilton-Balfe (@Gobot1234).
# Release 4.0.1 (November 30, 2021)
- Fix broken sdist in release 4.0.0. Patch by Adam Turner (@AA-Turner).
- Fix equality comparison for `Required` and `NotRequired`. Patch by
Jelle Zijlstra (@jellezijlstra).
- Fix usage of `Self` as a type argument. Patch by Chris Wesseling
(@CharString) and James Hilton-Balfe (@Gobot1234).
# Release 4.0.0 (November 14, 2021)
- Starting with version 4.0.0, typing_extensions uses Semantic Versioning.
See the README for more information.
- Dropped support for Python versions 3.5 and older, including Python 2.7.
- Simplified backports for Python 3.6.0 and newer. Patch by Adam Turner (@AA-Turner).
## Added in version 4.0.0
- Runtime support for PEP 673 and `typing_extensions.Self`. Patch by
James Hilton-Balfe (@Gobot1234).
- Runtime support for PEP 655 and `typing_extensions.Required` and `NotRequired`.
Patch by David Foster (@davidfstr).
## Removed in version 4.0.0
The following non-exported but non-private names have been removed as they are
unneeded for supporting Python 3.6 and newer.
- TypingMeta
- OLD_GENERICS
- SUBS_TREE
- HAVE_ANNOTATED
- HAVE_PROTOCOLS
- V_co
- VT_co
# Previous releases
Prior to release 4.0.0 we did not provide a changelog. Please check
the Git history for details.
Protocol Buffers v21.3
C++
Add header search paths to Protobuf-C++.podspec
Fixed Visual Studio constinit errors
Fix 9947: make the ABI compatible between debug and non-debug builds
UPB
Allow empty package names (fixes behavior regression in 4.21.0)
Fix a SEGV bug when comparing a non-materialized sub-message
Fix several bugs in descriptor mapping containers (eg. descriptor.services_by_name)
for x in mapping now yields keys rather than values, to match Python conventions and the behavior of the old library.
Lookup operations now correctly reject unhashable types as map keys.
We implement repr() to use the same format as dict.
Fix maps to use the ScalarMapContainer class when appropriate
Fix bug when parsing an unknown value in a proto2 enum extension
PHP
Add "readonly" as a keyword for PHP and add previous classnames to descriptor pool
Python
Make //:protobuf_python and //:well_known_types_py_pb2 public
* Add hacks.mk to make -latomic visible for 64-bit atomics.
* Turn off nouveau build, as we do not have the DRI libs for that.
* Introduce PLIST.xa, turned off on powerpc, apparently this requires
one of nouveau, freedreno, i815 or svga gallium drivers.
Upstream changelog from NEWS:
----
Debian's w3m 0.5.3+git20220429
* new features
- support kitty's APC G graphics protocol with ImageMagick's convert
- support iTerm2's OSC 1337 graphics protocol
- new option inline_img_protocol to select the graphics protocol
(0: w3m-img, 1: OSC 5379, 2: sixel, 3: OSC 1337, 4: APC G)
- new option ssl_cipher to specify TLSv1.2 ciphers, e.g. DEFAULT:@SECLEVEL=2
- new option ssl_min_version for OpenSSL 1.1
- new option -insecure to use insecure SSL config options
- new option ssl_ca_default, explicitly use OpenSSL default paths by default
- new option cross_origin_referer, use origin only Referer when cross origin
- new option localhost_only to restrict connections only to localhost
- new option disable_center to disable center alignment
- support brotli content encoding
- ignore the "-" option to accept `w3m -` as "read from stdin"
- new configure option --with-cafile to detect CA bundle file
- support auto-detection for configure --with-migemo
- add fuzzer for OSS-Fuzz
- add Italian translation
- add Swedish translation
* bug fixes
- prevent index overflow and huge allocation due to Str, libwc, and table
- prevent integer overflow due to fontstat
- prevent StrStream memory leak
- prevent GC warnings of repeated allocation
- prevent buffer overflow in shiftAnchorPosition
- prevent buffer overflow READ when parsing Gopher URLs
- prevent buffer overflow in gotoLine and gotoRealLine
- prevent warnings when -Wnull-dereference, enabled by default
- prevent warnings when -Wall, enabled by default
- prevent warnings from Cppcheck
- avoid zero length arrays even when GCC
- fix fail to render over 32767 lines in a table cell
- disable `<section>` behaves as `<hr>`
- disable TLSv1.0 and TLSv1.1 by default
- mention a workaround for SSL error
- fix manipulation of ASN1_STRING
- don't include username in Referer
- don't set Referer when data URI scheme
- fix broken anchor with link number at EOL
- fix incorrect query string for `w3mman 7z`
- drop imlib2-config, use pkg-config
- improve named character references
- improve `<dl>` rendering
- prefer Imlib2 over GTK2 by default
- replace encodeB with base64_encode to encode null bytes
- wording fixes for configure --help
2.6.2
- MEDIUM: mux-h2: try to coalesce outgoing WINDOW_UPDATE frames
- BUG/MINOR: ssl: Do not look for key in extra files if already in pem
- BUG/MINOR: http-ana: Set method to HTTP_METH_OTHER when an HTTP txn is created
- BUG/MINOR: http-fetch: Use integer value when possible in "method" sample fetch
- MINOR: fd: add a new FD_DISOWN flag to prevent from closing a deleted FD
- BUG/MEDIUM: ssl/fd: unexpected fd close using async engine
- BUILD: Makefile: Add Lua 5.4 autodetect
- CI: re-enable gcc asan builds
- MINOR: fd: Add BUG_ON checks on fd_insert()
- BUG/MINOR: peers/config: always fill the bind_conf's argument
- BUG/MINOR: http-check: Preserve headers if not redefined by an implicit rule
- BUG/MINOR: http-act: Properly generate 103 responses when several rules are used
- BUG/MINOR: peers: fix possible NULL dereferences at config parsing
- BUG/MINOR: http-htx: Fix scheme based normalization for URIs wih userinfo
- MINOR: http: Add function to get port part of a host
- MINOR: http: Add function to detect default port
- BUG/MEDIUM: h1: Improve authority validation for CONNCET request
- MINOR: http-htx: Use new HTTP functions for the scheme based normalization
- BUG/MEDIUM: http-fetch: Don't fetch the method if there is no stream
- REGTEESTS: filters: Fix CONNECT request in random-forwarding script
- BUG/MINOR: mux-h1: Be sure to commit htx changes in the demux buffer
- BUG/MEDIUM: http-ana: Don't wait to have an empty buf to switch in TUNNEL state
- BUG/MEDIUM: mux-h1: Handle connection error after a synchronous send
- MEDIUM: mworker: set the iocb of the socketpair without using fd_insert()
- BUG/MINOR: quic: Missing acknowledgments for trailing packets
- BUG/MINOR: quic: Wrong reuse of fulfilled dgram RX buffer
- BUG/MAJOR: quic: Big RX dgrams leak when fulfilling a buffer
- BUG/MAJOR: quic: Big RX dgrams leak with POST requests
- BUILD: quic+h3: 32-bit compilation errors fixes
- BUG/MINOR: quic: Dropped packets not counted (with RX buffers full)
- MINOR: quic: Add new stats counter to diagnose RX buffer overrun
- MINOR: quic: Duplicated QUIC_RX_BUFSZ definition
- MINOR: task: Add tasklet_wakeup_after()
- MINOR: quic: Improvements for the datagrams receipt
- MINOR: quic: Increase the QUIC connections RX buffer size (upto 64Kb)
- MINOR: ncbuf: implement ncb_is_fragmented()
- BUG/MINOR: mux-quic: do not signal FIN if gap in buffer
- MINOR: h3: add h3c pointer into h3s instance
- MINOR: h3: handle errors on HEADERS parsing/QPACK decoding
- MINOR: qpack: properly handle invalid dynamic table references
- CLEANUP: h2: Typo fix in h2_unsubcribe() traces
- BUG/MEDIUM: mux-quic: fix server chunked encoding response
- BUG/MINOR: quic: fix closing state on NO_ERROR code sent
- BUG/MEDIUM: cli/threads: make "show threads" more robust on applets
- BUG/MINOR: debug: enter ha_panic() only once
- BUG/MEDIUM: tools: avoid calling dlsym() in static builds
- BUILD: makefile: Fix install(1) handling for OpenBSD/NetBSD/Solaris/AIX
- BUG/MEDIUM: tools: avoid calling dlsym() in static builds (try 2)
- MINOR: resolvers: resolvers_destroy() deinit and free a resolver
- BUG/MINOR: resolvers: shut off the warning for the default resolvers
- BUG/MINOR: ssl: allow duplicate certificates in ca-file directories
- BUG/MINOR: tools: fix statistical_prng_range()'s output range
- BUG/MINOR: quic: do not send CONNECTION_CLOSE_APP in initial/handshake
- BUG/MINOR: mworker/cli: relative pid prefix not validated anymore
- BUG/MAJOR: mux_quic: fix invalid PROTOCOL_VIOLATION on POST data overlap
- BUG/MEDIUM: mworker: proc_self incorrectly set crashes upon reload
- BUILD: add detection for unsupported compiler models
- BUG/MEDIUM: stconn: Only reset connect expiration when processing backend side
- BUILD: quic: fix anonymous union for gcc-4.4
- BUG/MINOR: backend: Fallback on RR algo if balance on source is impossible
v2.13.2
=======
Minor Changes
-------------
- ansible-test - An improved error message is shown when the download of a pip bootstrap script fails. The download now uses ``urllib2`` instead of ``urllib`` on Python 2.
Bugfixes
--------
- Move undefined check from concat to finalize (https://github.com/ansible/ansible/issues/78156)
- ansible-doc - no longer list module and plugin aliases that are created with symlinks (https://github.com/ansible/ansible/pull/78137).
- ansible-doc - when listing modules in collections, proceed recursively. This fixes module listing for community.general 5.x.y and community.network 4.x.y (https://github.com/ansible/ansible/pull/78137).
- ansible-doc will not add 'website for' in ":ref:" substitutions as it made them confusing.
- file backed cache plugins now handle concurrent access by making atomic updates to the files.
- password lookup does not ignore k=v arguments anymore.
- user - Fix error "Permission denied" in user module while generating SSH keys (https://github.com/ansible/ansible/issues/78017).
The condition 'defined(OUTPUT)' was always true.
Since OUTPUT is guaranteed to defined, there is no need to use the
complicated '!empty'.
No functional change.
The RC script for prosody now always creates the corresponding
sub-directory for prosody's PID file. This is inspired by the RC script
for mdnsd in NetBSD, and for dbus in pkgsrc; thanks spz@ for the
suggestion!
Bumps PKGREVISION.
Tested on NetBSD/amd64.
XXX pull-up to pkgsrc-2022Q2 (completes request 6649)
Overview of changes in GLib 2.72.2
==================================
* Bugs fixed:
- #2640 UWP warnings about extensions and verbs with glib 2.72.1
- !2605 Backport !2449 and !2600 mingw test fixes to glib-2-72
- !2616 Backport !2615 “Meson: Fix gio-windows-2.0 override name” to glib-2-72
- !2629 Backport !2626, !2627 minor leak fixes to glib-2-72
- !2643 Backport !2642 “meson: Check rres.compiled() before calling rres.returncode()” to glib-2-72
- !2644 Backport !2631 “Cast to guintptr instead of subtracting by null” to glib-2-72
- !2662 Backport !2654 “gtask: use g_strconcat() in g_task_return() only if needed” to glib-2-72
- !2691 Backport !2661 “win32appinfo: change log level from warning to debug” to glib-2-72
Overview of changes in GLib 2.72.1
==================================
* Fix building projects which use g_warning_once() with clang++ (#2625)
* Fix `g_file_trash()` not deleting directories via the portals backend (work by Matthias Clasen) (#2629)
* A number more compiler warnings fixed for MSVC (work by Loïc Le Page) (!2495)
* Fix detection of broken `poll()` function on macOS (work by Haruka Ma) (!2571)
* Fix spawning subprocesses from GUI programs on Windows (work by Marc-André Lureau) (!2582)
* Bugs fixed:
- #2312 gdbus-test-codegen tests leak GWeakRef objects
- #2625 g_warning_once fails to build with clang++
- #2629 g_file_trash() does not work on directories inside a sandbox
- !2495 Cleanup warnings split 6
- !2499 Various contenttype-related test fixes on win32
- !2534 gpowerprofilemonitor: Tweak wording of documentation to make more sense
- !2540 Various win32 tests skip & fixes
- !2541 meson: simplify lookup of python command
- !2543 ci: Update the Fedora CI image to Fedora 34
- !2556 gdbusconnection: Use g_strv_contains() rather than a home-grown version
- !2557 gdbusmethodinvocation: Fix a leak on an early return path
- !2558 Move unit test on g_basename() function to glib/tests/fileutils.c
- !2559 Move tests/relation-test.c to glib/tests/relation.c
- !2560 ci: Update Coverity, mingw and Android CI images to Fedora 34
- !2563 glib: Format GDateTime ISO8601 years as %C%y
- !2564 Move test files on slices from tests/ to glib/tests/
- !2566 tests: Add more tests for GResolver response parsing
- !2573 Backport translation fixes and !2571 “meson: Set BROKEN_POLL in macOS builds” to glib-2-72
- !2574 Backport !2565 “Revert "meson: simplify lookup of python command"” to glib-2-72
- !2587 Backport !2583 “Fix trashing sandboxed directories” to glib-2-72
- !2588 Backport !2582 “glib/win32: fix spawn from GUI regression” to glib-2-72
- !2590 Backport !2589 “tests: Don’t exit gdbus-method-invocation test early on connection close” to glib-2-72
- !2593 Backport !2578 “gatomic: Add a C++ variant of g_atomic_int_compare_and_exchange()” to glib-2-72
Overview of changes in GLib 2.72.0
==================================
* Bugs fixed:
- #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours
- !2538 Various unit test fixes
- !2542 fuzzing: Fix test failure with G_DISABLE_ASSERT
- !2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf()
- !2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests
- !2551 tests: More flaky test fixes to converter-stream and test-printf
- !2552 gtlsconnection: fix typo in docs
Overview of changes in GLib 2.71.3
==================================
* Fix flaky `GDebugController` tests (!2504)
* Numerous small documentation updates
* Bugs fixed:
- #517 g_utf8_collate returns 0 on U+C5D0 vs U+CD94
- #1929 gdbus-connection-flush: setup_client_cb: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1)
- #2589 Hash sign misinterpreted as heading
- #2598 g_main_loop_run() may leak a GMainLoop reference
- #2609 Clarify documentation for g_log_set_debug_enabled()
- #2611 Unspecified options considered present
- #2612 side effects of ensure_valid_dict result used in g_return_if_fail macro
- #2613 Naked magic literal in gvariant.h
- !1707 Add cache to g_unix_mount_points_get()
- !2424 Remove old test file tests/testglib.c
- !2451 glib: fix buffer overflow in g_canonicalize_filename()
- !2466 Various minor fixes for empty argv handling
- !2480 Various glib/tests/date fixes on win32
- !2485 Various spawn-related test fixes on win32
- !2490 Cleanup warnings split 1
- !2491 Cleanup warnings split 2
- !2492 Cleanup warnings split 3
- !2493 Cleanup warnings split 4
- !2501 glib-compile-resources: Fix a memory leak of the compiler option
- !2502 tests: Merge iochannel-test into io-channel tests in glib directory
- !2503 gbacktrace: Fix a set-but-not-used variable
- !2504 gdebugcontrollerdbus: Track pending tasks with weak refs
- !2505 tests: Stop ignoring test failures on macOS
- !2506 gresource-tool: Fix unused-but-set-variable warn with G_DISABLE_ASSERT
- !2507 ci: Drop custom dependency builds from installed-tests
- !2508 codegen: Reformat parser.py according to black
- !2509 tests: Fix various small memory leaks
- !2510 gdesktopappinfo: Fix a leak when launching URIs over D-Bus
- !2512 doc: Extend a bit G_DECLARE_* documentation example
- !2513 gmain: Expand documentation about GSource priorities a little
- !2514 ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run
- !2515 gmessages: Fix typo in docs
- !2516 glocalfileinfo: Always define _g_stat_mtim_nsec, etc.
- !2517 meson: Add schemasdir and giomoduledir to gio dependency
- !2518 meson: Set GIO_EXTRA_MODULES in devenv
- !2519 gdebugcontrollerdbus: Mark a variable as G_GNUC_UNUSED
- !2520 tests: Remove threads from mock-resolver/network-address test
- !2523 Add handling of NULL time_t* pointer as argument
- !2524 Revert "meson: Add schemasdir and giomoduledir to gio dependency"
- !2525 meson: Add schemasdir and giomoduledir to gio dependency
- !2526 Remove unused test tests/testgdateparser.c
- !2527 Move tests/type-test.c to glib/tests/types.c
- !2528 meson: Add PYTHONPATH to load GDB helper module
- !2531 gtask: Document that task name is set by g_task_set_source_tag()
Overview of changes in GLib 2.71.2
==================================
* Rework `glib-compile-resources` to output compiler-specific files to reduce
compilation time; see the new `--compiler` option (work by Emmanuele Bassi) (#2492)
* Add a cross-platform API for aligned memory allocations (`g_aligned_alloc()`,
`g_aligned_alloc0()` and `g_aligned_free()`) (work by Emmanuele Bassi) (#2574)
* Deprecate `force_posix_threads` configure option, since it was a workaround
for static linking on Windows (#2592)
* Add `GBindingGroup` and `GSignalGroup` APIs (work by Christian Hergert and
Garrett Regier) (!2235)
* Implement FD remapping support for `g_spawn_async_with_pipes_and_fds()` on
Windows (work by Marc-André Lureau) (!2458)
* Add an async file move API, `g_file_move_async()` (work by Lucas Schwiderski) (!2469)
* Bugs fixed:
- #1190 gapplication: Add an org.gtk.Debugging interface
- #2329 GApplication CLI parsing of DOUBLE type failure
- #2492 glib-compile-resources contains resource data twice and creates large output files
- #2563 g_test_build_filename and friends not safe to call after g_test_run() has finished
- #2574 Add API for aligned allocations
- #2592 Consider deprecating 'force_posix_threads' build option
- #2601 Missing <para> tag in generated files
- !2235 Add GBindingGroup and GSignalGroup
- !2378 gtestutils: Mention the unit used for the test timer
- !2404 File tests
- !2433 Remove tests/testgdate.c from tests
- !2458 Implement fd passing for Windows spawn
- !2464 Amend g_bus_get* documentation regarding private connection
- !2465 gi: expose some files as variable for gobject-introspection
- !2467 ci: Add link to Coverage output at end of coverage job
- !2468 gfile: resolve_relative_path isn't nullable
- !2469 Implement async file movement
- !2471 Fix test on the date format for FreeBSD and MacOS X.
- !2472 Fix test date (again)...
- !2473 Fix glib/test/date.c for FreeBSD/OpenBSD/MacOS X
- !2476 Add G_UNICODE_SCRIPT_MATH to GUnicodeScript
- !2477 Improve coverage of two digit years in gdate tests
- !2481 Fix glib/tests/fileutils on win32
- !2482 Fix unit test on date format '%Z' which is too versatile to be trustable
- !2483 Fix glib/tests/gdatetime on win32
- !2484 tests: Use g_test_skip() to skip a test on Windows
- !2487 gconstructor.h: Visual Studio: Only include gslist.h if needed
- !2488 Fix some problems with g_aligned_alloc() tests
Overview of changes in GLib 2.71.1
==================================
* Basic support for static builds on Windows (work by Loïc Le Page,
Marc-André Lureau, with contributions from Xavier Claessens, Nirbheek Chauhan,
Charlie Barto, Luca Bacci, Amos Wenger) (#692, #2585, !2442)
* Add `GDebugController` and a D-Bus implementation which exposes whether
debug output is enabled in a process using the `org.gtk.Debugging` D-Bus
interface (work by Philip Withnall) (#1190)
* Support for `AF_UNIX` sockets on Windows 10 (and later) (work by Marc-André Lureau) (#2487)
* Several important fixes to GDBus message and GVariant parsing of invalid data (work by Sebastian Wilhelmi) (#2557, #2572)
* Fix potential data loss due to missing fsync when saving files on btrfs (work by Sebastian Keller) (!2425)
* Fix potential buffer overflows in `garray.c` for very large `GArray`s and `GPtrArray`s (work by Tobias Stoeckmann) (#2578)
* Fix FDs in gspawn not being closed and causing process hangs if `close_range()` fails unexpectedly (work by Dan Nicholson) (#2580)
* Fix `g_find_program_in_path()` not returning an absolute path if `$PATH` is relative (work by Christoph Niethammer) (#2586)
* Add support for loading PKCS#12 encrypted files in `GTlsCertificate` (work by Patrick Griffis) (!2239)
* A number of improvements to unit tests (work by Emmanuel Fleury, Charlie Barto) (!2399, !2400, !2402, !2403, !2428, !2431, !2432, !2434)
* Support `LOCAL_PEERPID` on macOS, giving partial support for PIDs in
`GCredentials` on that platform (work by Ignacio Casal Quinteiro) (!2362)
* Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` (work by Sophie Herold) (!2395)
* Add `g_hash_table_new_similar()` to copy a hash table and its hash/equal functions without its data (work by Jonas Ådahl) (!2405)
* Support D-Bus client authentication with `EXTERNAL` on Windows (work by Marc-André Lureau) (!2429)
* Add a reStructuredText documentation generator to `gdbus-codegen` (work by Emmanuele Bassi) (!2448)
* Add a Windows implementation of `GMemoryMonitor` (work by Marc-André Lureau) (!2452)
* Bugs fixed:
- #692 meta: Fix static build on Windows
- #1190 gapplication: Add an org.gtk.Debugging interface
- #2487 Add support for native unix domain sockets on WIN32 to GLib.Socket and related classes
- #2550 possible GDateTime issue with localtime on Illumos/Solaris
- #2557 Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob
- #2559 2.71.0: compile and link time warnings
- #2560 Link error xdgmime.c: unresolved external symbol S_ISREG when building with VS2022
- #2564 Hangul Jamo Extended-B should be 0-width
- #2565 Build glib-2.71.0 failed in Windows using MSYS2-MINGW64
- #2571 Cross build error "undefined reference to `_g_binary_test1_resource_data'" when building tests for Windows on openSUSE Leap
- #2572 Check for GVariant recursion depth before recursing
- #2578 buffer overflows in garray.c
- #2579 Outdated paths in INSTALL.in
- #2580 gspawn doesn't set CLOEXEC if close_range fails unexpectedly
- #2582 glib 2.71.0 muslc - build error missing sentinel in function call
- #2585 Static link issue on Windows due to resource files being linked in twice
- #2586 g_find_program_in_path not returning an absolute path
- !2239 gtlscertificate: Add ability to load PKCS#12 encrypted files
- !2362 credentials: support the local peerpid on macos
- !2384 meson: Fix linking with static library in Windows
- !2395 utils: Add XDG_STATE_HOME support
- !2399 Move tests/env-test.c into glib/tests/environment.c
- !2400 Prevent gtest tests from popping up dialog boxes
- !2402 Improving glib/tests/environment.c
- !2403 Improve test coverage of glib/tests/asyncqueue.c
- !2405 ghash: Add g_hash_table_new_similar
- !2407 tests: Fix environment test on FreeBSD
- !2411 annotate `g_content_type_guess` parameter as filename
- !2412 paramspec: fix unref annotation
- !2413 Use meson dependency to link against apple framework
- !2414 docs: Improve docs for gdbusutils.c
- !2417 gtestutils: Fix minor typos in the g_test_get_filename() docs
- !2423 Make clear in doc that signals are emitted synchroniously
- !2425 gfileutils: Remove outdated BTRFS fsync optimization from set_contents
- !2426 gdbus-codegen: Fix a typo in a comment
- !2428 Merge tests/gobject/gvalue-test.c with gobject/tests/value.c
- !2429 gdbus: make client work with EXTERNAL on Windows
- !2431 Merge tests/gobject/paramspec-test.c into gobject/tests/param.c
- !2432 Merge test/unicode-caseconv.c into glib/tests/unicode.c
- !2434 Remove a disabled test case that was covered by glib/tests/collate.c
- !2440 Improve g_ascii_formatd docs and preconditions
- !2441 Reduce the amount of compile-time warnings
- !2442 Fix tests with static build on Windows
- !2447 giowin32: use gint64 and _lseeki64
- !2448 Add reStructuredText documentation generator for gdbus-codegen
- !2452 gio/win32: add GMemoryMonitorWin32
- !2453 Add `(array length)` annotation to `g_tls_certificate_new_from_pkcs12()`
- !2454 gdbusmessage, gvariant and garray fixes
- !2456 tests: Pass --internal and -z noexecstack to glib-compile-resources tests
- !2459 gio: add missing zlib dependency in gio-windows-2.0.pc
- !2461 Fix memory leak in gio/gdbusauthmechanismsha1.c
- !2463 Revert "Merge branch 'fix-windows-pc' into 'main'"
Overview of changes in GLib 2.71.0
==================================
* Fix network changes not being signalled from NetworkManager (work by
Julian Andres Klode) (#2505)
* Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304)
* Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin) (#2530)
* Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan) (#2537)
* Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2541)
* Fix URI for pcre subproject as it’s moved upstream (work by Albert Astals Cid) (!2324)
* Fix storing GSettings dictionaries on macOS (work by Maurice) (#2527)
* Speed up ‘remove dot segments’ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2526)
* Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi) (#2528)
* Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan) (#2443)
* Various fixes to GWeakRef cleanup (#865, #2390) and toggle refs (#2394) (work by Marco Trevisan)
* Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match rules when creating a `GDBusProxy` (#1109)
* Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with certain values of target FDs (#2503, #2506) (work by Michael Catanzaro)
* Make `GDBusProxy::g-signal` signal detailed with D-Bus signal names (#2536) (work by Aleksandr Mezin)
* Emit `launched` signal for D-Bus activation of apps with `GDesktopAppInfo` (!2227) (work by Guido Günther)
* Fix IDs of `GDesktopAppInfo`s which are constructed from a `.desktop` file in a subdirectory (!2283) (work by Ivalyo Dimitrov)
* Add `--interactive` option to `gdbus call` (!2329)
* Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to `GSubprocess` (!2333) (work by Hristo Venev)
* Bugs fixed:
- #475 Add g_alloca0() and g_newa0()
- #847 g_set_prgname() should be thread-safe
- #865 GWeakRefs not cleared by g_object_run_dispose()
- #1109 [PATCH] GDBusProxy: add G_DBUS_PROXY_FLAGS_NO_MATCH_RULE flag
- #1231 gobject declare macros cause alignment warnings on armhf/armhf/mipsel
- #1331 GArray with 10 million items overflows index arithmetic
- #1735 Get back to a -werror build
- #1781 Sort output of gsettings command-line tool
- #2310 contenttype test leaks xdg-mime internal data
- #2390 GWeakRef's aren't cleared again on finalization (and not fully thread-safe)
- #2394 Toggle refs notification may not handle multiple threads correctly
- #2400 Use-after-free in invoke_set_property_in_idle_cb()
- #2401 GDBus runtime warning from remove_interfaces()
- #2404 GTask: clarify that GTask assumes are running mainloop
- #2426 GSettings delayed apply generates runtime warnings
- #2443 Add Windows 11 support to get_windows_version()
- #2468 GSequence pessimizes itself and slows down
- #2471 g_output_stream_write_all_async prints error when count == 0 and content == NULL
- #2488 Unix password unit test fails on FreeBSD 13
- #2489 Add a (diagnostic) warning for finalized objects with floating refs
- #2490 Upgrade to Unicode Character Database 14.0
- #2496 Wrong parameter type for g_simple_proxy_resolver_set_ignore_hosts
- #2498 GIR: Remove non-existing IOModule methods `load`, `unload`
- #2500 Able to export object manager and object on root path, but not other paths
- #2503 gspawn.c may clobber target fds
- #2505 g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface)
- #2506 gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds
- #2507 Strange behavior of GFileEnumerator with GVfs locations
- #2514 test suite failure in glib/tests/gdatetime.c if German locale de_DE.ISO-8859-1 is available
- #2518 Misleading message when privileged program starts G_BUS_TYPE_SESSION
- #2520 g_date_new_ functions return NULL on invalid input
- #2523 MacOS generates warnings for g_size_checked_mul()
- #2526 fuzz_uri_parse failure
- #2527 Error storing dictionary with string keys as GSettings on macOS
- #2528 g_dbus_message_new_from_blob goes into infinite loop for certain inputs
- #2529 load_user_special_dirs returns NULL in certain cases
- #2530 g_log_writer_is_journald fails if a Journal Namespace is used
- #2536 GDBusProxy: make g-signal detailed
- #2537 GTestDBus dbus daemon causes child process to hang when using verbose output
- #2541 g_canonicalize_filename should work in linear time complexity
- #2553 Consider not depending on strtoull_l and strtoll_l as much
- !1960 Add g_main_context_new_with_flags() and ownerless polling option
- !1968 gspawn: Implement fd remapping for posix_spawn codepath, and fix file descriptor conflation issues
- !1991 Keyfile parsing performance improvements
- !2029 Updating xdgmime
- !2064 gobject: Cleanup GWeakRef locations on object finalization
- !2114 Coerce type cast to void* because it causes compiler warnings
- !2191 docs: Add .editorconfig file
- !2214 Document potential footgun with GTlsCertificateFlags and deprecate certain usages
- !2223 Better detection of the cleanup attribute.
- !2227 gdesktopappinfo: Emit "launched" signal for D-Bus activation too
- !2242 gsettings: Add various missing (nullable) or (not nullable) annotations
- !2244 gutils: Avoid segfault in g_get_user_database_entry
- !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed
- !2246 gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify
- !2249 Add version macros for GLib 2.72 and bump version to 2.71.0
- !2251 GString: Bump minimum size
- !2254 Small optimization for g_object_set
- !2255 gobject: Clarify behaviour of adding weak refs during disposal
- !2257 Fix documentation for g_dbus_object_manager_get_object().
- !2260 GWin32AppInfo: Do not assert about successful open'ing of registry keys
- !2261 Provide built DLLs as Gitlab-CI artifacts
- !2266 fix uninitial variable
- !2273 Fix more (Windows) warnings
- !2277 Revert "Don't compile some unused functions in gio/xdgmime/"
- !2283 GDesktopAppInfo: Try to always correctly set id
- !2284 update the proxy-libintl subproject to the latest release
- !2285 fix issues found by svace static code analyzer
- !2286 meson: fix warnings for extract_all_objects function
- !2287 ci: Update CI images to latest stable Debian and Fedora, bump Meson dependency to 0.52
- !2288 Update g_source_remove doc comment: the function doesn't always return TRUE
- !2289 Update g_source_remove documentation for the returned value
- !2290 mkdir path specified by XDG_RUNTIME_DIR
- !2292 Fix cast from pointer to integer of different size warning in gio/gwin32appinfo.c
- !2293 glib-private: Fix MSVC build with AddressSanitizer
- !2294 Fix windows warnings
- !2295 gutf8: Document that out args from g_utf16_to_utf8() are non-negative
- !2303 Fix more windows warnings
- !2305 gio: document GFile API when relative path is absolute
- !2306 gunixmounts: Drop references to pamconsole mount option
- !2308 gthread-win32: Remove an unnecessary volatile qualifier
- !2309 Rename libpcre.wrap to pcre.wrap
- !2310 tests: Fix a typo in a test message in gdatetime.c
- !2311 Fix always true comparison warning in glib/garray.c
- !2319 docs: Fix the GListModel description
- !2323 Fix final warnings in Windows code
- !2324 Fix link to pcre-8.37.tar.bz2
- !2326 Improve some documentation related to GTlsDatabase
- !2328 gutf8: add string length check when ending character offset is -1
- !2329 gdbus: Add --interactive option to `gdbus call`
- !2332 Changed gendered terms to be gender-neutral
- !2333 gsubprocess: Add G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP
- !2336 tests: Drop arbitrary and flaky waits from actions tests
- !2339 ci: Bump Meson version to 0.60.1 on macOS
- !2341 tests: Wait for gdbus-testserver to die when killing it
- !2342 tests: Reformat mkenums.py slightly to make run-black.sh happy
- !2345 gutils: Disable some dead code on macOS
- !2347 Removing tests/asyncqueue-test.c from tests/
- !2348 gio/tests/codegen.py: bump timeout to 100 seconds
- !2349 Annotate `g_getenv()` and `g_environ_getenv()` return value as `nullable`
- !2352 tests: Fix a flaky wait in converter-stream
- !2353 Address some oddities around GResolver::reload
- !2357 ci: Upgrade to clang-format-11 from clang-format-7
- !2360 meson: specify when commands need to succeed in run_command
- !2364 tests: Allow `objcopy --help` to fail, because it fails on FreeBSD
- !2365 Add vfunc checks in gappinfo.c
- !2368 De-duplicate g_nearest_pow() implementation and add some overflow protections to g_ptr_array_maybe_expand(), g_string_maybe_expand() and g_string_chunk_insert_len()
- !2370 gqsort: Move test to glib/tests/
- !2371 Freeze notification during object destruction
- !2372 docs: Improve GVariant docs
- !2373 glib.supp: Suppress one-time allocation in g_get_home_dir()
- !2376 GSource: move test to glib/tests/
- !2379 Merging tests/bit-test.c into glib/tests/utils.c
- !2381 tests: Test the function forms of g_bit_*() APIs too
- !2382 gfileutils: Correctly reset start value when canonicalising paths
- !2385 gfileutils: Fix transfer annotation and whitespace issues
- !2386 docs: Add API documentation links to the README
- !2387 docs: Update the README a little
- !2390 Merging tests/child-test.c into glib/tests/spawn-multithreaded.c
- !2391 Removing redundant cxx test tests/cxx-test.cpp
- !2392 Move tests/completion-test.c to glib/tests/completion.c
- !2393 Removing unnecessary test on gdatetime.c
- !2396 fuzzing: Add a fuzz test for parsing DNS records
- !2397 Moving tests/dirname-test.c to glib/tests/fileutils.c
- !2398 fix /list/position test
Change log:
0.5.10 (2022-07-09)
======
- New Features:
- Consider unnamed files unchanged when empty (#170, !123)
- Bug Fixes:
- session-restore: Manage autosave ids through a GList (#165)
- Honor global "gtk-menu-images" setting for icon visibility
- search: Do not select first combo box entry when list does not change
- Fix encoding conversion when saving
- Fix encoding conversion when opening (#172)
- Update charset when a byte order mark is detected (#172)
- tests: Add plugin settings to the list
- build: Fix intltool lock file problem during make distcheck
- Fix a memory leak in menu item realignment (#164)
- Translation Updates:
Finnish, Greek, Hebrew, Hungarian, Russian, Serbian, Swedish,
Turkish, Ukrainian