Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (4h)  pkgsrc-2024Q1 (14d)  pkgsrc-2023Q4 (42d)  pkgsrc-2023Q2 (74d)  pkgsrc-2023Q3 (154d) 

2024-05-13 05:18:42 UTC Now

2021-11-23 07:30:52 UTC MAIN commitmail json YAML

Use pax; it's better than tar -c|tar -x

(pho)

2021-11-23 05:54:05 UTC MAIN commitmail json YAML

doc: Added sysutils/yadm version 3.1.1

(pho)

2021-11-23 05:53:33 UTC MAIN commitmail json YAML

Import yadm-3.1.1

yadm is a tool for managing dotfiles.

* Based on Git, with full range of Git's features
* Supports system-specific alternative files or templated files
* Encryption of private data using GnuPG, OpenSSL, transcrypt, or
  git-crypt
* Customizable initialization (bootstrapping)
* Customizable hooks for before and after any operation

Complete features, usage, examples and installation instructions can
be found on the yadm.io website.

(pho)

2021-11-22 23:10:44 UTC MAIN commitmail json YAML

unit: remove now irrelevant patch missed in previous commit

(gutteridge)

2021-11-22 23:09:10 UTC MAIN commitmail json YAML

doc: Updated www/unit to 1.26.0

(gutteridge)

2021-11-22 23:09:00 UTC MAIN commitmail json YAML

unit* & libunit: update to 1.26.0

Changes with Unit 1.26.0                                        18 Nov 2021

    *) Change: the "share" option now specifies the entire path to the files
      it serves, rather than a document root directory to be prepended to
      the request URI.

    *) Feature: automatic adjustment of existing configurations to the new
      "share" behavior when updating from previous versions.

    *) Feature: variables support in the "share" option.

    *) Feature: multiple paths in the "share" option.

    *) Feature: variables support in the "chroot" option.

    *) Feature: PHP opcache is shared between application processes.

    *) Feature: request routing by the query string.

    *) Bugfix: the router and app processes could crash when the requests
      limit was reached by asynchronous or multithreaded apps.

    *) Bugfix: established WebSocket connections could stop reading frames
      from the client after the corresponding listener had been
      reconfigured.

    *) Bugfix: fixed building with glibc 2.34, notably Fedora 35.

(gutteridge)

2021-11-22 22:53:40 UTC MAIN commitmail json YAML

update BLAKE2s, noticed from tsutsui@, thanx!

(jun)

2021-11-22 22:27:09 UTC MAIN commitmail json YAML

Updated emulators/nono to 0.2.4 [jun 2021-11-23]

(jun)

2021-11-22 22:26:28 UTC MAIN commitmail json YAML

Updated emulators/nono to 0.2.4

0.2.4 (2021/11/22)
Host(New):
"Support serial console host driver for stdio, tcp."
vm(New):
"Support keyboard connection/disconnection."
vm(New):
"Implement an ABORT button."
vm(New):
"Supports PROM PUTCHAR(?) routine on LUNA88K ROM emulation."
vm(Update):
"Rewrite and improve SIO(uPD7201) and SCC(Z8530)."
vm(Update):
"MK48T02 now saves the whole NVRAM."
vm(Update):
"LUNA ROM emulation accepts numpad keys as well as the real machine."
vm(Fix):
"Fix an MK48T02 degradation since ver 0.2.3 "
vm(Fix):
"Fix an issue that Lance(AM7990) may lose packets it received."
vm(Fix):
"Fix INIT/STRT bit behavior in CSR0 on Lance(AM7990)."
m68k(Fix):
"Fix an FSAVE -(An) instruction."
m88k(Fix):
"Fix DMx registers when Data Access Exception occurs."
GUI(Fix):
"Fix sort direction on the exception history monitor."
GUI(Fix):
"Fix accelaration keys not working since ver 0.2.2."
app(Update):
"Make an error if keyname of -V option is not correct. Make a warning if keyname in the configuration file is not correct."
build(Fix):
"Fix build with clang11."
vm(New):
"Add --force-rtc-fixed option for developpers."

(jun)

2021-11-22 21:32:56 UTC MAIN commitmail json YAML

doc: Updated finance/bitcoin to 22.0

(khorben)

2021-11-22 21:32:05 UTC MAIN commitmail json YAML

finance/bitcoin: update to version 22.0

Notable changes:

- P2P and network changes

  * Added support for running Bitcoin Core as an I2P (Invisible Internet
    Project) service and connect to such services. See i2p.md for details.
  * This release removes support for Tor version 2 hidden services in favor of
    Tor v3 only, as the Tor network dropped support for Tor v2 with the release
    of Tor version 0.4.6. Henceforth, Bitcoin Core ignores Tor v2 addresses; it
    neither rumors them over the network to other peers, nor stores them in
    memory or to peers.dat.
  * Added NAT-PMP port mapping support via libnatpmp.

- New and Updated RPCs

  * Due to BIP 350 being implemented, behavior for all RPCs that accept
    addresses is changed when a native witness version 1 (or higher) is passed.
    These now require a Bech32m encoding instead of a Bech32 one, and Bech32m
    encoding will be used for such addresses in RPC output as well. No version 1
    addresses should be created for mainnet until consensus rules are adopted
    that give them meaning (as will happen through BIP 341). Once that happens,
    Bech32m is expected to be used for them, so this shouldn't affect any
    production systems, but may be observed on other networks where such addresses
    already have meaning (like signet).
  * The getpeerinfo RPC returns two new boolean fields, bip152_hb_to and
    bip152_hb_from, that respectively indicate whether we selected a peer to be
    in compact blocks high-bandwidth mode or whether a peer selected us as a
    compact blocks high-bandwidth peer. High-bandwidth peers send new block
    announcements via a cmpctblock message rather than the usual inv/headers
    announcements. See BIP 152 for more details.
  * getpeerinfo no longer returns the following fields: addnode, banscore, and
    whitelisted, which were previously deprecated in 0.21. Instead of addnode,
    the connection_type field returns manual. Instead of whitelisted, the
    permissions field indicates if the peer has special privileges. The
    banscore field has simply been removed.
  * The following RPCs: gettxout, getrawtransaction, decoderawtransaction,
    decodescript, gettransaction, and REST endpoints: /rest/tx, /rest/getutxos,
    /rest/block deprecated the following fields (which are no longer returned in
    the responses by default): addresses, reqSigs. The -deprecatedrpc=addresses
    flag must be passed for these fields to be included in the RPC response.
    This flag/option will be available only for this major release, after which
    the deprecation will be removed entirely. Note that these fields are
    attributes of the scriptPubKey object returned in the RPC response. However,
    in the response of decodescript these fields are top-level attributes, and
    included again as attributes of the scriptPubKey object.
  * When creating a hex-encoded bitcoin transaction using the bitcoin-tx
    utility with the -json option set, the following fields: addresses, reqSigs
    are no longer returned in the tx output of the response.
  * The listbanned RPC now returns two new numeric fields: ban_duration and
    time_remaining. Respectively, these new fields indicate the duration of a
    ban and the time remaining until a ban expires, both in seconds.
    Additionally, the ban_created field is repositioned to come before
    banned_until.
  * The setban RPC can ban onion addresses again. This fixes a regression
    introduced in version 0.21.0.
  * The getnodeaddresses RPC now returns a "network" field indicating the
    network type (ipv4, ipv6, onion, or i2p) for each address.
  * getnodeaddresses now also accepts a "network" argument (ipv4, ipv6, onion,
    or i2p) to return only addresses of the specified network.
  * The testmempoolaccept RPC now accepts multiple transactions (still
    experimental at the moment, API may be unstable). This is intended for
    testing transaction packages with dependency relationships; it is not
    recommended for batch-validating independent transactions. In addition to
    mempool policy, package policies apply: the list cannot contain more than 25
    transactions or have a total size exceeding 101K virtual bytes, and cannot
    conflict with (spend the same inputs as) each other or the mempool, even if
    it would be a valid BIP125 replace-by-fee. There are some known limitations
    to the accuracy of the test accept: it's possible for testmempoolaccept to
    return "allowed"=True for a group of transactions, but
    "too-long-mempool-chain" if they are actually submitted.
  * addmultisigaddress and createmultisig now support up to 20 keys for Segwit
    addresses.

Then also the build system, files, new settings, updated settings, tools and
utilities, wallet, and GUI changes; the full list is at
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-22.0.md.

(khorben)

2021-11-22 18:35:13 UTC MAIN commitmail json YAML

Updated time/py-iso8601, textproc/py-ujson

(adam)

2021-11-22 18:34:57 UTC MAIN commitmail json YAML

py-ujson: updated to 4.3.0

4.3.0:
Added
Enable Windows on ARM64 target

(adam)

2021-11-22 18:32:34 UTC MAIN commitmail json YAML

py-iso8601: updated to 1.0.1

1.0.1:
Remove branch filter from pull requests
Add missing py.typed file

(adam)

2021-11-22 16:23:50 UTC MAIN commitmail json YAML

doc: Updated net/unison-snapshot to 2.51.4.70.3

(gdt)

2021-11-22 16:23:43 UTC MAIN commitmail json YAML

net/unison-snapshot: Update to 2.51.4.70.3

Note that this is a fake version number; it represents another
packaging of unison beyond 2.51.4.  It catches up to upstream's git
repo.

Upstream changes are bugfixes and minor improvements.

Upstream is beginning the release process and this version is likely
close to what will be released.

(gdt)

2021-11-22 16:09:33 UTC MAIN commitmail json YAML

tnftp: Disable ipv6 option if the OS doesn't have it.

Needed on unixware.

(nia)

2021-11-22 12:00:13 UTC MAIN commitmail json YAML

p5-JSONSchema-Validator: add missing dependency. Ride import.

(wiz)

2021-11-22 11:36:51 UTC MAIN commitmail json YAML

doc: Added devel/p5-JSONSchema-Validator version 0.008

(wiz)

2021-11-22 11:36:42 UTC MAIN commitmail json YAML

devel/Makefile: + p5-JSONSchema-Validator

(wiz)

2021-11-22 11:36:10 UTC MAIN commitmail json YAML

devel/p5-JSONSchema-Validator: import p5-JSONSchema-Validator-0.008

OpenAPI specification and JSON Schema Draft4/Draft6/Draft7 validators
with minimum dependencies.

(wiz)

2021-11-22 11:34:37 UTC MAIN commitmail json YAML

py-behave: fix TEST_DEPENDS

(adam)

2021-11-22 10:52:28 UTC MAIN commitmail json YAML

doc: Updated x11/fltk13 to 1.3.8

(micha)

2021-11-22 10:49:08 UTC MAIN commitmail json YAML

x11/fltk13: Update to 1.3.8

This release does not contain new "ABI features". The ABI (Application
Binary Interface) is 100% compatible with releases 1.3.5 - 1.3.7.

CHANGES IN FLTK 1.3.8                                RELEASED: Nov 20 2021

FLTK 1.3.8 is a maintenance release with some fixes and enhancements.

Details:

  Albrecht Schlosser:
    Make "FLTK_CONSOLIDATE_MOTION" user-definable (issue #76)
    Fix compiler warnings (backported from 1.4)
    Add new dialog fl_choice_n() with extended return values (#282)

  ManoloFLTK:
    Account for deprecation of [NSBitmapImageRep initWithFocusedViewRect:]
      in macOS 10.14
    macOS: fix fullscreen window when other windows were created before
    Fix issue #287: "FLTK 1.3.6 doesn't handle fullscreen on macOS"
    Fix issue #288: "FLTK 1.3.6+ doesn't notify window movement on macOS"
    Fix issue #279: "HiDpi issue on macOS with retina display"
    macOS: Allow building with non-Apple compiler that may not support
      blocks

(micha)

2021-11-22 09:49:46 UTC MAIN commitmail json YAML

doc: Updated devel/py-approvaltests to 3.1.0

(schmonz)

2021-11-22 09:49:44 UTC MAIN commitmail json YAML

gstreamer1: fix PLIST for PREFIX!=/usr/pkg

(wiz)

2021-11-22 09:49:38 UTC MAIN commitmail json YAML

Update to 3.1.0. From the changelog:

- You can now verify html and it will pretty print it. This adds a pip
  dependency on beautiful soup (bs4)

(schmonz)

2021-11-22 09:47:40 UTC MAIN commitmail json YAML

Updated www/py-django-extensions, devel/py-packaging

(adam)

2021-11-22 09:46:58 UTC MAIN commitmail json YAML

py-packaging: updated to 21.3

21.3
* Add a ``pp3-none-any`` tag
* Replace the blank pyparsing 3 exclusion with a 3.0.5 exclusion
* Fix a spelling mistake

(adam)

2021-11-22 09:39:22 UTC MAIN commitmail json YAML

py-django-extensions: updated to 3.1.5

3.1.5:
fix markdownlint errors
fix for removed get_installed_distributions function
crude way slow down to avoid HTTPTooManyRequests
ignore failing get_installed_distributions import for mypy

3.1.4
- Fix: set_default_site, improve django.contrib.sites application detection
- Improvement: documentation, Fix name of mixin in docs
- Improvement: mypy, type ignore backwards compatible imports
- Improvement: graph_models, add --rankdir to change graph direction
- Improvement: runserver_plus, Add --sql-truncate cli modifier
- Improvement: shell_plus, Add --sql-truncate cli modifier

(adam)

2021-11-22 09:17:47 UTC MAIN commitmail json YAML

Updated sysutils/py-xattr, net/py-responses

(adam)

2021-11-22 09:17:31 UTC MAIN commitmail json YAML

py-responses: updated to 0.16.0

0.16.0
------
* Fixed regression with `stream` parameter deprecation, requests.session() and cookie handling.
* Replaced adhoc URL parsing with `urllib.parse`.
* Added ``match`` parameter to ``add_callback`` method
* Added `responses.matchers.fragment_identifier_matcher`. This matcher allows you
  to match request URL fragment identifier.
* Improved test coverage.
* Fixed failing test in python 2.7 when `python-future` is also installed.

(adam)

2021-11-22 09:15:31 UTC MAIN commitmail json YAML

py-xattr: updated to 0.9.8

Version 0.9.8
* Update build to use Github Actions
* Various dump related fixes
* Fix classifiers list

(adam)

2021-11-22 08:59:36 UTC MAIN commitmail json YAML

Updated net/rabbitmq, devel/cmake

(adam)

2021-11-22 08:59:17 UTC MAIN commitmail json YAML

cmake: updated to 3.22.0

CMake 3.22 Release Notes
************************

Changes made since CMake 3.21 include the following.

New Features
============

Commands
--------

* The "cmake_host_system_information()" command can now query OS
  identification variables from the "/etc/os-release" file.

* The "string(TIMESTAMP)" command now supports the "%V" specifier for
  ISO 8601 week numbers.

Variables
---------

* The "CMAKE_BUILD_TYPE" environment variable was added to provide a
  default value for the "CMAKE_BUILD_TYPE" variable.

* The "CMAKE_CONFIGURATION_TYPES" environment variable was added to
  provide a default value for the "CMAKE_CONFIGURATION_TYPES"
  variable.

* The "CMAKE_INSTALL_MODE" environment variable was added to tell
  "install()" rules (implemented by "file(INSTALL)") to install
  symbolic links instead of copying of files.

* The "CMAKE_<LANG>_LINK_WHAT_YOU_USE_FLAG" and
  "CMAKE_LINK_WHAT_YOU_USE_CHECK" variables were added to control the
  linker flag and check used by the "LINK_WHAT_YOU_USE" target
  property.

* The "CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>" variable was added to
  turn a non-REQUIRED "find_package()" call into a REQUIRED one.

Properties
----------

* The "<LANG>_EXTENSIONS" target property is now initialized to
  "CMAKE_<LANG>_EXTENSIONS_DEFAULT", detected from the compiler. See
  "CMP0128".

* The "VS_SETTINGS" source file property is now supported for all
  source file types.  Previously it worked only for non-built sources.

Modules
-------

* The "CMakeDependentOption" module "cmake_dependent_option()" macro
  now supports full Condition Syntax. See policy "CMP0127".

* The "FetchContent" module now passes through the "CMAKE_TLS_VERIFY",
  "CMAKE_TLS_CAINFO", "CMAKE_NETRC" and "CMAKE_NETRC_FILE" variables
  (when defined) to the underlying "ExternalProject" sub-build.
  Previously, those variables were silently ignored by "FetchContent".

* The "FindBLAS" and "FindLAPACK" modules gained a
  "BLA_SIZEOF_INTEGER" option to find a BLAS/LAPACK whose ABI uses a
  specific integer size.

* The "FindJasper" module now provides an imported target.

* The "FindMatlab" module now provides imported targets.

* The "FindPkgConfig" module gained a "PKG_CONFIG_ARGN" variable to
  specify arguments to "pkg-config" calls.

* The "GoogleTest" module "gtest_discover_tests()" function gained a
  "TEST_FILTER" option to filter tests using "--gtest_filter" during
  test discovery.

* The "UseSWIG" module, for Visual Studio Generators, can now use the
  "swig" tool to generate implicit dependencies.

CTest
-----

* "ctest(1)" learned to recognize labels attached to a test at run
  time. Previously it was only possible to attach labels to tests at
  configure time by using the "LABELS" test property. See Additional
  Test Measurements for more information.

* "ctest(1)" learned to be able to modify the environment for a test
  through the "ENVIRONMENT_MODIFICATION" property. This is allows for
  updates to environment variables based on the environment present at
  test time.

* The "ctest_memcheck()" command now also generates a
  "DynamicAnalysis-Test.xml" file which may be used to submit test
  results to CDash.

CPack
-----

* The "CPack DEB Generator" gained the option to set
  "CPACK_DEBIAN_COMPRESSION_TYPE" to "zstd", which enables Zstandard
  compression for deb packages.

* The "CPack NSIS Generator" gained a new
  "CPACK_NSIS_IGNORE_LICENSE_PAGE" variable to suppress the license
  page in the installer.

* The "CPack RPM Generator" gained the
  "CPACK_RPM_REQUIRES_EXCLUDE_FROM" option to avoid scanning specific
  paths for dependencies.

Deprecated and Removed Features
===============================

* The "Visual Studio 10 2010" generator is now deprecated and will be
  removed in a future version of CMake.

Other Changes
=============

* The "Compile Features" functionality now correctly disables or
  enables compiler extensions when no standard level is specified and
  avoids unnecessarily adding language standard flags if the requested
  settings match the compiler's defaults. See "CMP0128".

* The "Compile Features" functionality now ignores features for
  languages that are not enabled.

* The Ninja Generators now implement the "edit_cache" target using
  "ccmake(1)" if available.

* The "Ninja" and "NMake Makefiles" generators now use the MSVC
  "-external:I" flag for system includes. This became available as of
  VS 16.10 (toolchain version 14.29.30037).

* The "CPack NSIS Generator" now requires NSIS 3.03 or later.

----------------------------------------------------------------------------
Changes made since CMake 3.22.0-rc3:

Antons Jeå‹…kins (2):
  cmTimestamp: Declare component buffer before MinGW-specific code
  MINGW-w64: Fix string(TIMESTAMP) build on 32bits.

Brad King (3):
  libuv: Backport MinGW-w64 compilation fix to CMake 3.22 branch
  IntelLLVM: Enable Fortran module rebuild avoidance in Makefile generators
  CMake 3.22.0

Craig Scott (5):
  Help: Add missing version details for Additional Test Measurements
  Help: Improve cross-referencing of test LABELS and related features
  Help: Clarify meaning of filter expression in gtest_discover_tests()
  Tests: Fix and update wrongly named GoogleTest stdout file
  gtest_discover_tests: Re-run PRE_TEST discovery on any arg change

(adam)

2021-11-22 08:58:23 UTC MAIN commitmail json YAML

rabbitmq: updated to 3.9.10

RabbitMQ 3.9.10

Core Server

Bug Fixes

Make stream coordinator more defensive to rapid declaration and deletion cycles

Enhancements

Several inter-node communication listener settings are now exposed to rabbitmq.conf:

# this port range is used by default
distribution.listener.port_range.min = 25675
distribution.listener.port_range.max = 25675
# instead of listening on all interfaces
distribution.listener.interface = 192.168.0.1

OAuth 2 Plugin

Bug Fixes

Signing keys specified in rabbitmq.conf were not translated correctly,
resulting in exceptions during permission checks.

(adam)

2021-11-21 20:51:37 UTC MAIN commitmail json YAML

Fix building on Mac OS X

For defails, see http://mail-index.netbsd.org/tech-pkg/2021/11/20/msg025792.html

(hubertf)

2021-11-21 16:40:38 UTC MAIN commitmail json YAML

doc: Updated lang/nim to 1.6.0

(ryoon)

2021-11-21 16:40:02 UTC MAIN commitmail json YAML

nim: Update to 1.6.0

Changelog:
Nim version 1.6 is now officially released!

A year in the making, 1.6 is the latest stable release and by far the largest
yet. We're proud of what we --- the core team and dedicated volunteers --- have
accomplished with this milestone:

  * 1667 PRs merged (1760 commits)
  * 893 issues closed
  * 15 new stdlib modules
  * new features in more than 40 stdlib modules, including major improvements
    to 10 commonly used modules
  * documentation and minor improvements to 170 modules, including 312 new
    runnable examples
  * 280 new nimble packages

Nim made its first entry in TIOBE index in 2017 at position 129, last year it
entered the top-100, and for 2 months the top-50 (link). We hope this release
will reinforce this trend, building on Nim's core strengths: a practical,
compiled systems programming language offering C++-like performance and
portability, Python-like syntax, Lisp-like flexibility, strong C, C++, JS,
Python interop, and best-in-class metaprogramming.

This release includes improvements in the following areas:

  * new language features (iterable[T], user-defined literals, private imports,
    strict effects, dot-like operators, block arguments with optional
    parameters)
  * new compiler features (nim --eval:cmd, custom nimscript extensions,
    customizable compiler messages)
  * major improvements to --gc:arc and --gc:orc
  * correctness and performance of integer and float parsing and rendering in
    all backends
  * significant improvements in error messages, showing useful context
  * documentation generation logic and documentation, in particular
    runnableExamples now works in more contexts
  * JS, VM and nimscript backend are more consistent with the C backend,
    allowing more modules to work with those backends, including the imports
    from std/prelude; the test suite now standardizes on testing stdlib modules
    on each major backend (C, JS, VM)
  * support for Apple silicon/M1, 32-bit RISC-V, armv8l, CROSSOS, improved
    support for NodeJS backend
  * major improvements to the following modules: system, math, random, json,
    jsonutils, os, typetraits, wrapnils, lists, hashes including performance
    improvements
  * deprecated a number of error prone or redundant features

Why use Nim?

  * One language to rule them all: from shell scripting to web frontend and
    backend, scientific computing, deep learning, blockchain client, gamedev,
    embedded, see also some companies using Nim.
  * Concise, readable and convenient: echo "hello world" is a 1-liner.
  * Small binaries: echo "hello world" generates a 73K binary (or 5K with
    further options), optimized for embedded devices (Go: 2MB, Rust: 377K, C++:
    56K) [1].
  * Fast compile times: a full compiler rebuild takes ~12s (Rust: 15min, gcc:
    30min+, clang: 1hr+, Go: 90s) [2].
  * Native performance: see Web Frameworks Benchmark, ray tracing, primes.
  * No need for makefiles, cmake, configure or other build scripts, thanks to
    compile-time function evaluation (CTFE) and dependency tracking [3].
  * Target any platform with a C compiler: Android and iOS, embedded systems,
    micro-controllers, WASM, Nintendo Switch, Game Boy Advance.
  * Zero-overhead interop lets you reuse code in C, C++ (including templates,
    C++ STL), JS, Objective-C, Python (via nimpy).
  * Built-in documentation generator that understands Nim code and runnable
    examples that stay in sync.

Last but not least, macros let you manipulate/generate code at compile time
instead of relying on code generators, enabling writing DSLs and language
extensions in user code. Typical examples include implementing Python-like
f-strings, optional chaining, command line generators, React-like Single Page
Apps, protobuf serialization and binding generators.

Installing Nim 1.6

We recommend everyone to upgrade to 1.6:

New users

Check out if your package manager already ships version 1.6 or install it as
described here.

Note: earlier this year researchers spotted malware written in Nim programming
language which supposedly led to antivirus vendors falsely tagging all software
written in Nim as a potential threat, including the Nim compiler, nimble (Nim'
s package manager) and so on (core Nim tooling is written entirely in Nim).
This has been an ongoing issue ever since - if you have any issues related to
this, please report the Nim compiler and associated tooling as false detection
to the respective antivirus vendors.

Existing users

If you have installed a previous version of Nim using choosenim, getting Nim
1.6 is as easy as:

choosenim update self
choosenim update stable

If you don't have choosenim, you can follow the same install link as above.

Building from source

git clone https://github.com/nim-lang/Nim
cd Nim
sh build_all.sh

The last command can be re-run after pulling new commits. Note that the
csources repo used was changed to csources_v1, the new setup is designed to be
forward and backward compatible.

Building from a CI setup

We now have bash APIs to (re-)build Nim from source which hide implementation
details, for example: . ci/funs.sh && nimBuildCsourcesIfNeeded. This can be
useful for CI when alternatives (using nightly builds or a Docker image) are
not suitable; in fact all the existing CI pipelines have been refactored to use
this, see #17815.

Contributors to Nim 1.6

Many thanks to our recurring and new contributors. Nim is a community driven
collaborative effort that welcomes all contributions, big or small.

Backward compatibility and preview flags

Starting with this release, we've introduced preview flags of the form
-d:nimPreviewX (e.g. -d:nimPreviewFloatRoundtrip), which allow users to opt-in
to new stdlib/compiler behavior that will likely become the default in the next
or a future release. These staging flags aim to minimize backward compatibility
issues.

We also introduced opt-out flags of the form -d:nimLegacyX, e.g.
-d:nimLegacyCopyFile, for cases where the default was changed to the new
behavior. For a transition period, these flags can be used to get the old
behavior.

Here's the list of these flags introduced in this release, refer to the text
below for explanations:

  * -d:nimLegacyCopyFile
  * -d:nimLegacyJsRound
  * -d:nimLegacyMacrosCollapseSymChoice
  * -d:nimLegacyParseQueryStrict
  * -d:nimLegacyRandomInitRand
  * -d:nimLegacyReprWithNewline
  * -d:nimLegacySigpipeHandler
  * -d:nimLegacyTypeMismatch
  * -d:nimPreviewDotLikeOps
  * -d:nimPreviewFloatRoundtrip
  * -d:nimPreviewHashRef
  * -d:nimPreviewJsonutilsHoleyEnum

Major new features

With so many new features, pinpointing the most salient ones is a subjective
exercise, but here are a select few:

iterable[T]

The iterable[T] type class was added to match called iterators, which solves a
number of long-standing issues related to iterators. Example:

iterator iota(n: int): int =
  for i in 0..<n: yield i

# previously, you'd need `untyped`, which caused other problems such as lack
# of type inference, overloading issues, and MCS.
template sumOld(a: untyped): untyped = # no type inference possible
  var result: typeof(block:(for ai in a: ai))
  for ai in a: result += ai
  result

assert sumOld(iota(3)) == 0 + 1 + 2

# now, you can write:
template sum[T](a: iterable[T]): T =
  # `template sum(a: iterable): auto =` would also be possible
  var result: T
  for ai in a: result += ai
  result

assert sum(iota(3)) == 0 + 1 + 2 # or `iota(3).sum`

In particular iterable arguments can now be used with the method call syntax.
For example:

import std/[sequtils, os]
echo walkFiles("*").toSeq # now works

See PR #17196 for additional details.

Strict effects

The effect system was refined and there is a new .effectsOf annotation that
does explicitly what was previously done implicitly. See the manual for more
details. To write code that is portable with older Nim versions, use this
idiom:

when defined(nimHasEffectsOf):
  {.experimental: "strictEffects".}
else:
  {.pragma: effectsOf.}

proc mysort(s: seq; cmp: proc(a, b: T): int) {.effectsOf: cmp.}

To enable the new effect system, compile with --experimental:strictEffects. See
also #18777 and RFC #408.

Private imports and private field access

A new import syntax import foo {.all.} now allows importing all symbols (public
or private) from foo. This can be useful for testing purposes or for more
flexibility in project organization.

Example:

from system {.all.} as system2 import nil
echo system2.ThisIsSystem # ThisIsSystem is private in `system`
import os {.all.} # weirdTarget is private in `os`
echo weirdTarget # or `os.weirdTarget`

Added a new module std/importutils, and an API privateAccess, which allows
access to private fields for an object type in the current scope.

Example:

import times
from std/importutils import privateAccess
block:
  let t = now()
  # echo t.monthdayZero # Error: undeclared field: 'monthdayZero' for type times.DateTime
  privateAccess(typeof(t)) # enables private access in this scope
  echo t.monthdayZero # ok

See PR #17706 for additional details.

nim --eval:cmd

Added nim --eval:cmd to evaluate a command directly, e.g.: nim --eval:"echo 1".
It defaults to e (nimscript) but can also work with other commands, e.g.:

find . | nim r --eval:'import strutils; for a in stdin.lines: echo a.toUpper'

# use as a calculator:
nim --eval:'echo 3.1 / (1.2+7)'
# explore a module's APIs, including private symbols:
nim --eval:'import os {.all.}; echo weirdTarget'
# use a custom backend:
nim r -b:js --eval:"import std/jsbigints; echo 2'big ** 64'big"

See PR #15687 for more details.

Round-trip float to string

system.addFloat and system.$ now can produce string representations of floating
point numbers that are minimal in size and possess round-trip and correct
rounding guarantees (via the Dragonbox algorithm). This currently has to be
enabled via -d:nimPreviewFloatRoundtrip. It is expected that this behavior
becomes the new default in upcoming versions, as with other nimPreviewX define
flags.

Example:

from math import round
let a = round(9.779999999999999, 2)
assert a == 9.78
echo a # with `-d:nimPreviewFloatRoundtrip`: 9.78, like in python3 (instead of  9.779999999999999)

New std/jsbigints module

Provides arbitrary precision integers for the JS target. See PR #16409.
Example:

import std/jsbigints
assert 2'big ** 65'big == 36893488147419103232'big
echo 0xdeadbeef'big shl 4'big # 59774856944n

New std/sysrand module

Cryptographically secure pseudorandom number generator, allows generating
random numbers from a secure source provided by the operating system. Example:

import std/sysrand
assert urandom(1234) != urandom(1234) # unlikely to fail in practice

See PR #16459.

New module: std/tempfiles

Allows creating temporary files and directories, see PR #17361 and followups.

import std/tempfiles
let tmpPath = genTempPath("prefix", "suffix.log", "/tmp/")
# tmpPath looks like: /tmp/prefixpmW1P2KLsuffix.log

let dir = createTempDir("tmpprefix_", "_end")
# created dir looks like: getTempDir() / "tmpprefix_YEl9VuVj_end"

let (cfile, path) = createTempFile("tmpprefix_", "_end.tmp")
# path looks like: getTempDir() / "tmpprefix_FDCIRZA0_end.tmp"
cfile.write "foo"
cfile.setFilePos 0
assert readAll(cfile) == "foo"
close cfile
assert readFile(path) == "foo"

User-defined literals

Custom numeric literals (e.g. -128'bignum) are now supported. Additionally, the
unary minus in -1 is now part of the integer literal, i.e. it is now parsed as
a single token. This implies that edge cases like -128'i8 finally work
correctly. Example:

func `'big`*(num: cstring): JsBigInt {.importjs: "BigInt(#)".}
assert 0xffffffffffffffff'big == (1'big shl 64'big) - 1'big

Dot-like operators

With -d:nimPreviewDotLikeOps, dot-like operators (operators starting with .,
but not with ..) now have the same precedence as ., so that a.?b.c is now
parsed as (a.?b).c instead of a.?(b.c). A warning is generated when a dot-like
operator is used without -d:nimPreviewDotLikeOps.

An important use case is to enable dynamic fields without affecting the
built-in . operator, e.g. for std/jsffi, std/json, pkg/nimpy. Example:

import std/json
template `.?`(a: JsonNode, b: untyped{ident}): JsonNode =
  a[astToStr(b)]
let j = %*{"a1": {"a2": 10}}
assert j.?a1.?a2.getInt == 10

Block arguments now support optional parameters

This solves a major pain point for routines accepting block parameters, see PR
#18631 for details:

template fn(a = 1, b = 2, body) = discard
fn(1, 2): # already works
  bar
fn(a = 1): # now works
  bar

Likewise with multiple block arguments via do:

template fn(a = 1, b = 2, body1, body2) = discard
fn(a = 1): # now works
  bar1
do:
  bar2

Other features

For full changelog, see here.

Footnotes

Tested on a 2.3 GHz 8-Core Intel Core i9, 2019 macOS 11.5 with 64GB RAM.

  * [1] command used: nim c -d:danger. The binary size can be further reduced
    to 49K with stripping (--passL:-s) and link-time optimization
    (--passC:-flto). Statically linking against musl brings it under 5K - see
    here for more details.
  * [2] commands used:
      + for Nim: nim c --forceBuild compiler/nim
      + for Rust: ./x.py build, details
      + for GCC: see 1 2
      + for Clang: details
      + for Go: ./make.bash
  * [3] a separate nimscript file can be used if needed to execute code at
    compile time before compiling the main program but it's in the same
    language

(ryoon)

2021-11-21 16:32:19 UTC MAIN commitmail json YAML

doc: Updated math/py-pandas to 1.3.4

(ryoon)

2021-11-21 16:31:26 UTC MAIN commitmail json YAML

py-pandas: Update to 1.3.4

Changelog:
What's new in 1.3.4 (October 17, 2021)

These are the changes in pandas 1.3.4. See Release notes for a full changelog
including other versions of pandas.

-------------------------------------------------------------------------------

Fixed regressions

  * Fixed regression in DataFrame.convert_dtypes() incorrectly converts byte
    strings to strings (GH43183)

  * Fixed regression in GroupBy.agg() where it was failing silently with mixed
    data types along axis=1 and MultiIndex (GH43209)

  * Fixed regression in merge() with integer and NaN keys failing with outer
    merge (GH43550)

  * Fixed regression in DataFrame.corr() raising ValueError with method=
    "spearman" on 32-bit platforms (GH43588)

  * Fixed performance regression in MultiIndex.equals() (GH43549)

  * Fixed performance regression in GroupBy.first() and GroupBy.last() with
    StringDtype (GH41596)

  * Fixed regression in Series.cat.reorder_categories() failing to update the
    categories on the Series (GH43232)

  * Fixed regression in Series.cat.categories() setter failing to update the
    categories on the Series (GH43334)

  * Fixed regression in read_csv() raising UnicodeDecodeError exception when
    memory_map=True (GH43540)

  * Fixed regression in DataFrame.explode() raising AssertionError when column
    is any scalar which is not a string (GH43314)

  * Fixed regression in Series.aggregate() attempting to pass args and kwargs
    multiple times to the user supplied func in certain cases (GH43357)

  * Fixed regression when iterating over a DataFrame.groupby.rolling object
    causing the resulting DataFrames to have an incorrect index if the input
    groupings were not sorted (GH43386)

  * Fixed regression in DataFrame.groupby.rolling.cov() and
    DataFrame.groupby.rolling.corr() computing incorrect results if the input
    groupings were not sorted (GH43386)

-------------------------------------------------------------------------------

Bug fixes

  * Fixed bug in pandas.DataFrame.groupby.rolling() and
    pandas.api.indexers.FixedForwardWindowIndexer leading to segfaults and
    window endpoints being mixed across groups (GH43267)

  * Fixed bug in GroupBy.mean() with datetimelike values including NaT values
    returning incorrect results (GH43132)

  * Fixed bug in Series.aggregate() not passing the first args to the user
    supplied func in certain cases (GH43357)

  * Fixed memory leaks in Series.rolling.quantile() and Series.rolling.median()
    (GH43339)

-------------------------------------------------------------------------------

Other

  * The minimum version of Cython needed to compile pandas is now 0.29.24 (
    GH43729)

What's new in 1.3.3 (September 12, 2021)

These are the changes in pandas 1.3.3. See Release notes for a full changelog
including other versions of pandas.

-------------------------------------------------------------------------------

Fixed regressions

  * Fixed regression in DataFrame constructor failing to broadcast for defined
    Index and len one list of Timestamp (GH42810)

  * Fixed regression in GroupBy.agg() incorrectly raising in some cases (
    GH42390)

  * Fixed regression in GroupBy.apply() where nan values were dropped even with
    dropna=False (GH43205)

  * Fixed regression in GroupBy.quantile() which was failing with pandas.NA (
    GH42849)

  * Fixed regression in merge() where on columns with ExtensionDtype or bool
    data types were cast to object in right and outer merge (GH40073)

  * Fixed regression in RangeIndex.where() and RangeIndex.putmask() raising
    AssertionError when result did not represent a RangeIndex (GH43240)

  * Fixed regression in read_parquet() where the fastparquet engine would not
    work properly with fastparquet 0.7.0 (GH43075)

  * Fixed regression in DataFrame.loc.__setitem__() raising ValueError when
    setting array as cell value (GH43422)

  * Fixed regression in is_list_like() where objects with __iter__ set to None
    would be identified as iterable (GH43373)

  * Fixed regression in DataFrame.__getitem__() raising error for slice of
    DatetimeIndex when index is non monotonic (GH43223)

  * Fixed regression in Resampler.aggregate() when used after column selection
    would raise if func is a list of aggregation functions (GH42905)

  * Fixed regression in DataFrame.corr() where Kendall correlation would
    produce incorrect results for columns with repeated values (GH43401)

  * Fixed regression in DataFrame.groupby() where aggregation on columns with
    object types dropped results on those columns (GH42395, GH43108)

  * Fixed regression in Series.fillna() raising TypeError when filling float
    Series with list-like fill value having a dtype which couldn't cast
    lostlessly (like float32 filled with float64) (GH43424)

  * Fixed regression in read_csv() raising AttributeError when the file handle
    is an tempfile.SpooledTemporaryFile object (GH43439)

  * Fixed performance regression in
    core.window.ewm.ExponentialMovingWindow.mean() (GH42333)

-------------------------------------------------------------------------------

Performance improvements

  * Performance improvement for DataFrame.__setitem__() when the key or value
    is not a DataFrame, or key is not list-like (GH43274)

-------------------------------------------------------------------------------

Bug fixes

  * Fixed bug in DataFrameGroupBy.agg() and DataFrameGroupBy.transform() with
    engine="numba" where index data was not being correctly passed into func (
    GH43133)

What's new in 1.3.2 (August 15, 2021)

These are the changes in pandas 1.3.2. See Release notes for a full changelog
including other versions of pandas.

-------------------------------------------------------------------------------

Fixed regressions

  * Performance regression in DataFrame.isin() and Series.isin() for nullable
    data types (GH42714)

  * Regression in updating values of Series using boolean index, created by
    using DataFrame.pop() (GH42530)

  * Regression in DataFrame.from_records() with empty records (GH42456)

  * Fixed regression in DataFrame.shift() where TypeError occurred when
    shifting DataFrame created by concatenation of slices and fills with values
    (GH42719)

  * Regression in DataFrame.agg() when the func argument returned lists and
    axis=1 (GH42727)

  * Regression in DataFrame.drop() does nothing if MultiIndex has duplicates
    and indexer is a tuple or list of tuples (GH42771)

  * Fixed regression where read_csv() raised a ValueError when parameters names
    and prefix were both set to None (GH42387)

  * Fixed regression in comparisons between Timestamp object and datetime64
    objects outside the implementation bounds for nanosecond datetime64 (
    GH42794)

  * Fixed regression in Styler.highlight_min() and Styler.highlight_max() where
    pandas.NA was not successfully ignored (GH42650)

  * Fixed regression in concat() where copy=False was not honored in axis=1
    Series concatenation (GH42501)

  * Regression in Series.nlargest() and Series.nsmallest() with nullable
    integer or float dtype (GH42816)

  * Fixed regression in Series.quantile() with Int64Dtype (GH42626)

  * Fixed regression in Series.groupby() and DataFrame.groupby() where
    supplying the by argument with a Series named with a tuple would
    incorrectly raise (GH42731)

-------------------------------------------------------------------------------

Bug fixes

  * Bug in read_excel() modifies the dtypes dictionary when reading a file with
    duplicate columns (GH42462)

  * 1D slices over extension types turn into N-dimensional slices over
    ExtensionArrays (GH42430)

  * Fixed bug in Series.rolling() and DataFrame.rolling() not calculating
    window bounds correctly for the first row when center=True and window is an
    offset that covers all the rows (GH42753)

  * Styler.hide_columns() now hides the index name header row as well as column
    headers (GH42101)

  * Styler.set_sticky() has amended CSS to control the column/index names and
    ensure the correct sticky positions (GH42537)

  * Bug in de-serializing datetime indexes in PYTHONOPTIMIZED mode (GH42866)

What's new in 1.3.1 (July 25, 2021)

These are the changes in pandas 1.3.1. See Release notes for a full changelog
including other versions of pandas.

-------------------------------------------------------------------------------

Fixed regressions

  * Pandas could not be built on PyPy (GH42355)

  * DataFrame constructed with an older version of pandas could not be
    unpickled (GH42345)

  * Performance regression in constructing a DataFrame from a dictionary of
    dictionaries (GH42248)

  * Fixed regression in DataFrame.agg() dropping values when the DataFrame had
    an Extension Array dtype, a duplicate index, and axis=1 (GH42380)

  * Fixed regression in DataFrame.astype() changing the order of noncontiguous
    data (GH42396)

  * Performance regression in DataFrame in reduction operations requiring
    casting such as DataFrame.mean() on integer data (GH38592)

  * Performance regression in DataFrame.to_dict() and Series.to_dict() when
    orient argument one of 'records', 'dict', or 'split' (GH42352)

  * Fixed regression in indexing with a list subclass incorrectly raising
    TypeError (GH42433, GH42461)

  * Fixed regression in DataFrame.isin() and Series.isin() raising TypeError
    with nullable data containing at least one missing value (GH42405)

  * Regression in concat() between objects with bool dtype and integer dtype
    casting to object instead of to integer (GH42092)

  * Bug in Series constructor not accepting a dask.Array (GH38645)

  * Fixed regression for SettingWithCopyWarning displaying incorrect stacklevel
    (GH42570)

  * Fixed regression for merge_asof() raising KeyError when one of the by
    columns is in the index (GH34488)

  * Fixed regression in to_datetime() returning pd.NaT for inputs that produce
    duplicated values, when cache=True (GH42259)

  * Fixed regression in SeriesGroupBy.value_counts() that resulted in an
    IndexError when called on a Series with one row (GH42618)

-------------------------------------------------------------------------------

Bug fixes

  * Fixed bug in DataFrame.transpose() dropping values when the DataFrame had
    an Extension Array dtype and a duplicate index (GH42380)

  * Fixed bug in DataFrame.to_xml() raising KeyError when called with index=
    False and an offset index (GH42458)

  * Fixed bug in Styler.set_sticky() not handling index names correctly for
    single index columns case (GH42537)

  * Fixed bug in DataFrame.copy() failing to consolidate blocks in the result (
    GH42579)

What's new in 1.3.0 (July 2, 2021)

These are the changes in pandas 1.3.0. See Release notes for a full changelog
including other versions of pandas.

Warning

When reading new Excel 2007+ (.xlsx) files, the default argument engine=None to
read_excel() will now result in using the openpyxl engine in all cases when the
option io.excel.xlsx.reader is set to "auto". Previously, some cases would use
the xlrd engine instead. See What's new 1.2.0 for background on this change.

-------------------------------------------------------------------------------

Enhancements

-------------------------------------------------------------------------------

Custom HTTP(s) headers when reading csv or json files

When reading from a remote URL that is not handled by fsspec (e.g. HTTP and
HTTPS) the dictionary passed to storage_options will be used to create the
headers included in the request. This can be used to control the User-Agent
header or send other custom headers (GH36688). For example:

In [1]: headers = {"User-Agent": "pandas"}

In [2]: df = pd.read_csv(
  ...:    "https://download.bls.gov/pub/time.series/cu/cu.item",
  ...:    sep="\t",
  ...:    storage_options=headers
  ...: )
  ...:

-------------------------------------------------------------------------------

Read and write XML documents

We added I/O support to read and render shallow versions of XML documents with
read_xml() and DataFrame.to_xml(). Using lxml as parser, both XPath 1.0 and
XSLT 1.0 are available. (GH27554)

In [1]: xml = """<?xml version='1.0' encoding='utf-8'?>
  ...: <data>
  ...:  <row>
  ...:    <shape>square</shape>
  ...:    <degrees>360</degrees>
  ...:    <sides>4.0</sides>
  ...:  </row>
  ...:  <row>
  ...:    <shape>circle</shape>
  ...:    <degrees>360</degrees>
  ...:    <sides/>
  ...:  </row>
  ...:  <row>
  ...:    <shape>triangle</shape>
  ...:    <degrees>180</degrees>
  ...:    <sides>3.0</sides>
  ...:  </row>
  ...:  </data>"""

In [2]: df = pd.read_xml(xml)
In [3]: df
Out[3]:
      shape  degrees  sides
0    square      360    4.0
1    circle      360    NaN
2  triangle      180    3.0

In [4]: df.to_xml()
Out[4]:
<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>

For more, see Writing XML in the user guide on IO tools.

-------------------------------------------------------------------------------

Styler enhancements

We provided some focused development on Styler. See also the Styler
documentation which has been revised and improved (GH39720, GH39317, GH40493).

      + The method Styler.set_table_styles() can now accept more natural CSS
        language for arguments, such as 'color:red;' instead of [('color',
        'red')] (GH39563)

      + The methods Styler.highlight_null(), Styler.highlight_min(), and
        Styler.highlight_max() now allow custom CSS highlighting instead of the
        default background coloring (GH40242)

      + Styler.apply() now accepts functions that return an ndarray when axis=
        None, making it now consistent with the axis=0 and axis=1 behavior (
        GH39359)

      + When incorrectly formatted CSS is given via Styler.apply() or
        Styler.applymap(), an error is now raised upon rendering (GH39660)

      + Styler.format() now accepts the keyword argument escape for optional
        HTML and LaTeX escaping (GH40388, GH41619)

      + Styler.background_gradient() has gained the argument gmap to supply a
        specific gradient map for shading (GH22727)

      + Styler.clear() now clears Styler.hidden_index and Styler.hidden_columns
        as well (GH40484)

      + Added the method Styler.highlight_between() (GH39821)

      + Added the method Styler.highlight_quantile() (GH40926)

      + Added the method Styler.text_gradient() (GH41098)

      + Added the method Styler.set_tooltips() to allow hover tooltips; this
        can be used enhance interactive displays (GH21266, GH40284)

      + Added the parameter precision to the method Styler.format() to control
        the display of floating point numbers (GH40134)

      + Styler rendered HTML output now follows the w3 HTML Style Guide (
        GH39626)

      + Many features of the Styler class are now either partially or fully
        usable on a DataFrame with a non-unique indexes or columns (GH41143)

      + One has greater control of the display through separate sparsification
        of the index or columns using the new styler options, which are also
        usable via option_context() (GH41142)

      + Added the option styler.render.max_elements to avoid browser overload
        when styling large DataFrames (GH40712)

      + Added the method Styler.to_latex() (GH21673, GH42320), which also
        allows some limited CSS conversion (GH40731)

      + Added the method Styler.to_html() (GH13379)

      + Added the method Styler.set_sticky() to make index and column headers
        permanently visible in scrolling HTML frames (GH29072)

-------------------------------------------------------------------------------

DataFrame constructor honors copy=False with dict

When passing a dictionary to DataFrame with copy=False, a copy will no longer
be made (GH32960).

In [3]: arr = np.array([1, 2, 3])

In [4]: df = pd.DataFrame({"A": arr, "B": arr.copy()}, copy=False)

In [5]: df
Out[5]:
  A  B
0  1  1
1  2  2
2  3  3

df["A"] remains a view on arr:

In [6]: arr[0] = 0

In [7]: assert df.iloc[0, 0] == 0

The default behavior when not passing copy will remain unchanged, i.e. a copy
will be made.

-------------------------------------------------------------------------------

PyArrow backed string data type

We've enhanced the StringDtype, an extension type dedicated to string data. (
GH39908)

It is now possible to specify a storage keyword option to StringDtype. Use
pandas options or specify the dtype using dtype='string[pyarrow]' to allow the
StringArray to be backed by a PyArrow array instead of a NumPy array of Python
objects.

The PyArrow backed StringArray requires pyarrow 1.0.0 or greater to be
installed.

Warning

string[pyarrow] is currently considered experimental. The implementation and
parts of the API may change without warning.

In [8]: pd.Series(['abc', None, 'def'], dtype=pd.StringDtype(storage="pyarrow"))
Out[8]:
0    abc
1    <NA>
2    def
dtype: string

You can use the alias "string[pyarrow]" as well.

In [9]: s = pd.Series(['abc', None, 'def'], dtype="string[pyarrow]")

In [10]: s
Out[10]:
0    abc
1    <NA>
2    def
dtype: string

You can also create a PyArrow backed string array using pandas options.

In [11]: with pd.option_context("string_storage", "pyarrow"):
  ....:    s = pd.Series(['abc', None, 'def'], dtype="string")
  ....:

In [12]: s
Out[12]:
0    abc
1    <NA>
2    def
dtype: string

The usual string accessor methods work. Where appropriate, the return type of
the Series or columns of a DataFrame will also have string dtype.

In [13]: s.str.upper()
Out[13]:
0    ABC
1    <NA>
2    DEF
dtype: string

In [14]: s.str.split('b', expand=True).dtypes
Out[14]:
0    string
1    string
dtype: object

String accessor methods returning integers will return a value with Int64Dtype

In [15]: s.str.count("a")
Out[15]:
0      1
1    <NA>
2      0
dtype: Int64

-------------------------------------------------------------------------------

Centered datetime-like rolling windows

When performing rolling calculations on DataFrame and Series objects with a
datetime-like index, a centered datetime-like window can now be used (GH38780).
For example:

In [16]: df = pd.DataFrame(
  ....:    {"A": [0, 1, 2, 3, 4]}, index=pd.date_range("2020", periods=5, freq="1D")
  ....: )
  ....:

In [17]: df
Out[17]:
            A
2020-01-01  0
2020-01-02  1
2020-01-03  2
2020-01-04  3
2020-01-05  4

In [18]: df.rolling("2D", center=True).mean()
Out[18]:
              A
2020-01-01  0.5
2020-01-02  1.5
2020-01-03  2.5
2020-01-04  3.5
2020-01-05  4.0

-------------------------------------------------------------------------------

Other enhancements

  * DataFrame.rolling(), Series.rolling(), DataFrame.expanding(), and
    Series.expanding() now support a method argument with a 'table' option that
    performs the windowing operation over an entire DataFrame. See Window
    Overview for performance and functional benefits (GH15095, GH38995)

  * ExponentialMovingWindow now support a online method that can perform mean
    calculations in an online fashion. See Window Overview (GH41673)

  * Added MultiIndex.dtypes() (GH37062)

  * Added end and end_day options for the origin argument in DataFrame.resample
    () (GH37804)

  * Improved error message when usecols and names do not match for read_csv()
    and engine="c" (GH29042)

  * Improved consistency of error messages when passing an invalid win_type
    argument in Window methods (GH15969)

  * read_sql_query() now accepts a dtype argument to cast the columnar data
    from the SQL database based on user input (GH10285)

  * read_csv() now raising ParserWarning if length of header or given names
    does not match length of data when usecols is not specified (GH21768)

  * Improved integer type mapping from pandas to SQLAlchemy when using
    DataFrame.to_sql() (GH35076)

  * to_numeric() now supports downcasting of nullable ExtensionDtype objects (
    GH33013)

  * Added support for dict-like names in MultiIndex.set_names and
    MultiIndex.rename (GH20421)

  * read_excel() can now auto-detect .xlsb files and older .xls files (GH35416,
    GH41225)

  * ExcelWriter now accepts an if_sheet_exists parameter to control the
    behavior of append mode when writing to existing sheets (GH40230)

  * Rolling.sum(), Expanding.sum(), Rolling.mean(), Expanding.mean(),
    ExponentialMovingWindow.mean(), Rolling.median(), Expanding.median(),
    Rolling.max(), Expanding.max(), Rolling.min(), and Expanding.min() now
    support Numba execution with the engine keyword (GH38895, GH41267)

  * DataFrame.apply() can now accept NumPy unary operators as strings, e.g.
    df.apply("sqrt"), which was already the case for Series.apply() (GH39116)

  * DataFrame.apply() can now accept non-callable DataFrame properties as
    strings, e.g. df.apply("size"), which was already the case for Series.apply
    () (GH39116)

  * DataFrame.applymap() can now accept kwargs to pass on to the user-provided
    func (GH39987)

  * Passing a DataFrame indexer to iloc is now disallowed for
    Series.__getitem__() and DataFrame.__getitem__() (GH39004)

  * Series.apply() can now accept list-like or dictionary-like arguments that
    aren't lists or dictionaries, e.g. ser.apply(np.array(["sum", "mean"])),
    which was already the case for DataFrame.apply() (GH39140)

  * DataFrame.plot.scatter() can now accept a categorical column for the
    argument c (GH12380, GH31357)

  * Series.loc() now raises a helpful error message when the Series has a
    MultiIndex and the indexer has too many dimensions (GH35349)

  * read_stata() now supports reading data from compressed files (GH26599)

  * Added support for parsing ISO 8601-like timestamps with negative signs to
    Timedelta (GH37172)

  * Added support for unary operators in FloatingArray (GH38749)

  * RangeIndex can now be constructed by passing a range object directly e.g.
    pd.RangeIndex(range(3)) (GH12067)

  * Series.round() and DataFrame.round() now work with nullable integer and
    floating dtypes (GH38844)

  * read_csv() and read_json() expose the argument encoding_errors to control
    how encoding errors are handled (GH39450)

  * GroupBy.any() and GroupBy.all() use Kleene logic with nullable data types (
    GH37506)

  * GroupBy.any() and GroupBy.all() return a BooleanDtype for columns with
    nullable data types (GH33449)

  * GroupBy.any() and GroupBy.all() raising with object data containing pd.NA
    even when skipna=True (GH37501)

  * GroupBy.rank() now supports object-dtype data (GH38278)

  * Constructing a DataFrame or Series with the data argument being a Python
    iterable that is not a NumPy ndarray consisting of NumPy scalars will now
    result in a dtype with a precision the maximum of the NumPy scalars; this
    was already the case when data is a NumPy ndarray (GH40908)

  * Add keyword sort to pivot_table() to allow non-sorting of the result (
    GH39143)

  * Add keyword dropna to DataFrame.value_counts() to allow counting rows that
    include NA values (GH41325)

  * Series.replace() will now cast results to PeriodDtype where possible
    instead of object dtype (GH41526)

  * Improved error message in corr and cov methods on Rolling, Expanding, and
    ExponentialMovingWindow when other is not a DataFrame or Series (GH41741)

  * Series.between() can now accept left or right as arguments to inclusive to
    include only the left or right boundary (GH40245)

  * DataFrame.explode() now supports exploding multiple columns. Its column
    argument now also accepts a list of str or tuples for exploding on multiple
    columns at the same time (GH39240)

  * DataFrame.sample() now accepts the ignore_index argument to reset the index
    after sampling, similar to DataFrame.drop_duplicates() and
    DataFrame.sort_values() (GH38581)

-------------------------------------------------------------------------------

Notable bug fixes

These are bug fixes that might have notable behavior changes.

-------------------------------------------------------------------------------

Categorical.unique now always maintains same dtype as original

Previously, when calling Categorical.unique() with categorical data, unused
categories in the new array would be removed, making the dtype of the new array
different than the original (GH18291)

As an example of this, given:

In [19]: dtype = pd.CategoricalDtype(['bad', 'neutral', 'good'], ordered=True)

In [20]: cat = pd.Categorical(['good', 'good', 'bad', 'bad'], dtype=dtype)

In [21]: original = pd.Series(cat)

In [22]: unique = original.unique()

Previous behavior:

In [1]: unique
['good', 'bad']
Categories (2, object): ['bad' < 'good']
In [2]: original.dtype == unique.dtype
False

New behavior:

In [23]: unique
Out[23]:
['good', 'bad']
Categories (3, object): ['bad' < 'neutral' < 'good']

In [24]: original.dtype == unique.dtype
Out[24]: True

-------------------------------------------------------------------------------

Preserve dtypes in DataFrame.combine_first()

DataFrame.combine_first() will now preserve dtypes (GH7509)

In [25]: df1 = pd.DataFrame({"A": [1, 2, 3], "B": [1, 2, 3]}, index=[0, 1, 2])

In [26]: df1
Out[26]:
  A  B
0  1  1
1  2  2
2  3  3

In [27]: df2 = pd.DataFrame({"B": [4, 5, 6], "C": [1, 2, 3]}, index=[2, 3, 4])

In [28]: df2
Out[28]:
  B  C
2  4  1
3  5  2
4  6  3

In [29]: combined = df1.combine_first(df2)

Previous behavior:

In [1]: combined.dtypes
Out[2]:
A    float64
B    float64
C    float64
dtype: object

New behavior:

In [30]: combined.dtypes
Out[30]:
A    float64
B      int64
C    float64
dtype: object

-------------------------------------------------------------------------------

Groupby methods agg and transform no longer changes return dtype for callables

Previously the methods DataFrameGroupBy.aggregate(), SeriesGroupBy.aggregate(),
DataFrameGroupBy.transform(), and SeriesGroupBy.transform() might cast the
result dtype when the argument func is callable, possibly leading to
undesirable results (GH21240). The cast would occur if the result is numeric
and casting back to the input dtype does not change any values as measured by
np.allclose. Now no such casting occurs.

In [31]: df = pd.DataFrame({'key': [1, 1], 'a': [True, False], 'b': [True, True]})

In [32]: df
Out[32]:
  key      a    b
0    1  True  True
1    1  False  True

Previous behavior:

In [5]: df.groupby('key').agg(lambda x: x.sum())
Out[5]:
        a  b
key
1    True  2

New behavior:

In [33]: df.groupby('key').agg(lambda x: x.sum())
Out[33]:
    a  b
key
1    1  2

-------------------------------------------------------------------------------

float result for GroupBy.mean(), GroupBy.median(), and GroupBy.var()

Previously, these methods could result in different dtypes depending on the
input values. Now, these methods will always return a float dtype. (GH41137)

In [34]: df = pd.DataFrame({'a': [True], 'b': [1], 'c': [1.0]})

Previous behavior:

In [5]: df.groupby(df.index).mean()
Out[5]:
        a  b    c
0    True  1  1.0

New behavior:

In [35]: df.groupby(df.index).mean()
Out[35]:
    a    b    c
0  1.0  1.0  1.0

-------------------------------------------------------------------------------

Try operating inplace when setting values with loc and iloc

When setting an entire column using loc or iloc, pandas will try to insert the
values into the existing data rather than create an entirely new array.

In [36]: df = pd.DataFrame(range(3), columns=["A"], dtype="float64")

In [37]: values = df.values

In [38]: new = np.array([5, 6, 7], dtype="int64")

In [39]: df.loc[[0, 1, 2], "A"] = new

In both the new and old behavior, the data in values is overwritten, but in the
old behavior the dtype of df["A"] changed to int64.

Previous behavior:

In [1]: df.dtypes
Out[1]:
A    int64
dtype: object
In [2]: np.shares_memory(df["A"].values, new)
Out[2]: False
In [3]: np.shares_memory(df["A"].values, values)
Out[3]: False

In pandas 1.3.0, df continues to share data with values

New behavior:

In [40]: df.dtypes
Out[40]:
A    float64
dtype: object

In [41]: np.shares_memory(df["A"], new)
Out[41]: False

In [42]: np.shares_memory(df["A"], values)
Out[42]: True

-------------------------------------------------------------------------------

Never operate inplace when setting frame[keys] = values

When setting multiple columns using frame[keys] = values new arrays will
replace pre-existing arrays for these keys, which will not be over-written (
GH39510). As a result, the columns will retain the dtype(s) of values, never
casting to the dtypes of the existing arrays.

In [43]: df = pd.DataFrame(range(3), columns=["A"], dtype="float64")

In [44]: df[["A"]] = 5

In the old behavior, 5 was cast to float64 and inserted into the existing array
backing df:

Previous behavior:

In [1]: df.dtypes
Out[1]:
A    float64

In the new behavior, we get a new array, and retain an integer-dtyped 5:

New behavior:

In [45]: df.dtypes
Out[45]:
A    int64
dtype: object

-------------------------------------------------------------------------------

Consistent casting with setting into Boolean Series

Setting non-boolean values into a Series with dtype=bool now consistently casts
to dtype=object (GH38709)

In [46]: orig = pd.Series([True, False])

In [47]: ser = orig.copy()

In [48]: ser.iloc[1] = np.nan

In [49]: ser2 = orig.copy()

In [50]: ser2.iloc[1] = 2.0

Previous behavior:

In [1]: ser
Out [1]:
0    1.0
1    NaN
dtype: float64

In [2]:ser2
Out [2]:
0    True
1    2.0
dtype: object

New behavior:

In [51]: ser
Out[51]:
0    True
1    NaN
dtype: object

In [52]: ser2
Out[52]:
0    True
1    2.0
dtype: object

-------------------------------------------------------------------------------

GroupBy.rolling no longer returns grouped-by column in values

The group-by column will now be dropped from the result of a groupby.rolling
operation (GH32262)

In [53]: df = pd.DataFrame({"A": [1, 1, 2, 3], "B": [0, 1, 2, 3]})

In [54]: df
Out[54]:
  A  B
0  1  0
1  1  1
2  2  2
3  3  3

Previous behavior:

In [1]: df.groupby("A").rolling(2).sum()
Out[1]:
      A    B
A
1 0  NaN  NaN
1    2.0  1.0
2 2  NaN  NaN
3 3  NaN  NaN

New behavior:

In [55]: df.groupby("A").rolling(2).sum()
Out[55]:
      B
A
1 0  NaN
  1  1.0
2 2  NaN
3 3  NaN

-------------------------------------------------------------------------------

Removed artificial truncation in rolling variance and standard deviation

Rolling.std() and Rolling.var() will no longer artificially truncate results
that are less than ~1e-8 and ~1e-15 respectively to zero (GH37051, GH40448,
GH39872).

However, floating point artifacts may now exist in the results when rolling
over larger values.

In [56]: s = pd.Series([7, 5, 5, 5])

In [57]: s.rolling(3).var()
Out[57]:
0            NaN
1            NaN
2    1.333333e+00
3    4.440892e-16
dtype: float64

-------------------------------------------------------------------------------

GroupBy.rolling with MultiIndex no longer drops levels in the result

GroupBy.rolling() will no longer drop levels of a DataFrame with a MultiIndex
in the result. This can lead to a perceived duplication of levels in the
resulting MultiIndex, but this change restores the behavior that was present in
version 1.1.3 (GH38787, GH38523).

In [58]: index = pd.MultiIndex.from_tuples([('idx1', 'idx2')], names=['label1', 'label2'])

In [59]: df = pd.DataFrame({'a': [1], 'b': [2]}, index=index)

In [60]: df
Out[60]:
              a  b
label1 label2
idx1  idx2    1  2

Previous behavior:

In [1]: df.groupby('label1').rolling(1).sum()
Out[1]:
          a    b
label1
idx1    1.0  2.0

New behavior:

In [61]: df.groupby('label1').rolling(1).sum()
Out[61]:
                        a    b
label1 label1 label2
idx1  idx1  idx2    1.0  2.0

-------------------------------------------------------------------------------

Backwards incompatible API changes

-------------------------------------------------------------------------------

Increased minimum versions for dependencies

Some minimum supported versions of dependencies were updated. If installed, we
now require:

    Package    Minimum Version Required Changed

numpy          1.17.3          X        X

pytz            2017.3          X

python-dateutil 2.7.3          X

bottleneck      1.2.1

numexpr        2.7.0                    X

pytest (dev)    6.0                      X

mypy (dev)      0.812                    X

setuptools      38.6.0                  X

For optional libraries the general recommendation is to use the latest version.
The following table lists the lowest version per library that is currently
being tested throughout the development of pandas. Optional libraries below the
lowest tested version may still work, but are not considered supported.

  Package    Minimum Version Changed

beautifulsoup4 4.6.0

fastparquet    0.4.0          X

fsspec        0.7.4

gcsfs          0.6.0

lxml          4.3.0

matplotlib    2.2.3

numba          0.46.0

openpyxl      3.0.0          X

pyarrow        0.17.0          X

pymysql        0.8.1          X

pytables      3.5.1

s3fs          0.4.0

scipy          1.2.0

sqlalchemy    1.3.0          X

tabulate      0.8.7          X

xarray        0.12.0

xlrd          1.2.0

xlsxwriter    1.0.2

xlwt          1.3.0

pandas-gbq    0.12.0

See Dependencies and Optional dependencies for more.

-------------------------------------------------------------------------------

Other API changes

  * Partially initialized CategoricalDtype objects (i.e. those with categories=
    None) will no longer compare as equal to fully initialized dtype objects (
    GH38516)

  * Accessing _constructor_expanddim on a DataFrame and _constructor_sliced on
    a Series now raise an AttributeError. Previously a NotImplementedError was
    raised (GH38782)

  * Added new engine and **engine_kwargs parameters to DataFrame.to_sql() to
    support other future 'SQL engines'. Currently we still only use
    SQLAlchemy under the hood, but more engines are planned to be supported
    such as turbodbc (GH36893)

  * Removed redundant freq from PeriodIndex string representation (GH41653)

  * ExtensionDtype.construct_array_type() is now a required method instead of
    an optional one for ExtensionDtype subclasses (GH24860)

  * Calling hash on non-hashable pandas objects will now raise TypeError with
    the built-in error message (e.g. unhashable type: 'Series'). Previously it
    would raise a custom message such as 'Series' objects are mutable, thus
    they cannot be hashed. Furthermore, isinstance(<Series>,
    abc.collections.Hashable) will now return False (GH40013)

  * Styler.from_custom_template() now has two new arguments for template names,
    and removed the old name, due to template inheritance having been
    introducing for better parsing (GH42053). Subclassing modifications to
    Styler attributes are also needed.

-------------------------------------------------------------------------------

Build

  * Documentation in .pptx and .pdf formats are no longer included in wheels or
    source distributions. (GH30741)

-------------------------------------------------------------------------------

Deprecations

-------------------------------------------------------------------------------

Deprecated dropping nuisance columns in DataFrame reductions and
DataFrameGroupBy operations

Calling a reduction (e.g. .min, .max, .sum) on a DataFrame with numeric_only=
None (the default), columns where the reduction raises a TypeError are silently
ignored and dropped from the result.

This behavior is deprecated. In a future version, the TypeError will be raised,
and users will need to select only valid columns before calling the function.

For example:

In [62]: df = pd.DataFrame({"A": [1, 2, 3, 4], "B": pd.date_range("2016-01-01", periods=4)})

In [63]: df
Out[63]:
  A          B
0  1 2016-01-01
1  2 2016-01-02
2  3 2016-01-03
3  4 2016-01-04

Old behavior:

In [3]: df.prod()
Out[3]:
Out[3]:
A    24
dtype: int64

Future behavior:

In [4]: df.prod()
...
TypeError: 'DatetimeArray' does not implement reduction 'prod'

In [5]: df[["A"]].prod()
Out[5]:
A    24
dtype: int64

Similarly, when applying a function to DataFrameGroupBy, columns on which the
function raises TypeError are currently silently ignored and dropped from the
result.

This behavior is deprecated. In a future version, the TypeError will be raised,
and users will need to select only valid columns before calling the function.

For example:

In [64]: df = pd.DataFrame({"A": [1, 2, 3, 4], "B": pd.date_range("2016-01-01", periods=4)})

In [65]: gb = df.groupby([1, 1, 2, 2])

Old behavior:

In [4]: gb.prod(numeric_only=False)
Out[4]:
A
1  2
2  12

Future behavior:

In [5]: gb.prod(numeric_only=False)
...
TypeError: datetime64 type does not support prod operations

In [6]: gb[["A"]].prod(numeric_only=False)
Out[6]:
    A
1  2
2  12

-------------------------------------------------------------------------------

Other Deprecations

  * Deprecated allowing scalars to be passed to the Categorical constructor (
    GH38433)

  * Deprecated constructing CategoricalIndex without passing list-like data (
    GH38944)

  * Deprecated allowing subclass-specific keyword arguments in the Index
    constructor, use the specific subclass directly instead (GH14093, GH21311,
    GH22315, GH26974)

  * Deprecated the astype() method of datetimelike (timedelta64[ns], datetime64
    [ns], Datetime64TZDtype, PeriodDtype) to convert to integer dtypes, use
    values.view(...) instead (GH38544)

  * Deprecated MultiIndex.is_lexsorted() and MultiIndex.lexsort_depth(), use
    MultiIndex.is_monotonic_increasing() instead (GH32259)

  * Deprecated keyword try_cast in Series.where(), Series.mask(),
    DataFrame.where(), DataFrame.mask(); cast results manually if desired (
    GH38836)

  * Deprecated comparison of Timestamp objects with datetime.date objects.
    Instead of e.g. ts <= mydate use ts <= pd.Timestamp(mydate) or ts.date() <=
    mydate (GH36131)

  * Deprecated Rolling.win_type returning "freq" (GH38963)

  * Deprecated Rolling.is_datetimelike (GH38963)

  * Deprecated DataFrame indexer for Series.__setitem__() and
    DataFrame.__setitem__() (GH39004)

  * Deprecated ExponentialMovingWindow.vol() (GH39220)

  * Using .astype to convert between datetime64[ns] dtype and DatetimeTZDtype
    is deprecated and will raise in a future version, use obj.tz_localize or
    obj.dt.tz_localize instead (GH38622)

  * Deprecated casting datetime.date objects to datetime64 when used as
    fill_value in DataFrame.unstack(), DataFrame.shift(), Series.shift(), and
    DataFrame.reindex(), pass pd.Timestamp(dateobj) instead (GH39767)

  * Deprecated Styler.set_na_rep() and Styler.set_precision() in favor of
    Styler.format() with na_rep and precision as existing and new input
    arguments respectively (GH40134, GH40425)

  * Deprecated Styler.where() in favor of using an alternative formulation with
    Styler.applymap() (GH40821)

  * Deprecated allowing partial failure in Series.transform() and
    DataFrame.transform() when func is list-like or dict-like and raises
    anything but TypeError; func raising anything but a TypeError will raise in
    a future version (GH40211)

  * Deprecated arguments error_bad_lines and warn_bad_lines in read_csv() and
    read_table() in favor of argument on_bad_lines (GH15122)

  * Deprecated support for np.ma.mrecords.MaskedRecords in the DataFrame
    constructor, pass {name: data[name] for name in data.dtype.names} instead (
    GH40363)

  * Deprecated using merge(), DataFrame.merge(), and DataFrame.join() on a
    different number of levels (GH34862)

  * Deprecated the use of **kwargs in ExcelWriter; use the keyword argument
    engine_kwargs instead (GH40430)

  * Deprecated the level keyword for DataFrame and Series aggregations; use
    groupby instead (GH39983)

  * Deprecated the inplace parameter of Categorical.remove_categories(),
    Categorical.add_categories(), Categorical.reorder_categories(),
    Categorical.rename_categories(), Categorical.set_categories() and will be
    removed in a future version (GH37643)

  * Deprecated merge() producing duplicated columns through the suffixes
    keyword and already existing columns (GH22818)

  * Deprecated setting Categorical._codes, create a new Categorical with the
    desired codes instead (GH40606)

  * Deprecated the convert_float optional argument in read_excel() and
    ExcelFile.parse() (GH41127)

  * Deprecated behavior of DatetimeIndex.union() with mixed timezones; in a
    future version both will be cast to UTC instead of object dtype (GH39328)

  * Deprecated using usecols with out of bounds indices for read_csv() with
    engine="c" (GH25623)

  * Deprecated special treatment of lists with first element a Categorical in
    the DataFrame constructor; pass as pd.DataFrame({col: categorical, ...})
    instead (GH38845)

  * Deprecated behavior of DataFrame constructor when a dtype is passed and the
    data cannot be cast to that dtype. In a future version, this will raise
    instead of being silently ignored (GH24435)

  * Deprecated the Timestamp.freq attribute. For the properties that use it (
    is_month_start, is_month_end, is_quarter_start, is_quarter_end,
    is_year_start, is_year_end), when you have a freq, use e.g.
    freq.is_month_start(ts) (GH15146)

  * Deprecated construction of Series or DataFrame with DatetimeTZDtype data
    and datetime64[ns] dtype. Use Series(data).dt.tz_localize(None) instead (
    GH41555, GH33401)

  * Deprecated behavior of Series construction with large-integer values and
    small-integer dtype silently overflowing; use Series(data).astype(dtype)
    instead (GH41734)

  * Deprecated behavior of DataFrame construction with floating data and
    integer dtype casting even when lossy; in a future version this will remain
    floating, matching Series behavior (GH41770)

  * Deprecated inference of timedelta64[ns], datetime64[ns], or DatetimeTZDtype
    dtypes in Series construction when data containing strings is passed and no
    dtype is passed (GH33558)

  * In a future version, constructing Series or DataFrame with datetime64[ns]
    data and DatetimeTZDtype will treat the data as wall-times instead of as
    UTC times (matching DatetimeIndex behavior). To treat the data as UTC
    times, use pd.Series(data).dt.tz_localize("UTC").dt.tz_convert(dtype.tz) or
    pd.Series(data.view("int64"), dtype=dtype) (GH33401)

  * Deprecated passing lists as key to DataFrame.xs() and Series.xs() (GH41760)

  * Deprecated boolean arguments of inclusive in Series.between() to have
    {"left", "right", "neither", "both"} as standard argument values (GH40628)

  * Deprecated passing arguments as positional for all of the following, with
    exceptions noted (GH41485):

      + concat() (other than objs)

      + read_csv() (other than filepath_or_buffer)

      + read_table() (other than filepath_or_buffer)

      + DataFrame.clip() and Series.clip() (other than upper and lower)

      + DataFrame.drop_duplicates() (except for subset), Series.drop_duplicates
        (), Index.drop_duplicates() and MultiIndex.drop_duplicates()

      + DataFrame.drop() (other than labels) and Series.drop()

      + DataFrame.dropna() and Series.dropna()

      + DataFrame.ffill(), Series.ffill(), DataFrame.bfill(), and Series.bfill
        ()

      + DataFrame.fillna() and Series.fillna() (apart from value)

      + DataFrame.interpolate() and Series.interpolate() (other than method)

      + DataFrame.mask() and Series.mask() (other than cond and other)

      + DataFrame.reset_index() (other than level) and Series.reset_index()

      + DataFrame.set_axis() and Series.set_axis() (other than labels)

      + DataFrame.set_index() (other than keys)

      + DataFrame.sort_index() and Series.sort_index()

      + DataFrame.sort_values() (other than by) and Series.sort_values()

      + DataFrame.where() and Series.where() (other than cond and other)

      + Index.set_names() and MultiIndex.set_names() (except for names)

      + MultiIndex.codes() (except for codes)

      + MultiIndex.set_levels() (except for levels)

      + Resampler.interpolate() (other than method)

-------------------------------------------------------------------------------

Performance improvements

  * Performance improvement in IntervalIndex.isin() (GH38353)

  * Performance improvement in Series.mean() for nullable data types (GH34814)

  * Performance improvement in Series.isin() for nullable data types (GH38340)

  * Performance improvement in DataFrame.fillna() with method="pad" or method=
    "backfill" for nullable floating and nullable integer dtypes (GH39953)

  * Performance improvement in DataFrame.corr() for method=kendall (GH28329)

  * Performance improvement in DataFrame.corr() for method=spearman (GH40956,
    GH41885)

  * Performance improvement in Rolling.corr() and Rolling.cov() (GH39388)

  * Performance improvement in RollingGroupby.corr(), ExpandingGroupby.corr(),
    ExpandingGroupby.corr() and ExpandingGroupby.cov() (GH39591)

  * Performance improvement in unique() for object data type (GH37615)

  * Performance improvement in json_normalize() for basic cases (including
    separators) (GH40035 GH15621)

  * Performance improvement in ExpandingGroupby aggregation methods (GH39664)

  * Performance improvement in Styler where render times are more than 50%
    reduced and now matches DataFrame.to_html() (GH39972 GH39952, GH40425)

  * The method Styler.set_td_classes() is now as performant as Styler.apply()
    and Styler.applymap(), and even more so in some cases (GH40453)

  * Performance improvement in ExponentialMovingWindow.mean() with times (
    GH39784)

  * Performance improvement in GroupBy.apply() when requiring the Python
    fallback implementation (GH40176)

  * Performance improvement in the conversion of a PyArrow Boolean array to a
    pandas nullable Boolean array (GH41051)

  * Performance improvement for concatenation of data with type
    CategoricalDtype (GH40193)

  * Performance improvement in GroupBy.cummin() and GroupBy.cummax() with
    nullable data types (GH37493)

  * Performance improvement in Series.nunique() with nan values (GH40865)

  * Performance improvement in DataFrame.transpose(), Series.unstack() with
    DatetimeTZDtype (GH40149)

  * Performance improvement in Series.plot() and DataFrame.plot() with entry
    point lazy loading (GH41492)

-------------------------------------------------------------------------------

Bug fixes

-------------------------------------------------------------------------------

Categorical

  * Bug in CategoricalIndex incorrectly failing to raise TypeError when scalar
    data is passed (GH38614)

  * Bug in CategoricalIndex.reindex failed when the Index passed was not
    categorical but whose values were all labels in the category (GH28690)

  * Bug where constructing a Categorical from an object-dtype array of date
    objects did not round-trip correctly with astype (GH38552)

  * Bug in constructing a DataFrame from an ndarray and a CategoricalDtype (
    GH38857)

  * Bug in setting categorical values into an object-dtype column in a
    DataFrame (GH39136)

  * Bug in DataFrame.reindex() was raising an IndexError when the new index
    contained duplicates and the old index was a CategoricalIndex (GH38906)

  * Bug in Categorical.fillna() with a tuple-like category raising
    NotImplementedError instead of ValueError when filling with a non-category
    tuple (GH41914)

-------------------------------------------------------------------------------

Datetimelike

  * Bug in DataFrame and Series constructors sometimes dropping nanoseconds
    from Timestamp (resp. Timedelta) data, with dtype=datetime64[ns] (resp.
    timedelta64[ns]) (GH38032)

  * Bug in DataFrame.first() and Series.first() with an offset of one month
    returning an incorrect result when the first day is the last day of a month
    (GH29623)

  * Bug in constructing a DataFrame or Series with mismatched datetime64 data
    and timedelta64 dtype, or vice-versa, failing to raise a TypeError (GH38575
    , GH38764, GH38792)

  * Bug in constructing a Series or DataFrame with a datetime object out of
    bounds for datetime64[ns] dtype or a timedelta object out of bounds for
    timedelta64[ns] dtype (GH38792, GH38965)

  * Bug in DatetimeIndex.intersection(), DatetimeIndex.symmetric_difference(),
    PeriodIndex.intersection(), PeriodIndex.symmetric_difference() always
    returning object-dtype when operating with CategoricalIndex (GH38741)

  * Bug in DatetimeIndex.intersection() giving incorrect results with non-Tick
    frequencies with n != 1 (GH42104)

  * Bug in Series.where() incorrectly casting datetime64 values to int64 (
    GH37682)

  * Bug in Categorical incorrectly typecasting datetime object to Timestamp (
    GH38878)

  * Bug in comparisons between Timestamp object and datetime64 objects just
    outside the implementation bounds for nanosecond datetime64 (GH39221)

  * Bug in Timestamp.round(), Timestamp.floor(), Timestamp.ceil() for values
    near the implementation bounds of Timestamp (GH39244)

  * Bug in Timedelta.round(), Timedelta.floor(), Timedelta.ceil() for values
    near the implementation bounds of Timedelta (GH38964)

  * Bug in date_range() incorrectly creating DatetimeIndex containing NaT
    instead of raising OutOfBoundsDatetime in corner cases (GH24124)

  * Bug in infer_freq() incorrectly fails to infer 'H' frequency of
    DatetimeIndex if the latter has a timezone and crosses DST boundaries (
    GH39556)

  * Bug in Series backed by DatetimeArray or TimedeltaArray sometimes failing
    to set the array's freq to None (GH41425)

-------------------------------------------------------------------------------

Timedelta

  * Bug in constructing Timedelta from np.timedelta64 objects with
    non-nanosecond units that are out of bounds for timedelta64[ns] (GH38965)

  * Bug in constructing a TimedeltaIndex incorrectly accepting np.datetime64
    ("NaT") objects (GH39462)

  * Bug in constructing Timedelta from an input string with only symbols and no
    digits failed to raise an error (GH39710)

  * Bug in TimedeltaIndex and to_timedelta() failing to raise when passed
    non-nanosecond timedelta64 arrays that overflow when converting to
    timedelta64[ns] (GH40008)

-------------------------------------------------------------------------------

Timezones

  * Bug in different tzinfo objects representing UTC not being treated as
    equivalent (GH39216)

  * Bug in dateutil.tz.gettz("UTC") not being recognized as equivalent to other
    UTC-representing tzinfos (GH39276)

-------------------------------------------------------------------------------

Numeric

  * Bug in DataFrame.quantile(), DataFrame.sort_values() causing incorrect
    subsequent indexing behavior (GH38351)

  * Bug in DataFrame.sort_values() raising an IndexError for empty by (GH40258)

  * Bug in DataFrame.select_dtypes() with include=np.number would drop numeric
    ExtensionDtype columns (GH35340)

  * Bug in DataFrame.mode() and Series.mode() not keeping consistent integer
    Index for empty input (GH33321)

  * Bug in DataFrame.rank() when the DataFrame contained np.inf (GH32593)

  * Bug in DataFrame.rank() with axis=0 and columns holding incomparable types
    raising an IndexError (GH38932)

  * Bug in Series.rank(), DataFrame.rank(), and GroupBy.rank() treating the
    most negative int64 value as missing (GH32859)

  * Bug in DataFrame.select_dtypes() different behavior between Windows and
    Linux with include="int" (GH36596)

  * Bug in DataFrame.apply() and DataFrame.agg() when passed the argument func=
    "size" would operate on the entire DataFrame instead of rows or columns (
    GH39934)

  * Bug in DataFrame.transform() would raise a SpecificationError when passed a
    dictionary and columns were missing; will now raise a KeyError instead (
    GH40004)

  * Bug in GroupBy.rank() giving incorrect results with pct=True and equal
    values between consecutive groups (GH40518)

  * Bug in Series.count() would result in an int32 result on 32-bit platforms
    when argument level=None (GH40908)

  * Bug in Series and DataFrame reductions with methods any and all not
    returning Boolean results for object data (GH12863, GH35450, GH27709)

  * Bug in Series.clip() would fail if the Series contains NA values and has
    nullable int or float as a data type (GH40851)

  * Bug in UInt64Index.where() and UInt64Index.putmask() with an np.int64 dtype
    other incorrectly raising TypeError (GH41974)

  * Bug in DataFrame.agg() not sorting the aggregated axis in the order of the
    provided aggregation functions when one or more aggregation function fails
    to produce results (GH33634)

  * Bug in DataFrame.clip() not interpreting missing values as no threshold (
    GH40420)

-------------------------------------------------------------------------------

Conversion

  * Bug in Series.to_dict() with orient='records' now returns Python native
    types (GH25969)

  * Bug in Series.view() and Index.view() when converting between datetime-like
    (datetime64[ns], datetime64[ns, tz], timedelta64, period) dtypes (GH39788)

  * Bug in creating a DataFrame from an empty np.recarray not retaining the
    original dtypes (GH40121)

  * Bug in DataFrame failing to raise a TypeError when constructing from a
    frozenset (GH40163)

  * Bug in Index construction silently ignoring a passed dtype when the data
    cannot be cast to that dtype (GH21311)

  * Bug in StringArray.astype() falling back to NumPy and raising when
    converting to dtype='categorical' (GH40450)

  * Bug in factorize() where, when given an array with a numeric NumPy dtype
    lower than int64, uint64 and float64, the unique values did not keep their
    original dtype (GH41132)

  * Bug in DataFrame construction with a dictionary containing an array-like
    with ExtensionDtype and copy=True failing to make a copy (GH38939)

  * Bug in qcut() raising error when taking Float64DType as input (GH40730)

  * Bug in DataFrame and Series construction with datetime64[ns] data and dtype
    =object resulting in datetime objects instead of Timestamp objects (GH41599
    )

  * Bug in DataFrame and Series construction with timedelta64[ns] data and
    dtype=object resulting in np.timedelta64 objects instead of Timedelta
    objects (GH41599)

  * Bug in DataFrame construction when given a two-dimensional object-dtype
    np.ndarray of Period or Interval objects failing to cast to PeriodDtype or
    IntervalDtype, respectively (GH41812)

  * Bug in constructing a Series from a list and a PandasDtype (GH39357)

  * Bug in creating a Series from a range object that does not fit in the
    bounds of int64 dtype (GH30173)

  * Bug in creating a Series from a dict with all-tuple keys and an Index that
    requires reindexing (GH41707)

  * Bug in infer_dtype() not recognizing Series, Index, or array with a Period
    dtype (GH23553)

  * Bug in infer_dtype() raising an error for general ExtensionArray objects.
    It will now return "unknown-array" instead of raising (GH37367)

  * Bug in DataFrame.convert_dtypes() incorrectly raised a ValueError when
    called on an empty DataFrame (GH40393)

-------------------------------------------------------------------------------

Strings

  * Bug in the conversion from pyarrow.ChunkedArray to StringArray when the
    original had zero chunks (GH41040)

  * Bug in Series.replace() and DataFrame.replace() ignoring replacements with
    regex=True for StringDType data (GH41333, GH35977)

  * Bug in Series.str.extract() with StringArray returning object dtype for an
    empty DataFrame (GH41441)

  * Bug in Series.str.replace() where the case argument was ignored when regex=
    False (GH41602)

-------------------------------------------------------------------------------

Interval

  * Bug in IntervalIndex.intersection() and IntervalIndex.symmetric_difference
    () always returning object-dtype when operating with CategoricalIndex (
    GH38653, GH38741)

  * Bug in IntervalIndex.intersection() returning duplicates when at least one
    of the Index objects have duplicates which are present in the other (
    GH38743)

  * IntervalIndex.union(), IntervalIndex.intersection(),
    IntervalIndex.difference(), and IntervalIndex.symmetric_difference() now
    cast to the appropriate dtype instead of raising a TypeError when operating
    with another IntervalIndex with incompatible dtype (GH39267)

  * PeriodIndex.union(), PeriodIndex.intersection(),
    PeriodIndex.symmetric_difference(), PeriodIndex.difference() now cast to
    object dtype instead of raising IncompatibleFrequency when operating with
    another PeriodIndex with incompatible dtype (GH39306)

  * Bug in IntervalIndex.is_monotonic(), IntervalIndex.get_loc(),
    IntervalIndex.get_indexer_for(), and IntervalIndex.__contains__() when NA
    values are present (GH41831)

-------------------------------------------------------------------------------

Indexing

  * Bug in Index.union() and MultiIndex.union() dropping duplicate Index values
    when Index was not monotonic or sort was set to False (GH36289, GH31326,
    GH40862)

  * Bug in CategoricalIndex.get_indexer() failing to raise InvalidIndexError
    when non-unique (GH38372)

  * Bug in IntervalIndex.get_indexer() when target has CategoricalDtype and
    both the index and the target contain NA values (GH41934)

  * Bug in Series.loc() raising a ValueError when input was filtered with a
    Boolean list and values to set were a list with lower dimension (GH20438)

  * Bug in inserting many new columns into a DataFrame causing incorrect
    subsequent indexing behavior (GH38380)

  * Bug in DataFrame.__setitem__() raising a ValueError when setting multiple
    values to duplicate columns (GH15695)

  * Bug in DataFrame.loc(), Series.loc(), DataFrame.__getitem__() and
    Series.__getitem__() returning incorrect elements for non-monotonic
    DatetimeIndex for string slices (GH33146)

  * Bug in DataFrame.reindex() and Series.reindex() with timezone aware indexes
    raising a TypeError for method="ffill" and method="bfill" and specified
    tolerance (GH38566)

  * Bug in DataFrame.reindex() with datetime64[ns] or timedelta64[ns]
    incorrectly casting to integers when the fill_value requires casting to
    object dtype (GH39755)

  * Bug in DataFrame.__setitem__() raising a ValueError when setting on an
    empty DataFrame using specified columns and a nonempty DataFrame value (
    GH38831)

  * Bug in DataFrame.loc.__setitem__() raising a ValueError when operating on a
    unique column when the DataFrame has duplicate columns (GH38521)

  * Bug in DataFrame.iloc.__setitem__() and DataFrame.loc.__setitem__() with
    mixed dtypes when setting with a dictionary value (GH38335)

  * Bug in Series.loc.__setitem__() and DataFrame.loc.__setitem__() raising
    KeyError when provided a Boolean generator (GH39614)

  * Bug in Series.iloc() and DataFrame.iloc() raising a KeyError when provided
    a generator (GH39614)

  * Bug in DataFrame.__setitem__() not raising a ValueError when the right hand
    side is a DataFrame with wrong number of columns (GH38604)

  * Bug in Series.__setitem__() raising a ValueError when setting a Series with
    a scalar indexer (GH38303)

  * Bug in DataFrame.loc() dropping levels of a MultiIndex when the DataFrame
    used as input has only one row (GH10521)

  * Bug in DataFrame.__getitem__() and Series.__getitem__() always raising
    KeyError when slicing with existing strings where the Index has
    milliseconds (GH33589)

  * Bug in setting timedelta64 or datetime64 values into numeric Series failing
    to cast to object dtype (GH39086, GH39619)

  * Bug in setting Interval values into a Series or DataFrame with mismatched
    IntervalDtype incorrectly casting the new values to the existing dtype (
    GH39120)

  * Bug in setting datetime64 values into a Series with integer-dtype
    incorrectly casting the datetime64 values to integers (GH39266)

  * Bug in setting np.datetime64("NaT") into a Series with Datetime64TZDtype
    incorrectly treating the timezone-naive value as timezone-aware (GH39769)

  * Bug in Index.get_loc() not raising KeyError when key=NaN and method is
    specified but NaN is not in the Index (GH39382)

  * Bug in DatetimeIndex.insert() when inserting np.datetime64("NaT") into a
    timezone-aware index incorrectly treating the timezone-naive value as
    timezone-aware (GH39769)

  * Bug in incorrectly raising in Index.insert(), when setting a new column
    that cannot be held in the existing frame.columns, or in Series.reset_index
    () or DataFrame.reset_index() instead of casting to a compatible dtype (
    GH39068)

  * Bug in RangeIndex.append() where a single object of length 1 was
    concatenated incorrectly (GH39401)

  * Bug in RangeIndex.astype() where when converting to CategoricalIndex, the
    categories became a Int64Index instead of a RangeIndex (GH41263)

  * Bug in setting numpy.timedelta64 values into an object-dtype Series using a
    Boolean indexer (GH39488)

  * Bug in setting numeric values into a into a boolean-dtypes Series using at
    or iat failing to cast to object-dtype (GH39582)

  * Bug in DataFrame.__setitem__() and DataFrame.iloc.__setitem__() raising
    ValueError when trying to index with a row-slice and setting a list as
    values (GH40440)

  * Bug in DataFrame.loc() not raising KeyError when the key was not found in
    MultiIndex and the levels were not fully specified (GH41170)

  * Bug in DataFrame.loc.__setitem__() when setting-with-expansion incorrectly
    raising when the index in the expanding axis contained duplicates (GH40096)

  * Bug in DataFrame.loc.__getitem__() with MultiIndex casting to float when at
    least one index column has float dtype and we retrieve a scalar (GH41369)

  * Bug in DataFrame.loc() incorrectly matching non-Boolean index elements (
    GH20432)

  * Bug in indexing with np.nan on a Series or DataFrame with a
    CategoricalIndex incorrectly raising KeyError when np.nan keys are present
    (GH41933)

  * Bug in Series.__delitem__() with ExtensionDtype incorrectly casting to
    ndarray (GH40386)

  * Bug in DataFrame.at() with a CategoricalIndex returning incorrect results
    when passed integer keys (GH41846)

  * Bug in DataFrame.loc() returning a MultiIndex in the wrong order if an
    indexer has duplicates (GH40978)

  * Bug in DataFrame.__setitem__() raising a TypeError when using a str
    subclass as the column name with a DatetimeIndex (GH37366)

  * Bug in PeriodIndex.get_loc() failing to raise a KeyError when given a
    Period with a mismatched freq (GH41670)

  * Bug .loc.__getitem__ with a UInt64Index and negative-integer keys raising
    OverflowError instead of KeyError in some cases, wrapping around to
    positive integers in others (GH41777)

  * Bug in Index.get_indexer() failing to raise ValueError in some cases with
    invalid method, limit, or tolerance arguments (GH41918)

  * Bug when slicing a Series or DataFrame with a TimedeltaIndex when passing
    an invalid string raising ValueError instead of a TypeError (GH41821)

  * Bug in Index constructor sometimes silently ignoring a specified dtype (
    GH38879)

  * Index.where() behavior now mirrors Index.putmask() behavior, i.e.
    index.where(mask, other) matches index.putmask(~mask, other) (GH39412)

-------------------------------------------------------------------------------

Missing

  * Bug in Grouper did not correctly propagate the dropna argument;
    DataFrameGroupBy.transform() now correctly handles missing values for
    dropna=True (GH35612)

  * Bug in isna(), Series.isna(), Index.isna(), DataFrame.isna(), and the
    corresponding notna functions not recognizing Decimal("NaN") objects (
    GH39409)

  * Bug in DataFrame.fillna() not accepting a dictionary for the downcast
    keyword (GH40809)

  * Bug in isna() not returning a copy of the mask for nullable types, causing
    any subsequent mask modification to change the original array (GH40935)

  * Bug in DataFrame construction with float data containing NaN and an integer
    dtype casting instead of retaining the NaN (GH26919)

  * Bug in Series.isin() and MultiIndex.isin() didn't treat all nans as
    equivalent if they were in tuples (GH41836)

-------------------------------------------------------------------------------

MultiIndex

  * Bug in DataFrame.drop() raising a TypeError when the MultiIndex is
    non-unique and level is not provided (GH36293)

  * Bug in MultiIndex.intersection() duplicating NaN in the result (GH38623)

  * Bug in MultiIndex.equals() incorrectly returning True when the MultiIndex
    contained NaN even when they are differently ordered (GH38439)

  * Bug in MultiIndex.intersection() always returning an empty result when
    intersecting with CategoricalIndex (GH38653)

  * Bug in MultiIndex.difference() incorrectly raising TypeError when indexes
    contain non-sortable entries (GH41915)

  * Bug in MultiIndex.reindex() raising a ValueError when used on an empty
    MultiIndex and indexing only a specific level (GH41170)

  * Bug in MultiIndex.reindex() raising TypeError when reindexing against a
    flat Index (GH41707)

-------------------------------------------------------------------------------

I/O

  * Bug in Index.__repr__() when display.max_seq_items=1 (GH38415)

  * Bug in read_csv() not recognizing scientific notation if the argument
    decimal is set and engine="python" (GH31920)

  * Bug in read_csv() interpreting NA value as comment, when NA does contain
    the comment string fixed for engine="python" (GH34002)

  * Bug in read_csv() raising an IndexError with multiple header columns and
    index_col is specified when the file has no data rows (GH38292)

  * Bug in read_csv() not accepting usecols with a different length than names
    for engine="python" (GH16469)

  * Bug in read_csv() returning object dtype when delimiter="," with usecols
    and parse_dates specified for engine="python" (GH35873)

  * Bug in read_csv() raising a TypeError when names and parse_dates is
    specified for engine="c" (GH33699)

  * Bug in read_clipboard() and DataFrame.to_clipboard() not working in WSL (
    GH38527)

  * Allow custom error values for the parse_dates argument of read_sql(),
    read_sql_query() and read_sql_table() (GH35185)

  * Bug in DataFrame.to_hdf() and Series.to_hdf() raising a KeyError when
    trying to apply for subclasses of DataFrame or Series (GH33748)

  * Bug in HDFStore.put() raising a wrong TypeError when saving a DataFrame
    with non-string dtype (GH34274)

  * Bug in json_normalize() resulting in the first element of a generator
    object not being included in the returned DataFrame (GH35923)

  * Bug in read_csv() applying the thousands separator to date columns when the
    column should be parsed for dates and usecols is specified for engine=
    "python" (GH39365)

  * Bug in read_excel() forward filling MultiIndex names when multiple header
    and index columns are specified (GH34673)

  * Bug in read_excel() not respecting set_option() (GH34252)

  * Bug in read_csv() not switching true_values and false_values for nullable
    Boolean dtype (GH34655)

  * Bug in read_json() when orient="split" not maintaining a numeric string
    index (GH28556)

  * read_sql() returned an empty generator if chunksize was non-zero and the
    query returned no results. Now returns a generator with a single empty
    DataFrame (GH34411)

  * Bug in read_hdf() returning unexpected records when filtering on
    categorical string columns using the where parameter (GH39189)

  * Bug in read_sas() raising a ValueError when datetimes were null (GH39725)

  * Bug in read_excel() dropping empty values from single-column spreadsheets (
    GH39808)

  * Bug in read_excel() loading trailing empty rows/columns for some filetypes
    (GH41167)

  * Bug in read_excel() raising an AttributeError when the excel file had a
    MultiIndex header followed by two empty rows and no index (GH40442)

  * Bug in read_excel(), read_csv(), read_table(), read_fwf(), and
    read_clipboard() where one blank row after a MultiIndex header with no
    index would be dropped (GH40442)

  * Bug in DataFrame.to_string() misplacing the truncation column when index=
    False (GH40904)

  * Bug in DataFrame.to_string() adding an extra dot and misaligning the
    truncation row when index=False (GH40904)

  * Bug in read_orc() always raising an AttributeError (GH40918)

  * Bug in read_csv() and read_table() silently ignoring prefix if names and
    prefix are defined, now raising a ValueError (GH39123)

  * Bug in read_csv() and read_excel() not respecting the dtype for a
    duplicated column name when mangle_dupe_cols is set to True (GH35211)

  * Bug in read_csv() silently ignoring sep if delimiter and sep are defined,
    now raising a ValueError (GH39823)

  * Bug in read_csv() and read_table() misinterpreting arguments when
    sys.setprofile had been previously called (GH41069)

  * Bug in the conversion from PyArrow to pandas (e.g. for reading Parquet)
    with nullable dtypes and a PyArrow array whose data buffer size is not a
    multiple of the dtype size (GH40896)

  * Bug in read_excel() would raise an error when pandas could not determine
    the file type even though the user specified the engine argument (GH41225)

  * Bug in read_clipboard() copying from an excel file shifts values into the
    wrong column if there are null values in first column (GH41108)

  * Bug in DataFrame.to_hdf() and Series.to_hdf() raising a TypeError when
    trying to append a string column to an incompatible column (GH41897)

-------------------------------------------------------------------------------

Period

  * Comparisons of Period objects or Index, Series, or DataFrame with
    mismatched PeriodDtype now behave like other mismatched-type comparisons,
    returning False for equals, True for not-equal, and raising TypeError for
    inequality checks (GH39274)

-------------------------------------------------------------------------------

Plotting

  * Bug in plotting.scatter_matrix() raising when 2d ax argument passed (
    GH16253)

  * Prevent warnings when Matplotlib's constrained_layout is enabled (GH25261)

  * Bug in DataFrame.plot() was showing the wrong colors in the legend if the
    function was called repeatedly and some calls used yerr while others didn
    t (GH39522)

  * Bug in DataFrame.plot() was showing the wrong colors in the legend if the
    function was called repeatedly and some calls used secondary_y and others
    use legend=False (GH40044)

  * Bug in DataFrame.plot.box() when dark_background theme was selected, caps
    or min/max markers for the plot were not visible (GH40769)

-------------------------------------------------------------------------------

Groupby/resample/rolling

  * Bug in GroupBy.agg() with PeriodDtype columns incorrectly casting results
    too aggressively (GH38254)

  * Bug in SeriesGroupBy.value_counts() where unobserved categories in a
    grouped categorical Series were not tallied (GH38672)

  * Bug in SeriesGroupBy.value_counts() where an error was raised on an empty
    Series (GH39172)

  * Bug in GroupBy.indices() would contain non-existent indices when null
    values were present in the groupby keys (GH9304)

  * Fixed bug in GroupBy.sum() causing a loss of precision by now using Kahan
    summation (GH38778)

  * Fixed bug in GroupBy.cumsum() and GroupBy.mean() causing loss of precision
    through using Kahan summation (GH38934)

  * Bug in Resampler.aggregate() and DataFrame.transform() raising a TypeError
    instead of SpecificationError when missing keys had mixed dtypes (GH39025)

  * Bug in DataFrameGroupBy.idxmin() and DataFrameGroupBy.idxmax() with
    ExtensionDtype columns (GH38733)

  * Bug in Series.resample() would raise when the index was a PeriodIndex
    consisting of NaT (GH39227)

  * Bug in RollingGroupby.corr() and ExpandingGroupby.corr() where the groupby
    column would return 0 instead of np.nan when providing other that was
    longer than each group (GH39591)

  * Bug in ExpandingGroupby.corr() and ExpandingGroupby.cov() where 1 would be
    returned instead of np.nan when providing other that was longer than each
    group (GH39591)

  * Bug in GroupBy.mean(), GroupBy.median() and DataFrame.pivot_table() not
    propagating metadata (GH28283)

  * Bug in Series.rolling() and DataFrame.rolling() not calculating window
    bounds correctly when window is an offset and dates are in descending order
    (GH40002)

  * Bug in Series.groupby() and DataFrame.groupby() on an empty Series or
    DataFrame would lose index, columns, and/or data types when directly using
    the methods idxmax, idxmin, mad, min, max, sum, prod, and skew or using
    them through apply, aggregate, or resample (GH26411)

  * Bug in GroupBy.apply() where a MultiIndex would be created instead of an
    Index when used on a RollingGroupby object (GH39732)

  * Bug in DataFrameGroupBy.sample() where an error was raised when weights was
    specified and the index was an Int64Index (GH39927)

  * Bug in DataFrameGroupBy.aggregate() and Resampler.aggregate() would
    sometimes raise a SpecificationError when passed a dictionary and columns
    were missing; will now always raise a KeyError instead (GH40004)

  * Bug in DataFrameGroupBy.sample() where column selection was not applied
    before computing the result (GH39928)

  * Bug in ExponentialMovingWindow when calling __getitem__ would incorrectly
    raise a ValueError when providing times (GH40164)

  * Bug in ExponentialMovingWindow when calling __getitem__ would not retain
    com, span, alpha or halflife attributes (GH40164)

  * ExponentialMovingWindow now raises a NotImplementedError when specifying
    times with adjust=False due to an incorrect calculation (GH40098)

  * Bug in ExponentialMovingWindowGroupby.mean() where the times argument was
    ignored when engine='numba' (GH40951)

  * Bug in ExponentialMovingWindowGroupby.mean() where the wrong times were
    used the in case of multiple groups (GH40951)

  * Bug in ExponentialMovingWindowGroupby where the times vector and values
    became out of sync for non-trivial groups (GH40951)

  * Bug in Series.asfreq() and DataFrame.asfreq() dropping rows when the index
    was not sorted (GH39805)

  * Bug in aggregation functions for DataFrame not respecting numeric_only
    argument when level keyword was given (GH40660)

  * Bug in SeriesGroupBy.aggregate() where using a user-defined function to
    aggregate a Series with an object-typed Index causes an incorrect Index
    shape (GH40014)

  * Bug in RollingGroupby where as_index=False argument in groupby was ignored
    (GH39433)

  * Bug in GroupBy.any() and GroupBy.all() raising a ValueError when using with
    nullable type columns holding NA even with skipna=True (GH40585)

  * Bug in GroupBy.cummin() and GroupBy.cummax() incorrectly rounding integer
    values near the int64 implementations bounds (GH40767)

  * Bug in GroupBy.rank() with nullable dtypes incorrectly raising a TypeError
    (GH41010)

  * Bug in GroupBy.cummin() and GroupBy.cummax() computing wrong result with
    nullable data types too large to roundtrip when casting to float (GH37493)

  * Bug in DataFrame.rolling() returning mean zero for all NaN window with
    min_periods=0 if calculation is not numerical stable (GH41053)

  * Bug in DataFrame.rolling() returning sum not zero for all NaN window with
    min_periods=0 if calculation is not numerical stable (GH41053)

  * Bug in SeriesGroupBy.agg() failing to retain ordered CategoricalDtype on
    order-preserving aggregations (GH41147)

  * Bug in GroupBy.min() and GroupBy.max() with multiple object-dtype columns
    and numeric_only=False incorrectly raising a ValueError (GH41111)

  * Bug in DataFrameGroupBy.rank() with the GroupBy object's axis=0 and the
    rank method's keyword axis=1 (GH41320)

  * Bug in DataFrameGroupBy.__getitem__() with non-unique columns incorrectly
    returning a malformed SeriesGroupBy instead of DataFrameGroupBy (GH41427)

  * Bug in DataFrameGroupBy.transform() with non-unique columns incorrectly
    raising an AttributeError (GH41427)

  * Bug in Resampler.apply() with non-unique columns incorrectly dropping
    duplicated columns (GH41445)

  * Bug in Series.groupby() aggregations incorrectly returning empty Series
    instead of raising TypeError on aggregations that are invalid for its
    dtype, e.g. .prod with datetime64[ns] dtype (GH41342)

  * Bug in DataFrameGroupBy aggregations incorrectly failing to drop columns
    with invalid dtypes for that aggregation when there are no valid columns (
    GH41291)

  * Bug in DataFrame.rolling.__iter__() where on was not assigned to the index
    of the resulting objects (GH40373)

  * Bug in DataFrameGroupBy.transform() and DataFrameGroupBy.agg() with engine=
    "numba" where *args were being cached with the user passed function (
    GH41647)

  * Bug in DataFrameGroupBy methods agg, transform, sum, bfill, ffill, pad,
    pct_change, shift, ohlc dropping .columns.names (GH41497)

-------------------------------------------------------------------------------

Reshaping

  * Bug in merge() raising error when performing an inner join with partial
    index and right_index=True when there was no overlap between indices (
    GH33814)

  * Bug in DataFrame.unstack() with missing levels led to incorrect index names
    (GH37510)

  * Bug in merge_asof() propagating the right Index with left_index=True and
    right_on specification instead of left Index (GH33463)

  * Bug in DataFrame.join() on a DataFrame with a MultiIndex returned the wrong
    result when one of both indexes had only one level (GH36909)

  * merge_asof() now raises a ValueError instead of a cryptic TypeError in case
    of non-numerical merge columns (GH29130)

  * Bug in DataFrame.join() not assigning values correctly when the DataFrame
    had a MultiIndex where at least one dimension had dtype Categorical with
    non-alphabetically sorted categories (GH38502)

  * Series.value_counts() and Series.mode() now return consistent keys in
    original order (GH12679, GH11227 and GH39007)

  * Bug in DataFrame.stack() not handling NaN in MultiIndex columns correctly (
    GH39481)

  * Bug in DataFrame.apply() would give incorrect results when the argument
    func was a string, axis=1, and the axis argument was not supported; now
    raises a ValueError instead (GH39211)

  * Bug in DataFrame.sort_values() not reshaping the index correctly after
    sorting on columns when ignore_index=True (GH39464)

  * Bug in DataFrame.append() returning incorrect dtypes with combinations of
    ExtensionDtype dtypes (GH39454)

  * Bug in DataFrame.append() returning incorrect dtypes when used with
    combinations of datetime64 and timedelta64 dtypes (GH39574)

  * Bug in DataFrame.append() with a DataFrame with a MultiIndex and appending
    a Series whose Index is not a MultiIndex (GH41707)

  * Bug in DataFrame.pivot_table() returning a MultiIndex for a single value
    when operating on an empty DataFrame (GH13483)

  * Index can now be passed to the numpy.all() function (GH40180)

  * Bug in DataFrame.stack() not preserving CategoricalDtype in a MultiIndex (
    GH36991)

  * Bug in to_datetime() raising an error when the input sequence contained
    unhashable items (GH39756)

  * Bug in Series.explode() preserving the index when ignore_index was True and
    values were scalars (GH40487)

  * Bug in to_datetime() raising a ValueError when Series contains None and NaT
    and has more than 50 elements (GH39882)

  * Bug in Series.unstack() and DataFrame.unstack() with object-dtype values
    containing timezone-aware datetime objects incorrectly raising TypeError (
    GH41875)

  * Bug in DataFrame.melt() raising InvalidIndexError when DataFrame has
    duplicate columns used as value_vars (GH41951)

-------------------------------------------------------------------------------

Sparse

  * Bug in DataFrame.sparse.to_coo() raising a KeyError with columns that are a
    numeric Index without a 0 (GH18414)

  * Bug in SparseArray.astype() with copy=False producing incorrect results
    when going from integer dtype to floating dtype (GH34456)

  * Bug in SparseArray.max() and SparseArray.min() would always return an empty
    result (GH40921)

-------------------------------------------------------------------------------

ExtensionArray

  * Bug in DataFrame.where() when other is a Series with an ExtensionDtype (
    GH38729)

  * Fixed bug where Series.idxmax(), Series.idxmin(), Series.argmax(), and
    Series.argmin() would fail when the underlying data is an ExtensionArray (
    GH32749, GH33719, GH36566)

  * Fixed bug where some properties of subclasses of PandasExtensionDtype where
    improperly cached (GH40329)

  * Bug in DataFrame.mask() where masking a DataFrame with an ExtensionDtype
    raises a ValueError (GH40941)

-------------------------------------------------------------------------------

Styler

  * Bug in Styler where the subset argument in methods raised an error for some
    valid MultiIndex slices (GH33562)

  * Styler rendered HTML output has seen minor alterations to support w3 good
    code standards (GH39626)

  * Bug in Styler where rendered HTML was missing a column class identifier for
    certain header cells (GH39716)

  * Bug in Styler.background_gradient() where text-color was not determined
    correctly (GH39888)

  * Bug in Styler.set_table_styles() where multiple elements in CSS-selectors
    of the table_styles argument were not correctly added (GH34061)

  * Bug in Styler where copying from Jupyter dropped the top left cell and
    misaligned headers (GH12147)

  * Bug in Styler.where where kwargs were not passed to the applicable callable
    (GH40845)

  * Bug in Styler causing CSS to duplicate on multiple renders (GH39395,
    GH40334)

-------------------------------------------------------------------------------

Other

  * inspect.getmembers(Series) no longer raises an AbstractMethodError (GH38782
    )

  * Bug in Series.where() with numeric dtype and other=None not casting to nan
    (GH39761)

  * Bug in assert_series_equal(), assert_frame_equal(), assert_index_equal()
    and assert_extension_array_equal() incorrectly raising when an attribute
    has an unrecognized NA type (GH39461)

  * Bug in assert_index_equal() with exact=True not raising when comparing
    CategoricalIndex instances with Int64Index and RangeIndex categories (
    GH41263)

  * Bug in DataFrame.equals(), Series.equals(), and Index.equals() with
    object-dtype containing np.datetime64("NaT") or np.timedelta64("NaT") (
    GH39650)

  * Bug in show_versions() where console JSON output was not proper JSON (
    GH39701)

  * pandas can now compile on z/OS when using xlc (GH35826)

  * Bug in pandas.util.hash_pandas_object() not recognizing hash_key, encoding
    and categorize when the input object type is a DataFrame (GH41404)

What's new in 1.2.5 (June 22, 2021)

These are the changes in pandas 1.2.5. See Release notes for a full changelog
including other versions of pandas.

-------------------------------------------------------------------------------

Fixed regressions

  * Fixed regression in concat() between two DataFrame where one has an Index
    that is all-None and the other is DatetimeIndex incorrectly raising (
    GH40841)

  * Fixed regression in DataFrame.sum() and DataFrame.prod() when min_count and
    numeric_only are both given (GH41074)

  * Fixed regression in read_csv() when using memory_map=True with an non-UTF8
    encoding (GH40986)

  * Fixed regression in DataFrame.replace() and Series.replace() when the
    values to replace is a NumPy float array (GH40371)

  * Fixed regression in ExcelFile() when a corrupt file is opened but not
    closed (GH41778)

  * Fixed regression in DataFrame.astype() with dtype=str failing to convert
    NaN in categorical columns (GH41797)

(ryoon)

2021-11-21 16:06:30 UTC MAIN commitmail json YAML

2021-11-21 15:38:31 UTC MAIN commitmail json YAML

misc/labelnation: Adjust LICENSE following upstream change

(gdt)

2021-11-21 15:11:06 UTC MAIN commitmail json YAML

doc: Updated cad/py-PyRTL to 0.10.1

(ryoon)

2021-11-21 15:10:08 UTC MAIN commitmail json YAML

py-PyRTL: Update to 0.10.1

Changelog:
0.10.1
Various fixes to import/export and visualization.

0.10
Not provided as summary.

(ryoon)

2021-11-21 14:55:53 UTC MAIN commitmail json YAML

doc: Updated databases/p5-App-Sqitch to 1.2.0

(schmonz)

2021-11-21 14:55:44 UTC MAIN commitmail json YAML

Update to 1.2.0. From the changelog:

- Fixed partitioned search for deployed changes on Oracle and Exasol to
  correctly support plans with more than 250 changes. Thanks to @Nicqu
  for the report (#521).
- DBI connections to the registry will now be set to trace level one
  when a verbosity level of three or higher is passed to Sqitch
  (i.e., `sqitch -vvv`). Thanks to @wkoszek for the suggestion (#155).
- Renamed the "master" branch to "main" and updated all relevant
  references.
- Fixed the parsing of the Snowflake account name from the target URL
  to that it no longer strips out the region and cloud platform parts.
  Also deprecated the use of the region, host, and port config and
  environment variables. This is to comply with the new account name
  format. Thanks to @ldsingh00 for the report (#544).
- The checkout command will now show a usage statement when no branch
  name is passed to it, rather than a series of warnings and a Git error.
  Thanks to Franå·½ois Beausoleil for the report (#561).
- The checkout command now works when operating on a Sqitch project in
  a subdirectory of a Git project. Thanks to Franå·½ois Beausoleil for the
  report and suggested fix (#560).
- Fixed a failing bundle test when a top directory was configured in the
  user or system configuration. Thanks to @CodingMinds for the spot
  (#587).
- Added support to the Exasol engine for the `AUTHMETHOD` query parameter
  (to allow Open ID authentication) and the `SSLCERTIFICATE=SSL_VERIFY_NONE`
  query parameter to disable SSL verification. Thanks to Torsten Glunde
  for the report (#588).
- Fixed "Use of uninitialized value $engine in concatenation" error when
  Sqitch is unable to determine the engine when writing a plan file. Only
  happens in the rare case that the core.engine value is not set.
- Improved the error message when attempting to update a plan file and no
  project pragma is present. Thanks to Laurentiu Diaconu for the report
  (#577).
- Fixed the error message when attempting to deploy a change that has
  already been deployed to display the name of the change, rather than a
  memory address. Thanks to Neil Mayhew for the report (#579).
- Added destination locking, currently implemented for PostgresQL and
  MySQL. On starting a deploy or revert, Sqitch attempts to "lock the
  destination" using advisory locks, to ensure that only one instance of
  Sqitch makes changes to the database at any one time. This complements
  the existing locking, which applies as each change is deployed or
  reverted, as that pattern led to failures when multiple instances of
  Sqitch were working at once. Thanks to Neil Mayhew for the report
  (#579).
- Added the --lock-timeout option to the deploy, revert, rebase, and
  checkout commands, to allow for shorter or longer times to wait for an
  exclusive target database advisory lock for engines that support it.
  Defaults to 60 seconds.
- Fixed the behavior of the plan command's `--max-count` option when used
  with `--reverse` to show the proper items. Thanks to Adrian Klaver for
  the report (#517).
- Fixed an issue that could cause bugs with the `check` command on
  Firebird, Exasol, Oracle, and Vertica. Broken since the `check` command
  was added in v1.1.0.

(schmonz)

2021-11-21 14:52:35 UTC MAIN commitmail json YAML

2021-11-21 14:20:49 UTC MAIN commitmail json YAML

doc: Updated lang/openjdk11 to 1.11.0.13.8

(ryoon)

2021-11-21 14:20:08 UTC MAIN commitmail json YAML

openjdk11: Update to 1.11.0.13.8

* bsd-port repository is changed to https://github.com/battleblow/jdk11u .

Changelog:
11.0.13
Updated BSD port of JDK 11

Additional features include:

    Update to 11.0.13 GA
    Build fixes for LLVM 13 and fastdebug

11.0.12
Updated BSD port of JDK 11

Additional features include:

    Update to 11.0.12 GA

(ryoon)

2021-11-21 14:09:19 UTC MAIN commitmail json YAML

smake: Do not use custom do-build and do-install targets

* pkgsrc provides BUILD_DIRS and INSTALL_DIRS mechanisms not to
  write custom targets.

(ryoon)

2021-11-21 13:30:15 UTC MAIN commitmail json YAML

misc/labelnation: Update to 1.231

Upstream changes are minor maintenance, including renaming docs to .md
suffix.

(gdt)

2021-11-21 13:29:29 UTC MAIN commitmail json YAML

doc: Updated misc/labelnation to 1.231

(gdt)

2021-11-21 13:09:24 UTC MAIN commitmail json YAML

windowmaker-desktop: set META_PACKAGE earlier to make it work

(wiz)

2021-11-21 11:06:45 UTC MAIN commitmail json YAML

doc: Added audio/py-mediafile version 0.8.1

(bsiegert)

2021-11-21 11:06:18 UTC MAIN commitmail json YAML

New package for py-mediafile-0.8.1.

This is part of addressing PR pkg/56378.

MediaFile is a simple interface to the metadata tags for many audio file
formats. It wraps Mutagen, a high-quality library for low-level tag
manipulation, with a high-level, format-independent interface for a common set
of tags.

MediaFile is part of the beets project. It was originally written by Adrian
Sampson and is now developed by the beets community.

(bsiegert)

2021-11-21 10:51:37 UTC MAIN commitmail json YAML

doc: Added devel/py-jaraco.envs version 2.2.0

(wiz)

2021-11-21 10:51:28 UTC MAIN commitmail json YAML

devel/Makefile: + py-jaraco.envs.

(wiz)

2021-11-21 10:51:08 UTC MAIN commitmail json YAML

devel/py-jaraco.envs: import py-jaraco.envs-2.2.0

Classes for orchestrating Python (virtual) environments.

(wiz)

2021-11-21 10:44:26 UTC MAIN commitmail json YAML

doc: Added devel/py-path version 16.2.0

(wiz)

2021-11-21 10:44:16 UTC MAIN commitmail json YAML

devel/Makefile: + py-path

(wiz)

2021-11-21 10:44:02 UTC MAIN commitmail json YAML

devel/py-path: import py-path-16.2.0

Python module wrapper for os.path.

(wiz)

2021-11-21 10:37:28 UTC MAIN commitmail json YAML

doc: Added devel/py-jaraco.path version 3.3.1

(wiz)

2021-11-21 10:37:18 UTC MAIN commitmail json YAML

devel/Makefile: + py-jaraco.path.

(wiz)

2021-11-21 10:37:02 UTC MAIN commitmail json YAML

2021-11-21 10:19:10 UTC MAIN commitmail json YAML

doc/TODO: add some

+ ImageMagick-7.1.0.15, broot-1.7.3, cmake-3.22.0, nginx-1.20.2,
  py-packaging-21.3, wireshark-3.4.10.

(wiz)

2021-11-21 08:56:17 UTC MAIN commitmail json YAML

doc: Updated devel/mimalloc to 2.0.3

(fcambus)

2021-11-21 08:56:07 UTC MAIN commitmail json YAML

mimalloc: update to 2.0.3.

ChangeLog:

- Increase segment size, fine-grained decommit

(fcambus)

2021-11-21 07:43:41 UTC MAIN commitmail json YAML

doc: Updated sysutils/ytree to 2.04

(fcambus)

2021-11-21 07:43:31 UTC MAIN commitmail json YAML

ytree: update to 2.04.

New in 2.04
    Avoid security warning for mvprintw in input.c

(fcambus)

2021-11-21 07:25:12 UTC MAIN commitmail json YAML

doc: Updated net/statzone to 1.1.1

(fcambus)

2021-11-21 07:25:02 UTC MAIN commitmail json YAML

statzone: update to 1.1.1.

StatZone 1.1.1 (2021-11-16)

- Switch to using nullptr instead of NULL
- Fix erroneous comment about timer value in summary()
- Remove code to get zone file size, it's unused
- Update the arpa.zone copy used for testing
- Add SPDX short license identifier in source file
- Use CMAKE_CXX_STANDARD instead of hardcoding compiler flags
- Remove dependency on uthash, it is not used anymore
- Switch to using getline(3) instead of fgets(3)

(fcambus)

2021-11-21 07:18:30 UTC MAIN commitmail json YAML

doc: Updated www/logswan to 2.1.11

(fcambus)

2021-11-21 07:18:19 UTC MAIN commitmail json YAML

logswan: update to 2.1.11.

Logswan 2.1.11 (2021-11-16)

- Bump CMake minimum required version to 2.8.12
- Add SPDX short license identifier in source files
- Use CMAKE_C_STANDARD instead of hardcoding compiler flags
- Switch to using getline(3) instead of fgets(3)
- Call hll_init() after doing getopt() processing

(fcambus)

2021-11-21 07:11:42 UTC MAIN commitmail json YAML

doc: Updated converters/bdf2sfd to 1.1.7

(fcambus)

2021-11-21 07:11:31 UTC MAIN commitmail json YAML

bdf2sfd: update to 1.1.7.

bdf2sfd 1.1.7 (2021-11-16)

- Rename the "glyphes" variable to "glyphs"
- Bump CMake minimum required version to 2.8.12
- Add SPDX short license identifier in source file
- Use CMAKE_C_STANDARD instead of hardcoding compiler flags
- Switch to using getline(3) instead of fgets(3)

(fcambus)

2021-11-21 03:49:42 UTC MAIN commitmail json YAML

Replace RMD160 checksums with BLAKE2s checksums

(pho)

2021-11-21 03:47:34 UTC MAIN commitmail json YAML

Replace RMD160 checksums with BLAKE2s checksums

(pho)

2021-11-21 03:38:10 UTC MAIN commitmail json YAML

Replace RMD160 checksums with BLAKE2s checksums

(pho)

2021-11-21 03:22:16 UTC MAIN commitmail json YAML

Replace RMD160 checksums with BLAKE2s checksums

(pho)

2021-11-21 03:10:32 UTC MAIN commitmail json YAML

Replace RMD160 checksums with BLAKE2s checksums

(pho)

2021-11-21 03:01:59 UTC MAIN commitmail json YAML

Replace RMD160 checksums with BLAKE2s checksums

(pho)

2021-11-20 23:38:13 UTC MAIN commitmail json YAML

2021-11-20 23:29:37 UTC MAIN commitmail json YAML

2021-11-20 23:16:37 UTC MAIN commitmail json YAML

2021-11-20 23:13:35 UTC MAIN commitmail json YAML

zeromq: remove now unneeded patch

(gutteridge)

2021-11-20 22:58:55 UTC MAIN commitmail json YAML

doc: remove duplicated change entry

(gutteridge)

2021-11-20 22:29:23 UTC pkgsrc-2021Q3 commitmail json YAML

doc: Pullup ticket #6533

(tm)

2021-11-20 22:29:03 UTC pkgsrc-2021Q3 commitmail json YAML

Pullup ticket #6533 - requested by bsiegert
www/ap2-auth-mellon: security fix

Revisions pulled up:
- www/ap2-auth-mellon/Makefile                                  1.66
- www/ap2-auth-mellon/distinfo                                  1.24

---
  Module Name:    pkgsrc
  Committed By:  manu
  Date:          Tue Nov  9 01:50:45 UTC 2021

  Modified Files:
          pkgsrc/doc: CHANGES-2021
          pkgsrc/www/ap2-auth-mellon: Makefile distinfo

  Log Message:
  Updated www/ap2-auth-mellon to 0.18.0

  Change sine 0.17 from NEWS file:

  Version 0.18.0
  ---------------------------------------------------------------------------

  Security fixes:

  * [CVE-2019-13038] Redirect URL validation bypass

    Version 0.17.0 and older of mod_auth_mellon allows the redirect URL
    validation to be bypassed by specifying an URL formatted as
    "///fishing-site.example.com/logout.html". In this case, the browser
    would interpret the URL differently than the APR parsing utility
    mellon uses and redirect to fishing-site.example.com.
    This could be reproduced with:
        https://rp.example.co.jp/mellon/logout?ReturnTo=///fishing-site.example.com
  /logout.html

    This version fixes that issue by rejecting all URLs that start with "///".

  Enhancements:

  * A new option MellonSessionIdleTimeout that represents the amount of time
    a user can be inactive before the user's session times out in seconds.

  Bug fixes:

  * Several build-time fixes

  * The CookieTest SameSite attribute was only set to None if mellon configure
    option MellonCookieSameSite was set to something other than default.
    This is now fixed.

(tm)

2021-11-20 22:15:59 UTC pkgsrc-2021Q3 commitmail json YAML

doc: Pullup ticket #6532

(tm)

2021-11-20 22:15:24 UTC pkgsrc-2021Q3 commitmail json YAML

Pullup ticket #6532 - requested by bsiegert
net/zeromq: security fix

Revisions pulled up:
- net/zeromq/Makefile                                          1.32
- net/zeromq/PLIST                                              1.11
- net/zeromq/distinfo                                          1.34
- net/zeromq/patches/patch-src_ipc__listener.cpp                1.5
- net/zeromq/patches/patch-src_tcp__listener.cpp                1.6

---
  Module Name:    pkgsrc
  Committed By:  adam
  Date:          Sun Nov 14 20:15:46 UTC 2021

  Modified Files:
          pkgsrc/net/zeromq: Makefile PLIST distinfo
          pkgsrc/net/zeromq/patches: patch-src_ipc__listener.cpp
              patch-src_tcp__listener.cpp

  Log Message:
  zeromq: updated to 4.3.4

  libzmq 4.3.4

  New DRAFT (see NEWS for 4.2.0) socket option:

  ZMQ_PRIORITY will set the SO_PRIORITY socket option on the underlying
  sockets. Only supported on Linux.
  See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
  Fixed 4113 - compilation errors on kFreeBSD and GNU/Hurd

  Fixed 4086 - excessive amount of socket files left behind in Windows TMP
  directory

  Fixed 4108 - regression that breaks using IPv6 link-local addresses on Linux

  Fixed 4078 - compilation errors on Android

  Fixed 4074 - compilation error with ulibc and libbsd

  Fixed 4060 - stack overflow on Windows x64

  Fixed 4051 - various compilation errors on Windows ARM 32bit

  Fixed 4043 - various compilation warnings with XCode

  Fixed 4038 - return value of zmq_ctx_get changed unintentionally

  libzmq 4.3.3

  Security advisories:

  CVE-2020-15166: Denial-of-Service on CURVE/ZAP-protected servers by
  unauthenticated clients.
  If a raw TCP socket is opened and connected to an endpoint that is fully
  configured with CURVE/ZAP, legitimate clients will not be able to exchange
  any message. Handshakes complete successfully, and messages are delivered to
  the library, but the server application never receives them.
  For more information see the security advisory:
  GHSA-25wp-cf8g-938m
  Stack overflow on server running PUB/XPUB socket (CURVE disabled).
  The PUB/XPUB subscription store (mtrie) is traversed using recursive
  function calls. In the remove (unsubscription) case, the recursive calls are
  NOT tail calls, so even with optimizations the stack grows linearly with the
  length of a subscription topic. Topics are under the control of remote
  clients - they can send a subscription to arbitrary length topics. An
  attacker can thus cause a server to create an mtrie sufficiently large such
  that, when unsubscribing, traversal will cause a stack overflow.
  For more information see the security advisory:
  GHSA-qq65-x72m-9wr8
  Memory leak in PUB server induced by malicious client(s) without CURVE/ZAP.
  Messages with metadata are never processed by PUB sockets, but the metadata
  is kept referenced in the PUB object and never freed.
  For more information see the security advisory:
  GHSA-4p5v-h92w-6wxw
  Memory leak in client induced by malicious server(s) without CURVE/ZAP.
  When a pipe processes a delimiter and is already not in active state but
  still has an unfinished message, the message is leaked.
  For more information see the security advisory:
  GHSA-wfr2-29gj-5w87
  Heap overflow when receiving malformed ZMTP v1 packets (CURVE disabled).
  By crafting a packet which is not valid ZMTP v2/v3, and which has two
  messages larger than 8192 bytes, the decoder can be tricked into changing
  the recorded size of the 8192 bytes static buffer, which then gets overflown
  by the next message. The content that gets written in the overflown memory
  is entirely decided by the sender.
  For more information see the security advisory:
  GHSA-fc3w-qxf5-7hp6
  Note for packagers: an external, self-contained sha1 library is now
  included in the source tree under external/sha1/ - it is licensed
  under BSD-3-Clause and thus it is fully compatible with libzmq's
  license.
  It is only used if WebSockets support is enabled, and if neither GnuTLS nor
  NSS are available.

  Note for packagers: an internal reimplementation of strlcpy is now included,
  for wider platform compatibility.
  libbsd can be used and is enabled by default if available instead of the
  internal implementation, for better security maintenance in distros.

  Note for packagers: ZeroMQConfig.cmake is now installed in the arch-dependent
  subdirectory - eg: /usr/lib/x86_64-linux-gnu/cmake/

  New DRAFT (see NEWS for 4.2.0) socket type:

  ZMQ_CHANNEL is a thread-safe alternative to ZMQ_PAIR.
  See doc/zmq_socket.txt for details.
  New DRAFT (see NEWS for 4.2.0) socket option:

  ZMQ_ONLY_FIRST_SUBSCRIBE will cause only the first part of a multipart
  message to be processed as a subscribe/unsubscribe message, and the rest
  will be forwarded as user data to the application.
  ZMQ_RECONNECT_STOP will cause a connecting socket to stop trying to
  reconnect in specific circumstances. See the manpage for details.
  ZMQ_HELLO_MSG to set a message that will be automatically sent to a new
  connection.
  ZMQ_DISCONNECT_MSG to set a message that will be automatically received when
  a peer disconnects.
  See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
  New DRAFT (see NEWS for 4.2.0) zmq_ctx_get_ext/zmq_ctx_set_ext APIs were added
  to allow enhancing the context options with variable data inputs.
  See doc/zmq_ctx_get_ext.txt and doc/zmq_ctx_set_ext.txt for details.

  New DRAFT (see NEWS for 4.2.0) transport options WS and WSS added for support
  of WebSockets (and secure WebSockets via TLS) via the ZWS 2.0 protocol.
  WSS requires the GnuTLS library for TLS support. ZMQ_WSS_ specific socket
  options were added to support TLS.
  WebSockets support is disabled by default if DRAFT APIs are disabled.

  New DRAFT (see NEWS for 4.2.0) socket type, PEER, which is thread safe and a
  related zmq_connect_peer function which atomically and thread-safely connects
  and returns a routing-id.

  New DRAFT (see NEWS for 4.2.0) zmq_msg_init_buffer API was added to allow
  the construction of a message by copying from an existing buffer.

  New DRAFT (see NEWS for 4.2.0) zmq_poller_size API was added to allow querying
  the number of sockets/fds registered in a zmq_poller.

  ZMTP 3.1 peers will receive subscribe/cancel on PUB/SUB via commands rather
  than using the first byte of the payload.

  zmq_z85_decode now checks that the input string's length is at least 5
  characters
  and always a multiple of 5 as per API specification.

  Fixed 3566 - malformed CURVE message can cause memory leak

  Fixed 3567 - missing ZeroMQ_INCLUDE_DIR in ZeroMQConfig.cmake when only
  static lib is built

  Fixed 3576 - CURVE plaintext secrets now stored in libsodium's secure memory

  Fixed 3588 - install debug libraries for debug msvc builds with CMake

  Fixed 3591 - incorrect ZMQ_MAX_SOCKETS default value in doc

  Fixed 3594 - fixed stream_engine use after free due to concurrent heartbeats

  Fixed 3586 - error when compiling with MinGW due to usage of MS-specific
  __except keyword

  Fixed 3603 - fixed CMake build on SL6.9

  Fixed 3607 - added scripts to ease performance graph generation

  Fixed 3608 - fix for IPv4 mapping not supported in DragonFlyBSD

  Fixed 3636 - added ENABLE_PRECOMPILED CMake option to fix build with Ninja

  Fixed 2862 - UDP engine aborts on networking-related errors from socket
  syscalls

  Fixed 3656 - segfault on sending data from XSUB to XPUB

  Fixed 3646 - static-only test run fails

  Fixed 3668 - fixed CMAKE_CXX_FLAGS_* regexes on MSVC

  Fixed 110 - do not include winsock2.h in public zmq.h header

  Fixed 3683 - allow "configure --disable-maintainer-mode"

  Fixed 3686 - fix documentation about sockets blocking on send operations

  Fixed 3323 - fix behavior of ZMQ_CONFLATE on PUB sockets

  Fixed 3698 - fix build on IBM i/PASE/os400

  Fixed 3705 - zero-sized messages cause assertion when glibc assertion are on

  Fixed 3713 - remove dependency on math library by avoiding std::ceil

  Fixed 3694 - build targeting Windows XP is broken

  Fixed 3691 - added support for IPC on Windows 10 via AF_UNIX

  Fixed 3725 - disable by default test that requires sudo on CMake

  Fixed 3727 - fix zmq_poller documentation example

  Fixed 3729 - do not check for FD_OOB when using WSAEventSelect on Windows

  Fixed 3738 - allow renaming the library in CMake

  Fixed 1808 - use AF_UNIX instead of TCP for the internal socket on Windows 10

  Fixed 3758 - fix pthread_set_affinity detection in CMake

  Fixed 3769 - fix undefined behaviour in array.hpp

  Fixed 3772 - fix compiling under msys2-mingw

  Fixed 3775 - add -latomic to the private libs flag in pkg-config if needed

  Fixed 3778 - fix documentation of zmq_poller's thread safety

  Fixed 3792 - do not allow creation of new sockets after zmq_ctx_shutdown

  Fixed 3805 - improve performance of CURVE by reducing copies

  Fixed 3814 - send subscribe/cancel as commands to ZMTP 3.1 peers

  Fixed 3847 - fix building without PGM and NORM

  Fixed 3849 - install .cmake file in arch-dependent subdirectory

  Fixed 4005 - allow building on Windows ARM/ARM64

(tm)

2021-11-20 21:51:22 UTC pkgsrc-2021Q3 commitmail json YAML

doc: Pullup ticket #6534

(tm)

2021-11-20 21:50:39 UTC pkgsrc-2021Q3 commitmail json YAML

Pullup ticket #6534 - requested by bsiegert
mail/mailman: security fix

Revisions pulled up:
- mail/mailman/Makefile                                        1.95
- mail/mailman/PLIST                                            1.31
- mail/mailman/distinfo                                        1.31

---
  Module Name:    pkgsrc
  Committed By:  tm
  Date:          Tue Oct 26 18:42:55 UTC 2021

  Modified Files:
          pkgsrc/mail/mailman: Makefile PLIST distinfo

  Log Message:
  mail/mailman: Update to 2.1.35

  2.1.35 (19-Oct-2021)
    Security
      - A potential for for a list member to carry out an off-line brute force
        attack to obtain the list admin password has been reported by Andre
        Protas, Richard Cloke and Andy Nuttall of Apple.  This is fixed.
        CVE-2021-42096  (LP:#1947639)
      - A CSRF attack via the user options page could allow takeover of a users
        account.  This is fixed.  CVE-2021-42097  (LP:#1947640)
    Bug Fixes and other patches
      - Fixed an issue where sometimes the wrapper message for DMARC mitigation
        Wrap Message has no Subject:.  (LP: #1915655)
      - Plain text message bodies with Content-Disposition: and no declared
        charset are no longer scrubbed.  (LP: #1917968)
      - CommandRunner now recodes message bodies in the charset of the user's
        or list's language to avoid a possible UnicodeError when including the
        message body in the reply.  (LP: #1921682)
      - Delivery disabled by bounce notices to admins now have 'disabled'
        properly translated.  (LP: #1922843)
      - DMARC policy discovery ignores domains with multiple DMARC records per
        RFC 7849,  (LP: 1931029)

(tm)

2021-11-20 20:56:48 UTC MAIN commitmail json YAML

doc: Updated x11/gtkdatabox to 1.0.0

(hauke)

2021-11-20 20:56:05 UTC MAIN commitmail json YAML

Update gtkdatabox to v1.0.0

>From the changelog:

2021:
- Clean-up code for GTK3 and release it.
- Added new function to set the background color of databox:
  gtk_databox_set_bg_color().
- Added GtkDoc documentation option: ./configure --enable-gtk-doc.
- Removed libglade support, as it's not maintained anymore and
  depends on GTK2.

(hauke)

2021-11-20 20:51:24 UTC MAIN commitmail json YAML

doc: Updated editors/qtcreator to 5.0.3

(wiz)

2021-11-20 20:51:14 UTC MAIN commitmail json YAML

qtcreator: update to 5.0.3.

Qt Creator 4.13.3
=================

Qt Creator version 4.13.3 contains bug fixes.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v4.13.2..v4.13.3

General
-------

* Updated prebuilt binaries to Qt 5.15.2 which fixes drag & drop on macOS

Editing
-------

### QML

* Fixed reformatting of required properties (QTCREATORBUG-24376)
* Fixed importing without specific version for Qt 6 (QTCREATORBUG-24533)

Projects
--------

* Fixed auto-scrolling of compile output window (QTCREATORBUG-24728)
* Fixed GitHub Actions for Qt Creator plugin wizard (QTCREATORBUG-24412)
* Fixed crash with `Manage Sessions` (QTCREATORBUG-24797)

Qt Quick Designer
-----------------

* Fixed crash when opening malformed `.ui.qml` file (QTCREATORBUG-24587)

Debugging
---------

### CDB

* Fixed pretty printing of `std::vector` and `std::string` in release mode

Analyzer
--------

### QML Profiler

* Fixed crash with `Analyze Current Range` (QTCREATORBUG-24730)

Platforms
---------

### Android

* Fixed modified state of manifest editor when changing app icons
  (QTCREATORBUG-24700)

Qt Creator 4.14
===============

Qt Creator version 4.14 contains bug fixes and new features.

The most important changes are listed in this document. For a complete
list of changes, see the Git log for the Qt Creator sources that
you can check out from the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/4.13..v4.14.0

General
-------

* Added option for asking for confirmation before closing (QTCREATORBUG-7637)
* Improved visibility of controls in dark themes (QTCREATORBUG-23505)
* Fixed lines disappearing in output panes (QTCREATORBUG-24556)

Help
----

* Made `litehtml` rendering backend the default
* Fixed that Qt 5 documentation was not available if Qt 6 is installed

Editing
-------

### C++

* Updated to LLVM 11
* Added refactoring action that creates getters and setters for all class members
  (QTCREATORBUG-14504)
* Added refactoring action that generates member from class member initialization
  (QTCREATORBUG-11842)
* Added refactoring action that creates implementations for all member functions
  (QTCREATORBUG-12164)
* Added refactoring action for removing `using namespace` directives (QTCREATORBUG-24392)
* Added auto-completion of existing namespaces and classes to `New Class` wizard
  (QTCREATORBUG-10066)
* Added action for showing function arguments hint (QTCREATORBUG-19394)
* Added option for after how many characters auto-completion may trigger (QTCREATORBUG-19920)
* Added highlighting for structured bindings (QTCREATORBUG-24769)
* Restricted completion for second argument of `connect` calls to signals (QTCREATORBUG-13558)
* Fixed crash of backend with multiline `Q_PROPERTY` declarations (QTCREATORBUG-24746)
* Fixed issues with include completion (QTCREATORBUG-21490, QTCREATORBUG-24515)
* Fixed missing namespace when generating getters and setters (QTCREATORBUG-14886)
* Fixed missing `inline` when generating method definitions in header files
  (QTCREATORBUG-15052)
* Fixed that `Follow Symbol Under Cursor` on declarations and definitions did not offer items
  in subclasses (QTCREATORBUG-10160)
* Fixed that `RESET` function was not generated for `Q_PROPERTY`s (QTCREATORBUG-11809)
* Fixed that `Insert virtual functions of base class` refactoring action added already
  implemented operators (QTCREATORBUG-12218)
* Fixed that `Complete switch statement` indents unrelated code (QTCREATORBUG-12445)
* Fixed `Complete switch statement` with templates (QTCREATORBUG-24752)
* Fixed `Complete switch statement` for enum classes (QTCREATORBUG-20475)
* Fixed creating and moving template member function definitions (QTCREATORBUG-24801,
  QTCREATORBUG-24848)
* Fixed that `Apply function signature change` removed return values from `std::function`
  arguments (QTCREATORBUG-13698)
* Fixed handling of multiple inheritance in `Insert Virtual Functions` (QTCREATORBUG-12223)
* Fixed issue with `Convert to Camel Case` (QTCREATORBUG-16560)
* Fixed auto-indentation for lambdas with trailing return type (QTCREATORBUG-18497)
* Fixed indentation when starting new line in documentation comments (QTCREATORBUG-11749)
* Fixed that auto-indentation was applied within multiline string literals
  (QTCREATORBUG-20180)
* Fixed sorting in `Outline` view (QTCREATORBUG-12714)
* Fixed that renaming files did not adapt include guards in headers (QTCREATORBUG-4686)

### Language Client

* Improved outline for hierarchical symbols

### QML

* Fixed issues with `Move Component into Separate File` (QTCREATORBUG-21091)
* Fixed crash with malformed `property` (QTCREATORBUG-24587)
* Fixed `qmldir` parsing with Qt 6 (QTCREATORBUG-24772)

### GLSL

* Updated language specification (QTCREATORBUG-24068)

Projects
--------

* Renamed `CurrentProject:*` variables to `CurrentDocument:Project:*` (QTCREATORBUG-12724,
  QTCREATORBUG-24606)
* Added `ActiveProject:*` variables (QTCREATORBUG-24878)
* Changed `Qt Creator Plugin` wizard to CMake build system (QTCREATORBUG-24073)
* Fixed issue when environment changes after appending or prepending path (QTCREATORBUG-24105)
* Fixed `Embedding of the UI Class` option for widget applications (QTCREATORBUG-24422)
* Fixed shell used for console applications (QTCREATORBUG-24659)
* Fixed issue with auto-scrolling compile output (QTCREATORBUG-24728)

### qmake

* Added option to not execute `system` directives (QTCREATORBUG-24551)
* Fixed deployment with wildcards (QTCREATORBUG-24695)

### Wizards

* Fixed creation of form editor class with namespace (QTCREATORBUG-24723)

### CMake

* Added option to unselect multiple configuration variables simultaneously
  (QTCREATORBUG-22659)
* Improved kit detection when importing build (QTCREATORBUG-25069)
* Fixed missing run of CMake when saving `CMakeLists.txt` files in
  subdirectories
* Fixed that changing build directory to existing build ran CMake with initial
  arguments
* Fixed that configuration changes were lost when done before triggering a first
  build (QTCREATORBUG-24936)
* Fixed `QML Debugging and Profiling`

### Meson

* Fixed updating of introspection data after reconfiguration

Debugging
---------

* Updated various pretty printers for Qt 6
* Fixed disabling and enabling breakpoints (QTCREATORBUG-24669)
* Fixed setting source mappings with variables (QTCREATORBUG-24816)

### GDB

* Fixed loading of symbol files with `Load Core File` (QTCREATORBUG-24541)

### CDB

* Fixed debugging when `PYTHONPATH` is set (QTCREATORBUG-24859)
* Fixed pretty printer of containers with signed chars

Analyzer
--------

### Clang

* Re-added automatic analyzation of files on save
* Added multi-selection in diagnostics view (QTCREATORBUG-24396)

Version Control Systems
-----------------------

* Improved removal of multiple files (QTCREATORBUG-24385)
* Added option to add file when creating it from locator (QTCREATORBUG-24168)

### Git

* Added option to show file at specified revision (QTCREATORBUG-24689)

### Gerrit

* Added suggestion for local branch name when checking out patch set (QTCREATORBUG-24006)
* Fixed commit list in `Push to Gerrit` (QTCREATORBUG-24436)

Test Integration
----------------

* Made it easier to re-run failed tests
* Added support for `QTest::addRow()` (QTCREATORBUG-24777)

Platforms
---------

### Linux

* Fixed initial directory when opening Konsole (QTCREATORBUG-24947)

### macOS

* Fixed type display when debugging with newest LLDB

### Android

* Improved manifest editor
    * Added support for `xhdpi`, `xxhdpi` and `xxxhdpi` icons and splashscreens
    * Added support for setting preferred screen orientation
* Added missing Android variables to completion in `.pro` and `.pri` files
* Fixed passing command line arguments to application (QTCREATORBUG-23712)
* Fixed fetching of logcat output when application crashes

### iOS

* Fixed persistence of signing settings (QTCREATORBUG-24586)

### Remote Linux

* Fixed password prompt missing with SSH (QTCREATORBUG-24979)

### MCU

* Improved creation of kits (QTCREATORBUG-24354, QTCREATORBUG-25052, QTCREATORBUG-25053)

Qt Creator 4.14.1
=================

Qt Creator version 4.14.1 contains bug fixes.

The most important changes are listed in this document. For a complete
list of changes, see the Git log for the Qt Creator sources that
you can check out from the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v4.14.0..v4.14.1

General
-------

* Fixed copying to clipboard from JavaScript locator filter

### Building Qt Creator with CMake

* Made it easier to build against separate litehtml (QTCREATORBUG-25144)
* Made it possible to adapt install layout for Linux distributions
  (QTCREATORBUG-25142)
* Fixed building and running against system LLVM (QTCREATORBUG-25147)

Editing
-------

* Fixed search result highlighting for overlapping results (QTCREATORBUG-25237)

### C++

* Added support for `BINDABLE` in `Q_PROPERTY`
* Fixed loading `ClangFormat` plugin on Linux distributions with software
  rendering (QTCREATORBUG-24998)
* Fixed hanging `Follow Symbol` (QTCREATORBUG-25193)
* Fixed freeze in global indexing (QTCREATORBUG-25121)
* Fixed missing completion in `connect` statements (QTCREATORBUG-25153)

### QML

* Fixed reformatter for arrow functions (QTCREATORBUG-23019)
* Fixed reformatter for template strings

### Language Client

* Fixed handling of dynamically registered capabilities

Projects
--------

* Fixed crash in environment settings (QTCREATORBUG-25170)

### CMake

* Fixed that CMake version support was not re-checked when changing its path in
  settings (QTCREATORBUG-25250)

### qmake

* Fixed unnecessary `qmake` run if `separate_debug_info` is force-disabled
  (QTCREATORBUG-25134)
* Fixed wrong messages in `Issues` pane from cumulative parsing
  (QTCREATORBUG-25201)

### Meson

* Fixed crash when switching build type

Debugging
---------

### LLDB

* Fixed that application output could be printed delayed (QTCREATORBUG-24667)
* Fixed performance issue (QTCREATORBUG-25185, QTCREATORBUG-25217)

### CDB

* Fixed `std::map`, `std::set` and `std::list` pretty printers in release builds
  (QTCREATORBUG-24901)

Analyzer
--------

### Clang

* Fixed issue with MSVC and MinGW (QTCREATORBUG-25126)

Platforms
---------

### Remote Linux

* Fixed SSH download operation without session (QTCREATORBUG-25236)

Qt Creator 4.14.2
=================

Qt Creator version 4.14.2 contains bug fixes.

The most important changes are listed in this document. For a complete
list of changes, see the Git log for the Qt Creator sources that
you can check out from the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v4.14.1..v4.14.2

General
-------

### Building Qt Creator with CMake

* Fixed installation location of desktop and appstream files

Help
----

* Fixed crash with `Previous/Next Open Document in History` (QDS-3743)

Editing
-------

* Re-added generic highlighting for Autoconf files (QTCREATORBUG-25391)

Debugging
---------

### LLDB

* Fixed performance issue (QTCREATORBUG-25185, QTCREATORBUG-25217)

Platforms
---------

### macOS

* Fixed vanishing controls in Welcome mode in Dark Mode (QTCREATORBUG-25405)

Qt Creator 4.15
===============

Qt Creator version 4.15 contains bug fixes and new features.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/4.14..v4.15.0

General
-------

* Added locator filter for global file index on Linux (`locate`) and Windows
  (`Everything`)
* Added option for globally changing base environment for running tools
  (QTCREATORBUG-22123)
* Added option for text codec used for tools (QTCREATORBUG-24776)
* Fixed that `General Messages` pane popped up too often (QTCREATORBUG-24667)

Help
----

* Added shared `Zoom` setting (QTCREATORBUG-23731, QTCREATORBUG-25109,
  QTCREATORBUG-25230)

Editing
-------

* Added action for pasting without auto-formatting (QTCREATORBUG-20887)
* Fixed that completion could block Qt Creator (QTCREATORBUG-25419)

### C++

* Added `Create Getter and Setter Member Functions` refactoring action
  (QTCREATORBUG-1532)
* Added `Generate Constructor` refactoring action
* Added filtering of `Find References to Symbol Under Cursor` based on access
  type (QTCREATORBUG-19373)
* Added `Open in Editor` and `Open Type Hierarchy` to context menu on items in
  type hierarchy
* Added highlighting of previous class when navigating in type hierarchy
* Added type aliases to `C++ Classes, Enums and Functions` locator filter
  (QTCREATORBUG-5800)
* Added parentheses highlighting for ternary operator (QTCREATORBUG-1410)
* Improved type name minimization for `Add definition` (QTCREATORBUG-8030)
* Fixed type hierarchy with templates classes and typedefs
* Fixed that `-include` compile option was ignored by code model
  (QTCREATORBUG-20602)
* Fixed highlighting of raw string literals (QTCREATORBUG-16183)
* Fixed issue with declaration and definition matching in presence of macros
  (QTCREATORBUG-24739)
* Fixed issue with struct type alias (QTCREATORBUG-24875)
* Fixed issue with function attributes (QTCREATORBUG-24650, QTCREATORBUG-24636)
* Fixed highlighting in macros with indirection (QTCREATORBUG-21522)
* Fixed highlighting in multi-dimensional arrays (QTCREATORBUG-21534)
* Fixed switching between declaration and definition for custom conversion
  operators (QTCREATORBUG-21168)
* Fixed that fix-its with outdated information could be applied
  (QTCREATORBUG-21818)
* Fixed tooltip for some include directives (QTCREATORBUG-21194)
* Fixed include completion for files with non-standard file extensions
  (QTCREATORBUG-25154)
* Fixed highlighting of comments with continuation lines (QTCREATORBUG-23297)
* Fixed issues with `Add definition` (QTCREATORBUG-14661, QTCREATORBUG-14524,
  QTCREATORBUG-14524, QTCREATORBUG-25560)
* Fixed real-time updating of `Class View`
* Fixed that function parameter hint showed inapplicable overloads
  (QTCREATORBUG-650)

### QML

* Added support for inline components (QTCREATORBUG-24766, QTCREATORBUG-24705)
* Fixed issues with multiple import paths (QTCREATORBUG-24405)
* Fixed reformatting of arrow functions (QTCREATORBUG-25198)
* Fixed reformatting of JavaScript spread operator (QTCREATORBUG-23402)

### Language Client

* Added support for new formatting options in LSP 3.15.0
* Added support for versioned diagnostics
* Added support for server progress messages
* Improved Java language server support

### Java

* Simplified configuration of Java language server
* Improved support for Java language server

Projects
--------

* Added `Open Terminal Here` for project nodes (QTCREATORBUG-25107)
* Added option for running application as root user (QTCREATORBUG-2831,
  QTCREATORBUG-25330)
* Fixed detection of `rcc` and `uic` for Qt 6 (QTBUG-88791)
* Fixed detection of Designer, Linguist, `qmlscene` and `qmlplugindump` for Qt 6
  cross-builds

### qmake

* Fixed freeze when executable run with `system` call waits for input
  (QTCREATORBUG-25194)

### CMake

* Added support for multiconfig generators (QTCREATORBUG-24984)
* Added filesystem node to project tree (QTCREATORBUG-24677)
* Added `install/strip` and `package` targets (QTCREATORBUG-22047,
  QTCREATORBUG-22620)
* Added automatic run of conan install on initial CMake call
  (QTCREATORBUG-25362)
* Added batch editing for CMake configuration
* Added `Re-configure with Initial Parameters` button
* Made it possible to copy CMake variables from configuration
  (QTCREATORBUG-24781)
* Removed utility targets from CMake target locator filters (QTCREATORBUG-24718)
* Fixed that configuration changes were lost when CMake configuration fails
  (QTCREATORBUG-24593)
* Fixed Qt detection when importing builds of Qt6-based projects
  (QTCREATORBUG-25100)
* Fixed importing builds of Qt6 tests (QTBUG-88776)
* Fixed which file is opened for `Open CMake target` locator filter
  (QTCREATORBUG-25166)
* Fixed `Save all files before build` for `Build for Run Configuration`
  (QTCREATORBUG-25276)
* Fixed that only source file name was copied to clipboard when adding class
  (QTCREATORBUG-24301, QTCREATORBUG-25212)
* Fixed reparsing of project with `Auto-run CMake`
* Fixed that removed targets stayed selected for building (QTCREATORBUG-25477)

### Qbs

* Added Android target ABI selection

### Python

* Added support for PySide6 to wizards (QTCREATORBUG-25340)

### Meson

* Added support for `extra_files` (QTCREATORBUG-24824)
* Added support for custom Meson parameters

### Conan

* Added auto-detection of conan file in project root

Debugging
---------

* Added option to show simple values as text annotations
* Added option to copy selected items from stack view (QTCREATORBUG-24701)
* Added visualization of hit breakpoint in `Breakpoints` view
  (QTCREATORBUG-6999)
* Fixed type display for automatically dereferenced pointers
  (QTCREATORBUG-20907)
* Fixed that debugging repeatedly stopped with `SIGSTOP` (QTCREATORBUG-25073,
  QTCREATORBUG-25082, QTCREATORBUG-25227)

### QML

* Fixed breakpoints in `.mjs` files (QTCREATORBUG-25328)

Analyzer
--------

### Clang

* Added option for disabling diagnostic types from result list
  (QTCREATORBUG-24852)
* Added support for individual `clazy` check options (QTCREATORBUG-24977)
* Added help link to diagnostic tooltip (QTCREATORBUG-25163)

Version Control Systems
-----------------------

* Added simple commit message verification

Test Integration
----------------

* Added basic support for `ctest` (QTCREATORBUG-23332)

### Google Test

* Fixed detection of tests that start with a number (QTCREATORBUG-25498)

FakeVim
-------

* Added support for `\u` `\U` `\l` `\L` in substitute command
* Added emulation of `vim-exchange` and `vim-surround` plugins
* Fixed dot command for pasting (QTCREATORBUG-25281)

Platforms
---------

### Android

* Fixed `android-*-deployment-settings.json` detection (QTCREATORBUG-25209)

### iOS

* Added support for CMake projects with Qt 6 (QTCREATORBUG-23574)
* Fixed launch of applications on iOS 14 (QTCREATORBUG-24672)
* Fixed `Attach to Running Application` for long executable paths
  (QTCREATORBUG-25286)

### Remote Linux

* Fixed issues with remote process PID parsing (QTCREATORBUG-25306)
* Fixed issues with `rsync` on Windows (QTCREATORBUG-25333)

### MCU

* Added error reporting when creating MCU kits fails (QTCREATORBUG-25258)
* Improved detection of Ultralight library (QTCREATORBUG-25469)
* Fixed that examples were missing from `Welcome` screen (QTCREATORBUG-25320)

### WASM

* Improved handling of Emscripten detection and setup (QTCREATORBUG-23126,
  QTCREATORBUG-23160, QTCREATORBUG-23561, QTCREATORBUG-23741,
  QTCREATORBUG-24814, QTCREATORBUG-24822)
* Added support for Qt 6 applications with CMake (QTCREATORBUG-25519)
* Fixed ABI detection for Qt 5.15 (QTCREATORBUG-24891)
* Fixed running of `em++.bat` in some environments on Windows

Qt Creator 4.15.1
=================

Qt Creator version 4.15.1 contains bug fixes.

The most important changes are listed in this document. For a complete
list of changes, see the Git log for the Qt Creator sources that
you can check out from the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v4.15.0..v4.15.1

General
-------

* Fixed crash in `Search Results` pane (QTCREATORBUG-25713)
* Fixed crash when showing tooltips after screen configuration changes
  (QTCREATORBUG-25747)
* Fixed environment selection for external tools (QTCREATORBUG-25634)

Editing
-------

* Fixed crash when opening settings from tooltip (QTCREATORBUG-25623)
* Fixed hiding of function hints (QTCREATORBUG-25664)
* Fixed vanishing text marks (QTCREATORBUG-25427)

### C++

* Fixed freeze when updating project while indexing is running

### QML

* Fixed wrong warning for blocks with `case` and `let` (QTCREATORBUG-24214)

### QRC

* Fixed that `compress-algo` tags were removed (QTCREATORBUG-25706)

Projects
--------

* Fixed restoration of `Projects` mode layout (QTCREATORBUG-25551)

### Wizards

* Fixed `Fetch data asynchronously` for list and table models

### CMake

* Fixed issues when switching configurations or running CMake while parsing
  (QTCREATORBUG-25588, QTCREATORBUG-25287)
* Fixed crash when cancelling scanning the project tree (QTCREATORBUG-24564)
* Fixed custom targets missing in Locator (QTCREATORBUG-25726)

Debugging
---------

### GDB

* Fixed crash (QTCREATORBUG-25745)

Test Integration
----------------

* Fixed selection of individual tests (QTCREATORBUG-25702)

### Catch2

* Fixed issues with Catch2 3.0 (QTCREATORBUG-25582)

### GoogleTest

* Fixed crash with empty test name

Platforms
---------

### Windows

* Fixed issues with `clang-cl` toolchain (QTCREATORBUG-25690,
  QTCREATORBUG-25693, QTCREATORBUG-25698)

### Remote Linux

* Fixed install step (QTCREATORBUG-25359)

### Android

* Improved startup time (QTCREATORBUG-25463)
* Fixed `Checking pending licenses` (QTCREATORBUG-25667)

### MCU

* Added support for Cypress Traveo II (UL-4242)
* Fixed CMake generator for GHS compiler (UL-4247)

Qt Creator 4.15.2
=================

Qt Creator version 4.15.2 contains bug fixes.

The most important changes are listed in this document. For a complete
list of changes, see the Git log for the Qt Creator sources that
you can check out from the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v4.15.1..v4.15.2

Projects
--------

### CMake

* Improved performance after project load and reparse
* Fixed crash on session switch (QTCREATORBUG-25837)

### qmake

* Fixed issues with executing system calls (QTCREATORBUG-25970)

Test Integration
----------------

### CTest

* Fixed test detection if `ctest` takes long to run (QTCREATORBUG-25851)

Platforms
---------

### WASM

* Fixed Python version that is on Windows (QTCREATORBUG-25897)

Qt Creator 5
===============

Qt Creator version 5 contains bug fixes and new features.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/4.15..v5.0.0

General
-------

* Fixed various possible crashes at shutdown

Editing
-------

* Added line ending and indentation to file properties information
* Added menu item and shortcut for editing bookmark comments
  (QTCREATORBUG-25696)
* Fixed folding for Markdown (QTCREATORBUG-25882)
* Fixed completion tooltip on secondary display (QTCREATORBUG-26053)

### C++

* Added experimental support for `clangd` (no code completion yet, requires
  development build of `clangd`)
* Added highlighting option for function parameters (QTCREATORBUG-24880)
* Added template parameters to symbols in Locator
* Fixed that project-unrelated files were selected by default when renaming
  symbols (QTCREATORBUG-8561)
* Fixed highlighting of string literals with multi-byte characters
  (QTCREATORBUG-25715)
* Fixed code model for changed but not yet built `.ui` and `.scxml` files
  (QTCREATORBUG-25937)
* Fixed lookup of toplevel virtual function declarations (QTCREATORBUG-25749)
* Fixed `switch` statement completion for templates (QTCREATORBUG-25998)
* Fixed `Escape String Literal as UTF-8` if literal contains numbers
  (QTCREATORBUG-26003)

### QML

* Updated parser to Qt 6.2
* Fixed handling of multiline template strings (QTCREATORBUG-22766)
* Fixed handling of required and readonly properties (QTCREATORBUG-24144)
* Fixed reformatting of inline components (QTCREATORBUG-24144)
* Fixed reformatting of functions with default values (QTCREATORBUG-23009)
* Fixed wrong warning for types with same name but different namespace
  (QTCREATORBUG-24615)
* Fixed `Tools > External > Qt Quick > QML Utility` (QTCREATORBUG-26137)

### Language Client

* Added support for progress notifications
* Added support for snippets (QTCREATORBUG-22406)
* Fixed completion results for language servers that do not filter results
  themselves
* Fixed that empty responses could be sent (QTCREATORBUG-26116)

### Beautifier

* Fixed issue with `clang-format` and multi-byte characters (QTCREATORBUG-21812,
  QTCREATORBUG-23131)

### Designer

* Fixed `Go to Slot` if UI class is referred to as `UI_<class>`
  (QTCREATORBUG-26013)

Projects
--------

* Added experimental support for building and running on Docker devices
* Added find support to `Issues` pane
* Added option `Show Source and Header Groups` to project tree
  (QTCREATORBUG-25313)
* Fixed crash when closing project while changing current configuration
  (QTCREATORBUG-25655)
* Fixed that output of custom targets was interpreted as errors
  (QTCREATORBUG-25677)
* Fixed missing update of run configuration environment (QTCREATORBUG-25947)
* Fixed that user files were unnecessarily saved with new time stamp
  (QTCREATORBUG-25921)
* Fixed that toolchain setting was fixed for auto-detected kits
  (QTCREATORBUG-25839)
* Reduced UI freeze after loading projects (QTCREATORBUG-25783)

### CMake

* Removed option `Auto-create build directories`, making this the default
  behavior (QTCREATORBUG-25532)
* Added CMake output to right side of `Projects` mode (QTCREATORBUG-25522)
* Added CMake option `QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP` for skipping Qt
  Creator's package manager auto-setup
* Fixed `Jump to File` for file names with special characters
  (QTCREATORBUG-25572)
* Fixed updating of available targets (QTCREATORBUG-24914, QTCREATORBUG-25906)
* Fixed persistence of CMake tool options (QTCREATORBUG-25911)
* Fixed build library search path for CMake 3.20 and later (QTCREATORBUG-26110)
* Fixed code model issues with MSVC and CMake 3.20 and later
  (QTCREATORBUG-26146)

### Qbs

* Improved performance of registering profiles (QTCREATORBUG-25463)

Debugging
---------

* Added `Force logging to console` option (QTCREATORBUG-25421)
* Added context menu for changing variable display style to viewer window
  (QTCREATORBUG-25762)
* Fixed that comments in startup commands resulted in message boxes
  (QTCREATORBUG-25666)
* Removed extra Server Start Script field in Attach to Running Server,
  use a custom deploy step instead.

### GDB

* Added option `Use automatic symbol cache` (QTCREATORBUG-23207)

### QML

* Implemented `Load QML Stack` for LLDB (QTCREATORBUG-25554)

Analyzer
--------

### Clang

* Fixed URL for `clang-tidy` checks (QTCREATORBUG-25902)
* Fixed application of options to checks (QTCREATORBUG-25827)
* Fixed links to clazy documentation (QTCREATORBUG-25869)

FakeVim
-------

* Fixed backspace option
* Fixed updating visual marks when mark settings change

Platforms
---------

### Windows

* Added support for MSVC ARM64 toolchain

### macOS

* Improved experience on ARM based macOS with Intel based Qt Creator build
* Fixed performance issue with registering file watches after loading projects

### Android

* Added detection of Android 12
* Fixed detection of `_prepare_apk_dir` target for CMake projects
  (QTCREATORBUG-25216)

### Remote Linux

* Fixed update of temporary local installation when build path is changed
  (QTCREATORBUG-26103)

### QNX

* Fixed device configuration
* Fixed listing of device processes on Windows
* Fixed issues with CMake and QNX 7.1 and Qt 6

### MCU

* Added tracking of kit dependencies (QTCREATORBUG-25262)
* Added support for module mappings in QML (QTCREATORBUG-25356)
* Fixed update of kit after settings changes (QTCREATORBUG-25488)

Qt Creator 5.0.1
================

Qt Creator version 5.0.1 contains bug fixes.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v5.0.0..v5.0.1

General
-------

* Fixed saving of MIME type settings

Editing
-------

### QML

* Fixed freeze with imports that don't specify minor version
  (QTCREATORBUG-26178, QTCREATORBUG-26216)
* Fixed crash when using inline components (QTCREATORBUG-26151)

### Language Client

* Fixed working directory for servers that are started per project
  (QTCREATORBUG-26115)
* Fixed sorting of completion items (QTCREATORBUG-26114)
* Fixed that global environment setting was not used for language servers

Projects
--------

### CMake

* Improved handling of issues with `conan` (QTCREATORBUG-25818,
  QTCREATORBUG-25891)
* Fixed endless configuration loop (QTCREATORBUG-26204, QTCREATORBUG-26207,
  QTCREATORBUG-25346, QTCREATORBUG-25995, QTCREATORBUG-25183,
  QTCREATORBUG-25512)
* Fixed crash with "Re-configure with Initial Parameters" (QTCREATORBUG-26220)

### Qbs

* Fixed code model with MSVC and C++20 (QTCREATORBUG-26089)

### qmake

* Fixed that `qmake` was run on every build on macOS (QTCREATORBUG-26212)

### Compilation Database

* Fixed crash when loading project (QTCREATORBUG-26126)

Debugging
---------

### GDB

* Fixed debugging of 32-bit MinGW application with 64-bit debugger
  (QTCREATORBUG-26208)

Analyzer
--------

### Clang

* Fixed that Clazy was asked repeatedly for version and supported checks
  (QTCREATORBUG-26237)

Test Integration
----------------

### Qt Quick

* Fixed unnecessary updates of QML code model

### CTest

* Fixed missing test output

### Google Test

* Fixed wizard for CMake (QTCREATORBUG-26253)

Platforms
---------

### Windows

* Fixed issue with parsing MSVC warnings

### Android

* Fixed cleaning up of old auto-generated Android kits
* Fixed minimum SDK level for CMake projects (QTCREATORBUG-26127)

### iOS

* Fixed initial CMake parameters for iOS device builds

### Web Assembly

* Fixed detection of emscripten compilers (QTCREATORBUG-26199)

Qt Creator 5.0.2
================

Qt Creator version 5.0.2 contains bug fixes.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v5.0.1..v5.0.2

Help
----

* Fixed that Qt 5 context help was shown even if Qt 6 documentation is available
  (QTCREATORBUG-26292)

Projects
--------

* Fixed canceling of builds (QTCREATORBUG-26271)

### CMake

* Changed the `File System` special node to be shown only on parsing failure
  (QTCREATORBUG-25994, QTCREATORBUG-25974)
* Fixed loading of projects without targets (QTCREATORBUG-25509)
* Fixed that no targets where shown in added build step (QTCREATORBUG-25759)
* Fixed that `ninja` could not be found after changing Qt installation location
  (QTCREATORBUG-26289)

Debugging
---------

### GDB

* Fixed debugging of terminal applications with GDB < 10 (QTCREATORBUG-26299)

Platforms
---------

### macOS

* Fixed issue with absolute RPATH in `clazy-standalone` (QTCREATORBUG-26196)

### Android

* Fixed that wrong deployment file could be used (QTCREATORBUG-25793)

Qt Creator 5.0.3
================

Qt Creator version 5.0.3 contains bug fixes.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/v5.0.2..v5.0.3

Editing
-------

### QML

* Fixed possible crash on shutdown

### Image Viewer

* Fixed crash when opening invalid movie (QTCREATORBUG-26377)

Projects
--------

### qmake

* Fixed handling of `QMAKE_EXTRA_COMPILERS` (QTCREATORBUG-26323)

Platforms
---------

### macOS

* Fixed crash when opening qmake projects on ARM Macs (QTBUG-97085)

### Android

* Fixed issue in installation step with qmake projects (QTCREATORBUG-26357)

(wiz)

2021-11-20 20:07:30 UTC MAIN commitmail json YAML

doc: Updated audio/py-mutagen to 1.45.1

(bsiegert)

2021-11-20 20:07:11 UTC MAIN commitmail json YAML

Update py-mutagen to 1.45.1, needed for PR pkg/56378.

1.45.1 - 2020-07-31

Fix flake8 tests when run after calling setup.py build
No longer use mmap when rewriting files. Fixes slow save performance with
Windows network shares, ZFS and more

1.45.0 - 2020-07-11

WAVE support with ID3 tags
DSDIFF support with ID3 tags
MP4: Add support for nero chapters
wavpack: add support for wavpack DSD
wavpack: add bits_per_sample
MP4: handle DecoderSpecificInfo with wrong instance size
docs: various fixes
tests: depend on flake8 now (instead of pycodestyle and pyflakes)
docs: fix warnings with sphinx v3

Fuzzing related:
Fuzzing integration with python-afl
Fix various unhandled error cases in ogg, asf, oggvorbis, id3
aac: Fix ZeroDivisionError in case frequency is unknown
musepack: handle truncated stream header
musepack: handle invalid sample rate index
musepack: handle duplicate RG/SH packets
oggtheora: handle truncated header packet
oggtheora: fail if FRN in the header packet is zero
oggtheora: handle empty pages in more cases
ogg: handle empty pages in to_packets()
aiff: handle overflow in read_float()

(bsiegert)

2021-11-20 20:07:10 UTC MAIN commitmail json YAML

parallel/Makefile: + spirv-headers.

(wiz)

2021-11-20 20:06:55 UTC MAIN commitmail json YAML

parallel/spirv-headers: import SPIRV-Headers-1.2.198.0

This package contains machine-readable files for the
SPIR-V Registry.  This includes:

* Header files for various languages.
* JSON files describing the grammar for the SPIR-V core instruction
  set and the extended instruction sets.
* The XML registry file.
* A tool to build the headers from the JSON grammar.

(wiz)

2021-11-20 20:05:46 UTC MAIN commitmail json YAML

doc: Updated parallel/pocl to 1.8

(wiz)

2021-11-20 20:05:37 UTC MAIN commitmail json YAML

pocl: update to 1.8.

Notable User Facing Changes
---------------------------

- support for LLVM 13
- CMake: Inter-Procedural Optimization is enabled on code of runtime library
  (libpocl.so is compiled with -flto on systems that support it).
- LTTng tracing improved - more command types are traced, and also
  some synchronous API calls (like clCreateBuffer) are traced.
- poclcc, tests and examples can be disabled with CMake options
- Valgrind support improved by making Valgrind aware of pocl's
  reference counting of cl_* objects
- kernels which are called by kernels are now force-inlined
- Support for NetBSD.
- Support for Unix systems without libdl.
- PoCL can now (optionally) respond to SIGUSR2 by printing
  some live debug information.
- improved SPIR support for CUDA devices

Notable Bug Fixes
-----------------

- Fixed a potential crash on Unix systems without sysfs mounted.
- Fixed compilation errors when building on macOS.
  - Fixed POCL_FAST_INIT macro; POCL_INIT_LOCK must be invoked with only one argument.
  - Fix bin/poclcc to not depend on OpenCL 2.0 symbols
- Fixed miscompilation in kernel loops with multiple conditionals with barriers in them.

Other
-----
- Add cmake options PARALLEL_COMPILE_JOBS, PARALLEL_LINK_JOBS to
  use ninja's seperate compile and link job pools.

- Improve memory architecture, buffer migration and allocation.
  Buffers are now allocated on a device when first used
  (previously each buffer was allocated on every device in context).

- the single global LLVMContext was replaced with
  multiple LLVMContexts, one per OpenCL cl_context.
  OpenCL code can now be compiled in parallel
  when using separate cl_contexts. This feature
  is disabled by default since it significantly slowed
  down PyOpenCL. This should be resolved by separating
  LLVM compilation in their own threads in the future.

- a new OpenCL extension was added to PoCL: cl_pocl_content_size.
  The extension allows the user to give optimization hint to PoCL,
  which will be used internally by PoCL to optimize buffer transfers
  between multiple devices.

(wiz)

2021-11-20 19:59:08 UTC MAIN commitmail json YAML

doc: Updated meta-pkgs/bulk-test-llvm to 20211120

(wiz)

2021-11-20 19:59:00 UTC MAIN commitmail json YAML

bulk-test-llvm: add cvise, bump version

(wiz)

2021-11-20 19:58:32 UTC MAIN commitmail json YAML

doc: Updated devel/cvise to 2.4.0

(wiz)

2021-11-20 19:58:22 UTC MAIN commitmail json YAML

cvise: update to 2.4.0.

Changes done in the release:

    support LLVM 13
    support KeyboardInterrupt properly

(wiz)

2021-11-20 19:07:53 UTC MAIN commitmail json YAML

doc: Updated audio/mixxx to 2.3.1

(nia)

2021-11-20 19:07:38 UTC MAIN commitmail json YAML

2021-11-20 18:59:17 UTC MAIN commitmail json YAML

doc: Updated comms/libhidapi to 0.11.0

(nia)

2021-11-20 18:59:05 UTC MAIN commitmail json YAML

2021-11-20 18:51:22 UTC MAIN commitmail json YAML

qgis: Adjust comment about unpackaged dependency

(gdt)

2021-11-20 18:09:45 UTC MAIN commitmail json YAML

audio: Add libkeyfinder

libkeyfinder is a small C++11 library for estimating the musical key of
digital audio. It is published under the GNU General Public License version
3 or later.

(nia)

2021-11-20 18:06:30 UTC MAIN commitmail json YAML

doc: Updated pkgtools/pkglint to 21.3.4

(rillig)

2021-11-20 18:06:13 UTC MAIN commitmail json YAML

pkgtools/pkglint: update to 21.3.4

Changes since 21.3.3:

For wip packages, allow SHA1 to be used as digest algorithm.  An example
package that needs this is wip/doomlegacy-devel.

(rillig)

2021-11-20 16:10:26 UTC MAIN commitmail json YAML

Note update of lang/rust to 1.56.1.

(he)

2021-11-20 16:09:46 UTC MAIN commitmail json YAML

pkgsrc/lang/rust/Makefile@1.247 / diff
pkgsrc/lang/rust/distinfo@1.139 / diff
pkgsrc/lang/rust/options.mk@1.17 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs@1.3 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs@1.4 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs@1.3 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs@1.5 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs@1.5 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs@1.5 / diff
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_solaris__base.rs deleted
pkgsrc/lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure deleted
pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs@1.3 / diff
pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs@1.5 / diff
pkgsrc/lang/rust/patches/patch-library_unwind_build.rs@1.6 / diff
pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py@1.8 / diff
pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs@1.18 / diff
pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs@1.5 / diff
pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs@1.11 / diff
pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt@1.6 / diff
pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake@1.7 / diff
      :
(more 19 files)
Update lang/rust to version 1.56.1.

Pkgsrc changes:
* Bump bootstrap kit version to 1.55.0.
* Adjust patches as needed, some no longer apply (so removed)
* Update checksum adjustments.
* Avoid rust-llvm on SunOS
* Optionally build docs
* Remove reference to closed/old PR#54621

Upstream changes:

Version 1.56.1 (2021-11-01)
===========================

- New lints to detect the presence of bidirectional-override Unicode
  codepoints in the compiled source code ([CVE-2021-42574])

[CVE-2021-42574]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-42574

Version 1.56.0 (2021-10-21)
========================

Language
--------

- [The 2021 Edition is now stable.][rust#88100]
  See [the edition guide][rust-2021-edition-guide] for more details.
- [The pattern in `binding @ pattern` can now also introduce new bindings.]
  [rust#85305]
- [Union field access is permitted in `const fn`.][rust#85769]

[rust-2021-edition-guide]:
  https://doc.rust-lang.org/nightly/edition-guide/rust-2021/index.html

Compiler
--------

- [Upgrade to LLVM 13.][rust#87570]
- [Support memory, address, and thread sanitizers on aarch64-unknown-freebsd.]
  [rust#88023]
- [Allow specifying a deployment target version for all iOS targets][rust#87699]
- [Warnings can be forced on with `--force-warn`.][rust#87472]
  This feature is primarily intended for usage by `cargo fix`, rather than
  end users.
- [Promote `aarch64-apple-ios-sim` to Tier 2\*.][rust#87760]
- [Add `powerpc-unknown-freebsd` at Tier 3\*.][rust#87370]
- [Add `riscv32imc-esp-espidf` at Tier 3\*.][rust#87666]

\* Refer to Rust's [platform support page][platform-support-doc] for more
information on Rust's tiered platform support.

Libraries
---------

- [Allow writing of incomplete UTF-8 sequences via stdout/stderr on Windows.]
  [rust#83342]
  The Windows console still requires valid Unicode, but this change allows
  splitting a UTF-8 character across multiple write calls. This allows, for
  instance, programs that just read and write data buffers (e.g. copying a file
  to stdout) without regard for Unicode or character boundaries.
- [Prefer `AtomicU{64,128}` over Mutex for Instant backsliding protection.]
  [rust#83093]
  For this use case, atomics scale much better under contention.
- [Implement `Extend<(A, B)>` for `(Extend<A>, Extend<B>)`][rust#85835]
- [impl Default, Copy, Clone for std::io::Sink and std::io::Empty][rust#86744]
- [`impl From<[(K, V); N]>` for all collections.][rust#84111]
- [Remove `P: Unpin` bound on impl Future for Pin.][rust#81363]
- [Treat invalid environment variable names as non-existent.][rust#86183]
  Previously, the environment functions would panic if given a
  variable name with an internal null character or equal sign (`=`).
  Now, these functions will just treat such names as non-existent
  variables, since the OS cannot represent the existence of a
  variable with such a name.

Stabilised APIs
---------------

- [`std::os::unix::fs::chroot`]
- [`UnsafeCell::raw_get`]
- [`BufWriter::into_parts`]
- [`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]
  These APIs were previously stable in `std`, but are now also available
  in `core`.
- [`Vec::shrink_to`]
- [`String::shrink_to`]
- [`OsString::shrink_to`]
- [`PathBuf::shrink_to`]
- [`BinaryHeap::shrink_to`]
- [`VecDeque::shrink_to`]
- [`HashMap::shrink_to`]
- [`HashSet::shrink_to`]

These APIs are now usable in const contexts:

- [`std::mem::transmute`]
- [`[T]::first`][`slice::first`]
- [`[T]::split_first`][`slice::split_first`]
- [`[T]::last`][`slice::last`]
- [`[T]::split_last`][`slice::split_last`]

Cargo
-----

- [Cargo supports specifying a minimum supported Rust version in Cargo.toml.]
  [`rust-version`]
  This has no effect at present on dependency version selection.
  We encourage crates to specify their minimum supported Rust
  version, and we encourage CI systems that support Rust code to
  include a crate's specified minimum version in the text matrix
  for that crate by default.

Compatibility notes
-------------------

- [Update to new argument parsing rules on Windows.][rust#87580]
  This adjusts Rust's standard library to match the behavior of the standard
  libraries for C/C++. The rules have changed slightly over time, and this PR
  brings us to the latest set of rules (changed in 2008).
- [Disallow the aapcs calling convention on aarch64][rust#88399]
  This was already not supported by LLVM; this change surfaces this lack of
  support with a better error message.
- [Make `SEMICOLON_IN_EXPRESSIONS_FROM_MACROS` warn by default][rust#87385]
- [Warn when an escaped newline skips multiple lines.][rust#87671]
- [Calls to `libc::getpid` / `std::process::id` from `Command::pre_exec`
  may return different values on glibc <= 2.24.][rust#81825]
  Rust now invokes the `clone3` system call directly, when available,
  to use new functionality available via that system call. Older
  versions of glibc cache the result of `getpid`, and only update
  that cache when calling glibc's clone/fork functions, so a direct
  system call bypasses that cache update. glibc 2.25 and newer no
  longer cache `getpid` for exactly this reason.

Internal changes
----------------
These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

- [LLVM is compiled with PGO in published x86_64-unknown-linux-gnu artifacts.]
  [rust#88069]
  This improves the performance of most Rust builds.
- [Unify representation of macros in internal data structures.][rust#88019]
  This change fixes a host of bugs with the handling of macros by the compiler,
  as well as rustdoc.

[`std::os::unix::fs::chroot`]: https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chroot.html
[`Iterator::intersperse`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`Iterator::intersperse_with`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`UnsafeCell::raw_get`]: https://doc.rust-lang.org/stable/std/cell/struct.UnsafeCell.html#method.raw_get
[`BufWriter::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.BufWriter.html#method.into_parts
[`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]: https://github.com/rust-lang/rust/pull/84662
[`Vec::shrink_to`]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.shrink_to
[`String::shrink_to`]: https://doc.rust-lang.org/stable/std/string/struct.String.html#method.shrink_to
[`OsString::shrink_to`]: https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.shrink_to
[`PathBuf::shrink_to`]: https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.shrink_to
[`BinaryHeap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.BinaryHeap.html#method.shrink_to
[`VecDeque::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.shrink_to
[`HashMap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_map/struct.HashMap.html#method.shrink_to
[`HashSet::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_set/struct.HashSet.html#method.shrink_to
[`std::mem::transmute`]: https://doc.rust-lang.org/stable/std/mem/fn.transmute.html
[`slice::first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first
[`slice::split_first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first
[`slice::last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last
[`slice::split_last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last
[`rust-version`]: https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-rust-version-field
[rust#87671]: https://github.com/rust-lang/rust/pull/87671
[rust#86183]: https://github.com/rust-lang/rust/pull/86183
[rust#87385]: https://github.com/rust-lang/rust/pull/87385
[rust#88100]: https://github.com/rust-lang/rust/pull/88100
[rust#86860]: https://github.com/rust-lang/rust/pull/86860
[rust#84039]: https://github.com/rust-lang/rust/pull/84039
[rust#86492]: https://github.com/rust-lang/rust/pull/86492
[rust#88363]: https://github.com/rust-lang/rust/pull/88363
[rust#85305]: https://github.com/rust-lang/rust/pull/85305
[rust#87832]: https://github.com/rust-lang/rust/pull/87832
[rust#88069]: https://github.com/rust-lang/rust/pull/88069
[rust#87472]: https://github.com/rust-lang/rust/pull/87472
[rust#87699]: https://github.com/rust-lang/rust/pull/87699
[rust#87570]: https://github.com/rust-lang/rust/pull/87570
[rust#88023]: https://github.com/rust-lang/rust/pull/88023
[rust#87760]: https://github.com/rust-lang/rust/pull/87760
[rust#87370]: https://github.com/rust-lang/rust/pull/87370
[rust#87580]: https://github.com/rust-lang/rust/pull/87580
[rust#83342]: https://github.com/rust-lang/rust/pull/83342
[rust#83093]: https://github.com/rust-lang/rust/pull/83093
[rust#88177]: https://github.com/rust-lang/rust/pull/88177
[rust#88548]: https://github.com/rust-lang/rust/pull/88548
[rust#88551]: https://github.com/rust-lang/rust/pull/88551
[rust#88299]: https://github.com/rust-lang/rust/pull/88299
[rust#88220]: https://github.com/rust-lang/rust/pull/88220
[rust#85835]: https://github.com/rust-lang/rust/pull/85835
[rust#86879]: https://github.com/rust-lang/rust/pull/86879
[rust#86744]: https://github.com/rust-lang/rust/pull/86744
[rust#84662]: https://github.com/rust-lang/rust/pull/84662
[rust#86593]: https://github.com/rust-lang/rust/pull/86593
[rust#81050]: https://github.com/rust-lang/rust/pull/81050
[rust#81363]: https://github.com/rust-lang/rust/pull/81363
[rust#84111]: https://github.com/rust-lang/rust/pull/84111
[rust#85769]: https://github.com/rust-lang/rust/pull/85769#issuecomment-854363720
[rust#88490]: https://github.com/rust-lang/rust/pull/88490
[rust#88269]: https://github.com/rust-lang/rust/pull/88269
[rust#84176]: https://github.com/rust-lang/rust/pull/84176
[rust#88399]: https://github.com/rust-lang/rust/pull/88399
[rust#88227]: https://github.com/rust-lang/rust/pull/88227
[rust#88200]: https://github.com/rust-lang/rust/pull/88200
[rust#82776]: https://github.com/rust-lang/rust/pull/82776
[rust#88077]: https://github.com/rust-lang/rust/pull/88077
[rust#87728]: https://github.com/rust-lang/rust/pull/87728
[rust#87050]: https://github.com/rust-lang/rust/pull/87050
[rust#87619]: https://github.com/rust-lang/rust/pull/87619
[rust#81825]: https://github.com/rust-lang/rust/pull/81825#issuecomment-808406918
[rust#88019]: https://github.com/rust-lang/rust/pull/88019
[rust#87666]: https://github.com/rust-lang/rust/pull/87666

Version 1.55.0 (2021-09-09)
============================

Language
--------
- [You can now write open "from" range patterns (`X..`), which will start
  at `X` and will end at the maximum value of the integer.][83918]
- [You can now explicitly import the prelude of different editions
  through `std::prelude` (e.g. `use std::prelude::rust_2021::*;`).][86294]

Compiler
--------
- [Added tier 3\* support for `powerpc64le-unknown-freebsd`.][83572]

\* Refer to Rust's [platform support page][platform-support-doc] for more
  information on Rust's tiered platform support.

Libraries
---------

- [Updated std's float parsing to use the Eisel-Lemire algorithm.][86761]
  These improvements should in general provide faster string parsing of floats,
  no longer reject certain valid floating point values, and reduce
  the produced code size for non-stripped artifacts.
- [`string::Drain` now implements `AsRef<str>` and `AsRef<[u8]>`.][86858]

Stabilised APIs
---------------

- [`Bound::cloned`]
- [`Drain::as_str`]
- [`IntoInnerError::into_error`]
- [`IntoInnerError::into_parts`]
- [`MaybeUninit::assume_init_mut`]
- [`MaybeUninit::assume_init_ref`]
- [`MaybeUninit::write`]
- [`array::map`]
- [`ops::ControlFlow`]
- [`x86::_bittest`]
- [`x86::_bittestandcomplement`]
- [`x86::_bittestandreset`]
- [`x86::_bittestandset`]
- [`x86_64::_bittest64`]
- [`x86_64::_bittestandcomplement64`]
- [`x86_64::_bittestandreset64`]
- [`x86_64::_bittestandset64`]

The following previously stable functions are now `const`.

- [`str::from_utf8_unchecked`]

Cargo
-----
- [Cargo will now deduplicate compiler diagnostics to the terminal when invoking
  rustc in parallel such as when using `cargo test`.][cargo/9675]
- [The package definition in `cargo metadata` now includes the `"default_run"`
  field from the manifest.][cargo/9550]
- [Added `cargo d` as an alias for `cargo doc`.][cargo/9680]
- [Added `{lib}` as formatting option for `cargo tree` to print the `"lib_name"`
  of packages.][cargo/9663]

Rustdoc
-------
- [Added "Go to item on exact match" search option.][85876]
- [The "Implementors" section on traits no longer shows redundant
  method definitions.][85970]
- [Trait implementations are toggled open by default.][86260] This should
  make the implementations more searchable by tools like `CTRL+F` in
  your browser.
- [Intra-doc links should now correctly resolve associated items (e.g. methods)
  through type aliases.][86334]
- [Traits which are marked with `#[doc(hidden)]` will no longer appear in the
  "Trait Implementations" section.][86513]

Compatibility Notes
-------------------
- [std functions that return an `io::Error` will no longer use the
  `ErrorKind::Other` variant.][85746] This is to better reflect that these
  kinds of errors could be categorised [into newer more specific `ErrorKind`
  variants][79965], and that they do not represent a user error.
- [Using environment variable names with `process::Command` on Windows now
  behaves as expected.][85270] Previously using envionment variables with
  `Command` would cause them to be ASCII-uppercased.
- [Rustdoc will now warn on using rustdoc lints that aren't prefixed
  with `rustdoc::`][86849]

[86849]: https://github.com/rust-lang/rust/pull/86849
[86513]: https://github.com/rust-lang/rust/pull/86513
[86334]: https://github.com/rust-lang/rust/pull/86334
[86260]: https://github.com/rust-lang/rust/pull/86260
[85970]: https://github.com/rust-lang/rust/pull/85970
[85876]: https://github.com/rust-lang/rust/pull/85876
[83572]: https://github.com/rust-lang/rust/pull/83572
[86294]: https://github.com/rust-lang/rust/pull/86294
[86858]: https://github.com/rust-lang/rust/pull/86858
[86761]: https://github.com/rust-lang/rust/pull/86761
[85769]: https://github.com/rust-lang/rust/pull/85769
[85746]: https://github.com/rust-lang/rust/pull/85746
[85305]: https://github.com/rust-lang/rust/pull/85305
[85270]: https://github.com/rust-lang/rust/pull/85270
[84111]: https://github.com/rust-lang/rust/pull/84111
[83918]: https://github.com/rust-lang/rust/pull/83918
[79965]: https://github.com/rust-lang/rust/pull/79965
[87370]: https://github.com/rust-lang/rust/pull/87370
[87298]: https://github.com/rust-lang/rust/pull/87298
[cargo/9663]: https://github.com/rust-lang/cargo/pull/9663
[cargo/9675]: https://github.com/rust-lang/cargo/pull/9675
[cargo/9550]: https://github.com/rust-lang/cargo/pull/9550
[cargo/9680]: https://github.com/rust-lang/cargo/pull/9680
[cargo/9663]: https://github.com/rust-lang/cargo/pull/9663
[`array::map`]: https://doc.rust-lang.org/stable/std/primitive.array.html#method.map
[`Bound::cloned`]: https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.cloned
[`Drain::as_str`]: https://doc.rust-lang.org/stable/std/string/struct.Drain.html#method.as_str
[`IntoInnerError::into_error`]: https://doc.rust-lang.org/stable/std/io/struct.IntoInnerError.html#method.into_error
[`IntoInnerError::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.IntoInnerError.html#method.into_parts
[`MaybeUninit::assume_init_mut`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_mut
[`MaybeUninit::assume_init_ref`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_ref
[`MaybeUninit::write`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write
[`Seek::rewind`]: https://doc.rust-lang.org/stable/std/io/trait.Seek.html#method.rewind
[`ops::ControlFlow`]: https://doc.rust-lang.org/stable/std/ops/enum.ControlFlow.html
[`str::from_utf8_unchecked`]: https://doc.rust-lang.org/stable/std/str/fn.from_utf8_unchecked.html
[`x86::_bittest`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittest.html
[`x86::_bittestandcomplement`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandcomplement.html
[`x86::_bittestandreset`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandreset.html
[`x86::_bittestandset`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandset.html
[`x86_64::_bittest64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittest64.html
[`x86_64::_bittestandcomplement64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandcomplement64.html
[`x86_64::_bittestandreset64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandreset64.html
[`x86_64::_bittestandset64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandset64.html

(he)

2021-11-20 15:29:03 UTC MAIN commitmail json YAML

doc: Updated archivers/ruby-xz to 1.0.1

(taca)

2021-11-20 15:28:40 UTC MAIN commitmail json YAML

archivers/ruby-xz: update to 1.0.1

1.0.1 (2021-11-13)

* Fix a buffer overflow error in XZ::Stream (PR Quintus#17 by genail)

* Fix an issue with transcode_options that was introduced by Ruby 3 (PR
  win93#1 by Alex Gittemeier)

* Update project README, gemspec, and other metadata to reflect a change in
  maintainership. All prior releases were released by Marvin G端lker.

(taca)

2021-11-20 15:14:50 UTC MAIN commitmail json YAML

doc: Updated mail/roundcube and related packages to 1.5.0

mail/roundcube
mail/roundcube-plugin-enigma
mail/roundcube-plugin-password
mail/roundcube-plugin-zipdownload

(taca)

2021-11-20 15:13:33 UTC MAIN commitmail json YAML

mail/roundcube: update to 1.5.0

1.5.0 (2021-10-17)

Quote from release announce:

We proudly announce the final release of the next major version 1.5 of
Roundcube webmail. With this milestone we introduce new features and full
PHP 8.0 support. The most noteworthy additions are:

  - Dark mode for Elastic skin
  - OAuth2/XOauth support (with plugin hooks)
  - Collected recipients and trusted senders
  - Moving recipients between inputs with drag & drop
  - Full unicode support with MySQL database
  - Support of IMAP LITERAL- extension RFC 7888
    <https://datatracker.ietf.org/doc/html/rfc7888>
  - Support of RFC 2231 <https://datatracker.ietf.org/doc/html/rfc2231>
    encoded names
  - Cache refactoring

(taca)

2021-11-20 10:39:16 UTC MAIN commitmail json YAML

doc: Updated www/jira-cli to 0.2.0

(fox)

2021-11-20 10:38:05 UTC MAIN commitmail json YAML

www/jira-cli: Update to 0.2.0

Changes since 0.1.1:

> This version has some breaking changes in the config file and, you will
need to regenerate the config for all features to work.

## Notable changes
- The tool is now compatible with next-gen/team-managed project.
- New filters when listing issues, viz:
  - Filter by parent: This will allow you to list all sub-tasks of a task.
  - Order by filter: This will allow you to display a list sorted by their
    rank for example.
- You can now assign epic to the issue on creation.
- You can add issues to the sprint with `jira sprint add`

## What's added?
- feat: Allow to assign epic on create #194
- feat: Cmd to add issues to sprint #205
- feat: Allow to filter by parent #197
- feat: Add order-by filter #206
- feat: Add type on project listing #190

## What's fixed?
- fix: Make epic add work in next-gen project #195
- fix: Epic creation for next-gen project #192
- fix: Make epic remove work in next-gen project #196
- fix: Make epic list work for next-gen project #201
- fix: Segmentation fault on view #202
- fix(tui): Link/key copy is broken for altered key col #204

## Config changes
- cfg!: Expand config to include project type #191
- cfg!: Rename field to name and add link field to epic #193

## Dependency updates
- dep: Upgrade rivo/tview #176
- dep: Upgrade outdated deps to latest #177
- dep: Use Go 1.17 #178

**Full Changelog**: https://github.com/ankitpokhrel/jira-cli/compare/v0.1.1...v0.2.0

(fox)

2021-11-20 05:58:54 UTC MAIN commitmail json YAML

doc: Updated benchmarks/bonnie++ to 1.98nb1

(rin)

2021-11-20 05:57:29 UTC MAIN commitmail json YAML

2021-11-20 00:31:18 UTC MAIN commitmail json YAML

doc: Updated devel/mustach to 1.2.2

(sjmulder)

2021-11-20 00:31:10 UTC MAIN commitmail json YAML

devel/mustach: Update to 1.2.2

(Also adds test target)

Changes in 1.2.2:

Fix:
- Fix: SONAME of libmustach-json-c.so

Changes in 1.2.1:

New:
- Add SONAME in libraries.
- Flag Mustach_With_PartialDataFirst to switch the
  policy of resolving partials.
Fix:
- Identification of types in cJSON

Changes in 1.2.0:

New:
- Add hook 'mustach_wrap_get_partial' for handling partials.
- Add test of mustache specifications https://github.com/mustache/spec.
Changes:
- Mustach_With_SingleDot is always set.
- Mustach_With_IncPartial is always set.
- Mustach_With_AllExtensions is changed to use currently known extensions.
- Output of tests changed.
- Makefile improved.
- Partials are first searched as file then in current selection.
- Improved management of delimiters.
Fixes:
- Improved output accordingly to https://github.com/mustache/spec:
  - escaping of quote "
  - interpolating null with empty string
  - removal of empty lines with standalone tag
  - don't enter section if null
  - indentation of partials
- comment improved for get of mustach_wrap_itf.

(sjmulder)

2021-11-19 22:19:46 UTC MAIN commitmail json YAML

doc: Updated math/bcal to 2.3

(sjmulder)

2021-11-19 22:19:39 UTC MAIN commitmail json YAML

math/bcal: Update to 2.3

Changes:
- show binary conversion output in octets for readability
- handle ^D
- quit program or 'exit' or 'quit'
- fix broken terminal with calc as backend on "undefined input" (#36)

(sjmulder)

2021-11-19 22:14:26 UTC MAIN commitmail json YAML

doc: Updated math/sc-im to 0.8.2nb4

(sjmulder)

2021-11-19 22:14:19 UTC MAIN commitmail json YAML

math/sc-im: Revbump for libxlsxwriter-1.1.4

(sjmulder)

2021-11-19 22:13:39 UTC MAIN commitmail json YAML

doc: Updated textproc/libxlsxwriter to 1.1.4

(sjmulder)

2021-11-19 22:13:32 UTC MAIN commitmail json YAML

textproc/libxlsxwriter: Update to 1.1.4

Changes:
- Added support for Worksheet tables. Tables in Excel are a way of
  grouping a range of cells into a single entity that has common
  formatting or that can be referenced from formulas. Tables can have
  column headers, autofilters, total rows, column formulas and default
  formatting. See working_with_tables and tables.c.
- Added support for adding a macro button to a worksheet. See macro.c.

Package changes:
- Fixed test target (missing py.test version suffix).

(sjmulder)

2021-11-19 21:55:22 UTC MAIN commitmail json YAML

Updated print/py-weasyprint, graphics/libjpeg-turbo

(adam)

2021-11-19 21:55:01 UTC MAIN commitmail json YAML

libjpeg-turbo: updated to 2.1.2

2.1.2
=====

Significant changes relative to 2.1.1

1. Fixed a regression introduced by 2.1 beta1[13] that caused the remaining
GAS implementations of AArch64 (Arm 64-bit) Neon SIMD functions (which are used
by default with GCC for performance reasons) to be placed in the `.rodata`
section rather than in the `.text` section.  This caused the GNU linker to
automatically place the `.rodata` section in an executable segment, which
prevented libjpeg-turbo from working properly with other linkers and also
represented a potential security risk.

2. Fixed an issue whereby the `tjTransform()` function incorrectly computed the
MCU block size for 4:4:4 JPEG images with non-unary sampling factors and thus
unduly rejected some cropping regions, even though those regions aligned with
8x8 MCU block boundaries.

3. Fixed a regression introduced by 2.1 beta1[13] that caused the build system
to enable the Arm Neon SIMD extensions when targetting Armv6 and other legacy
architectures that do not support Neon instructions.

4. libjpeg-turbo now performs run-time detection of AltiVec instructions on
FreeBSD/PowerPC systems if AltiVec instructions are not enabled at compile
time.  This allows both AltiVec-equipped and non-AltiVec-equipped CPUs to be
supported using the same build of libjpeg-turbo.

5. cjpeg now accepts a `-strict` argument similar to that of djpeg and
jpegtran, which causes the compressor to abort if an LZW-compressed GIF input
image contains incomplete or corrupt image data.

(adam)

2021-11-19 21:53:29 UTC MAIN commitmail json YAML

py-weasyprint: updated to 53.4

Version 53.4
------------
Bug fixes:
* Fix background on pages with a bleed property
* Use SVG width/height as inner size when no viewBox is given
* Only enable letter- and word-spacing when needed
* Don窶冲 display inputs with "hidden" type
* Allow quotes in url() syntax for SVG,
* Use better approximations for font ascent and descent values in SVG
* Fix images embedded from multiple pages
* Use a better hash for fonts to avoid collisions
* Set SVG ratio when width and height are 0

Version 53.3
------------
Bug fixes:
* Fix crashes and malformed PDF files
* Handle cx and cy in SVG rotations
* Fix marker-start being drawn on mid vertices

Version 53.2
------------
New features:
* Re-add the ``make_bookmark_tree()`` method

Bug fixes:
* Fix package deployed on PyPI

Version 53.1
------------
Bug fixes:
* Don窶冲 crash when leaders are in floats
* Embed images once
* Fix crash with SVG intrinsic ratio

Documentation:
* Include ``weasyprint.tools`` removal in documentation

Version 53.0
------------
This version also includes the changes from unstable b1 and b2 versions listed
below.

Dependencies:

* Pango 1.44.0+ is now needed.
* pydyf 0.0.3+ is now needed.
* fontTools 4.0.0+ is now needed.
* html5lib 1.0.1+ is now needed.

API changes:
* ``FontConfiguration`` is now in the ``weasyprint.text.fonts`` module.
* ``--format`` and ``--resolution`` options have been deprecated, PDF is the
  only output format supported.
* ``--optimize-images`` option has been deprecated and replaced by
  ``--optimize-size``, allowing ``images``, ``fonts``, ``all`` and ``none``
  values.
* ``weasyprint.tools`` have been removed.

Performance:
* Improve image management

New features:
* Support basic "clipPath" in SVG

Bug fixes:
* Render use path in SVG
* Fix fill color on use path in SVG
* Handle stroke-opacity and fill-opacity
* Fix crash with borders whose widths are in em
* Fix crash on draw_pattern
* Handle stacking contexts put in contexts by previous generations
* Catch font subsetting errors
* Fix how x and y attributes are handled in SVG
* Don窶冲 crash when use tags reference non-existing element
* Handle font collections
* Handle x and y attributes in use tags

Documentation:
* Add documentation for installation

(adam)

2021-11-19 19:42:18 UTC MAIN commitmail json YAML

doc: wm/progman was added, not updated

(sjmulder)

2021-11-19 19:00:41 UTC MAIN commitmail json YAML

doc: Updated wm/progman to 1.0

(sjmulder)

2021-11-19 19:00:16 UTC MAIN commitmail json YAML

wm/Makefile: +progman

(sjmulder)

2021-11-19 18:59:09 UTC MAIN commitmail json YAML

wm/progman: Import progman-1.0 from wip/progman

Simple, configurable X11 window manager and launcher modeled after
Program Manager from the Windows 3 era.

(sjmulder)

2021-11-19 16:39:02 UTC MAIN commitmail json YAML

doc: Updated games/woof to 8.0.0

(micha)

2021-11-19 16:37:39 UTC MAIN commitmail json YAML

games/woof: Update to 8.0.0

Woof! 8.0.0
-----------
- Workaround for SDL_Mixer MP3 header check (fixes music in PREACHER.WAD)
  (@rfomin).
- Fix order of DEH files processing (@rfomin).
- Fix automap marks in overlay mode (@rfomin).
- Multiple key (or mouse/gamepad button) bindings for all actions
  (@rfomin).
- Modern gamepad support (@rfomin).
- Add (optional) transparent ghost monsters from Crispy Doom (@rfomin).
- Fix spectre/fuzz effect (taken from SMMU and Crispy Doom) (@rfomin).
- Uncouple showing "secret revealed" message from general messages.
- Add flashing in the automap for key based switches from Crispy Doom
  (@rfomin).
- Fix things display in automap overlay mode (@rfomin).
- Error reporting when detecting PNG patches (@rfomin).
- Add forgotten codepointers to the [CODEPTR] dehacked section (fixes
  axolotlx.wad) (@rfomin).
- Config settings for mouse acceleration (@rfomin).
- Fix idclev for UMAPINFO defined maps (@rfomin).
- Show time/STS widgets above status bar (extended HUD from DSDA-Doom)
  (@rfomin).
- UMAPDEF lumps for internal UMAPINFO (fixes No Rest for the Living
  midipack) (@rfomin).
- Cosmetic menu groups (@rfomin).
- Add comp_reservedlineflag (MBF21 v1.4 update) (@rfomin).
- Bring comp_ledgeblock implementation in line with DSDA-Doom (@rfomin).
- Save the setup menus' cursor positions.
- Reset the column drawing function (fixes some rendering issues).
- Print a message when toggling "always run".
- Add Chex Quest support (@rfomin).
- When drawing introductory levelname, use height of entering patch
  (fixes CWILV graphics from Eviternity.wad) (@rfomin)
- Save window position across fullscreen toggles.
- Fix musinfo lumpnum reset (@rfomin).
- Port exclusive fullscreen over from Chocolate Doom (fullscreen_width
  and fullscreen_height in config).
- Convert pusher source thing pointers into indices (fixes rare savegame
  issue) (@rfomin).
- Add ENDOOM support from Chocolate Doom (@rfomin).
- Fix UMAPINFO enterpic field (@rfomin).
- Add global autoload directories to search before local ones (fixes
  autoload on *NIX systems).

(micha)

2021-11-19 14:33:00 UTC MAIN commitmail json YAML

doc: Updated net/bind916 to 9.16.23

(taca)

2021-11-19 14:32:28 UTC MAIN commitmail json YAML

net/bind916: update to 9.16.23

--- 9.16.23 released ---

5752. [bug] Fix an assertion failure caused by missing member zones
during a reload of a catalog zone. [GL #2308]

5750. [bug] Fix a bug when comparing two RSA keys. There was a typo
which caused the "p" prime factors to not being
compared. [GL #2972]

5737. [bug] Address Coverity warning in lib/dns/dnssec.c.
[GL #2935]

(taca)

2021-11-19 14:29:49 UTC MAIN commitmail json YAML

doc: Updated lang/php80 to 8.0.13

(taca)

2021-11-19 14:29:05 UTC MAIN commitmail json YAML

lang/php80: update to 8.0.13

This release contains security fix.

18 Nov 2021, PHP 8.0.13

- Core:
  . Fixed bug #81518 (Header injection via default_mimetype / default_charset).
    (cmb)

- Date:
  . Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2).
    (cmb)

- MBString:
  . Fixed bug #76167 (mbstring may use pointer from some previous request).
    (cmb, cataphract)

- Opcache:
  . Fixed bug #81512 (Unexpected behavior with arrays and JIT). (Dmitry)

- PCRE:
  . Fixed bug #81424 (PCRE2 10.35 JIT performance regression). (cmb)

- XML:
  . Fixed bug #79971 (special character is breaking the path in xml function).
    (CVE-2021-21707) (cmb)

- XMLReader:
  . Fixed bug #81521 (XMLReader::getParserProperty may throw with a valid
    property). (Nikita)

(taca)

2021-11-19 14:28:21 UTC MAIN commitmail json YAML

doc: Updated lang/php73 to 7.3.33

(taca)

2021-11-19 14:27:56 UTC MAIN commitmail json YAML

lang/php73: update to 7.3.33

This release contains security fix.

18 Nov 2021, PHP 7.3.33

- XML:
  . Fix #79971: special character is breaking the path in xml function.
    (CVE-2021-21707) (cmb)

(taca)

2021-11-19 14:26:59 UTC MAIN commitmail json YAML

doc: Updated lang/php74 to 7.4.26

(taca)

2021-11-19 14:26:29 UTC MAIN commitmail json YAML

lang/php74: udpate to 7.4.26

This release contains security fix.

18 Nov 2021, PHP 7.4.26

- Core:
  . Fixed bug #81518 (Header injection via default_mimetype / default_charset).
    (cmb)

- Date:
  . Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2).
    (cmb)

- MBString:
  . Fixed bug #76167 (mbstring may use pointer from some previous request).
    (cmb, cataphract)

- MySQLi:
  . Fixed bug #81494 (Stopped unbuffered query does not throw error). (Nikita)

- PCRE:
  . Fixed bug #81424 (PCRE2 10.35 JIT performance regression). (cmb)

- Streams:
  . Fixed bug #54340 (Memory corruption with user_filter). (Nikita)

- XML:
  . Fixed bug #79971 (special character is breaking the path in xml function).
    (CVE-2021-21707) (cmb)

(taca)

2021-11-19 14:21:15 UTC MAIN commitmail json YAML

lxqt: reflect lxqt-session update

Ride general 1.0.0 update from earlier today.

(gutteridge)

2021-11-19 14:20:50 UTC MAIN commitmail json YAML

doc: Updated chat/matrix-synapse to 1.47.0

(gdt)

2021-11-19 14:18:35 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-session to 1.0.0

(gutteridge)

2021-11-19 14:17:44 UTC MAIN commitmail json YAML

x11/lxqt-session: update to 1.0.0

-Bumped minimum required Qt version to 5.15 and updated translations.
-Added procreaper support for FreeBSD.

pkgsrc-specific changes: disable libudev only on non-Linux systems, add
partial procreaper support for NetBSD.

(gutteridge)

2021-11-19 14:06:20 UTC MAIN commitmail json YAML

doc: Updated chat/matrix-synapse to 1.47.0

(js)

2021-11-19 14:06:08 UTC MAIN commitmail json YAML

Update chat/matrix-synapse to 1.47.0

Synapse 1.47.0 (2021-11-17)
===========================

No significant changes since 1.47.0rc3.

Synapse 1.47.0rc3 (2021-11-16)
==============================

Bugfixes
--------

- Fix a bug introduced in 1.47.0rc1 which caused worker processes to not halt startup in the presence of outstanding database migrations. ([\#11346](https://github.com/matrix-org/synapse/issues/11346))
- Fix a bug introduced in 1.47.0rc1 which prevented the 'remove deleted devices from `device_inbox` column' background process from running when updating from a recent Synapse version. ([\#11303](https://github.com/matrix-org/synapse/issues/11303), [\#11353](https://github.com/matrix-org/synapse/issues/11353))

Synapse 1.47.0rc2 (2021-11-10)
==============================

This fixes an issue with publishing the Debian packages for 1.47.0rc1.
It is otherwise identical to 1.47.0rc1.

Synapse 1.47.0rc1 (2021-11-09)
==============================

Deprecations and Removals
-------------------------

- The `user_may_create_room_with_invites` module callback is now deprecated. Please refer to the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1470) for more information. ([\#11206](https://github.com/matrix-org/synapse/issues/11206))
- Remove deprecated admin API to delete rooms (`POST /_synapse/admin/v1/rooms/<room_id>/delete`). ([\#11213](https://github.com/matrix-org/synapse/issues/11213))

Features
--------

- Advertise support for Client-Server API r0.6.1. ([\#11097](https://github.com/matrix-org/synapse/issues/11097))
- Add search by room ID and room alias to the List Room admin API. ([\#11099](https://github.com/matrix-org/synapse/issues/11099))
- Add an `on_new_event` third-party rules callback to allow Synapse modules to act after an event has been sent into a room. ([\#11126](https://github.com/matrix-org/synapse/issues/11126))
- Add a module API method to update a user's membership in a room. ([\#11147](https://github.com/matrix-org/synapse/issues/11147))
- Add metrics for thread pool usage. ([\#11178](https://github.com/matrix-org/synapse/issues/11178))
- Support the stable room type field for [MSC3288](https://github.com/matrix-org/matrix-doc/pull/3288). ([\#11187](https://github.com/matrix-org/synapse/issues/11187))
- Add a module API method to retrieve the current state of a room. ([\#11204](https://github.com/matrix-org/synapse/issues/11204))
- Calculate a default value for `public_baseurl` based on `server_name`. ([\#11210](https://github.com/matrix-org/synapse/issues/11210))
- Add support for serving `/.well-known/matrix/server` files, to redirect federation traffic to port 443. ([\#11211](https://github.com/matrix-org/synapse/issues/11211))
- Add admin APIs to pause, start and check the status of background updates. ([\#11263](https://github.com/matrix-org/synapse/issues/11263))

Bugfixes
--------

- Fix a long-standing bug which allowed hidden devices to receive to-device messages, resulting in unnecessary database bloat. ([\#10097](https://github.com/matrix-org/synapse/issues/10097))
- Fix a long-standing bug where messages in the `device_inbox` table for deleted devices would persist indefinitely. Contributed by @dklimpel and @JohannesKleine. ([\#10969](https://github.com/matrix-org/synapse/issues/10969), [\#11212](https://github.com/matrix-org/synapse/issues/11212))
- Do not accept events if a third-party rule `check_event_allowed` callback raises an exception. ([\#11033](https://github.com/matrix-org/synapse/issues/11033))
- Fix long-standing bug where verification requests could fail in certain cases if a federation whitelist was in place but did not include your own homeserver. ([\#11129](https://github.com/matrix-org/synapse/issues/11129))
- Allow an empty list of `state_events_at_start` to be sent when using the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint and the author of the historical messages is already part of the current room state at the given `?prev_event_id`. ([\#11188](https://github.com/matrix-org/synapse/issues/11188))
- Fix a bug introduced in Synapse 1.45.0 which prevented the `synapse_review_recent_signups` script from running. Contributed by @samuel-p. ([\#11191](https://github.com/matrix-org/synapse/issues/11191))
- Delete `to_device` messages for hidden devices that will never be read, reducing database size. ([\#11199](https://github.com/matrix-org/synapse/issues/11199))
- Fix a long-standing bug wherein a missing `Content-Type` header when downloading remote media would cause Synapse to throw an error. ([\#11200](https://github.com/matrix-org/synapse/issues/11200))
- Fix a long-standing bug which could result in serialization errors and potentially duplicate transaction data when sending ephemeral events to application services. Contributed by @Fizzadar at Beeper. ([\#11207](https://github.com/matrix-org/synapse/issues/11207))
- Fix a bug introduced in Synapse 1.35.0 which made it impossible to join rooms that return a `send_join` response containing floats. ([\#11217](https://github.com/matrix-org/synapse/issues/11217))
- Fix long-standing bug where cross signing keys were not included in the response to `/r0/keys/query` the first time a remote user was queried. ([\#11234](https://github.com/matrix-org/synapse/issues/11234))
- Fix a long-standing bug where all requests that read events from the database could get stuck as a result of losing the database connection. ([\#11240](https://github.com/matrix-org/synapse/issues/11240))
- Fix a bug preventing Synapse from being rolled back to an earlier version when using workers. ([\#11255](https://github.com/matrix-org/synapse/issues/11255), [\#11276](https://github.com/matrix-org/synapse/issues/11276))
- Fix a bug introduced in Synapse 1.37.1 which caused a remote event being processed by a worker to not get processed on restart if the worker was killed. ([\#11262](https://github.com/matrix-org/synapse/issues/11262))
- Only allow old Element/Riot Android clients to send read receipts without a request body. All other clients must include a request body as required by the specification. Contributed by @rogersheu. ([\#11157](https://github.com/matrix-org/synapse/issues/11157))

Updates to the Docker image
---------------------------

- Avoid changing user ID when started as a non-root user, and no explicit `UID` is set. ([\#11209](https://github.com/matrix-org/synapse/issues/11209))

Improved Documentation
----------------------

- Improve example HAProxy config in the docs to properly handle HTTP `Host` headers with port information. This is required for federation over port 443 to work correctly. ([\#11128](https://github.com/matrix-org/synapse/issues/11128))
- Add documentation for using Authentik as an OpenID Connect Identity Provider. Contributed by @samip5. ([\#11151](https://github.com/matrix-org/synapse/issues/11151))
- Clarify lack of support for Windows. ([\#11198](https://github.com/matrix-org/synapse/issues/11198))
- Improve code formatting and fix a few typos in docs. Contributed by @sumnerevans at Beeper. ([\#11221](https://github.com/matrix-org/synapse/issues/11221))
- Add documentation for using LemonLDAP as an OpenID Connect Identity Provider. Contributed by @l00ptr. ([\#11257](https://github.com/matrix-org/synapse/issues/11257))

Internal Changes
----------------

- Add type annotations for the `log_function` decorator. ([\#10943](https://github.com/matrix-org/synapse/issues/10943))
- Add type hints to `synapse.events`. ([\#11098](https://github.com/matrix-org/synapse/issues/11098))
- Remove and document unnecessary `RoomStreamToken` checks in application service ephemeral event code. ([\#11137](https://github.com/matrix-org/synapse/issues/11137))
- Add type hints so that `synapse.http` passes `mypy` checks. ([\#11164](https://github.com/matrix-org/synapse/issues/11164))
- Update scripts to pass Shellcheck lints. ([\#11166](https://github.com/matrix-org/synapse/issues/11166))
- Add knock information in admin export. Contributed by Rafael Gonçalves. ([\#11171](https://github.com/matrix-org/synapse/issues/11171))
- Add tests to check that `ClientIpStore.get_last_client_ip_by_device` and `get_user_ip_and_agents` combine database and in-memory data correctly. ([\#11179](https://github.com/matrix-org/synapse/issues/11179))
- Refactor `Filter` to check different fields depending on the data type. ([\#11194](https://github.com/matrix-org/synapse/issues/11194))
- Improve type hints for the relations datastore. ([\#11205](https://github.com/matrix-org/synapse/issues/11205))
- Replace outdated links in the pull request checklist with links to the rendered documentation. ([\#11225](https://github.com/matrix-org/synapse/issues/11225))
- Fix a bug in unit test `test_block_room_and_not_purge`. ([\#11226](https://github.com/matrix-org/synapse/issues/11226))
- In `ObservableDeferred`, run observers in the order they were registered. ([\#11229](https://github.com/matrix-org/synapse/issues/11229))
- Minor speed up to start up times and getting updates for groups by adding missing index to `local_group_updates.stream_id`. ([\#11231](https://github.com/matrix-org/synapse/issues/11231))
- Add `twine` and `towncrier` as dev dependencies, as they're used by the release script. ([\#11233](https://github.com/matrix-org/synapse/issues/11233))
- Allow `stream_writers.typing` config to be a list of one worker. ([\#11237](https://github.com/matrix-org/synapse/issues/11237))
- Remove debugging statement in tests. ([\#11239](https://github.com/matrix-org/synapse/issues/11239))
- Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) historical messages backfilling in random order on remote homeservers. ([\#11244](https://github.com/matrix-org/synapse/issues/11244))
- Add an additional test for the `cachedList` method decorator. ([\#11246](https://github.com/matrix-org/synapse/issues/11246))
- Make minor correction to the type of `auth_checkers` callbacks. ([\#11253](https://github.com/matrix-org/synapse/issues/11253))
- Clean up trivial aspects of the Debian package build tooling. ([\#11269](https://github.com/matrix-org/synapse/issues/11269), [\#11273](https://github.com/matrix-org/synapse/issues/11273))
- Blacklist new SyTest that checks that key uploads are valid pending the validation being implemented in Synapse. ([\#11270](https://github.com/matrix-org/synapse/issues/11270))

Synapse 1.46.0 (2021-11-02)
===========================

The cause of the [performance regression affecting Synapse 1.44](https://github.com/matrix-org/synapse/issues/11049) has been identified and fixed. ([\#11177](https://github.com/matrix-org/synapse/issues/11177))

Bugfixes
--------

- Fix a bug introduced in v1.46.0rc1 where URL previews of some XML documents would fail. ([\#11196](https://github.com/matrix-org/synapse/issues/11196))

Synapse 1.46.0rc1 (2021-10-27)
==============================

Features
--------

- Add support for Ubuntu 21.10 "Impish Indri". ([\#11024](https://github.com/matrix-org/synapse/issues/11024))
- Port the Password Auth Providers module interface to the new generic interface. ([\#10548](https://github.com/matrix-org/synapse/issues/10548), [\#11180](https://github.com/matrix-org/synapse/issues/11180))
- Experimental support for the thread relation defined in [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440). ([\#11088](https://github.com/matrix-org/synapse/issues/11088), [\#11181](https://github.com/matrix-org/synapse/issues/11181), [\#11192](https://github.com/matrix-org/synapse/issues/11192))
- Users admin API can now also modify user type in addition to allowing it to be set on user creation. ([\#11174](https://github.com/matrix-org/synapse/issues/11174))

Bugfixes
--------

- Newly-created public rooms are now only assigned an alias if the room's creation has not been blocked by permission settings. Contributed by @AndrewFerr. ([\#10930](https://github.com/matrix-org/synapse/issues/10930))
- Fix a long-standing bug which meant that events received over federation were sometimes incorrectly accepted into the room state. ([\#11001](https://github.com/matrix-org/synapse/issues/11001), [\#11009](https://github.com/matrix-org/synapse/issues/11009), [\#11012](https://github.com/matrix-org/synapse/issues/11012))
- Fix 500 error on `/messages` when the server accumulates more than 5 backwards extremities at a given depth for a room. ([\#11027](https://github.com/matrix-org/synapse/issues/11027))
- Fix a bug where setting a user's `external_id` via the admin API returns 500 and deletes user's existing external mappings if that external ID is already mapped. ([\#11051](https://github.com/matrix-org/synapse/issues/11051))
- Fix a long-standing bug where users excluded from the user directory were added into the directory if they belonged to a room which became public or private. ([\#11075](https://github.com/matrix-org/synapse/issues/11075))
- Fix a long-standing bug when attempting to preview URLs which are in the `windows-1252` character encoding. ([\#11077](https://github.com/matrix-org/synapse/issues/11077), [\#11089](https://github.com/matrix-org/synapse/issues/11089))
- Fix broken export-data admin command and add test script checking the command to CI. ([\#11078](https://github.com/matrix-org/synapse/issues/11078))
- Show an error when timestamp in seconds is provided to the `/purge_media_cache` Admin API. ([\#11101](https://github.com/matrix-org/synapse/issues/11101))
- Fix local users who left all their rooms being removed from the user directory, even if the `search_all_users` config option was enabled. ([\#11103](https://github.com/matrix-org/synapse/issues/11103))
- Fix a bug which caused the module API's `get_user_ip_and_agents` function to always fail on workers. `get_user_ip_and_agents` was introduced in 1.44.0 and did not function correctly on worker processes at the time. ([\#11112](https://github.com/matrix-org/synapse/issues/11112))
- Identity server connection is no longer ignoring `ip_range_whitelist`. ([\#11120](https://github.com/matrix-org/synapse/issues/11120))
- Fix a bug introduced in Synapse 1.45.0 breaking the configuration file parsing script. ([\#11145](https://github.com/matrix-org/synapse/issues/11145))
- Fix a performance regression introduced in 1.44.0 which could cause client requests to time out when making large numbers of outbound requests. ([\#11177](https://github.com/matrix-org/synapse/issues/11177), [\#11190](https://github.com/matrix-org/synapse/issues/11190))
- Resolve and share `state_groups` for all [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) historical events in batch. ([\#10975](https://github.com/matrix-org/synapse/issues/10975))

Improved Documentation
----------------------

- Fix broken links relating to module API deprecation in the upgrade notes. ([\#11069](https://github.com/matrix-org/synapse/issues/11069))
- Add more information about what happens when a user is deactivated. ([\#11083](https://github.com/matrix-org/synapse/issues/11083))
- Clarify the the sample log config can be copied from the documentation without issue. ([\#11092](https://github.com/matrix-org/synapse/issues/11092))
- Update the admin API documentation with an updated list of the characters allowed in registration tokens. ([\#11093](https://github.com/matrix-org/synapse/issues/11093))
- Document Synapse's behaviour when dealing with multiple modules registering the same callbacks and/or handlers for the same HTTP endpoints. ([\#11096](https://github.com/matrix-org/synapse/issues/11096))
- Fix instances of `[example]{.title-ref}` in the upgrade documentation as a result of prior RST to Markdown conversion. ([\#11118](https://github.com/matrix-org/synapse/issues/11118))
- Document the version of Synapse each module callback was introduced in. ([\#11132](https://github.com/matrix-org/synapse/issues/11132))
- Document the version of Synapse that introduced each module API method. ([\#11183](https://github.com/matrix-org/synapse/issues/11183))

Internal Changes
----------------
- Fix spurious warnings about losing the logging context on the `ReplicationCommandHandler` when losing the replication connection. ([\#10984](https://github.com/matrix-org/synapse/issues/10984))
- Include rejected status when we log events. ([\#11008](https://github.com/matrix-org/synapse/issues/11008))
- Add some extra logging to the event persistence code. ([\#11014](https://github.com/matrix-org/synapse/issues/11014))
- Rearrange the internal workings of the incremental user directory updates. ([\#11035](https://github.com/matrix-org/synapse/issues/11035))
- Fix a long-standing bug where users excluded from the directory could still be added to the `users_who_share_private_rooms` table after a regular user joins a private room. ([\#11143](https://github.com/matrix-org/synapse/issues/11143))
- Add and improve type hints. ([\#10972](https://github.com/matrix-org/synapse/issues/10972), [\#11055](https://github.com/matrix-org/synapse/issues/11055), [\#11066](https://github.com/matrix-org/synapse/issues/11066), [\#11076](https://github.com/matrix-org/synapse/issues/11076), [\#11095](https://github.com/matrix-org/synapse/issues/11095), [\#11109](https://github.com/matrix-org/synapse/issues/11109), [\#11121](https://github.com/matrix-org/synapse/issues/11121), [\#11146](https://github.com/matrix-org/synapse/issues/11146))
- Mark the Synapse package as containing type annotations and fix export declarations so that Synapse pluggable modules may be type checked against Synapse. ([\#11054](https://github.com/matrix-org/synapse/issues/11054))
- Remove dead code from `MediaFilePaths`. ([\#11056](https://github.com/matrix-org/synapse/issues/11056))
- Be more lenient when parsing oEmbed response versions. ([\#11065](https://github.com/matrix-org/synapse/issues/11065))
- Create a separate module for the retention configuration. ([\#11070](https://github.com/matrix-org/synapse/issues/11070))
- Clean up some of the federation event authentication code for clarity. ([\#11115](https://github.com/matrix-org/synapse/issues/11115), [\#11116](https://github.com/matrix-org/synapse/issues/11116), [\#11122](https://github.com/matrix-org/synapse/issues/11122))
- Add docstrings and comments to the application service ephemeral event sending code. ([\#11138](https://github.com/matrix-org/synapse/issues/11138))
- Update the `sign_json` script to support inline configuration of the signing key. ([\#11139](https://github.com/matrix-org/synapse/issues/11139))
- Fix broken link in the docker image README. ([\#11144](https://github.com/matrix-org/synapse/issues/11144))
- Always dump logs from unit tests during CI runs. ([\#11068](https://github.com/matrix-org/synapse/issues/11068))
- Add tests for `MediaFilePaths` class. ([\#11057](https://github.com/matrix-org/synapse/issues/11057))
- Simplify the user admin API tests. ([\#11048](https://github.com/matrix-org/synapse/issues/11048))
- Add a test for the workaround introduced in [\#11042](https://github.com/matrix-org/synapse/pull/11042) concerning the behaviour of third-party rule modules and `SynapseError`s. ([\#11071](https://github.com/matrix-org/synapse/issues/11071))

Synapse 1.45.1 (2021-10-20)
===========================

Bugfixes
--------

- Revert change to counting of deactivated users towards the monthly active users limit, introduced in 1.45.0rc1. ([\#11127](https://github.com/matrix-org/synapse/issues/11127))

Synapse 1.45.0 (2021-10-19)
===========================

No functional changes since Synapse 1.45.0rc2.

Known Issues
------------

- A suspected [performance regression](https://github.com/matrix-org/synapse/issues/11049) which was first reported after the release of 1.44.0 remains unresolved.

  We have not been able to identify a probable cause. Affected users report that setting up a federation sender worker appears to alleviate symptoms of the regression.

Improved Documentation
----------------------

- Reword changelog to clarify concerns about a suspected performance regression in 1.44.0. ([\#11117](https://github.com/matrix-org/synapse/issues/11117))

Synapse 1.45.0rc2 (2021-10-14)
==============================

This release candidate [fixes](https://github.com/matrix-org/synapse/issues/11053) a user directory [bug](https://github.com/matrix-org/synapse/issues/11025) present in 1.45.0rc1.

Known Issues
------------

- A suspected [performance regression](https://github.com/matrix-org/synapse/issues/11049) which was first reported after the release of 1.44.0 remains unresolved.

  We have not been able to identify a probable cause. Affected users report that setting up a federation sender worker appears to alleviate symptoms of the regression.

Bugfixes
--------

- Fix a long-standing bug when using multiple event persister workers where events were not correctly sent down `/sync` due to a race. ([\#11045](https://github.com/matrix-org/synapse/issues/11045))
- Fix a bug introduced in Synapse 1.45.0rc1 where the user directory would stop updating if it processed an event from a
  user not in the `users` table. ([\#11053](https://github.com/matrix-org/synapse/issues/11053))
- Fix a bug introduced in Synapse 1.44.0 when logging errors during oEmbed processing. ([\#11061](https://github.com/matrix-org/synapse/issues/11061))

Internal Changes
----------------

- Add an 'approximate difference' method to `StateFilter`. ([\#10825](https://github.com/matrix-org/synapse/issues/10825))
- Fix inconsistent behavior of `get_last_client_by_ip` when reporting data that has not been stored in the database yet. ([\#10970](https://github.com/matrix-org/synapse/issues/10970))
- Fix a bug introduced in Synapse 1.21.0 that causes opentracing and Prometheus metrics for replication requests to be measured incorrectly. ([\#10996](https://github.com/matrix-org/synapse/issues/10996))
- Ensure that cache config tests do not share state. ([\#11036](https://github.com/matrix-org/synapse/issues/11036))

Synapse 1.45.0rc1 (2021-10-12)
==============================

**Note:** Media storage providers module that read from Synapse's configuration need changes as of this version, see the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1450) for more information.

Known Issues
------------

- We are investigating [a performance issue](https://github.com/matrix-org/synapse/issues/11049) which was reported after the release of 1.44.0.
- We are aware of [a bug](https://github.com/matrix-org/synapse/issues/11025) with the user directory when using application services. A second release candidate is expected which will resolve this.

Features
--------

- Add [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069) support to `/account/whoami`. ([\#9655](https://github.com/matrix-org/synapse/issues/9655))
- Support autodiscovery of oEmbed previews. ([\#10822](https://github.com/matrix-org/synapse/issues/10822))
- Add a `user_may_send_3pid_invite` spam checker callback for modules to allow or deny 3PID invites. ([\#10894](https://github.com/matrix-org/synapse/issues/10894))
- Add a spam checker callback to allow or deny room joins. ([\#10910](https://github.com/matrix-org/synapse/issues/10910))
- Include an `update_synapse_database` script in the distribution. Contributed by @Fizzadar at Beeper. ([\#10954](https://github.com/matrix-org/synapse/issues/10954))
- Include exception information in JSON logging output. Contributed by @Fizzadar at Beeper. ([\#11028](https://github.com/matrix-org/synapse/issues/11028))

Bugfixes
--------

- Fix a minor bug in the response to `/_matrix/client/r0/voip/turnServer`. Contributed by @lukaslihotzki. ([\#10922](https://github.com/matrix-org/synapse/issues/10922))
- Fix a bug where empty `yyyy-mm-dd/` directories would be left behind in the media store's `url_cache_thumbnails/` directory. ([\#10924](https://github.com/matrix-org/synapse/issues/10924))
- Fix a bug introduced in Synapse v1.40.0 where the signature checks for room version 8 and 9 could be applied to earlier room versions in some situations. ([\#10927](https://github.com/matrix-org/synapse/issues/10927))
- Fix a long-standing bug wherein deactivated users still count towards the monthly active users limit. ([\#10947](https://github.com/matrix-org/synapse/issues/10947))
- Fix a long-standing bug which meant that events received over federation were sometimes incorrectly accepted into the room state. ([\#10956](https://github.com/matrix-org/synapse/issues/10956))
- Fix a long-standing bug where rebuilding the user directory wouldn't exclude support and deactivated users. ([\#10960](https://github.com/matrix-org/synapse/issues/10960))
- Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint rejecting subsequent batches with unknown batch ID error in existing room versions from the room creator. ([\#10962](https://github.com/matrix-org/synapse/issues/10962))
- Fix a bug that could leak local users' per-room nicknames and avatars when the user directory is rebuilt. ([\#10981](https://github.com/matrix-org/synapse/issues/10981))
- Fix a long-standing bug where the remainder of a batch of user directory changes would be silently dropped if the server left a room early in the batch. ([\#10982](https://github.com/matrix-org/synapse/issues/10982))
- Correct a bugfix introduced in Synapse v1.44.0 that would catch the wrong error if a connection is lost before a response could be written to it. ([\#10995](https://github.com/matrix-org/synapse/issues/10995))
- Fix a long-standing bug where local users' per-room nicknames/avatars were visible to anyone who could see you in the user directory. ([\#11002](https://github.com/matrix-org/synapse/issues/11002))
- Fix a long-standing bug where a user's per-room nickname/avatar would overwrite their profile in the user directory when a room was made public. ([\#11003](https://github.com/matrix-org/synapse/issues/11003))
- Work around a regression, introduced in Synapse v1.39.0, that caused `SynapseError`s raised by the experimental third-party rules module callback `check_event_allowed` to be ignored. ([\#11042](https://github.com/matrix-org/synapse/issues/11042))
- Fix a bug in [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) insertion events in rooms that could cause cross-talk/conflicts between batches. ([\#10877](https://github.com/matrix-org/synapse/issues/10877))

Improved Documentation
----------------------

- Change wording ("reference homeserver") in Synapse repository documentation. Contributed by @maxkratz. ([\#10971](https://github.com/matrix-org/synapse/issues/10971))
- Fix a dead URL in development documentation (SAML) and change wording from "Riot" to "Element". Contributed by @maxkratz. ([\#10973](https://github.com/matrix-org/synapse/issues/10973))
- Add additional content to the Welcome and Overview page of the documentation. ([\#10990](https://github.com/matrix-org/synapse/issues/10990))
- Update links to MSCs in documentation. Contributed by @dklimpel. ([\#10991](https://github.com/matrix-org/synapse/issues/10991))

Internal Changes
----------------

- Improve type hinting in `synapse.util`. ([\#10888](https://github.com/matrix-org/synapse/issues/10888))
- Add further type hints to `synapse.storage.util`. ([\#10892](https://github.com/matrix-org/synapse/issues/10892))
- Fix type hints to be compatible with an upcoming change to Twisted. ([\#10895](https://github.com/matrix-org/synapse/issues/10895))
- Update utility code to handle C implementations of frozendict. ([\#10902](https://github.com/matrix-org/synapse/issues/10902))
- Drop old functionality which maintained database compatibility with Synapse versions before v1.31. ([\#10903](https://github.com/matrix-org/synapse/issues/10903))
- Clean-up configuration helper classes for the `ServerConfig` class. ([\#10915](https://github.com/matrix-org/synapse/issues/10915))
- Use direct references to config flags. ([\#10916](https://github.com/matrix-org/synapse/issues/10916), [\#10959](https://github.com/matrix-org/synapse/issues/10959), [\#10985](https://github.com/matrix-org/synapse/issues/10985))
- Clean up some of the federation event authentication code for clarity. ([\#10926](https://github.com/matrix-org/synapse/issues/10926), [\#10940](https://github.com/matrix-org/synapse/issues/10940), [\#10986](https://github.com/matrix-org/synapse/issues/10986), [\#10987](https://github.com/matrix-org/synapse/issues/10987), [\#10988](https://github.com/matrix-org/synapse/issues/10988), [\#11010](https://github.com/matrix-org/synapse/issues/11010), [\#11011](https://github.com/matrix-org/synapse/issues/11011))
- Refactor various parts of the codebase to use `RoomVersion` objects instead of room version identifier strings. ([\#10934](https://github.com/matrix-org/synapse/issues/10934))
- Refactor user directory tests in preparation for upcoming changes. ([\#10935](https://github.com/matrix-org/synapse/issues/10935))
- Include the event id in the logcontext when handling PDUs received over federation. ([\#10936](https://github.com/matrix-org/synapse/issues/10936))
- Fix logged errors in unit tests. ([\#10939](https://github.com/matrix-org/synapse/issues/10939))
- Fix a broken test to ensure that consent configuration works during registration. ([\#10945](https://github.com/matrix-org/synapse/issues/10945))
- Add type hints to filtering classes. ([\#10958](https://github.com/matrix-org/synapse/issues/10958))
- Add type-hint to `HomeserverTestcase.setup_test_homeserver`. ([\#10961](https://github.com/matrix-org/synapse/issues/10961))
- Fix the test utility function `create_room_as` so that `is_public=True` will explicitly set the `visibility` parameter of room creation requests to `public`. Contributed by @AndrewFerr. ([\#10963](https://github.com/matrix-org/synapse/issues/10963))
- Make the release script more robust and transparent. ([\#10966](https://github.com/matrix-org/synapse/issues/10966))
- Refactor [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` mega function into smaller handler functions. ([\#10974](https://github.com/matrix-org/synapse/issues/10974))
- Log stack traces when a missing opentracing span is detected. ([\#10983](https://github.com/matrix-org/synapse/issues/10983))
- Update GHA config to run tests against Python 3.10 and PostgreSQL 14. ([\#10992](https://github.com/matrix-org/synapse/issues/10992))
- Fix a long-standing bug where `ReadWriteLock`s could drop logging contexts on exit. ([\#10993](https://github.com/matrix-org/synapse/issues/10993))
- Add a `CODEOWNERS` file to automatically request reviews from the `@matrix-org/synapse-core` team on new pull requests. ([\#10994](https://github.com/matrix-org/synapse/issues/10994))
- Add further type hints to `synapse.state`. ([\#11004](https://github.com/matrix-org/synapse/issues/11004))
- Remove the deprecated `BaseHandler` object. ([\#11005](https://github.com/matrix-org/synapse/issues/11005))
- Bump mypy version for CI to 0.910, and pull in new type stubs for dependencies. ([\#11006](https://github.com/matrix-org/synapse/issues/11006))
- Fix CI to run the unit tests without optional deps. ([\#11017](https://github.com/matrix-org/synapse/issues/11017))
- Ensure that cache config tests do not share state. ([\#11019](https://github.com/matrix-org/synapse/issues/11019))
- Add additional type hints to `synapse.server_notices`. ([\#11021](https://github.com/matrix-org/synapse/issues/11021))
- Add additional type hints for `synapse.push`. ([\#11023](https://github.com/matrix-org/synapse/issues/11023))
- When installing the optional developer dependencies, also include the dependencies needed for type-checking and unit testing. ([\#11034](https://github.com/matrix-org/synapse/issues/11034))
- Remove unnecessary list comprehension from `synapse_port_db` to satisfy code style requirements. ([\#11043](https://github.com/matrix-org/synapse/issues/11043))

Synapse 1.44.0 (2021-10-05)
===========================

No significant changes since 1.44.0rc3.

Synapse 1.44.0rc3 (2021-10-04)
==============================

Bugfixes
--------

- Fix a bug introduced in Synapse v1.40.0 where changing a user's display name or avatar in a restricted room would cause an authentication error. ([\#10933](https://github.com/matrix-org/synapse/issues/10933))
- Fix `/admin/whois/{user_id}` endpoint, which was broken in v1.44.0rc1. ([\#10968](https://github.com/matrix-org/synapse/issues/10968))

Synapse 1.44.0rc2 (2021-09-30)
==============================

Bugfixes
--------

- Fix a bug introduced in v1.44.0rc1 which caused the experimental [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint to return a 500 error. ([\#10938](https://github.com/matrix-org/synapse/issues/10938))
- Fix a bug introduced in v1.44.0rc1 which prevented sending presence events to application services. ([\#10944](https://github.com/matrix-org/synapse/issues/10944))

Improved Documentation
----------------------

- Minor updates to the installation instructions. ([\#10919](https://github.com/matrix-org/synapse/issues/10919))

Synapse 1.44.0rc1 (2021-09-29)
==============================

Features
--------

- Only allow the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send?chunk_id=xxx` endpoint to connect to an already existing insertion event. ([\#10776](https://github.com/matrix-org/synapse/issues/10776))
- Improve oEmbed URL previews by processing the author name, photo, and video information. ([\#10814](https://github.com/matrix-org/synapse/issues/10814), [\#10819](https://github.com/matrix-org/synapse/issues/10819))
- Speed up responding with large JSON objects to requests. ([\#10868](https://github.com/matrix-org/synapse/issues/10868), [\#10905](https://github.com/matrix-org/synapse/issues/10905))
- Add a `user_may_create_room_with_invites` spam checker callback to allow modules to allow or deny a room creation request based on the invites and/or 3PID invites it includes. ([\#10898](https://github.com/matrix-org/synapse/issues/10898))

Bugfixes
--------

- Fix a long-standing bug that caused an `AssertionError` when purging history in certain rooms. Contributed by @Kokokokoka. ([\#10690](https://github.com/matrix-org/synapse/issues/10690))
- Fix a long-standing bug which caused deactivated users that were later reactivated to be missing from the user directory. ([\#10782](https://github.com/matrix-org/synapse/issues/10782))
- Fix a long-standing bug that caused unbanning a user by sending a membership event to fail. Contributed by @aaronraimist. ([\#10807](https://github.com/matrix-org/synapse/issues/10807))
- Fix a long-standing bug where logging contexts would go missing when federation requests time out. ([\#10810](https://github.com/matrix-org/synapse/issues/10810))
- Fix a long-standing bug causing an error in the deprecated `/initialSync` endpoint when using the undocumented `from` and `to` parameters. ([\#10827](https://github.com/matrix-org/synapse/issues/10827))
- Fix a bug causing the `remove_stale_pushers` background job to repeatedly fail and log errors. This bug affected Synapse servers that had been upgraded from version 1.28 or older and are using SQLite. ([\#10843](https://github.com/matrix-org/synapse/issues/10843))
- Fix a long-standing bug in Unicode support of the room search admin API breaking search for rooms with non-ASCII characters. ([\#10859](https://github.com/matrix-org/synapse/issues/10859))
- Fix a bug introduced in Synapse 1.37.0 which caused `knock` membership events which we sent to remote servers to be incorrectly stored in the local database. ([\#10873](https://github.com/matrix-org/synapse/issues/10873))
- Fix invalidating one-time key count cache after claiming keys. The bug was introduced in Synapse v1.41.0. Contributed by Tulir at Beeper. ([\#10875](https://github.com/matrix-org/synapse/issues/10875))
- Fix a long-standing bug causing application service users to be subject to MAU blocking if the MAU limit had been reached, even if configured not to be blocked. ([\#10881](https://github.com/matrix-org/synapse/issues/10881))
- Fix a long-standing bug which could cause events pulled over federation to be incorrectly rejected. ([\#10907](https://github.com/matrix-org/synapse/issues/10907))
- Fix a long-standing bug causing URL cache files to be stored in storage providers. Server admins may safely delete the `url_cache/` and `url_cache_thumbnails/` directories from any configured storage providers to reclaim space. ([\#10911](https://github.com/matrix-org/synapse/issues/10911))
- Fix a long-standing bug leading to race conditions when creating media store and config directories. ([\#10913](https://github.com/matrix-org/synapse/issues/10913))

Improved Documentation
----------------------

- Fix some crashes in the Module API example code, by adding JSON encoding/decoding. ([\#10845](https://github.com/matrix-org/synapse/issues/10845))
- Add developer documentation about experimental configuration flags. ([\#10865](https://github.com/matrix-org/synapse/issues/10865))
- Properly remove deleted files from GitHub pages when generating the documentation. ([\#10869](https://github.com/matrix-org/synapse/issues/10869))

Internal Changes
----------------

- Fix GitHub Actions config so we can run sytest on synapse from parallel branches. ([\#10659](https://github.com/matrix-org/synapse/issues/10659))
- Split out [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) meta events to their own fields in the `/batch_send` response. ([\#10777](https://github.com/matrix-org/synapse/issues/10777))
- Add missing type hints to REST servlets. ([\#10785](https://github.com/matrix-org/synapse/issues/10785), [\#10817](https://github.com/matrix-org/synapse/issues/10817))
- Simplify the internal logic which maintains the user directory database tables. ([\#10796](https://github.com/matrix-org/synapse/issues/10796))
- Use direct references to config flags. ([\#10812](https://github.com/matrix-org/synapse/issues/10812), [\#10885](https://github.com/matrix-org/synapse/issues/10885), [\#10893](https://github.com/matrix-org/synapse/issues/10893), [\#10897](https://github.com/matrix-org/synapse/issues/10897))
- Specify the type of token in generic "Invalid token" error messages. ([\#10815](https://github.com/matrix-org/synapse/issues/10815))
- Make `StateFilter` frozen so it is hashable. ([\#10816](https://github.com/matrix-org/synapse/issues/10816))
- Fix a long-standing bug where an `m.room.message` event containing a null byte would cause an internal server error. ([\#10820](https://github.com/matrix-org/synapse/issues/10820))
- Add type hints to the state database. ([\#10823](https://github.com/matrix-org/synapse/issues/10823))
- Opt out of cache expiry for `get_users_who_share_room_with_user`, to hopefully improve `/sync` performance when you
  haven't synced recently. ([\#10826](https://github.com/matrix-org/synapse/issues/10826))
- Track cache eviction rates more finely in Prometheus's monitoring. ([\#10829](https://github.com/matrix-org/synapse/issues/10829))
- Add missing type hints to `synapse.handlers`. ([\#10831](https://github.com/matrix-org/synapse/issues/10831), [\#10856](https://github.com/matrix-org/synapse/issues/10856))
- Extend the Module API to let plug-ins check whether an ID is local and to access IP + User Agent data. ([\#10833](https://github.com/matrix-org/synapse/issues/10833))
- Factor out PNG image data to a constant to be used in several tests. ([\#10834](https://github.com/matrix-org/synapse/issues/10834))
- Add a test to ensure state events sent by modules get persisted correctly. ([\#10835](https://github.com/matrix-org/synapse/issues/10835))
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) fields and event types from `chunk` to `batch` to match the `/batch_send` endpoint. ([\#10838](https://github.com/matrix-org/synapse/issues/10838))
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` query parameter from `?prev_event` to more obvious usage with `?prev_event_id`. ([\#10839](https://github.com/matrix-org/synapse/issues/10839))
- Add type hints to `synapse.http.site`. ([\#10867](https://github.com/matrix-org/synapse/issues/10867))
- Include outlier status when we log V2 or V3 events. ([\#10879](https://github.com/matrix-org/synapse/issues/10879))
- Break down Grafana's cache expiry time series based on reason for eviction, c.f. [\#10829](https://github.com/matrix-org/synapse/issues/10829). ([\#10880](https://github.com/matrix-org/synapse/issues/10880))
- Clean up some of the federation event authentication code for clarity. ([\#10883](https://github.com/matrix-org/synapse/issues/10883), [\#10884](https://github.com/matrix-org/synapse/issues/10884), [\#10896](https://github.com/matrix-org/synapse/issues/10896), [\#10901](https://github.com/matrix-org/synapse/issues/10901))
- Allow the `.` and `~` characters when creating registration tokens as per the change to [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231). ([\#10887](https://github.com/matrix-org/synapse/issues/10887))
- Clean up some unnecessary parentheses in places around the codebase. ([\#10889](https://github.com/matrix-org/synapse/issues/10889))
- Improve type hinting in the user directory code. ([\#10891](https://github.com/matrix-org/synapse/issues/10891))
- Update development testing script `test_postgresql.sh` to use a supported Python version and make re-runs quicker. ([\#10906](https://github.com/matrix-org/synapse/issues/10906))
- Document and summarize changes in schema version `61` – `64`. ([\#10917](https://github.com/matrix-org/synapse/issues/10917))
- Update release script to sign the newly created git tags. ([\#10925](https://github.com/matrix-org/synapse/issues/10925))
- Fix Debian builds due to `dh-virtualenv` no longer being able to build their docs. ([\#10931](https://github.com/matrix-org/synapse/issues/10931))

(js)

2021-11-19 13:54:17 UTC MAIN commitmail json YAML

lxqt-build-tools: set BUILDLINK_API_DEPENDS.qt5-qtbase >= 5.15.0

(gutteridge)

2021-11-19 11:57:45 UTC MAIN commitmail json YAML

doc: Updated security/mdigest to 1.9

(micha)

2021-11-19 11:57:04 UTC MAIN commitmail json YAML

doc: Updated archivers/tartest to 1.24

(micha)

2021-11-19 11:53:45 UTC MAIN commitmail json YAML

security/mdigest: Update to 1.9

Changelog from AN-2021-09-01:
- mdigest: Fixed a typo in the output from mdigest -help

  Thanks to Robert Clausecker for reporting.

(micha)

2021-11-19 11:50:13 UTC MAIN commitmail json YAML

doc: Updated meta-pkgs/lxqt to 1.0.0

(pin)

2021-11-19 11:49:53 UTC MAIN commitmail json YAML

meta-pkgs/lxqt: update to 1.0.0

One component remains to be updated, namely lxqt-session.
David H. Gutteridge will handle this one later today.

For changes refer to the individual components.

(pin)

2021-11-19 11:44:26 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-panel to 1.0.0

(pin)

2021-11-19 11:44:03 UTC MAIN commitmail json YAML

x11/lxqt-panel: update to 1.0.0

-Added "Custom Command" plugin.
-Added context menu and drag-and-drop support to search results of main menu.
-Better icon handling in Status Notifier.
-Fixed the keypad navigation in main menu.
-Prevented sliding of volume tooltip.
-Removed special treatment of Openbox and Compton configs.

(pin)

2021-11-19 11:43:09 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-config to 1.0.0

(pin)

2021-11-19 11:42:48 UTC MAIN commitmail json YAML

x11/lxqt-config: update to 1.0.0

-Made "Other Settings" work in Configuration Center.
-Added support for saving and loading of Qt palettes.

pkgsrc specific change:
-Do no disable the whole input module, just enough to avoid libinput.

(pin)

2021-11-19 11:42:09 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-runner to 1.0.0

(pin)

2021-11-19 11:41:24 UTC MAIN commitmail json YAML

archivers/tartest: Update to 1.24

Changelog from AN-2021-09-01:
- tartest: Added support for gettext() based translations
  The string "Jæ—¦rg Schilling" is now separate and in a gettext() call.

(micha)

2021-11-19 11:41:14 UTC MAIN commitmail json YAML

x11/lxqt-runner: update to 1.0.0

-Fixed compilation with menu-cache.
-Visible names are used to sort items.

(pin)

2021-11-19 11:35:37 UTC MAIN commitmail json YAML

doc: Updated sysutils/lxqt-powermanagement to 1.0.0

(pin)

2021-11-19 11:35:16 UTC MAIN commitmail json YAML

x11/lxqt-powermanagement: update to 1.0.0

-Idleness checks can be paused from the tray icon for 30 minutes to 4 hours.

(pin)

2021-11-19 11:34:24 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-notificationd to 1.0.0

(pin)

2021-11-19 11:34:03 UTC MAIN commitmail json YAML

x11/lxqt-notificationd: update to 1.0.0

-The do-not-disturb mode is added.

(pin)

2021-11-19 11:33:16 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-globalkeys to 1.0.0

(pin)

2021-11-19 11:32:55 UTC MAIN commitmail json YAML

2021-11-19 11:25:25 UTC MAIN commitmail json YAML

doc: Updated shells/pbosh to 20210918

(micha)

2021-11-19 11:24:28 UTC MAIN commitmail json YAML

shells/pbosh: Update to 20210918

Rebase to the final Schily Tools release.
The author Jæ—¦rg Schilling passed away in October 2021.

(micha)

2021-11-19 11:14:45 UTC MAIN commitmail json YAML

doc: Updated shells/bosh to 20210918

(micha)

2021-11-19 11:13:27 UTC MAIN commitmail json YAML

shells/bosh: Update to 20210918

Rebase to the final Schily Tools release.
The author Jæ—¦rg Schilling passed away in October 2021.

(micha)

2021-11-19 11:00:17 UTC MAIN commitmail json YAML

doc: Updated archivers/star to 1.6.1nb16

(micha)

2021-11-19 10:58:46 UTC MAIN commitmail json YAML

archivers/star: Update to 1.6.1nb16

Rebase to the final Schily Tools release.
The author Jæ—¦rg Schilling passed away in October 2021.

(micha)

2021-11-19 10:13:15 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-admin to 1.0.0

(pin)

2021-11-19 10:12:53 UTC MAIN commitmail json YAML

x11/lxqt-admin: update to 1.0.0

-Bumped minimum required Qt version to 5.15.

(pin)

2021-11-19 10:11:49 UTC MAIN commitmail json YAML

doc: Updated archivers/lxqt-archiver to 0.5.0

(pin)

2021-11-19 10:11:27 UTC MAIN commitmail json YAML

archivers/lxqt-archiver: update to 0.5.0

-Show password prompt for archives with encrypted lists.
-Fixed listing RAR archive contents with encrypted file list.

(pin)

2021-11-19 10:10:58 UTC MAIN commitmail json YAML

doc: Updated security/lxqt-openssh-askpass to 1.0.0

(pin)

2021-11-19 10:10:35 UTC MAIN commitmail json YAML

security/lxqt-openssh-askpass: update to 1.0.0

-Bumped minimum required Qt version to 5.15.

(pin)

2021-11-19 10:05:24 UTC MAIN commitmail json YAML

doc: Updated security/lxqt-sudo to 1.0.0

(pin)

2021-11-19 10:05:02 UTC MAIN commitmail json YAML

security/lxqt-sudo: update to 1.0.0

-Bumped minimum required Qt version to 5.15 and updated translations.

(pin)

2021-11-19 10:03:13 UTC MAIN commitmail json YAML

doc: Updated security/lxqt-policykit to 1.0.0

(pin)

2021-11-19 10:02:40 UTC MAIN commitmail json YAML

security/lxqt-policykit: update to 1.0.0

-Bumped minimum required Qt version and updated translations.

(pin)

2021-11-19 10:01:21 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-about to 1.0.0

(pin)

2021-11-19 10:00:59 UTC MAIN commitmail json YAML

x11/lxqt-about: update to 1.0.0

-Bumped version to 1.0.0 and made miscellaneous updates.

(pin)

2021-11-19 10:00:14 UTC MAIN commitmail json YAML

doc: Updated x11/lxqt-qtplugin to 1.0.0

(pin)

2021-11-19 09:59:50 UTC MAIN commitmail json YAML

x11/lxqt-qtplugin: update to 1.0.0

-Added workarounds for Qt's poor handling of some dark palettes.
-Used the C++11 override specifier in some places.

(pin)

2021-11-19 09:54:57 UTC MAIN commitmail json YAML

doc: Updated audio/pavucontrol-qt to 1.0.0

(pin)

2021-11-19 09:54:34 UTC MAIN commitmail json YAML

audio/pavucontrol-qt: update to 1.0.0

-Bumped minimum required Qt version to 5.15 and updated some translations.

(pin)

2021-11-19 09:53:58 UTC MAIN commitmail json YAML

Added print/py-pydyf, archivers/py-zopfli; Updated archivers/py-brotli, fonts/py-fonttools

(adam)

2021-11-19 09:53:17 UTC MAIN commitmail json YAML

doc: Updated graphics/screengrab to 2.3.0

(pin)

2021-11-19 09:52:56 UTC MAIN commitmail json YAML

graphics/screengrab: update to 2.3.0

-Bumped minimum required Qt version to 5.15 and made a small fix to
About dialog.

(pin)