Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] [Darwin] Gradle #215

Open
khoan opened this issue Aug 30, 2019 · 0 comments
Open

[Request] [Darwin] Gradle #215

khoan opened this issue Aug 30, 2019 · 0 comments

Comments

@khoan
Copy link

khoan commented Aug 30, 2019

$ date
Fri 30 Aug 2019 18:30:48 AEST
$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.13.6
BuildVersion:	17G8030
$ echo $JAVA_HOME 
/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
$ sudo pkgin update
$ sudo pkgin install gradle
...
2 packages to install:
  oracle-jre8-8.0.202 gradle-4.10.2
...
download error: https://pkgsrc.joyent.com/packages/Darwin/trunk/x86_64/All/oracle-jre8-8.0.202.tgz Not Found

should skip java install if detected somehow?

jperkin pushed a commit that referenced this issue Oct 29, 2019
CHANGELOG
=========

HAXM v7.5.4

    Added VM pause support to fix the crash issue of loading snapshot (#239).
    Fixed incorrect interruptibility_state to resolve an issue on loading snapshot (#233).
    Fixed a bug during mapping memory slots (#237).
    Fixed incorrect VMX_ENTRY_CONTROLS loading (#225).
    Enabled PCLMULQDQ feature in CPUID emulation if supported by the host (#231).
    Optimized the log interfaces and enhanced the logging mechanism on Windows (#215, #232).
    Fixed the compilation warnings and errors on Linux (#223).
jperkin pushed a commit that referenced this issue Nov 6, 2019
SoftHSM2 is not a drop-in replacement for SoftHSM version 1, so this
is added as a separate package.  See softhsm2-migrate(1) for
migration instructions.

Upstream changes since SoftHSM version 1.x:

SoftHSM 2.5.0 - 2018-09-24

* Issue #323: Support for EDDSA with vendor defined mechanisms.
  (Patch from Francis Dupont)
* Issue #362: CMake Build System Support for SoftHSM.
  (Patch from Constantine Grantcharov)
* Issue #368: Support migrating 32-bit SoftHSMv1 DB on 64-bit system (LP64).
* Issue #385: Default is not to build EDDSA since it has not been released in
  OpenSSL.
* Issue #387: Windows: Add VS2017 detection to Configure.py.
  (Patch from Jaroslav Imrich)
* Issue #412: Replace PKCS11 headers with a version from p11-kit.
  (Patch from Alexander Bokovoy)

Bugfixes:
* Issue #366: Support cross-compilation.
  (Patch from Michael Weiser)
* Issue #377: Duplicate symbol error with custom p11test.
* Issue #386: Use RDRAND in OpenSSL if that engine is available.
* Issue #388: Update DBTests.cpp to fix x86 test failure.
  (Patch from tcely)
* Issue #393: Not setting CKA_PUBLIC_KEY_INFO correctly.
  (Patch from pkalapat)
* Issue #401: Wrong key and keyserver mentioned in installation documentation.
  (Patch from Berry A.W. van Halderen)
* Issue #408: Remove mutex callbacks after C_Finalize().
  (Patch from Alexander Bokovoy)


SoftHSM 2.4.0 - 2018-02-27

* Issue #135: Support PKCS#8 for GOST.
* Issue #140: Support for CKA_ALLOWED_MECHANISMS.
  (Patch from Brad Hess)
* Issue #141: Support CKA_ALWAYS_AUTHENTICATE for private key objects.
* Issue #220: Support for CKM_DES3_CMAC and CKM_AES_CMAC.
* Issue #226: Configuration option for Windows build to enable build with
  static CRT (/MT).
* Issue #325: Support for CKM_AES_GCM.
* Issue #334: Document that initialized tokens will be reassigned to another
  slot (based on the token serial number).
* Issue #335: Support for CKM_RSA_PKCS_PSS.
  (Patch from Nikos Mavrogiannopoulos)
* Issue #341: Import AES keys with softhsm2-util.
  (Patch from Pavel Cherezov)
* Issue #348: Document that OSX needs pkg-config to detect cppunit.
* Issue #349: softhsm2-util will check the configuration and report any
  issues before loading the PKCS#11 library.

Bugfixes:
* Issue #345: Private objects are presented to security officer in search
  results.
* Issue #358: Race condition when multiple applications are creating and
  reading object files.


SoftHSM 2.3.0 - 2017-07-03

* Issue #130: Upgraded to PKCS#11 v2.40.
  * Minor changes to some return values.
  * Added CKA_DESTROYABLE to all objects. Used by C_DestroyObject().
  * Added CKA_PUBLIC_KEY_INFO to certificates, private, and public key
    objects. Will be accepted from application, but SoftHSM will
    currently not calculate it.
* Issue #142: Support for CKM_AES_CTR.
* Issue #155: Add unit tests for SessionManager.
* Issue #189: C_DigestKey returns CKR_KEY_INDIGESTIBLE when key
  attribute CKA_EXTRACTABLE = false. Whitelist SHA algorithms to allow
  C_DigestKey in this case.
* Issue #225: Show slot id after initialization.
* Issue #247: Run AppVeyor (Windows CI) for each PR and merge.
* Issue #257: Set CKA_DECRYPT/CKA_ENCRYPT flags on key import to true.
  (Patch from Martin Domke)
* Issue #261: Add support for libeaycompat lib for FIPS on Windows.
  (Patch from Matt Hauck)
* Issue #262: Support importing ECDSA P-521 in softhsm-util.
* Issue #276: Support for Botan 2.0.
* Issue #279: Editorial changes from Mountain Lion to Sierra.
  (Patch from Mike Neumann)
* Issue #283: More detailed error messages when initializing SoftHSM.
* Issue #285: Support for LibreSSL.
  (Patch from Alon Bar-Lev)
* Issue #286: Update .gitignore.
  (Patch from Alon Bar-Lev)
* Issue #291: Change to enable builds and reports on new Jenkinks
  environment.
* Issue #293: Detect cppunit in autoconf.
  (Patch from Alon Bar-Lev)
* Issue #309: CKO_CERTIFICATE and CKO_PUBLIC_KEY now defaults to
  CKA_PRIVATE=false.
* Issue #314: Update README with information about logging.
* Issue #330: Adjust log levels for failing to enumerate object store.
  (Patch from Nikos Mavrogiannopoulos)

Bugfixes:
* Issue #216: Better handling of CRYPTO_set_locking_callback() for OpenSSL.
* Issue #265: Fix deriving shared secret with ECC.
* Issue #280: HMAC with sizes less than L bytes is strongly discouraged.
  Set a lower bound equal to L bytes in ulMinKeySize and check it when
  initializing the operation.
* Issue #281: Fix test of p11 shared library.
  (Patch from Lars Silvén)
* Issue #289: Minor fix of 'EVP_CipherFinal_ex'.
  (Patch from Viktor Tarasov)
* Issue #297: Fix build with cppunit.
  (Patch from Ludovic Rousseau)
* Issue #302: Export PKCS#11 symbols from the library.
  (Patch from Ludovic Rousseau)
* Issue #305: Zero pad key to fit the block in CKM_AES_KEY_WRAP.
* Issue #313: Detecting CppUnit when using Macports.
  (Patch from mouse07410)


SoftHSM 2.2.0 - 2016-12-05

* Issue #143: Delete a token using softhsm2-util.
* Issue #185: Change access mode bits for /var/lib/softhsm/tokens/
  to 1777. All users can now create tokens, but only access their own.
  (Patch from Rick van Rein)
* Issue #186: Reinitializing a token will now keep the token, but all
  token objects are deleted, the user PIN is removed and the token
  label is updated.
* Issue #190: Support for OpenSSL 1.1.0.
* Issue #198: Calling C_GetSlotList with NULL_PTR will make sure that
  there is always a slot with an uninitialized token available.
* Issue #199: The token serial number will be used when setting the slot
  number. The serial number is set after the token has been initialized.
  (Patch from Lars Silvén)
* Issue #203: Update the command utils to use the token label or serial
  to find the token and its slot number.
* Issue #209: Possibility to test other PKCS#11 implementations with the
  CppUnit test.
  (Patch from Lars Silvén)
* Issue #223: Mark public key as non private by default.
  (Patch from Nikos Mavrogiannopoulos)
* Issue #230: Install p11-kit module, to disable use --disable-p11-kit.
  (Patch from David Woodhouse)
* Issue #237: Add windows continuous integration build.
  (Patch from Peter Polacko)

Bugfixes:
* Issue #201: Missing new source file and test configuration in the
  Windows build project.
* Issue #205: ECDSA P-521 support for OpenSSL and better test coverage.
* Issue #207: Fix segmentation faults in loadLibrary function.
  (Patch from Jaroslav Imrich)
* Issue #215: Update the Homebrew install notes for OSX.
* Issue #218: Fix build warnings.
* Issue #235: Add the libtool install command for OSX.
  (Patch from Mark Wylde)
* Issue #236: Use GetEnvironmentVariable instead of getenv on Windows.
  (Patch from Jaroslav Imrich)
* Issue #239: Crash on module unload with OpenSSL.
  (Patch from David Woodhouse)
* Issue #241: Added EXTRALIBS to Windows utils project.
  (Patch from Peter Polacko)
* Issue #250: C++11 not detected.
* Issue #255: API changes in Botan 1.11.27.
* Issue #260: Fix include guard to check WITH_FIPS.
  (Patch from Matt Hauck)
* Issue #268: p11test fails on 32-bit systems.
* Issue #270: Build warning about "converting a string constant".
* Issue #272: Fix C++11 check to look for unique_ptr.
  (Patch from Matt Hauck)


SoftHSM 2.1.0 - 2016-03-14

* Issue #136: Improved guide and build scripts for Windows.
  (Thanks to Jaroslav Imrich)
* Issue #144: The password prompt in softhsm2-util can now be
  interrupted (ctrl-c).
* Issue #166: Add slots.removable config option.
  (Patch from Sumit Bose)
* Issue #180: Windows configure script improvements.
  (Patch from Arnaud Grandville)

Bugfixes:
* Issue #128: Prioritize the return values in C_GetAttributeValue.
  (Patch from Nicholas Wilson)
* Issue #129: Fix errors reported by Visual Studio 2015.
  (Patch from Jaroslav Imrich)
* Issue #132: Handle the CKA_CHECK_VALUE correctly for certificates
  and symmetric key objects.
* Issue #154: Fix the Windows build and destruction order of objects.
  (Patch from Arnaud Grandville)
* Issue #162: Not possible to create certificate objects containing
  CKA_CERTIFICATE_CATEGORY, CKA_NAME_HASH_ALGORITHM, or
  CKA_JAVA_MIDP_SECURITY_DOMAIN.
* Issue #163: Do not attempt decryption of empty byte strings.
  (Patch from Michal Kepien)
* Issue #165: Minor changes after a PVS-Studio code analysis, and
  C_EncryptUpdate crash if no ciphered data is produced.
  (Patch from Arnaud Grandville)
* Issue #169: One-byte buffer overflow in call to EVP_DecryptUpdate.
* Issue #171: Problem while closing library that is initialized but
  improperly finalized.
* Issue #173: Adjust return values for the template parsing.
* Issue #174: C_DeriveKey() error with leading zero bytes.
* Issue #177: CKA_NEVER_EXTRACTABLE set to CK_FALSE on objects
  created with C_CreateObject.
* Issue #182: Resolve compiler warning.
  (Patch from Josh Datko)
* Issue #184: Stop discarding the global OpenSSL libcrypto state.
  (Patch from Michal Trojnara)
* SOFTHSM-123: Fix library cleanup on BSD.


SoftHSM 2.0.0 - 2015-07-17

* SOFTHSM-121: Test cases for C_DecryptUpdate/C_DecryptFinal.
* Support C_DecryptUpdate/C_DecryptFinal for symmetric algorithms.
  (Patch from Thomas Calderon)

Bugfixes:
* SOFTHSM-120: Segfault after renaming variables.


SoftHSM 2.0.0b3 - 2015-04-17

* SOFTHSM-113: Support for Botan 1.11.15
* SOFTHSM-119: softhsm2-util: Support ECDSA key import
  (Patch from Magnus Ahltorp)
* SUPPORT-139: Support deriving generic secrets, DES, DES2, DES3, and AES.
  Using DH, ECDH or symmetric encryption.

Bugfixes:
* SOFTHSM-108: A marked as trusted certificate cannot be imported.
* SOFTHSM-109: Unused parameter and variable warnings.
* SOFTHSM-110: subdir-objects warnings from autoreconf.
* SOFTHSM-111: Include FIPS-NOTES.md in dist.
* SOFTHSM-112: CKM_AES_KEY_WRAP* conflict in pkcs11.h.
* SOFTHSM-114: Fix memory leak in a test script.
* SOFTHSM-115: Fix static analysis warnings.
* SUPPORT-154: A marked as non-modifiable object cannot be generated.
* SUPPORT-155: auto_ptr is deprecated in C++11, use unique_ptr.
* SUPPORT-157: Derived secrets were truncated after encryption and
  could thus not be decrypted.
* Mutex should call MutexFactory wrapper functions.
  (Patch from Jerry Lundstrom)
* Return detailed error message to loadLibrary().
  (Patch from Petr Spacek)


SoftHSM 2.0.0b2 - 2014-12-28

* SOFTHSM-50: OpenSSL FIPS support.
* SOFTHSM-64: Updated build script for Windows.
* SOFTHSM-100: Use --free with softhsm2-util to initialize the first
  free token.
* SOFTHSM-103: Allow runtime configuration of log level.
* SOFTHSM-107: Support for CKM_<symcipher>_CBC_PAD.
* Add support for CKM_RSA_PKCS_OAEP key un/wrapping.
  (Patch from Petr Spacek)
* Use OpenSSL EVP interface for AES key wrapping.
  (Patch from Petr Spacek)
* Allow reading configuration file from user's home directory.
  (Patch from Nikos Mavrogiannopoulos)

Bugfixes:
* SOFTHSM-102: C_DeriveKey() uses OBJECT_OP_GENERATE.
* Coverity found a number of issues.


SoftHSM 2.0.0b1 - 2014-09-10

* SOFTHSM-84: Check that all mandatory attributes are given during
  the creation process.
* SOFTHSM-92: Enable -fvisibility=hidden on per default
* SUPPORT-137: Implement C_EncryptUpdate and C_EncryptFinal
  (Patch from Martin Paljak)
* Add support for CKM_RSA_PKCS key un/wrapping
  (Patch from Petr Spacek)

Bugfixes:
* SOFTHSM-66: Attribute handling when using multiple threads
* SOFTHSM-93: Invalid C++ object recycling.
* SOFTHSM-95: umask affecting the calling application.
* SOFTHSM-97: Check if Botan has already been initialized.
* SOFTHSM-98: Handle mandatory attributes for DSA, DH, and ECDSA
  correctly.
* SOFTHSM-99: Binary encoding of GOST values.
* SUPPORT-136: softhsm2-keyconv creates files with sensitive material
  in insecure way.


SoftHSM 2.0.0a2 - 2014-03-25

* SOFTHSM-68: Display a better configure message when there is a
  version of Botan with a broken ECC/GOST/OID implementation.
* SOFTHSM-70: Improved handling of the database backend.
* SOFTHSM-71: Supporting Botan 1.11.
* SOFTHSM-76: Do not generate RSA keys smaller than 1024 bit when
  using the Botan crypto backend.
* SOFTHSM-83: Support CKA_VALUE_BITS for CKK_DH private key object.
* SOFTHSM-85: Rename libsofthsm.so to libsofthsm2.so and prefix the
  command line utilties with softhsm2-.
* SOFTHSM-89: Use constants and not strings for signaling algorithms.
* SUPPORT-129: Possible to use an empty template in C_GenerateKey.
  The class and key type are inherited from the generation mechanism.
  Some mechanisms do however require a length attribute. [SOFTHSM-88]
* SUPPORT-131: Support RSA-PSS using SHA1, SHA224, SHA256, SHA384,
  or SHA512. [SOFTHSM-87]

Bugfixes:
* SOFTHSM-39: Fix 64 bit build on sparc sun4v.
* SOFTHSM-69: GOST did not work when you disabled ECC.
* SOFTHSM-78: Correct the attribute checks for a number of objects.
* SOFTHSM-80: Prevent segfault in OpenSSL GOST HMAC code.
* SOFTHSM-91: Fix a warning from static code analysis.
* Fixed a number of memory leaks.


SoftHSM 2.0.0a1 - 2014-02-10

This is the first alpha release of SoftHSMv2. It focuses on a higher
level of security by encrypting sensitive information and using
unswappable memory. There is also a more generalized crypto backend,
where you can use Botan or OpenSSL.
jperkin pushed a commit that referenced this issue Jan 3, 2020
Version 3.1.1.1
* Fix for GHCJS. #431

Version 3.1.1.0
* A new API: gracefulClose. #417
* touchSocket, unsafeFdSocket: Allow direct access to a socket's file
  descriptor while providing tools to prevent it from being garbage
  collected. This also deprecated fdSocket in favor of unsafeFdSocket
  and withFdSocket. #423
* socketToFd: Duplicates a socket as a file desriptor and closes the
  source socket. #424

Version 3.1.0.1
* getAddrInfo: raise exception if no AddrInfo returned. #410
* Avoid catching SomeException. #411

Version 3.1.0.0
* Making GC of socket safer. #399
* Deprecating fdSocket. Use withFdSocket instead to ensure that
  sockets are GCed in proper time. #399

Version 3.0.1.1
* Fix blocking if_nametoindex errors on Windows #391

Version 3.0.1.0
* Added getSocketType :: Socket -> IO SocketType. #372
* Correcting manual and brushing up test cases #375
* Fixed longstanded bug in getContents on mac #375
* Fixing regression: set correct sockaddr length for abstract
  addresses for Linux. #374

Version 3.0.0.1
* Fixed a bug in connect where exceptions were not thrown #368

Version 3.0.0.0
* Breaking change: the Network and Network.BSD are
  removed. Network.BSD is provided a new package: network-bsd.
* Breaking change: the signatures are changed:

    old fdSocket :: Socket -> CInt
    new fdSocket :: Socket -> IO CInt

    old mkSocket :: CInt -> Family -> SocketType -> ProtocolNumber -> SocketStatus -> IO Socket
    new mkSocket :: CInt -> IO Socket

* Breaking change: the deprecated APIs are removed: send, sendTo,
  recv, recvFrom, recvLen, htonl, ntohl, inet_addr, int_ntoa,
  bindSocket, sClose, SocketStatus, isConnected, isBound, isListening,
  isReadable, isWritable, sIsConnected, sIsBound, sIsListening,
  sIsReadable, sIsWritable, aNY_PORT, iNADDR_ANY, iN6ADDR_ANY,
  sOMAXCONN, sOL_SOCKET, sCM_RIGHTS, packSocketType, getPeerCred.
* Breaking change: SockAddrCan is removed from SockAddr.
* Socket addresses are extendable with Network.Socket.Address.
* "socket" is now asynchronous-exception-safe. #336
* "recvFrom" returns (0, addr) instead of throwing an error on EOF. #360
* All APIs are available on any platforms.
* Build system is simplified.
* Bug fixes.

Version 2.8.0.1
* Eensuring that accept returns a correct sockaddr for unix
  domain. #400
* Avoid out of bounds writes in pokeSockAddr. #400

Version 2.8.0.0
* Breaking change: PortNumber originally contained Word16 in network
  byte order and used "deriving Ord". This results in strange behavior
  on the Ord instance. Now PortNumber holds Word16 in host byte
  order. #347
* Breaking change: stopping the export of the PortNum constructor in
  PortNumber.
* Use bytestring == 0.10.* only.
* Use base >= 4.7 && < 5.

Version 2.7.0.2
* Removing withMVar to avoid the deadlock between "accept" and "close"
  #330
* "close" does not throw exceptions. A new API: "close'" throws
  exceptions when necessary. #337
* Fixing the hang of lazy sendAll. #340
* Installing NetDef.h (#334) #334

Version 2.7.0.1
* A new API: socketPortSafe. #319
* Fixing a drain bug of sendAll. #320
* Porting the new CALLCONV convention from master. #313
* Withdrawing the deprecations of packFamily and unpackFamily. #324

Version 2.7.0.0
* Obsoleting the Network module.
* Obsoleting the Network.BSD module.
* Obsoleting APIs: MkSocket, htonl, ntohl, getPeerCred, getPeerEid,
  send, sendTo, recv, recvFrom, recvLen, inet_addr, inet_ntoa,
  isConnected, isBound, isListening, isReadable, isWritable, aNY_PORT,
  iNADDR_ANY, iN6ADDR_ANY, sOMAXCONN, sOL_SOCKET, sCM_RIGHTS,
  packFamily, unpackFamily, packSocketType
* Breaking change: do not closeFd within sendFd. #271
* Exporting ifNameToIndex and ifIndexToName from Network.Socket.
* New APIs: setCloseOnExecIfNeeded, getCloseOnExec and getNonBlock
* New APIs: isUnixDomainSocketAvailable and getPeerCredential
* socketPair, sendFd and recvFd are exported even on Windows.

Version 2.6.3.5
* Reverting "Do not closeFd within sendFd" #271

Version 2.6.3.4
* Don't touch IPv6Only when running on OpenBSD #227
* Do not closeFd within sendFd #271
* Updating examples and docs.

Version 2.6.3.3
* Adds a function to show the defaultHints without reading their
  undefined fields #291
* Improve exception error messages for getAddrInfo and getNameInfo
  #289

Version 2.6.3.2
* Zero memory of sockaddr_un if abstract socket #220
* Improving error messages #232
* Allow non-blocking file descriptors via setNonBlockIfNeeded #242
* Update config.{guess,sub} to latest version #244
* Rename my_inet_ntoa to avoid symbol conflicts #228
* Test infrastructure improvements #219 #217 #218
* House keeping and cleanup #238 #237

Version 2.6.3.1
* Reverse breaking exception change in Network.Socket.ByteString.recv
  #215

Version 2.6.3.0
* New maintainers: Evan Borden (@eborden) and Kazu Yamamoto
  (@kazu-yamamoto). The maintainer for a long period, Johan Tibell
  (@tibbe) stepped down. Thank you, Johan, for your hard work for a
  long time.
* New APIs: ntohl, htonl,hostAddressToTuple{,6} and
  tupleToHostAddress{,6}. #210
* Added a Read instance for PortNumber. #145
* We only set the IPV6_V6ONLY flag to 0 for stream and datagram socket
  types, as opposed to all of them. This makes it possible to use
  ICMPv6. #180 #181
* Work around GHC bug #12020. Socket errors no longer cause segfaults
  or hangs on Windows. #192
* Various documentation improvements and the deprecated pragmas. #186
  #201 #205 #206 #211
* Various internal improvements. #193 #200

Version 2.6.2.1
* Regenerate configure and HsNetworkConfig.h.in.
* Better detection of CAN sockets.

Version 2.6.2.0
* Add support for TCP_USER_TIMEOUT.
* Don't conditionally export the SockAddr constructors.
* Add isSupportSockAddr to allow checking for supported address types
  at runtime.
jperkin added a commit that referenced this issue Aug 26, 2020
Version 2.11 - 9 Jul 2020

-   Introduction of the barman-cli-cloud package that contains all cloud
    related utilities.

-   Add barman-cloud-wal-restore to restore a WAL file previously
    archived with barman-cloud-wal-archive from an object store

-   Add barman-cloud-restore to restore a backup previously taken with
    barman-cloud-backup from an object store

-   Add barman-cloud-backup-list to list backups taken with
    barman-cloud-backup in an object store

-   Add support for arbitrary archive size for barman-cloud-backup

-   Add support for --endpoint-url option to cloud utilities

-   Remove strict superuser requirement for PG 10+ (by Kaarel Moppel)

-   Add --log-level runtime option for barman to override default log
    level for a specific command

-   Support for PostgreSQL 13

-   Bug fixes:

    -   Suppress messages and warning with SSH connections in barman-cli
        (GH-257)
    -   Fix a race condition when retrieving uploaded parts in
        barman-cloud-backup (GH-259)
    -   Close the PostgreSQL connection after a backup (GH-258)
    -   Check for uninitialized replication slots in receive-wal --reset
        (GH-260)
    -   Ensure that begin_wal is valorised before acting on it (GH-262)
    -   Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287)
    -   Fix rsync compatibility error with recent rsync
    -   Fix PostgreSQLClient version parsing
    -   Fix PostgreSQL exception handling with non ASCII messages
    -   Ensure each postgres connection has an empty search_path
    -   Avoid connecting to PostgreSQL while reading a backup.info file

If you are using already barman-cloud-wal-archive or barman-cloud-backup
installed via RPM/Apt package and you are upgrading your system, you
must install the barman-cli-cloud package. All cloud related tools are
now part of the barman-cli-cloud package, including
barman-cloud-wal-archive and barman-cloud-backup that were previosly
shipped with barman-cli. The reason is complex dependency management of
the boto3 library, which is a requirement for the cloud utilities.

Version 2.10 - 5 Dec 2019

-   Pull .partial WAL files with get-wal and barman-wal-restore,
    allowing restore_command in a recovery scenario to fetch a partial
    WAL file's content from the Barman server. This feature simplifies
    and enhances RPO=0 recovery operations.

-   Store the PostgreSQL system identifier in the server directory and
    inside the backup information file. Improve check command to verify
    the consistency of the system identifier with active connections
    (standard and replication) and data on disk.

-   A new script called barman-cloud-wal-archive has been added to the
    barman-cli package to directly ship WAL files from PostgreSQL (using
    archive_command) to cloud object storage services that are
    compatible with AWS S3. It supports encryption and compression.

-   A new script called barman-cloud-backup has been added to the
    barman-cli package to directly ship base backups from a local
    PostgreSQL server to cloud object storage services that are
    compatible with AWS S3. It supports encryption, parallel upload,
    compression.

-   Automated creation of replication slots through the server/global
    option create_slot. When set to auto, Barman creates the replication
    slot, in case streaming_archiver is enabled and slot_name is
    defined. The default value is manual for back-compatibility.

-   Add '-w/--wait' option to backup command, making Barman wait for all
    required WAL files to be archived before considering the backup
    completed. Add also the --wait-timeout option (default 0, no
    timeout).

-   Redact passwords from Barman output, in particular from
    barman diagnose (InfoSec)

-   Improve robustness of receive-wal --reset command, by verifying that
    the last partial file is aligned with the current location or, if
    present, with replication slot's.

-   Documentation improvements

-   Bug fixes:

    -   Wrong string matching operation when excluding tablespaces
        inside PGDATA (GH-245)
    -   Minor fixes in WAL delete hook scripts (GH-240)
    -   Fix PostgreSQL connection aliveness check (GH-239)

Version 2.9 - 1 Aug 2019

-   Transparently support PostgreSQL 12, by supporting the new way of
    managing recovery and standby settings through GUC options and
    signal files (recovery.signal and standby.signal)

-   Add --bwlimit command line option to set bandwidth limitation for
    backup and recover commands

-   Ignore WAL archive failure for check command in case the latest
    backup is WAITING_FOR_WALS

-   Add --target-lsn option to set recovery target Log Sequence Number
    for recover command with PostgreSQL 10 or higher

-   Add --spool-dir option to barman-wal-restore so that users can
    change the spool directory location from the default, avoiding
    conflicts in case of multiple PostgreSQL instances on the same
    server (thanks to Drazen Kacar).

-   Rename barman_xlog directory to barman_wal

-   JSON output writer to export command output as JSON objects and
    facilitate integration with external tools and systems (thanks to
    Marcin Onufry Hlybin). Experimental in this release.

Bug fixes:

-   replication-status doesn’t show streamers with no slot (GH-222)

-   When checking that a connection is alive (“SELECT 1” query),
    preserve the status of the PostgreSQL connection (GH-149). This
    fixes those cases of connections that were terminated due to
    idle-in-transaction timeout, causing concurrent backups to fail.

Version 2.8 - 17 May 2019

-   Add support for reuse_backup in geo-redundancy for incremental
    backup copy in passive nodes

-   Improve performance of rsync based copy by using strptime instead of
    the more generic dateutil.parser (#210)

-   Add ‘--test’ option to barman-wal-archive and barman-wal-restore to
    verify the connection with the Barman server

-   Complain if backup_options is not explicitly set, as the future
    default value will change from exclusive_backup to concurrent_backup
    when PostgreSQL 9.5 will be declared EOL by the PGDG

-   Display additional settings in the show-server and diagnose
    commands: archive_timeout, data_checksums, hot_standby,
    max_wal_senders, max_replication_slots and wal_compression.

-   Merge the barman-cli project in Barman

-   Bug fixes:

    -   Fix encoding error in get-wal on Python 3 (Jeff Janes, #221)
    -   Fix exclude_and_protect_filter (Jeff Janes, #217)
    -   Remove spurious message when resetting WAL (Jeff Janes, #215)
    -   Fix sync-wals error if primary has WALs older than the first
        backup
    -   Support for double quotes in synchronous_standby_names setting

-   Minor changes:

    -   Improve messaging of check --nagios for inactive servers
    -   Log remote SSH command with recover command
    -   Hide logical decoding connections in replication-status command

This release officially supports Python 3 and deprecates Python 2 (which
might be discontinued in future releases).

PostgreSQL 9.3 and older is deprecated from this release of Barman.
Support for backup from standby is now limited to PostgreSQL 9.4 or
higher and to WAL shipping from the standby (please refer to the
documentation for details).

Version 2.7 - 21 Mar 2019

-   Fix error handling during the parallel backup. Previously an
    unrecoverable error during the copy could have corrupted the barman
    internal state, requiring a manual kill of barman process with
    SIGTERM and a manual cleanup of the running backup in PostgreSQL.
    (GH#199)

-   Fix support of UTF-8 characters in input and output (GH#194 and
    GH#196)

-   Ignore history/backup/partial files for first sync of geo-redundancy
    (GH#198)

-   Fix network failure with geo-redundancy causing cron to break
    (GH#202)

-   Fix backup validation in PostgreSQL older than 9.2

-   Various documentation fixes

Version 2.6 - 4 Feb 2019

-   Add support for Geographical redundancy, introducing 3 new commands:
    sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman
    server to use another Barman server as data source instead of a
    PostgreSQL server.

-   Add put-wal command that allows Barman to safely receive WAL files
    via PostgreSQL's archive_command using the barman-wal-archive script
    included in barman-cli

-   Add ANSI colour support to check command

-   Minor fixes:

    -   Fix switch-wal on standby with an empty WAL directory
    -   Honour archiver locking in wait_for_wal method
    -   Fix WAL compression detection algorithm
    -   Fix current_action in concurrent stop backup errors
    -   Do not treat lock file busy as an error when validating a backup
jperkin pushed a commit that referenced this issue Sep 21, 2020
2.0.3 (2020-08-22)
~~~~~~~~~~~~~~~~~~

- Fix issues when building re2c as a CMake subproject
  (`#302 <https://github.com/skvadrik/re2c/pull/302>`_:

- Final corrections in the SIMPA article "RE2C: A lexer generator based on
  lookahead-TDFA", https://doi.org/10.1016/j.simpa.2020.100027

2.0.2 (2020-08-08)
~~~~~~~~~~~~~~~~~~

- Enable re2go building by default.

- Package CMake files into release tarball.

2.0.1 (2020-07-29)
~~~~~~~~~~~~~~~~~~

- Updated version for CMake build system (forgotten in release 2.0).

- Added a short article about re2c for the Software Impacts journal.

2.0 (2020-07-20)
~~~~~~~~~~~~~~~~

- Added new code generation backend for Go and a new ``re2go`` program
  (`#272 <https://github.com/skvadrik/re2c/issues/272>`_: Go support).
  Added option ``--lang <c | go>``.

- Added CMake build system as an alternative to Autotools
  (`#275 <https://github.com/skvadrik/re2c/pull/275>`_:
  Add a CMake build system (thanks to ligfx),
  `#244 <https://github.com/skvadrik/re2c/issues/244>`_: Switching to CMake).

- Changes in generic API:

  + Removed primitives ``YYSTAGPD`` and ``YYMTAGPD``.
  + Added primitives ``YYSHIFT``, ``YYSHIFTSTAG``, ``YYSHIFTMTAG``
    that allow to express fixed tags in terms of generic API.
  + Added configurations ``re2c:api:style`` and ``re2c:api:sigil``.
  + Added named placeholders in interpolated configuration strings.

- Changes in reuse mode (``-r, --reuse`` option):

  + Do not reset API-related configurations in each `use:re2c` block
    (`#291 <https://github.com/skvadrik/re2c/issues/291>`_:
    Defines in rules block are not propagated to use blocks).
  + Use block-local options instead of last block options.
  + Do not accumulate options from rules/reuse blocks in whole-program options.
  + Generate non-overlapping YYFILL labels for reuse blocks.
  + Generate start label for each reuse block in storable state mode.

- Changes in start-conditions mode (``-c, --start-conditions`` option):

  + Allow to use normal (non-conditional) blocks in `-c` mode
    (`#263 <https://github.com/skvadrik/re2c/issues/263>`_:
    allow mixing conditional and non-conditional blocks with -c,
    `#296 <https://github.com/skvadrik/re2c/issues/296>`_:
    Conditions required for all lexers when using '-c' option).
  + Generate condition switch in every re2c block
    (`#295 <https://github.com/skvadrik/re2c/issues/295>`_:
    Condition switch generated for only one lexer per file).

- Changes in the generated labels:

  + Use ``yyeof`` label prefix instead of ``yyeofrule``.
  + Use ``yyfill`` label prefix instead of ``yyFillLabel``.
  + Decouple start label and initial label (affects label numbering).

- Removed undocumented configuration ``re2c:flags:o``, ``re2c:flags:output``.

- Changes in ``re2c:flags:t``, ``re2c:flags:type-header`` configuration:
  filename is now relative to the output file directory.

- Added option ``--case-ranges`` and configuration ``re2c:flags:case-ranges``.

- Extended fixed tags optimization for the case of fixed-counter repetition.

- Fixed bugs related to EOF rule:

  + `#276 <https://github.com/skvadrik/re2c/issues/276>`_:
    Example 01_fill.re in docs is broken
  + `#280 <https://github.com/skvadrik/re2c/issues/280>`_:
    EOF rules with multiple blocks
  + `#284 <https://github.com/skvadrik/re2c/issues/284>`_:
    mismatched YYBACKUP and YYRESTORE
    (Add missing fallback states with EOF rule)

- Fixed miscellaneous bugs:

  + `#286 <https://github.com/skvadrik/re2c/issues/286>`_:
    Incorrect submatch values with fixed-length trailing context.
  + `#297 <https://github.com/skvadrik/re2c/issues/297>`_:
    configure error on ubuntu 18.04 / cmake 3.10

- Changed bootstrap process (require explicit configuration flags and a path to
  re2c executable to regenerate the lexers).

- Added internal options ``--posix-prectable <naive | complex>``.

- Added debug option ``--dump-dfa-tree``.

- Major revision of the paper "Efficient POSIX submatch extraction on NFA".

----
1.3x
----

1.3 (2019-12-14)
~~~~~~~~~~~~~~~~

- Added option: ``--stadfa``.

- Added warning: ``-Wsentinel-in-midrule``.

- Added generic API primitives:

  + ``YYSTAGPD``
  + ``YYMTAGPD``

- Added configurations:

  + ``re2c:sentinel = 0;``
  + ``re2c:define:YYSTAGPD = "YYSTAGPD";``
  + ``re2c:define:YYMTAGPD = "YYMTAGPD";``

- Worked on reproducible builds
  (`#258 <https://github.com/skvadrik/re2c/pull/258>`_:
  Make the build reproducible).

----
1.2x
----

1.2.1 (2019-08-11)
~~~~~~~~~~~~~~~~~~

- Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_:
  re2c should install unicode_categories.re somewhere.

- Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_:
  Turn off re2c:eof = 0.

1.2 (2019-08-02)
~~~~~~~~~~~~~~~~

- Added EOF rule ``$`` and configuration ``re2c:eof``.

- Added ``/*!include:re2c ... */`` directive and ``-I`` option.

- Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives.

- Added ``--input-encoding <ascii | utf8>`` option.

  + `#237 <https://github.com/skvadrik/re2c/issues/237>`_:
    Handle non-ASCII encoded characters in regular expressions
  + `#250 <https://github.com/skvadrik/re2c/issues/250>`_
    UTF8 enoding

- Added include file with a list of definitions for Unicode character classes.

  + `#235 <https://github.com/skvadrik/re2c/issues/235>`_:
    Unicode character classes

- Added ``--location-format <gnu | msvc>`` option.

  + `#195 <https://github.com/skvadrik/re2c/issues/195>`_:
    Please consider using Gnu format for error messages

- Added ``--verbose`` option that prints "success" message if re2c exits
  without errors.

- Added configurations for options:

  + ``-o --output`` (specify output file)
  + ``-t --type-header`` (specify header file)

- Removed configurations for internal/debug options.

- Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``,
  ``/*!use:re2c*/`` and ``/*!re2c*/`` blocks.

  + `#55 <https://github.com/skvadrik/re2c/issues/55>`_:
    allow standard re2c blocks in reuse mode

- Fixed ``-F --flex-support`` option: parsing and operator precedence.

  + `#229 <https://github.com/skvadrik/re2c/issues/229>`_:
    re2c option -F (flex syntax) broken
  + `#242 <https://github.com/skvadrik/re2c/issues/242>`_:
    Operator precedence with --flex-syntax is broken

- Changed difference operator ``/`` to apply before encoding expansion of
  operands.

  + `#236 <https://github.com/skvadrik/re2c/issues/236>`_:
    Support range difference with variable-length encodings

- Changed output generation of output file to be atomic.

  + `#245 <https://github.com/skvadrik/re2c/issues/245>`_:
    re2c output is not atomic

- Authored research paper "Efficient POSIX Submatch Extraction on NFA"
  together with Dr Angelo Borsotti.

- Added experimental libre2c library (``--enable-libs`` configure option) with
  the following algorithms:

  + TDFA with leftmost-greedy disambiguation
  + TDFA with POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with leftmost-greedy disambiguation
  + TNFA with POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with POSIX disambiguation (Kuklewicz algorithm)
  + TNFA with POSIX disambiguation (Cox algorithm)

- Added debug subsystem (``--enable-debug`` configure option) and new debug
  options:

  + ``-dump-cfg`` (dump control flow graph of tag variables)
  + ``-dump-interf`` (dump interference table of tag variables)
  + ``-dump-closure-stats`` (dump epsilon-closure statistics)

- Added internal options:

  + ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms
    used for the construction of POSIX closure)

- Fixed a number of crashes found by American Fuzzy Lop fuzzer:

  + `#226 <https://github.com/skvadrik/re2c/issues/226>`_,
    `#227 <https://github.com/skvadrik/re2c/issues/227>`_,
    `#228 <https://github.com/skvadrik/re2c/issues/228>`_,
    `#231 <https://github.com/skvadrik/re2c/issues/231>`_,
    `#232 <https://github.com/skvadrik/re2c/issues/232>`_,
    `#233 <https://github.com/skvadrik/re2c/issues/233>`_,
    `#234 <https://github.com/skvadrik/re2c/issues/234>`_,
    `#238 <https://github.com/skvadrik/re2c/issues/238>`_

- Fixed handling of newlines:

  + correctly parse multi-character newlines CR LF in ``#line`` directives
  + consistently convert all newlines in the generated file to Unix-style LF

- Changed default tarball format from .gz to .xz.

  + `#221 <https://github.com/skvadrik/re2c/issues/221>`_:
    big source tarball

- Fixed a number of other bugs and resolved issues:

  + `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort
  + `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault
  + `#10 <https://github.com/skvadrik/re2c/issues/10>`_:
    lessons/002_upn_calculator/calc_002 doesn't produce a useful example program
  + `#44 <https://github.com/skvadrik/re2c/issues/44>`_:
    Access violation when translating the attached file
  + `#49 <https://github.com/skvadrik/re2c/issues/49>`_:
    wildcard state \000 rules makes lexer behave weard
  + `#98 <https://github.com/skvadrik/re2c/issues/98>`_:
    Transparent handling of #line directives in input files
  + `#104 <https://github.com/skvadrik/re2c/issues/104>`_:
    Improve const-correctness
  + `#105 <https://github.com/skvadrik/re2c/issues/105>`_:
    Conversion of pointer parameters into references
  + `#114 <https://github.com/skvadrik/re2c/issues/114>`_:
    Possibility of fixing bug 2535084
  + `#120 <https://github.com/skvadrik/re2c/issues/120>`_:
    condition consisting of default rule only is ignored
  + `#167 <https://github.com/skvadrik/re2c/issues/167>`_:
    Add word boundary support
  + `#168 <https://github.com/skvadrik/re2c/issues/168>`_:
    Wikipedia's article on re2c
  + `#180 <https://github.com/skvadrik/re2c/issues/180>`_:
    Comment syntax?
  + `#182 <https://github.com/skvadrik/re2c/issues/182>`_:
    yych being set by YYPEEK () and then not used
  + `#196 <https://github.com/skvadrik/re2c/issues/196>`_:
    Implicit type conversion warnings
  + `#198 <https://github.com/skvadrik/re2c/issues/198>`_:
    no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’
  + `#210 <https://github.com/skvadrik/re2c/issues/210>`_:
    How to build re2c in windows?
  + `#215 <https://github.com/skvadrik/re2c/issues/215>`_:
    A memory read overrun issue in s_to_n32_unsafe.cc
  + `#220 <https://github.com/skvadrik/re2c/issues/220>`_:
    src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug
  + `#223 <https://github.com/skvadrik/re2c/issues/223>`_:
    Fix typo
  + `#224 <https://github.com/skvadrik/re2c/issues/224>`_:
    src/dfa/closure_posix.cc: pack() tweaks
  + `#225 <https://github.com/skvadrik/re2c/issues/225>`_:
    Documentation link is broken in libre2c/README
  + `#230 <https://github.com/skvadrik/re2c/issues/230>`_:
    Changes for upcoming Travis' infra migration
  + `#239 <https://github.com/skvadrik/re2c/issues/239>`_:
    Push model example has wrong re2c invocation, breaks guide
  + `#241 <https://github.com/skvadrik/re2c/issues/241>`_:
    Guidance on how to use re2c for full-duplex command & response protocol
  + `#243 <https://github.com/skvadrik/re2c/issues/243>`_:
    A code generated for period (.) requires 4 bytes
  + `#246 <https://github.com/skvadrik/re2c/issues/246>`_:
    Please add a license to this repo
  + `#247 <https://github.com/skvadrik/re2c/issues/247>`_:
    Build failure on current Cygwin, probably caused by force-fed c++98 mode
  + `#248 <https://github.com/skvadrik/re2c/issues/248>`_:
    distcheck still looks for README
  + `#251 <https://github.com/skvadrik/re2c/issues/251>`_:
    Including what you use is find, but not without inclusion guards

- Updated documentation and website.
jperkin pushed a commit that referenced this issue Nov 6, 2020
Version 1.64.1
--------------

- The BigInt type is now _actually_ available, as it wasn't enabled in the
  1.64.0 release even though it was mentioned in the release notes.

- Closed bugs and merge requests:
  * testCommandLine's Unicode tests failing on Alpine Linux [Philip Chimento,
    #296, !399]
  * build: Various clean-ups [Jan Tojnar, !403]
  * Correctly handle vfunc inout parameters [Marco Trevisan, !404]
  * Fix failed redirect of output in CommandLine tests [Liban Parker, !409]

Version 1.58.6
--------------

- Various backports:
  * Correctly handle vfunc inout parameters [Marco Trevisan]
  * Fix failed redirect of output in CommandLine tests [Liban Parker]
  * Avoid filename conflict when tests run in parallel [Philip Chimento]

Version 1.64.0
--------------

- No change from 1.63.92.

Version 1.63.92
---------------

- Closed bugs and merge requests:
  * object: Use g_irepository_get_object_gtype_interfaces [Colin Walters, Philip
    Chimento, #55, !52]
  * Add -fno-semantic-interposition to -Bsymbolic-functions [Jan Alexander
    Steffens (heftig), #303, !397]
  * examples: add a dbus-client and dbus-service example [Andy Holmes, !398]
  * Various GNOME Shell crashes during GC, mozjs68 regression [Jan Alexander
    Steffens (heftig), Philip Chimento, #301, !396]

Version 1.63.91
---------------

- Closed bugs and merge requests:
  * [mozjs68] Reorganize modules for ESM. [Evan Welsh, Philip Chimento, !383]
  * Various maintenance [Philip Chimento, !388]
  * Fix building GJS master with Visual Studio and update build instructions
    [Chun-wei Fan, !389]
  * Resolve "Gnome Shell crash on GC run with mozjs68" [Philip Chimento, !391]
  * installed-tests/js: Add missing dep on warnlib_typelib [Jan Alexander
    Steffens, !393]
  * object: Cache known unresolvable properties [Daniel van Vugt, Philip
    Chimento, !394, #302]

Version 1.58.5
--------------

- Closed bugs and merge requests:
  * Fix Visual Studio builds of gnome-3-34 (1.58.x) branch [Chun-wei Fan, !392]
  * Can not access GObject properties of classes without GI information [Juan
    Pablo Ugarte, !385, #299]

Version 1.63.90
---------------

- New JS API: The GObject module has gained new overrides:
  GObject.signal_handler_find(), GObject.signal_handlers_block_matched(),
  GObject.signal_handlers_unblock_matched(), and
  GObject.signal_handlers_disconnect_matched(). These overrides replace the
  corresponding C API, which was not idiomatic for JavaScript and was not fully
  functional because it used bare C pointers for some of its functionality.
  See modules/overrides/GObject.js for API documentation.

- New JavaScript features! This version of GJS is based on SpiderMonkey 68, an
  upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60.
  Here are the highlights of the new JavaScript features.
  For more information, look them up on MDN or devdocs.io.

  * New language features
    + The BigInt type, currently a stage 3 proposal in the ES standard, is now
      available.

  * New syntax
    + `globalThis` is now the ES-standard supported way to get the global
      object, no matter what kind of JS environment. The old way, `window`, will
      still work, but is no longer preferred.
    + BigInt literals are expressed by a number with "n" appended to it: for
      example, `1n`, `9007199254740992n`.

  * New APIs
    + String.prototype.trimStart() and String.prototype.trimEnd() now exist and
      are preferred instead of trimLeft() and trimRight() which are nonstandard.
    + String.prototype.matchAll() allows easier access to regex capture groups.
    + Array.prototype.flat() flattens nested arrays, well-known from lodash and
      similar libraries.
    + Array.prototype.flatMap() acts like a reverse filter(), allowing adding
      elements to an array while iterating functional-style.
    + Object.fromEntries() creates an object from iterable key-value pairs.
    + Intl.RelativeTimeFormat is useful for formatting time differences into
      human-readable strings such as "1 day ago".
    + BigInt64Array and BigUint64Array are two new typed array types.

  * New behaviour
    + There are a lot of minor behaviour changes as SpiderMonkey's JS
      implementation conforms ever closer to existing ECMAScript standards and
      adopts new ones. For complete information, read the Firefox developer
      release notes:
      https://developer.mozilla.org/en-US/Firefox/Releases/61#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/62#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/63#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/64#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/65#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/66#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/67#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/68#JavaScript

  * Backwards-incompatible changes
    + The nonstandard String generics were removed. These had only ever been
      implemented by Mozilla and never made it into a standard. (An example of a
      String generic is calling a string method on something that might not be a
      string like this: `String.endsWith(foo, 5)`. The proper way is
      `String.prototype.endsWith.call(foo, 5)` or converting `foo` to a string.)
      This should not pose much of a problem for existing code, since in the
      previous version these would already print a deprecation warning whenever
      they were used.
      You can use `moz68tool` from mozjs-deprecation-tools
      (https://gitlab.gnome.org/ptomato/moz60tool) to scan your code for this
      nonstandard usage.

- Closed bugs and merge requests:
  * invalid import on signal.h [#295, !382, Philip Chimento]
  * SpiderMonkey 68 [#270, !386, Philip Chimento]
  * GObject: Add override for GObject.handler_block_by_func [#290, !371, Philip
    Chimento]

Version 1.63.3
--------------

- Closed bugs and merge requests:
  * JS ERROR: TypeError: this._rooms.get(...) is undefined [Philip Chimento,
    #289, !367]
  * Run CI build with --werror [Philip Chimento, #286, !365]
  * build: Remove Autotools build system [Philip Chimento, !364]
  * gjs-symlink script is incompatible with distro builds [Michael Catanzaro,
    Bastien Nocera, #291, !369, !370]
  * installed-tests: Don't hardcode the path of bash [Ting-Wei Lan, !372]
  * Update Visual Studio build instructions (after migrating to full Meson-based
    builds) [Chun-wei Fan, !375]
  * object: Warn when setting a deprecated property [Florian Müllner, !378]
  * CI: Create mozjs68 CI images [Philip Chimento, !379]
  * Various maintenance [Philip Chimento, !374, !380, !381]

Version 1.58.4
--------------

- Now prints a warning when constructing an unregistered object inheriting from
  GObject (i.e. if you forgot to use GObject.registerClass.) In 1.58.2 this
  would throw an exception, which broke some existing code, so that change was
  reverted in 1.58.3. In this version the check is reinstated, but we log a
  warning instead of throwing an exception, so that people know to fix their
  code, but without breaking things.
  NOTE: In 1.64 (the next stable release) the warning will be changed back into
  an exception, because code with this problem can be subtly broken and cause
  unexpected errors elsewhere. So make sure to fix your code if you get this
  warning.

- Closed bugs and merge requests:
  * GSettings crash fixes [Andy Holmes, !373]

- Memory savings for Cairo objects [Philip Chimento, !374]

- Fix for crash in debug functions [Philip Chimento, !374]

Version 1.63.2
--------------

- There is an option for changing the generated GType name for GObject classes
  created in GJS to a new scheme that is less likely to have collisions. This
  scheme is not yet the default, but you can opt into it by setting
  `GObject.gtypeNameBasedOnJSPath = true;` as early as possible in your
  prograṁ. Doing this may require some changes in Glade files if you use
  composite widget templates.

  We recommend you make this change in your codebase as soon as possible, to
  avoid any surprises in the future.

- New JS API: GObject.Object has gained a stop_emission_by_name() method which
  is a bit more idiomatic than calling GObject.signal_stop_emission_by_name().

- It's now supported to use the "object" attribute in a signal connection in a
  composite widget template in a Glade file.

- Closed bugs and merge requests:
  * CI: Tweak eslint rule for unneeded parentheses [Florian Müllner, !353]
  * Smarter GType name computation [Marco Trevisan, !337]
  * Meson CI [Philip Chimento, !354]
  * Visual Studio builds using Meson [Chun-wei Fan, !355]
  * Hide internal symbols from ABI [Marco Trevisan, #194, !352]
  * Allow creating custom tree models [Giovanni Campagna, #71]
  * build: Fix dist files [Florian Müllner, !357]
  * GObject: Add convenience wrapper for signal_stop_emission_by_name() [Florian
    Müllner, !358]
  * Various maintenance [Philip Chimento, !356]
  * object_instance_props_to_g_parameters should do more check on argv [Philip
    Chimento, #63, !359]
  * Support flat C arrays of structures [Philip Chimento, !361]
  * Gtk Templates: support connectObj argument [Andy Holmes, !363]

- Various build fixes [Philip Chimento]

Version 1.58.2
--------------

- Closed bugs and merge requests:
  * GObject based class initialization checks [Marco Trevisan, Philip Chimento,
    !336]
  * Silently leaked return value of callbacks [Xavier Claessens, Philip
    Chimento, #86, !44]
  * Crash when calling Gio.Initable.async_init with not vfunc_async_init
    implementation [Philip Chimento, #287, !362]
  * [cairo] insufficient checking [Philip Chimento, #49, !360]

- Various crash fixes backported from the development branch that didn't close
  a bug or merge request.

Version 1.63.1
--------------

- Note that the 1.59, 1.60, 1.61, and 1.62 releases are hereby skipped, because
  we are calling the next stable series 1.64 to match gobject-introspection and
  GLib.

- GJS now includes a Meson build system. This is now the preferred way to build
  it; however, the old Autotools build system is still available for a
  transitional period.

- Closed bugs and merge requests:
  * GObject: Add convenience wrapper for signal_handler_(un)block() [Florian
    Müllner, !326]
  * GObject based class initialization checks [Marco Trevisan, Philip Chimento,
    !336]
  * Meson port [Philip Chimento, !338]
  * add http client example [Sonny Piers, !342]
  * Smaller CI, phase 2 [Philip Chimento, !343]
  * add websocket client example [Sonny Piers, !344]
  * Fix Docker images build [Philip Chimento, !345]
  * CI: Use new Docker images [Philip Chimento, !346]
  * docs: Update internal links [Andy Holmes, !348]
  * Don't pass generic marshaller to g_signal_newv() [Niels De Graef, !349]
  * tests: Fail debugger tests if command failed [Philip Chimento, !350]
  * Minor CI image fixes [Philip Chimento, !351]
  * Various fixes [Marco Trevisan, Philip Chimento]

Version 1.58.1
--------------

- Closed bugs and merge requests:
  * Import wiki documentation [Sonny Piers, !341]
  * Smaller CI, phase 1 [Philip Chimento, !339]
  * Crashes after setting child property 'icon-name' on GtkStack then displaying
    another GtkStack [Florian Müllner, #284, !347]
  * GLib.strdelimit crashes [Philip Chimento, #283, !340]

Version 1.58.0
--------------

- No change from 1.57.92.

Version 1.57.92
---------------

- Closed bugs and merge requests:
  * tests: Enable regression test cases for GPtrArrays and GArrays of structures
    [Stéphane Seng, !334]
  * Various maintenance [Philip Chimento, !333, !335]

Version 1.57.91
---------------

- GJS no longer links to libgtk-3. This makes it possible to load the Gtk-4.0
  typelib in GJS and write programs that use GTK 4.

- The heapgraph tool has gained some improvements; it is now possible to print a
  heap graph of multiple targets. You can also mark an object for better
  identification in the heap graph by assigning a magic property: for example,
  myObject.__heapgraph_name = 'Button' will make that object identify itself as
  "Button" in heap graphs.

- Closed bugs and merge requests:
  * Remove usage of Lang in non legacy code [Sonny Piers, !322]
  * GTK4 [Florian Müllner, #99, !328, !330]
  * JS syntax fixes [Marco Trevisan, Philip Chimento, !306, !323]
  * gi: Avoid infinite recursion when converting GValues [Florian Müllner, !329]
  * Implement all GObject-introspection test suites [Philip Chimento, !327,
    !332]
  * Heapgraph improvements [Philip Chimento, !325]

Version 1.57.90
---------------

- New JS API: GLib.Variant has gained a recursiveUnpack() method which
  transforms the variant entirely into a JS object, discarding all type
  information. This can be useful for dealing with a{sv} dictionaries, where
  deepUnpack() will keep the values as GLib.Variant instances in order to
  preserve the type information.

- New JS API: GLib.Variant has gained a deepUnpack() method which is exactly the
  same as the already existing deep_unpack(), but fits with the other camelCase
  APIs that GJS adds.

- Closed bugs and merge requests:
  * Marshalling of GPtrArray broken [#9, !311, Stéphane Seng]
  * Fix locale chooser [!313, Philip Chimento]
  * dbus-wrapper: Remove interface skeleton flush idle on dispose [!312, Marco
    Trevisan]
  * gobject: Use auto-compartment when getting property as well [!316, Florian
    Müllner]
  * modules/signals: Use array destructuring in _emit [!317, Jonas Dreßler]
  * GJS can't call glibtop_init function from libgtop [#259, !319,
    Philip Chimento]
  * GLib's VariantDict is missing lookup [#263, !320, Sonny Piers]
  * toString on an object implementing an interface fails [#252, !299, Marco
    Trevisan]
  * Regression in GstPbutils.Discoverer::discovered callback [#262, !318, Philip
    Chimento]
  * GLib.Variant.deep_unpack not working properly with a{sv} variants [#225,
    !321, Fabián Orccón, Philip Chimento]
  * Various maintenance [!315, Philip Chimento]

- Various CI fixes [Philip Chimento]

Version 1.57.4
--------------

- Closed bugs and merge requests:
  * gjs 1.57 requires a recent sysprof version for sysprof-capture-3 [#258,
    !309, Olivier Fourdan]

- Misc documentation changes [Philip Chimento]

Version 1.57.3
--------------

- The GJS profiler is now integrated directly into Sysprof 3, via the
  GJS_TRACE_FD environment variable. Call stack information and garbage
  collector timing will show up in Sysprof. See also GNOME/Initiatives#10

- New JS API: System.addressOfGObject(obj) will return a string with the hex
  address of the underlying GObject of `obj` if it is a GObject wrapper, or
  throw an exception if it is not. This is intended for debugging.

- New JS API: It's now possible to pass a value from Gio.DBusProxyFlags to the
  constructor of a class created by Gio.DBusProxy.makeProxyWrapper().

- Backwards-incompatible change: Trying to read a write-only property on a DBus
  proxy object, or write a read-only property, will now throw an exception.
  Previously it would fail silently. It seems unlikely any code is relying on
  the old behaviour, and if so then it was probably masking a bug.

- Closed bugs and merge requests:
  * Build failure on Continuous [#253, !300, Philip Chimento]
  * build: Bump glib requirement [!302, Florian Müllner]
  * profiler: avoid clearing 512 bytes of stack [!304, Christian Hergert]
  * system: add addressOfGObject method [!296, Marco Trevisan]
  * Add support for GJS_TRACE_FD [!295, Christian Hergert]
  * Gio: Make possible to pass DBusProxyFlags to proxy wrapper [!297, Marco
    Trevisan]
  * Various maintenance [!301, Philip Chimento]
  * Marshalling of GPtrArray broken [#9, !307, Stéphane Seng]
  * Build fix [!308, Philip Chimento]
  * Gio: sync dbus wrapper properties flags [!298, Marco Trevisan]
  * GjsMaybeOwned: Reduce allocation when used as Object member [!303, Marco
    Trevisan]

Version 1.57.2
--------------

- There are now overrides for Gio.SettingsSchema and Gio.Settings which avoid
  aborting the whole process when trying to access a nonexistent key or child
  schema. The original API from GLib was intended for apps, since apps should
  have complete control over which settings keys they are allowed to access.
  However, it is not a good fit for shell extensions, which may need to access
  different settings keys depending on the version of GNOME shell they're
  running on.

  This feature is based on code from Cinnamon which the copyright holders have
  kindly agreed to relicense to GJS's license.

- New JS API: It is now possible to pass GObject.TypeFlags to
  GObject.registerClass(). For example, passing
  `GTypeFlags: GObject.TypeFlags.ABSTRACT` in the class info object, will create
  a class that cannot be instantiated. This functionality was present in
  Lang.Class but has been missing from GObject.registerClass().

- Closed bugs and merge requests:
  * Document logging features [#230, !288, Andy Holmes]
  * Support optional GTypeFlags value in GObject subclasses [!290, Florian
    Müllner]
  * Ensure const-correctness in C++ objects [#105, !291, Onur Şahin]
  * Programmer errors with GSettings cause segfaults [#205, !284, Philip
    Chimento]
  * Various maintenance [!292, Philip Chimento]
  * debugger: Fix summary help [!293, Florian Müllner]
  * context: Use Heap pointers for GC objects stored in vectors [!294, Philip
    Chimento]

Version 1.56.2
--------------

- Closed bugs and merge requests:
  * Crash in BoxedInstance when struct could not be allocated directly [#240,
    !285, Philip Chimento]
  * Cairo conversion bugs [!286, Philip Chimento]
  * Gjs crashes when binding inherited property to js added gobject-property
    [#246, !289, Marco Trevisan]
  * console: Don't accept --profile after the script name [!287, Philip
    Chimento]

Version 1.57.1
--------------

- Closed bugs and merge requests:
  * Various maintenance [!279, Philip Chimento]
  * mainloop: Assign null to property instead of deleting [!280, Jason Hicks]
  * Added -d version note README.md [!282, Nauman Umer]
  * Extra help for debugger commands [#236, !283, Nauman Umer]
  * Crash in BoxedInstance when struct could not be allocated directly [#240,
    !285, Philip Chimento]
  * Cairo conversion bugs [!286, Philip Chimento]

Version 1.56.1
--------------

- Closed bugs and merge requests:
  * Calling dumpHeap() on non-existent directory causes crash [#134, !277,
    Philip Chimento]
  * Using Gio.MemoryInputStream.new_from_data ("string") causes segfault [#221,
    !278, Philip Chimento]
  * Fix gjs_context_eval() for non-zero-terminated strings [!281, Philip
    Chimento]

Version 1.56.0
--------------

- No change from 1.55.92.

Version 1.55.92
---------------

- Closed bugs and merge requests:
  * Fix CI failures [!269, Philip Chimento]
  * Possible memory allocation/deallocation bug (possibly in js_free() in GJS)
    [!270, Chun-wei Fan, Philip Chimento]
  * cairo-context: Special-case 0-sized vector [!271, Florian Müllner]
  * Add some more eslint rules [!272, Florian Müllner]
  * win32/NMake: Fix introspection builds [!274, Chun-wei Fan]
  * NMake/libgjs-private: Export all the public symbols there [!275, Chun-wei
    Fan]

Version 1.55.91
---------------

- The problem of freezing while running the tests using GCC's sanitizers was
  determined to be a bug in GCC, which was fixed in GCC 9.0.1.

- Closed bugs and merge requests:
  * gnome-sound-recorder crashes deep inside libgjs [#223, !266, Philip
    Chimento]
  * Various maintenance [!267, Philip Chimento]
  * wrapperutils: Define $gtype property as non-enumerable [!268, Philip
    Chimento]

Version 1.55.90
---------------

- New JS API: It's now possible to call and implement DBus methods whose
  parameters or return types include file descriptor lists (type signature 'h'.)
  This involves passing or receiving a Gio.UnixFDList instance along with the
  parameters or return values.

  To call a method with a file descriptor list, pass the Gio.UnixFDList along
  with the rest of the parameters, in any order, the same way you would pass a
  Gio.Cancellable or async callback.

  For return values, things are a little more complicated, in order to avoid
  breaking existing code. Previously, synchronously called DBus proxy methods
  would return an unpacked GVariant. Now, but only if called with a
  Gio.UnixFDList, they will return [unpacked GVariant, Gio.UnixFDList]. This
  does not break existing code because it was not possible to call a method with
  a Gio.UnixFDList before, and the return value is unchanged if not calling with
  a Gio.UnixFDList. This does mean, unfortunately, that if you have a method
  with an 'h' in its return signature but not in its argument signatures, you
  will have to call it with an empty FDList in order to receive an FDList with
  the return value, when calling synchronously.

  On the DBus service side, when receiving a method call, we now pass the
  Gio.UnixFDList received from DBus to the called method. Previously, sync
  methods were passed the parameters, and async methods were passed the
  parameters plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to
  those parameters also should not break existing code.

  See the new tests in installed-tests/js/testGDBus.js for examples of calling
  methods with FD lists.

- We have observed on the CI server that GJS 1.55.90 will hang forever while
  running the test suite compiled with GCC 9.0.0 and configured with the
  --enable-asan and --enable-ubsan arguments. This should be addressed in one of
  the following 1.55.x releases.

- Closed bugs and merge requests:
  * GDBus proxy overrides should support Gio.DBusProxy.call_with_unix_fd_list()
    [#204, !263, Philip Chimento]
  * Add regression tests for GObject vfuncs [!259, Jason Hicks]
  * GjsPrivate: Sources should be C files [!262, Philip Chimento]
  * build: Vendor last-good version of AX_CODE_COVERAGE [!264, Philip Chimento]

Version 1.55.4
--------------

- Closed bugs and merge requests:
  * Various maintenance [!258, Philip Chimento]
  * Boxed copy constructor should not be called, split Boxed into prototype and
    instance structs [#215, !260, Philip Chimento]

Version 1.55.3
--------------

- Closed bugs and merge requests:
  * Manually constructed ByteArray toString segfaults [#219, !254, Philip
    Chimento]
  * signals: Add _signalHandlerIsConnected method [!255, Jason Hicks]
  * Various maintenance [!257, Philip Chimento]

Version 1.52.5
--------------

- This was a release consisting only of backports from the GNOME 3.30 branch to
  the GNOME 3.28 branch.

- This release includes the "Big Hammer" patch from GNOME 3.30 to reduce memory
  usage. For more information, read the blog post at
  https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/
  It was not originally intended to be backported to GNOME 3.28, but in practice
  several Linux distributions already backported it, and it has been working
  well to reduce memory usage, and the bugs have been ironed out of it.

  It does decrease performance somewhat, so if you don't want that then don't
  install this update.

- Closed bugs and merge requests:

  * Ensure not to miss the force_gc flag [#150, !132, Carlos Garnacho]
  * Make GC much more aggressive [#62, !50, Giovanni Campagna, Georges Basile
    Stavracas Neto, Philip Chimento]
  * Queue GC when a GObject reference is toggled down [#140, !114, !127, Georges
    Basile Stavracas Neto]
  * Reduce memory overhead of g_object_weak_ref() [#144, !122, Carlos Garnacho,
    Philip Chimento]
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * Use compacting GC on RSS size growth [!133, #151, Carlos Garnacho]
  * GType memleak fixes [!244, Marco Trevisan]

Version 1.55.2
--------------

- Closed bugs and merge requests:
  * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
    Trevisan]
  * Various maintenance [!235, !250, Philip Chimento]
  * Auto pointers builder [!243, Marco Trevisan]
  * configure.ac: Update bug link [!245, Andrea Azzarone]
  * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone, Philip
    Chimento]
  * Fix build with --enable-dtrace and create CI job to ensure it doesn't break
    in the future [#196, !237, !253, Philip Chimento]
  * Delay JSString-to-UTF8 conversion [!249, Philip Chimento]
  * Annotate return values [!251, Philip Chimento]
  * Fix a regression with GError toString() [!252, Philip Chimento]
  * GType memleak fixes [!244, Marco Trevisan]
  * Atoms refactor [!233, Philip Chimento, Marco Trevisan]
  * Write a "Code Hospitable" README file [#17, !248, Philip Chimento, Andy
    Holmes, Avi Zajac]
  * object: Method lookup repeatedly traverses introspection [#54, !53, Colin
    Walters, Philip Chimento]
  * Handler of GtkEditable::insert-text signal is not run [#147, !143, Tomasz
    Miąsko, Philip Chimento]

Version 1.54.3
--------------

- Closed bugs and merge requests:
  * object: Fix write-only properties [!246, Philip Chimento]
  * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone]
  * SelectionData.get_targets crashes with "Unable to resize vector" [#201,
    !241, Philip Chimento]
  * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
    Trevisan]
  * GType memleak fixes [!244, Marco Trevisan]
  * Fix build with --enable-dtrace and create CI job to ensure it doesn't break
    in the future [#196, !253, Philip Chimento]

Version 1.54.2
--------------

- Closed bugs and merge requests:
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * fundamental: Check if gtype is valid before using it [!242, Georges Basile
    Stavracas Neto]

- Backported a fix for a crash in the interactive interpreter when executing
  something like `throw "foo"` [Philip Chimento]

- Backported various maintenance from 3.31 [Philip Chimento]

Version 1.55.1
--------------

- New API for programs that embed GJS: gjs_memory_report(). This was already an
  internal API, but now it is exported.

- Closed bugs and merge requests:

  * object: Implement newEnumerate hook for GObject [!155, Ole Jørgen Brønner]
  * Various maintenance [!228, Philip Chimento]
  * ByteArray.toString should stop at null bytes [#195, !232, Philip Chimento]
  * Byte arrays that represent encoded strings should be 0-terminated [#203,
    !232, Philip Chimento]
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * arg: Add special-case for byte arrays going to C [#67, !49, Jasper
    St. Pierre, Philip Chimento]

Version 1.52.4
--------------

- This was a release consisting only of backports from the GNOME 3.30 branch to
  the GNOME 3.28 branch.

- Closed bugs and merge requests:

  * `ARGV` encoding issues [#22, !108, Evan Welsh]
  * Segfault on enumeration of GjSFileImporter properties when a searchpath
    entry contains a symlink [#154, !144, Ole Jørgen Brønner]
  * Possible refcounting bug around GtkListbox signal handlers [#24, !154,
    Philip Chimento]
  * Fix up GJS_DISABLE_JIT flag now the JIT is enabled by default in
    SpiderMonkey [!159, Christopher Wheeldon]
  * Expose GObject static property symbols. [!197, Evan Welsh]
  * Do not run linters on tagged commits [!181, Claudio André]
  * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
    Chimento]
  * gjs no longer builds after recent autoconf-archive updates [#149, !217,
    Philip Chimento]

Version 1.54.1
--------------

- Closed bugs and merge requests:
  * legacy: Ensure generated GType names are valid [!229, Florian Müllner]
  * Fix GJS profiler with MozJS 60 [!230, Georges Basile Stavracas Neto]
  * Regression with DBus proxies [#202, !231, Philip Chimento]

Version 1.54.0
--------------

- Compatibility fix for byte arrays: the legacy toString() behaviour of byte
  arrays returned from GObject-introspected functions is now restored. If you
  use the functionality, a warning will be logged asking you to upgrade your
  code.

- Closed bugs and merge requests:
  * byteArray: Add compatibility toString property [Philip Chimento, !227]

Version 1.53.92
---------------

- Technology preview of a GNOME 3.32 feature: native Promises for GIO-style
  asynchronous operations. This is the result of Avi Zajac's summer internship.
  To use it, you can opt in once for each specific asynchronous method, by
  including code such as the following:

      Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async',
          'read_bytes_finish');

  After executing this, you will be able to use native Promises with the
  Gio.InputStream.prototype.read_async() method, simply by not passing a
  callback to it:

      try {
          let bytes = await stream.read_bytes_async(count, priority, cancel);
      } catch (e) {
          logError(e, 'Failed to read bytes');
      }

  Note that any "success" boolean return values are deleted from the array of
  return values from the async method. That is,

      let [contents, etag] = file.load_contents_async(cancel);

  whereas the callback version still returns a useless [ok, contents, etag]
  that can never be false, since on false an exception would be thrown. In the
  callback version, we must keep this for compatibility reasons.

  Note that due to a bug in GJS (https://gitlab.gnome.org/GNOME/gjs/issues/189),
  promisifying methods on Gio.File.prototype and other interface prototypes will
  not work. We provide the API Gio._LocalFilePrototype on which you can
  promisify methods that will work on Gio.File instances on the local disk only:

      Gio._promisify(Gio._LocalFilePrototype, 'load_contents_async',
          'load_contents_finish');

  We estimate this will cover many common use cases.

  Since this is a technology preview, we do not guarantee API stability with
  the version coming in GNOME 3.32. These APIs are marked with underscores to
  emphasize that they are not stable yet. Use them at your own risk.

- Closed bugs and merge requests:
  * Added promisify to GJS GIO overrides [!225, Avi Zajac]
  * Temporary fix for Gio.File.prototype [!226, Avi Zajac]

Version 1.53.91
---------------

- Closed bugs and merge requests:
  * CI: add webkit and gtk-app tests [!222, Claudio André]
  * Fix example eslint errors [!207, Claudio André, Philip Chimento]
  * Fix more "lost" GInterface properties [!223, Florian Müllner]
  * Fix --enable-installed-tests when built from a tarball [!224, Simon
    McVittie]

Version 1.53.90
---------------

- GJS now depends on SpiderMonkey 60 and requires a compiler capable of C++14.

- GJS includes a simple debugger now. It has basic stepping, breaking, and
  printing commands, that work like GDB. Activate it by running the GJS console
  interpreter with the -d or --debugger flag before the name of the JS program
  on the command line.

- New API for programs that embed GJS: gjs_context_setup_debugger_console().
  To integrate the debugger into programs that embed the GJS interpreter, call
  this before executing the JS program.

- New JavaScript features! This version of GJS is based on SpiderMonkey 60, an
  upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52.
  Here are the highlights of the new JavaScript features.
  For more information, look them up on MDN or devdocs.io.

  * New syntax
    + `for await (... of ...)` syntax is used for async iteration.
    + The rest operator is now supported in object destructuring: e.g.
      `({a, b, ...cd} = {a: 1, b: 2, c: 3, d: 4});`
    + The spread operator is now supported in object literals: e.g.
      `mergedObject = {...obj1, ...obj2};`
    + Generator methods can now be async, using the `async function*` syntax,
      or `async* f() {...}` method shorthand.
    + It's now allowed to omit the variable binding from a catch statement, if
      you don't need to access the thrown exception: `try {...} catch {}`

  * New APIs
    + Promise.prototype.finally(), popular in many third-party Promise
      libraries, is now available natively.
    + String.prototype.toLocaleLowerCase() and
      String.prototype.toLocaleUpperCase() now take an optional locale or
      array of locales.
    + Intl.PluralRules is now available.
    + Intl.NumberFormat.protoype.formatToParts() is now available.
    + Intl.Collator now has a caseFirst option.
    + Intl.DateTimeFormat now has an hourCycle option.

  * New behaviour
    + There are a lot of minor behaviour changes as SpiderMonkey's JS
      implementation conforms ever closer to ECMAScript standards. For complete
      information, read the Firefox developer release notes:
      https://developer.mozilla.org/en-US/Firefox/Releases/53#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/54#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/55#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/56#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/57#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/58#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/59#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/60#JavaScript

  * Backwards-incompatible changes
    + Conditional catch clauses have been removed, as they were a Mozilla
      extension which will not be standardized. This requires some attention in
      GJS programs, as previously we condoned code like `catch (e if
      e.matches(Gio.IOError, Gio.IOError.EXISTS))`  with a comment in
      overrides/GLib.js, so it's likely this is used in several places.
    + The nonstandard `for each (... in ...)` loop was removed.
    + The nonstandard legacy lambda syntax (`function(x) x*x`) was removed.
    + The nonstandard Mozilla iteration protocol was removed, as well as
      nonstandard Mozilla generators, including the Iterator and StopIteration
      objects, and the Function.prototype.isGenerator() method.
    + Array comprehensions and generator comprehensions have been removed.
    + Several nonstandard methods were removed: ArrayBuffer.slice() (but not
      the standard version, ArrayBuffer.prototype.slice()),
      Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(),
      Object.prototype.watch(), and Object.prototype.unwatch().

- Many of the above backwards-incompatible changes can be caught by scanning
  your source code using https://gitlab.gnome.org/ptomato/moz60tool, or
  https://extensions.gnome.org/extension/1455/spidermonkey-60-migration-validator/

- Deprecation: the custom ByteArray is now discouraged. Instead of ByteArray,
  use Javascript's native Uint8Array. The ByteArray module still contains
  functions for converting between byte arrays, strings, and GLib.Bytes
  instances.

  The old ByteArray will continue to work as before, except that Uint8Array
  will now be returned from introspected functions that previously returned a
  ByteArray. To keep your old code working, change this:

      let byteArray = functionThatReturnsByteArray();

  to this:

      let byteArray = new ByteArray.ByteArray(functionThatReturnsByteArray());

  To port to the new code:

  * ByteArray.ByteArray -> Uint8Array
  * ByteArray.fromArray() -> Uint8Array.from()
  * ByteArray.ByteArray.prototype.toString() -> ByteArray.toString()
  * ByteArray.ByteArray.prototype.toGBytes() -> ByteArray.toGBytes()
  * ByteArray.fromString(), ByteArray.fromGBytes() remain the same

  * Unlike ByteArray, Uint8Array's length is fixed. Assigning an element past
    the end of a ByteArray would lengthen the array. Now, it is ignored.
    Instead use Uint8Array.of(), for example, this code:

        let a = ByteArray.fromArray([97, 98, 99, 100]);
        a[4] = 101;

    should be replaced by this code:

        let a = Uint8Array.from([97, 98, 99, 100]);
        a = Uint8Array.of(...a, 101);

    The length of the byte array must be set at creation time. This code will
    not work anymore:

        let a = new ByteArray.ByteArray();
        a[0] = 255;

    Instead, use "new Uint8Array(1)" to reserve the correct length.

- Closed bugs and merge requests:

  * Run tests using real software [#178, !192, Claudio André]
  * Script tests are missing some errors [#179, !192, Claudio André]
  * Create a '--disable-readline' option and use it [!196, Claudio André]
  * CI: stop using Fedora for clang builds [!198, Claudio André]
  * Expose GObject static property symbols. [!197, Evan Welsh]
  * CI fixes [!200, Claudio André]
  * Docker images creation [!201, Claudio André]
  * Get Docker images built and stored in GJS registry [#185, !203, !208,
    Claudio André, Philip Chimento]
  * Clear the static analysis image a bit more [!205, Claudio André]
  * Rename the packaging job to flatpak [!210, Claudio André]
  * Create SpiderMonkey 60 docker images [!202, Claudio André]
  * Debugger [#110, !204, Philip Chimento]
  * Add convenience g_object_set() replacement [!213, Florian Müllner]
  * Add dependencies of the real tests (examples) [!215, Claudio André]
  * CWE-126 [#174, !218, Philip Chimento]
  * gjs no longer builds after recent autoconf-archive updates [#149, !217,
    Philip Chimento]
  * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
    Chimento]
  * Run the GTK real tests (recently added) [!212, Claudio André]
  * Fix thorough tests failures [!220, Philip Chimento]
  * Port to SpiderMonkey 60 [#161, !199, Philip Chimento]
  * Replace ByteArray with native ES6 TypedArray [#5, !199, Philip Chimento]
  * Overriding GInterface properties broke [#186, !216, Florian Müllner, Philip
    Chimento]
  * Avoid segfault when checking for GByteArray [!221, Florian Müllner]

- Various build fixes [Philip Chimento]
jperkin pushed a commit that referenced this issue Jan 16, 2021
pkgsrc change: remove python27 restriction.

2.0.0 (2021-01-08) - @slonopotamus

* stop sending/receiving ids between Ruby and Python
* use close_others Ruby mechanism to prevent file descriptor leaking to
  Python

2.0.0.rc3 (2021-01-08) - @slonopotamus

* fix watchdog race condition leading to ThreadError(<killed thread>) on
  JRuby (#215)

2.0.0.rc2 (2021-01-07) - @slonopotamus

* Fix release workflow

2.0.0.rc1 (2021-01-07) - @slonopotamus

* Modify mentos.py to run on Python 3.x instead of Python 2.7
* Add :timeout parameter to allow for configurable timeouts
* Add several Python 3.x versions to test matrix
* Drop dependency on MultiJson
* Fix hanging on JRuby + Windows
* Update Pygments to 2.7.3
* Drop GitHub custom lexers
* Rework timeout handling
* Improve error message when Python is not found
* Breaking change Pygments.rb no longer sets default timeout for its
  operations
* Breaking change Now pygments.rb raises MentosError instead of returning
  nil on timeout
jperkin pushed a commit that referenced this issue Jan 27, 2021
Most work done by leot@ and sjmulder@ in pkgsrc-wip.

tig-2.5.1
---------

Improvements:

 - bash/zsh completion: reimplement and decrease runtime by factor 1863. (#795)
 - Add binding to reflog view to toggle reference display.
 - Fail if tig is given an invalid or ambiguous ref. (#980)
 - Make tig process-group leader an option. (#986, #951)
 - Handle GIT_WORK_TREE environment variable.
 - The blame view requires a working tree.
 - Fix use of deprecated vwprintw() function.
 - Update utf8proc to v2.5.0.
 - Add --word-diff=plain colorizing support. (#221)

Bug fixes:

 - Fix segmentation fault. (#971)
 - Fix cursor position after "Move to parent" in blame view. (#973)
 - Fix crash on adding a line to a view. (#523)
 - Fix memory leak in diff unit.
 - Fix loop after refresh or change in refs/main split view. (#991)
 - Fix occasional crash on custom key bindings. (#1001)

tig-2.5.0
---------

Improvements:

 - Single file view enters blame mode on "b". (#804)
 - Show untracked files in the default view. (#762)
 - Disable graph if log.follow is enabled and there is only one pathspec.
   (#881)
 - Disable graph for author searches.
 - git_colors: interpret 'ul' as 'underline'.
 - Add refname variable. (#900)
 - Add -C option to specify the working directory. (#570)
 - Improve behaviour of auto and periodic refresh modes. (#389, #441, #482,
   #794, #888, #932)
 - Add support for repos created with git --work-tree. (#872)
 - Add diff-highlight to pager mode.
 - Show annotated commits in main view. (#819)
 - Introduce reflog view. (#538)
 - Add option to start with cursor on HEAD commit. (#755)
 - Support combined diffs with more than 2 parents.
 - Improve how a toggle option value is shown on the status line. (#879)
 - Add options to filter refs output. (#694)
 - Update utf8proc to v2.4.0. (#961)

Bug fixes:

 - Fix garbled cursor line with older ncurses versions.
 - Fix diff highlighting of removed lines starting with -- and added lines
   starting with ++. (#871, #875)
 - Fix loop when displaying search result if regex matches an empty string.
   (#866)
 - Add synchronous command description in tigrc.
 - Fix parsing of git rev-parse output. (#884)
 - Propagate --first-parent to diff arguments. (#861)
 - Use proper type for hash table size. (#858)
 - Fix incorrect cppcheck warning about realloc() use.
 - Don't shift signed int by 31 bits.
 - Fix Vim going background after running Tig outside of a git repository.
   (#906)
 - make-builtin-config: use "read -r". (#912)
 - Fix segfaults with readline 8.0. (#893)
 - Reset state before closing stage view automatically.
 - Don't use a child view as previous view.
 - Force reload of VIEW_FLEX_WIDTH views only when needed.
 - Combined diff uses @@@ as hunk marker.
 - Fix memory leak induced by 'tig grep'.
 - Fix memory leak in main view.
 - Exit gracefully if refs view was defined without ref column. (#897)
 - Fix pager view not moving up when child view is open.
 - make-builtin-config: Fix unportable sed usage in read_tigrc().
 - Properly detect combined diffs. (#942)

tig-2.4.1
---------

Bug fixes:

 - Add `CURSES_CFLAGS` to `CPPFLAGS`. (#856, Linuxbrew/homebrew-core#8440)

tig-2.4.0
---------

Improvements:

 - Add 'send-child-enter' option to control interaction with child views.
   (#791)
 - Update make config defaults for Cygwin to ncurses6. (#792)
 - Build against netbsd-curses. (#789)
 - Change the blame view to render more like `git blame`. (#812)
 - Improve worktree and submodule support. (#459, #781, #783)
 - Support running Tig via a Git alias. (#763)
 - Use ISO-8601 letters for short relative dates. (#759, #760)
 - Change date formatting to show time zones by default. (#428, #811)
 - Use utf8proc to handle Unicode characters. (#827)

Bug fixes:

 - Fix `file(1)` argument on Linux used for resolving encodings. (#788)
 - Fix underflow in the file search. (#800, #801)
 - Fix line numbers in grep view when scrolled. (#813)
 - Pass command line args through to the stage view. (#569, #823)
 - Fix resource leak. (#780)
 - Fix various compiler warnings and pointer arithmetic. (#799, #803)
 - Workaround potential null pointer dereferences. (#824)
 - Bind to single and double quotes by using the *<SingleQuote>* and
   *<DoubleQuote>* key mappings. (#821)
 - Make Tig the process-group leader and clean child processes. (#828, #837)
 - Fix sh compatibility in `contrib/tig-pick`. (#832)
 - Fix incorrect behaviour of up and down keys in diff view when opened from
   diff preview. (#802, #835)
 - Open the stage view when maximizing a split diff view of (un)staged changes.
   (#836)
 - Use fully qualified reference name for tags when conflicting with branch
   name. (#746, #787, #849)
 - Fix resize not working after entering command. (#845) (#846)
 - Use stack allocated memory to handle `TIG_LS_REMOTE`. (#839)
 - Fix deleted file mode line remains highlighted after hovering in diff or
   stage view. (#851)
 - Fix `TIG_LS_REMOTE` not working with git-ls-remote(1). (#853, #854)

tig-2.3.3
---------

Bug fixes:

 - Revert "Handle \n like \r (#758)". (GH #769)
 - Fix GH #164 by catching SIGHUP.
 - Change `refs_tags` type to `size_t`.

tig-2.3.2
---------

Bug fixes:

 - Fix busy loop detection to handle large repos. (GH #164)

tig-2.3.1
---------

Improvements:

 - Restore TTY attributes. (GH #725)
 - Handle `\n` like `\r`. (GH #758)

Bug fixes:

 - Add workaround that detects busy loops when Tig loses the TTY. This may
   happen if Tig does not receive the HUP signal (e.g. when started with
   `nohup`). (GH #164)
 - Fix compatibility with ncurses-5.4 which caused copy-pasting to not work
   in the prompt. (GH #767)
 - tig(1): document correct environment variable. (GH #752)

tig-2.3.0
---------

Incompatibilities:

 - The `width` setting on the `status`, `text` and `commit-title` columns was
   never applied and has been removed. (GH #617)

Improvements:

 - Improve load performance by throttling screen updates. (GH #622, #629)
 - Speed up graph rendering. (GH #638)
 - Enable scroll optimizations for Terminal.app and iTerm2. (GH #637)
 - Improve the test suite portability to not depend on GNU sed. (GH #609, #614)
 - Make build reproducible. (https://reproducible-builds.org/) (GH #613)
 - Enable binding to more symbolic keys and keys with control modifier:
   `F13`-`F19`, `ShiftLeft`, `ShiftRight`, `ShiftDel`, `ShiftHome`, `ShiftEnd`,
   `ShiftTab`, `Ctrl-C`, `Ctrl-V`, `Ctrl-S`, and `Ctrl-@`. (GH #314, #619,
   #642)
 - Persist readline history to `~/.tig_history` or `$XDG_DATA_HOME/tig/history`.
   Use `history-size` to control the number of entries to save. (GH #620, #713,
   #714, #718)
 - Preload last search from persistent history. (GH #630)
 - Add `view-close-no-quit` action, unbound by default. (GH #607)
 - Add `mouse-wheel-cursor` option (off by default) when set to true causes
   wheel actions to prefer moving the cursor instead of scrolling. (GH #608)
 - Add `truncation-delimiter` option, set to `~` by default. (GH #646)
 - Add `-q` parameter to `source` for "source-if-present". (GH #612)
 - Add `:echo` prompt command to display text in the status bar. (GH #626, #636)
 - Make `diff-highlight` colors configurable. (GH #625, #633)
 - Let Ctrl-C exit Y/N dialog, menu prompts and the file finder. (GH #632, #648)
 - Hide cursor unless at textual prompt. (GH #643)
 - Expand tilde ('~') in `:script` paths. (GH #674)
 - Show single-line output of external command in status bar. (GH #200, #557,
   #678)
 - Disable the graph when `--no-merges` is passed. (GH #687)
 - Print backtraces on segfault in debug mode.
 - Ignore script lines starting with `#` (comment). (GH #705)
 - Complete `repo:*` variables when readline is enabled. (GH #702)
 - Incorporate XTerm's `wcwidth.c` to find Unicode widths. (GH #691)

Bug fixes:

 - Fix graph display issues. (GH #419, #638)
 - Fix and improve rendering of Unicode characters. (GH #330, #621, #644, #682)
 - Handle hyphenated directory names when listing content. (GH #602)
 - Do not jump to next match when cancelling the search prompt. (GH #627)
 - Fix clearing of the status line after `Ctrl-C`. (GH #623, #649)
 - Fix handling of width on line-number and trimmed width of 1. (GH #617)
 - Set cursor position when not updating prompt contents. (GH #647)
 - Erase status line at exit time for users without altscreen-capable terminals.
   (GH #589)
 - Fix unexpected keys when restoring from suspend (`Ctrl-Z`). (GH #232)
 - contrib/vim.tigrc: Also bind G in the main as a workaround for limitations of
   the `none` action. (GH #594, #599)
 - Only override `blame-options` when commands are given and fix parsing of
   `-C`. (GH #597)
 - Fix diff name discovery to better handle prefixes.
 - Interpret button5 as wheel-down. (GH #321, #606)
 - Fix `back` / `parent` in tree view. (GH #641)
 - Fix memory corruption in `concat_argv` and file finder. (GH #634, #655)
 - Fix reading from stdin for `tig show`.
 - Document problem of outdated system-wide `tigrc` files in Homebrew. (GH #598)
 - Repaint the display when toggling `line-graphics`. (GH #527)
 - Fix custom date formatting support longer strings. (GH #522)
 - Don't segfault on ":exec" irregular args. (GH #686)
 - Fix segfault when calling htab_empty. (GH #663, #745)

tig-2.2.2
---------

Upgrade instructions:

 - The `status-untracked-dirs` option was renamed to
   `status-show-untracked-dirs` to match the new `status-show-untracked-files`
   option.

Improvements:

 - Use `diff-options` when preparing the diff in the stage view to make the diff
   state configurable. (GH #545)
 - Add 'status-show-untracked-files' option mirroring Git's
   'status.showUntrackedFiles' to toggle display of untracked files.  in the
   status view. On by default. (GH #562)
 - Update `ax_with_curses.m4` and use `pkg-config` to detect. (GH #546)
 - Add `tig-pick` script for using Tig as a commit picker. (GH #575, #580)
 - Add "smart case" option ('set ignore-case = smart-case') to ignore case when
   the search string is lower-case only. (GH #320, #579)

Bug fixes:

 - Fix author ident cache being keyed by email only. (GH #424, #526, #547)
 - Fix periodic refresh mode to properly detect ref changes. (GH #430, #591)
 - Add workaround for detecting failure to start the diff-highlight process.
 - Show diffs in the stash view when `set mailmap = true`. (GH #556)
 - Fix parsing of git-log revision arguments, such as `--exclude=...` in
   conjunction with `--all`. (GH #555)
 - Fix diff stat parsing for binary copies.
 - Fix crash when resizing terminal while search is in progress. (GH #515, #550)
 - Fix argument filtering to pass more arguments through to Git.
 - Check for termcap support in split tinfo libs. (GH #568, #585)

tig-2.2.1
---------

Improvements:

 - Support Git's 'diff-highlight' program when `diff-highlight` is set to either
   true or the path of the script to use for post-processing.
 - Add navigation between merge commits. (GH #525)
 - Add 'A' as a binding to apply a stash without dropping it.
 - Bind 'Ctrl-D' and 'Ctrl-U' to half-page movements by default.
 - manual: Mention how to change default Up/Down behavior in diff view.

Bug fixes:

 - Reorganize checking of libraries for termcap functions.
 - Fix `:goto <id>` error message.

tig-2.2
-------

Incompatibilities:

 - Note that all user-defined commands are now executed at the repository root
   instead of whatever subdirectory Tig was started in. (GH #412)
 - Remove `cmdline-args` option to avoid problems where setting it in `~/.tigrc`
   potentially breaks other views due to its "context-sensitive" nature, where
   a `git-log` option maybe cause `git-grep` to fail. (GH #431)

Improvements:

 - Use .mailmap to show canonical name and email addresses, off by default.
   Add `set mailmap = yes` to `~/.tigrc` to enable. (GH #411)
 - Highlight search results, configurable via `search-result` color. (GH #493)
 - Wrap around when searching, configurable via `wrap-search` setting.
 - Populate `%(file)` with file names from diff stat. (GH #404)
 - `tig --merge` implies `--boundary` similar to gitk.
 - Expose repository variables to external commands, e.g. `%(repo:head)` gives
   the branch name of the current HEAD and `%(repo:cdup)` for the repo root
   path.
 - Add `make uninstall`. (GH #417)
 - Add ZSH completion file (based on Bash completion) (GH #433)
 - Expose the text of the currently selected line as the %(text) (GH #457)
 - Allow users to specify rev arguments to blame (GH #439)
 - Update OSX make config to find brew installed ncurses
 - Add sample git-flow keybinding (GH #421)
 - Add chocolate theme (GH #432)
 - Show stash diffs. (GH #328)
 - Make user tigrc location configurable. (GH #479)
 - Compact relative date display mode. (GH #331)
 - Add date column option controlling whether to show local date.
 - Move to parent commit in the main view. (GH #388)
 - Add `:goto <rev>` prompt command to go to a `git-rev-parse`d revision, e.g.
   `:goto some/branch` or `:goto %(commit)^2`.
 - Respect the XDG standard for configuration files. (GH #513)
 - Show tracking information in `tig status` (GH #504)
 - Resolve diff paths when `diff.noprefix` is true. (GH #487, #488)
 - Support for custom `strftime(3)` date formats, e.g.:

	set main-view-date = custom
	set main-view-date-format = "%Y-%m-%d"

Bug fixes:

 - Prevent staged rename from displaying unstaged changes (GH #472, #491)
 - Fix corrupt chunk header during staging of single lines. (GH #410)
 - Fix out of bounds read in graph-v2 module. (GH #402)
 - Add currently checked out branch to `%(branch)`. (GH #416)
 - Size diff stats correctly for split views.
 - Fix `git-worktree` support by using `git-show-ref`. (GH #437)
 - Add currently checked out branch to `%(branch)` (GH #416)
 - Fix segfault when hitting return in empty file search (GH #464)
 - Remove separator on horizontal split when switching from vertical split
 - Do not expand `--all` when parsing `%(revargs)` (GH #442, #462)
 - Fix exit when the main view is reloaded due to option toggling. (GH #470)
 - Expand all whitespace and control characters to spaces. (GH #485)
 - Restore ability to unbind a default keybinding with `none`. (GH #483)
 - Fix blob view to honor the `wrap-lines` setting.

tig-2.1.1
---------

Improvements:

 - Add support for key combos. (GH #67)
 - See `contrib/vim.tigrc` for Vim-like keybindings. (GH #273, #351)
 - Add GitHub inspired file finder to search for and open any file. (GH #342)
 - Add `search` keymap for navigating file finder search results.

Bug fixes:

 - Fix display of multiple references per commit. (GH #390, #391)
 - Sync the prompt's cursor position with readline's internal position.
   (GH #396)
 - Keep unstaged changes view open after an staging command. (GH #399)

tig-2.1
-------

Improvements:

 - Improve C99 compliance so Tig compiles with the native compilers on
   Solaris (SunStudio cc) and AIX (xlc). (GH #380)
 - Add move-half-page-up and move-half-page-down actions. (GH #323)
 - Preserve the cursor position when changing the diff context.
 - Show 'Unstaged changes' above 'Staged changes' in the main view. (GH #383)
 - Add `:exec <flags><args...>` prompt command to execute commands.
 - Add shorthand for changing the view settings of a single column,
   eg. `set main-view-author = short`. (GH #318)
 - Show better diff context info in the stage view.
 - Add `%(lineno)` state variable. (GH #304)
 - Use hash table to speed up refs lookup. (GH #350)
 - Show the file path in the blob view when available.
 - Use `set commit-order = default` to use Git's default commit order, even when
   the commit graph is enabled. The option will turn off automatic enabling of
   `--topo-order` when the graph is shown in the main view. (GH #310, #324)
 - Speed up the diff view in large repos by loading git-describe info after the
   diff content has been read. (GH #324)
 - Add the old graph rendering as an option. (GH #310, #324)
 - Add `main-options` setting for specifying default main view options.
   Example: `set main-options = --max-count=1000`. (GH #368)
 - See `contrib/large-repo.tigrc` for settings that will help to speed up Tig in
   large repos. (GH #368)
 - Add `:save-options <file>` prompt command to save config to file. (GH #315)

Bug fixes:

 - Update manual to reflect default keybinding changes. (GH #325)
 - Fix graph support for `--first-parent`. (GH #326)
 - Fix off-by-one error when opening editor from the grep view.
 - Fix status on-branch information.
 - Fix main view to handle the case when git-log doesn't find any commits.
 - Fix corner case when parsing diff chunk when lines information is missing.
 - Ensure main view changes commits are shown right before the current HEAD.
 - Fix rendering of boundary commits.
 - Fix compilation with GNU Make 3.80 by removing `$(abspath)`. (GH #362)
 - Fix config parsing to support shell-like quoting in user-defined command,
   e.g. `bind generic <Ctrl-f> :!git log -G"%(prompt Prompt: )"` (GH #371)
 - Make diff meta information colors more consistent with Git. (GH #375)
 - Fix segfault when updating changes in a maximized stage view opened via the
   main view. (GH #376)
 - Handle line number configs where the interval is not specified. (GH #378)
 - Fix display of error messages during startup. (GH #385)
 - Show untracked files outside the current directory like git-status. (GH #230)

tig-2.0.3
---------

Improvements:

 - Add `:save-display <file>` prompt command to save the current display.
 - Add `:script <file>` prompt command for scripting the Tig UI.
 - Add test framework and convert existing tests to use it.
 - Add command-line option for starting in refs view: `tig refs`. (GH #309)
 - Make blame commit ID colors stable across reloads. (GH #303)
 - Increase blame ID and graph rendering color palette to 14 colors.
 - New setting 'split-view-width' controls the width for vertical splits. It
   takes the width of the right-most view either as a number or a percentage.
 - Expose settings holding command line argument lists: `file-args`, `rev-args`,
   and `cmdline-args`. They are mainly intended for testing purposes but also
   allows to change the filtering arguments dynamically. (GH #306)
 - Add `log-options` setting for specifying default log view options.
   Example: `set log-options = --pretty=fuller`.
 - Use option specific view flags to reload view after `:set` commands.

Bug fixes:

 - Refresh the current view when returning from an external command and
   `refresh-mode=after-command`. (GH #289)
 - Fix readline completion.
 - Fix '/' to `find-next` when readline support is enabled. (GH #302)
 - Fix readline prompt to correctly handle UTF-8 characters.
 - Add warnings for more obsolete actions and colors.
 - Fix passing of commit IDS via stdin to the main view.
 - Fix commit title overflow drawing for multibyte text. (GH #307)
 - Fix installation directory permissions.
 - Handle binary files matches reported by git-grep.
 - Toggling of "args"-typed options without any arguments will clear the current
   arguments. Example: `:toggle blame-options`.
 - Detect custom `pretty.format` settings that break the log view and fallback
   to use the `medium` format. (GH #225)
 - Fix invocation of git-diff for the blame view's line tracking. (GH #316)
 - Fix blame completion of directory names. (GH #317)
 - Fix display of conflicts in the main view when 'show-changes' is enabled.
 - Fix off-by-one error when displaying line numbers in the grep view.
 - When showing the commit graph ensure that either topo, date or author-date
   commit order is used. (Debian #757692) (GH #238)

tig-2.0.2
---------

Improvements:

 - Use git-status for diffing the index.
 - Group toggle options together in the help view.

Bug fixes:

 - Fix refs, main and grep loading when 'gui.encoding' is set. (GH #287)
 - Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'.
 - Add work-around for missing strndup() on Mac OS X v10.6. (GH #286)
 - Fix spurious abbreviation of author names. (GH #288)
 - Don't show empty action groups in the help view.

tig-2.0.1
---------

Bug fixes:

 - Fix compilation in watch.c.
 - Fix parsing of key bindings mapped to '^' and '<'. (GH #280, #282)

tig-2.0
-------

Incompatibilities:

 - In preparation for key combo support, key mappings for symbolic keys (e.g.
   `Up` and `Down`) must now start with `<` and end with `>`, e.g. `<Up>` and
   `<Down>`. Furthermore, escape key combos must now use `<Esc>key` instead of
   `^[key`, and control key mappings must now use `<Ctrl-key>` instead of
   `^key`.
 - Only use 'diff-options' for the diff view and introduce '%(cmdlineargs)' to
   hold non-file and non-revision flags passed on the command line. Affects all
   user-defined commands that expect '%(diffargs)' to hold both 'diff-options'
   arguments and those passed on the command line. (GH #228)
 - Remove built-in keybinding for `git gc`. Add the following line to `~/.tigrc`
   to restore it: `bind generic G ?git gc`.
 - To support view specific colors, '.' can no longer be used interchangeably
   with '-' and '_' in settings names and in particular color names.
 - Replace 'stage-next' action with prompt command using a predefined search
   (see below) and add binding (`@` by default) to also work in the diff view.
 - Most view display options must now be set via the new `*-view` options in
   tigrc. Existing options are no longer recognized, but a warning is shown.
 - Remap default bindings to have more consistent convention: use lower-case
   keys primarily for view switching and non-destructive actions, use upper-case
   keys for view-specific actions including user-defined commands. To preserve
   old default key bindings see `contrib/bindings-v1.x.tigrc`. (GH #257)

Improvements:

 - Add mouse support: scroll view, click line to move cursor, double click line
   (or click again) to "Enter" cursor line, e.g. open commit diff. Disabled by
   default, since it makes text selection less intuitive. If you enable this
   remember to hold down Shift (or Option on Mac) when selecting text.
 - Rewrite and improve the rendering of the commit graph. (GH #144, #46)
 - Add completion and history support to the prompt via readline. (GH #185)
 - Options can be configured and toggled individually for each view. Use the new
   view settings to configure the order and display options for each view
   columns. See system tigrc and tigrc(5) for examples. (GH #89, #222)
 - Add grep view as a front-end to git-grep(1): `tig grep -p strchr`. From
   within Tig, the key for switching or grepping is bound to 'g' by default.
 - Rename 'branch' view to 'refs' view and show tags. (GH #134)
 - Add main view pager mode that reads git-log's '--pretty=raw' data
   from stdin, e.g. `git reflog --pretty=raw | tig --pretty=raw`.
 - Add support for `--graph` and highlight diff stats in the log view.
 - Add default command bindings: `!` to delete branch, `!` to drop stash.
 - Add 'stage-split-chunk' action for splitting chunks in the stage view.
   Bound to '\' by default. (GH #107)
 - Add 'back' action bound to '<' by default, which will return the blame view
   to the previous revision and line after moving e.g. to the parent. (GH #124)
 - Auto-refresh views based on watched repository changes. Configure by setting
   `refresh-mode` to 'manual', 'auto', 'after-command', or 'periodic'. (GH #190)
 - All default settings are in well-documented system `tigrc`.
 - Add `:toggle` prompt command to manipulate options using keybindings. For
   example: `bind diff D :toggle diff-options --patience --notes`. (GH #69)
 - Add a new "auto" value for the 'vertical-split' option to let Tig choose the
   split orientation (this is the new default behavior). Can be toggled.
 - Make it possible to toggle the display of files in untracked directories.
 - Allow Tig to be started with no default configuration by specifying an
   alternative system `tigrc` file, e.g.: `TIGRC_SYSTEM=~/.tigrc.safe tig`. Set
   `TIGRC_SYSTEM` to the empty string to use built-in configuration instead of
 - Key mappings can contain UTF-8 multibyte unicode keys.
 - Warn about conflicting keybindings using Ctrl, e.g. `<Ctrl-f>` and
   `<Ctrl-F>`. (GH #218)
 - Extend key bindings for prompt commands (ie. `bind <keymap> <key> :<prompt>`)
   to support predefined searches, eg.: `bind stage 2 :?^@@`.
 - Git color mappings can be configured in tigrc.
 - More informative configuration error messages.
 - Make reference label formatting configurable, for example:
   `set reference-format = (branch) <tags> remote`. (GH #201)
 - Adjust author width and other view columns automatically. (GH #49)
 - Support view specific colors: `color stage.diff-add yellow default`.
 - Copy `-S`, `-G` and `--grep=` pattern to search buffer so 'find-next' and
   'find-prev' work as expected.
 - Optionally specify custom prompt for `%(prompt)` in shell commands, e.g.
   `bind main B ?git checkout -b "%(prompt Enter new branch name: )"`.
 - Add `%(remote)` and `%(tag)` symbols to complement `%(branch)`.
 - User-defined commands can now be prefixed with any of the supported flags,
   e.g. `?git checkout -b %(branch)`.
 - Open editor at line number for combined diffs e.g. diffs of unmerged files.
 - Add build configuration for Cygwin (OS name: CYGWIN_NT-6.1). (GH #92)
 - Document the Git commands supported by the pager mode.  (GH #1)
   system `tigrc` configuration. (GH #235)

Bug fixes:

 - Fix stash diff display when reloading the stash view after a deleting.
 - Set the commit reference when opening the blame view from the blob view.
 - Correctly identify and highlight the remote branch tracked by HEAD.
 - Pass --no-color after user defined arguments to ensure that colors do not
   break the output parsing. (GH #191)
 - Close stdin when pager mode is not supported.
 - Show newly created branches in the main view. (GH #196)
 - File with 0 changes breaks diffstat highlighting (GH #215)
 - Update %(branch) variable in the main view. (GH #223)
 - Disable graph rendering when either of `--reverse`, `-S`, `-G`, and `--grep`
   are passed to the main view. (GH #127)
 - Only refresh views that support it.
 - Fix author and date annotation of renamed entries in the tree view.
 - Fix use of unsafe methods in the signal handler. (GH #245)
 - Fix rendering in non-UTF8 terminals.
 - Fix stage-update-line by rewriting the diff chunk containing the line instead
   of using `--unidiff-zero` and a diff context of zero. (GH #130)
 - Fix status-update to work for untracked directories. (GH #236)
 - Don't pass log parameters given on the command line to the diff view.
jperkin pushed a commit that referenced this issue Jun 15, 2021
httpuv 1.6.1
============

* The `timegm()` function is a non-standard GNU extension, so it has
  been replaced with an internal `timegm2()` function. (#300)

httpuv 1.6.0
============

* Remove BH dependency. httpuv now requires a compiler which supports
  C++11. (#297)

httpuv 1.5.5
============

* Fix SHA1 calculation, and thus WebSocket server handshakes, on
  big-endian systems. (#284)

* Fixed #195: Responses required `headers` to be a named list. Now it
  can also be `NULL`, an empty unnamed list, or it can be
  unset. (#289)

* Allow responses to omit `body` (or set it as `NULL`) to avoid
  sending a body or setting the `Content-Length` header. This is
  intended for use with HTTP 204/304 responses. (#288)

httpuv 1.5.4
============

* Fixed #275: Large HTTP request headers could get truncated if they
  spanned more than one TCP message. (#277)

* Fixed build for Solaris. (#271)

* Fixed a test that had incorrect logic. (#272)

httpuv 1.5.3.1
==============

* Updated libuv to version 1.37.0. (#266)

* Fixed #204: On UBSAN builds of R, there were warnings about
  unaligned memory access. (#246)

* Avoid creating a new Rook error stream object for each request. This
  should improve performance. (#245)

* Resolved #247: httpuv no longer returns a HTTP 400 code for static
  files when the "Content-Length" header is 0. This Content-Length
  header is inserted by some proxies even for messages without
  payloads. (#248)

* Resolved #253: Setting the FRAMEWORK environment variable would
  break compilation.  This change removes any dependency on that
  variable. (#254)

httpuv 1.5.2
============

* In the static file-serving code path, httpuv previously looked for a
  `Connection: upgrade` header; if it found this header, it would not
  try to serve a static file, and it would instead forward the HTTP
  request to the R code path. However, some proxies are configured to
  always set this header, even when the connection is not actually
  meant to be upgraded. Now, instead of looking for a `Connection:
  upgrade` header, httpuv looks for the presence of an `Upgrade`
  header (with any value), and should be more robust to
  incorrectly-configured proxies. (#215)

* Fixed handling of messages without payloads: (#219)

* Fixed #224: Static file serving on Windows did not work correctly if
  it was from a path that contained non-ASCII characters. (#227)

* Resolved #194, #233: Added a `quiet` option to `startServer`, which
  suppresses startup error messages that are normally printed to
  console (and can't be intercepted with `capture.output()`). (#234)

* Added a new function `randomPort()`, which returns a random
  available port for listening on. (#234)

* Added a new (unexported) function `logLevel()`, for controlling
  debugging information that will be printed to the
  console. Previously, httpuv occasionally printed messages like
  `ERROR: [uv_write] broken pipe` and `ERROR: [uv_write] bad file
  descriptor` by default. This happened when the server tried to write
  to a pipe that was already closed, but the situation was not
  harmful, and was already being handled correctly. Now these messages
  are printed only if the log level is set to `INFO` or
  `DEBUG`. (#223)

* If an application's `$call()` method is missing, it will now give a
  404 response instead of a 500 response. (#237)

* Disallowed backslash in static path, to prevent path traversal attacks. (#235)

* Static file serving on Windows could fail if multiple requests
  accessed the same file simultaneously. (#239)
jperkin pushed a commit that referenced this issue Jun 15, 2021
# pillar 1.6.1

- Bump required versions of ellipsis and vctrs to avoid warning during package load.
- `obj_sum()` no longer includes shape twice (#315).


# pillar 1.6.0

## Features

- New `num()` and `char()` offer a flexible way to customize the display of numeric and character columns (#191, #84).
- New `"pillar.max_dec_width"` option (#308).
- New `format_type_sum.AsIs()` avoids the need to implement your own `format_type_sum()` method (#286).
- `align()` gains `space` argument to control the character used for filling (#285).
- Numbers in scientific and decimal notation are formatted with the same rules regarding significant or decimal digits (#297).

## Bug fixes

- Load the debugme package only if the `DEBUGME` environment variable is set.
- More accurate detection if the decimal dot is necessary, and how many digits to show after the decimal dot (#298).
- Use display width instead of number of characters when truncating character columns.

## Documentation

- New `vignette("numbers")` and `vignette("digits")` (#308).

## Internal

- Compatibility with vctrs 0.3.7 (#291).
- `format.pillar_shaft_simple()` requires `"na"` attribute and no longer defaults to `pillar_na()` (#273).


# pillar 1.5.1

## Features

- New `format_glimpse()` (#177).

## Bug fixes

- Color and formatting can now be reliably turned off by setting the `"cli.num_colors"` option to 1 (#269).

## Documentation

- Add examples for new functions (#264).
- Fix lifecycle badges everywhere.


# pillar 1.5.0

## Breaking changes

- `obj_sum()` now always returns a string. `pillar_shaft.list()` iterates over its elements and calls `obj_sum()` for each (#137).

- Breaking: `print.pillar()` and `print.pillar_ornament()` now show  `<pillar>` `<pillar_ornament>` in the first line (#227, #228).

- pillar has been re-licensed as MIT (#215).

## Extensibility

- New `size_sum()` generic (#239).

- New `ctl_new_pillar()` and `ctl_new_compound_pillar()` used via `print.tbl()`, `format.tbl()` and `tbl_format_setup.tbl()` (#230).

- New `new_pillar()` low-level constructor (#230).

- New `new_pillar_component()` and `pillar_component()` (#230).

- New articles `vignette("extending")` and `vignette("printing")` (#251).

## Formatting

- All printing code has been moved from tibble to pillar (#179), including `glimpse()` (#234). This concentrates the printing code in one package and allows for better extensibility.

- Improve formatting for `"Surv"` and `"Surv2"` classes from the survival package (#199).

- Vectors of the `vctrs_unspecified()` class are formatted better (#256).

- Arrays are now formatted by showing only their first slice (#142).

- Avoid wrapping extra column names with spaces (#254).

## Internal

- Now using debugme to simplify understand the complex control flow, see `vignette("debugme")` (#248).

- New `format.pillar_ornament()` (#228).

- Using testthat 3e (#218).

- Avoid pillar.bold option in most tests (#216).

- Change internal storage format for `colonnade()` and `extra_cols()` (#204).


# pillar 1.4.7

- Adapt to changed environment on CRAN's Solaris machine.


# pillar 1.4.6

- Restore compatibility with R 3.2.


# pillar 1.4.5

## Features

- New `pillar.min_chars` option allows controlling the minimum number of characters shown for a character column (#178, @statsmaths).

- `bit64::integer64()` columns are now formatted the same way as numeric columns (#175).

- New `align()` to support easy alignment of strings within a character vector (existing function exported by @davidchall, #185).

## Technical

- `pillar_shaft()`, `format_type_sum()` and `extra_cols()` issue a warning if dots are unused.

- `new_pillar_title()` and `new_pillar_type()` warn if `...` is not empty.

## Internal

- Use lifecycle package.

- Remove compatibility code for R < 3.3.


# pillar 1.4.4

- `obj_sum()` uses `vctrs::vec_size()` internally.

- `is_vector_s3.default()` is soft-deprecated and no longer used. Please ensure that `vctrs::vec_is()` is `TRUE` for your class.

- Rely on vctrs for type abbreviations.


# pillar 1.4.3

- `new_pillar_shaft_simple()` gains `na` argument to control appearance of `NA` values.

- String columns are quoted if at least one value needs quotes (#171).

- Apply subtle style to `list_of` columns (#172).

- Fix formatting if mantissa is very close to 1 (#174).

- Use `as.character()` instead of `as_character()`.

- Remove compatibility with testthat < 2.0.0.
jperkin pushed a commit that referenced this issue Aug 25, 2021
# rvest 1.0.1

* `html_table()` correctly handles tables with cells that contain blank values
  for `rowspan` and/or `colspan`, so that e.g. `<td rowspan="">` is parsed as
  `<td rowspan=1>` (@epiben, #323).

* Fix broken example

# rvest 1.0.0

## New features

* New `html_text2()` provides a more natural rendering of HTML nodes into text,
  converting `<br>` into "\n", and removing non-significant whitespace (#175).
  By default, it also converts `&nbsp;` into regular spaces, which you can
  suppress with `preserve_nbsp = TRUE` (#284).

* `html_table()` has been re-written from scratch to more closely mimic the
  algorithm that browsers use for parsing tables. This should mean that there
  are far fewer tables for which it fails to produce some output (#63, #204,
  #215). The `fill` argument has been deprecated since it is no longer needed.
  `html_table()` now returns a tibble rather than a data frame to be compatible
  with the rest of the tidyverse (#199). Its performance has been considerably
  improved (#237). It also gains a `na.strings` argument to control what values
  are converted to `NA` (#107), and a `convert` argument to control whether to
  run the conversion (#311).

* New `html_form_submit()` allows you to submit a form directly, without
  needing to create a session (#300).

* rvest is now licensed as MIT (#287).

## API changes

Since this is the 1.0.0 release, I included a large number of API changes to make rvest more compatible with current tidyverse conventions. Older functions have been deprecated, so existing code will continue to work (albeit with a few new warnings).

* rvest now imports xml2 rather than depending on it. This is cleaner because
  it avoids attaching all the xml2 functions that you're less likely to use.
  To reduce the change of breakages, rvest re-exports xml2 functions
  `read_html()` and `url_absolute()`, but your code may now need an explicit
  `library(xml2)`.

* `html_form()` now returns an object with class `rvest_form` (instead of form).
   Fields within a form now have class `rvest_field`, instead of a
  variety of classes that were lacking the `rvest_` prefix. All functions for
  working with forms have a common `html_form_` prefix: `set_values()` became
  `html_form_set()`. `submit_form()` was renamed to `session_submit()` because
  it returns a session.

* `html_node()` and `html_nodes()` have been superseded in favor of
  `html_element()`  and `html_elements()` since they (almost) always return
  elements, not nodes (#298).

* `html_session()` is now `session()` and returns an object of class
  `rvest_session` (instead of `session`). All functions that work with session
  objects now have a common `session_` prefix.

* Long deprecated `html()`, `html_tag()`, `xml()` functions have been removed.

* `minimal_html()` (which doesn't appear to be used by any other package)
  has had its arguments flipped to make it more intuitive.

* `guess_encoding()` has been renamed to `html_encoding_guess()` to avoid
  a clash with `stringr::guess_encoding()` (#209). `repair_encoding()` has
  been deprecated because it doesn't appear to work.

* `pluck()` is no longer exported to avoid a clash with `purrr::pluck()`;
  if you need it use `purrr::map_chr()` and friends instead (#209).

* `xml_tag()`, `xml_node()`, and `xml_nodes()` have been formally deprecated
  in favor of their `html_` equivalents.

## Minor improvements and bug fixes

* The "harvesting the web" vignette has been rewritten to focus more on basics
  rvest, eliminating the screenshots to keep the installed package as svelte as
  possible. It's also been renamed to `vignette("rvest")` since it's the
  vignette that you should read first.

* The SelectorGadget vignette is now a web-only article,
  <https://rvest.tidyverse.org/articles/articles/selectorgadget.html>,
  so we can be more generous with screenshots since they're no longer bundled
  with every install of the package. Together with the rewrite of the other
  vignette, this means that rvest is now ~90 Kb instead of ~1.1 Mb.

* All uses of IMDB have been eliminated since the site explicitly prohibits
  scraping (#195).

* `session_submit()` errors if `form` doesn't have a `url` (#288).

* New `session_forward()` function to complement `session_back()`.
  It now allows you to pick the submission button by position (#156).
  The `...` argument is deprecated; please use `config` instead.

* `html_form_set()` can now accept character vectors allowing you to select
  multiple checkboxes in a set or select multiple values from a multi-`<select>`
  (#127, with help from @juba). It also uses dynamic dots so that you can use
  `!!!` if you have a list of values (#189).

# rvest 0.3.6

* Remove failing example
jperkin pushed a commit that referenced this issue Sep 6, 2021
# htmltools 0.5.2

## Breaking Changes

* Closed #205: When calling `tagGetAttribute(x)` on an object with a
  non-atomic attribute, a list of untouched values will be
  returned. It is still recommended to only store character values
  inside attributes. (#212)

## New Features & Improvements

* `{htmltools}` now has its own `{pkgdown}` site hosted at
  <https://rstudio.github.io/htmltools/>.

* The new `tagQuery()` function provides a
  [jQuery](https://jquery.com/) inspired interface to query and/or
  modify HTML `tag()` (e.g., `div()`) or `tagList()` objects. To learn
  more, see the [{pkgdown}
  article](https://rstudio.github.io/htmltools/articles/tagQuery.html). (#208)

* Added `tagAddRenderHook()` for delaying modification of a tag object
  until it is rendered. A list of render-time hooks may also be added
  via the new `.renderHook` argument added to all `tag()`
  functions. (#215)

* Closed #243: Added `withTags(.noWS)` to change the default
  whitespace behavior for all tags within the call to
  `withTags()`. (#245)

* Closed #251: Added `.cssSelector` parameters to tag modifying
  functions such as `tagAppendChildren()` or
  `tagAppendChildren()`. The `.cssSelector` allows you to target
  particular (inner) tags of interest. See `tagAppendChildren()` for
  examples. (#224)

* Closed #225: Added `tagInsertChildren()` to be able to insert child
  tag objects at a particular location. (#224)

## Bug Fixes

* When retrieving a tag attribute using `tagGetAttribute(tag, attr)`,
  `NA` values will be removed before combining remaining attribute
  values. If all attribute values are `NA`, then a single `NA` value
  will be returned. (#212)

* Closed #197: Fixed rendering of boolean attributes in `<script>`
  tags rendered via `renderDependencies()` (#197, thanks @atusy).

* Closed #222: Unnamed attributes are no longer allowed to be appended
  via `tagAppendAttribs()`. When trying to print unnamed tag attribs,
  a better error message is provided. (#229)
jperkin pushed a commit that referenced this issue Sep 20, 2021
2.12.0 (2021-08-11)

Features

* Support empty HTML5 data attributes. [#215]

2.11.0 (2021-07-31)

Features

* Allow HTML5 element wbr.
* Allow all CSS property values for border-collapse. [#201]

Changes

* Deprecating Loofah::HTML5::SafeList::VOID_ELEMENTS which is not a
  canonical list of void HTML4 or HTML5 elements.
* Removed some elements from Loofah::HTML5::SafeList::VOID_ELEMENTS that
  either are not acceptable elements or aren't considered "void" by libxml2.
jperkin pushed a commit that referenced this issue Nov 28, 2021
0.5.8 (2021-11-10)

Added

* Added more documentation files to packaged gem, e.g. SECURITY.md,
  CODE_OF_CONDUCT.md

Fixed

* Removed reference to RUBY_VERSION from gemspec, as it depends on rake
  release, which is problematic on some ruby engines. (by @pboling)

0.5.7 (2021-11-02)

Added

* Setup Rubocop (#205, #208 by @pboling)
* Added CODE_OF_CONDUCT.md (#217, #218 by @pboling)
* Added FUNDING.yml (#217, #218 by @pboling)
* Added Client Certificate Options: :ssl_client_cert and :ssl_client_key
  (#136, #220 by @pboling)
* Handle a nested array of hashes in OAuth::Helper.normalize (#80, #221 by
  @pboling)

Changed

* Switch from TravisCI to Github Actions (#202, #207, #176 by @pboling)
* Upgrade webmock to v3.14.0 (#196 by @pboling)
* Upgrade em-http-request to v1.1.7 (#173 by @pboling)
* Upgrade mocha to v1.13.0 (#193 by @pboling)
* HISTORY renamed to CHANGELOG.md, and follows Keep a Changelog (#214, #215
  by @pboling)
* CHANGELOG, LICENSE, and README now ship with packaged gem (#214, #215 by
  @pboling)
* README.rdoc renamed to README.md (#217, #218 by @pboling)
* Require plaintext signature method by default (#135 by @confiks &
  @pboling)

Fixed

* Fixed Infinite Redirect in v0.5.5, v0.5.6 (#186, #210 by @pboling)
* Fixed NoMethodError on missing leading slash in path (#194, #211 by
  @pboling)
* Fixed NoMethodError on nil request object (#165, #212 by @pboling)
* Fixed Unsafe String Comparison (#156, #209 by @pboling and @drosseau)
* Fixed typos in Gemspec (#204, #203, #208 by @pboling)
* Copyright Notice in LICENSE - added correct years (#217, #218 by @pboling)
* Fixed request proxy Class constant reference scopes - was missing :: in
  many places (#225, #226 by @pboling)

Removed

* Remove direct development dependency on nokogiri (#299 by @pboling)
jperkin pushed a commit that referenced this issue Jan 18, 2022
Changelog:
Version 1.78.0

Known Issues

These are patches from library authors which were found too late to be fixed in
the release.

  * Boost.Build silently skips installation of library headers and binaries in
    some cases, see #104.
      + Fixed in PR#113, patch.
  * Boost.Atomic fails to build when targeting UWP, see #54. Patch.

New Libraries

  * No new libraries.

Updated Libraries

  * Asio:
      + Added an io_uring backend that may optionally be used for all I/O
        objects, including sockets, timers, and posix descriptors.
      + Added support for files, with new new classes for stream-oriented and
        random-access files. This feature currently supports I/O completion
        ports on Windows, and io_uring on Linux.
      + Added support for portable pipes on POSIX and Windows (when I/O
        completion ports are available).
      + Added support for registered buffers, which are optimised when using
        the io_uring backend.
      + Added experimental support for channels, that may be used to send and
        queue completions as messages.
      + Implemented improvements to experimental::coro.
      + Disabled aligned_alloc on clang when using an MSVC runtime.
      + Changed to use a faster implementation for ip::network_v4::canonical().
      + Added template specialisations for common uses to improve compile time.
      + Reduced the size of io_context executors to a single pointer.
      + Increased the small object buffer size for execution::any_executor and
        any_io_executor.
      + Fixed multi-signature handling when variadic templates are disabled.
      + Fixed compatibility with new versions of gcc and clang.
      + Fixed compilation on Solaris.
      + Fixed defence against Qt-defined macros when building with MSVC.
      + Improved error messages emitted by ssl facilities.
      + Fixed bind_executor compatibility with completion tokens.
      + Fixed build errors when BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT is
        defined.
      + Added missing move assignment operator to awaitable<>.
      + Fixed an access violation when using coroutines with MSVC, due to
        incorrect alignment of allocated memory.
      + Fixed a cleanup issue in experimental::parallel_group that occured when
        the execution context was shut down with parallel operations still
        pending.
      + Added clarifications to the documentation on concurrency hints.
      + Added documentation on error handling techniques for C++20 coroutines.
      + Fixed various warnings.
      + Consult the Revision History for further details.
  * Assert:
      + Added source_location::to_string.
  * Atomic:
      + Use process-local futex operations on Android for non-IPC waiting and
        notifying operations.
      + Added support for Linux targets that only define SYS_futex_time64
        syscall, such as riscv32.
      + Added a workaround for incorrect result of std::alignment_of on clang 8
        for 64-bit types on 32-bit x86 targets.
      + Added a ulock backend for waiting and notifying operations on Darwin
        systems since Mac OS 10.12, iOS 10.0, tvOS 10.0 or watchOS 3.0.
      + On Windows, corrected discrepancy between atomic-type
        ::always_has_native_wait_notify and the corresponding capability macros
        when targeting Windows 8 or later. The library will now directly use
        WaitOnAddress and related APIs from public headers and therefore
        require user to link with synchronization.lib if the user requires
        Windows 8 or later by defining BOOST_USE_WINAPI_VERSION, _WIN32_WINNT
        or similar macros. The library is linked automatically on compilers
        that support auto-linking (e.g. MSVC).
      + Added support for types with padding bits, except unions, on compilers
        that provide a way to clear the padding bits. This feature is supported
        by gcc 11 and MSVC 14.2 (compiler version 19.27) and newer, as well as
        other compilers supporting similar intrinsics. On compilers that don't
        allow to clear the padding bits, types with padding are still generally
        not supported with the exception of 80-bit long double on x86 targets.
        A new BOOST_ATOMIC_NO_CLEAR_PADDING capability macro is defined to
        indicate when clearing the padding is not supported.
      + Initializing constructors of atomic_ref and ipc_atomic_ref no longer
        use atomic instructions to clear the padding bits in the referenced
        object. This reduces the cost of the atomic reference construction.
      + Initializing constructors of atomic and ipc_atomic are now constexpr
        for enums, classes and floating point types. For classes and floating
        point types, the constructors are constexpr if the compiler supports
        constexpr std::bit_cast, the type has no padding bytes and no padding
        is required to implement native atomic operations.
      + In accordance with C++20, default constructors of atomic and ipc_atomic
        now perform value initialization of the contained object. For types
        without a user-defined default constructor, this means the
        default-constructed atomic will be zero-initialized.
      + Added a workaround for compilation error on AIX caused by the assembler
        tool not supporting numeric labels. (PR#50)
      + Added a workaround for compilation error with Visual Studio 2015 prior
        to Update 3. (#52)
      + See changelog for more details.
  * Beast:
      + This maintenance update brings minor bug fixes and updated CI
        reporting.
      + Fixed security vulnerability CVE-2016-9840 in zlib implementation.
      + Fixed WebSocket permessage_deflate implementation. This should result
        in an increase in compression performance when using Beast WebSockets.
      + Removed the test stream and test framework's dependency on RTTI. You
        can now use our handy test stream to check your embedded asynchronous
        communications code!
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Core:
      + Added a generic implementation to <boost/core/cmath.hpp>, enabled when
        BOOST_CORE_USE_GENERIC_CMATH is defined or when the platform does not
        provide the necessary facilities in <cmath>.
      + Added boost::core::type_name, a utility function that returns the name
        of a type as a string.
      + Added boost::span, a C++11 implementation of C++20's std::span (Glen
        Fernandes).
  * Describe:
      + Added has_describe_enumerators, has_describe_bases,
        has_describe_members.
      + Added enum_to_string, enum_from_string.
      + Added relational and stream insertion operators.
      + Added descriptor_by_name, descriptor_by_pointer.
  * DLL:
      + Fixed missing #include, thanks to Denis Blank (PR#54)
      + Dropped TravisCI in favor of GithubAction CI
  * Filesystem:
      + v4: path::filename and path::iterator no longer return an implicit
        trailing dot (".") element if the path ends with a directory separator.
        Instead, an empty path is returned, similar to C++17 std::filesystem.
        This also affects other methods that are defined in terms of iterators
        or filename, such as path::stem, path::compare or
        lexicographical_compare. For example, path("a/b/") == path("a/b/.") no
        longer holds true. (#193)
      + v4: path::lexically_normal no longer produce a trailing dot (".")
        element and omits a directory separator after a trailing dot-dot ("..")
        element in the normalized paths.
      + v4: path append operations now consider root name and root directory in
        the appended path. If the appended path is absolute, or root name is
        present and differs from the source path, the resulting path is
        equivalent to the appended path. If root directory is present, the
        result is the root directory and relative path rebased on top of the
        root name of the source path. Otherwise, the behavior is similar to v3.
        (#214)
      + path::lexically_normal now converts directory separators to preferred
        separators in the root name of the normalized paths.
      + Optimized overloads of path::assign, path::append, path::concat and the
        corresponding operators to avoid unnecessary path copying and reduce
        the amount of code redundancy.
      + On POSIX systems, fixed absolute(p, base) returning a path with root
        name base.root_name() if p starts with a root directory. In such a case
        p is already an absolute path and should be returned as is.
      + create_directories no longer reports an error if the input path
        consists entirely of dot (".") and dot-dot ("..") elements. The
        implementation is no longer using recursion internally and therefore is
        better protected from stack overflow on extremely long paths.
      + On Windows, remove now supports deleting read-only files. The operation
        will attempt to reset the read-only attribute prior to removal. Note
        that this introduces a possibility of the read-only attribute being
        left unset, if the operation fails and the original value of the
        attribute fails to be restored. This also affects remove_all. (#216)
      + remove_all now returns static_cast< uintmax_t >(-1) in case of error,
        similar to C++17 std::filesystem.
      + Fixed a linking error about unresolved references to
        Boost.ContainerHash functions when user's code includes boost/
        filesystem/path.hpp but not boost/container_hash/hash.hpp and the
        compiler is set to preserve unused inline functions. (#215)
      + Added a workaround for MSVC and compatible compilers eliminating path
        globals cleanup in release builds. This could lead to a memory leak if
        Boost.Filesystem shared library was repeatedly loaded and unloaded in
        the process. (#217)
  * Geometry:
      + Improvements
          o PR#894 Optimization and refactoring of rtree queries.
          o PR#913 DynamicGeometry and GeometryCollection support in various
            algorithms (undocumented for now).
          o PR#922 DynamicGeometry and GeometryCollection support in distance
            (undocumented for now).
      + Solved issues
          o #867 Poor performance of rtree query iterator with nearest
            predicate for big k.
          o #870 Compilation error in boost::geometry::self_turns.
          o #896 Assertion failure in get_turns with
            BOOST_GEOMETRY_NO_ROBUSTNESS.
      + Bugfixes
          o PR#906 Invalid result of buffer on macos-11 with clang-12.
          o PR#921 Compilation errors with c++20 (various compilers) and gcc-5.
          o Various fixes in set operations and buffer.
  * JSON:
      + Standalone mode of the library is deprecated.
      + Allow external libraries to forward declare value_to and value_from.
      + Fixed signed integer overflow in number parsing.
      + Add support for /Zc:implicitNoexcept- on MSVC.
  * Lambda2:
      + Added special cases in operator<< and operator>> when the first
        argument is a stream, to allow std::cout << _1.
      + Added operator->*.
      + Added first, second.
  * Log:
      + General changes:
          o Updated detection of std::codecvt specializations for char16_t and
            char32_t for compatibility with C++17 and later. (PR#159)
          o Added support for C++17 std::byte type to receive methods of the
            inter-process message queue.
          o On Windows, when building the library for Windows 8 or later, the
            library will use nt62 tag in the version namespace to denote the
            target OS ABI. For example, the version namespace could be named as
            v2_mt_nt62. This name will be part of all symbols exported by the
            library. Use the BOOST_USE_WINAPI_VERSION macro consistenly when
            building Boost and your code to request the minimum target Windows
            version.
          o Improved performance of SSSE3 and AVX2 implementations of the dump
            stream manipulator.
          o Added support for CMake build system. Only library build is
            supported at this moment, Boost.Build is still used for running
            tests.
      + Bug fixes:
          o Fixed a race condition on POSIX systems in reliable_message_queue::
            open_or_create or the equivalent constructor. Multiple threads or
            processes calling open_or_create concurrently with sending or
            receiving messages from the same queue could end up corrupting the
            queue contents and potentially crashing the process. (#162)
          o Added a workaround for b2 install failing on Windows because of
            missing boost_log_setup library if
            BOOST_LOG_WITHOUT_SETTINGS_PARSERS is defined. (#164)
      + See changelog for more details.
  * Math:
      + Add support for cubic roots.
      + Add support for constexpr versions of various standard library math
        routines.
      + Add support for Bezier polynomials.
      + Improve worst-case tanh-sinh integration performance.
      + Disable inadvertant use of integral types in integration routines.
      + Minor update for erf approximations when the result is with 2ulp of 1.
      + Allow Bernoulli code to be used on platforms with no atomic integers.
      + Improve the mode of the non-central Chi Squared distribution.
      + Improve certain edge cases for <cstdfloat> complex-valued elementary
        functions, see #507.
  * Multi-index Containers:
      + Added contains to key-based indices (issue #35).
      + Added merge operations to key-based indices. The functionality goes
        beyond the standard specification for (unordered) associative
        containers in a number of ways, most notably:
          o The source index can be of any type, including non key-based
            indices.
          o Partial merge is provided: for instance, x.merge(y,first,last)
            merges only the elements of y within [first,last).
      + Previous versions of splice for sequenced and random access indices
        were destructive, i.e. elements were copy-inserted into the destination
        and then erased from the source. Now, splice is based on node transfer
        much as merge in key-based indices, and has been similarly extended to
        accept source indices of any type: in fact, splice can be regarded as a
        frontend to the same functionality provided by merge in key-based
        indices. For reasons of backwards compatibility, the destructive
        behavior of splice has been retained in the case that the source and
        destination containers have unequal allocators.
      + The fact has been documented that index iterator types do only depend
        on node_type and the position of the index in its multi_index_container
        , (except for hashed indices, where uniqueness/non-uniqueness is also a
        dependency). This has implications on the validity of iterators to
        elements transferred by merge or splice. This property is a variant of
        what has been called SCARY iterators in the C++ standard mailing lists.
        SCARYness is currently (August 2021) not mandated for standard
        containers.
      + Iterator SCARYness is now also preserved in safe mode.
  * Multiprecision:
      + Rework rational_adaptor to remove dependency on Boost.Rational and
        improve performance.
      + Fix issue with type_traits and clang, see #383.
      + Fixed buggy Lehmer's GCD routine, see #370.
      + Fix mpc_complex constructors so that lossy conversions are explicit,
        see #363.
      + Correct miscellaneous configuration issues (Intel intrinsic usage and
        Apple clang).
      + Correct some iostream operators for unsigned char types.
      + Correct mpq_rational conversions to integer types, see #342.
  * PFR:
      + Added missing #include <memory> for inclusion of std::addressof
      + Fixed -Wzero-length-array warning when dealing with empty aggregates
      + Fixed compilation on msvc compilers <= 1920 (thanks to Alexey Romanov
        aka @alexey-romanov)
      + Added basic CMakeLists.txt support (thanks to @pdimov aka Peter Dimov)
      + Multiple improvements for docs, including links to https://github.com/
        apolukhin/pfr_non_boost
      + Added misc/strip_boost_namespace.sh script to remove boost:: and BOOST_
        prefixes
  * Predef:
      + Version 1.13.1
      + Fix spelling of "epoch".
      + Add missing parenthesis in sparc.h (from tkoecker).
      + Update documentation to use Rouge code styling and Amber general style.
  * Regex:
      + Breaking Change: Change \B to be the opposite of \b as per Perl
        behaviour.
      + Change w32_regex_traits.hpp so that windows.h is no longer included.
      + Fxed fuzzing related issues #151, #152, #153, #156.
  * System:
      + Added support for source locations to error_code.
      + Added error_code::to_string, error_condition::to_string, error_code::
        what.
      + system_error::what() now contains the source location, if present.
      + Added result<T, E = error_code>, a class holding either a value or an
        error, defined in <boost/system/result.hpp>.
  * Utility:
      + Library documentation converted to QuickBook (thanks to Alan de
        Freitas, PR#79).
  * Variant2:
      + Added <boost/variant2.hpp>.
      + Added unsafe_get<I>.
      + Added visit_by_index.
      + Added operator<<.

Updated Tools

  * Build:
      + Includes release of B2 version 4.7.2.
jperkin pushed a commit that referenced this issue May 13, 2022
fping 5.1 (2022-02-06)
======================

## Bugfixes and other changes

- Use setcap to specify specific files in fping.spec (#232, thanks @zdyxry)
- Netdata: use host instead name as family label (#226, thanks @k0ste)
- Netdata: use formatstring macro PRId64 (#229, thanks @gsnw)
- Allow -4 option to be given multiple times (#215, thanks @normanr)
- Documentation fix (#208, thanks @timgates42)
- Retain privileges until after privileged setsockopt (#200, thanks @simetnicbr)
- Set bind to source only when option is set (#198, thanks @dinoex)
- Update Azure test pipeline (#197, thanks @gsnw)
- Fix getnameinfo not called properly for IPv4 (#227, thanks @aafbsd)
- Fixed wrong timestamp under Free- and OpenBSD and macOS (#217, thanks @gsnw)
- Documentation updates (#240, thanks @auerswal)
- Updated autotools (autoconf 2.71, automake 1.16.5, libtool 2.4.6)


fping 5.0 (2020-08-05)
======================

## Incompatible Changes

- In non-quiet loop and count mode, a line is printed for every lost packet
  (#175, thanks @kbucheli):

  ```
  $ fping -D -c2 8.8.8.8 8.8.8.7
  [1596092373.18423] 8.8.8.8 : [0], 64 bytes, 12.8 ms (12.8 avg, 0% loss)
  [1596092374.18223] 8.8.8.7 : [0], timed out (NaN avg, 100% loss)
  [1596092374.18424] 8.8.8.8 : [1], 64 bytes, 12.3 ms (12.5 avg, 0% loss)
  [1596092375.18344] 8.8.8.7 : [1], timed out (NaN avg, 100% loss)

  8.8.8.8 : xmt/rcv/%loss = 2/2/0%, min/avg/max = 12.3/12.5/12.8
  8.8.8.7 : xmt/rcv/%loss = 2/0/100%
  ```

- The returned size in bytes now always excludes the IP header, so if before it
  reported '84 bytes' e.g. when using 'fping -l', now it reports '64 bytes'.
  This is to make the reported size consistent with ping(8) from iputils and
  also with fping when pinging a IPv6 host (which never included the IPv6
  header size).

## New features

- The number of sent pings is only counted when the pings are received or have
  timed out, ensuring that the loss ratio will be always correct. This makes it
  possible, for example, to use loop mode (-l) with interval statistics (-Q)
  and a timeout larger than period, without having the issue that initially
  some pings would be reported as missing (#193)

- Improved precision of measurements from 10us to 1us (#136, thanks @tycho)

## Bugfixes and other changes

- The reported size of received packets is now always correct on Linux even for
  packets > 4096 bytes (#180)

- Travis CI automated testing now also macos testing and additional ubuntu
  distributions (#196)
jperkin pushed a commit that referenced this issue Jun 2, 2022
Upstream changes:
R6 2.5.1

    Removed unused packages from Suggests section in DESCRIPTION.

R6 2.5.0

    Resolved #195: Slightly clearer message when there is an error in the initialize() method.

    Fixed #214: When a non-portable object inheritance was cloned, methods that were inherited (and not overridden) had the wrong environment. (#215, #217)

    Printing R6 objects, no longer includes .__active__.
jperkin pushed a commit that referenced this issue Jun 7, 2022
1.5.0 (2022/04/06)

* Adapters - internally, most (all?) adapters now inherit from a base
  Adapter class

* Adapters - adapter configuration is now accessed via a config method on

* each adapter - see the code for examples. This shouldn't affect

* users unless they were directly modifying adapters' attributes.

* Redis - fix deprecation warnings for Redis 4.6+ multi/pipelined handling
  (#215)

* Mongo - slight improvement to error handling

1.5.1 (2022/04/13)

* Adapters::File - fix an implicit hash issue in Ruby 3 (#222)
jperkin pushed a commit that referenced this issue Dec 3, 2022
1.53      2022-10-08 12:26:55-07:00 America/Los_Angeles
	* dist.ini - changed bugtracker.web to
	  https://github.com/finance-quote/finance-quote/issues
	* DWS.pm - Set $info{$symbol, 'symbol'} to $symbol.
	* Union.pm - #231 - reworked for a different CSV file.
        * CurrencyRates/AlphaVantage.pm - API CURRENCY_EXCHANGE_RATE
          no longer accepts free API keys. Changed to use FX_DAILY API.
          Issue #229 PR #230
        * Set minimum version for LWP::UserAgent in dist.ini to
          honor redirects.
        * CurrencyRates/AlphaVantage.pm - Added logic to account
          for empty JSON returned from currency exchange fetch.
        * Bourso.pm - Added Europe and France back as failover
          methods. These were removed some time ago in commit e26484b.
        * Tradeville.pm - Changed hostname in URL to tradeville.ro.
          Added logic to better account for the symbol not being
          found.
        * YahooJSON.pm - #202 - Account for symbols with '&'.
        * Minor change to isoTime function in Quote.pm.
        * Updated TSP.pm - PR #227 - update URL and handling of dates.

1.52      2022-07-03 15:15:38-07:00 America/Los_Angeles
        * Quote.pm - Fixed logic for FQ_LOAD_QUOTELET starting with "-defaults"
          reported in issue #197. PR #199.
        * AlphaVantage currency module: Don't recurse infinitely when exchange
          rate is less than .001 (PR 193)
        * Bourso.pm - Fixed data bug reported in issue #174 with PR #194.
        * TSP.pm - Minor fix for URL used to retrieve data. PR #195.
          Note: URL was changed after the PR was merged.
          Module remains in a non-working status.
        * TesouroDireto.pm - New module for Brazilian's National Treasury
          public bounds. PR #198.
        * Bloomberg.pm - Update Bloomberg class names #205. Correct html
          parsing errors.
        * MorningstarCH.pm - Re-enabled and fixed in #207.
        * ZA.pm - Change to return price from sharenet in major denomination.
          PR #208.
        * Changes to SourceForge project website HTML files.
        * Add [Prereqs] to dist.ini. #215

1.51      2021-07-04 14:41:59-07:00 America/Los_Angeles
        * Fix bugs in t/fq-object-methods.t
        * Add code to hide warning in t/currency_lookup.t

1.50      2021-06-26 20:52:16-07:00 America/Los_Angeles
        * New modules: CurrencyRates
        * Updated modules: ASX, TIAA-CREF, Fool, Currencies
        * Corrected some POD issues (thanks to the Debian Perl Group)
jperkin pushed a commit that referenced this issue Dec 18, 2022
# pkgload 1.3.2

* Fixes for CRAN checks.


# pkgload 1.3.1

* `dev_topic_find()` is now exported (#215).

* `dev_help()` will remind you to run `pkgload::load_all()` if no
  in-development packages are found (#221).

* Shimmed `?` now works even if you've renamed the documentation topic (#220).

* `dev_help()` now works with an RStudio daily to deliver a rendered
  development documentation that includes working images and links (#228).


# pkgload 1.3.0

* `load_all()` now calls `rlang::check_installed()` to prompt whether
  to install missing packages.

  Outdated and missing dependencies are installed using pak if
  installed. If not, the remotes package is used if installed.
  Otherwise `install.packages()` is used as a last resort but this
  method does not support Remotes fields.

* `load_all()` gains an `attach` argument set to `TRUE` by default (#209).
  If set to `FALSE`, `load_all()` creates a new namespace but doesn't
  create a package environment on the search path. In this case, it is
  more similar to `loadNamespace()` than to `library()`.

* Improved the way help pages are displayed in RStudio. This makes the
  behaviour within and outside RStudio consistent and fixes issues
  with Rd macros (#120).

* `unregister()` is now exported. This is a gentler version of
  `unload()` which removes the package from the search path,
  unregisters methods, and unregisters the namespace. However it
  doesn't try to unload the namespace or its DLL so that dangling
  references keep working.

* User `onLoad` hooks are now run after exports have been
  populated. This allows the hook to use exported functions.

* The loaded namespace is now locked just before user `onLoad` hooks
  are run. This better reproduced the namespace sealing behaviour of
  regular loading.

  The package environment environment is now locked as well before
  both the user and package `onAttach` hooks are run.

* Added support for loading a .so or .dll file from the `inst`
  folder via a new `library.dynam()` shim (@ethanplunkett, #48).

* The `system.file()` shim now fails if you supply a path that starts
  with `inst` to better reproduce the behaviour with installed
  packages (#104).

* `load_all()` now imports its dependencies lazily to avoid parallel
  installation issues (#89).

* Unknown Rd macros no longer trigger a warning when building the
  package topic index (#119).

* `load_all(compile = TRUE)` now forces a full recompilation (#93).

* The advice about running `rm()` to remove conflicts with objects in
  the global environment is now clickable in RStudio (#199).

* New `is_loading()` predicate to detect whether `load_all()` is
  currently running (#134).

* `.dynLibs()` is no longer emptied when package with no DLL is
  unloaded (#176).

* The `?` shim no longer interprets `?"/"` as a path (#198).

* rstudioapi is no longer a hard dependency of pkgload (#187).

* Errors thrown in user hooks are now demoted to a warning
  condition. Previously they were demoted using `try()`, making it
  harder to debug them.

* `load_all()` correctly re-loads modified translations, avoiding
  the usual gettext behaviour.
jperkin pushed a commit that referenced this issue Mar 2, 2023
Changes in 2.2.8
================
* NEW: asip-status.pl: IPv6 support; show GSS-UAM SPNEGO blob;
       improved layout of output. (3.1 backport)
* NEW: apple_dump: support for EA meta data. (3.1 backport)
* NEW: Import netatalk-doc into the main repo, and overhaul
       scripts, man pages and html manual sources.
* UPD: Display the Netatalk Daemon icon with the '-icon' afpd.conf
       option for all platforms. GH #214
* UPD: Remove OpenSSL 1.0 backwards compatibility header.
       Please use OpenSSL 1.1 or later.
* UPD: configure: Enable DDP, timelord, and a2boot by default. GH #215
* UPD: configure: Disable Quota by default. GH #198
* FIX: afpd: Create tmp files in /tmp rather than / and clean up
       after use. Regression in 2.2.7. GH #188
* FIX: Provide MNTTYPE_NFS for Solaris descendents to enable
       compiling with Quota. GH #117
* FIX: afpd: reading from file may fail. SF Bug #619 (3.1 backport)
* FIX: timelord: Fall back to timezone when tm_gmtoff is unavailable.
       Makes it work on Solaris descendents. GH #194
* FIX: fix largefile-check macro for largefile with clang 16.
* FIX: Typo fixes in user facing strings.
jperkin pushed a commit that referenced this issue Mar 8, 2023
2.4.0 (2023-03-02)

What's Changed

* Allow assigning to semaphore limit. by @ioquatix in #215
jperkin pushed a commit that referenced this issue May 25, 2023
What's Changed

    Guard PxManager test with pacrunner-duktape option by @janbrummer in #215
    Fix build on NetBSD. by @0-wiz-0 in #220
    Install libpxbackend into pkglibdir by @amigadave in #223
    Move glib2 inclusion out of c++ protection. by @0-wiz-0 in #227
    Replace libsoup with glib socket service functions by @janbrummer in #228
    Enforce online state for tests by @janbrummer in #229
    Use glib-object header instead of gio by @janbrummer in #230
    Fix libproxy rpath by @janbrummer in #231
    Draft: Improve ignore checks by @janbrummer in #232
    Release 0.5.1 by @janbrummer in #233
jperkin pushed a commit that referenced this issue Aug 13, 2023
v0.8.2 (Fri Aug 11 2023)

Bug Fixes 🐛
 - Fix notice for unsupported elements [#215] by @Builditluc
 - Fix translations not appearing [#214] by @Builditluc
 - Fix word cut off [#213] by @Builditluc
 - Fix invalid search links after language change [#209] by @Builditluc

Structure and Style Changes
 - Replace raster logo with vectors [#208] by @ethamck
jperkin pushed a commit that referenced this issue Sep 1, 2023
## BumpVer 2023.1126

- Add [#214][gh_pr214]: Support for pre/post commit hooks.
- Add [#219][gh_pr219]: Fix pathlib issues on Windows.
- Fix [#201][gh_i201]: Better error message for SemVer corner case.
- Update [#215][gh_i215]: Better error message for greedy pattern matching.
- Update [#216][gh_i216]: Use .toml format in REAMDE examples.

## BumpVer 2023.1125

- Add [#188][gh_i188]: Add `--tag-scope=<SCOPE>` to support separate versioning for branches.
- Add [#185][gh_i185]: Add `--tag-message=<TMPL>` parameter and `tag_message` configuration option.
- Fix [#209][gh_i209]: Make `--no-tag-commit` ommit `--follow-tags`.
jperkin pushed a commit that referenced this issue Oct 31, 2023
1.5.0.3
    Don't import Data.Functor.unzip #215
jperkin pushed a commit that referenced this issue Jan 25, 2024
## Version 0.5.1

Changes:

 * LaTeX math extension (`MD_FLAG_LATEXMATHSPANS`) now requires that opener
   mark is not immediately preceded with alpha-numeric character and similarly
   that closer mark is not immediately followed with alpha-numeric character.

   So for example `foo$ x + y = z $` is not recognized as LaTeX equation
   anymore because there is no space between `foo` and the opening `$`.

 * Table extension (`MD_FLAG_TABLES`) now recognizes only tables with no more
   than 128 columns. This limit has been imposed to prevent a pathological
   case of quadratic output size explosion which could be used as DoS attack
   vector.

 * We are now more strict with `MD_FLAG_PERMISSIVExxxAUTOLINKS` family of
   extensions with respect to non-alphanumeric characters, with the aim to
   mitigate false positive detections.

   Only relatively few selected non-alphanumeric are now allowed in permissive
   e-mail auto-links (`MD_FLAG_PERMISSIVEEMAILAUTOLINKS`):
     - `.`, `-`, `_`, `+` in user name part of e-mail address; and
     - `.`, `-`, `_` in host part of the e-mail address.

   Similarly for URL and e-mail auto-links (`MD_FLAG_PERMISSIVEURLAUTOLINKS` and
   `MD_FLAG_PERMISSIVEWWWAUTOLINKS`):
     - `.`, `-`, `_` in host part of the URL;
     - `/`, `.`, `-`, `_` in path part of the URL;
     - `&`, `.`, `-`, `+`, `_`, `=`, `(`, `)` in the query part of the URL
       (additionally, if present, `(` and `)` must form balanced pairs); and
     - `.`, `-`, `+`, `_` in the fragment part of the URL.

   Furthermore these characters (with some exceptions like where they serve as
   delimiter characters, e.g. `/` for paths) are generally accepted only when
   an alphanumeric character both precedes and follows them (i.e. these cannot
   be "stacked" together).

Fixes:

 * Fix several bugs where we haven't properly respected already resolved spans
   of higher precedence level in handling of permissive auto-links extensions
   (family of `MD_FLAG_PERMISSIVExxxAUTOLINKS` flags), LaTeX math extension
   (`MD_FLAG_LATEXMATHSPANS`) and wiki-links extension (`MD_FLAG_WIKILINKS`)
   of the form `[[label|text]]` (with pipe `|`). In some complex cases this
   could lead to invalid internal parser state and memory corruption.

   Identified with [OSS-Fuzz](https://github.com/google/oss-fuzz).

 * [#222](mity/md4c#222):
   Fix strike-through extension (`MD_FLAG_STRIKETHROUGH`) which did not respect
   same rules for pairing opener and closer marks as other emphasis spans.

 * [#223](mity/md4c#223):
   Fix incorrect handling of new-line character just at the beginning and/or
   end of a code span where we were not following CommonMark specification
   requirements correctly.


## Version 0.5.0

Changes:

 * Changes mandated by CommonMark specification 0.30.

   Actually there are only very minor changes to recognition of HTML blocks:

   - The tag `<textarea>` now triggers HTML block (of type 1 as per the
     specification).

   - HTML declaration (HTML block type 4) is not required to begin with an
     upper-case ASCII character after the `<!`. Any ASCII character is now
     allowed. Also it now doesn't require a whitespace before the closing `>`.

   Other than that, the newest specification mainly improves test coverage and
   clarifies its wording in some cases, without affecting the implementation.

   Refer to [CommonMark
   0.30 notes](https://github.com/commonmark/commonmark-spec/releases/tag/0.30)
   for more info.

 * Make Unicode-specific code compliant to Unicode 15.1.

 * Update list of entities known to the HTML renderer from
   https://html.spec.whatwg.org/entities.json.

New Features:

 * Add extension allowing to treat all soft break as hard ones. It has to be
   explicitly enabled with `MD_FLAG_HARD_SOFT_BREAKS`.

   Contributed by [l-m](https://github.com/l1mey112).

 * Structure `MD_SPAN_A_DETAIL` now has a new member `is_autolink`.

   Contributed by [Jens Alfke](https://github.com/snej).

 * `md2html` utility now supports command line options `--html-title` and
   `--html-css`.

   Contributed by [Andreas Baumann](https://github.com/andreasbaumann).

Fixes:

 * [#163](mity/md4c#163):
   Make HTML renderer to emit `'\n'` after the root tag when in the XHTML mode.

 * [#165](mity/md4c#165):
   Make HTML renderer not to percent-encode `'~'` in URLs. Although it does
   work, it's not needed, and it can actually be confusing with URLs such as
   `http://www.example.com/~johndoe/`.

 * [#167](mity/md4c#167),
   [#168](mity/md4c#168):
   Fix multiple instances of various buffer overflow bugs, found mostly using
   a fuzz testing. Contributed by [dtldarek](https://github.com/dtldarek) and
   [Thierry Coppey](https://github.com/TCKnet).

 * [#169](mity/md4c#169):
   Table underline now does not require 3 characters per table column anymore.
   One dash (optionally with a leading or tailing `:` appended or prepended)
   is now sufficient. This improves compatibility with the GFM.

 * [#172](mity/md4c#172):
   Fix quadratic time behavior caused by unnecessary lookup for link reference
   definition even if the potential label contains nested brackets.

 * [#173](mity/md4c#173),
   [#174](mity/md4c#174),
   [#212](mity/md4c#212),
   [#213](mity/md4c#213):
   Multiple bugs identified with [OSS-Fuzz](https://github.com/google/oss-fuzz)
   were fixed.

 * [#190](mity/md4c#190),
   [#200](mity/md4c#200),
   [#201](mity/md4c#201):
   Multiple fixes of incorrect interactions of indented code block with a
   preceding block.

 * [#202](mity/md4c#202):
   We were not correctly calling `enter_block()` and `leave_block()` callbacks
   if multiple HTML blocks followed one after another; instead previously
   such blocks were merged into one.

   (This may likely impact only applications interested in Markdown's AST,
   and not just converting Markdown to other formats like HTML.)

 * [#210](mity/md4c#210):
   The `md2html` utility now handles nested images with optional titles
   correctly.

 * [#214](mity/md4c#214):
   Tags `<h2>` ... `<h6>` incorrectly did not trigger HTML block.

 * [#215](mity/md4c#215):
   The parser incorrectly did not accept optional tabs after setext header
   underline.

 * [#217](mity/md4c#217):
   The parser incorrectly resolved emphasis in some situations, if the emphasis
   marks were enclosed by punctuation characters.
jperkin pushed a commit that referenced this issue Feb 14, 2024
v0.20.1

What's Changed

    Switch to GitHub Actions CI. by @patrickt in #166
    Add the same PR template as for tree-sitter-javascript by @mjambon in #169
    Fixed CRLF behavior for tests by @ahelwer in #188
    Fix CRLF behavior mismatch during error recovery by @ahelwer in #189
    Endless methods by @aibaars in #190
    Add forwarded parameters/arguments by @aibaars in #191
    Disable C++ exceptions when compile for wasm32-wasi by @glebpom in #192
    Pattern matching by @aibaars in #193
    Improve grammar after the introduction of case-in pattern matching by @aibaars in #197
    Add parenthesized_pattern by @aibaars in #198
    Ruby 3.1 features by @aibaars in #201
    Update to Node 16 by @mattmassicotte in #206
    C bindings by @mattmassicotte in #199
    Parser improvements by @aibaars in #207
    CI: use windows-2019 for now by @aibaars in #209
    Add named rules for the various call operators by @aibaars in #211
    Update Makefile by @mattmassicotte in #213
    Allow newer tree-sitter upstream library. by @patrickt in #215
    Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #214
    Fix parse error in 'foo! if condition' by @aibaars in #216
    Parser improvements: != operator and key: [line_break] by @aibaars in #220
    Some improvements to the parser by @aibaars in #222
    Wrap class, module, method, and block bodies in a named node by @npezza93 in #224
    Parser improvments: quoted heredocs and short-hand interpolations by @aibaars in #225
    Add body field for end-less methods by @aibaars in #226
    Swift bindings by @mattmassicotte in #227
    fix: rename reserved word “arguments” by @drwpow in #229
    Bump versions in #208
    Anonymous (hash) splat arguments by @aibaars in #233
    One-line pattern matching by @aibaars in #194
    Scanner: do not skip LINE_BREAKs before .. and ... by @aibaars in #238
    Fix non-termination in parser by @aibaars in #239
    Fix scanning of division vs regex before line ending by @aibaars in #246
    Fix 'case' with newlines before expression by @aibaars in #247
jperkin pushed a commit that referenced this issue Apr 3, 2024
Features / Improvements ✨
    Links should be "openable" (#43)
    Add support for previewing images in room scrollback (#108)
    Enable sending strikethrough text (#141)
    Support composing messages in an external editor (#155)
    Add support for logging in with SSO (#160)
    Add new command for logging out of iamb session (#162)
    Support custom sorting for room and user lists (#170)
    feat: desktop file for GUI environment launchers (#178)
    Add a new :chats window that lists both DMs and Rooms (#184)
    Add support for desktop notifications (#192)
    Support coloring entire message with the user color (#193)
    Indicate and sort on rooms with unread messages (#205)
    Support following the .well-known entries for a username's domain (#209)
    Add support for threads (#216)
    Add support for custom key macros (#217)
    Support displaying shortcodes instead of Emojis in messages (#222)
    Support configuring user gutter width (#223)
    Enable autolinking when rendering Markdown (#226)
    Support notifications via terminal bell (#227)
    Support loading a TOML configuration (#229)
    Add commands for importing and exporting room keys (#233)

Documentation / README updates 📚
    Fix example config (#140)
    Add more documentation (#166)
    Update README.md to add openSUSE Tumbleweed (#191)
    Add snap install instructions (#210)
    Add example of mapping "V" to toggle message selection mode (#195)
    Update manual pages to use mdoc(7) and list commands (#230)
    Add an icon for iamb (#232)

Bug Fixes 🐞
    Fix not showing display names in already synced rooms (#171)
    Fix image preview offset (#179)
    Update to ratatui-image@0.4.3 to use native sixel lib (#181)
    Fix truncation/padding for non-ASCII sender names (#182)
    Fix crash on small image preview (#198)
    Download rooms keys from backups if they exist (#211)
    Ignore key releases on platforms that support it (#220)
    Provide better error message for M_UNKNOWN_TOKEN (#101)
    Fix entering thread view when there's no messages yet (#224)
    Fix image previews in replies (#225)
    Reset message bar when ! is passed with :cancel (#231)
    Wait to log in before starting background tasks (#234)

Performance ⏱️
    Reduce CPU usage by instead fetching read receipts after related sync events (#168)
    Load receipts for room before acquiring lock (#213)

Building / Housekeeping 🧹
    Update Cargo.lock file (#157)
    Update modalkit for newer ratatui and crossterm
    Fix CI workflow (#164)
    Use mozilla-actions/sccache-action for caching builds (#169)
    Enable direnv for Nix flakes (#183)
    Update to matrix-sdk@0.7.1 (#200)
    Rename Nix flake build input from pkgconfig to pkg-config (#203)
    Update modalkit dependencies (#204)
    Move LTO into its own "release-lto" profile (#207)
    Fix Nix flake hashes (#206)
    Pull in modalkit repository with a Cargo.lock (#208)
    Nix flake updates (#214)
    Update to ratatui-image@0.8.1 (#215)
    Support linking against system OpenSSL (#218)
    GitHub workflow should use --locked to avoid broken Cargo.lock (#219)
    Fix odd Windows-only compile error (#221)
jperkin pushed a commit that referenced this issue Jun 7, 2024
Changelog:
DuckDB 1.0.0 "Nivis"
What's Changed

  * Fix move constants optimization by @gitccl in #12189
  * FALLOC_FL_PUNCH_HOLE requires GLIBC 2.18 or above - check for this using an
    #ifdef by @Mytherin in #12193
  * Fix cmake install for shared_ptr headers by @carlopi in #12194
  * Fix minor warnings by @carlopi in #12195
  * Install .ipp files in addition to the usual .hpp files by @smonkewitz in #
    12198
  * Set a default value to the connection param in stubs by @tm-drtina in #
    12207
  * Fix #12190: add SYSTEM to set of reserved database names by @Mytherin in #
    12206
  * Add enable_view_dependencies which defaults to false by @Tishj in #12209
  * [Python] Fix replacement scans incorrectly finding duckdb connection method
    objects by @Tishj in #12208
  * [CI] Diff against the right remote + branch in Regressions.yml - Regression
    Test new micro benchmark by @Tishj in #12106
  * [Python] Fix bug where enable_external_access was not being respected by
    the replacement scan by @Tishj in #12224
  * Remove outdated CI for extensions, check duckdb/extension-ci-tools by
    @carlopi in #12229
  * Python: Avoid packaging for both 3.7 on OSX and MacOS 11 by @carlopi in #
    12236
  * Issue #12215: AsOf Predicate Pushdown by @hawkfish in #12238
  * [DependencyManager] Don't block ADD COLUMN statements if there are
    dependencies. by @Tishj in #12226
  * [Python] Add check for 'params' to table_function by @Tishj in #12233
  * Extension installing/updateing fixes by @samansmink in #12221
  * Move excel extension out of tree by @carlopi in #12123
  * Fix #12225: revert OVERWRITE_OR_IGNORE to previous behavior, move new
    behavior to OVERWRITE flag by @Mytherin in #12240
  * Fix warning on unannotated fallthrough by @carlopi in #12244
  * Fixup staged uploads /3 by @carlopi in #12245
  * [Python] fix build when BUILD_HTTPFS set by @paparodeo in #12223
  * Use --always option of git describe for extension tags. by @carlopi in #
    12253
  * [Docs] Fix up examples/python/duckdb-python.py by @Tishj in #12255
  * [Fix] Skip lazy WAL creation test for alternative verification by
    @taniabogatsch in #12258
  * add missing virtual destructor by @samansmink in #12266
  * Add storage callbacks for checkpoint start and end by @bleskes in #12260
  * Do not prefix error messages with an unknown type by @bleskes in #12265
  * Fix minor duckdb_extensions table function bug by @samansmink in #12269
  * C API: Adding deprecation and move notices to duckdb.h and a test case by
    @hannes in #12259
  * Issue #12252: APPROX_QUANTILE Array Argument by @hawkfish in #12271
  * Turn InternalException into NotImplementedException in COPY FROM DATABASE
    by @Mytherin in #12264
  * Add descriptions for vss and delta extensions by @carlopi in #12267
  * [C-API] Properly handle exceptions caused by name collisions in
    duckdb_register_table_function by @Tishj in #12257
  * Fix for multifilereader extra_columns feature by @samansmink in #12281
  * Add enable_macro_dependencies which defaults to false by @Mytherin in #
    12291

v0.10.3 Bugfix Release
Highlights

Even though this is "only" a bug fix release, there have been some major areas
of work that warrant a separate mention:

  * We have added a feature to update extensions using the UPDATE EXTENSIONS
    syntax #11677
  * There have been some serious internal improvements around checkpointing,
    most notably, checkpoints can run while other connections are reading, and
    no longer block new connections while checkpointing #11918. Also, FORCE
    CHECKPOINT no longer actively cancels transactions, it now waits until it
    can checkpoint #12061
  * DuckDB now has native support to load data from HuggingFace using the hf://
    prefix #11831
  * We have slightly changed NULL casting behaviour with the MAP type #11745
  * The Java JDBC driver has been moved to its own repo: https://github.com/
    duckdb/duckdb-java #11873
  * DuckDB now cleanly compiles with -Wconversion and all conversions are
    actually being checked #11716, #11673

What's Changed

  * Add setting to control the maximum swap space by @Tishj in #10978
  * [Python][Dev] Dynamically generate the Connection wrapper methods by @Tishj
    in #11202
  * Fixes duckdb wasm by @carlopi in #11688
  * Checked conversions between signed and unsigned integers by @hannes in #
    11673
  * Bump Julia to v0.10.2 by @Mytherin in #11700
  * Minor improvements to sql_reduce script by @Mytherin in #11701
  * Properly avoid build-time dependency on Python by @carlopi in #11713
  * Test dockerized compilation in Alpine:latest and Ubuntu:20.04 by @carlopi
    in #11708
  * [COPY CSV] Enable TIMESTAMP_TZ formats by @Tishj in #11711
  * Full conversion warnings / checks by @hannes in #11716
  * [Safety] Add safety checks to shared_ptr access by @Tishj in #11696
  * Remove bound_defaults from BoundCreateTableInfo by @Mytherin in #11721
  * Improve mkdir error reporting by @Mytherin in #11723
  * [Dev] Fix failing CI in Python SQLLogicTest Runner by @Tishj in #11724
  * More docker tests, fix compilation up to C++23 standard by @carlopi in #
    11725
  * Upload staging: from 'git describe --tags' to 'git log -1' by @carlopi in #
    11715
  * Internal #1848: Window Progress by @hawkfish in #11702
  * Remove BoundConstraint from the TableCatalogEntry by @Mytherin in #11735
  * Implicit Cast for any Date/Timestamp by @pdet in #11733
  * feat: rewrite which_secret() into a table function by @stephaniewang526 in
    #11726
  * [Map] Rework MAP creation method behavior when input is NULL by @Tishj in #
    11730
  * [Dev] Always use SQLStatement->Copy() when ALTERNATIVE_VERIFY is defined by
    @Tishj in #11732
  * Reconstruct Error Messages for Flush Cast by @pdet in #11736
  * Getting Rid of Value.TryCast in the CSV Sniffer by @pdet in #11717
  * Fix Join order optimizer so that plan generation is always via the most
    current entry in the DP table. by @Tmonster in #11719
  * fix(py): support DuckDBPyType#children for array and enum by @Mause in #
    11754
  * Consider not null values when doing export database by @pdet in #11679
  * Add missing space in error message by @szarnyasg in #11759
  * Allow to build python packages without c++ sources by @carlopi in #11758
  * No Mark to Semi join conversion in statistics propagation by @Tmonster in #
    11596
  * Hive partitioned write: lazy partitioning initialization by @Mytherin in #
    11765
  * Hive partitioning: avoid calling CreateDirectories for every flush, instead
    create the directory for a partition only when that partition is
    instantiated by @Mytherin in #11777
  * [Parquet] Support reading the non-standard NULL ConvertedType by @Tishj in
    #11774
  * Only store CSV Errors if we are doing rejects table, otherwise just ignore
    it. by @pdet in #11763
  * CI: Add job for 'expected behavior' label by @szarnyasg in #11784
  * Move recursive_query_csv.test to slow test by @pdet in #11770
  * [StatementVerifier] Fix up issues in ToString implementations of classes
    derived from SQLStatement by @Tishj in #11625
  * Hive partitioning: make OVERWRITE_OR_IGNORE remove files on local file
    systems by @Mytherin in #11787
  * [ODBC] Add ODBC Test for Database Reconnection and Data Persistence by
    @maiadegraaf in #11783
  * Correctly parse dollar-quoted strings in sqlite3_complete and linenoise by
    @Mytherin in #11789
  * Add a configurable compression_level parameter to the parquet writer by
    @Mytherin in #11791
  * Close file after file lock failure by @awitten1 in #11795
  * Python: Add missing options to write_parquet by @jzavala-gonzalez in #11790
  * [PythonDev] Fix up failing tests in CI by @Tishj in #11801
  * Fix static bitpacking_width_t FindMinimumBitWidth(T *values, idx_t count)
    in class BitpackingPrimitives by @Lloyd-Pottiger in #11757
  * Add note on CMAKE_BUILD_PARALLEL_LEVEL by @mlafeldt in #11808
  * Elaborate on internal errors by @szarnyasg in #11816
  * Fix #11756: Don't throw exception on CREATE UNIQUE INDEX IF NOT EXISTS if
    index already exists by @ewencp in #11821
  * Python CI fixes: skip two tests by @carlopi in #11818
  * Fix #11798 - lateral join parameters should not be visible in views by
    @Mytherin in #11825
  * Fix #11804: make sure json_type can check null by @lnkuiper in #11807
  * Fixing performance regression in [u]hugeint cast by @hannes in #11829
  * [Dev] ClientContextWrapper yak shaving by @Tishj in #11830
  * [Python] Add checkpoint method, improve shutdown experience by @Tishj in #
    11810
  * [Benchmark] Enable benchmarking result collection by @Tishj in #11529
  * [DependencyManager] Create dependencies between foreign key tables and
    primary key tables. by @Tishj in #11524
  * [Python] Synchronize defaults of DuckDBPyRelation method fetch_df_chunk by
    @Tishj in #11834
  * Internal #1888 TIMETZ Collation Keys by @hawkfish in #11861
  * Removing old code that used to check if a buffer was the last buffer from
    the file handler by @pdet in #11846
  * Use ToSQLString() in ConstantFilter for escaped filter output by @rcurtin
    in #11797
  * [StatementVerifier] Add ToString for every remaining SQLStatement, is pure
    virtual now by @Tishj in #11788
  * Pushdown Tables Types to CSV Scanner by @pdet in #11792
  * [Python Dev] Fix shift between requirements-dev.txt and pyproject.toml
    before-test section by @Tishj in #11863
  * Join order optimizer asan bug Follow up by @Tmonster in #11794
  * BugFix: Introducing Introducing Delim Joins and Delim_Get(s) should respect
    positionally by @Tmonster in #11812
  * Provide the native OID of PG type in pg_type by @goldmedal in #11746
  * Move JDBC (Java) Driver to Separate Repo by @hannes in #11873
  * Link Java client in issue template by @szarnyasg in #11877
  * Change specificity of sniffed types to check time related types earlier by
    @pdet in #11878
  * fix complex top n test case for constant vector verification by @Tmonster
    in #11882
  * [Dev] Merge overloads for HUGEINT cast functions by @Tishj in #11879
  * Make " default for quote and " default for escape by @pdet in #11880
  * Set secret directory to a test directory when running sqllogictest by
    @Mytherin in #11885
  * Bugfixes by @lnkuiper in #11785
  * [Map] Rework interaction (entries, keys, values, extract) of NULL MAPs by
    @Tishj in #11745
  * Add case when expression for grouping sets when collations are used. by
    @Tmonster in #11884
  * Internal #11892: Interval Quarter Keyword by @hawkfish in #11898
  * HTTP Logging by @lnkuiper in #11771
  * [Dev] Use strings in the SQLLogicTest REQUIRE calls so they are visible
    with -s by @Tishj in #11714
  * [Dev] Fix a SerializationException on CopyInfo by @Tishj in #11902
  * MultiFileReader refactor by @samansmink in #11806
  * Allow checkpoints to run while other connections are reading, and no longer
    block new connections while checkpointing by @Mytherin in #11918
  * Allow converting TIMETZ to Arrow by @LoganDark in #11906
  * Issue #11894: MIN/MAX_BY DECIMAL Casting by @hawkfish in #11912
  * Issue #1917: WinNode 22 Compilation by @hawkfish in #11913
  * [Relation] Add MaterializedRelation by @Tishj in #11835
  * Enable purging of BufferPool pages based on time-since-last-unpinned by
    @jkub in #11441
  * Correctly render duckbox for empty results by @Mytherin in #11920
  * Always store transactions that had errors during the commit phase by
    @Mytherin in #11929
  * More anonymous struct zapping in RE2 by @hannes in #11956
  * Add the corrupt block location to the exception by @Vegetable26 in #11966
  * Fix assertion in bitpacking by @nickgerrets in #11955
  * [Python] Add CoalesceOperator to Python Expression API. by @Tishj in #11941
  * CMake: Handle git failures on invalid inputs better by @carlopi in #11951
  * Internal #2005: DISTINCT ORDER BY by @hawkfish in #11967
  * Fix overlooked function argument rename that leads to seg faults. by
    @smonkewitz in #11969
  * [Nightly] Block size test fixes by @taniabogatsch in #11972
  * Optimizing InsertionSort by reducing the size of the comparison by @gitccl
    in #11964
  * [Python] Keep referenced Python objects alive by @Tishj in #11761
  * Move mysql_scanner into main duckdb CI by @carlopi in #11999
  * Fix CURRENT_SETTING with a NULL string arg by @gitccl in #12015
  * Issue #12009: APPROX_QUANTILE NULL List by @hawkfish in #12014
  * Issue #12003: TIMESTAMP Stack Overflow by @hawkfish in #12012
  * fix extension load error message grammar by @softprops in #11994
  * [Python] Fix InternalException from scanning Polars DF with no columns by
    @Tishj in #11982
  * Issue #11959: TIMESTAMPTZ >= DATE by @hawkfish in #11987
  * More fixes for RE2 to pass CRAN tests by @hannes in #11978
  * chore: update exception message by @stephaniewang526 in #11965
  * Issue #12005: RESERVOIR_QUANTILE DECIMAL Binding by @hawkfish in #12013
  * [Python] Grab the GIL in the destructor of PyFilesystem by @Tishj in #11980
  * [Python] Make the NumPy module optional, not throwing if it's not installed
    by @Tishj in #11981
  * Add support for HuggingFace to httpfs by @samansmink in #11831
  * [Fix] lambda binding in ALTER TABLE statements by @taniabogatsch in #11976
  * Distinguish between exact and case insensitive matching JSON keys in
    json_structure by @lnkuiper in #11948
  * Rework index binding by @Maxxen in #11867
  * Issue #11995: TIMESTAMP Rounding by @hawkfish in #12011
  * Fix sample serialization by @Tmonster in #12025
  * Correctly skipping errors when ignore_errors is set and we have columns
    with escaped values by @pdet in #12027
  * Update comment to reflect correct data state post-compression by @wangxuqi
    in #12022
  * Fix ordering issue with nested list type by @gitccl in #11937
  * Adding Fix to properly pass timestamp/date formats in the relational API
    for CSV Files by @pdet in #12029
  * Add more MultiFilereader features/hooks by @samansmink in #11984
  * Rethrow serialization errors by @carlopi in #12030
  * Move yyjson into core by @Maxxen in #11998
  * Bugfixes + large allocation hardening by @Maxxen in #12028
  * Ensure HT capacity is greater than lower bound by @lnkuiper in #12039
  * Fix materialized CTE plan issue by @kryonix in #11874
  * Fix some fuzzer issues by @hannes in #12043
  * [Fix] Return NULL for deprecated getter calls in the C API by
    @taniabogatsch in #12035
  * Grab checkpoint lock during storage metadata reads by @Mytherin in #12053
  * Issue #12041: TIMETZ Parquet Nanoseconds by @hawkfish in #12052
  * Parquet: Correctly return min/max string stats if empty by @lnkuiper in #
    12054
  * Even more fuzzer fixes by @Maxxen in #12050
  * [Fix] Silent constraint violation error when destroying the appender in the
    C API by @taniabogatsch in #12051
  * Add "Tags" support to catalog entries by @Maxxen in #12044
  * Rework FORCE CHECKPOINT - instead of actively cancelling transactions it
    now blocks until it can checkpoint by @Mytherin in #12061
  * Aggregation bugfixes by @lnkuiper in #12055
  * [Fix] Disable test for block size nightly run by @taniabogatsch in #12062
  * Bind art index in local storage by @Maxxen in #12064
  * Cast keys to VARCHAR before creating JSON from MAP by @lnkuiper in #12065
  * [Python] Add pyspark hash and organize unit tests by @mariotaddeucci in #
    11935
  * Check context.interrupted during force checkpoint by @Mytherin in #12068
  * [Fix] Lazy WAL creation by @taniabogatsch in #12049
  * Test docker images: improvement and connected fixes by @carlopi in #12026
  * More fuzzer fixes by @hannes in #12045
  * [Python] Add pyspark null functions by @mariotaddeucci in #11940
  * CI fixes: unused variable & toolchain version by @carlopi in #12083
  * Add autoloading for delta extension by @samansmink in #12063
  * S3FileHandle Destructor should call Close() conditionally by @onderkalaci
    in #12031
  * [Fix] Internal segment tree exception in on conflict clause by
    @taniabogatsch in #12084
  * Remove ClientContext usage in Checkpoint Reader by @Mytherin in #12076
  * Fixed Parquet crash on missing dictionary by @hannes in #12085
  * [Fix] Add lambda binding to the HAVING binder by @taniabogatsch in #12070
  * Decimal/Time implicit casting + Multi-Error store in Flush by @pdet in #
    11848
  * [Testing Infra Fix] Make input data chunks immutable in the vector
    verification tests by @taniabogatsch in #12088
  * Correctly rewrite correlated columns inside window functions by @Mytherin
    in #12087
  * Fix #11780 - handle qualifications in ORDER BY of ARRAY clause by @Mytherin
    in #12090
  * Nightly CI fixes by @Mytherin in #12093
  * Change ExtensionOptimizer input by @Maxxen in #12094
  * Fix for issue related to the execution of union by all from .sql in Python
    by @pdet in #12098
  * yyjson bump version to 2020 by @carlopi in #12072
  * [Dev] Collect CatalogEntry Dependencies during Binding by @Tishj in #11493
  * Internal #2040: ICU Collation Serialisation by @hawkfish in #12077
  * Run python tests in Pyodide build by @cpcloud in #11914
  * Add support for type modifiers on extension types by @Maxxen in #12081
  * Bump extensions by @carlopi in #12107
  * fix huggingface credential_chain autoload issue by @samansmink in #12112
  * Fix fuzzer issue 2690 by @lnkuiper in #12108
  * Throw exception in case of WAL failure instead of only printing a message
    by @Mytherin in #12091
  * Change type of columns from sniff_csv to list of structs by @pdet in #12099
  * [Python][Dev] Skip statements with decorators (only if, skip if) in the
    Python SQLLogicTester by @Tishj in #12102
  * Mark unspecialized C++ Append template as delete by @j1ah0ng in #12116
  * SQLLogicTest - skip these tests now that we have dependencies between views
    by @Mytherin in #12118
  * Correctly determine if we need to scan flat vectors in all cases - and add
    an enum to clarify code by @Mytherin in #12119
  * Avoid signed integer overflow in sequence generation by @Mytherin in #12120
  * Use Binder::BindCreateTableCheckpoint in WAL ReplayCreateTable by @Mytherin
    in #12121
  * Avoid checking if wal is set directly and call GetWALSize instead - a WAL
    might be present even if wal is not set by @Mytherin in #12124
  * Call StringVector::AddString here for when inlining is disabled by
    @Mytherin in #12125
  * Minor fixes for vsize=2 tests by @Mytherin in #12126
  * Internal #2078: Nested Nulls First by @hawkfish in #12131
  * Bump extensions, part 2 by @carlopi in #12122
  * Internal #2081: Window Distinct Reset by @hawkfish in #12130
  * Read scan count once instead of once per vector to avoid issue where scan
    counts between vectors could become mis-aligned in concurrent scenarios by
    @Mytherin in #12135
  * Extension Updating by @samansmink in #11677
  * Move pyodide from repository_dispatch to NightlyTests.yml by @carlopi in #
    12153
  * [Storage] Add storage_compatibility_version to control for what version the
    DB has to be serialized. by @Tishj in #12110
  * Allow quotes to be escaped in JSON path by @lnkuiper in #12033
  * [Python] Fix issue in the SQLLogicTestRunner implementation by @Tishj in #
    12155
  * Higher memory limit for test by @lnkuiper in #12158
  * Fix internal error of list_zip and map_concat by @gitccl in #12086
  * fix row format of arrays larger than vector size with null by @Maxxen in #
    12143
  * Issue #12136: Streaming Window Structs by @hawkfish in #12150
  * Set max vector size to 128GB instead of 4GB by @Mytherin in #12144
  * Pass prepared statement parameters to OnExecutePrepared callback by
    @Mytherin in #12156
  * In string to list try_cast - set the target index to NULL, not the source
    index by @Mytherin in #12160
  * More Nightly CI Fixes by @Mytherin in #12154
  * Fixing unchecked malloc() calls in Parser and elsewhere by @hannes in #
    12162
  * Modify the pandas analyzer code to always respect the sample size by @pdet
    in #12097
  * Allow community extensions: add setting and keys by @carlopi in #12152
  * Fixing parquet dictionary / data page offset bug by @hannes in #12109
  * small fix to extension origin checks and direct installing over http by
    @samansmink in #12165
  * [DependencyManager] Provide details in case of a DROP statement that needs
    CASCADE. by @Tishj in #12159
  * Remove UnsafeNumericCast in create_sort_key by @Mytherin in #12168
  * [Dev] enable_verification now serializes for compatibility version 'latest'
    by @Tishj in #12157
  * [Relation] Disable creating a VIEW from a MaterializedRelation by @Tishj in
    #12163
  * Move community keys to proper values by @carlopi in #12175
  * Remove release assertions timeout by @Mytherin in #12176
  * Internal #2095: Streaming Window Structs by @hawkfish in #12173
  * [CSV Reader] Bug-fix related to skip parameter over vector size in the
    sniffer by @pdet in #12167
  * Expression rewrite filter pushdown for dates by @Tmonster in #12056
  * [Python] Throw if replacement scan is attempted on cross-connection
    DuckDBPyRelation by @Tishj in #12169
  * [Fix] Correctly allocate the ARRAY target child vector in a MAP function by
    @taniabogatsch in #12111
  * Remove java from CI invoker by @hannes in #12182
  * Mark correct database as modified in CreateIndex by @Mytherin in #12183

v0.10.2 Bugfix Release
SQL Modifications

This release has a number of bug fixes that change SQL semantics in a few edge
cases:

  * Nested Boolean Comparisons now have consistent NULL comparison semantics -
    #11496
  * Structs with non-matching keys require explicit casts when compared or
    combined - #11396

What's Changed

  * Bump julia version & fix release script for sub-versions > 9 by @Mytherin
    in #11225
  * Flatten Rewrite by @maiadegraaf in #11223
  * ORDER BY ColumnNumber with Collations by @tiagokepe in #11139
  * Fix differences to implementation for to_parquet, write_parquet, to_csv,
    write_csv, Expression.alias, DuckDBPyRelation.map by @binste in #11135
  * Issue template: Ask for MWEs by @szarnyasg in #11192
  * Cleaning up FSST: Remove unused AVX512 code by @hannes in #11222
  * Fix #11211 - correctly fill in string_t padding for bit type by @Mytherin
    in #11231
  * Fix #3391: Stop creating background threads if the thread constructor
    throws an exception by @Mytherin in #11236
  * R_CMD_CHECK: Pin to duckdb/duckdb-r 0ed106a71c by @carlopi in #11245
  * Add support for HEX(BLOB) by @Mytherin in #11243
  * Remove no_vector_verification in Map Subscript Test by @maiadegraaf in #
    11242
  * Update logos in README by @szarnyasg in #11256
  * Ignore user defined parameters that change names or types of csv columns in
    sniffer's prompt. by @pdet in #11257
  * [Python] Fix error caused by looking up a TypeCatalogEntry without an
    active transaction. by @Tishj in #11255
  * [Fix] Fuzzer issue in list_select by @taniabogatsch in #11248
  * [Parquet] Support for LZ4 Compression by @hannes in #11220
  * Fix #11254: Add missing includes to terminal by @Mytherin in #11265
  * Issue #10867: AsOf Predicate Pushdown by @hawkfish in #11233
  * Fix plan cost runner regression script by @Tmonster in #11129
  * Check if we need to throw any remaining errors at end of CSV scanning by
    @pdet in #11276
  * Allow duplicate names in json objects when ignore_errors is true by
    @lnkuiper in #11271
  * Do not surround JSON with quotes in sqlite shell output by @lnkuiper in #
    11268
  * add TRIM support to virtual filesystem, and implementation on linux by
    @jkub in #11258
  * Perform direct write operation if input data are larger than buffer size by
    @quentingodeau in #11203
  * Fuzzer fixes by @lnkuiper in #11286
  * Compile spatial also for rtools by @carlopi in #11291
  * allow injecting custom BufferManager implementation by @jkub in #11215
  * Default to RECORDS in JSON reader if more than one column is specified by
    @lnkuiper in #11295
  * Add support for materialized CTEs in INSERT/UPDATE/DELETE statements by
    @kryonix in #10878
  * Only throw exception if je_mallctl fails in DEBUG mode by @lnkuiper in #
    11303
  * Fixing casting issue in generators by @hannes in #11304
  * Rework FileSystem::OpenFile call, and add FILE_FLAGS_NULL_IF_NOT_EXISTS by
    @Mytherin in #11297
  * Fix potential UB when list() aggregate is used in combination with other
    arena using aggregate functions by @Maxxen in #11306
  * Fix #11293 - for ARRAY([subquery]) explicitly push the ORDER BY of the
    underlying subquery into the array aggregate by @Mytherin in #11316
  * Fix #11281: explicitly select column types of information_schema tables for
    all columns, even if they are always NULL by @Mytherin in #11317
  * Fixup py upload by @carlopi in #11308
  * Issue #11279: TIMESTAMP => TIMESTAMPTZ by @hawkfish in #11320
  * Fix null pointer exception when rolling back updates if the rollback was
    caused by an OOM by @Mytherin in #11309
  * Fix #11283 - report consistent foreign key constraint name in
    information_schema by @Mytherin in #11318
  * Fix #11294 - avoid applying Filter Pushdown optimization for UNION/EXCEPT
    without ALL by @Mytherin in #11315
  * Fix #10695 - handle ? prepared statement parameters correctly for POSITION
    (x IN y) by @Mytherin in #11314
  * Windows CLI - emit UTF8 directly using SetConsoleOutputCP(CP_UTF8) if
    possible by @Mytherin in #11324
  * Fix #11319: use modulo when computing day of the week in excel extension by
    @Mytherin in #11328
  * [CI] Fix bash syntax in TwineUpload by @carlopi in #11333
  * Fix #11284: avoid adding the same column multiple times to a primary key/
    unique constraint name list by @Mytherin in #11325
  * In ColumnData, limit scan to the current count in the column by @Mytherin
    in #11329
  * Issue #11269: DISTINCT Sorted Aggregates by @hawkfish in #11321
  * [Attach] Fix bug causing sequences to break attaching databases. by @Tishj
    in #11327
  * Flatten hash vector before combining list hashes by @lnkuiper in #11340
  * Make sniffer more consistent when nullpadding/ignore_errors are on by @pdet
    in #11313
  * fix(arrow): union buffer count & handle schema errors by @Mause in #11326
  * fix duckdb-r script by @Tmonster in #11345
  * Fix regression_test_runner.py by @carlopi in #11346
  * Issue #11234: IEJoin Scan Reset by @hawkfish in #11347
  * TPC-H: Use BIGINT for ID fields schema where required by the specification
    by @szarnyasg in #11341
  * Another round of polishing staged releases by @carlopi in #11342
  * CI: Remove issue labeling workflow by @szarnyasg in #11355
  * RE2 upgrade to version 2023-02-01 by @hannes in #11252
  * File System: Add optional_ptr<FileOpener> to various calls, and add support
    for attaching DuckDB files over S3 by @Mytherin in #11343
  * README: Display different logo for light/dark mode by @szarnyasg in #11366
  * Fix bug in duckdb_bind_blob by @pfarndt in #11368
  * Fix OSX CI by @samansmink in #11379
  * Enable clang-tidy on headers and fix all headers to conform to our
    clang-tidy rules by @Mytherin in #11376
  * Add logical_type to parameters of format_pg_type by @Flogex in #11369
  * Issue #10965: RESPECT IGNORE NULLS by @hawkfish in #11372
  * Fix building issues in WIN32, remove unnecessary modification. by
    @kindred77 in #11356
  * Zero-initialize aggregate states with destructors immediately after
    allocating by @lnkuiper in #11360
  * Update README.md by @jingshi-ant in #11357
  * Issue #10885: Negative Window RANGEs by @hawkfish in #11390
  * Issue #11377: Invertible TIMESTAMP_XXX Casts by @hawkfish in #11392
  * Update init.py To export "extract_statements" function by @oomojola in #
    11394
  * Internal #1657: Stricter STRUCT Casts by @hawkfish in #11396
  * allow set readonly on attached db by @stephaniewang526 in #11397
  * Give preference to FSSPEC defined FS by @pdet in #11400
  * Default serialize optional_idx, add skip_default option to
    json_serialize_sql() by @Maxxen in #11405
  * CI: Also label PRs as 'stale' and close them when there's no activity by
    @szarnyasg in #11420
  * fix(jdbc): 1-index getBytes() by @Mause in #11421
  * Remove redundant default descriptions by @szarnyasg in #11415
  * clang-tidy: enable cppcoreguidelines-pro-type-const-cast by @Mytherin in #
    11414
  * clang-tidy: enable cppcoreguidelines-avoid-non-const-global-variables by
    @Mytherin in #11424
  * Issue #11419: Quantile Order By by @hawkfish in #11428
  * [CSV Sniffer] Give preference to quoted candidates by @pdet in #11418
  * clang-tidy: enable cppcoreguidelines-virtual-class-destructor by @Mytherin
    in #11437
  * clang-tidy: enable cppcoreguidelines-[interfaces-global-init|slicing|
    rvalue-reference-param-not-moved] by @Mytherin in #11435
  * Fix #11393 - improve error message when trying to use a lateral join column
    in a table function that does not support it by @Mytherin in #11436
  * add readonly to duckdb_databases() by @stephaniewang526 in #11429
  * Fix missing opener propagation by @quentingodeau in #11454
  * Fix #11246: Use SetConsoleCP function to set input to UTF8 when reading by
    @Mytherin in #11452
  * CLI: Add support for ".edit" or "\e" by @Mytherin in #11447
  * Fix VS2022 Preview ClangCl build by @bodand in #11456
  * Remove an unnecessary line from bind_insert.cpp by @huachaohuang in #11443
  * [CI] Skip ccache for R.yml by @carlopi in #11459
  * Improve binding of CTEs by @kryonix in #11399
  * Move BindCreateIndex from Catalog to Binder by @philippmd in #11402
  * [Substrait-ADBC] Fix for substrait plan execution via ADBC by @pdet in #
    11358
  * Removing abort() from RE2 again because Google refuses to use exceptions by
    @hannes in #11458
  * Defer allocation in read_json by @lnkuiper in #11378
  * [ODBC] Add escape character to ParseStringFilter to support Power Query
    ('table_name' is escaped to 'table_name') by @guenp in #11432
  * Bump to post-portfile change for duckdb_azure by @carlopi in #11476
  * Reduce memory usage of DELETE operations by @Mytherin in #11470
  * Use optional_idx in more places by @Mytherin in #11466
  * Revert "Move BindCreateIndex from Catalog to Binder" by @Mytherin in #11478
  * [Arrow] Throw on invalid STRUCT type by @Tishj in #11464
  * [Dev] Do not use CatalogEntry references inside Dependency objects. by
    @Tishj in #11408
  * Fix extension builds by @carlopi in #11486
  * [Fix] Throw BinderException for UNNEST expressions in WINDOW expressions by
    @taniabogatsch in #11247
  * Check for IUTF8 flag defined before setting it by @patmaddox in #11488
  * Fix #11445: correctly detect recursive aliases when using struct unnest by
    @Mytherin in #11497
  * Fix #11444: avoid using recursion in string -> list parsing by @Mytherin in
    #11498
  * Add serialization for LogicalCopyDatabase operator by @Flogex in #11401
  * add support in Julia appender for missing and nothing values by @rdavis120
    in #11508
  * [Python] Produce datetime.time values when converting TIME columns to
    Pandas DataFrame by @Tishj in #11468
  * [Fix][ADBC] Implement required ADBCConnectionGetObjects schema by @joellubi
    in #11446
  * Add support for decimal modulo operation by @Mytherin in #11506
  * Move CompressedMaterialization inside of StatisticsPropagator by @lnkuiper
    in #11495
  * Bump stale bot version by @szarnyasg in #11509
  * Rework issue workflow by @Mytherin in #11522
  * [RE2] Add includes and remove potential throw from destructor by @carlopi
    in #11513
  * Issue #11292: Nested Boolean Compares by @hawkfish in #11496
  * [Dev] Initialize new buffers with garbage data if DESTROY_UNPINNED_BLOCKS
    is set by @Tishj in #11270
  * Fix timeout in async workflow by @samansmink in #11525
  * Move assertion in json_scan.cpp by @lnkuiper in #11530
  * Issue #11518: TryParseTime by @hawkfish in #11519
  * Fuzzer Bugfixes by @Maxxen in #11544
  * [CI] Fix CI failure on C Enum Integrity Check by @Tishj in #11547
  * [ICU] Use the correct lookup precedence for TimeZone settings by @Tishj in
    #11546
  * [CI] Move from default GITHUB_TOKEN to specific one by @carlopi in #11556
  * [CI] Fix Deploy step to execute only for duckdb organization by @carlopi in
    #11553
  * Rework RadixPartitionHashTable task assignment in source phase by @lnkuiper
    in #11528
  * Run new micro benchmarks in CI when they are added by @Tmonster in #11532
  * Rework vector_hash for ARRAYs by @Maxxen in #11558
  * [Dev] Add assertions around Uncompressed String storage by @Tishj in #11267
  * python: Add missing global options to write_csv by @jzavala-gonzalez in #
    10382
  * [Python] Fix issue with lists containing dictionaries of different sizes by
    @Tishj in #11095
  * [Dev][Python] Add nightly test to execute all sqllogic tests using the
    python package by @Tishj in #11137
  * Parquet Writer: Early out creating dictionary by @lnkuiper in #11461
  * ODBC driver should ignore "driver" and "trusted_connection" keywords in
    connection string by @guenp in #11382
  * [ODBC] Fix: Support loading UTF-8 encoded data with Power BI by @guenp in #
    11423
  * Draft permissions - bot does not have permission for drafting by @Mytherin
    in #11575
  * CI: Remove 'needs reproducible example' when 'reproduced' label is applied
    by @szarnyasg in #11576
  * Various fixes & clean-up around STRUCT UNNEST by @Mytherin in #11580
  * Update token by @Mytherin in #11592
  * Update issue template by @szarnyasg in #11577
  * [CI] Remove GITHUB_PAT variable from R-CMD-check by @carlopi in #11593
  * Respect read-only mode in dbgen and dsdgen by @Mytherin in #11585
  * Bump-back duckdb_azure to pre-lzma custom vcpkg-port by @carlopi in #11595
  * Correctly handle database names with quotes in USE statement by @Mytherin
    in #11587
  * Bump postgres version and build arrow also for windows by @carlopi in #
    11604
  * Support reading gzipped files in the test runner by @chrisiou in #11600
  * initializes unknown indexes on catalog lookup by @Maxxen in #11551
  * Fix Progress Bar for many large CSV Files + Adjustment to not store buffers
    from compressed files over single threaded scans by @pdet in #11273
  * CSV Rejects Tables 2.0 by @pdet in #11512
  * Fix topn placement by @Tmonster in #11601
  * Fix various issues found by oss-fuzz by @Mytherin in #11613
  * [ODBC] Fix: timestamps and times are parsed as dates by Power Query by
    @guenp in #11610
  * Fix various fuzzer issues, move fuzzer scripts into this repo, and expand
    reduce_sql_statement to improve test case reduction capabilities of fuzzer
    by @Mytherin in #11622
  * [Dev] Make the extension_entries.hpp generation script more modular by
    @Tishj in #11623
  * [Fix][ADBC] Don't filter system catalogs/schemas in ConnectionGetObjects by
    @joellubi in #11618
  * Add pyodide wheel building github action by @cpcloud in #11531
  * Move away from dynamic_cast to Cast<> infrastructure by @carlopi in #11619
  * Extension Metadata by @carlopi in #11515
  * [Dev] Regenerate query string for IndexCatalogEntry. by @Tishj in #11462
  * Upload pyodide by @carlopi in #11626
  * Add docker alpine build to check on builds by @carlopi in #11490
  * Add Vector Similarity Search (VSS) Extension by @Maxxen in #11614
  * Metadata fix by @carlopi in #11629
  * Fix extension config for arrow, remove patch from sqlite by @carlopi in #
    11628
  * [CSV Reader] Resets the buffer manager over recursive scans by @pdet in #
    11631
  * Make path to append_metadata.cmake relative to top-level CMakeLists.txt by
    @Flogex in #11635
  * [CSV Reader] Fixes an issue with conflicting strategies for buffer cleaning
    by @pdet in #11630
  * Fix more issues found by the fuzzer, extend SQL reduction further by
    @Mytherin in #11642
  * fix(jdbc): support non-string parameter types by @Mause in #11646
  * Few more fuzzer fixes by @Mytherin in #11648
  * Bump spatial by @Maxxen in #11650
  * Avoid performing Apple codesign on extensions by @carlopi in #11652
  * Filter out single relation predicates before join ordering by @wangxiaoying
    in #11645
  * Fix last_value in the duckdb_sequences metadata function by @Tishj in #
    11465
  * Limit batch insert threads based on available memory, similar to Parquet
    write by @Mytherin in #11655
  * [Vacuum] Fix serialization and Copy of the VacuumStatement by @Tishj in #
    11656
  * More index initialization by @Maxxen in #11659
  * Skip tests with the unzip keyword in python and disable unzip.test for
    32bit systems by @chrisiou in #11658
  * Bump extension versions, remove patches by @carlopi in #11662
  * Accept a list of multiple nullstring values for CSV Files by @pdet in #
    11616
  * Include falloc to fix build on some Linux systems by @zmbc in #11663
  * Fix #11469 - make unnest parameters case-insensitive by @Mytherin in #11667
  * Fix #11467: correctly merge unnamed structs and structs in
    CombineEqualTypes by @Mytherin in #11668
  * Skip ADBC tests if python version is not 3.9 or higher by @pdet in #11653
  * Fix #11621 - correctly zero-initialize padding bits in bitpacking
    compression by @Mytherin in #11671
  * Fix #11542 - correctly check if a column data segment has updates, and
    clean up the updates by @Mytherin in #11670
  * Make UNION BY NAME also use ForceMaxLogicalType, similar to UNION by
    @Mytherin in #11665
  * Fix extension_version propagation for external extensions by @carlopi in #
    11672
  * Allow decimal type in CSV auto_type_candidates option by @pdet in #11675
  * Fix #11484: support constant indexes in ARRAY - e.g. ARRAY(SELECT .. ORDER
    BY 1) by @Mytherin in #11674
  * Improve hive type auto-casting so that it looks at all files instead of
    only the first file by @Mytherin in #11676
  * Fix #11669: deduplicate column names in pivot correctly by @Mytherin in #
    11678
  * Disable setting console pages by default, and add .utf8 setting by
    @Mytherin in #11682
  * bump vss, handle reverting append when index is unknown by @Maxxen in #
    11681

v0.10.1 Bugfix Release
What's Changed

  * Remove visualizer leftovers by @Y-- in #10642
  * Add explicit numbering to C enums + various compilation/CI fixes by
    @Mytherin in #10649
  * Disable print method for CSV scanner for R build by @hannes in #10650
  * Fix #10548 for the DUCKDB_NO_THREADS case by @carlopi in #10654
  * Allow StorageExtension to extend DuckCatalog implementation in order to
    integration with observability system by @bleskes in #10643
  * Update storage info for v0.10.0 by @szarnyasg in #10660
  * Revamp duckdb-wasm extensions CI by @carlopi in #10672
  * [CI] Re-enable skipped test window-rows-overflow.test by @Tishj in #10679
  * Catch: prominently display skipped tests by @Mytherin in #10669
  * Update Julia to 0.10.0 by @Mytherin in #10689
  * Ingestion benchmark framework by @Tmonster in #10341
  * [ICU] Add casts from Timestamp_* to TimestampTZ by @Tishj in #9539
  * DISTINCT ON - greatly improve performance by rewriting ordered FIRST
    aggregate into arg_min_null by @Mytherin in #10684
  * Fix #10685 - support aliases in join clause by @Mytherin in #10691
  * Use assertThrows for throwing assertions in JDBC tests by @peteraisher in #
    10448
  * Casts: report error location in query for failed casts by @Mytherin in #
    10694
  * Fix duckdb spelling in _extension_deploy.yml by @carlopi in #10717
  * Fuzzer #1374: ARG_XXX By Decimal by @hawkfish in #10728
  * [Python] Rework the python regression test script by @Tishj in #10715
  * Removes static member string by @TinyTinni in #10733
  * Fuzzer #1372: Order Bind Failure by @hawkfish in #10727
  * Fuzzer #1380: To Weeks Overflow by @hawkfish in #10726
  * Various fixes by @carlopi in #10708
  * Unittest does not satify assertion on MSVC/Debug by @TinyTinni in #10738
  * Fix OrderPreservationType issue of MATERIALIZED CTEs by @kryonix in #10587
  * Map creation fixes and refactoring by @taniabogatsch in #10436
  * Fuzzer #1383: NULL Range Arguments by @hawkfish in #10723
  * Fuzzer #1382: Window Stats Overflow by @hawkfish in #10725
  * Comment on view columns by @samansmink in #10710
  * Union exclude by @Tmonster in #10688
  * move the logic for immediate_transaction_mode to the physical operator by
    @peterboncz in #10739
  * [C API] Small fix and more tests by @taniabogatsch in #10748
  * List_slice bug fix by @maiadegraaf in #10747
  * Enable azure autoload by @samansmink in #10746
  * Parquet writer - reduce memory usage of order-preserving write by @Mytherin
    in #10756
  * Refactor csv reader includes because of r path length limitations by
    @hannes in #10658
  * Arrow String View Type by @pdet in #10481
  * local_file_system.cpp: minor fix for macOS libproc code by @barracuda156 in
    #10758
  * Make unnamed_subquery naming predictable by @Mytherin in #10765
  * [Python] Fix overflow issue in PandasAnalyzer by @Tishj in #10768
  * Throw when trying to consume over 128 byte decimals by @pdet in #10601
  * CLI: Right-align numerics in markdown tables by @Mytherin in #10767
  * Fuzzer #1399: Window NULL RANGE by @hawkfish in #10776
  * [CSV Sniffer] Minor sniffer tweak to give preference to dialects that
    generate the least errors if ignore_errors = true by @pdet in #10777
  * Add large benchmark directory by @Tmonster in #10763
  * Improve UNPIVOT error messages, and allow expressions in unpivot by
    @Mytherin in #10773
  * Add a method UUID::FromUHugeint to generate a UUID from a uhugeint_t by
    @Mytherin in #10771
  * [CSV Reader] Add lock to buffer reset by @pdet in #10791
  * [WINDOWS] Add "/bigobj" that solves compile issue during debug by
    @maiadegraaf in #10782
  * fix: not over-call AllSecrets by @stephaniewang526 in #10807
  * Update readme by @szarnyasg in #10814
  * [ODBC] Rework Connect to the ODBC driver and add functionality to set all
    DuckDB configurations in the Connection String by @maiadegraaf in #10692
  * Fix arrow conversion, map doesn't support large offset by @yiyuanliu in #
    10796
  * [CSV Reader] Spinlock over GetLine Error + New Strategy for dialect
    candidates by @pdet in #10755
  * Trivial fixes by @carlopi in #10816
  * Fix unicode handling in underscore of LIKE operator by @Mytherin in #10821
  * JDBC spurious CI failure - an exception being thrown in this test is a race
    condition by @Mytherin in #10825
  * Benchmark runner - allow files (e.g. CSV/Parquet) to be cached using the
    cache command by @Mytherin in #10817
  * Fix #10803 - correctly reclaim space of list indexes when columns are
    dropped by @Mytherin in #10822
  * [Upsert] INSERT OR REPLACE fixes by @Tishj in #10789
  * [Dev] Add an optional time out in seconds to run_tests_one_by_one.py by
    @Tishj in #10744
  * Maintain names in COLUMNS(*) expression, and allow aliasing multiple
    columns using {column} by @Mytherin in #10774
  * Disable AWS/Azure on Windows for now by @Mytherin in #10827
  * [Dev] Bump memory limit on batch_memory_usage.test_slow by @carlopi in #
    10845
  * Fix coverity apt-get by @carlopi in #10838
  * minor: FixedSizeBuffer::Pin move shared_ptr rather than copying by @mapleFU
    in #10837
  * ci: Upgrade workflows to actions/setup-python@v5 by @krlmlr in #10832
  * Fuzzer #1389: ARG_XXX Decimal Casts by @hawkfish in #10742
  * Contributor guide: Fix new issue link by @szarnyasg in #10836
  * Changing source to src in relational_constraints query by @Dtenwolde in #
    10848
  * Fix: correctly calculate the range of build side for perfect hash join by
    @gitccl in #10446
  * [Python] Fix issue caused by deadlock between thread.join() and acquiring
    the GIL by @Tishj in #10854
  * [CSV Parser] 8-Byte Skipping instead of 1-Byte when possible by @pdet in #
    10855
  * Add components of the version to duckdb.hpp by @ahuarte47 in #10840
  * [CSV Sniffer] Tweaking header detection by @pdet in #10714
  * Check if directory exists before removing files in regression test runner
    by @Tmonster in #10859
  * [Extension] Add CatalogType to the list of functions generated in
    extension_entries.hpp by @Tishj in #10597
  * Regression test build side probe side by @Tmonster in #10585
  * [Arrow] Fix issue surrounding lifetime of dictionary arrays by @Tishj in #
    10610
  * Fix #10745 - correctly deal with empty float columns in floating point
    compression routines by @Mytherin in #10863
  * [Extensions] Build fixes by @carlopi in #10860
  * Fix MSVC linking issue with workaround by @samansmink in #10865
  * Reduce memory usage & avoid spilling to disk unnecessarily for
    order-preserving table creation/insertion by @Mytherin in #10862
  * pb/avoid GetSchema opening a transaction by @peterboncz in #10740
  * Support dollar-quoted string-constants in the CLI by @Mytherin in #10879
  * Shell: avoid printing "Error: " prefix if the error message already has a
    prefix (e.g. Binder Error:, Parser Error:, etc) by @Mytherin in #10880
  * Partially fix #10751: correctly catch exceptions in sqlite3_print_duckbox
    by @Mytherin in #10881
  * Reset refresh in CompressedFile::Close() by @Maxxen in #10882
  * [CSV Reader] Lock when getting progress by @pdet in #10884
  * [CSV Sniffer] Early out if things go wrong in dialect detection by @pdet in
    #10872
  * [CSV Reader] Fix for skipping mix of newline delimiters by @pdet in #10864
  * Parallelize format.py script by @hatvik in #10646
  * Remove Old PSQLODBC scripts by @maiadegraaf in #10888
  * Add update_odbc_path.py to ODBC bundle by @maiadegraaf in #10895
  * Improve Wasm.yml workflow by @carlopi in #10899
  * [Parquet] Fix #10829, write correct data page offset in the presence of
    dictionaries by @hannes in #10890
  * Table name binding does not fail for non-existent tables in DROP TABLE
    statements by @NiclasHaderer in #10893
  * Fix #10889 - correctly deal with compressed vectors in struct
    filterpushdown of ColumnSegment::FilterSelection by @Mytherin in #10896
  * CI: Disable julia nightly for now by @Mytherin in #10905
  * CLI - add support for rendering errors/matching brackets for square ([])
    and curly ({}) brackets as well by @Mytherin in #10904
  * Storage: Fix an internal exception that could be triggered when deleting
    many rows and checkpointing repeatedly by @Mytherin in #10897
  * LIMIT/OFFSET clean-up by @Mytherin in #10873
  * Add ARRAY to test_all_types + IO and some clients by @Maxxen in #10850
  * Use M1 (ARM) OSX runners by @hannes in #10670
  * build: restore tarball build support by @Mause in #10900
  * Fix #10902 - allow more expressions to be used with an indirection without
    brackets (. or [], etc) by @Mytherin in #10909
  * feat(jdbc): fixed size array support by @Mause in #10911
  * Add regexp_split_to_table macro by @szarnyasg in #10898
  * [MetaTransaction] Add lock on modifying all_transactions and transactions
    by @Tishj in #10799
  * Issue #10809: RANGE Hint Corrections by @hawkfish in #10828
  * Enable the progress bar (without printing) in unittests by @Mytherin in #
    10908
  * [Python][Dev] Fix issue in read_csv related to the s3 extension by @Tishj
    in #10690
  * Add support for the C API duckdb_query function to the Julia api by
    @rdavis120 in #10886
  * Fix #10501 - in LocalFileSystem::Write split writes into batches of at most
    2GB by @Mytherin in #10912
  * Correctly reset data chunk in RETURNING of DELETE by @Mytherin in #10915
  * bitstring_agg had a trigger-able assertion, [duckdb-fuzzer/#1414] by
    @hannes in #10918
  * Shell: Remove IEE754 function from CLI by @Mytherin in #10919
  * Use correct index in string to nested cast error handling by @Mytherin in #
    10920
  * Batch memory manager - keep track of all used memory correctly and enforce
    that unflushed memory is correctly set to 0 when we are finished by
    @Mytherin in #10922
  * Fix #9975 - correctly open (and keep open) a transaction when checking if
    prepared statement needs to be rebound by @Mytherin in #10923
  * CLI - Insert spaces when copy-pasting tabs by @Mytherin in #10924
  * feat: exposing ssl ca cert path to httpfs by @pvaezi in #10704
  * Centralize dynamic cast check and disable on MacOS by @Mytherin in #10925
  * Checked Numeric Casts by @hannes in #10870
  * Avoid running numeric cast checks when CRASH_ON_ASSERT is enabled by
    @Mytherin in #10942
  * Set duckdb_api to 'python jupyter' if in Jupyter notebook by @guenp in #
    10931
  * Array fuzzer issue fixes by @Maxxen in #10944
  * Fix assertion trigger in FilterCombiner::AddTransitiveFilters by @Mytherin
    in #10941
  * Support recursive describe queries (i.e. DESCRIBE(DESCRIBE ..)) by
    @Mytherin in #10945
  * Avoid throwing null pointer exception in Window Segment Tree destructor by
    @Mytherin in #10937
  * Fix an issue where partitions were not correctly considered in bound window
    expression equality by @Mytherin in #10939
  * Fix for limit % with subquery on an empty table by @Mytherin in #10946
  * Correctly visit all expressions during lateral join decorrelation,
    particularly with nested lateral joins by @Mytherin in #10936
  * when you add the relation, make sure you call gettableIndexes() on th?? by
    @Tmonster in #10949
  * Internal #1428: Interval Subtract Overflow by @hawkfish in #10957
  * Fuzzer #1445: Trap MAKE_DATE/TIME Overflows by @hawkfish in #10958
  * Python.yml: Revert to macos-latest for OSX workflow by @carlopi in #10970
  * Purge queue refactor by @taniabogatsch in #10594
  * Change time from duckdb_time to duckdb_time_struct in duckdb_time_tz_struct
    by @Giorgi in #10933
  * Add require block_sizes 262144 on tests reading db files by @carlopi in #
    10974
  * [duckdb-fuzzer/#1368] - overflow in bitstring_agg on hugeint & uhugei?? by
    @hannes in #10971
  * Fix LIST->ARRAY TRY_CAST when list sizes mismatch by @Maxxen in #10973
  * Add a micro extended benchmark. by @Tmonster in #10943
  * [Dev] Move TemporaryFileManager and friends out of StandardBufferManager by
    @Tishj in #10938
  * [ODBC] Reorganize Directory Structure by @maiadegraaf in #10979
  * Internal #1385: Window Partition Collation by @hawkfish in #10985
  * Fuzzer #1471: Trap MAKE_DATE Overflows by @hawkfish in #10987
  * Range checks for ACOS by @hannes in #10972
  * improve CheckBoundaryValues in TopN by @xuke-hat in #10955
  * CSV tests - use TEST_DIR to prevent leaking file by @Mytherin in #10991
  * Autoload INET and ICU (and add back sqlite and postgres as autoloadable) by
    @carlopi in #10948
  * Fuzzer #1468: Window RANGE Types by @hawkfish in #10990
  * Fuzzer #1446: Quantile Hugeint Interpolation by @hawkfish in #10983
  * Override git hash / git version by @carlopi in #10977
  * [Storage] Only call FinalizeOptimisticWriter after storage merge has
    succeeded by @Mytherin in #10998
  * Add MetaTransaction::GetTransaction to threadsan suppressions (false
    positive) by @Mytherin in #11001
  * Various fixes: CMake + generated extension_entries.hpp checks by @carlopi
    in #10994
  * Nightly Wasm build fix by @taniabogatsch in #10993
  * Fix return null constant in array_slice and other array issues by @Maxxen
    in #10992
  * Add correct table bindings for window relations. by @Tmonster in #10997
  * Clean up ExecutorTask and simplify waiting for all tasks to be cancelled by
    @Mytherin in #11005
  * Various JSON thread sanitizer fixes by @Mytherin in #11004
  * Fix warnings in ALP and logical_insert by @carlopi in #11008
  * Check IsLoaded() before importing cached item by @Tmonster in #11007
  * Issue #10995: ICU VARCHAR TIMETZ by @hawkfish in #11002
  * Fix #10982 - only update total rows of row group collection after we finish
    appending to prevent other readers from attempting to initialize scans on
    in-progress appends by @Mytherin in #11011
  * [Nightly] Block size nightly test changes by @taniabogatsch in #11010
  * ATTACH with reserved names (temp/main) by @Mytherin in #11020
  * Fix various tests for vector_size = 2 by @Mytherin in #11027
  * [CI] Create a bigger table in interrupt test by @Mytherin in #11025
  * Issue #10995: TIMETZ DST Fix by @hawkfish in #11024
  * Fixup LinuxRelease.yml release: unittester was not invoked correctly by
    @carlopi in #11022
  * In DatabaseInstance destructor - destroy TaskScheduler first by @Mytherin
    in #11021
  * Refactor ATTACH options by @taniabogatsch in #11016
  * Fix #11033: don't reset arena allocator in between calls to streaming
    window expression by @Mytherin in #11039
  * Avoid checking LastModifiedTime for remote files in object cache by
    @Mytherin in #11034
  * [Block Size Nightly] Enable more block size nightly tests by @taniabogatsch
    in #11036
  * Add missing pipeline dependencies in recursive CTE by @kryonix in #11043
  * Use batch limit only when limit + offset are small constants by @Mytherin
    in #11035
  * Add New CSV Error for Invalid Unicode by @pdet in #10984
  * [FIX] Lambda bug in subqueries by @taniabogatsch in #11046
  * [Swift] performance optimisations by @tcldr in #11052
  * add concat_ws to spark API by @nicornk in #11051
  * feat(jdbc): expose comments via jdbc methods by @Mause in #11031
  * [CI / Tests] Disable CSV sniffer test for smaller vector sizes and reduce
    block-size nightly runtime by @taniabogatsch in #11055
  * [CSV Sniffer] Consider date/timestamp formats from the user when sniffing
    by @pdet in #11057
  * Extend the "Contents of view were altered" error with more information by
    @Tishj in #11064
  * [Python] Add some numeric and string functions to spark API by
    @mariotaddeucci in #11067
  * [ODBC] Allow multiple statements to be executed using SQLExecDirect by
    @maiadegraaf in #11038
  * [CSV Reader] Apply projection on over buffer values. by @pdet in #11056
  * Python: use short paths for Windows by @Mytherin in #11068
  * Fix #10752: Add support for Parquet encryption on Windows by @Mytherin in #
    11069
  * [Python] Code Quality - PEP8 Compliant + only relevant imports by
    @mariotaddeucci in #11070
  * [CI] Add patch argument to patch the extension's sources before building by
    @krlmlr in #10831
  * fix(jdbc): support fractional seconds in getTime by @Mause in #10707
  * Fix #11071 - correctly report progress when scanning multiple Parquet files
    by @Mytherin in #11072
  * Add ipv6 inet + minor fixes by @carlopi in #11073
  * Implement IPv6 support in the inet extension. by @troycurtisjr in #10839
  * [CI] Add step to verify C API enum integrity. by @Tishj in #10664
  * Issue #10995: TIMETZ DST Fix by @hawkfish in #11079
  * Check Nested Types for UTF-8 Correctness by @pdet in #11086
  * Add scope column to duckdb_settings by @Tishj in #11017
  * Partitioned write - flush batches periodically (every 500K rows) instead of
    only writing when all data has been gathered by @Mytherin in #10976
  * [Python] Add extract_statements and the Statement class by @Tishj in #10891
  * [Python] Improve performance of conversion to Numpy/Pandas for nested lists
    by @Tishj in #10826
  * Fix an InternalException caused by DICTIONARY_VECTOR inside
    map_from_entries by @Tishj in #11091
  * Fix #11084 - fixes an issue with the Parquet writer when writing vectors of
    lists with repeated list elements (as can be generated through a join) by
    @Mytherin in #11094
  * Add callbacks for newly added connections, and allow extensions to rebind
    queries as a result of planning failures by @Mytherin in #11096
  * Fuzzer #2376: INTERVAL Muliply Overflow by @hawkfish in #11100
  * Make test/sql/copy/csv/test_limit_spinlock.test a slowtest by @pdet in #
    11088
  * Fix #11063 - avoid throwing exception in InClauseRewriter by @Mytherin in #
    11090
  * Add a hint on how to resolve lockups when using ninja. by @troycurtisjr in
    #11074
  * Fix LocalFileSystem::Read/Write, update location after read/write some data
    by @yiyuanliu in #11105
  * run_tests_one_by_one - add a default timeout of 1 hour by @Mytherin in #
    11104
  * [Fix] Aliases in subqueries by @taniabogatsch in #11103
  * [CSV Scan] Implement ignore_erros for Dates/Timestamps/Decimals by @pdet in
    #11083
  * Fix TaskScheduler deadlock on NumberOfThreads by @Tishj in #11093
  * Fix return null constant in list_resize and list_aggr by @maiadegraaf in #
    11111
  * Add rowsort to more tests for queries that don't have a defined order by
    @Mytherin in #11110
  * Do not extract filters that cannot be hyper edges (Join Order Optimizer) by
    @Tmonster in #11108
  * Add Dictionary vector verification by @Mytherin in #11114
  * [Dev][Python] Make test_httpfs.py error test more lenient by @Tishj in #
    11125
  * Fix ConstantVector::Reference for dictionary arrays by @Maxxen in #11136
  * Disable jemalloc for ARM distributions and clean up when closing DB by
    @lnkuiper in #11130
  * Case senstivity issue secret manager by @samansmink in #11128
  * Bump az aw vcpkg by @samansmink in #11127
  * Fix broken micro benchmarks so they can be run weekly by @Tmonster in #
    11113
  * Refactor OSX.yml, now inputs can be provided by @carlopi in #11133
  * Merge main into feature by @Tishj in #11141
  * Revert "Merge main into feature" by @Mytherin in #11145
  * Fix upload assets script by @carlopi in #11144
  * Bump spatial by @Maxxen in #11132
  * Fix upload assets OSX/2 by @carlopi in #11148
  * Add more vector type verification tests/settings by @Mytherin in #11138
  * Allow for customization of catalog lookup behavior for different catalog
    types by @Mytherin in #11151
  * [Python][Arrow] Don't deduplicate column names when outputting to Arrow by
    @Tishj in #11160
  * More Array and Union fixes by @Maxxen in #11161
  * Refactor upload logic (towards staged releases) by @carlopi in #11156
  * Fuzzer #2490: Generate NULL TIMESTAMPTZ by @hawkfish in #11143
  * Add folder parameter to upload logic and upload also twine artifacts by
    @carlopi in #11169
  * CI: Find mirror issues among all issues, not just open issues by @szarnyasg
    in #11170
  * Fix TupleDataCollection serialization of dictionary vectors containing
    nested data by @lnkuiper in #11174
  * Allow overriding of git describe also in scripts (via OVERRIDE_GIT_DESCRIBE
    environment variable) by @carlopi in #11179
  * Python staged releases: centralized staged upload by @carlopi in #11187
  * Fix RevertAppendInternal by @Mytherin in #11177
  * TwineUpload: Add awscli dependency + minor rework by @carlopi in #11193
  * Fix issue in copy constructor of ExtraDropSecretInfo by @samansmink in #
    11190
  * Unify CSV/JSON and Parquet Batch Writing Code - and fix memory management
    issues in CSV/JSON writing by @Mytherin in #11188
  * More conservative dummy list entry estimation by @Maxxen in #11185
  * retry on 500 error by @samansmink in #11184
  * Fix warning on unused utf_type by @carlopi in #11198
  * Remove outdated duckdb-node related scripts by @carlopi in #11180
  * Add StagedUpload.yml by @carlopi in #11189
  * Improving CSV Casting error message by @pdet in #11183
  * Improve conversion error message in Parquet reader by @Mytherin in #11199
  * Fix thread sanitizer issues by @Mytherin in #11200
  * Internal #1564: Range Join DISTINCT by @hawkfish in #11205
  * small fix secret autoloading, bump azure by @samansmink in #11182
  * CSV reader - suggest enabling null_padding and ignore_errors in case of
    missing columns by @Mytherin in #11201
  * CI: Create/label mirror issue job should list all internal issues by
    @szarnyasg in #11204
  * [Python] Add IS NULL / IS NOT NULL support to Expression API by
    @cmdlineluser in #11175
  * Remove old assertions in SegmentTree by @Mytherin in #11208
  * [lambda] Fix for list_reduce giving the wrong result by @maiadegraaf in #
    11171
  * [Dev] Fix various issues discovered by #11137 by @Tishj in #11210
  * [Dev] Fix py override describe by @carlopi in #11209
  * Sanitize CSV Newline identifier for writing CSV files by @pdet in #11106
  * Fix persistent secret file permissions by @samansmink in #11172
  * Retry Binding Prior To Execution by @Mytherin in #11149
  * Avoid copying LogicalType in FlatVector::SetNull. by @yiyuanliu in #11214
  * Review of CI on tags + add R extensions CI to InvokeCI.yml by @carlopi in #
    11212
  * Fix python and apply patches + bump extensions by @carlopi in #11217
  * Disable jemalloc on arm in Python package as well by @Mytherin in #11218

DuckDB 0.10.0 "Fusca"
What's Changed

  * feat(jdbc): support uuid param type by @Mause in #9164
  * Bump ADBC to v0.7 by @pdet in #9185
  * Add support for parquet key-value metadata by @Maxxen in #9126
  * Default to JSON type if objects have an inconsistent structure by @lnkuiper
    in #9086
  * Add schema parameter to read_parquet by @lnkuiper in #9123
  * [Python] Add the ability to provide a list of files to read_csv by @Tishj
    in #8977
  * Issue #7672: TIMESTAMP_XX to DATE by @hawkfish in #9279
  * N-ary lambdas, and indexes as lambda parameters by @taniabogatsch in #8851
  * Feature: Fixed size list nested type (ARRAY) by @Maxxen in #8983
  * Fix unused warning by @Maxxen in #9318
  * Internal #215: Window EXCLUDE Functionality by @hawkfish in #9220
  * Add json_serialize_plan, json_serialize_sql tweaks by @Maxxen in #9230
  * Add create statement support to fuzzer by @Tmonster in #9011
  * Fix for issue #8108: Random() in lambda by @maiadegraaf in #9353
  * Fix Lambda Serialization by @taniabogatsch in #9323
  * Allow file_row_number with parquet schema option by @samansmink in #9290
  * CSV - Always run sniffer by default by @pdet in #9250
  * [Python Dev] Import items lazily by @Tishj in #8741
  * Array fixes + make validity more lazy by @Maxxen in #9400
  * Lambda performance revamp by @taniabogatsch in #9395
  * [Python] Support replacement scan on connection.table(<name>) method by
    @Tishj in #9427
  * [Dev] Fix failure in Format Check CI job by @carlopi in #9516
  * Fix parquet serialization by @Maxxen in #9485
  * Support gcs:// and r2:// URLs to read data from GCS and R2 by @chrisiou in
    #9388
  * Don't reset validity target count by @Maxxen in #9565
  * Merge into feature by @carlopi in #9583
  * Additional list functions by @cryoEncryp in #8907
  * [Python] Support Optional[...] in DuckDBPyType by @Tishj in #8658
  * C-API: support streaming arrow query by @Virgiel in #8642
  * Add ToString and Print method for JoinRelationSetManager and Fix JoinNode
    Print by @Light-City in #9040
  * Removed artificial HUGEINT minimum by @nickgerrets in #9441
  * Parquet Encryption by @lnkuiper in #9392
  * Internal #330: Quantile Performance by @hawkfish in #9461
  * CAPI: Make it possible to create enum types by @alnkesq in #8788
  * 5614 database invalidated by @Tmonster in #9513
  * Add support for proper scoping (catalog + schema) to custom types by
    @Mytherin in #9622
  * Internal #576: strptime strftime infinities by @hawkfish in #9615
  * ATTACH IF NOT EXISTS by @Mytherin in #9627
  * Small benchmark changes by @taniabogatsch in #9638
  * add option for keep_alive setting by @samansmink in #9648
  * Add "getenv" function to shell which can be used to read environment
    variables, and allow functions to be used in SET statements/PRAGMA
    statements by @Mytherin in #9651
  * Julia release by @Mytherin in #9670
  * In set operations ORDER BY columns refer to the first set operation in SQL
    - so the reference is not ambiguous by @Mytherin in #9658
  * Replace old logos by @szarnyasg in #9674
  * Fix dbgen/dsdgen when using custom catalog and schema by @ywelsch in #9686
  * [Arrow] Properly use the parent's array.offset in many places in the scan
    by @Tishj in #9661
  * Update issue template with API/extension repositories by @szarnyasg in #
    9693
  * [Python] Fix lossy datetime.timedelta to INTERVAL conversion by @Tishj in #
    9688
  * Issue template: Report vulnerabilities via dedicated channel by @szarnyasg
    in #9711
  * Fix #9601: Call correct method in duckdb_pending_execution_is_finished by
    @Mytherin in #9728
  * Merge Feature Into Main by @Mytherin in #9726
  * feat(c): add functions for determining statement/return types by @Mause in
    #9430
  * Issue #9673: ICU DST Truncation by @hawkfish in #9705
  * Deserialize header fields by @carlopi in #9687
  * fix: restore support for windows network paths by @Mause in #9725
  * Constant time attach path lookup and locking to ensure unique file handles
    by @taniabogatsch in #9671
  * [ART] WAL serialization, automatic checkpointing, decoupling catalog and
    storage, index names by @taniabogatsch in #9339
  * Fix expanding structs in queries with ORDER BY by @taniabogatsch in #9481
  * Only emit batch indices valid within the current pipeline by @ywelsch in #
    9702
  * Fix #9717: Correctly set null statistics of children of structs by
    @Mytherin in #9733
  * Fixes to warning and rendering of bar() by @carlopi in #9734
  * Don't show "blabla" as part of syntax error by @mlafeldt in #9746
  * Fix #9742: correctly catch empty ROW case in UPDATE by @Mytherin in #9744
  * Explicitly attach duckdb file type by @taniabogatsch in #9747
  * For ATTACH - Resolve extension prefix before determining the name so
    "sqlite:file.db" is again correctly aliased as "file" instead of
    "sqlite:file" by @Mytherin in #9753
  * Wasm: Add wasm_threads as a class of built extensions by @carlopi in #9735
  * …
jperkin pushed a commit that referenced this issue Jul 31, 2024
This release includes:

 * Re-fix XIM input sometimes jumbled (#205, #206, #207, #208, !246)
 * Fix various static analysis errors (!250)
 * Add compose sequences for Arabic hamza (!218), Ezh (!221), and
   hryvnia currency (!259)
 * Make colormap private interfaces thread safe (#215, !254)
 * Fix deadlock in XRebindKeysym() (!256)
 * Assorted memory handling cleanups (!251, !258)
 * Restore VAX support still in use by NetBSD (!257)

Alan Coopersmith (4):
      Avoid buffer overflow in _XimLookupMBText & _XimLookupUTF8Text
      Revert "unifdef __vax__"
      xlibi18n/lcFile.c: avoid use of possibly-NULL pointer with strcpy
      libX11 1.8.10

José Expósito (6):
      Fix use of uninitialized variable in _XimTriggerNotify
      Fix use of uninitialized variable in _XimExtension
      Fix use of uninitialized variable in _XimEncodeICATTRIBUTE
      XKBMAlloc: Check that needed is >= 0 in XkbResizeKeyActions
      Fix memory leak in _XimProtoSetIMValues
      Fix buffer overrun in parse_omit_name

Kelly Roadkill (4):
      nls: add compose seq's for symbols absent from Cyrillic layouts to ru_RU
      nls: delete compose sequence with anomalous post-fixed cedilla
      nls: add compose sequences for hryvnia currency
      Revert "nls: add compose seq's for symbols absent from Cyrillic layouts to ru_RU"

Mohamed Akram (1):
      nls: add Arabic hamza compose sequences

Olivier Fourdan (4):
      Revert "Fix XTS regression in XCopyColormapAndFree"
      Revert "Protect colormap add/removal with display lock"
      Make colormap private interfaces thread safe.
      Fix deadlock in XRebindKeysym()

Takao Fujiwara (7):
      ximcp: Unmark to fabricate key events with XKeyEvent serial
      imDefLkup: Commit first info in XimCommitInfo
      imDefLkup: Mark and unmark fabricated with serial 0
      ximcp: Add fabricated_time in XimProtoPrivate for timeout
      Accept anon windows in XFilterEvent to update XIM state
      ximcp: Unmark fabricated with serial 0 and Xic commit_info
      imDefIm: Add LIBX11_ENABLE_FABRICATED_ORDER env

jmcwilliams403 (1):
      NLS: Add 6 Multi_key sequences for Ezh
github-actions bot pushed a commit that referenced this issue Oct 27, 2024
3.3.9 (2024-10-24)

Improvements

* Improved performance.  [GH-210] Patch by NAITOH Jun.

Fixes

* Fixed a parse bug for text only invalid XML.  [GH-215] Patch
  by NAITOH Jun.

* Fixed a parse bug that &#0x...; is accepted as a character reference.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant