Changes in 3.8.1
2020-xx-xx
- Bug fixes / improvements
- Stack allocate line segments in OverlapUnion (Paul Ramsey)
- Avoid returning non-empty CoordinateSequence from empty Point
(#1001, Dan Baston)
- Avoid assertion failure with MSVC 2017 / 2019 (#1002, Dan Baston)
- Remove whitespace from end of GEOSversion() output (azhi)
- Improve performance of GEOSisValid (#1008, Dan Baston)
- Avoid changing MultiLineString component order in GEOSReverse
(#1013, Dan Baston)
- Fix missing vtable for LineString and CoordinateArraySequenceFactory
(#299 and #1016, Evgen Bodunov)
- Reduce performance regression in GEOSBuffer (#1020)
Changes in 3.8.0
2019-10-10
- New things:
- CAPI: GEOSBuildArea (#952, Even Rouault)
- CAPI: GEOSMakeValid (#952, Even Rouault)
- CAPI: GEOSPolygonize_valid (#727, Dan Baston)
- CAPI: GEOSCoverageUnion (Dan Baston)
- CAPI: GEOSCoordSeq_setXY, GEOSCoordSeq_setXYZ,
GEOSCoordSeq_getXY, GEOSCoordSeq_getXYZ (Dan Baston)
- CAPI: GEOSMinimumBoundingCircle (#735)
- CAPI: GEOSGeom_createPointFromXY (Dan Baston)
- Improvements:
- Improve overall performance by reducing of heap allocations (Dan Baston)
- Improve performance and robustness of GEOSPointOnSurface (Martin Davis)
- Improve performance of GEOSPolygonize for cases with many potential
holes (#748, Dan Baston)
- Support extended precision calculations (ttmath) and port JTS
improvements related to extended precision (Paul Ramsey, Mateusz Loskot)
- Improve performance of GEOSPolygonize for cases with many or complex
shells (Dan Baston, Martin Davis)
- Improve performance of Delaunay triangulations / Voronoi Diagrams
(Dan Baston)
- Improve performance of prepared geometry operations (Dan Baston)
- Improve robustness of Delaunay triangulations (Paul Ramsey, Martin Davis)
- Improve performance of unary union for lines (Dan Baston)
- Improve general predicate, overlay, and buffer performance (Dan Baston, Paul Ramsey)
- Improve cascaded union performance (Paul Ramsey, Martin Davis)
- Allocate default GeometryFactory singleton on the stack (Sandro Mani)
- Harmonize XML tests with JTS and harmonize cmake/autoconf
test running (Paul Ramsey)
- CMake modernization (Mateusz Loskot, Paul Ramsey, Dan Baston)
- Return unique_ptr from most methods that produce a new geometry (Dan Baston)
- Changes:
- Constructive geometry functions in CAPI now preserve SRID
of input arguments in output (#896)
* Version 1.0.49:
- This version fixes a regression introduced in version 1.0.48 that broke
the external authentication feature. Reported by Peter Hudec, thanks!
- Sockets from `pure-authd` and `pure-extauth` are now always owned by
`root` in order to cope with the absence of `CAP_DAC_OVERRIDE` on Linux.
Suggested by Arkadiusz MiÅkiewicz, thanks!
* Version 1.0.48:
- SNI support has been added. A new service, `pure-certd`, can run
external code written in any language in order to map SNI names to TLS certificates.
- External authentication handlers get a new
`AUTHD_CLIENT_SNI_NAME` environment variable set when the client uses SNI.
- TLS certificates and keys can now be in different files.
- `make install` does not overwrite existing configuration files any
more. The example files layout has changed.
- TLS 1.3 is enabled when using OpenSSL 1.1.x.
- TLS < 1.2 is disabled by default.
- Quirks for obsolete OpenSSL versions have been removed.
- Username _ftp can be used as an alternative to ftp everywhere.
- Password hashing parameters are now chosen according to locally
available resources. The `pure-pw` command gets to new switches: `-C` (as
a hint regarding the number of simultaneous login attempts) and `-M`
(total memory, in MB, to reserve for password hashing).
- New translation: Albanian, thanks to Moisi Xhaferaj.
- The `PRET` command has been added. It can avoid opening useless data
connections for nonexistent content.
- Dot-files are always displayed. We don't lie any more in some
commands while not lying in other commands to respect the protocol.
- Support for RFC 2640 has been removed from the free version, as it
was early, experimental, slow, mostly broken and unmaintained code.
- The `NLST` command doesn't perform globbing any more.
- The `MLSD` command now prepends the path to file names.
* Version 1.0.47:
- Unlike other directory listing commands, the STAT command should
use TLS on the control channel even if TLS has been disabled on the data
channel. It wasn't the case; this has been fixed. Thanks to Carlo
Cannas.
- Return a 451 error code instead of 226 on aborted uploads.
- The system user "_ftp" can be used as an alternative to "ftp" for
anonymous sessions.
- Compatibility with libsodium > 1.0.12 was added (including minimal
mode).
* Version 1.0.46:
- The server can now be linked against OpenSSL 1.1.x with the strict API.
- Unmaintained contributions have been removed.
- Globbing: the number of * in an expression has been limited to 3.
* Version 1.0.45:
- TLS v1.0 sessions are now refused.
- Version 1.0.44 didn't properly parse the TLSCipherSuite directive.
This has been fixed.
* Version 1.0.44:
- The Perl and Python wrappers are gone. The daemon can now use a
configuration file without requiring external dependencies.
- Pure-FTPd can now be linked against OpenSSL 1.1.x
- The QUIT command didn't work properly when the server was compiled
without support for RFC2640. This has been fixed.
- 3DES was removed from the default cipher suite.
* Version 1.0.43:
- Passwords can now be hashed using Argon2.
- The -J switch didn't work any more in 1.0.42. This has been fixed.
- The default cipher suite was simplified.
- Authentication against system accounts is compatible with OpenBSD 6.0.
- Fixed: protocol conformance when TLS sessions are refused.
- Altlog records can now be sent to `stdout`/`stderr`.
* Version 1.0.42:
- Compilation fix for OpenBSD and Bitrig when Pure-FTPd is not
compiled with libsodium.
- The connection is now dropped if HTTP commands are received.
- LDAP force_default_gid and force_default_uid now work as documented.
- The ONLY_ACCEPT_REUSED_SSL_SESSIONS switch (introduced in Pure-FTPd
1.0.22 circa 2009, but disabled back then due to client compatibility
concerns) is now on by default, except in broken clients compatibility mode.
* Version 1.0.41:
- libmariadb is looked for in addition to libmysqlclient
- MySQL: my_make_scrambled_password() is not always an exported
symbol any more, so pure-ftpd now ships a reimplementation.
- openssl/ec.h is not available on some Linux distributions that
disable EC in OpenSSL. This is being tested by autoconf.
- New command-line switch: -2/--certfile= to set the path to the
certificate file when using TLS.
* Version 1.0.40:
- Support for TCP_FASTOPEN added on Linux
- The LDAP configuration file didn't allow a default gid without also
defining a default uid. This is no longer the case.
- OpenBSD's glob() left the glob_t structure uninitialized if the
pattern was larger than PATH_MAX, causing globfree() to free() an
unwanted pointer. The bug was introduced in Pure-FTPd 1.0.34.
* Version 1.0.39:
- Explicitly include openssl/ec.h for OpenSSL 0.9.8 (CentOS 5)
- Retry if SSL_shutdown() returns -1 and SSL_ERROR_WANT_(READ|WRITE)
* Version 1.0.38:
- The default cipher suite is now ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SH
- TLS forward secrecy support was added. DH parameters are loaded from
TLS_DHPARAMS_FILE, if present. ECDH is also supported - Default curve
is prime256v1 (TLS_DEFAULT_ECDH_CURVE). The best curve is automatically
selected when using LibreSSL.
- scrypt hashed passwords can be used in the MySQL, PostgreSQL and
LDAP backends.
* Version 1.0.37:
- The -C: prefix can be added to the cipher suite in order to make valid
client certificates mandatory. This is no longer a compile-time option.
- The Clear Command Channel (CCC) command is now supported.
- pure-config.py is compatible with Python 3.
- SSL (v2, v3) is refused by default.
- The PureDB backend supports the scrypt function in order to hash
passwords. This is the preferred algorithm, but requires the presence
of libsodium.
- DES-hashed passwords are not supported any more.
- LDAP uid and gid values can over overridden in the LDAP configuration file.
- New LDAPUseTLS directive for LDAP.
- RC4 was killed.
* Version 1.0.36:
- The safe_write()/safe_read() factorization broke extauth. Using
safe_read_partial() to read from the extauth pipe wasn't enough.
Bug reported by Rasmus Fauske.
- Improved autoconf detection of -fstack-protector and -fPIE
- If 10 digits are not enough to print the size of a file in an
ls-like output, bump the max number of digits to 18. This adds support for
files up to 1 exabyte.
- Pure-FTPd can be compiled with Cygwin, ASLR/DEP is enabled by
default on Windows, and ASCII downloads on Windows have been fixed.
- A new undocumented macro, ALLOW_EVERYTHING_IN_FILE_NAMES, allows
any characters in a file name. Disabled by default.
- Don't display dot files (except . and ..) if dot_read_ok is 0 in
donlist() - but not in sglob() yet. This change is purely cosmetic. There are
many ways to figure out if a file exists.
libchamplain 0.12.20 (2019-10-28)
=================================
Stable release
Changes:
* Remove autotools-based build and all the related files (Jiří Techet)
* Fix gtk-doc module name (Mart Raudsepp)
* Add missing gdk required dependency (Mart Raudsepp)
* Make the build reproducible (Chris Lamb)
libchamplain 0.12.19 (2019-03-03)
=================================
Stable release
Changes:
* Fix incorrect Requires in pc files when using meson (Jan Alexander Steffens)
* Various meson-related fixes and cleanups (Jan Alexander Steffens)
libchamplain 0.12.18 (2019-02-21)
=================================
Stable release
Changes:
* Fix incorrect so version when using meson (Jiří Techet)
* Avoid exporting marshaler functions by dropping the use of glib-genmarshal and
using the generic marshaler instead (Jiří Techet)
* Don't use glib-mkenums for champlain-gtk where it's not needed (Jiří Techet)
libchamplain 0.12.17 (2019-02-20)
=================================
Stable release
Changes:
* Use of meson build system, CI tests and automatized generation of
documentation (Martin Blanchard)
* Various map wrapping fixes (Tomasz Miąsko, Jiří Techet)
* Pass data as uint8 pointer in champlain_renderer_set_data() and make this
function introspectable (James Westman)
* Bump versions of some dependencies - clutter (1.24), glib (2.38) - and fix
depreciation warnings (Jiří Techet)
* Use https for all map sources that support it (Jiří Techet)
* Don't version-control generated vapi files (Jiří Techet)
* Combine champlain and champlain-gtk documentations into one (Jiří Techet)
* More helpful README.md with links to pages related to libchamplain
(Jiří Techet)
* Various housekeeping and cleanups (Jiří Techet, Andre Klapper)
libchamplain 0.12.16 (2017-09-06)
=================================
Stable release
Changes:
* Add possibility to set User-Agent for requests (Jens Georg)
* Fix touch gesture zoom (Jan-Michael Brummer)
* Python demo fixes and cleanups (Chris Mayo)
libchamplain 0.12.15 (2017-03-08)
=================================
Stable release
Changes:
* Fix path layer surface exporting when no clone is visible (Marius Stanciu)
* Fix printing in gnome-maps (Marcus Lundblad)
* Fix build on RHEL 7.3 (Matthias Clasen)
* Minor example updates (Jiří Techet)
libchamplain 0.12.14 (2016-09-06)
=================================
Stable release
Changes:
* Add support for horizontal map wrapping (Marius Stanciu, Jonas Danielsson,
Jiří Techet)
* Make the number of parallel connections of network tile source configurable
(Mattias Bengtsson)
* Remove Mapquest map source as the tile server is not accessible any more
(Nayan Deshmukh, Jiří Techet)
* Remove Maemo-related code (Jiří Techet)
* Fix small memory leaks (Marius Stanciu)
* Bump libsoup dependency requirement to 2.42 and drop deprecated function
calls (Nayan Deshmukh)
* Various minor improvements, fixes, depreciaton warning removals and cleanups
(Nayan Deshmukh, Marius Stanciu, Mattias Bengtsson, Jiří Techet)
libchamplain 0.12.13 (2016-02-25)
=================================
Stable release
Changes:
* Implement ChamplainExportable in MarkerLayer and ChamplainPoint
(Jonas Danielsson)
* Avoid runtime warnings due to the use of deprecated API (Cosimo Cecchi)
* Make sure enums are introspectable (Jonas Danielsson)
* Fix occasional crash when closing map with layers (Jonas Danielsson)
* Various minor fixes and improvements (Emmanuele Bassi, Hashem Nasarat,
Pavel Machek, Jiří Techet)
libchamplain 0.12.12 (2015-12-02)
=================================
Stable release
Changes:
* Add possibility to export maps (Jonas Danielsson)
* Fix map getting blank after some mouse actions (Carlos Garnacho)
* Fix tile loading at higher zoom levels (Rémy Oudompheng)
* Improve mouse wheel zoom handling (Carlos Garnacho, Jiri Techet)
libchamplain 0.12.11 (2015-09-18)
=================================
Stable release
Changes:
* Improved touch-screen support, pinch-to-zoom (Carlos Garnacho)
* Add champlain_view_set_world() to limit the world to the specified bounding
box (Jonas Danielsson)
* Various minor fixes (Jonas Danielsson, Ting-Wei Lan, Jiří Techet)
3.47.2 (2020-03-10)
- macOS: Potential fix for clipped text labels on a few systems
- SFTP: Backported selected fixes from developement versions of PuTTY
- Fixed value range for directional transfer limits
- Fixed layout issues if changing to/from comparative search
3.47.1 (2020-02-24)
- Fixed regression loading advanced site parameters
3.47.0 (2020-02-24)
- Fix visual glitched adding/removing filter rows
- MSW: Limit amount of text that can be entered in spin controls
3.47.0-rc1 (2020-02-16)
+ Added new search mode: Comparative search
+ Pressing F7 now switches focus between local and remote panes
- MSW: Work around a linker bug breaking ASLR
- macOS: Avoid spurious button events consuming keyboard shortcuts
- Increased minimum width of text field in generic input dialogs
- Refactored Site Manager controls to increase modularity and fixed some minor GUI inconsistencies
- Refactored engine connection logic
- Building and running FileZilla now depends on libfilezilla >= 0.19.1 (https://lib.filezilla-project.org/)
Changes since v1.10:
v1.11 - 10.03.2020
- Bugfix: The Help screen scrollbars could act strange when switching subjects
- Bugfix: Some of the Instr. Ed. (+ extension) scrollbars could be moved with
the up/down pushbuttons even if the current instrument is not allocated.
This is not supposed to be possible.
- Bugfix: In the Instr. Ed. screen, the "Add" button (vol/pan env.) could lead
to a crash if the current instrument wasn't allocated.
- Bugfix: The piano in the Instr. Ed. screen could show wrong keypresses if
extremely low or high pitches were being played.
- The up/down pushbutton delay has been increased, it's too short in original
FT2 (in my opinion).
- The 4-tap cubic spline interpolation table (for the audio mixer) has been
recalculated in higher precision and more phases. It should in theory be
better, but I can't personally hear any difference.
- Windows: The DPI-scaling is now per-monitor aware instead of system aware.
Maybe this solve the issue of blurry pixels for some people...
- Don't warn the user when loading a song with stereo samples. They will be
mixed to mono anyway, and I don't think it's an important warning to show.
- Fixed some minor grammar errors in some GUI texts
Vala 0.48.0
===========
* Various improvements and bug fixes:
- vala:
+ Fix circular reference in Property/EnumValueType
+ Report an internal error for unavailable context and bail
+ Prevent possible stack-overflow in Class.is_subtype_of()
- Add missing CodeContext.pop() calls
- codegen: Add more "low-level" includes of "glib.h"
- girparser: Decrease return_array_length_idx for transformed function
- girparser: Delay adding of "GLib.Object" prerequisite to interfaces
- manual: Update from wiki.gnome.org
* Bindings:
- vapi: Update GIR-based bindings
* Contributors:
Alberto Fanjul, Arnaud Bonatti, Corentin Noël, Evan Nemerson, Florian Brosch,
Jeremy Philippe, Michael Gratton, Ole André Vadla Ravnås, Princeton Ferro,
Rico Tzschichholz, Simon Werbeck
Vala 0.47.92
============
* Various improvements and bug fixes:
- Add support for sealed classes in bindings [#278]
- codegen: Don't initialize stack-allocated array with local-constant
length [#910]
- vala: Improve robustness of analyzer pass for language-servers [#911]
- vala: Add local-variables to current scope regardless its error state
- testrunner: Pass G_DEBUG=fatal-warnings to invalid test
* Bindings:
- Add some fundamental deps files to improve --nostdpkg support [#911]
Vala 0.47.91
============
* Various improvements and bug fixes:
- vala:
+ Fix base-access check for compact classes (2)
+ Don't ignore errors in Parameter and acknowledge them further
+ Properly set CodeNode.error when reporting an error
- girparser: Report a warning for conflicting class and instance methods
- testrunner: Invalid tests and therefore expected failures must return 1
- manual: Update from wiki.gnome.org
* Bindings:
- Add harfbuzz-gobject binding [#909]
- gstreamer: Update from 1.17.0+ git master
- gtk+-*.0,gtk4: Fix iter parameter of TextIter.order() [#908]
- gtk4: Update to 3.98.0+410dbdf6
- pango: Update and add harfbuzz-gobject as dependency
- webkit2gtk-4.0: Update to 2.27.90
Vala 0.47.4
===========
* Various improvements and bug fixes:
- codegen:
+ Skip StructRegisterFunction for boolean/integer/floating types [#901]
+ Handle different type-symbols in visit_base_access() [#901]
+ Explicitly include header for length-type of arrays
+ Explicitly include <glib.h> as needed for null-literal
+ Make *_try_id specific to emit-context instead being global states
- vala:
+ Improve detection of recursive struct declarations [#902]
+ Inline allocated arrays require length or initializer [#903]
- parser: Improve robustness and behavior of --keep-going
* Bindings:
- javascriptcoregtk-4.0: Make JSC.Class usable by defining the right callback
- gtk4: Update to 3.96.0+4ab12ab7
- vapi: Update GIR-based bindings
Vala 0.47.3
===========
* Highlights:
- Add further support for params arrays [#128]
* Various improvements and bug fixes:
- codegen:
+ Don't set implemenation of interface property to its own [#891]
+ Use result value of assignment rather than its computation [#895]
+ Cast instance parameter in member-initializer for base-properties [#899]
- vala:
+ Infer target_type in coalescing expressions [#892]
+ Non-nullable value-type in coalesce expression needs to be copied [#893]
+ Fix short-circuiting behavior of coalescing operator [#534]
+ Always bail if there are semantic errors
- girparser: Apply explicitly given ctype metadata attributes on callables
* Bindings:
- glib-2.0: Let (u)int.try_parse() return false if there is an unparsed part
- gtk4: Update to 3.96.0+7e2e92a8
- gstreamer: Update from 1.17.0+ git master
- vapi: Update GIR-based bindings
- webkit2gtk-4.0: Update to 2.27.4
Vala 0.47.2
===========
* Highlights:
- compiler: Add "--depfile" option writing package dependencies to given file
* Various improvements and bug fixes:
- codegen:
+ Fix support of dynamic DBus methods
+ Fix vfunc signature of delegate-typed property in interface
+ Fix precondition in creation method of structs
+ Remove unreachable code in TypeRegisterFunction.init_from_type()
+ Improve *_get_type() fast path (requires glib >= 2.58) [#879]
- vala:
+ Report error for async creation expression without yield
+ Don't require constant initializer in fast-vapi [#461]
+ VoidType is actually compatible with itself [#878]
+ Improve handling of "void" as generic type [#878]
+ Keep formal_target_type on transform of method-call/object-creation [#835]
+ Add a basic parameter check for [Print] methods
+ Let the parser have set namespace members as static
+ Don't ignore inner errors in Block and acknowledge them further
+ Improve error message for unsupported inner types and declarations
+ Don't allow "va_list" as return-type or type of fields [#884]
+ Check before accessing "name" of parent_symbol which might be null
+ Allow to override base interface properties explicitly
- gidl/girparser: Creation methods must not be marked as static
- parser: Implicit "main" method of main-block is public and static
- scanner: "\x" requires two hex digits at most
- scanner: Improve check of "\u" escape sequence
- genie: Fix parser's inner state when a struct is declared after a class
* Bindings:
- glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
- glib-2.0: Add new symbols from 2.64
- glib-2.0: Reset errno before calling strto*() functions.
- gstreamer: Update from 1.17.0+ git master
- gtk4: Update to 3.96.0+448a4023
- pango: Update to 1.44+
- vapi: Update GIR-based bindings
- webkit2gtk-4.0: Update to 2.27.3
Vala 0.47.1
===========
* Highlights:
- Various improvements for the POSIX profile
- codegen:
+ Allow passing/retrieving any delegate to/from varargs parameter
+ Support gobject property of null-terminated array without length [#855]
+ Support gobject property of delegates not carrying their target [#856]
+ Warn when directly accessing member of silent cast-expression
- vala:
+ Add DelegateType.target/destroy fields to access its user-data [#857]
+ Accept interface as inner type for object-type symbols [#697]
+ Add GenericType.dup/destroy fields [#190]
+ Support "unowned var" to declare local variables [#152]
- compiler: Add "--list-sources" options to output list of all sources [#872]
* Various improvements and bug fixes:
- codegen:
+ Move type-argument checks to SemanticAnalyzer
+ Make CCodeBaseModule.generate_method_declaration() return bool
+ Fix custom reference-counting for compact classes
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC must not declared more than once
+ Use SemanticAnalyzer.get_data_type_for_symbol()
+ Commonize the determining of return-type for delegates and methods
- vala:
+ Rename DataType.data_type property to DataType.type_symbol
+ Unify backing symbol instance of data-types
+ Respect --abi-stability in Class/Interface.accept_children()
+ Don't mark method as used on recursive usage of itself [#100]
+ Set GLib.Error as symbol of error-types if no error-domain was given
+ Make Callable derive from Symbol
- libvaladoc: Remove TypeReference.pass_ownership API
- valadoc: Rename FormalParameter to Parameter
- girwriter: Fix position of priv field (--abi-stability) [#850]
* Bindings:
- glib-2.0: Add binding for "gettext()" [#864]
- glib-2.0: Add new symbols from 2.64
- glib-2.0: Add optional "base" parameter to *.parse/try_parse() of integers
and check errno for EINVAL and ERANGE in *.try_parse() [#223]
- glib-2.0: Add (u)int.try_parse() [#649]
- glib-2.0: Add "has_typedef = false" to custom MarkupParser*Func delegates
- gtk+-*.0: Fix iter parameter of TextBuffer.backspace()
- gtksourceview-2.0: Fix iter parameter in SourceBuffer.backward/forward/...
- libusb-1.0: Use a wrapper for Context.get_device_list() [#151]
Python 3.7.7 final
Library
bpo-13487: Avoid a possible “RuntimeError: dictionary changed size during iteration” from inspect.getmodule() when it tried to loop through sys.modules.
Documentation
bpo-17422: The language reference no longer restricts default class namespaces to dicts only.
Python 3.7.7 release candidate 1
Security
bpo-39401: Avoid unsafe load of api-ms-win-core-path-l1-1-0.dll at startup on Windows 7.
Core and Builtins
bpo-39776: Fix race condition where threads created by PyGILState_Ensure() could get a duplicate id.
This affects consumers of tstate->id like the contextvar caching machinery, which could return invalid cached objects under heavy thread load (observed in embedded scenarios).
bpo-39778: Fixed a crash due to incorrect handling of weak references in collections.OrderedDict classes. Patch by Pablo Galindo.
bpo-39382: Fix a use-after-free in the single inheritance path of issubclass(), when the __bases__ of an object has a single reference, and so does its first item. Patch by Yonatan Goldschmidt.
bpo-39606: Fix regression caused by fix for bpo-39386, that prevented calling aclose on an async generator that had already been closed or exhausted.
bpo-39510: Fix segfault in readinto() method on closed BufferedReader.
bpo-39453: Fixed a possible crash in list.__contains__() when a list is changed during comparing items. Patch by Dong-hee Na.
bpo-39427: Document all possibilities for the -X options in the command line help section. Patch by Pablo Galindo.
bpo-39421: Fix possible crashes when operating with the functions in the heapq module and custom comparison operators.
bpo-39386: Prevent double awaiting of async iterator.
bpo-38588: Fix possible crashes in dict and list when calling PyObject_RichCompareBool().
bpo-39031: When parsing an “elif” node, lineno and col_offset of the node now point to the “elif” keyword and not to its condition, making it consistent with the “if” node. Patch by Lysandros Nikolaou.
bpo-38610: Fix possible crashes in several list methods by holding strong references to list elements when calling PyObject_RichCompareBool().
Library
bpo-39794: Add –without-decimal-contextvar build option. This enables a thread-local rather than a coroutine local context.
bpo-39769: The compileall.compile_dir() function’s ddir parameter and the compileall command line flag -d no longer write the wrong pathname to the generated pyc file for submodules beneath the root of the directory tree being compiled. This fixes a regression introduced with Python 3.5.
bpo-30566: Fix IndexError when trying to decode an invalid string with punycode codec.
bpo-39649: Remove obsolete check for __args__ in bdb.Bdb.format_stack_entry.
bpo-27657: The original fix for bpo-27657, “Fix urlparse() with numeric paths” (GH-16839) included in 3.7.6, inadvertently introduced a behavior change that broke several third-party packages relying on the original undefined parsing behavior. The change is reverted in 3.7.7, restoring the behavior of 3.7.5 and earlier releases.
bpo-21016: The pydoc and trace modules now use the sysconfig module to get the path to the Python standard library, to support uncommon installation path like /usr/lib64/python3.9/ on Fedora. Patch by Jan Matějek.
bpo-39548: Fix handling of header in urllib.request.AbstractDigestAuthHandler when the optional qop parameter is not present.
bpo-39450: Striped whitespace from docstring before returning it from unittest.case.shortDescription().
bpo-39493: Mark typing.IO.closed as a property
bpo-39485: Fix a bug in unittest.mock.create_autospec() that would complain about the wrong number of arguments for custom descriptors defined in an extension module returning functions.
bpo-39430: Fixed race condition in lazy imports in tarfile.
bpo-39389: Write accurate compression level metadata in gzip archives, rather than always signaling maximum compression.
bpo-39274: bool(fraction.Fraction) now returns a boolean even if (numerator != 0) does not return a boolean (ex: numpy number).
bpo-39242: Updated the Gmane domain from news.gmane.org to news.gmane.io which is used for examples of NNTP news reader server and nntplib tests.
bpo-39152: Fix ttk.Scale.configure([name]) to return configuration tuple for name or all options. Giovanni Lombardo contributed part of the patch.
bpo-39198: If an exception were to be thrown in Logger.isEnabledFor (say, by asyncio timeouts or stopit) , the logging global lock may not be released appropriately, resulting in deadlock. This change wraps that block of code with try...finally to ensure the lock is released.
bpo-39191: Perform a check for running loop before starting a new task in loop.run_until_complete() to fail fast; it prevents the side effect of new task spawning before exception raising.
bpo-38871: Correctly parenthesize filter-based statements that contain lambda expressions in mod:lib2to3. Patch by Dong-hee Na.
bpo-39142: A change was made to logging.config.dictConfig to avoid converting instances of named tuples to ConvertingTuple. It’s assumed that named tuples are too specialised to be treated like ordinary tuples; if a user of named tuples requires ConvertingTuple functionality, they will have to implement that themselves in their named tuple class.
bpo-38971: Open issue in the BPO indicated a desire to make the implementation of codecs.open() at parity with io.open(), which implements a try/except to assure file stream gets closed before an exception is raised.
bpo-39057: urllib.request.proxy_bypass_environment() now ignores leading dots and no longer ignores a trailing newline.
bpo-39056: Fixed handling invalid warning category in the -W option. No longer import the re module if it is not needed.
bpo-39055: base64.b64decode() with validate=True raises now a binascii.Error if the input ends with a single \n.
bpo-38878: Fixed __subclasshook__ of os.PathLike to return a correct result upon inheritence. Patch by Bar Harel.
bpo-35182: Fixed Popen.communicate() subsequent call crash when the child process has already closed any piped standard stream, but still continues to be running. Patch by Andriy Maletsky.
bpo-38473: Use signature from inner mock for autospecced methods attached with unittest.mock.attach_mock(). Patch by Karthikeyan Singaravelan.
bpo-38293: Add copy.copy() and copy.deepcopy() support to property() objects.
bpo-37953: In typing, improved the __hash__ and __eq__ methods for ForwardReferences.
bpo-36406: Handle namespace packages in doctest. Patch by Karthikeyan Singaravelan.
Documentation
bpo-13790: Change ‘string’ to ‘specification’ in format doc.
bpo-39530: Fix misleading documentation about mixed-type numeric comparisons.
bpo-17422: The language reference now specifies restrictions on class namespaces. Adapted from a patch by Ethan Furman.
bpo-39654: In pyclbr doc, update ‘class’ to ‘module’ where appropriate and add readmodule comment. Patch by Hakan Çelik.
bpo-39392: Explain that when filling with turtle, overlap regions may be left unfilled.
bpo-39381: Mention in docs that asyncio.get_event_loop() implicitly creates new event loop only if called from the main thread.
bpo-38918: Add an entry for __module__ in the “function” & “method” sections of the inspect docs types and members table
bpo-3530: In the ast module documentation, fix a misleading NodeTransformer example and add advice on when to use the fix_missing_locations function.
Tests
bpo-38546: Fix test_ressources_gced_in_workers() of test_concurrent_futures: explicitly stop the manager to prevent leaking a child process running in the background after the test completes.
Build
bpo-39144: The ctags and etags build targets both include Modules/_ctypes and Python standard library source files.
Windows
bpo-38597: distutils will no longer statically link vcruntime140.dll when a redistributable version is unavailable. All future releases of CPython will include a copy of this DLL to ensure distributed extensions can continue to load.
bpo-38380: Update Windows builds to use SQLite 3.31.1
bpo-39439: Reduce overhead when using multiprocessing in a Windows virtual environment
bpo-39185: The build.bat script has additional options for very-quiet output (-q) and very-verbose output (-vv)
macOS
bpo-38380: Update macOS builds to use SQLite 3.31.1
IDLE
bpo-39781: Selecting code context lines no longer causes a jump.
bpo-39663: Add tests for pyparse find_good_parse_start().
bpo-39600: In the font configuration window, remove duplicated font names.
bpo-30780: Add remaining configdialog tests for buttons and highlights and keys tabs.
bpo-39388: IDLE Settings Cancel button now cancels pending changes
bpo-39050: Make IDLE Settings dialog Help button work again.
bpo-34118: Tag memoryview, range, and tuple as classes, the same as list, etcetera, in the library manual built-in functions list.
bpo-38792: Close an IDLE shell calltip if a KeyboardInterrupt or shell restart occurs. Patch by Zackery Spytz.
bpo-32989: Add tests for editor newline_and_indent_event method. Remove dead code from pyparse find_good_parse_start method.
curl and libcurl 7.69.1
This release includes the following bugfixes:
* ares: store dns parameters for duphandle
* cirrus-ci: disable the FreeBSD 13 builds
* curl_share_setopt.3: Note sharing cookies doesn't enable the engine
* lib1564: reduce number of mid-wait wakeup calls
* libssh: Fix matching user-specified MD5 hex key
* MANUAL: update a dict-using command line
* mime: do not perform more than one read in a row
* mime: fix the binary encoder to handle large data properly
* mime: latch last read callback status
* multi: skip EINTR check on wakeup socket if it was closed
* pause: bail out on bad input
* pause: force a connection recheck after unpausing (take 2)
* pause: return early for calls that don't change pause state
* runtests.1: rephrase how to specify what tests to run
* runtests: fix missing use of exe_ext helper function
* seek: fix fall back for missing ftruncate on Windows
* sftp: fix segfault regression introduced in 7.69.0
* sha256: Added SecureTransport implementation
* sha256: Added WinCrypt implementation
* socks4: fix host resolve regression
* socks5: host name resolv regression fix
* tests/server: fix missing use of exe_ext helper function
* tests: fix static ip:port instead of dynamic values being used
* tests: make sleeping portable by avoiding select
* unit1612: fix the inclusion and compilation of the HMAC unit test
* urldata: remove the 'stream_was_rewound' connectdata struct member
* version: make curl_version* thread-safe without using global context
ChangeLog:
This release includes the ECL lexer as a new lexer. It also incorporates
fixes for the CoffeeScript, Markdown, NASM, Ruby, Scala and Varnish lexers.
Packaged by pin in pkgsrc-wip. (The change log below doesn't note this,
but NetBSD-specific patches from pin were also merged in 0.13.0.)
V0.13.0
---------
* Allow dash and some other characters (-,;!@*') in URL schemes.
* Support syntax color customization, with two separate settings for light and dark color schemes.
* Also added an option for the whitespace color value.
* Never use processEvents(); it makes single-instance apps prone to crash in rare cases.
* Consider the HTML ampersand valid in "&name;", "&number;" and "&hexadecimal;".
* Yet smarter Shift+Enter with alphabetical lists.
* Bypass medium focus stealing prevention.
* Fixed a problem in highlighting of multiline comments (with languages that have regex).
* Fixed highlighting of Markdown code blocks without language.
* Remember cursor's horizontal pixel position before Backspace/Enter and restore it after Down/Up. This feature was removed with Backspace due
to a regression in Qt 5.14.1.
* Found and fixed a potential issue in translations (thanks to Masamichi Ito — ito32bit at GitHub).
* Don't read custom shortcuts and syntax colors from global config files because the user should be able to restore their default values.
V0.12.1
---------
* Removed "changelog" and "gtkrc" from the language menu (like "srt") while keeping their syntax highlighting.
* Allow searching in the language menu by typing continuously.
* More informative message when a non-text file isn't opened because of preferences.
* Fixed disabled sort line actions in context menu.
* Fixed a case of escaped quote/brace/bracket in YAML.
* Reformat the visible text rectangle on toggling line wrapping.
* Considered the new behavior of horizontal wheel scrolling in Qt 5.14.0.
* Added a workaround for the bug in horizontal scrollbars of Qt 5.14.0.
bsdtar chooses the base system tar if it is libarchive tar (NetBSD
9/current, typically), and the package otherwise, so there is no need
to conditionalize setting bsdtar on NetBSD.
(As discussed on tech-pkg@.)
Changes in libsoup from 2.69.90 to 2.70.0:
* Deprecate SoupSession:proxy-uri [Patrick Griffis]
* Update translations: Persian, Finnish, Ukrainian
Changes in libsoup from 2.68.3 to 2.69.90:
* Add new API to expose support for same-site cookies [Patrick Griffis]
* Fix TRACE method not being considered safe and idempotent internally [Patrick
Griffis]
* WebSockets: ensure a new connection is created for WebSocket requests [Carlos
Garcia Campos]
* WebSockets: do not start the input source when IO is closing [Carlos Garcia
Campos]
* Deprecate soup_date_to_timeval() [Claudio Saavedra]
* build: Update glib requirement to 2.58 [Xavier Claessens]
* Updated translations: Malay [Umarzuki Mochlis]