upstream changes:
-----------------
Patch Package: OTP 23.3.1
Git Tag: OTP-23.3.1
Date: 2021-03-30
Trouble Report Id: OTP-17279
Seq num:
System: OTP
Release: 23
Application: ssh-4.11.1
Predecessor: OTP 23.3
Check out the git tag OTP-23.3.1, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- ssh-4.11.1 ------------------------------------------------------
---------------------------------------------------------------------
The ssh-4.11.1 application can be applied independently of other
applications on a full OTP 23 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17279 Application(s): ssh
The idle_time timer was not cancelled when a channel
was opened within the timeout time on an empty
connection that have had channels previously.
Full runtime dependencies of ssh-4.11.1: crypto-4.6.4, erts-9.0,
kernel-5.3, public_key-1.6.1, stdlib-3.4.1
---------------------------------------------------------------------
Changes for 23.3 are at https://erlang.org/download/OTP-23.3.README
This release incorporates the following changes:
* Add support for Postgres 13
* Add provisional support for Postgres 14
* Upgrade Jquery library to 3.4.1 (Nirgal)
* Allow users to see group owned databases when using "owned only"
* Fix bug where sorting on selects dumped you to the table screen (MichaMEG)
* This release drops support for PHP 7.1
* This will be the last release to support PHP 7.
Release 7.12.1 incorporated the following changes:
* Fix a number of issues related to changes in Postgres 12.
* Fix an issue with truncation of long multibyte strings
* Removal of broken tree branches from table/view browse option
* Properly escape identifiers when browsing tables/views/schemas
* Add support for granting USAGE on sequences
Release 7.12.0 incorporated the following changes:
* PHP 7.1 is now the default version for development
* Added support for all current versions of PostgreSQL (including 12)
* Updated some internal libraries, fixed additional bugs, and merged in patches
Finally, release 5.6 added support for all recent versions of Postgres (at
least 9.3 - 12devel). It also fixed a number of minor bugs and included several
language fixes.
Woof! 4.0.2
-----------
- Add a config example for Vanilla automap colors (thanks @OpenRift412).
- Do not collapse leading slashes on Windows anymore in NormalizeSlashes()
to recognize canonicalized Windows paths (@rfomin).
- Prevent running out of stack space in P_SetMobjState() (@rfomin).
- Only save MUSINFO music in savegames if it's actually playing.
- Keep the comp_3keydoor compatibility flag out of the comp[] array to
prevent demo header mismatch with PrBoom+
Changes:
7.76.0
======
This release includes the following changes:
o cookies: Support multiple -b parameters
o curl: add --fail-with-body
o doh: add options to disable ssl verification
o http: add support to read and store the referrer header
o sasl: support SCRAM-SHA-1 and SCRAM-SHA-256 via libgsasl
o vtls: initial implementation of rustls backend
This release includes the following bugfixes:
o CVE-2021-22876: strip credentials from the auto-referer header field
o CVE-2021-22890: add 'isproxy' argument to Curl_ssl_get/addsessionid()
o asyn-ares: use consistent resolve error message
o BUG-BOUNTY: removed the cooperation mention
o build: delete unused feature guards
o build: fix --disable-dateparse
o build: fix --disable-http-auth
o build: remove all traces of USE_BLOCKING_SOCKETS
o c-hyper: Remove superfluous pointer check
o c-hyper: support automatic content-encoding
o CI/azure: disable test 433 on azure-ubuntu
o CI/azure: replace python-impacket with python3-impacket
o ci: stop building on freebsd-12-1
o cmake: fix import library name for non-MS compiler on Windows
o cmake: use CMAKE_INSTALL_INCLUDEDIR indirection
o cmake: support WinIDN
o config: fix building SMB with configure using Win32 Crypto
o config: fix detection of restricted Windows App environment
o configure: fail if --with-quiche is used and quiche isn't found
o configure: make AC_TRY_* into AC_*_IFELSE
o configure: make hyper opt-in, and fail if missing
o configure: only add OpenSSL paths if they are defined
o configure: provide Largefile feature for curl-config
o configure: remove use of deprecated macros
o configure: s/AC_HELP_STRING/AS_HELP_STRING
o cookies: Fix potential NULL pointer deref with PSL
o curl: set CURLOPT_NEW_FILE_PERMS if requested
o curl_easy_setopt.3: add curl_easy_option* functions to SEE ALSO
o curl_multibyte: always return a heap-allocated copy of string
o curl_multibyte: fall back to local code page stat/access on Windows
o Curl_timeleft: check both timeouts during connect
o curl_url_set.3: mention CURLU_PATH_AS_IS
o CURLOPT_QUOTE.3: clarify that libcurl doesn't parse what's sent
o docs/HTTP2: remove the outdated remark about multiplexing for the tool
o docs/Makefile.inc: format to be update-friendly
o docs: add CURLOPT_CURLU to 'See also' in curl_url_ functions
o docs: add missing Arg tag to --stderr
o docs: Add SSL backend names to CURL_SSL_BACKEND
o docs: clarify timeouts for queued transfers in multi API
o docs: Explain DOH transfers inherit some SSL settings
o docs: fix FILE example url in --metalink documentation
o docs: make gen.pl support *italic* and **bold**
o doh: Fix sharing user's resolve list with DOH handles
o doh: Inherit CURLOPT_STDERR from user's easy handle
o dynbuf: bump the max HTTP request to 1MB
o examples: Remove threaded-shared-conn.c due to bug
o file: Support unicode urls on windows
o ftp: add 'list_only' to the transfer state struct
o ftp: add 'prefer_ascii' to the transfer state struct
o FTP: allow SIZE to fail when doing (resumed) upload
o ftp: avoid SIZE when asking for a TYPE A file
o ftp: fix Codacy/cppcheck warning about null pointer arithmetic
o ftp: fix memory leak in ftp_done
o ftp: never set data->set.ftp_append outside setopt
o gen.pl: quote "bare" minuses in the nroff curl.1
o github: add torture-ftp for FTP-only torture testing
o gnutls: assume nettle crypto support
o gskit: correct the gskit_send() prototype
o hostip: fix build with sync resolver
o hostip: fix crash in sync resolver builds that use DOH
o hsts: remove unused defines
o http2: don't set KEEP_SEND when there's no more data to be sent
o http2: fail if connection terminated without END_STREAM
o http: cap body data amount during send speed limiting
o http: do not add a referrer header with empty value
o http: make 416 not fail with resume + CURLOPT_FAILONERRROR
o http: remove superfluous NULL assign
o http: strip default port from URL sent to proxy
o http: use credentials from transfer, not connection
o ldap: use correct memory free function
o lib1536: check ptr against NULL before dereferencing it
o lib1537: check ptr against NULL before dereferencing it
o lib: remove 'conn->data' completely
o libssh2: kdb_callback: get the right struct pointer
o libssh2:ssh_connect: clear session pointer after free
o memdebug: close debug logfile explicitly on exit
o mingw: enable using strcasecmp()
o multi: close the connection when h2=>h1 downgrading
o multi: do once-per-transfer inits in before_perform in DID state
o multi: rename the multi transfer states
o multi: update pending list when removing handle
o ngtcp2: adapt to the new recv_datagram callback
o ngtcp2: clarify calculation precedence
o ngtcp2: Fix build error due to change in ngtcp2_addr_init
o ngtcp2: sync with recent API updates
o openldap: avoid NULL pointer dereferences
o openssl: adapt to v3's new const for a few API calls
o openssl: ensure to check SSL_CTX_set_alpn_protos return values
o openssl: remove get_ssl_version_txt in favor of SSL_get_version
o openssl: set the transfer pointer for logging early
o OS400: update for CURLOPT_AWS_SIGV4
o parse_proxy: fix a memory leak in the OOM path
o pathhelp.pm: fix use of pwd -L in Msys environment
o projects: Update VS projects for OpenSSL 1.1.x
o quiche: fix build error: use 'int' for port number
o quiche: fix crash when failing to connect
o retry-all-errors.d: Explain curl errors versus HTTP response errors
o retry.d: Clarify transient 5xx HTTP response codes
o runtests.pl: add %TESTNUMBER variable to make copying tests more convenient
o runtests.pl: add a -P option to specify an external proxy
o runtests.pl: kill processes locking test log files
o setopt: error on CURLOPT_HTTP09_ALLOWED set true with Hyper
o test1188: change error to check for: --fail HTTP status
o test220/314: adjust to run with Hyper
o test304: header CRLF cleanup to work with Hyper
o test306: make it not run with Hyper
o tests: disable .curlrc in more environments
o tests: use %TESTNUMBER instead of fixed number
o tftp: remove the 3600 second default timeout
o time: enable 64-bit time_t in supported mingw environments
o tool_help: add missing argument for --create-file-mode
o tool_help: Increase space between option and description
o tool_operate: bail if set CURLOPT_HTTP09_ALLOWED returns error
o travis: add a rustls build
o travis: bump wolfssl to 4.7.0
o travis: only build wolfssl when needed
o travis: split "torture" into a separate "events" build
o travis: switch ngtcp2 build over to quictls
o travis: use ubuntu nghttp2 package instead of build our own
o url.c: use consistent error message for failed resolve
o url: fix memory leak if OOM in the HSTS handling
o url: fix possible use-after-free in default protocol
o urldata: don't touch data->set.httpversion at run-time
o urldata: fix build without HTTP and MQTT
o urldata: make 'actions[]' use unsigned char instead of int
o urldata: merge "struct DynamicStatic" into "struct UrlState"
o urldata: remove the 'rtspversion' field
o urldata: remove the _ORIG suffix from string names
o version.d: Add missing features to the features list
o wolfssl: don't store a NULL sessionid
v3.4 (2021-03-30)
-----------------
* :issue:`481`: An experimental single-file Windows executable of Cutadapt
is `available for download on the GitHub "releases"
page <https://github.com/marcelm/cutadapt/releases>`_.
* :issue:`517`: Report correct sequence in info file if read was reverse complemented
* :issue:`517`: Added a column to the info file that shows whether the read was
reverse-complemented (if ``--revcomp`` was used)
* :issue:`320`: Fix (again) "Too many open files" when demultiplexing
What's New in Pylint 2.7.4?
Put bug fixes that will be cherry-picked to latest major version here
* Fix a problem with disabled msgid not being ignored
* Fix issue with annotated class constants
Git 2.31.1 Release Notes
========================
Fixes since v2.31
-----------------
* The fsmonitor interface read from its input without making sure
there is something to read from. This bug is new in 2.31
timeframe.
* The data structure used by fsmonitor interface was not properly
duplicated during an in-core merge, leading to use-after-free etc.
* "git bisect" reimplemented more in C during 2.30 timeframe did not
take an annotated tag as a good/bad endpoint well. This regression
has been corrected.
* Fix macros that can silently inject unintended null-statements.
* CALLOC_ARRAY() macro replaces many uses of xcalloc().
* Update insn in Makefile comments to run fuzz-all target.
* Fix a corner case bug in "git mv" on case insensitive systems,
which was introduced in 2.29 timeframe.
Also contains various documentation updates and code clean-ups.
Git 2.31 Release Notes
======================
Updates since v2.30
-------------------
Backward incompatible and other important changes
* The "pack-redundant" command, which has been left stale with almost
unusable performance issues, now warns loudly when it gets used, as
we no longer want to recommend its use (instead just "repack -d"
instead).
* The development community has adopted Contributor Covenant v2.0 to
update from v1.4 that we have been using.
* The support for deprecated PCRE1 library has been dropped.
* Fixes for CVE-2021-21300 in Git 2.30.2 (and earlier) is included.
UI, Workflows & Features
* The "--format=%(trailers)" mechanism gets enhanced to make it
easier to design output for machine consumption.
* When a user does not tell "git pull" to use rebase or merge, the
command gives a loud message telling a user to choose between
rebase or merge but creates a merge anyway, forcing users who would
want to rebase to redo the operation. Fix an early part of this
problem by tightening the condition to give the message---there is
no reason to stop or force the user to choose between rebase or
merge if the history fast-forwards.
* The configuration variable 'core.abbrev' can be set to 'no' to
force no abbreviation regardless of the hash algorithm.
* "git rev-parse" can be explicitly told to give output as absolute
or relative path with the `--path-format=(absolute|relative)` option.
* Bash completion (in contrib/) update to make it easier for
end-users to add completion for their custom "git" subcommands.
* "git maintenance" learned to drive scheduled maintenance on
platforms whose native scheduling methods are not 'cron'.
* After expiring a reflog and making a single commit, the reflog for
the branch would record a single entry that knows both @{0} and
@{1}, but we failed to answer "what commit were we on?", i.e. @{1}
* "git bundle" learns "--stdin" option to read its refs from the
standard input. Also, it now does not lose refs whey they point
at the same object.
* "git log" learned a new "--diff-merges=<how>" option.
* "git ls-files" can and does show multiple entries when the index is
unmerged, which is a source for confusion unless -s/-u option is in
use. A new option --deduplicate has been introduced.
* `git worktree list` now annotates worktrees as prunable, shows
locked and prunable attributes in --porcelain mode, and gained
a --verbose option.
* "git clone" tries to locally check out the branch pointed at by
HEAD of the remote repository after it is done, but the protocol
did not convey the information necessary to do so when copying an
empty repository. The protocol v2 learned how to do so.
* There are other ways than ".." for a single token to denote a
"commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
range-diff" did not understand them.
* The "git range-diff" command learned "--(left|right)-only" option
to show only one side of the compared range.
* "git mergetool" feeds three versions (base, local and remote) of
a conflicted path unmodified. The command learned to optionally
prepare these files with unconflicted parts already resolved.
* The .mailmap is documented to be read only from the root level of a
working tree, but a stray file in a bare repository also was read
by accident, which has been corrected.
* "git maintenance" tool learned a new "pack-refs" maintenance task.
* The error message given when a configuration variable that is
expected to have a boolean value has been improved.
* Signed commits and tags now allow verification of objects, whose
two object names (one in SHA-1, the other in SHA-256) are both
signed.
* "git rev-list" command learned "--disk-usage" option.
* "git {diff,log} --{skip,rotate}-to=<path>" allows the user to
discard diff output for early paths or move them to the end of the
output.
* "git difftool" learned "--skip-to=<path>" option to restart an
interrupted session from an arbitrary path.
* "git grep" has been tweaked to be limited to the sparse checkout
paths.
* "git rebase --[no-]fork-point" gained a configuration variable
rebase.forkPoint so that users do not have to keep specifying a
non-default setting.
Performance, Internal Implementation, Development Support etc.
* A 3-year old test that was not testing anything useful has been
corrected.
* Retire more names with "sha1" in it.
* The topological walk codepath is covered by new trace2 stats.
* Update the Code-of-conduct to version 2.0 from the upstream (we've
been using version 1.4).
* "git mktag" validates its input using its own rules before writing
a tag object---it has been updated to share the logic with "git
fsck".
* Two new ways to feed configuration variable-value pairs via
environment variables have been introduced, and the way
GIT_CONFIG_PARAMETERS encodes variable/value pairs has been tweaked
to make it more robust.
* Tests have been updated so that they do not to get affected by the
name of the default branch "git init" creates.
* "git fetch" learns to treat ref updates atomically in all-or-none
fashion, just like "git push" does, with the new "--atomic" option.
* The peel_ref() API has been replaced with peel_iterated_oid().
* The .use_shell flag in struct child_process that is passed to
run_command() API has been clarified with a bit more documentation.
* Document, clean-up and optimize the code around the cache-tree
extension in the index.
* The ls-refs protocol operation has been optimized to narrow the
sub-hierarchy of refs/ it walks to produce response.
* When removing many branches and tags, the code used to do so one
ref at a time. There is another API it can use to delete multiple
refs, and it makes quite a lot of performance difference when the
refs are packed.
* The "pack-objects" command needs to iterate over all the tags when
automatic tag following is enabled, but it actually iterated over
all refs and then discarded everything outside "refs/tags/"
hierarchy, which was quite wasteful.
* A perf script was made more portable.
* Our setting of GitHub CI test jobs were a bit too eager to give up
once there is even one failure found. Tweak the knob to allow
other jobs keep running even when we see a failure, so that we can
find more failures in a single run.
* We've carried compatibility codepaths for compilers without
variadic macros for quite some time, but the world may be ready for
them to be removed. Force compilation failure on exotic platforms
where variadic macros are not available to find out who screams in
such a way that we can easily revert if it turns out that the world
is not yet ready.
* Code clean-up to ensure our use of hashtables using object names as
keys use the "struct object_id" objects, not the raw hash values.
* Lose the debugging aid that may have been useful in the past, but
no longer is, in the "grep" codepaths.
* Some pretty-format specifiers do not need the data in commit object
(e.g. "%H"), but we were over-eager to load and parse it, which has
been made even lazier.
* Get rid of "GETTEXT_POISON" support altogether, which may or may
not be controversial.
* Introduce an on-disk file to record revindex for packdata, which
traditionally was always created on the fly and only in-core.
* The commit-graph learned to use corrected commit dates instead of
the generation number to help topological revision traversal.
* Piecemeal of rewrite of "git bisect" in C continues.
* When a pager spawned by us exited, the trace log did not record its
exit status correctly, which has been corrected.
* Removal of GIT_TEST_GETTEXT_POISON continues.
* The code to implement "git merge-base --independent" was poorly
done and was kept from the very beginning of the feature.
* Preliminary changes to fsmonitor integration.
* Performance improvements for rename detection.
* The common code to deal with "chunked file format" that is shared
by the multi-pack-index and commit-graph files have been factored
out, to help codepaths for both filetypes to become more robust.
* The approach to "fsck" the incoming objects in "index-pack" is
attractive for performance reasons (we have them already in core,
inflated and ready to be inspected), but fundamentally cannot be
applied fully when we receive more than one pack stream, as a tree
object in one pack may refer to a blob object in another pack as
".gitmodules", when we want to inspect blobs that are used as
".gitmodules" file, for example. Teach "index-pack" to emit
objects that must be inspected later and check them in the calling
"fetch-pack" process.
* The logic to handle "trailer" related placeholders in the
"--format=" mechanisms in the "log" family and "for-each-ref"
family is getting unified.
* Raise the buffer size used when writing the index file out from
(obviously too small) 8kB to (clearly sufficiently large) 128kB.
* It is reported that open() on some platforms (e.g. macOS Big Sur)
can return EINTR even though our timers are set up with SA_RESTART.
A workaround has been implemented and enabled for macOS to rerun
open() transparently from the caller when this happens.
Fixes since v2.30
-----------------
* Diagnose command line error of "git rebase" early.
* Clean up option descriptions in "git cmd --help".
* "git stash" did not work well in a sparsely checked out working
tree.
* Some tests expect that "ls -l" output has either '-' or 'x' for
group executable bit, but setgid bit can be inherited from parent
directory and make these fields 'S' or 's' instead, causing test
failures.
* "git for-each-repo --config=<var> <cmd>" should not run <cmd> for
any repository when the configuration variable <var> is not defined
even once.
* Fix 2.29 regression where "git mergetool --tool-help" fails to list
all the available tools.
* Fix for procedure to building CI test environment for mac.
* The implementation of "git branch --sort" wrt the detached HEAD
display has always been hacky, which has been cleaned up.
* Newline characters in the host and path part of git:// URL are
now forbidden.
* "git diff" showed a submodule working tree with untracked cruft as
"Submodule commit <objectname>-dirty", but a natural expectation is
that the "-dirty" indicator would align with "git describe --dirty",
which does not consider having untracked files in the working tree
as source of dirtiness. The inconsistency has been fixed.
* When more than one commit with the same patch ID appears on one
side, "git log --cherry-pick A...B" did not exclude them all when a
commit with the same patch ID appears on the other side. Now it
does.
* Documentation for "git fsck" lost stale bits that has become
incorrect.
* Doc fix for packfile URI feature.
* When "git rebase -i" processes "fixup" insn, there is no reason to
clean up the commit log message, but we did the usual stripspace
processing. This has been corrected.
(merge f7d42ceec5 js/rebase-i-commit-cleanup-fix later to maint).
* Fix in passing custom args from "git clone" to "upload-pack" on the
other side.
(merge ad6b5fefbd jv/upload-pack-filter-spec-quotefix later to maint).
* The command line completion (in contrib/) completed "git branch -d"
with branch names, but "git branch -D" offered tagnames in addition,
which has been corrected. "git branch -M" had the same problem.
(merge 27dc071b9a jk/complete-branch-force-delete later to maint).
* When commands are started from a subdirectory, they may have to
compare the path to the subdirectory (called prefix and found out
from $(pwd)) with the tracked paths. On macOS, $(pwd) and
readdir() yield decomposed path, while the tracked paths are
usually normalized to the precomposed form, causing mismatch. This
has been fixed by taking the same approach used to normalize the
command line arguments.
(merge 5c327502db tb/precompose-prefix-too later to maint).
* Even though invocations of "die()" were logged to the trace2
system, "BUG()"s were not, which has been corrected.
(merge 0a9dde4a04 jt/trace2-BUG later to maint).
* "git grep --untracked" is meant to be "let's ALSO find in these
files on the filesystem" when looking for matches in the working
tree files, and does not make any sense if the primary search is
done against the index, or the tree objects. The "--cached" and
"--untracked" options have been marked as mutually incompatible.
(merge 0c5d83b248 mt/grep-cached-untracked later to maint).
* Fix "git fsck --name-objects" which apparently has not been used by
anybody who is motivated enough to report breakage.
(merge e89f89361c js/fsck-name-objects-fix later to maint).
* Avoid individual tests in t5411 from getting affected by each other
by forcing them to use separate output files during the test.
(merge 822ee894f6 jx/t5411-unique-filenames later to maint).
* Test to make sure "git rev-parse one-thing one-thing" gives
the same thing twice (when one-thing is --since=X).
(merge a5cdca4520 ew/rev-parse-since-test later to maint).
* When certain features (e.g. grafts) used in the repository are
incompatible with the use of the commit-graph, we used to silently
turned commit-graph off; we now tell the user what we are doing.
(merge c85eec7fc3 js/commit-graph-warning later to maint).
* Objects that lost references can be pruned away, even when they
have notes attached to it (and these notes will become dangling,
which in turn can be pruned with "git notes prune"). This has been
clarified in the documentation.
(merge fa9ab027ba mz/doc-notes-are-not-anchors later to maint).
* The error codepath around the "--temp/--prefix" feature of "git
checkout-index" has been improved.
(merge 3f7ba60350 mt/checkout-index-corner-cases later to maint).
* The "git maintenance register" command had trouble registering bare
repositories, which had been corrected.
* A handful of multi-word configuration variable names in
documentation that are spelled in all lowercase have been corrected
to use the more canonical camelCase.
(merge 7dd0eaa39c dl/doc-config-camelcase later to maint).
* "git push $there --delete ''" should have been diagnosed as an
error, but instead turned into a matching push, which has been
corrected.
(merge 20e416409f jc/push-delete-nothing later to maint).
* Test script modernization.
(merge 488acf15df sv/t7001-modernize later to maint).
* An under-allocation for the untracked cache data has been corrected.
(merge 6347d649bc jh/untracked-cache-fix later to maint).
* Other code cleanup, docfix, build fix, etc.
(merge e3f5da7e60 sg/t7800-difftool-robustify later to maint).
(merge 9d336655ba js/doc-proto-v2-response-end later to maint).
(merge 1b5b8cf072 jc/maint-column-doc-typofix later to maint).
(merge 3a837b58e3 cw/pack-config-doc later to maint).
(merge 01168a9d89 ug/doc-commit-approxidate later to maint).
(merge b865734760 js/params-vs-args later to maint).
v4.3.4.1
- BUGFIX: Correctly draw progress bar (glassez)
- WEBUI: Fix javascript code which broke the UI (Chocobo1)
v4.3.4
- FEATURE: Add ability to prioritize selected items by shown file order (Chocobo1)
- FEATURE: Allow tab to escape the text box in "Edit trackers" dialog (Christoph Rackwitz)
- FEATURE: Support sub-sorting in Transferlist (jagannatharjun)
- FEATURE: Expose ToS setting from libtorrent (Chocobo1)
- FEATURE: Improve tracker entries handling (glassez)
- BUGFIX: Drop extension from generated content folder name (glassez)
- BUGFIX: Change qBittorrent Updater window title (xavier2k6)
- BUGFIX: Validate HTTPS Tracker Certificate by default (an0n666)
- BUGFIX: Don't let "program update" dialog steal focus (Chocobo1)
- BUGFIX: Disable expand on double click in TorrentContentTreeView (jagannatharjun)
- BUGFIX: Add hyperlink to Transifex on translator list (Si Yong Kim)
- BUGFIX: Enlarge "speed limit" icon slightly (Chocobo1)
- BUGFIX: Don't prevent system sleep due to errored torrents (dyumin)
- BUGFIX: Use stable sorting in transfer list (Chocobo1)
- BUGFIX: Allow "missing files" torrents to save more resume data (glassez)
- BUGFIX: Restart "missing files" torrents after changing location (glassez)
- BUGFIX: Show proper string when torrent availability is not available (Chocobo1)
- BUGFIX: Apply "Hide zero/infinity values" to "Time Active", "Down/Up Limit" and ETA columns (Chocobo1)
- BUGFIX: Fix potential out-of-bounds access (Chocobo1)
- BUGFIX: Make SpeedPlotView averager time aware (jagannatharjun)
- BUGFIX: Add a 3-Hour graph (jagannatharjun)
- BUGFIX: Add an option to disable icons in menus (always disabled on MacOS) (Michał Kopeć)
- BUGFIX: Improve detection of filename extension of audio/video files (Chocobo1)
- BUGFIX: Various drawing improvements of progress bar (Chocobo1)
- BUGFIX: Properly stop torrent creation if aborted (Chocobo1)
- BUGFIX: Replace external program parameters in one step (Chocobo1)
- BUGFIX: Improve "save resume data" handling (glassez)
- BUGFIX: Fix bad IPv6 address format for outgoingInterfaces (treysis)
- WEBUI: Properly decode strings (brvphoenix)
- WEBUI: Accept "share limits" when adding torrent using WebAPI (glassez)
- WEBUI: Add seeding time to the active time column (thalieht)
- WEBUI: Fix incorrect seeding time string in General tab (thalieht)
- WEBUI: Allow >100 days in WebUI function "friendlyDuration" (thalieht)
- WEBUI: Avoid decoding strings repeatedly (brvphoenix)
- RSS: Add category button on AutomatedRSSDownloader on GUI (Si Yong Kim)
- WINDOWS: NSIS: Update Czech translation (slrslr)
- WINDOWS: NSIS: Update Portuguese BR translation (Alex)
- WINDOWS: NSIS: Add Estonian translation (PriitUring)
- WINDOWS: Allow change-case-only file renaming (glassez)
- LINUX: Systemd: wait for mounting of local filesystems (Juraj Oršulić)
- OTHER: Raise minimum libtorrent version to 1.2.12 (glassez)
- OTHER: Raise minimum Qt version to 5.12 (glassez)
CMake 3.20 Release Notes
************************
Changes made since CMake 3.19 include the following.
New Features
============
Presets
-------
* "cmake-presets(7)" gained support for build and test presets.
Generators
----------
* Makefile Generators, for some toolchains, now use the compiler to
extract implicit dependencies while compiling source files.
Languages
---------
* C++23 compiler modes may now be specified via the "CXX_STANDARD",
"CUDA_STANDARD", or "OBJCXX_STANDARD" target properties, or via the
"Compile Features" functionality’s "cxx_std_23" meta-feature.
* "CUDA" language support now works when "nvcc" is a symbolic link,
for example due to a "ccache" or "colornvcc" wrapper script.
* The "CUDAARCHS" environment variable was added for initializing
"CMAKE_CUDA_ARCHITECTURES". Useful in cases where the compiler
default is unsuitable for the machine’s GPU.
Compilers
---------
* The NVIDIA HPC SDK compilers are now supported with compiler id
"NVHPC".
* The Intel oneAPI NextGen LLVM compilers are now supported with
compiler id "IntelLLVM":
* The "icx"/"icpx" C/C++ compilers on Linux, and the "icx" C/C++
compiler on Windows, are fully supported as of oneAPI 2021.1.
* The "ifx" Fortran compiler on Linux is partially supported. As of
oneAPI 2021.1, "ifx" does not define several identification
macros, so CMake identifies it as the classic "Intel" compiler.
This works in many cases because "ifx" accepts the same command
line parameters as "ifort". A future version of oneAPI may fix
this.
* The "ifx" Fortran compiler on Windows is not yet supported.
The Intel oneAPI Classic compilers ("icc", "icpc", and "ifort")
continue to be supported with compiler id "Intel".
* Support was added for the IAR STM8 compiler.
Platforms
---------
* CMake’s support for Cross Compiling for Android is now merged with
the Android NDK’s toolchain file. They now have similar behavior,
though some variable names differ. User-facing changes include:
* "find_*" functions will search NDK ABI / API specific paths by
default.
* The default "CMAKE_BUILD_TYPE" for Android is now
"RelWithDebInfo".
* The "CMAKE_ANDROID_NDK_VERSION" variable was added to report the
version of the NDK.
File-Based API
--------------
* The "cmake-file-api(7)" gained a new “toolchains” object kind that
describes the compiler used for each enabled language.
Commands
--------
* "add_custom_command()" and "add_custom_target()" now support
"generator expressions" in their "OUTPUT" and "BYPRODUCTS" options.
Their "COMMAND", "WORKING_DIRECTORY", and "DEPENDS" options gained
support for new generator expressions "<COMMAND_CONFIG:...>" and
"<OUTPUT_CONFIG:...>" that control cross-config handling when using
the "Ninja Multi-Config" generator.
* The "add_custom_command()" command gained "DEPFILE" support on
Makefile Generators.
* The "add_library()" command previously prohibited imported object
libraries when using potentially multi-architecture configurations.
This mostly affected the "Xcode" generator, e.g. when targeting iOS
or one of the other device platforms. This restriction has now been
removed.
* The "cmake_path()" command was added for operations on filesystem
paths.
* The "configure_file()" command gained "USE_SOURCE_PERMISSIONS" and
"FILE_PERMISSIONS" options to support copying of permissions of the
source file and using specified permissions respectively.
* The "file(GENERATE)" command gained a "NEWLINE_STYLE" option to
specify how newlines are handled for the generated file.
* The "file(GENERATE)" command gained "NO_SOURCE_PERMISSIONS",
"USE_SOURCE_PERMISSIONS", and "FILE_PERMISSIONS" options for
controlling the permissions of the generated file.
* The "install(FILES)" command "RENAME" option learned to support
"generator expressions".
* The "target_include_directories()" command gained a new option
"AFTER".
* The "target_sources()" command now supports targets created by the
"add_custom_target()" command.
* The "try_run()" command gained a "WORKING_DIRECTORY" option to set
the working directory in which to run the compiled check executable.
Variables
---------
* The "CMAKE_<LANG>_BYTE_ORDER" variable was added to provide the
target architecture byte order detected from the toolchain.
* The "CMAKE_RUNTIME_OUTPUT_DIRECTORY",
"CMAKE_LIBRARY_OUTPUT_DIRECTORY", and
"CMAKE_ARCHIVE_OUTPUT_DIRECTORY" variables now support target-
dependent generator expressions.
Properties
----------
* The "<LANG>_CLANG_TIDY" target property and the associated
"CMAKE_<LANG>_CLANG_TIDY" variable learned to support the "OBJC" and
"OBJCXX" languages.
* The "EXPORT_COMPILE_COMMANDS" target property was added for the
associated "CMAKE_EXPORT_COMPILE_COMMANDS" variable to allow for
configuration of exporting compile commands per target.
* The "GENERATED" source-file property is now visible from any
directory scope, regardless of the scope in which it is set. See
policy "CMP0118".
* The "UNITY_BUILD_UNIQUE_ID" target property was added to support
generation of an identifier that is unique per source file in unity
builds. It can help to resolve duplicate symbol problems with
anonymous namespaces.
* The "WIN32_EXECUTABLE" target property now works with Clang on
Windows.
* The "XCODE_EMBED_FRAMEWORKS" target property was added to tell the
"Xcode" generator to embed frameworks. Aspects of the embedding can
be customized with the "XCODE_EMBED_FRAMEWORKS_PATH",
"XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY", and
"XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY" target properties.
Modules
-------
* The "ExternalData" module "ExternalData_Add_Target()" function
gained a "SHOW_PROGRESS <bool>" option for controlling whether or
not to show progress output during the build.
* The "ExternalProject" module "ExternalProject_Add()" function gained
a "CONFIGURE_HANDLED_BY_BUILD" option. This can be used to make
subsequent runs of the configure step be triggered by the build step
when an external project dependency rebuilds instead of always re-
running the configure step in such cases.
* The "FindBoost" module gained a "Boost_NO_WARN_NEW_VERSIONS" option
to silence the warning about unknown dependencies for new Boost
versions.
* The "FindCUDAToolkit" module gained support for finding CUDA
toolkits when "nvcc" is a symbolic link, for example due to a
"ccache" or "colornvcc" wrapper script.
* The "FindGDAL" module has been improved to document and mark as
advanced its cache variables. There is a new
"FindGDAL_SKIP_GDAL_CONFIG" variable which may be used to skip over
the "gdal-config"-based search. Users may also set
"GDAL_ADDITIONAL_LIBRARY_VERSIONS" to add additional versions to the
library name search strategy.
* The "FindIntl" module now provides an imported target.
* The "FindOpenSSL" module learned to support a version range.
* The "FindPython3", "FindPython2" and "FindPython" modules gained
options controlling how unversioned interpreter names are searched.
* The "UseJava" module "add_jar()" command’s "GENERATE_NATIVE_HEADERS"
feature gained options to export the generated target.
* The "UseSWIG" module gained the capability, for Makefile and Ninja
generators, to use the "swig" tool to generate implicit
dependencies.
Autogen
-------
* The AUTOMOC feature now works with per-config sources.
CTest
-----
* "ctest(1)" gained a "--test-dir" option to specify the directory in
which to look for tests.
CPack
-----
* "CPack" gained the "CPACK_THREADS" variable to control the number of
threads used for parallelized operations, such as compressing the
installer package.
* The "CPack DEB Generator" learned a new
"CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS" variable to specify
additional search directories for resolving private library
dependencies when using "dpkg-shlibdeps".
* The "CPack IFW Generator" gained a new
"CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST" variable to control
visibility of the widget listing installer pages on the left side of
the wizard. This feature available only since QtIFW 4.0.
* The "CPack NSIS Generator" gained new "CPACK_NSIS_BRANDING_TEXT" and
"CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION" variables to change the
text at the bottom of the install window and change its trim
position
* The "CPack NSIS Generator" now correctly handles Unicode characters.
If you want to have a "CPACK_RESOURCE_FILE_LICENSE" with UTF-8
characters, it needs to be encoded in UTF-8 BOM.
* The "CPack NuGet Generator" gained options:
* "CPACK_NUGET_PACKAGE_ICON" and
"CPACK_NUGET_<compName>_PACKAGE_ICON" allow package icons to be
specified by local files.
* "CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION" and
"CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION" add support
for specifying licenses recognized by the Software Package Data
Exchange (SPDX).
* "CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME" and
"CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME" allow licenses
to be specified by local files.
* "CPACK_NUGET_PACKAGE_LANGUAGE" and
"CPACK_NUGET_<compName>_PACKAGE_LANGUAGE" allow the locale for a
package to be specified, for example "en_CA".
Deprecated and Removed Features
===============================
* The "cmake-server(7)" mode has been removed. Clients should use the
"cmake-file-api(7)" instead.
* The "WriteCompilerDetectionHeader" module has been deprecated via
policy "CMP0120". Projects should be ported away from it.
* The "TestBigEndian" module has been deprecated in favor of the
"CMAKE_<LANG>_BYTE_ORDER" variable.
* The "AddFileDependencies" module is deprecated. Port projects to use
"set_property()" directly.
* The "CPack NuGet Generator" deprecated some variables to reflect
changes in the NuGet specification:
* "CPACK_NUGET_PACKAGE_ICONURL" and
"CPACK_NUGET_<compName>_PACKAGE_ICONURL" have been deprecated;
replace with a reference to a local icon file.
* "CPACK_NUGET_PACKAGE_LICENSEURL" and
"CPACK_NUGET_<compName>_PACKAGE_LICENSEURL" have been deprecated;
replace with a reference to the project’s license file or SPDX
license expression.
Other Changes
=============
* Source file extensions must now be explicit. See policy "CMP0115"
for details.
* The "LANGUAGE" source file property now forces compilation as the
specified language. See policy "CMP0119".
* On AIX, installation of XCOFF executables and shared libraries no
longer requires relinking to change the runtime search path from the
build-tree RPATH to the install-tree RPATH. CMake now edits the
XCOFF binaries directly during installation, as has long been done
on ELF platforms.
* With MSVC-like compilers the value of "CMAKE_CXX_FLAGS" no longer
contains the "/GR" flag for runtime type information by default. See
policy "CMP0117".
* Ninja generators now transform the "DEPFILE" generated by an
"add_custom_command()". See policy "CMP0116" for details.
* The precompiled Linux binaries provided on cmake.org have changed
their naming pattern to "cmake-$ver-linux-$arch", where "$arch" is
either "x86_64" or "aarch64".
* The precompiled Windows binaries provided on cmake.org have changed
their naming pattern to "cmake-$ver-windows-$arch", where "$arch" is
either "x86_64" or "i386".
Changelog:
New
* You'll encounter less website breakage in Private Browsing and Strict
Enhanced Tracking Protection with SmartBlock, which provides stand-in
scripts so that websites load properly.
* To further protect your privacy, our new default HTTP Referrer policy will
trim path and query string information from referrer headers to prevent
sites from accidentally leaking sensitive user data.
* The "Highlight All" feature on Find in Page now displays tick marks
alongside your scrollbar that correspond to the location of matches found
on that page.
* We're proud to announce full support for macOS built-in screen reader,
VoiceOver.
* We've added a new locale: Silesian (szl)
Fixed
* We've fixed several significant accessibility issues:
+ Video controls now have visible focus styling and video and audio
controls are now keyboard navigable. (Bug 1681007)
+ HTML <meter> is now spoken by screen readers. (Bug 1460378)
+ Firefox now sets a useful initial focus in Add-ons Manager. (Bug 580537
)
+ Firefox will now fire a name/description change event when
aria-labelledby/describedby content changes. (Bug 493683)
* Various security fixes.
Changed
* To prevent user data loss when filling out forms, we've disabled the
Backspace key as a navigation shortcut for the back navigation button. To
re-enable the Backspace keyboard shortcut, you can change the about:config
preference browser.backspace_action to 0. You can also use the recommended
Alt + Left arrow (Command + Left arrow on Mac) shortcut instead.
Firefox keyboard shortcuts
* We've removed items from the Library menu that weren't used often or have
other access points in the browser: Synced tabs, Recent highlights, and
Pocket list.
* We've simplified the Help menu by reducing redundant items, such as those
that point to Firefox support pages that can also be accessed via the Get
Help item.
Enterprise
* Various bug fixes and new policies have been implemented in the latest
version of Firefox. You can see more details in the Firefox for Enterprise
87 Release Notes.
Developer
* Developer Information
* We've greatly simplified the Web Developer menu. Go to Application Menu >
Web Developer > Web Developer Tools to access Inspector, Web Console,
Debugger, Network Style Error, Performance, Storage Inspector,
Accessibility, and Application
* Developers can now use the Page Inspector to simulate prefers-color-scheme
media queries, without having to change the operating system to light or
dark mode.
* Developers can now use the Page Inspector to toggle the :target
pseudo-class for the currently selected element in addition to the
pseudo-classes that were previously supported: :hover, :active and :focus,
:focus-within, :focus-visible, and :visited.
* There is a number of Page Inspector improvements and bug fixes related to
inactive CSS rules:
+ The table-layout property is now marked as inactive for non-table
elements.
+ The scroll-padding properties (shorthand and longhand) are now marked
as inactive for non-scrollable elements.
+ The text-overflow property was previously incorrectly marked as
inactive for some overflow values.
Securiy fixes:
#CVE-2021-23981: Texture upload into an unbound backing buffer resulted in an
out-of-bound read
#CVE-2021-23982: Internal network hosts could have been probed by a malicious
webpage
#CVE-2021-23983: Transitions for invalid ::marker properties resulted in memory
corruption
#CVE-2021-23984: Malicious extensions could have spoofed popup information
#CVE-2021-23985: Devtools remote debugging feature could have been enabled
without indication to the user
#CVE-2021-23986: A malicious extension could have performed credential-less
same origin policy violations
#CVE-2021-23987: Memory safety bugs fixed in Firefox 87 and Firefox ESR 78.9
#CVE-2021-23988: Memory safety bugs fixed in Firefox 87
Changelog:
Bugs fixed in NSS 3.63:
* Bug 1697380 - Make a clang-format run on top of helpful contributions.
* Bug 1683520 - ECCKiila P384, change syntax of nested structs initialization
to prevent build isses with GCC 4.8.
* Bug 1683520 - [lib/freebl/ecl] P-384: allow zero scalars in dual scalar
multiplication.
* Bug 1683520 - ECCKiila P521, change syntax of nested structs initialization
to prevent build isses with GCC 4.8.
* Bug 1683520 - [lib/freebl/ecl] P-521: allow zero scalars in dual scalar
multiplication.
* Bug 1696800 - HACL* update March 2021 -
c95ab70fcb2bc21025d8845281bc4bc8987ca683.
* Bug 1694214 - tstclnt can't enable middlebox compat mode.
* Bug 1694392 - NSS does not work with PKCS #11 modules not supporting
profiles.
* Bug 1685880 - Minor fix to prevent unused variable on early return.
* Bug 1685880 - Fix for the gcc compiler version 7 to support setenv with nss
build.
* Bug 1693217 - Increase nssckbi.h version number for March 2021 batch of root
CA changes, CA list version 2.48.
* Bug 1692094 - Set email distrust after to 21-03-01 for Camerfirma's
'Chambers of Commerce' and 'Global Chambersign' roots.
* Bug 1618407 - Symantec root certs - Set CKA_NSS_EMAIL_DISTRUST_AFTER.
* Bug 1693173 - Add GlobalSign R45, E45, R46, and E46 root certs to NSS.
* Bug 1683738 - Add AC RAIZ FNMT-RCM SERVIDORES SEGUROS root cert to NSS.
* Bug 1686854 - Remove GeoTrust PCA-G2 and VeriSign Universal root certs from
NSS.
* Bug 1687822 - Turn off Websites trust bit for the “Staat der Nederlanden
Root CA - G3” root cert in NSS.
* Bug 1692094 - Turn off Websites Trust Bit for 'Chambers of Commerce Root -
2008' and 'Global Chambersign Root - 2008’.
* Bug 1694291 - Tracing fixes for ECH.