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

Re-enable mod_proxy_html #169

Closed

Conversation

vec4f
Copy link

@vec4f vec4f commented Dec 27, 2018

mod_proxy_html was disabled nearly 7 years ago in commit e803b468800. As far as I can find, the only context for the above change is here:

https://mail-index.netbsd.org/tech-pkg/2012/04/18/msg009003.html

This pull request re-enables mod_proxy_html and (I think) properly configures the necessary dependency on libxml2.

This is my first time attempting a pkgsrc change; feedback welcome!

jperkin pushed a commit that referenced this pull request Mar 15, 2019
Changes:
1.8.0
-----
### Added
- Support for:
  - `weibo`
  - `pururin` (#174)
  - `fashionnove` (#175)
  - `shopify` sites in general (#175)
- Snap packaging (#169, #170, #187, #188)
- Automatic Cloudflare DDoS protection bypass
- Extractor and Job information for logging format strings
  - `dynastyscans` image and search extractors (#163)
  - `deviantart` scraps extractor (#168)
  - `artstation` extractor for artwork listings (#172)
  - `smugmug` video support and improved image format selection (#183)

### Changed
- More metadata for `nhentai` galleries
- Combined `myportfolio` extractors into one
- Renamed `name` metadata field to `filename` and removed the original `filename` field
- Simplified and improved internal data structures
- Optimized creation of child extractors

### Fixed
- Filter empty `tumblr` URLs (#165)
- Filter ads and improve connection speed on `hentaifoundry`
- Show proper error messages if `luscious` galleries are unavailable
- Miscellaneous issues on `mangahere`, `ngomik`, `simplyhentai`, `imgspice`

### Removed
- `seaotterscans`
jperkin pushed a commit that referenced this pull request Mar 26, 2019
Pkgsrc changes:
 * Track rename of logrotate-default to logrotate.conf
 * Add a fix so that the log file name is actually passed
   to the various script hooks(!)
   logrotate/logrotate#245

Upstream changes:

3.15.0
======
 * timer unit: change trigger fuzz from 12h to 1h (#230)
 * service unit: only run if /var/log is mounted (#230)
 * preserve fractional part of timestamps when compressing (#226)
 * re-indent source code using spaces only (#188)
 * minage: avoid rounding issue while comparing the amount of seconds (#36)
 * never remove old log files if rotate -1 is specified (#202)
 * return non-zero exit status if a config file contains an error (#199)
 * make copytruncate work with rotate 0 (#191)
 * warn user if both size and the time interval options are used (#192)
 * pass rotated log file name as the 2nd argument of the postrotate
   script when sharedscript is not enabled (#193)
 * rename logrotate-default to logrotate.conf (#187)

3.14.0
======
 * make configure show support status for SELinux and ACL at the end (#179)
 * make logrotate build again on FreeBSD (#178)
 * move wtmp and btmp definitions from logrotate.conf to
 * separate configuration files in logrotate.d (#168)
 * print a warning about logrotate doing nothing when -d is used (#165)
 * do not reject executable config files (#166)
 * add hardening options to logrotate.service in examples (#143)
 * fix spurious compressor failure when using su and compress (#169)
 * keep logrotate version in .tarball-version in release tarballs (#156)
 * introduce the hourago configuration directive (#159)
 * ignore empty patterns in tabooext to avoid exclusion of everything (#160)
 * properly report skipped test cases instead of pretending success

3.13.0
======
 * make distribution tarballs report logrotate version properly (RHBZ#1500264)
 * make (un)compress work even if stdin and/or stdout are closed (#154)
 * remove -s from DEFAULT_MAIL_COMMAND and improve its documenation (#152)
 * uncompress logs before mailing them even if delaycompress is enabled (#151)
 * handle unlink of a non-existing log file as a warning only (#144)
 * include compile-time options in the output of logrotate --version (#145)
 * make logrotate --version print to stdout instead of stderr (#145)
 * flush write buffers before syncing state file (#148)
 * specify (un)compress utility explicitly in tests (#137)
 * enable running tests in parallel (#132)
 * explicitly map root UID/GID to 0 on Cygwin (#133)
 * add .dpkg-bak and .dpkg-del to default tabooext list (#134)

3.12.3
======
 * copy and copytruncate directives now work together again
 * unlink() is no longer preceded by open() unless shred is enabled (#124)
 * compress and uncompress now take commands from $PATH, too (#122)

3.12.2
======
 * build fixes related to -Werror (#119) and -Werror=format= (#108)
 * configure --enable-werror now controls use of the -Werror flag (#123)

3.12.1
======
 * Included forgotten build-aux directory in release tarballs.

3.12.0
======
 * Fixed accident removal of rotated files with dateext. (#118)
 * Line comments inside globs in config files are now skipped. (#109)
 * logrotate now recovers from a corrupted state file. (#45)
 * Makefile.legacy has been removed. (#103)
 * config.h is now generated by autotools. (#102 and #103)
 * createolddir now creates old directory as unprivileged user. (#114)
 * weekly rotations are now predictable and configurable. (#93)
 * Errors in config files are no longer treated as fatal errors. (#81)
 * configure --with-default-mail-command specifies default mail command. (#100)
 * Fixed heap buffer overflow when parsing crafted config file. (#33)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Apr 5, 2019
Allows mod_proxy_html to be supported again.  Based on a pull request from
vec4f in TritonDataCenter#169.
@jperkin jperkin self-assigned this Apr 5, 2019
@jperkin jperkin closed this Apr 5, 2019
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 19, 2019
Allows mod_proxy_html to be supported again.  Based on a pull request from
vec4f in TritonDataCenter#169.
jperkin pushed a commit that referenced this pull request Jun 12, 2019
        ___   ____   __
__   __/ _ \ | ___| / /_
\ \ / / | | ||___ \| '_ \      The D-Day release, 75th anniversary.
 \ V /| |_| | ___) | (_) |
  \_/  \___(_)____/ \___/      (released 2019-06-06)

AsciiDoc:
 * Introduce option tablecells to process cells in tables. (GitHub's #166)
 * widen accepted characters in the term part of definition list
   (GitHub's #169)

po4a tool:
 * Don't use single quotes to protect command line arguments, as it
   fails on Windows (GitHub's #141)

Translations:
 * New translation: Arabic, thanks mohammadA.
 * Updated: Dutch, thanks Frans Spiesschaert.
 * Updated: French, thanks Jean-Baptiste Holcroft.
 * Updated: Italian, thanks Marco Ciampa.
 * Updated: Japanese, thanks Victory.
 * Updated: Norwegian Bokmål, thanks Petter Reinholdtsen and Allan Nordhøy.
 * Updated: Portuguese (Brazil), thanks Rafael Fontenelle and Silvério
   Santos.
 * Updated: Ukrainian, thanks Yuri Chornoivan (українська).
jperkin pushed a commit that referenced this pull request Aug 26, 2019
Version 1.1.27 (released 06-Jun-2019)

  * suppress stack traces (with option to show) (#140)
  * distinguish text/binary/image files by icons (#166, #175)
  * colorize alternating file content lines (#167)
  * link to the instance root from the ViewVC logo (#168)
  * display directory and root counts, too (#169)
  * fix double fault error in standalone.py (#157)
  * support timezone offsets with minutes piece (#176)
jperkin pushed a commit that referenced this pull request Sep 2, 2019
Changes since 1.5.2:

    Disable EGL on macOS
    Fix build on macOS [#176, Emmanuele Bassi]
    Add macOS tests
    Fix build with uClibc [#181, Emmanuele Bassi]
    Fix GLES3 symbol lookup [Adam Jackson]
    Fix conditional compilation [#184, Zhao Zhili]
    Require Meson 0.47
    Fix Autotools build with EGL-X11 support [#188, Emmanuele Bassi]

Changes since 1.5.1:

    Fix the detection of the -z,relro linker flag
    Query the EGL context version when bootstrapping on GLES [Adam Jackson]
    Avoid inadvertedly loading libraries when probing for them [Adam Jackson]
    Issue #169: Fix build on FreeBSD [Ting-Wei Lan]
    Consistently use abort() instead of exit() for internal state checks
    Issue #171: Fix a performance regression in the global function pointer
    trampolines introduced by using -Bsymbolic-functions
    Improve performance when using GL function pointers like glAlphaFunc [Adam Jackson]

Changes since 1.5.0:

    Do no add pkg-config dependencies on gl on systems that do not use
    pkg-config, like macOS and Windows [Tom Schoonjans, #156]
    Generalise checks for dlvsym [Ross Burton, #158]
    Add an option for disabling building the test suite [Ross Burton]
    Typo fixes in the comments and documentation [luz.paz, #159]
    Simplify the Meson configuration logic for EGL and GLX [Eric
    Engestrom, #162]
    Use assert when no context is found [Adam Jackson, #166]
    Remove a test superceded by GLVND [#165]
    Avoid Meson warnings when testing for linker arguments


Changes from Epoxy 1.4.3

    Bump the Meson dependency to 0.44.1
    Include Xlib.h in the tests that use X11 API
    Update the GL registry to OpenGL 4.6
    Add gl and egl private dependencies in the pkg-config file
    Allow building Epoxy without X11 support
    Rename the Meson configuration options to be more idiomatic
    New API:
        epoxy_set_resolver_failure_handler()
        epoxy_glsl_version()
        epoxy_extension_in_string()

Issues fixed

    #128 - Fix macOS linker flags [Tom Schoonjans]
    #129 - Use GLVND if available [Adam Jackson]
    #134 - Add fallback definition for EGL_CAST [Daniel Stone]
    #133 - Try even harder to not load GLX [Adam Jackson]
    #138 - Fix the libOpenGL soname [Adam Jackson]
    #137 - Update differences with GLEW [Nigel Stewart]
    #131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    #140 - Fix pointer mismatch on Windows 10 [danem]
    #141 - Define visibility flags for static builds [Dylan Baker]
    #136 - Expose epoxy_extension_in_string() [Lyude Paul]
    #151 - Use correct guard for Android builds [Robert Bragg]
    #154 - Fix dlwrap for glvnd [Adam Jackson]
    #155 - Respect DLOPEN_LIBS [Michał Górny]
    #143 - Fix printf family usage [Ikey Doherty]
    #152 - Do not use OPENGL_LIB on Android
    #145 - Add epoxy_glsl_version()
jperkin pushed a commit that referenced this pull request 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 pull request Dec 15, 2019
…ithub.com page

v3.11
@rsms rsms released this Oct 23, 2019 · 15 commits to master since this release

  - Fixes issue (regression) with variable font where certain glyphs would
    slant in the wrong direction. #198
  - Fixes issue (regression) with variable font where version metadata would be
    wrong. #202
  - Fixes codepoint mapping for /copyleft glyph. #203
  - Improves metadata of variable fonts. “fullName” name table entry is now
    “Inter” instead of “Inter Regular”.
  - New alternate-named variable font “Inter V”. With a different family name,
    this is useful for when you want to install the variable version alongside
    traditional static font files.
  - Improvements to /backslash glyph

v3.10
@rsms rsms released this Sep 7, 2019 · 35 commits to master since this release
Release 3.10 is a mix of new glyphs & glyph changes, and adjustments & fixes.

New glyphs:

  - blackSquare (U+25A0)
  - whiteSquare (U+25A1)
  - whiteRoundedCornersSquare (U+25A2)
  - lowerHalfWhiteSquare (U+2B12)
  - topHalfWhiteSquare (U+2B13)
  - downWhiteTriangle (U+25BD)
  - upWhiteTriangle (U+25B3)
  - leftWhiteTriangle (U+25C1, U+25C5)
  - rightWhiteTriangle (U+25B7, U+25BB)

Other notable changes:

  - Fixes alignment issue with otilde U+00F5. #191
  - Improvements to contextual alternates (calt), primarily reducing the cases
    where case substitution is unwanted. #193
  - Adjustments to the following whitespace glyphs: zerowidthspace, hairspace,
    thinspace, punctuationspace, enspace, emspace, sixthemspace,
    quarteremspace, thirdemspace and figurespace. #185
  - Improvements to ogonek-based diacritics.
  - Refinements and improvements to fractions (both dedicated glyphs and
    arbitrary frac parts)
  - Kerning improvements to all weights
  - Progress on mark and mkmk “dynamic diacritics”

v3.9
@rsms rsms released this Aug 7, 2019 · 58 commits to master since this release

Fixes an issue with metadata where Medium, Semi Bold, and Extra Bold would
incorrectly be marked as “italic” which would confuse certain software.

v3.8
@rsms rsms released this Aug 5, 2019 · 62 commits to master since this release

  - Possibly breaking change: Variable italic axis (really, slnt axis) has been
    inverted (negated) — a negative value causes the text to lean rightwards.
    This is only a breaking change if you are using the multi-axis variable
    font (Inter.var) and define slant angle using high-level CSS properties
    like font-style. This change was done to comply with the convention defined
    in the OpenType spec. #175 #172
  - Variable font files are now significantly smaller thanks to #171 and #169
      □ Inter.var.woff2 v3.7: 393kB, v3.8: 306kB
      □ Inter-upright.var.woff2 v3.7: 267kB, v3.8: 224kB
      □ All this while v3.8 introduces a whole new set of glyphs, kerning and
        feature code.
  - Adds several new glyphs, like double-stemmed arrows and enclosed
    alphanumerics & symbols
      □ Warning sign #168
      □ Copyleft symbol #165
      □ Really long arrows, useful in ligatures like --->
      □ Arrows with double-lined stems, useful for “assign to”, with ligatures
        defined for some combinations with equals, e.g. =>
      □ Enclosed glyphs in circles and squares
  - Fixes a bug where U+0430 Cyrillic lower-case a would not be substituted for
    a single-storey “a” with cv11 enabled. #179
  - Fixes a bug with slant of Ͽ (U+03FF) #170 #169
  - Some calt code has moved to liga (standard ligatures), specifically arrow
    ligatures. Automatic case alignment is still kept in calt. So, you can now
    disable calt to disable only case alignment, and disable liga to only
    disable arrow ligatures.
  - Improvements to kerning, spacing and letterform details
  - Improved Microsoft Windows installation instructions #173

v3.7
@rsms rsms released this May 31, 2019 · 103 commits to master since this
release

  - Fixes an issue with spacing to the right of capital "M"
  - Improves positioning of various bullet glyphs
  - Improved kerning
  - new copyright glyph U+00A9
  - new published (aka sound recording copyright) glyph U+2117
  - new registered sign glyph U+00AE
  - release now contains installation instructions for Linux

v3.6
@rsms rsms released this May 27, 2019 · 123 commits to master since this
release

  - Fixes an issue related to ttfautohint where lower case "r" would be grid
    fitted incorrectly by ClearType on Microsoft Windows #119
  - Fixes an issue with using case and calt features in combination where arrow
    combinations like -> would not be substituted by arrow glyphs #161
  - Fixes an issue with rightArrow of bolder weights in italic #154
  - Adjusts the glyph width of "bullet" to be exactly two "space" glyphs wide,
    allowing easy ad-hoc list creation with wrapping lines
  - Improved kerning for a.1 (alternate single-storey "a")

v3.5
@rsms rsms released this Apr 2, 2019 · 139 commits to master since this release

This is a very small incremental change from v3.4 that mainly contains improved
metrics metadata for some macOS applications, improving vertical alignment.

v3.4
@rsms rsms released this Apr 1, 2019 · 144 commits to master since this release

Lots of changes in this release.

Highlights include:

  - Workaround for bug with some Apple software (including Sketch) where the
    computed line height of the Regular weight would be too tall
  - Several new symbol glyphs, especially in the technical area (e.g. computer
    keyboard symbols)
  - Single-storey a
  - Lots of improvements to diacritics

Some interesting commits since v3.3:

  - 9084323 slight increase of slant of /numbersign
  - e903526 remove slant from /degree
  - c130c69 misc documentation on variable font usage
  - 794662c fixes issues with calt substitution ignore rule
  - 1abaae4 fixes issue with shapes of a.1
  - aa2a3fe adds single-storey a
  - e605458 fix issue with x paths and adds blackstar U+2605, whitestar U+2606
  - ccc994e swap one <-> one.ss01
  - 3b9675e improvements to calt and arithmetic glyphs (e.g. plus, multiply,
    etc.)
  - 56e2c75 Swaps r.1 <-> r + rips out calt r.1 code + adds ss03 for "r curves
    into corund neighbors"
  - dddf6d2 Fixes kerning of pair /v/idotless -- closes #143
  - 1dbc8fd Change vertical metrics to make Apple ATS work properly. New
    ascender value: 2728, new descender value: -680
  - e1d8712 reworked commaaccent
  - fb79b9e Use vert metrics script to fix line heights issue #124 (#141)
  - 3488601 Adds 'Version ' prefix to nameID 5 version string, per MS OT spec (
    #140)
  - 70f3df7 Fixup STAT tables of single-axis variable fonts to aid desktop apps
    (style linking). Related to #142
  - 35a2362 Adds --name option to "fontbuild compile-var" for customizing
    family name, useful for producing variable font files with a different name
    than the constant files so they can be installed alongside each other.
    Closes #144
  - 20aaab6 Change version encoding in font files to match common zero-padded
    version to allow FontBakery to be happy. Closes #138
  - 1208ea9 adds returnsymbol U+23CE
  - 610b997 Adds several "technical" glyphs
  - a503c5a Adds glyphs leftHookArrow, upWhiteArrow, upBlackArrow, control,
    option, deleteleft, deleteright
  - 9f176ab improved placeofinterestsign U+2318
  - 0b8f63c Fix and improve paths (mostly order) of several glyphs
  - 6cf0980 redraws and adds paragraphreversed, blackleftbullet,
    blackrightbullet and .case versions
  - a1a1288 redrawn seagullsubnosp U+033C (also fixes bad paths)
  - 181ba19 fixes paths of uni0346 (COMBINING BRIDGE ABOVE)
  - 528f843 improvements to grave, acute, dblgrave and tonos diacritics
  - 6ef7b3e disable exporting of debug glyph uniE001
  - 162519e update panose metadata
  - 034a240 fixes missing "-BETA" filename suffix in the demo CSS file included
    with dists
  - a99328b Upgrade toolchain. glyphsLib 3.2.0b2 -> 3.2.0; fontmake 1.8.0 ->
    1.9.1
  - a0af904 workaround for bug in Safari where contextual sub in liga causes
    kerning to fail. Moves "r" ligature to calt to work around this bug.

v3.3
@rsms rsms released this Feb 4, 2019 · 203 commits to master since this release

Inter UI is now called simply Inter, without the "UI" part.

  - New name
  - Lots of diacritic improvements
  - Beta-grade light styles are now suffixed " BETA" to make it extra clear
    that these are in development
  - Many many changes; several new glyphs, lots of redrawn glyphs, lots of
    kerning improvements, etc.

v3.2
@rsms rsms released this Jan 4, 2019 · 276 commits to master since this release

  - Now includes lighter weights ([100–400); which are of beta quality and
    needs testing)
  - Lots of improvements to other weights (diacritics, glyph shapes, kerning,
    etc.)

This release is a big one in terms of source changes, adding up to 14,117
changed files with 714,886 additions and 259,287 deletions, since v3.1.

PDF glyph charts:

  - Inter-UI-Thin-BETA-glyphs.pdf
  - Inter-UI-ThinItalic-BETA-glyphs.pdf
  - Inter-UI-Regular-glyphs.pdf
  - Inter-UI-Italic-glyphs.pdf
  - Inter-UI-Black-glyphs.pdf
  - Inter-UI-BlackItalic-glyphs.pdf
jperkin pushed a commit that referenced this pull request Jan 8, 2020
Changes:
1.26.1
------
 - build system: Install the "implicitclass" backend with
   "-rwx------" permissions, so that CUPS executes it as root,
   as the "ipp" CUPS backend also has to be executed as root
   (Issue #183).
 - build system: Fixed setting permissions when installing the
   "cups-brf" backend.
 - libcupsfilters: When using the
   "media-{bottom,left,right,top}-margin-supported" IPP
   attributes (needed if we have no "media-col-database"), use
   the minimum and not the maximum margins, this allows
   accessing more of the printer's capabilities, especially for
   legacy printers which do not provide sufficient information
   (Issue #22).

1.26.0
------
 - cups-browsed: When generating local queues for printers for
   which the local CUPS daemon would provide temporary queues
   use the PPDs generated by libcupsfilters and not the ones
   generated by CUPS. The PPD generation of libcupsfilters also
   works with IPP-1.x-only printers, printers which do not
   support to query "media-col-database" and printers which
   support driverless printing only via PCLm. This can be
   changed via the "UseCUPSGeneratedPPDs" directive in
   cups-browsed.conf (Issue #22).
 - libcupsfilters: Re-structured the get_printer_attributes()
   function to remove the recursive calls for the fallbacks, to
   check required attributes in the response only if requested,
   and to fully integrate the method of getting a suitable
   response for a full printer capability list also if the
   printer is only IPP 1.1 or does not support the
   "media-col-database" attribute (Issue #22, Issue #163).
 - libcupsfilters, cups-browsed, driverless: Moved the funtions
   get_printer_attributes() and resolve_uri() from cups-browsed
   into libcupsfilters, to share them with the driverless
   utility (Issue #22).
 - implicitclass: Fixed wrong stdout redirection from the
   filters to the IPP backend and hard-coded path for "ipp"
   backend call (Possible fix for Issue #163, Issue #181).
 - cups-browsed, driverless: Use DNS-SD-service-name-based URIs
   instead of host-name-based ones, as CUPS also does. In
   cups-browsed one can switch back to the conventional
   host-name-based URIs via the new "DNSSDBasedDeviceURIs"
   configuration option.  Note that cups-browsed always uses
   conventional URIs for printers discovered via legacy CUPS
   browsing or LDAP.
 - cups-browsed: When removing a CUPS queue, do not consider an
   error (and retry) if the queue does not actually exist. Also
   ignore errors when checking whether there are still
   jobs. This way when a new queue gets created and the
   generation of the PPD file fails the attempt to remove this
   non-existing queueu when removing the printer entry does not
   cause any problem.
 - cups-browsed: Improved the fallback mechanism of the
   get_printer_attributes() function. Instead of considering
   the request failed by the content of the response only when
   not more than the two language atrributes come out, we check
   through a list of required attributes whether they are all
   there.  In addition, we actually fail when all callbacks
   have failed (Issue #22).
 - cups-browsed: Introduced new configuration options
   "UpdateCUPSQueuesMaxPerCall" and
   "PauseBetweenCUPSQueueUpdates" to limit the amount of local
   CUPS queues created, modified, or removed in a single event
   callback. Before, when there were thousands of printers in
   the network, cups-browsed got blocked for other tasks, like
   assigning a destination printer for a cluster print job
   (Issue #163).

1.25.13
-------
 - implicitclass: When passing on the job via the "ipp" CUPS
   backend, set argv[0] to the destination printer URI (Pull
   request #173).
 - cups-browsed: Added another fallback to the
   get-printer-attributes IPP request: Now after failing the
   standard request ("all", "media-col-database") with both IPP
   2.0 and IPP 1.1, try simply "all", without
   "media-col-database" (Pull request #173).
 - cups-browsed: Do not set printer-is-shared for remote CUPS
   queue when making a temporary queue permanent (Pull request
   #180).
 - cups-browsed: Fix leaks of ipp_t struct and load balancing
   on the servers (Pull request #179).
 - cups-browsed, implicitclass: Prioritize Apple Raster against
   PWG Raster when selecting the PDL for the destination
   printer for a job sent to a cluster, also cleaned up the PDL
   selector code and added PostScript support.
 - libcupsfilters: Updated the PPD generator adding all changes
   of the PPD generator of CUPS: Support for "job-account-id",
   "job-accounting-user-id", "job-password", finishing options
   "trim-..." added, finishing options and
   "finishing-col-database" support synced with CUPS.
 - libcupsfilters: In the PPD generator get the mode for
   handling the back sides of the sheets when printing duplex
   preferrably from the "urf-supported" attribute.
 - libcupsfilters: Fixed bug that the PPD generator did not
   output the "*CloseUI: *ColorModel" line when it did not
   determine a default setting for "ColorModel".
 - cups-browsed: Added some missing memory allocations leading
   to a segfault (Issue #175).

1.25.12
-------
 - libcupsfilters: Use the text names "Draft", "Normal", and
   "High" instead of 3, 4, and 5 as choice names for the
   "cupsPrintQuality" option as CUPS does (Issue #171).
 - libcupsfilters: If a printer supports both Apple Raster and
   PWG Raster let the generated PPD use Apple Raster as there
   are several printers which report PWG Raster support but do
   not actually print PWG Raster (Pull reguest #168, Issue
   #171, CUPS issue #5238).
 - cups-browsed: Fix unset location check to use DNS-SD field
   (Pull request #172).
 - libcupsfilters, beh, implicitclass, foomatic-rip,
   imagetopdf, mupdftoraster, pdftops, sys5ippprinter,
   cups-browsed, driverless: Silenced all compiler warnings to
   make the build process of cups-filters completely free of
   warnings.
 - pdftops: Fixed crash when using filter without PPD file.
 - pdftops: If printing grayscale jobs with Ghostscript as PDF
   renderer, add "-sProcessColorModel=DeviceGray" to
   Ghostscript command line.
 - pdftops: Do not use the ugly "pdftops -level1 ..."
   workaround to get grayscale PostScript output from
   Poppler. It leads to huge output files with Poppler's
   "pdftops" utility and does not work at all with
   "pdftocairo".  Poppler itself does not support PostScript
   output converted to grayscale. Issue a warning with the hint
   to use Ghostscript or MuPDF as PDF renderer (Issue #169).
 - libcupsfilters: In the cupsRasterParseIPPOptions()
   accept also "Mono", "Monochrome", and "Gray" as color
   space names.
jperkin pushed a commit that referenced this pull request Mar 7, 2020
ChangeLog:

v5.6.2

Bug fixes:

    #271 fixes a corner-case bug with more than 100 CSV/TSV files with
    headers of varying lengths.

Documentation:

    The new http://johnkerl.org/miller/doc/whyc-details.html is an
    elaboration on http://johnkerl.org/miller/doc/whyc.html which answers
    a question posed by @BurntSushi on Reddit a couple years ago which
    I did not address in detail at the time.

v5.6.1

    The only change is that http://johnkerl.org/miller/doc is now
    more mobile-friendly.  All build artifacts are the same as at
    https://github.com/johnkerl/miller/releases/tag/v5.6.0

v5.6.0

    The new system DSL function allows you to run arbitrary shell commands
    and store them in field values. Some example usages are documented
    here. This is in response to issues #246 and #209.

    There is now support for ASV and USV file formats. This is in response
    to issue #245.

    The new format-values verb allows you to apply numerical formatting
    across all record values. This is in response to issue #252.

Documentation:

    The new DKVP I/O in Python sample code now works for Python 2 as
    well as Python 3.

    There is a new cookbook entry on doing multiple joins. This is in
    response to issue #235.

Bugfixes:

    The toupper, tolower, and capitalize DSL functions
    are now UTF-8 aware, thanks to @sheredom's marvelous
    https://github.com/sheredom/utf8.h. The internationalization page
    has also been expanded. This is in response to issue #254.

    #250 fixes a bug using in-place mode in conjunction with verbs
    (such as rename or sort) which take field-name lists as arguments.

    #253 fixes a bug in the label when one or more names are common
    between old and new.

    #251 fixes a corner-case bug when (a) input is CSV; (b) the last
    field ends with a comma and no newline; (c) input is from standard
    input and/or --no-mmap is supplied.

v5.5.0

    The new positional-indexing feature resolves #236 from @aborruso. You
    can now get the name of the 3rd field of each record via $[[3]], and
    its value by $[[[3]]]. These are both usable on either the left-hand
    or right-hand side of assignment statements, so you can more easily
    do things like renaming fields progrmatically within the DSL.

    There is a new capitalize DSL function, complementing the
    already-existing toupper. This stems from #236.

    There is a new skip-trivial-records verb, resolving #197. Similarly,
    there is a new remove-empty-columns verb, resolving #206. Both are
    useful for data-cleaning use-cases.

    Another pair is #181 and #256. While Miller uses mmap internally
    (and invisibily) to get approximately a 20% performance boost over
    not using it, this can cause out-of-memory issues with reading either
    large files, or too many small ones. Now, Miller automatically avoids
    mmap in these cases. You can still use --mmap or --no-mmap if you
    want manual control of this.

    There is a new --ivar option for the nest verb which complements
    the already-existing --evar. This is from #260 thanks to @jgreely.

    There is a new keystroke-saving urandrange DSL function:
    urandrange(low, high) is the same as low + (high - low) *
    urand(). This arose from #243.

    There is a new -v option for the cat verb which writes a low-level
    record-structure dump to standard error.

    There is a new -N option for mlr which is a keystroke-saver for
    --implicit-csv-header --headerless-csv-output.

Documentation:

    The new FAQ entry
    http://johnkerl.org/miller/doc/faq.html#How_to_escape_'%3F'_in_regexes%3F
    resolves #203.

    The new FAQ entry
    http://johnkerl.org/miller/doc/faq.html#How_can_I_filter_by_date%3F
    resolves #208.

    #244 fixes a documentation issue while highlighting the need for #241.

Bugfixes:

    There was a SEGV using nest within then-chains, fixed in response
    to #220.

    Quotes and backslashes weren't being escaped in JSON output with
    --jvquoteall; reported on #222.

v5.4.0

    The new clean-whitespace verb resolves #190 from @aborruso. Along with
    the new functions strip, lstrip, rstrip, collapse_whitespace, and
    clean_whitespace, there is now both coarse-grained and fine-grained
    control over whitespace within field names and/or values. See the
    linked-to documentation for examples.

    The new altkv verb resolves #184 which was originally opened via an
    email request. This supports mapping value-lists such as a,b,c,d to
    alternating key-value pairs such as a=b,c=d.

    The new fill-down verb resolves #189 by @aborruso. See the linked-to
    documentation for examples.

    The uniq verb now has a uniq -a which resolves #168 from @sjackman.

    The new regextract and regextract_or_else functions resolve #183
    by @aborruso.

    The new ssub function arises from #171 by @dohse, as a simplified way
    to avoid escaping characters which are special to regular-expression
    parsers.

    There are new localtime functions in response to #170 by
    @sitaramc. However note that as discussed on #170 these do
    not undo one another in all circumstances. This is a non-issue
    for timezones which do not do DST. Otherwise, please use with
    disclaimers: localdate, localtime2sec, sec2localdate, sec2localtime,
    strftime_local, and strptime_local.

Builds:

    Windows build-artifacts are now available in Appveyor at
    https://ci.appveyor.com/project/johnkerl/miller/build/artifacts,
    and will be attached to this and future releases. This resolves #167,
    #148, and #109.

    Travis builds at https://travis-ci.org/johnkerl/miller/builds now
    run on OSX as well as Linux.

    An Ubuntu 17 build issue was fixed by @singalen on #164.

Documentation:

    put/filter documentation was confusing as reported by @NikosAlexandris
    on #169.

    The new FAQ entry
    http://johnkerl.org/miller-releases/miller-head/doc/faq.html#How_to_rectangularize_after_joins_with_unpaired?
    resolves #193 by @aborruso.

    The new cookbook entry
    http://johnkerl.org/miller/doc/cookbook.html#Options_for_dealing_with_duplicate_rows
    arises from #168 from @sjackman.

    The unsparsify documentation had some words missing as reported by
    @tst2005 on #194.

    There was a typo in the cookpage page
    http://johnkerl.org/miller/doc/cookbook.html#Full_field_renames_and_reassigns
    as fixed by @tst2005 in #192.

Bugfixes:

    There was a memory leak for TSV-format files only as reported by
    @treynr on #181.

    Dollar sign in regular expressions were not being escaped properly
    as reported by @dohse on #171.

v5.3.0

    Comment strings in data files: mlr --skip-comments allows
    you to filter out input lines starting with #, for all file
    formats. Likewise, mlr --skip-comments-with X lets you specify
    the comment-string X. Comments are only supported at start of data
    line. mlr --pass-comments and mlr --pass-comments-with X allow you
    to forward comments to program output as they are read.

    The count-similar verb lets you compute cluster sizes by cluster
    labels.

    While Miller DSL arithmetic gracefully overflows from 64-integer
    to double-precision float (see also here), there are now the
    integer-preserving arithmetic operators .+ .- .* ./ .// for those
    times when you want integer overflow.

    There is a new bitcount function: for example, echo x=0xf0000206 |
    mlr put '$y=bitcount($x)' produces x=0xf0000206,y=7.

    Issue 158: mlr -T is an alias for --nidx --fs tab, and mlr -t is an
    alias for mlr --tsvlite.

    The mathematical constants π and e have been renamed from PI and
    E to M_PI and M_E, respectively. (It's annoying to get a syntax
    error when you try to define a variable named E in the DSL, when
    A through D work just fine.) This is a backward incompatibility,
    but not enough of us to justify calling this release Miller 6.0.0.

Documentation:

    As noted here, while Miller has its own DSL there will always be
    things better expressible in a general-purpose language. The new page
    Sharing data with other languages shows how to seamlessly share data
    back and forth between Miller, Ruby, and Python. SQL-input examples
    and SQL-output examples contain detailed information the interplay
    between Miller and SQL.

    Issue 150 raised a question about suppressing numeric conversion. This
    resulted in a new FAQ entry How do I suppress numeric conversion?,
    as well as the longer-term follow-on issue 151 which will make
    numeric conversion happen on a just-in-time basis.

    To my surprise, csvlite format options weren’t listed in mlr --help
    or the manpage. This has been fixed.

    Documentation for auxiliary commands has been expanded, including
    within the manpage.

Bugfixes:

    Issue 159 fixes regex-match of literal dot.

    Issue 160 fixes out-of-memory cases for huge files. This is an old
    bug, as old as Miller, and is due to inadequate testing of huge-file
    cases. The problem is simple: Miller prefers memory-mapped I/O
    (using mmap) over stdio since mmap is fractionally faster. Yet as
    any processing (even mlr cat) steps through an input file, more and
    more pages are faulted in -- and, unfortunately, previous pages are
    not paged out once memory pressure increases. (This despite gallant
    attempts with madvise.) Once all processing is done, the memory is
    released; there is no leak per se. But the Miller process can crash
    before the entire file is read. The solution is equally simple: to
    prefer stdio over mmap for files over 4GB in size. (This 4GB threshold
    is tunable via the --mmap-below flag as described in the manpage.)

    Issue 161 fixes a CSV-parse error (with error message "unwrapped
    double quote at line 0") when a CSV file starts with the UTF-8
    byte-order-mark ("BOM") sequence 0xef 0xbb 0xbf and the header line
    has double-quoted fields. (Release 5.2.0 introduced handling for
    UTF-8 BOMs, but missed the case of double-quoted header line.)

    Issue 162 fixes a corner case doing multi-emit of aggregate variables
    when the first variable name is a typo.

    The Miller JSON parser used to error with Unable to parse JSON data:
    Line 1 column 0: Unexpected 0x00 when seeking value on empty input,
    or input with trailing whitespace; this has been fixed.
jperkin pushed a commit that referenced this pull request Mar 25, 2020
Update ruby-puppet-resource_api to 1.8.12.

## [1.8.7](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.7) (2019-09-11)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.6...1.8.7)

**Fixed bugs:**

- \(FM-8092\) Fix caching scope of transport schemas [\#200](puppetlabs/puppet-resource_api#200) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- \(FM-8485\) - Addition of CODEOWNERS file [\#203](puppetlabs/puppet-resource_api#203) ([david22swan](https://github.com/david22swan))
- \(MODULES-9258\) Improve referencing and add summary [\#199](puppetlabs/puppet-resource_api#199) ([MaxMagill](https://github.com/MaxMagill))
- \(maint\) Pin both Jruby cells to use `dist: trusty` [\#197](puppetlabs/puppet-resource_api#197) ([da-ar](https://github.com/da-ar))

## [v1.8.6](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.6) (2019-07-01)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.5...v1.8.6)

**Implemented enhancements:**

- \(SERVER-2470\) list\_all\_transports implementation for puppetserver [\#187](puppetlabs/puppet-resource_api#187) ([DavidS](https://github.com/DavidS))

**Fixed bugs:**

- \(MODULES-9428\) make the composite namevar implementation usable [\#174](puppetlabs/puppet-resource_api#174) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- Merge 1.6.x [\#194](puppetlabs/puppet-resource_api#194) ([da-ar](https://github.com/da-ar))
- \(maint\) test fixes [\#193](puppetlabs/puppet-resource_api#193) ([DavidS](https://github.com/DavidS))
- \(packaging\) Revert to version '1.8.5' \[no-promote\] [\#192](puppetlabs/puppet-resource_api#192) ([gimmyxd](https://github.com/gimmyxd))
- \(packaging\) Bump to version '1.9.0' \[no-promote\] [\#191](puppetlabs/puppet-resource_api#191) ([gimmyxd](https://github.com/gimmyxd))

## [1.8.5](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.5) (2019-06-24)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.4...1.8.5)

**Fixed bugs:**

- \(maint\) Mergeup 1.6.x: FM-7839, desc/docs cleanup [\#186](puppetlabs/puppet-resource_api#186) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- \(maint\) reduce debug noise caused by `feature?` [\#189](puppetlabs/puppet-resource_api#189) ([da-ar](https://github.com/da-ar))
- \(FM-8265\) Merge branch '1.6.x' into master [\#188](puppetlabs/puppet-resource_api#188) ([da-ar](https://github.com/da-ar))
- \(maint\) test fixes [\#185](puppetlabs/puppet-resource_api#185) ([DavidS](https://github.com/DavidS))
- \(maint\) make test order really random [\#175](puppetlabs/puppet-resource_api#175) ([DavidS](https://github.com/DavidS))
- \(packaging\) Update reported version to 1.8.4 \[no-promote\] [\#171](puppetlabs/puppet-resource_api#171) ([gimmyxd](https://github.com/gimmyxd))

## [1.8.4](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.4) (2019-06-12)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.3...1.8.4)

**Implemented enhancements:**

- \(FM-7839\) Implement `to\_json` method for ResourceShim [\#168](puppetlabs/puppet-resource_api#168) ([da-ar](https://github.com/da-ar))

**Fixed bugs:**

- \(maint\) backport minor fixes from master to 1.6.x [\#184](puppetlabs/puppet-resource_api#184) ([DavidS](https://github.com/DavidS))
- \(PUP-9747\) Relax validation for bolt [\#182](puppetlabs/puppet-resource_api#182) ([DavidS](https://github.com/DavidS))
- \(maint\) Add to\_hash function to resourceShim for compatibility [\#180](puppetlabs/puppet-resource_api#180) ([da-ar](https://github.com/da-ar))
- \(maint\) implement `desc`/`docs` fallback [\#177](puppetlabs/puppet-resource_api#177) ([DavidS](https://github.com/DavidS))

**Closed issues:**

- ResourceShim should respond to to\_hash [\#179](puppetlabs/puppet-resource_api#179)

**Merged pull requests:**

- \(maint\) Merge 1.6.x to master  [\#183](puppetlabs/puppet-resource_api#183) ([mihaibuzgau](https://github.com/mihaibuzgau))
- \(maint\) Fixup Gemfile for JRuby 1.7 installs [\#173](puppetlabs/puppet-resource_api#173) ([da-ar](https://github.com/da-ar))
- \(maint\) test cleanups [\#172](puppetlabs/puppet-resource_api#172) ([DavidS](https://github.com/DavidS))

## [1.8.3](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.3) (2019-04-12)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.2...1.8.3)

**Fixed bugs:**

- \(FM-7867\) Always throw when transport schema validation fails [\#169](puppetlabs/puppet-resource_api#169) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(PA-2496\) Bump version and remove v from version number [\#170](puppetlabs/puppet-resource_api#170) ([mihaibuzgau](https://github.com/mihaibuzgau))

## [1.8.2](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.2) (2019-04-10)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.4...1.8.2)

**Merged pull requests:**

- \(packaging\) Update reported version to 1.8.2 \[no-promote\] [\#167](puppetlabs/puppet-resource_api#167) ([mihaibuzgau](https://github.com/mihaibuzgau))

## [v1.6.4](https://github.com/puppetlabs/puppet-resource_api/tree/v1.6.4) (2019-03-25)
[Full Changelog](puppetlabs/puppet-resource_api@v1.8.1...v1.6.4)

**Merged pull requests:**

- Add `implementations` to reserved bolt keywords [\#165](puppetlabs/puppet-resource_api#165) ([DavidS](https://github.com/DavidS))
- \(MAINT\) Bump version [\#164](puppetlabs/puppet-resource_api#164) ([sebastian-miclea](https://github.com/sebastian-miclea))
- Release prep for v1.8.1 [\#163](puppetlabs/puppet-resource_api#163) ([DavidS](https://github.com/DavidS))

# Changelog

All significant changes to this repo will be summarized in this file.


## [v1.8.1](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.1) (2019-03-13)
[Full Changelog](puppetlabs/puppet-resource_api@v1.8.0...v1.8.1)

**Fixed bugs:**

- \(maint\) Fixes sensitive transport values where absent keys are wrapped [\#161](puppetlabs/puppet-resource_api#161) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- 1.6.x mergeup [\#162](puppetlabs/puppet-resource_api#162) ([DavidS](https://github.com/DavidS))
- \(FM-7829\) Update README with transports examples [\#160](puppetlabs/puppet-resource_api#160) ([willmeek](https://github.com/willmeek))
- \(maint\) update release docs [\#159](puppetlabs/puppet-resource_api#159) ([DavidS](https://github.com/DavidS))
- Improve travis cells and testing [\#145](puppetlabs/puppet-resource_api#145) ([DavidS](https://github.com/DavidS))

## [v1.8.0](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.0) (2019-02-26)
[Full Changelog](puppetlabs/puppet-resource_api@v1.7.0...v1.8.0)

**Implemented enhancements:**

- \(FM-7695\) Transports - the remote content framework [\#157](puppetlabs/puppet-resource_api#157) ([DavidS](https://github.com/DavidS))
- \(FM-7698\) implement `sensitive:true` handling [\#156](puppetlabs/puppet-resource_api#156) ([da-ar](https://github.com/da-ar))
- \(PDK-1271\) Allow a transport to be wrapped and used like a device [\#155](puppetlabs/puppet-resource_api#155) ([da-ar](https://github.com/da-ar))
- \(FM-7701\) Support device providers when using Transport Wrapper [\#154](puppetlabs/puppet-resource_api#154) ([da-ar](https://github.com/da-ar))
- \(FM-7726\) implement `context.transport` to provide access [\#152](puppetlabs/puppet-resource_api#152) ([DavidS](https://github.com/DavidS))
- \(FM-7674\) Allow wrapping a Transport in a legacy Device [\#149](puppetlabs/puppet-resource_api#149) ([da-ar](https://github.com/da-ar))
- \(FM-7600\) Add Transport.connect method [\#148](puppetlabs/puppet-resource_api#148) ([da-ar](https://github.com/da-ar))

**Fixed bugs:**

- \(FM-7690\) Fix transports cache to be environment aware [\#151](puppetlabs/puppet-resource_api#151) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(FM-7726\) cleanups for the transport  [\#153](puppetlabs/puppet-resource_api#153) ([DavidS](https://github.com/DavidS))
- \(FM-7691,FM-7696\) refactoring definition handling in contexts [\#150](puppetlabs/puppet-resource_api#150) ([DavidS](https://github.com/DavidS))

## [v1.7.0](https://github.com/puppetlabs/puppet-resource_api/tree/v1.7.0) (2019-01-07)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.3...v1.7.0)

**Implemented enhancements:**

- \(maint\) Validate Type Schema [\#142](puppetlabs/puppet-resource_api#142) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(maint\) Bundler 2.0 dropped support for Ruby versions \< 2.2 [\#147](puppetlabs/puppet-resource_api#147) ([da-ar](https://github.com/da-ar))
-  \(FM-7597\) RSAPI Transport register function [\#146](puppetlabs/puppet-resource_api#146) ([da-ar](https://github.com/da-ar))
- \(packaging\) Update version to 1.7.0 [\#144](puppetlabs/puppet-resource_api#144) ([branan](https://github.com/branan))

## [v1.6.3](https://github.com/puppetlabs/puppet-resource_api/tree/v1.6.3) (2018-12-11)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.2...v1.6.3)

**Closed issues:**

- Trying to understand stubbing in the examples [\#136](puppetlabs/puppet-resource_api#136)

**Merged pull requests:**

- \(packaging\) Update version to 1.6.3 [\#143](puppetlabs/puppet-resource_api#143) ([branan](https://github.com/branan))
- Move parameter and property logic to separate classes [\#140](puppetlabs/puppet-resource_api#140) ([bpietraga](https://github.com/bpietraga))
- \(maint\) Predeclare Puppet module before ResourceApi [\#139](puppetlabs/puppet-resource_api#139) ([caseywilliams](https://github.com/caseywilliams))
- \(maint\) minor fix to make data\_type\_handling change work [\#138](puppetlabs/puppet-resource_api#138) ([DavidS](https://github.com/DavidS))
- \(maint\) extract data type handling code [\#137](puppetlabs/puppet-resource_api#137) ([bpietraga](https://github.com/bpietraga))
- Release prep for v1.6.2 [\#135](puppetlabs/puppet-resource_api#135) ([DavidS](https://github.com/DavidS))
jperkin pushed a commit that referenced this pull request Jun 14, 2020
Update ruby-faraday_middleware to 1.0.0.

pkgsrc change: add "USE_LANGUAGES=	# none".


1.0.0 (2020-03-29)
This is FaradayMiddleware 1.0 official release!

This release officially supports Faraday 1.0.
It contains all changes included in the 1.0.0.rc1 release, plus:

* Increase minimum rake version to 12.3.3 for security reasons

Special thanks to contributors who helped us push this over the line:
@BobbyMcWho, @onk and @d-m-u


1.0.0.rc1 (2020-02-28)

This is a prerelease. See #200 for details on the shipping plans for 1.0.0.

Changes

* Support Ruby 2.3+.
* Drop support for Faraday v0.7

Bugs fixed

* #198 Autoload an exception class correctly

Chores and misc

* Lint the codebase with RuboCop
* Closed the Wiki and turned it into Markdown files in docs/


0.14.0 (2020-01-10)

NOTE: This is the last minor release in the v0.x series, next release will
be 1.0 to match Faraday v1.0 release and from then on only fixes will be
applied to v0.14.x!

* Fix support for empty bodies having Content-Encoding Gzip (#192)
* RSpec: disable_monkey_patching (#191)
* Add ResponseMiddleware.define_parser unit test (#190)
* Use full URL (url.host + url.request_uri) as cache key (#195)


0.13.1 (2019-02-04)

* Clear Authorization header when redirecting cross-site (#183)
* Brotli is an optional dependency for Gzip (#186)


0.13.0 (2019-01-22)

* Adds support for Brotli decompression of responses (#134)
* Adds support for JSON 2 (#169)
* Hash request URIs before using them as a cache key (#181)
* Remove Addressable::URI query hack (#184)
jperkin pushed a commit that referenced this pull request Jul 8, 2020
v1.4.1

  • Use sudo when necessary to install in system-wide NSS stores (#192)
  • Add a -version flag (#191)
  • Speed up macOS execution by 4x for most users (#135)
  • Minor usability improvements (#182, #178, #188)


v1.4.0

macOS Catalina compatibility, URL and email SANs, and more

macOS 10.15 Catalina introduced certificate lifespan limits which block mkcert
certificates. As a temporary measure, mkcert certificates now have a fixed
notBefore date of June 1st, 2019. Once the ACME server is implemented,
certificate lifespan will be shortened to 3 months. (#174)

Certificates generated by previous versions of mkcert after July 1st, 2019 will
not work on macOS 10.15 Catalina, and will have to be regenerated. The root CA
is unaffected and there is no need to rerun mkcert -install.

URL (#166) and email (for S/MIME, #152) SANs are now supported.

Client certificates are now created with a -client filename suffix, and they
claim the serverAuth EKU as well as the clientAuth one.

The certificate subject now includes the full user name, like
filippo@Bistromath.local (Filippo Valsorda).

SLES, OpenSUSE (#162), Snapcraft (#116), and CentOS 7 (#120) are now supported.

Linux release binaries are now fully static, and will work regardless of the
system libc. (#169)

v1.3.0

New advanced options:

  • -ecdsa to generate ECDSA private keys
  • -client to generate client certificates
  • -csr to sign certificate signing requests
  • $TRUST_STORES to select what stores to install into

Also, in other news:

  • Add "Firefox Nightly.app" support on macOS
  • Set the CommonName when generating PKCS#12 files for IIS
jperkin pushed a commit that referenced this pull request Aug 13, 2020
Changes:
2.12.0
------
### Added
 - Added default priority variable `TODOTXT_PRIORITY_ON_ADD` ([#246])
 - Added `done` option as alias of `do` ([#169])
 - Added macOS 10.15.x support ([#300])
 - Highlighting of dates, metadata and item numbers ([#264])
 - Minimal config file / default filenames (todo.txt, done.txt, report.txt)
   ([#289])
 - Enable file completion for add-on actions via `_todo_file{1,2,3}_actions`
   ([#270])
 - Allow to customize what can be before / inside / after `+project` and
   `@context` ([#271])

### Changed
 - Read the task's name and uses as default ([#249])
 - Updated interpreter reference to use environment variable ([#160])
 - Allow setting of bash completion path ([#301])

### Fixes
 - Fixed no end-of-line bug. Supports todos with no end-of-line. ([#295])
jperkin pushed a commit that referenced this pull request Aug 19, 2020
- 2016.3.4: Version 2016.3.4 of pefile now runs under Python 2.7 and
  Python 3 in addition to addressing a few of the long standing issues.

- 2016.3.28: Minor fixes, merged some pending pull requests.

- 2017.5.26: Maintenance release.

- 2017.8.1: Merged PRs: #180, #183, #190, #200, #202 and fixed a bug
  handling bytearrays under certain conditions.

- 2017.9.3: Merged PRs: #188, #169, #166, #165, #154, #174, and #210.
  I've also improved handling of some corner cases of files with
  invalid exports and improved the is_driver check.

- 2017.11.5: Merged PR #212 and fixed a few miscellaneous crashed
  parsing malformed files.

- 2018.8.8: This release incorporates the merged PRs and issues fixed
  since the last release.

- 2019.4.14: This release incorporates the merged PRs and issues fixed
  since the last release.

- 2019.4.18: This release incorporates the merged PRs and issues fixed
  since the last release.  These should speed up parsing of files with
  many ordinals or exports.
jperkin pushed a commit that referenced this pull request Sep 9, 2020
4.23 2020-09-05 (rurban)
        - Fixup t/54_stringify change for JSON 2.09 (really use PR #169 madsen)

4.22 2020-09-04 (rurban)
        - Fix t/54_stringify needs JSON 2.09 for allow_unknown (PR #169 madsen)
        - Fix t/118_type.t for 5.6
        - Fix t/96_interop.t for missing JSON::XS (GH #83 ribasushi)
        - Possible fix for s390x with long double, untested (GH #83)

4.21 2020-08-13 (rurban)
        - Fix not enough HEK memory allocation for the new canonical tied hashes
          feature. (GH #168)
        - TODO broken JSON::PP::Boolean versions 2.9x - 4.0 with threads::shared in
          125_shared_boolean.t

4.20 2020-08-12 (rurban)
        - New feature: sort tied hashes with canonical. (GH #167)
        - Fix encode of threads::shared boolean (#166 Sam Bingner).
          This was broken with 4.00.
        - Fix some stringify overload cases via convert_blessed (GH #105)
        - Fix a compat case with JSON::XS, when convert_blessed is set, but
          allow_blessed not. (GH #105)
        - Improve blessed and stringify tests
        - Work on better inf/nan detection on AIX (#165 Peter Heuchert)
        - Fix documentation for booleans and their types (#162 by Karen Etheridge)

4.19 2020-02-06 (rurban)
        - Fix typed decode memory leak (#160 by Pali).

4.18 2019-12-13 (rurban)
        - Add new method ->type_all_string (#156 by Pali).
          When type_all_string is set then encode method produce stable deterministic
          string types in result JSON.
          This can be an alternative to Cpanel::JSON::XS::Type when having
          deterministic output is required but string JSON types are enough for any
          output.
        - Move SvGETMAGIC() from encode_av() and encode_hv() to encode_sv()
          (#156 by Pali)
        - Add Math::BigInt and Math::BigFloat as recommended dependences
          (#157 by Pali and Grinnz)

4.17 2019-11-04 (rurban)
        - Add Changes tests and fixups (see #155)

4.16 2019-11-04 (rurban)
        - Use Perl_strtod instead of self-made atof (via pow), to
          minimize differences from core string-to-float conversions.
          (#154). Fixes float representation regressions (in the 1e-6
          to 1e-16 range) since 5.22.

4.15 2019-10-21 (rurban)
        - Fix more tests for nvtype long double

4.14 2019-10-15 (rurban)
        - Fix tests for nvtype long double (#153)
        - Fix PREREQ's. E.g. CentOS 7 has not Test::More anymore. (#152 by Pali)

4.13 2019-10-14 (rurban)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT allow to encode numeric values
          above 2^64 in PV slot via Math::BigInt/Float (#145, #148, #149 by Pali)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT encoder allow to pass Math::BigInt
          and Math::BigFloat objects with allow_bignum. (#147 by Pali)
        - Fix encoding floating point values above 2^64 in PV slot to JSON_TYPE_INT
          (#148, #150 by Pali)
        - Do not allow serializing objects when convert_blessed is not enabled.
          (#146 by Pali)

4.12 2019-06-11 (rurban)
        - Make encoder independent on Math::BigInt version (#140 by Pali)
        - Rethrow error from eval_sv and eval_pv() (#138, #139 by Pali),
          e.g. when Math::BigInt/BigFloat fails.
        - Fix encoding Inf and NaN from PV and NV slots to JSON_TYPE_INT
          (#137 by Pali)
        - Fix memory corruption in sv_to_ivuv() function (#136 by Pali)
        - Add new method ->require_types (#135 by Pali)
        - Fix typed json encoder conversion from scalar's PV and NV slot to
          JSON_TYPE_INT (#133, #134 by Pali)
        - Fix inconsistency with warnings in typed json encoder (#131 by Pali)
        - Fix Perl 5.8.0 support (#130 by Pali)
        - Fixed minor pod typo (#129 by sheeit)
        - Document invalid recursive callbacks or overloads (#128)

4.11 2019-03-26 (rurban)
        - Fix unicode strings with BOM corrupt ->utf8 state (#125)
          The BOM encoding effects only its very own decode call,
          not its object.

4.10 2019-03-18 (rurban)
        - Fix incr_text refcounts (#123)
        - Add incr_rest testcase (#123)
        - Fix encode_stringify string-overload refcnt problem (#124)
          "Attempt to free unreferenced scalar" with convert_blessed and overload.

4.09 2019-02-15 (rurban)
        - Add seperate allow_dupkeys property, in relaxed (#122)
        - Fixed allow_dupkeys for the XS slow path
        - Silence 2 -Wunused-value warnings
        - Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali)
jperkin pushed a commit that referenced this pull request Oct 9, 2020
Vala 0.50.1
===========
 * Various improvements and bug fixes:
  - codegen:
    + Don't falsly use g_return_val_if_fail() for async creation method [#1077]
    + Don't pass CCodeFunctionCall to NULL-aware free macro
  - vala:
    + Improve parsing of with-statement and allow it as embedded statement
    + Prioritize the usage of an existing with-variable instance,
      Recognize previously inserted implicit access to with-variable [#1043]
  - parser: Allow to begin expression with statement keyword [#1073]
  - g-i: Fix a couple of C compiler warnings
  - libvaladoc: Fix a couple of C compiler warnings
  - testrunner: Pass --enable-checking to increase coverage, Filter external
    -0X flags to preserve current default -O0
  - build: Stop passing obsolete --use-header

 * Bindings:
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Don't skip LayoutManager.create_layout_child() [#1071]
  - gtk4: Update to 3.99.1+15b635d7
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.30.1

Vala 0.50.0
===========
 * Various improvements and bug fixes:
  - codegen: The actual struct size is required for calloc (POSIX) [#1068]

 * Bindings:
  - gstreamer: Update from 1.18.0+ git master
  - poppler-glib: Update to 20.09.0
  - vapi: Update GIR-based bindings

Vala 0.49.92
============
 * Various improvements and bug fixes:
  - Don't use locale dependent string functions on syntax strings [#1067]
  - girparser: Additionally fallback to "glib:type-name" to retrieve the cname
  - libvaladoc/girimporter:
    + Fallback to "name" for callback
    + Fallback to "glib:type-name" for class, interface and record
    + Improve parse_symbol_doc() and don't use parse_doc()
    + Skip "attribute" elements
  - libvaladoc/gtkdoc-importer:
    + Correctly retrieve "url" from "ulink" elements
    + Don't let parse_block_taglet() return null

 * Bindings:
  - gtk4: Update to 3.99.1
  - vapi: Update GIR-based bindings

Vala 0.49.91
============
 * Various improvements and bug fixes:
  - codegen: Don't append unreachable clean-up section of Block [#169] [#838]
  - codegen: Always include base_struct declaration if available [#464]
  - vala: Additionally break on ObjectCreationExpression in "tainted" check
  - vala: Add ObjectCreationExpression.to_string()
  - manual: Update from wiki.gnome.org

 * Bindings:
  - gio-unix-2.0,glib-2.0: Updates for 2.66
  - gtk4: Resolve a few conflicts of methods with virtual-methods

Vala 0.49.90
============
 * Regression and bug fixes:
  - Revert "girwriter: Use appropriate get_ccode_* functions" [#1059]
  - tests: Don't rely on undefined use-after-free behaviour of glibc
  - Add TraverseVisitor for traversing the tree with a callback
  - Force usage of temporary variables for "tainted" member accesses [#1061]
  - vala: Move transformation of unary increment/decrement to codegen
  - vala: Set parent_node for child nodes of lambda-expression [#1062]

 * Bindings:
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+e6e2d6b4
  - pango: Update from 1.46.0
  - webkit2gtk-4.0: Update to 2.29.91

Vala 0.49.2
===========
 * Highlights:
  - Support non-virtual signals with default handler [#1056]

 * Various improvements and bug fixes:
  - codegen: Include header for base-symbols when connecting vfuncs
  - vala:
    + Inherit CCode.returns_floating_reference attribute from base [#1053]
    + Mark tranformed member-access as qualified [#57]
    + Switch context if with-variable is not owned by with-statement [#1043]
  - girparser: Add support for string "feature_test_macro" metadata

 * Bindings:
  - gio-2.0: Include "gio/gsettingsbackend.h" for GLib.SettingsBackend
    members [#1054]
  - goocanvas-2.0: Fix some field ownerships and types [#1057]
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+358b698e
  - pango: Update from 1.45.4+
  - posix: Add missing "has_typedef" attribute for some delegates
  - posix: Declare WRDE_APPEND constant as public
  - vapi: Update GIR-based bindings

Vala 0.49.1
===========
 * Highlights:
  - Use defintions of public header in internal header if available
    and drop --use-header compiler option and enable it by default [#713]
  - gdbus: Use GDBusProxy API to set `g-interface-info` at initialization time
  - Check vfunc of abstract/virtual methods and property accessors for NULL
    before using it [#153]
  - Check coverage of switch on enum-type and issue warnings if needed [#777]
  - Map empty start/end index to 0/length for slice expressions [#238]
  - Add support for "with" statement (mark them experiemental) [#327]
  - Use inheritted scopes of base-types/prerequisites to resolve symbols [#54]

 * Various improvements and bug fixes:
  - codegen:
    + Add implicit parameter and instance checks in async method [#1005]
    + Make use of CCode.cname for label name of CatchClause
  - vala:
    + Move setting of target profile and standard packages into CodeContext
    + Remove some public API from expressions and statements
    + Add Expression.is_always_true/false() helpers
    + Add InvalidExpression as replacement for erroneous nodes instead
    + Don't loose invalid_syntax when copying array type for variables [#942]
  - girparser: Strip "Enum"-suffix only from enumeration
  - girwriter: Internal fields/vfuncs in type-symbols are public in C [#513]
  - libvaladoc: Remove unused Api.Class.get_finalize_function_name() API
  - testrunner: Add more -Werror=* flags

 * Bindings:
  - gio-unix-2.0: Fix "g_unix_mount_for" binding [#1052]
  - glib-2.0,gio-2.0,gobject-2.0: Updates for 2.66
  - glib-2.0: data of GLib.Bytes is allowed to be null
  - glib-2.0: Add more explicit type_id attributes for various symbols
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+d743e757
  - pango: Update from 1.45.2
  - vapi: Update GIR-based bindings
jperkin pushed a commit that referenced this pull request Nov 4, 2020
Based on work by Dan Cîrnaț in pkgsrc-wip.

Changes:

- Add default input source for fr_BE
- Add default keyboard layout for Indonesia
- Add utility function to start a transient systemd scope
- Allow /etc/alternatives in bubblewrap sandbox (#92, Simon McVittie)
- Avoid using g_type_class_add_private()
- Blacklist seccomp on riscv64 architecture as its not supported yet
- Change default Japanish input source to KCC
- Disable gvfs in thumbnailer sandboxes
- Display locale @modifiers properly (#50, Gunnar Hjalmarsson)
- Don't run locale tests at build time (#159, Simon McVittie)
- Fix a compile-time error on x32
- Fix a crash in xkb info handling (#785320)
- Fix a memory leak in the display handling code
- Fix a use-after-free in the thumbnailer
- Fix bubblewrap sandbox on s390x (!82, Simon McVittie)
- Fix crash in idle monitor
- Fix crashes in thumbnailers (#785963)
- Fix detection of builtin display on NVIDIA (Jeremy Soller)
- Fix memory leak
- Fix multiple bugs in sandboxed thumbnailer handling,
- Fix multiple bugs in thumbnailing
- Fix regressions from intltool removal
- Fix regressions introduced by g_autoptr usage
- Fix slow thumbnailer due to missing font cache (#90)
- Fix some thumbnailer sandboxing issues
- Fix time display issue with Japanese translation (Tianhao Chai)
- Fix uninitialized memory in the thumbnailer (#784915)
- Fix various wall clock regressions
- GnomeBGSlideShow filename property replaced with a file property (Marco Trevisan)
- Honor XKB_CONFIG_ROOT environment variable
- Improve error reporting in thumbnailers
- Miscellaneous improvements to the thumbnailer code
- Modernize autotools configuration a bit
- Port buildsystem to meson
- Remove some obsolete API's in thumbnailer
- Remove unused API not compatible with wayland
- Remove unused gnome_desktop_thumbnail_has_uri()
- Replace GdkColor methods with GdkRGBA methods
- Require gio-unix-2.0
- Several fixes for compilation warnings
- Support common_name in ISO 639 (#49, Gunnar Hjalmarsson)
- Thumbnailers are now sandboxed (#7744970, #785197)
- Translation updates
- Use GLib fixed-width types (#168, Christopher Chavez)
- Use LC_TIME for time format string translations
- gnome-bg: Handle exif orientations (#516177)
- gnome-languages: Use uselocale to avoid threadsafety issues (#105)
- gnome_bg_slide_show_get_current_slide: add NULL check (#169, Mike Gorse)
- idle-monitor fixes
- languages: Fix encoding issue when translating locale modifiers (#156)
- remove unused direct x11 dependency
- rr: add color transform functions
- systemd: Change naming scheme to conform to systemd convention
- systemd: Default to garbage collect failed scopes
- tests/wall*: Do not fail if some of the locales is missing
- thumbnail: Update documentation
- thumbnailer: Correctly cleanup stale thumbnailer directories
- thumbnailer: fix incomplete TIOCSTI filtering (#112)
- thumbnails: keep the orignal file name (#154)
- wall-clock: Immediately react to show-weekday changes
- wall-clock: Tweak the clock format
- wall-clock: respect new clock-show-weekday setting
- wallclock: am/pm is always available now (#780877)
- wallclock: don't update needlessly (#780861)
jperkin pushed a commit that referenced this pull request Jan 2, 2021
Changelog:
1.75.0
New Libraries

  * JSON: JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and
    Krystian Stasiowski.
      + Fast compilation requiring only C++11
      + Easy and safe modern API with allocator support
      + Compile without Boost, define BOOST_JSON_STANDALONE
      + Optional header-only, without linking to a library
  * LEAF: A lightweight error-handling library for C++11, from Emil Dotchevski.
      + Small single-header format, no dependencies.
      + Designed for maximum efficiency ("happy" path and "sad" path).
      + No dynamic memory allocations, even with heavy payloads.
      + O(1) transport of arbitrary error types (independent of call stack
        depth).
      + Can be used with or without exception handling.
  * PFR: Basic reflection without macro or boilerplate code for user defined
    types, from Antony Polukhin.

Updated Libraries

  * Asio:
      + Enabled support for UNIX domain sockets on Windows.
      + Added executor-converting construction and assignment to ip::
        basic_resolver.
      + Added compatibility between polymorphic executors and the (deprecated)
        handler invocation hook.
      + Added the experimental::as_single completion token adapter.
      + Added support for MSG_NOSIGNAL on more platforms by using
        _POSIX_VERSION to detect whether it is supported.
      + Added the ability to compile using libpthread on Windows.
      + Added workarounds for the Intel C++ compiler.
      + Added more support for detecting and optimising for handlers that have
        no custom executor.
      + Reduced lock contention for timer cancellation on Windows.
      + Reinstated a previously removed null-pointer check, as it had a
        measurable impact on performance.
      + Fixed the executor concept to test for a const-qualified execute().
      + Fixed any_executor support for builds without RTTI support.
      + Fixed the thread_pool unit test to work without RTTI support.
      + Fixed C++20 coroutines compatibility with clang on Windows.
      + Fixed some compatibility issues with Windows Runtime.
      + Fixed shadow name warnings caused by addition of asio::query.
      + Fixed a "logical ‘or’ of equal expressions" warning on linux.
      + Fixed a benign switch fallthrough warning.
      + Added missing push/pop_options.hpp includes.
      + Suppressed zero-as-null-pointer-constant warnings.
      + Fixed a comma-operator warning.
      + Updated the documentation to clarify when the select reactor is used on
        Windows.
      + Fixed potential ambiguity caused by any_executor comparisons and
        conversion.
      + Added detection of non-experimental C++20 coroutines on MSVC 19.8.
      + Fixed compatibility with uClibc.
      + Fixed strand<> adaptation of Networking TS executors when targeting
        older C++ versions or less conformant compilers.
      + Consult the Revision History for further details.
  * Atomic:
      + Implemented SSE2 and SSE4.1 versions of address lookup algorithm, which
        is used in the internal lock pool implementation. This may improve
        performance of waiting and notifying operations in heavily contended
        cases.
      + Fixed a possible compilation error on AArch64 targets caused by
        incorrect instructions generated for bitwise (logical) operations with
        immediate constants. (#41)
  * Beast:
      + This update brings bug fixes and support for the
        BOOST_ASIO_ENBALE_HANDLER_TRACKING compile flag from Boost.Asio:
      + 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.
  * Container:
      + New devector container.
      + Fixed bugs/issues:
          o #152 Tree-based containers have troubles with move-only types.
          o #156 Compile error with vector.
          o PR#157 Add missing include.
          o #159: pmr::monotonic_buffer_resource crashes on large single
            allocations.
          o #160: Usage of uses_allocator needs a remove_cvref_t.
          o #162: small_vector on MSVC x86 call-by-value crash.
          o #161: polymorphic_allocator(memory_resource*) non-standard
            extension causes headache.
          o PR#163: container_rebind for small_vector with options.
          o #165: Link error with shared library and memory_resource inline
            members.
          o PR#166: Fix encoding error in copyright headers.
          o PR#167: error: the address of 'msg' will always evaluate as 'true'
            warning with GCC 4.4.
          o #169: flood of warnings building dlmalloc_ext_2_8_6.c on clang11.
  * Endian:
      + endian_arithmetic no longer inherits from endian_buffer
      + When BOOST_ENDIAN_NO_CTORS is defined, the unaligned endian_buffer and
        endian_arithmetic are C++03 PODs, to enable use of __attribute__((
        packed))
  * Filesystem:
      + New: Added creation_time operation, which allows to obtain file
        creation time. (Inspired by PR#134)
      + The returned value of last_write_time(p, ec) operation in case of
        failure has been changed to a minimal value representable by std::
        time_t instead of -1.
      + The returned value of hard_link_count(p, ec) operation in case of
        failure has been changed to static_cast<uintmax_t>(-1) instead of 0.
      + On POSIX systems, file_size will now indicate error code errc::
        function_not_supported if the path resolves to a non-regular file.
        Previously, errc::operation_not_permitted was reported.
      + On Linux, many operations now use statx system call internally, when
        possible, which allows to reduce the amount of information queried from
        the filesystem and potentially improve performance. The statx system
        call was introduced in Linux kernel 4.11.
      + Removed const-qualification from return types of some path methods.
        This could prevent move construction and move assignment at the call
        site in some cases. (#160)
      + On OpenBSD 4.4 and newer, use statvfs system call to obtain filesystem
        space information. (Inspired by PR#162)
      + On Windows, space now returns with an error if the provided path does
        not idendify an existing file. (#167)
  * GIL:
      + BREAKING: In next release, we are going to drop support for GCC 5. We
        may also change the required minimum C++ version from C++11 to C++14.
  * Histogram:
      + This update brings
          o Bug-fixes for corner-cases
          o Small documentation improvements
          o Fixes for new warnings from latest compilers and when compiling
            against the C++20 standard
      + See the full Release Notes for a complete list of changes.
  * Interprocess:
      + Fixed bugs:
          o #127: static assertion failure with boost interprocess 1.74 and
            basic_managed_shared_memory.
  * Intrusive:
      + Fixed bugs:
          o PR#48: MSVC "assignment within conditional" warning fix.
          o PR#49: Fix empty control statement warnings.
          o #52: Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC.
  * Log:
      + Bug fixes:
          o Corrected the file counter that would be used in text_file_backend
            when generating the target file name (based on the pattern set by
            set_target_file_name_pattern method) when the log file is rotated.
            (#125)
          o Replaced a volatile version counter in basic_sink_frontend with an
            atomic. (#128)
          o In the asynchronous_sink frontend, resolved a possible conflict
            between flush and run methods, if run is called from a user's
            thread instead of the internal dedicated thread spawned by the
            frontend. (#131)
      + See changelog for more details.
  * Move:
      + Fixed bugs:
          o #30: (void) C-cast is a non-portable way of suppressing compiler
            warnings.
  * Mp11:
      + Added mp_pairwise_fold (suggested by Barry Revzin)
      + Removed mp_invoke (use mp_invoke_q)
  * Optional:
      + boost::none is constexpr-declared.
      + Fixed issue #78.
  * Outcome:
      + Announcements:
          o After a year and three major Boost releases announcing this
            upcoming change, this is the FINAL RELEASE of the v2.1 branch. From
            Boost 1.76 onwards, the v2.2 branch becomes the default. This
            branch has a number of major breaking changes to Outcome v2.1, see
            the documentation for details.
      + Enhancements:
          o The ADL discovered event hooks have been replaced with
            policy-specified event hooks instead. This is due to brittleness
            (where hooks would quietly self-disable if somebody changed
            something), compiler bugs (a difference in compiler settings causes
            the wrong hooks, or some but not all hooks, to get discovered), and
            end user difficulty in using them at all. The policy-specified
            event hooks can be told to default to ADL discovered hooks for
            backwards compatibility: set OUTCOME_ENABLE_LEGACY_SUPPORT_FOR to
            less than 220 to enable emulation.
          o Improve configuring OUTCOME_GCC6_CONCEPT_BOOL. Older GCCs had
            boolean based concepts syntax, whereas newer GCCs are standards
            conforming. However the precise logic of when to use legacy and
            conforming syntax was not well understood, which caused Outcome to
            fail to compile depending on what options you pass to GCC. The new
            logic always uses the legacy syntax if on GCC 8 or older, otherwise
            we use conforming syntax if and only if GCC is in C++ 20 mode or
            later. This hopefully will resolve the corner case build failures
            on GCC.
      + Bug fixes:
          o Boost.Outcome should now compile with BOOST_NO_EXCEPTIONS defined.
            Thanks to Emil, maintainer of Boost.Exception, making a change for
            me, Boost.Outcome should now compile with C++ exceptions globally
            disabled. You won't be able to use boost::exception_ptr as it can't
            be included if C++ exceptions are globally disabled.
          o #236 In the Coroutine support the final_suspend() was not noexcept,
            despite being required to be so in the C++ 20 standard. This has
            been fixed, but only if your compiler implements noop_coroutine.
            Additionally, if noop_coroutine is available, we use the much more
            efficient coroutine handle returning variant of await_suspend()
            which should significantly improve codegen and context switching
            performance.
  * Polygon:
      + C++20 fixes for event_comparison_type, vertex_equality_predicate_type,
        and voronoi_predicates. (Glen Fernandes)
  * Preprocessor:
      + When variadic data is empty in C++20 mode with __VA_OPT__ support the
        variadic size has been corrected to be 0. This also means that in this
        C++20 mode it is now valid to convert to and from empty arrays and
        lists and variadic data. The end-user can read the "C++20 Support For
        Variadic Macros" part of the "variadic macros" topic for more
        information about empty variadic data in the library.
      + The macro BOOST_PP_IS_STANDARD() has been added for identifying if the
        currently used preprocessor is a C++ standard conforming preprocessor.
        A number of preprocessors which generally work correctly with the
        library but need various internal workarounds, including the currently
        default VC++ preprocessor, are not considered C++ standard conforming
        preprocessors. However most preprocessors, including among others gcc,
        clang, and the new but currently non-default VC++ preprocessor in
        VS2019, are C++ standard conforming preprocessors.
      + For C++ standard conforming preprocessors a number of the limits
        defined in the config/limits.hpp can now be changed to higher amounts
        for a TU. The end-user should read the "limitations" topic to
        understand how and which limits can be changed.
      + For C++ standard conforming preprocessors, in order to allow the
        maximum number of FOR and WHILE iterations, the beginning 'r' and 'd'
        iteration numbers in the user-defined macros start at 1 and not 2, as
        it did in previous releases. This could be a breaking change if these
        iteration numbers are used in the user-defined macros ( they probably
        would not be ), but the change was necessary to fix some arcane bugs
        when dealing with numerical/logical operations with maximum numbers as
        well to allow the user-defined macros to be called the correct possible
        maximum number of times. For non-C++ conforming preprocessors, this
        change was not made because those non-conforming C++ preprocessors
        generally have limitations which disallow the maximum number of looping
        constructs to be run, and it was felt not to introduce a possible
        breaking change to those more fragile preprocessors would be better. It
        was also felt that besides fixing some arcane preprocessor bugs and
        providing the possible maximum number of user-defined macro
        invocations, this change could be made because it has never been
        documented what the starting 'r' and 'd' iteration numbers actually are
        but only that these numbers are incremented for each iteration.
      + The library has been upgraded to assume variadic macro support for any
        compiler working with the library. Ostensibly this means that the
        library is now a C++11 on up library, yet most of the major compilers,
        including gcc, clang, and VC++, also support variadic macros in C++98/
        C++03 mode as long as strict compliance to C++98/C++03 is not turned on
        when using one of those compilers.
  * Rational:
      + Fix Rational operators to not break under new C++20 operator==
        rewriting rules. (Glen Fernandes)
  * Signals2:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes)
  * System:
      + The platform-specific headers windows_error.hpp, linux_error.hpp, and
        cygwin_error.hpp emit deprecation messages and are slated for removal.
      + The old names for generic_category() and system_category() emit
        deprecation messages and are slated for removal.
      + error_condition::failed is deprecated and is slated for removal.
        operator bool() for error_condition has been reverted to its old
        meaning of value() != 0. This is done for compatibility with std::
        error_condition as the next release is expected to improve
        interoperability with <system_error> even further. Note that this does
        not affect error_code::failed, which is still alive and well.
      + The overload of error_condition::message that takes a buffer is
        deprecated and is slated for removal, for the same reasons. Note that
        this does not affect error_code::message.
  * uBLAS:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes and Conrad Poelman)
  * VMD:
      + The VMD number parsing has been upgraded to support the ability for the
        end-user to change the number limits in the Preprocessor library.
      + The macro BOOST_VMD_IS_GENERAL_IDENTIFIER has been added to support the
        parsing of input that represents a preprocessor token which matches the
        VMD identifier syntax, without having to register the identifier as a
        specific identifier.
  * Wave:
      + Added new C++20 tokens, including the spaceship operator <=>
      + Fixed bugs:
          o #94: fix incorrect behavior of __LINE__ and __FILE__ under
            rescanning

1.74.0
New Libraries

  * STLInterfaces: A library of CRTP bases to ease the writing of STL views,
    iterators, and sequence containers, from Zach Laine.

Updated Libraries

  * Asio:
      + Added an implementation of the proposed standard executors (P0443r13,
        P1348r0, and P1393r0).
      + Added support for the proposed standard executors to Asio's I/O
        facilities.
          o The supplied executors now meet the requirements for the proposed
            standard executors. These classes also continue to meet the
            existing requirements for the Networking TS model of executors.
          o All I/O objects, asynchronous operations, and utilities will
            interoperate with both new proposed standard executors, and with
            existing Networking TS executors.
          o The any_io_executor type alias has been introduced as the default
            runtime-polymorphic executor for all I/O objects. This defaults to
            the execution::any_executor<> template. If required for backward
            compatibility, BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT can be defined
            to use the old asio::executor polymorphic wrapper instead.
          o Support for the existing Networking TS model of executors can be
            disabled by defining BOOST_ASIO_NO_TS_EXECUTORS.
      + Added converting move construction and assignment to
        basic_waitable_timer.
      + Enabled C++20 coroutine support when using gcc 10.
      + Added overloads of co_spawn that launch an awaitable.
      + Added a new constructor overload to use_awaitable_t's default executor
        adapter, to enable conversion between executor types.
      + Added support for using detached_t as a default completion token, by
        adding members as_default_on() and as_default_on_t<>.
      + Added a move constructor to ssl::stream<>.
      + Changed ssl::stream<> write operations to linearise gather-write buffer
        sequences.
      + Added compile-time detection of the deprecated asio_handler_invoke,
        asio_handler_allocate, and asio_handler_deallocate hooks, when
        BOOST_ASIO_NO_DEPRECATED is defined.
      + Implemented a number of performance optimisations.
      + Added source location support to handler tracking.
      + Implemented various improvements to the handlerviz.pl tool.
      + Added the handlerlive.pl tool, which processes handler tracking output
        to produce a list of "live" handlers.
      + Added the handlertree.pl tool, which filters handler tracking output to
        include only those events in the tree that produced the nominated
        handlers.
      + Added changes for clang-based Embarcadero C++ compilers.
      + Fixed a deadlock that can occur when multiple threads concurrently
        initialise the Windows I/O completion port backend.
      + Fixed async_compose to work with copyable handlers when passed by
        lvalue.
      + Fixed completion signature deduction in co_spawn.
      + Removed a spurious Executor base class from the executor_binder
        implementation.
      + Various fixes and improvements in the documentation and examples.
      + Consult the Revision History for further details.
  * Atomic:
      + Added missing const qualifiers to some operations in atomic_ref.
      + Added support for yield instruction on ARMv8-A. The instruction is used
        internally in spin loops to reduce CPU power consumption.
      + Added support for C++20 waiting and notifying operations. The
        implementation includes generic backend that involves the internal lock
        pool, as well as specialized backends for Windows, Linux, FreeBSD,
        DragonFly BSD and NetBSD. Atomic types provide a new method
        has_native_wait_notify, a static boolean constant
        always_has_native_wait_notify and a set of capability macros that allow
        to detect if the implementation supports native waiting and notifying
        operations for a given type.
      + Changed internal representation of atomic_flag to use 32-bit storage.
        This allows for more efficient waiting and notifying operations on
        atomic_flag on some platforms.
      + Added support for build-time configuration of the internal lock pool
        size. The user can define the BOOST_ATOMIC_LOCK_POOL_SIZE_LOG2 macro to
        specify binary logarithm of the size of the lock pool. The default
        value is 8, meaning that the size of the lock pool is 256, up from 64
        used in the previous release.
      + Added support for a new set of atomic types dedicated for inter-process
        communication: ipc_atomic_flag, ipc_atomic and ipc_atomic_ref. Users
        are recommended to port their code using non-IPC types for
        inter-process communication to the new types. The new types provide the
        same set of operations as their non-IPC counterparts, with the
        following differences:
          o Most operations have an added precondition that is_lock_free
            returns true for the given atomic object. The library will issue a
            compile time error if this precondition is known to be not
            satisfied at compile time.
          o All provided operations are address-free, meaning that the atomic
            object (in case of ipc_atomic_ref - the referenced object) may be
            located in process-shared memory or mapped into the same process at
            multiple different addresses.
          o The new has_native_wait_notify operation and
            always_has_native_wait_notify constant indicate support for native
            inter-process waiting and notifying operations. When that support
            is not present, the operations are implemented with a busy loop,
            which is less efficient, but still is address-free. A separate set
            of capability macros is also provided to indicate this support.
      + Added new atomic_unsigned_lock_free and atomic_signed_lock_free types
        introduced in C++20. The types indicate the atomic object type for an
        unsigned or signed integer, respectively, that is lock-free and
        preferably has native support for waiting and notifying operations.
      + Added new gcc assembler backends for ARMv8-A (for both AArch32 and
        AArch64). The new backends are used to implement operations not
        supported by compiler intrinsics (including 128-bit operations on
        AArch64) and can also be used when compiler intrinsics are not
        available. Both little and big endian targets are supported. AArch64
        backend supports extensions defined in ARMv8.1 and ARMv8.3.
      + Added support for big endian targets in the legacy ARM backend based on
        gcc assembler blocks (this backend is used on ARMv7 and older targets).
        Previously, the backend assumed little endian memory layout, which is
        significant for 64-bit operations.
      + Improved performance of seq_cst stores and thread fences on x86 by
        using lock-prefixed instructions instead of mfence. This means that the
        operations no longer affect non-temporal stores, which was also not
        guaranteed before. Use specialized instructions and intrinsics to order
        non-temporal memory accesses.
      + Fixed capability macros for 80-bit long double on x86 targets not
        indicating lock-free operations even if 128-bit atomic operations were
        available.
      + Fixed compilation of gcc asm blocks on Alpha targets.
      + In the gcc __sync* intrinsics backend, fixed that store and load
        operations of large objects (larger than a pointer size) could be
        non-atomic. The implementation currently assumes that small objects can
        be stored with a single instruction atomically on all modern
        architectures.
  * Beast:
      + This update brings bug fixes and support for the following changes
        changes in Boost.Asio:
      + Beast supports BOOST_ASIO_NO_DEPRECATED. Define this to help identify
        areas of your Beast and Asio code which use deprecated Asio interfaces.
      + Beast also supports BOOST_ASIO_NO_TS_EXECUTORS. Define this to identify
        uses of executors from the now potentially outdated Networking TS
      + Asio will use the Standard Executors model by default. You can prevent
        this behaviour by defining BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT in
        which the Networking TS model will be used by default. Setting this
        flag does not prevent a program from using executors from the Standard
        Executors model explicitly.
      + 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.
  * Bimap:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Config:
      + Implement BOOST_NO_CXX11_OVERRIDE and BOOST_OVERRIDE. (Glen Fernandes)
  * Core:
      + Implemented the allocator access utilities which provide a replacement
        for allocator_traits with individual traits and functions for each
        facility. They support the C++11 allocator model when possible and
        provide a fallback for C++98 compatibility. These are now used in
        Circular_Buffer, Wave, Lockfree, Heap, Smart_Ptr, Dynamic_Bitset,
        Format, Bimap and more. (Glen Fernandes)
  * DLL:
      + Multiple fixes for the library_info work on empty shared objects.
      + Compilation fixes for C++98 and C++11 modes (#28).
      + Fixes for smart_library manglings (thanks to XiaLiChao82 #37).
  * Endian:
      + Enabled scoped enumeration types in endian_reverse.
      + Enabled bool, enum, float, double in endian_reverse_inplace.
      + Added an overload of endian_reverse_inplace for arrays.
  * Filesystem:
      + Removed compile-time checks for support for symlinks and hardlink on
        Windows. Instead, a runtime check is used. (PR#142)
      + Fixed handling of reparse points in canonical and read_symlink on
        Windows. This also affects other algorithms that involve canonical and
        read_symlink in their implementation. (PR#100, #85, #99, #123, #125)
      + Fixed that read_symlink on Windows could potentially fail or cause
        failures elsewhere with a sharing violation error, if the same symlink
        was opened concurrently. (#138)
      + Fixed that is_symlink(directory_entry) would always return false, even
        if the directory entry actually referred to a symlink. (PR#148)
      + Added missing status inspection operation overloads for directory_entry
        and error_code (e.g. is_directory(directory_entry, error_code&)).
        Removed incorrect noexcept specifications for the overloads not taking
        the error_code arguments.
      + copy_file implementation has been updated to perform checks on the
        source and target files, as required by C++20 ([fs.op.copy.file]/4.1).
        In particular, the operation will fail if the source or target file is
        not a regular file or the source and target paths identify the same
        file.
      + copy_file on POSIX systems will now also copy the source file
        permissions to the target file, if the target file is overwritten.
      + New: Added copy_file implementations based on sendfile and
        copy_file_range system calls on Linux, which may improve file copying
        performance, especially on network filesystems.
      + Deprecated: The copy_option enumeration that is used with the copy_file
        operation is deprecated. As a replacement, the new enum copy_options
        (note the trailing 's') has been added. The new enum contains values
        similar to the copy_options enum from C++20. The old enum values are
        mapped onto the new enum. The old enum will be removed in a future
        release.
      + New: Added copy_options::skip_existing option, which allows copy_file
        operation to succeed without overwriting the target file, if it exists.
      + New: Added copy_options::update_existing option, which allows copy_file
        operation to conditionally overwrite the target file, if it exists, if
        its last write time is older than that of the replacement file.
      + New: copy_file now returns bool, which indicates whether the file was
        copied.
      + New, breaking change: copy operation has been extended and reworked to
        implement behavior specified in C++20 [fs.op.copy]. This includes
        support for copy_options::recursive, copy_options::copy_symlinks,
        copy_options::skip_symlinks, copy_options::directories_only,
        copy_options::create_symlinks and copy_options::create_hard_links
        options. The operation performs additional checks based on the
        specified options. Applying copy to a directory with default
        copy_options will now also copy files residing in that directory (but
        not nested directories or files in those directories).
      + New: Added create_directory overload taking two paths. The second path
        is a path to an existing directory, which is used as a source of
        permission attributes to use in the directory to create.
      + Deprecated: copy_directory operation has been deprecated in favor of
        the new create_directory overload. Note that the two operations have
        reversed order of the path arguments.
      + equivalent on POSIX systems now returns the actual error code from the
        OS if one of the paths does not resolve to a file. Previously the
        function would return an error code of 1. (#141)
      + equivalent no longer considers file size and last modification time in
        order to test whether the two paths refer to the same file. These
        checks could result in a false negative if the file was modified during
        the equivalent call.
      + New: Added absolute overloads taking error_code argument.
      + Operations that have current_path() as the default value of their
        arguments and also have an error_code argument will use the
        current_path(error_code& ec) overload to obtain the current path, so
        that its failure is reported via the error_code argument instead of an
        exception.
      + space now initializes the space_info structure members to -1 values on
        error, as required by C++20 ([fs.op.space]/1).
      + space on Windows now accepts paths referring to arbitrary files, not
        only directories. This is similar to POSIX systems and corresponds to
        the operation description in C++20. (#73)
      + New: Added implementation of temp_directory_path for Windows CE. (PR#25
        )
      + New: Improved compatibility with WASI platform. (PR#144)
      + New: Improved support for Embarcadero compilers. (PR#130)
      + New: Added implementations of unique_path operation based on getrandom
        (Linux), arc4random_buf (OpenBSD/FreeBSD/CloudABI) and BCrypt (Windows)
        system APIs.
      + Deprecated: Auto-linking against system libraries on Windows with
        MSVC-compatible compilers is deprecated and will be removed in a future
        release. This affects users linking against static library of
        Boost.Filesystem. Users are advised to update their project build
        systems to either use a shared library of Boost.Filesystem, or
        explicitly specify the dependencies of Boost.Filesystem in the linker
        command line. Users of shared library of Boost.Filesystem are not
        affected.
  * Flyweight:
      + Maintenance work.
  * Format:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Geometry:
      + Improvements
          o PR#720 Additional R-tree constructors (thanks to Caian Benedicto).
          o Various improvements in buffer, set and relational operations.
      + Solved issues
          o #709 memcpy called for object with no trivial copy-assignment.
          o #721 Compilation error in bgi::detail::rtree::visitors::insert.
          o #727 MSVC warning: conditional expression is constant.
      + Bugfixes
          o PR#700 Missing cases for default strategies in distance algorithm.
          o PR#738 Longitudes out of range in direct geodesic formulas.
  * GIL:
      + Added
          o Added new constructor initializing any_image from r-value reference
            to any image (PR#486).
          o Implemented mechanism to reverse kernel_2d (PR#489).
      + Changed
          o BREAKING: Replace Boost.Variant with Boost.Variant2 (PR#474) which
            completes removal on uses of Boost.MPL (missing from Boost 1.72.0
            change added PR#274).
          o Use perfect forwarding from apply_operation to visit (PR#491).
      + Removed
          o BREAKING: Removed dependency on Boost.Variant
      + Fixed
          o Fixed invalid conversion from RGB8 to CMYK32 due to overflow (PR#
            470).
          o Fixed image constructor from other image (PR#477).
          o Fixed error plane_view_t is not a class or namespace name (PR#481).
          o Fixed interleaved_view factory using point<std::ptrdiff_t> for
            dimension (PR#487).
          o Fixed documentation replacing uses MPL with MP11 in tutorial (PR#
            494).
          o Fixed missing header in numeric/kernel.hpp to make it
            self-contained (PR#502).
      + Acknowledgements
          o Samuel Debionne, Pranam Lashkari, Mateusz Loskot, Debabrata Mandal
  * Heap:
      + Correct destruction of top node in skew_heap. (Glen Fernandes)
      + Correct and simplify allocator use. (Glen Fernandes)
  * Integer:
      + Fixed compilation of gcd in C++20 mode with clang 10.
      + Improved support for Embarcadero compilers. (PR#21)
  * Iterator:
      + boost/function_output_iterator.hpp header is now deprecated. Users
        should replace its inclusion with boost/iterator/
        function_output_iterator.hpp. (PR#51)
      + Improved support for Embarcadero compilers. (PR#55)
  * LexicalCast:
      + Fixed warnings on missing override (thanks to EugeneZelenko #35, #34).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener).
  * Log:
      + Bug fixes:
          o The syslog sink backend now verifies the IP version of the local
            and target addresses set by user. The addresses must have the same
            IP version as was specified in the ip_version named parameter on
            the sink backend construction (by default, IPv4 is assumed). When
            an address is obtained as a result of host name resolution, only
            addresses with matching IP version are considered. (#119)
      + New Features:
          o Move constructors and assignment operators of various components
            were marked noexcept.
          o Added a new range_manip stream manipulator that can be used for
            outputting elements of a range, optionally separated by a
            delimiter.
          o Added a new tuple_manip stream manipulator that can be used for
            outputting elements of a tuple or any other heterogeneous sequence,
            optionally separated by a delimiter.
          o Added a new optional_manip stream manipulator that can be used for
            outputting optionally present values.
      + See changelog for more details.
  * Mp11:
      + Improved compilation performance of mp_with_index<N> for large N.
      + Added tuple_transform (contributed by Hans Dembinski.)
  * Multi-index Containers:
      + Added node extraction and insertion following the analogous interface
        of associative containers as introduced in C++17. This feature has also
        been extended to non key-based indices, in contrast to C++ standard
        library sequence containers, which do not provide such functionality.
      + Clarified documentation on read/write key extractors (issue #32).
      + Maintenance work.
  * Nowide:
      + The library now requires a C++11-compliant compiler and stdlib
      + LFS: Add support for files > 2 GB where the underlying system supports
        it
      + Generic UTF conversion functions are now available in the boost::nowide
        ::utf namespace
      + Add support for stat with UTF-8 paths
  * Outcome:
      + Announcements:
          o The v2.1 branch is expected to be retired end of 2020, with the
            v2.2 branch becoming the default. You can use the future v2.2
            branch now using better_optimisation. This branch has a number of
            major breaking changes to Outcome v2.1, see the front page for
            details.
      + Enhancements:
          o BREAKING CHANGE void results and outcomes no longer default
            construct types during explicit construction. Previously if you
            explicitly constructed a result<T> from a non-errored result<void>,
            it default constructed T. This was found to cause unhelpful
            surprise, so it has been disabled.
          o New macro OUTCOME_ENABLE_LEGACY_SUPPORT_FOR. The macro
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR can be used to enable aliasing of
            older naming and features to newer naming and features when using a
            newer version of Outcome.
          o Concepts now have snake case style naming instead of camel case
            style. When Outcome was first implemented, it was thought that C++
            20 concepts were going to have camel case style. This was changed
            before the C++ 20 release, and Outcome's concepts have been renamed
            similarly. This won't break any code in Outcome v2.1, as
            compatibility aliases are provided. However code compiled against
            Outcome v2.2 will need to be upgraded, unless
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR is set to 210 or lower.
          o Concepts now live in OUTCOME_V2_NAMESPACE::concepts namespace.
            Previously concepts lived in the convert namespace, now they live
            in their own namespace.
          o New concepts basic_result<T> and basic_outcome<T> added. End users
            were finding an unhelpful gap in between is_basic_result<T> and
            value_or_error<T> where they wanted a concept that matched types
            which were basic_result, but not exactly one of those. Concepts
            filling that gap were added.
          o Operation TRY works differently from Outcome v2.2 onwards. This is
            a severely code breaking change which change the syntax of how one
            uses OUTCOME_TRY(). A regular expression suitable for upgrading
            code can be found in the list of changes between Outcome v2.1 and
            v2.2.
      + Bug fixes:
          o #224 The clang Apple ships in Xcode 11.4 (currently the latest) has
            not been patched with the fixes to LLVM clang that fix noexcept(std
            ::is_constructible<T, void>) failing to compile which I originally
            submitted years ago. So give up waiting on Apple to fix their
            clang, add a workaround to Outcome.
          o Spare storage could not be used from within no-value policy
            classes. Due to an obvious brain fart when writing the code at the
            time, the spare storage APIs had the wrong prototype which
            prevented them working from within policy classes. Sorry.
  * PolyCollection:
      + Fixed internal ambiguity problem between boost::type_erasure::any and
        boost::any (issue #17).
      + Maintenance work.
  * SmartPtr:
      + Added owner_equals to shared_ptr, weak_ptr, local_shared_ptr.
      + Added owner_hash_value to shared_ptr, weak_ptr.
      + Added owner_equal_to, owner_hash.
      + Added std::hash specializations for shared_ptr, local_shared_ptr.
      + Added boost::hash support to, and std::hash, std::equal_to
        specializations for, weak_ptr.
  * Stacktrace:
      + Fixed a build error when compiled with -fno-exceptions (thanks to
        Jeremiah Rodriguez #91).
  * System:
      + operator bool() now returns failed() instead of value() != 0.
  * Type_Traits:
      + Implemented conjunction, disjunction, negation, is_trivially_copyable,
        is_scoped_enum, and is_unscoped_enum. (Glen Fernandes)
  * Variant:
      + Fixed warnings on missing override (thanks to EugeneZelenko #78).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener #79).
      + Updated header locations to avoid warnings about using deprecated
        headers (thanks to Andrey Semashev #80)
  * Variant2:
      + Added support for derived types in visit.
      + Improved compilation performance for many (hundreds of) alternatives.
      + Added support for visit<R>.
  * Wave:
      + Implement C++20 features for variadics, including __VA_OPT__ (PR#75)
      + Implement __has_include (PR#102)
      + Introduce new sample: check_macro_naming, useful with Boost itself (PR#
        97)
      + Fix compilation issue caused by std::allocator member removal in C++20
        (PR#72)
      + Repair Xpressive lexer and token_statistics sample (PR#79)
      + Repair lexertl lexer (PR#78)
      + Ensure hooks are run on predefined macros as well (PR#87)
      + Various minor bug fixes
      + C++98/03 support is now deprecated and will be removed in 1.77
  * YAP:
      + Fixed compilation errors for placeholders; they now work in the general
        case, and in particular work with yap::print().
      + constexpr all the YAP.
      + Fix printing of correct value category in yap::print().
      + Doc clarification.

Updated Tools

  * Boostbook:
      + Change encoding of generated documentation from US-ASCII to UTF-8.
        (Glen Fernandes)
jperkin pushed a commit that referenced this pull request Feb 23, 2021
Changelog:
What's New in libchewing 0.5.1 (May 18, 2016)
---------------------------------------------------------
* Bug fixed:
  - Fix wrong CHEWING_DATADIR definition in CMake build #222.
  - Fix j, k selection when symbol in between #149 #221.


What's New in libchewing 0.5.0 (May 2, 2016)
---------------------------------------------------------
* New feature
  - Add Carpalx keyboard layout support #217.

* Dictionary
  - Update dictionary #151 #155 #188 #191 #201.
  - Add debug tool: dump_database.
  - Sort tsi.src #212.

* Misc
  - Tweak several comments.
  - Fix libchewing document.
  - Remove old/dead code.
  - Improve code readability and consistency.
  - Update automake syntax #114.
  - Add test cases #169 #177.
  - Update Python sample code.
  - Add debug tool dump_database.
  - Integrate coverity scan in https://scan.coverity.com/.

* Platform-specific
  - Update README for OS X.
  - Set WITH_INTERNAL_SQLITE3 to true by default in MS-Windows.
  - Fix Visual Studio compiling warnings/errors #168 #171 #189 #190 #213.
  - Add a cmake option BUILD_DLL to enable building *.dll with MS VC++ #185.
  - Make the python binding of libchewing support Windows dll files #186.
  - Don't use SIGSTOP in MS-Windows.

* Bug fixed
  - Check if ld supports --no-defined #144.
  - Fix unexpected candidate disorder for '1' #153
  - Replace bash-izm '==' operator with '=' for test(1) # 158.
  - Fix several Coverity errors #172 #173.
  - Fix ChewingKillChar which is disabling OpenSymbolChoice #160 #181.
  - ㄅ cannot overwrite ㄆ in HSU and ET26 #170 #183.

* Successful stories:
  - Rime Input Method Engine (RIME) takes partial dictionary from
    libchewing.
  - PIME (writing input methods for Windows easily with Python) supports
    Chewing IM by default.
jperkin pushed a commit that referenced this pull request Apr 26, 2021
texmath (0.12.2)
  * MathML input: support mmultiscripts element (#158, #100).
  * Make MathML tag/attr recognition case-insensitive (#158).
  * Pandoc writer: better handling of styling such as `\mathrm` (#145).
    Previously identifiers were always italic, no matter what
    styling was applied.
  * Ignore `\tag` in TeX input (#162).
  * TeX writer: avoid unneeded `\left` and `\right` for delimited.
    We don't need `\left` and `\right` when the contents are
    "standard height."
  * TeX reader: parse implicit EDelimited sections (#172).
    We now parse `(x)` as EDelimited, even though `\right` and `\left`
    are not used.

texmath (0.12.1.1)
  * Fix compilation with GHC-9.0.1 (#169, Simon Jakobi).
    Background:
    https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#simplified-subsumption
  * Add eqn to online demo.
  * Improve error messages for unknown control sequences, and restructure
    tex parser to be more efficient (#167).

texmath (0.12.1)
  * OMML writer: explicitly mark symbols as non-italic (#109).
    Otherwise, for some reason, they appear as italic by default.
  * Improve error messages in reading tex arrays.
  * Improve support for `\bmod`, `\mod`, etc. (#165).
    Allow them to take complex arguments like `\left( 1 \right)`.
  * Improve support for `\genfrac` (#164).
  * Ignore `\textstyle`, `\scriptstyle`, `\scriptscriptstyle`,
    as we currently ignore `\displaystyle`.
  * Parse siunitx commands in reading tex (#157).
  * Improve handling of `\not` in reading tex (#161).
    Previously we only handled `\not` in front of certain symbols.
  * Support `\pod` and `\pmod` and clean up spacing and font for
    `\mod` and `\bmod` (#160).

texmath (0.12.0.3)
  * Allow pandoc-types 1.22.

texmath (0.12.0.2)
  * Allow pandoc-types 1.21.
  * Pandoc output: omit empty Emph for sub/superscript without base (#155).
  * tex writer: Use `\overline{\overline{B}}` instead of unicode
    double line accent (#153).

texmath (0.12.0.1)
  * OMML writer: Fix overline and accent rendering (#152).
  * OMML reader: Fix dropped arrows (#153). Add tests.
jperkin pushed a commit that referenced this pull request Jun 15, 2021
# forcats 0.5.1

* Re-license as MIT (#277).

* `fct_lump_n()` no longer uses a partial argument name (@malcolmbarrett, #276).

# forcats 0.5.0

* `as_factor()` gains a logical method that always returns a factor with
  levels "FALSE" and "TRUE" (#185).

* `fct_c()`, `fct_collapse()` and `fct_recode()` are now explicitly
  documented as using [dynamic dots](https://rlang.r-lib.org/reference/dyn-dots.html)
  (@labouz, #234).

* `fct_collapse()` now accepts a `other_level` argument, to allow a
   user-specified `Other` level (@gtm19, #194). It now correctly collapses
   factors when `other_level` is not `NULL` (#172), and makes `"Other"` the
   last level (#202) (@gtm19, #172 & #202)

* `fct_count()` no longer converts implicit NAs into explicit NAs (#151).

* `fct_inseq()` behaves more robustly when factor levels aren't all numbers
  (#221).

* `fct_lump()` has been split up into three new functions: `fct_lump_prop()`,
  `fct_lump_n()`, and `fct_lump_lowfreq()`. (@jonocarroll, #167, #142).
  All `fct_lump_()` functions check their inputs more carefully
  (@robinson_es, #169)

* `fct_reorder2()` gains a helper function `first2()`, that sorts `.y` by the
  first value of `.x` (@jtr13).
jperkin pushed a commit that referenced this pull request Apr 24, 2022
# withr 2.4.3

* Lionel Henry is the new maintainer.

* Handlers registered with the global environment (as happens when `local_()`
  is run at the top-level, outside a function) are now automatically run
  when the R session ends (#173).

* New `with_language()` and `local_language()` to temporarily control the
  language used for translations (#180).

* `with_seed()` now caches the check for R version, so is now faster (#170)

* `with_makevars()` and `local_makevars()` now eagerly evaluate the `path` argument (#169)
jperkin pushed a commit that referenced this pull request May 1, 2022
# cpp11 0.4.2

* Romain François is now the maintainer.

# cpp11 0.4.1

* Fix crash related to unwind protect optimization (#244)

# cpp11 0.4.0

## New Features

* New  opt-in  message  formatting  with the  {fmt}  C++  library  for
  `cpp11::messages()` `cpp11::stop()` and `cpp11::warning()`.  Set the
  `CPP11_USE_FMT`    macro   to    use    this    feature   in    your
  package. (@sbearrows, #169, #208)

* New `as_double()` and `as_integer()` methods to coerce integers to
  doubles and doubles to integers to doubles (@sbearrows, #46)

* `cpp11::matrix` iterators can now be used either row-wise or
  column-wise (the default) depending on the user's choice (@alyst,
  #229)

## Improvements and fixes

* Read-only matrix accessors are now marked const (#234)

* `writable::r_vector` default constructors now return a 0 length
  vector when converted to `SEXP` (#166)

* Read-only `r_vector` constructors now disallow implicit construction
  with named arguments (#237)

* Read-only `r_vector.attr()` methods now return const objects, so it
  is a compile time error to try to assign to them (#237)

* Fixed `+` and `+=` operators of `r_vector::[const_]iterator` to
  conform the *iterators* concept: `+=` updates the iterator, and `+`
  returns the updated copy, while keeping the original unchanged
  (@alyst, #231)

* Remove undefined behavior when constructing global `cpp11::sexp`s (#224)

* Removed redundant `.Call calls` in cpp11.cpp file (@sbearrows, #170)

* Error messages now output original file name rather than the
  temporary file name (@sbearrows, #194)

* `cpp_register()` now includes `attribute_visible` in the init
  function, so packages compiled with `C_VISIBILITY` will find the
  init function.

* Fixed bug when running `cpp_source()` on the same file more than
  once (@sbearrows, #202)

* Allow cpp11 decorators of the form `cpp11::linking_to` (@sbearrows,
  #193)

* Removed internal instances of `cpp11::stop()` and replaced with C++
  exceptions (@sbearrows, #203)

* Names of named lists are now resized along with the list elements
  (@sbearrows, #206)
jperkin pushed a commit that referenced this pull request May 13, 2022
The QDirStat project proudly presents its latest release: QDirStat
1.8.

This is a stable release. It brings a some new features and bug
fixes:

    New view: File Age Statistics

    Navigation history like in a web browser (Back, Forward)

    Bug fixes

    Some small improvements

Details

New view: File Age Statistics

This shows the number of files per year and/or per month that were
last modified in that year or month, together with the total size
of those files and a percent bar for both (number and total size).

This view is extensively documented in the File Age Statistics
Document.

Navigation History

This implements a navigation history for directories like in a web
browser:

    New buttons Back / Forward in the tool bar

    Standard keyboard shortcuts [Alt] [Cursor Left] / [Alt] [Cursor
    Right] like in all common web browsers

    Support for Back / Forward mouse buttons if the mouse has them

    History menu on those buttons (long press on the buttons) for
    the last 16 directories

Bug Fixes

    Fixed GitHub issue #169:  Shorten path components in the
    breadcrumb widget for insanely long paths.

    Now closing a left-over Permissions error panel when refreshing
    from disk: After the re-read, the permissions error may no
    longer be there.

Other Improvements

    In the Mounted Filesystems window, don't show inactive mounts
    managed by the automounter anymore.

    In the Open Directory window, automatically open the first
    directory level if a path was clicked in the Places list on
    the left, and scroll the tree on the right so that path is at
    the top.

    Added a little margin to the left in the main window's tree
    view for the Size column so it looks now less cramped.

    Internal restructuring and refactoring to keep the code
    maintainable.
jperkin pushed a commit that referenced this pull request Jul 24, 2022
2.72.1 - June 29, 2022
======================

 - Discard empty proxy environment variables (#189)

2.72.0 - March 22, 2022
=======================

 - Fix proxy tests (#186)
 - GnuTLS: use IANA-style ciphersuite names with GnuTLS 3.7.4 (!202)
 - Windows build fixes (!206, !207, Chun-wei Fan)
 - meson devenv (!208, Xavier Claessens)
 - Updated translations

2.72.beta - February 11, 2022
=============================

 - Add environment variable proxy resolver (#162)
 - OpenSSL: fix uninitialized memory use (!201, Daniel Kolesa)

2.72.alpha - January 6, 2022
============================

 - OpenSSL: fix unsafe error handling (!187, Patrick Griffis)
 - Correctly load libsoup DLL on Windows (!190, Chun-wei Fan)
 - OpenSSL: use system trust on Windows (!192, Francesco Conti)
 - GnuTLS: fix TLS 1.3 ciphersuite names, should use underscores (!194)
 - OpenSSL: fail when appropriate if Must-Staple extension is set (!197)
 - Improve failure of tls-unique channel binding requests (!198, Ruslan Marchenko)
 - Do not fill SNI extension with IP address (!200, Matteo Biggio)

2.70.1 - December 6, 2021
=========================

 - Fix crashes when handshake is cancelled (#97, #176)
 - OpenSSL: fix spurious certificate expired verification errors (#179)
 - GnuTLS: Fix tests on 32-bit systems (!188, Simon McVittie)
 - GnuTLS: Fix crash when invalid priority string is forced (!189)

2.70.0 - September 16, 2021
===========================

 - Updated translations

2.70.rc - September 3, 2021
===========================

 - gnutls: revert AuthorityInformationAccess implementation for now (#160)
 - gnutls: fix use of non-default GTlsDatabases, Geary crash on startup (#169)
 - openssl: remove openssl-util (!181)
 - gnutls: fix leak in g_tls_certificate_gnutls_copy (!182, Patrick Griffis)
 - gnutls: Unbreak GTLS_GNUTLS_CHECK_VERSION (!185)

2.70.beta - August 12, 2021
===========================

 - gnutls: Ensure that PKCS #11 pins are NUL terminated (!178, Patrick Griffis)
 - openssl: Restore OCSP support (!179, !180, Patrick Griffis)

2.70.alpha - July 2, 2021
=========================

- Fix TLS channel bindings tests (#164)
- Require OpenSSL 1.0.2 (#166)
- Fix threadsafety issue in certificate verification (!148)
- dlopen libsoup for performing HTTP requests (!149, Patrick Griffis)
- Implement new get_negotiated_protocol vfunc (!150)
- Implement new protocol version and ciphersuite name accessors (!151)
- OpenSSL: use system keychain on macOS (!154)
- OpenSSL: add DTLS support, plus many related improvements (!155, Ole André Vadla Ravnås)
- Implement new GTlsCertificate details APIs (!156, !165, Ross Wollman)
- GnuTLS: improve error handling for PIN failures (!158, Patrick Griffis)
- GnuTLS: expose PIN type on PIN requests (!159, Patrick Griffis)
- GnuTLS: check cancellable in pull timeout callback (!160)
- Add support for Android (!162, Ole André Vadla Ravnås)
- Improve automation of test certificate creation (!167, !168, !169, Patrick Griffis)
- GnuTLS: use GnuTLS to implement all channel bindings (!172)
- GnuTLS: rework certificate verification to use TLS session (!173)
- GnuTLS: improve peer identity verification (!176)
- Bring back automatic downloading of missing intermediate certificates (not fixed, may go away again)

2.68.1 - April 22, 2021
=======================

 - Fix threadsafety issue in certificate verification (!148)
 - Temporarily remove support for downloading missing intermediate certificates with GnuTLS 3.7 (#160)

2.68.0 - March 19, 2021
=======================

 - Fix double free in GnuTLS client certificate request code (!147)

2.68.rc - March 12, 2021
========================

 - Improve heuristic for returning G_TLS_ERROR_CERTIFICATE_REQUIRED
 - Fix check for certain handshake failure conditions

2.68.alpha - January 7, 2021
============================

 - Download and validate missing intermediate certificates (requires GnuTLS 3.7) (#96)
 - OpenSSL backend now uses system crypto policy (#106)
 - Remove use of g_assert in testsuite (#137)
 - Restore support for old versions of OpenSSL (#156)
 - Implement TLS channel bindings API (!139, Ruslan Marchenko)
 - Implement PKCS#11 API (!140, Patrick Griffis)
 - Update testsuite for Fedora 33 crypto policy (!141)
 - Fix NULL dereference in g_tls_connection_base_read_message (!144, Vladimir D. Seleznev)
 - Fix a couple code issues found by Coverity

2.66.0 - September 11, 2020
===========================

- Updated translations

2.65.90 - August 6, 2020
========================

 - Many fixes to OpenSSL backend (!128, Ruslan Marchenko)

2.65.1 - July 2, 2020
=====================

 - Fix peer-certificate[-errors] props set too soon (#127)
 - Implement ALPN for OpenSSL backend (!126, Ruslan Marchenko)
 - Fix Windows build (!127, Cun-wei Fan)
jperkin pushed a commit that referenced this pull request Dec 18, 2022
# tidyselect 1.2.0

## New features

* New `tidyselect_data_proxy()` and `tidyselect_data_has_predicates()`
  allows tidyselect to work with custom input types (#242).

* New `eval_relocate()` for moving a selection. This powers `dplyr::relocate()`
  (#232).

## Lifecycle changes

* Using `all_of()` outside of a tidyselect context is now deprecated (#269).
  In the future it will error to be consistent with `any_of()`.

* Use of `.data` in tidyselect expressions is now deprecated to more cleanly
  separate tidy-select from data-masking. Replace `.data$x` with `"x"` and
  `.data[[var]]` with `any_of(var)` or `all_of(var)` (#169).

* Use of bare predicates (not wrapped in `where()`) and indirection (without
  using `all_of()`) have been formally deprecated (#317).

## Minor improvements and bug fixes

* Selection language:

  * `any_of()` generates a more informative error if you supply too many
    arguments (#241).

  * `all_of()` (like `any_of()`) returns an integer vector to make it easier
    to combine in functions (#270, #294). It also fails when it can't find
    variables even when `strict = FALSE`.

  * `matches()` recognises and correctly uses stringr pattern objects
    (`stringr::regex()`, `stringr::fixed()`, etc) (#238). It also now
    works with named vectors (#250).

  * `num_range()` gains a `suffix` argument (#229).

  * `where()` is now exported, like all other select helpers (#201),
    and gives more informative errors (#236).

* `eval_select()` with `include` now preserves the order of the variables
  if they're present in the selection (#224).

* `eval_select()` always returns a named vector, even when renaming is not
  permitted (#220).

* `eval_select()` and `eval_relocate()` gain new `allow_empty` argument which
  makes it possible to forbid empty selections with `allow_empty = FALSE` (#252).

* `eval_select(allow_rename = FALSE)` no longer fails with empty
  selections (#221, @eutwt) or with predicate functions (#225). It now properly
  fails with partial renaming (#305).

* `peek_var()` error now generates hyperlink to docs with recent RStudio (#289).

* `vars_pull()` generates more informative error messages (#234, #258, #318)
  and gains `error_call` and `error_arg` arguments.

* Errors produced by tidyselect should now be more informative. Evaluation
  errors are now chained, with the child error call is set to the `error_call`
  argument of `eval_select()` and `eval_rename()`. We've also improved
  backtraces of base errors, and done better at propagating the root
  `error_call` to vctrs input checkers.

* `tidyselect_verbosity` is no longer used; deprecation messaging is now
  controlled by `lifecycle_verbosity` like all other packages (#317).
jperkin pushed a commit that referenced this pull request Mar 12, 2023
# rgl 1.0.1

## Major changes

* The long promised deprecations of the `rgl.*` functions
have happened.  Now deprecated: `rgl.abclines`,
`rgl.bbox`, `rgl.bg`, `rgl.clear`, `rgl.clipplanes`,
`rgl.close`, `rgl.light`, `rgl.lines`,
`rgl.linestrips`, `rgl.material`,  `rgl.open`,
`rgl.planes`, `rgl.points`, `rgl.quads`,
`rgl.select3d`, `rgl.set`, `rgl.setAxisCallback`,
`rgl.sprites`, `rgl.surface`, `rgl.texts`,
`rgl.triangles`, and `rgl.viewpoint`.
* A vignette "Deprecating the `rgl.*` interface"
has been added.
* Also deprecated: `elementId2Prefix`, `writeWebGL`

## Minor changes

* Since `rgl.material` is deprecated and no
longer contains the list of material types in its
argument list, `rgl.material.names` and `rgl.material.readonly` have been
added.
* Similarly, `rgl.par3d.names` and `rgl.par3d.readonly`
contain lists of properties that may be set or queried
in `par3d()`.
* The flexibility improvements for `surface3d()` in
0.111.6 were incomplete.
* Argument `flip` has been added to `surface3d()` to allow
front and back to be switched.

# rgl 0.111.6

## Minor changes

* Added a panning example to the help page for `setUserCallbacks()`.
* Replaced all calls to `sprintf` from C/C++ code with calls to
`snprintf`.
* `surface3d` and `rgl.surface` are now more flexible,
allowing any of the 3 coordinates to be a vector or matrix
as long as at least one is a matrix.
* `material3d` can now specify an `id` to query properties
for individual objects.
* Since `rgl.material` is soon to be deprecated and no
longer contain the list of material types in its
argument list, `rgl.material.names` and `rgl.material.readonly` have been
added.
* Similarly, `rgl.par3d.names` and `rgl.par3d.readonly`
contain lists of properties that may be set or queried
in `par3d()`.
* Made some examples conditional on interactive use
to save time on CRAN.

## Bug fixes

* Default mouse modes used when a window is opened by an `rgl.*`
call (which is not recommended!) now match
the defaults in `rgl::r3dDefaults`.
* Missing values could cause `surface3d()` to segfault.
* The C source code for `gl2psGetFileFormat` missed declaring
a prototype.

# rgl 0.110.2

## Major changes

* Material property `"blend"` has been added, to allow
various kinds of blending for semi-transparent objects
(issue #245).

## Minor changes

* The `Buffer` object now handles reading of sparse
accessors.
* Low level drawing of primitives has been made more
memory efficient.  This is only likely to make a
noticeable change with very large objects, where R
was running out of memory because of unnecessary
duplication. (Related to issue #260.)
* Recycling of x, y and z vectors in several functions
is more consistent.
* The `polygon3d()` function now chooses coordinates
automatically, as `triangulate()` does (PR #262.)
* The `mtext3d()` and related functions such as
`title3d()` now accept language objects
other than expressions, as `plotmath3d()` always has
(issue #273).

## Bug fixes

* The bounding box could be calculated incorrectly
if data all had large values (issue #250).
* Shiny displays failed to load the shaders (issue #249).
* `transform3d()` failed due to missing argument (issue #253).
* `readOBJ()` is now more flexible in what kinds of
separators it will accept. (issue #258).
* Failure to initialize could cause a segfault.
* On non-macOS platforms, gray-scale textures failed
to display, with a message about an invalid enumerant.
* The third coordinate for `adj` that was added in 0.108.3
was not rendered properly in `rglwidget()` displays of
text.  This sometimes caused text to disappear when it
was near the far limit of the display (issue #269).
* The X11 error fix in 0.109.6 could result in R
freezing in `Rcmdr`.
* Low level drawing functions are now more consistent
about returning an invisible `NULL` if asked to plot zero
items, rather than raising an error or crashing (issue #274).
* Calling `axis3d()` with no ticks or labels no longer triggers
an error, it now silently returns `NULL`.

# rgl  0.109.6

## Minor changes

* `rglwidget()` displays now act on "pointer" events,
not just "mouse" events, so they should be more usable
on touch screens and tablets (PR #240).

## Bug fixes

* Plotting `scene3d()` objects didn't handle suppressed
axes properly, drawing the default axis instead (issue
#241).
* On some systems using X11, `rgl` would segfault when
the "fixed" font was not found.
* X11 errors could cause R to abort.

# rgl  0.109.2

## Major changes

* Changes to support glTF animation:
  - Handling of `embedding = "modify"` for the model matrix
    has changed.  Now the centering step is only done for
    `embedding = "replace"`.  In addition, various bugs
    have been fixed.
  - If a subscene has no lights defined, the lights from the parent
    are used.
  - `plot.rglscene()` now ends with the root subscene as
    current.  It also allows specification of `open3d()`
    parameters in a list.
  - The `MATn` types in `Buffer` are returned as arrays with
    dim `c(n, n, count)`.
  - The `plot3d.rglscene` method now passes `...` to `open3d()`.
  - The `setUserShaders()` function now allows arrays of 4x4 matrices as "uniforms", and allows additional textures to be specified.
* `sprites3d()` now has the option of
`rotating = TRUE`, to allow 3D sprites to rotate with
the scene.
* Added `getShaders()` function to get shaders used in WebGL.
* Now detects if `rgl` is running within `reprex::reprex()`
and if so arranges that a screenshot will be included in the
output.
* Added default shaders to be used in `rglwidget()`, rather than
constructing them on the fly.  This incompatibly affects the use
of lights and clipping planes with user shaders:  their data
is now stored in arrays rather than multiple numbered variables.

## Minor changes

* Now that `pkgdown` 2.0.0 has been released, a number
of internal workarounds to support the development version
have been removed.
* Added `as.mesh3d()` methods for `"rglsubscene"` and `"rglscene"`.
* `open3d()` now handles `useNULL` and `silent` arguments
passed in `params`.
* Controls passed to `playwidget()` may now include a
component specifying HTML dependencies.
* Added `rglwidgetClass.readAccessor()` method to let other
code use the buffering.
* Changed the internal organization of bounding box calculations.
* All functions that produce meshes now accept
material properties.  Newly modified to do so using the `...`
argument:  `cylinder3d()`, and `getBoundary3d()`.
* Updated the system requirements and installation instructions.
* Solid bounding box decorations now try harder to display 3 faces (issue #206).
* Now that `webshot2` is on CRAN, instructions for
installing it from Github have been removed.
* Sometimes `webshot2` snapshots are very slow, so
the default for the `webshot` argument to `snapshot3d()`
now depends on the `RGL_USE_WEBSHOT` environment
variable, using `TRUE` if it is unset. (Reported by Prof. B. D. Ripley.)
* If the Chrome browser is not found, `snapshot3d(webshot = TRUE)` now issues a warning and
reverts to using `rgl.snapshot()`.
* Buffers now use "normalized integers" to store
color or texture coordinate values that lie between 0
and 1 when it saves some space.
* At the request of CRAN, the `akima` package is no
longer suggested.

## Bug fixes

* `as.mesh3d.rglobject()` didn't handle objects with indices
properly.
* In WebGL, the front vs back calculation sometimes
got the wrong result (issue #164).
* `pop3d(tag = x)` did not always find the objects with `tag == x` if they were not in the current subscene.
* The default values for `front` and `back` in `rgl.material`
and `material3d` are now `"filled"`, as documented in some
places.
* The `fog` setting wasn't handled properly by `bg3d()`.
* Numerous cases of partial argument matching were fixed
(suggestion of Henrik Bengtsson in issue #170.)
* Argument `col` is accepted as a synonym for `color` in `material3d()` and `rgl.material()`.
* `planes3d()` objects were not displayed consistently
in `rgl` windows and WebGL displays, because the bounding
boxes were not computed consistently (issue #169).
* Some initialization wasn't done properly in Shiny apps,
so they failed after a redraw (issue #173).
* Buffers are now optional, as they don't work with
Shiny scene changes (also issue #173).
* The NULL device would sometimes miscalculate the
bounding box.
* `selectpoints3d(closest = TRUE)` selected too many points
when multiple objects were in the scene.
* Clearing nested subscenes could cause a segfault and crash.
* In `knitr` and `rmarkdown`, blank plots could be shown
when `par3d(skipRedraw=TRUE)` was set (issue #188).
* Objects drawn with `sprites3d()` weren't lit correctly
in WebGL (issue #189).
* Objects with textures were sometimes drawn more than once, both
before the texture loaded and after.  This was most noticeable for
objects with user textures.
* Axis mode `"pretty"` got lost when scenes were redrawn.
* Tick labels were sometimes lost in WebGL displays and
`snapshot3d()` results (issue #197).
* The new material properties from 0.107.10 and 0.108.3
were not handled properly by `plotmath3d()`.
* `rglMouse()` did not set the default value of the drop-down
selector properly (issue #213).
* `merge.mesh3d()`, used by `filledContour3d()`, didn't handle
colors properly (issue #212).
* `bg3d(sphere = TRUE)` has been fixed (issue #207).
* Textures were not appearing on spheres, and front-back
differences weren't being rendered (issue #217).
* When "knitting" within RStudio under R 4.2.0 on
Windows, `rgl` scenes didn't appear (reported by
Dieter Menne.) A workaround has been added.
* In `rglwidget()`, axis labels were not always
displayed, and did not move with solid bounding box
decorations properly (issue #206).
* On some systems, `lines3d()` using both missing values
and transparency did not draw properly (issue #234,
originally reported by Gaspar Jekely).
* The `rglShared()` example failed when `crosstalk`
was uninstalled.


# rgl  0.108.3.2

## Bug fixes

* Changes introduced in 0.100.50 lacked checks; these caused
segfaults in Windows with R 4.2.0 and RStudio (issue #208).
* A typo caused problems loading fonts on some systems.

# rgl  0.108.3

## Major changes

* Added `getBoundary3d()` function to extract the boundary
edges of a mesh.
* Added material property `tag`, a string associated
with each object.  The value is reported by `ids3d(tags = TRUE)` and
may be used to select objects in most functions that use ids,
but otherwise is
largely ignored by `rgl`.  The `tagged3d()` function returns
information on tags.
* Primitive types (points, lines, segments, triangles, quads)
can now accept an `indices` parameter, similar to the
indices in `mesh3d` objects.
* Added `Buffer` object, based on glTF design, for holding binary
data for `rglwidget()`.

## Minor changes

* Allowed for a third coordinate in `text3d()`'s `adj`
parameter.
* Added support for `adj`, `pos` and `offset` to
`sprites3d()`.
* Added support for `pos` values of `0` (at specified
location), `5` (in front of it), and `6` (behind it) in
`text3d()`, `sprites3d()` and `plotmath3d()`.
* `crosstalk` is now a Suggested package, rather than
a required one.
* The `Makevars.ucrt` file has been modified with
contributions from Tomas Kalibera to work with his `winutf8`
build of R.
* `bgplot3d()` no longer pauses for each page when running
examples.
* `deldir` version 1.0-2 is incompatible with `rgl`.  Added
the `checkDeldir()` function to avoid running it.
* `shade3d()` treated texture coordinates like colors, and
  duplicated the first one for the whole face when `meshColor = "faces"` was chosen.
  Instead, they are now treated like vertex coordinates.
  (Reported by Michael Sumner in issue #145).
* Corrected the documentation and made the implementations
of `asHomogeneous()`, `asEuclidean()` etc. more consistent.
* An `as.rglscene()` generic has been added, though no methods
are defined in this package.
* `downlit` 0.4.0 has been released with support for `rgl`, so instructions
for installing the devel version have been removed.

## Bug fixes

* Fixed rendering of text as sprites3d() objects.
* Added `--static` flag to configure script for FreeType
  installation.  (Suggestion of Simon Urbanek and Prof. Brian Ripley.)
* `shade3d()`, `wire3d()` and `dots3d()` overrode
  `"front"` and `"back"` material settings in mesh objects.
* `rglwidget()` handling of bounding box decorations had
  several bugs.
* `rgl` could not find routines in the DLL on some Windows
installs (Issue 148.)
* Some cases where allocations were not protected have been fixed.
jperkin pushed a commit that referenced this pull request Apr 8, 2023
0.13.1
What's Changed
 - Hot fix for v0.13.0 in #174

0.13.0
What's Changed
 - Cleanup viuer's temp files before rendering an image in #157
 - Use spotify_player instead of spotify-player in documents in #162
 - remove colon from log file name in #168
 - Add configuration option for streaming in #169
 - Add buffered playback in #171
 - Add enable_image_cache config option in #172
 - Support selecting an action in action list popup using '0' to '9' in #173
jperkin pushed a commit that referenced this pull request Apr 28, 2023
v12.5.0
-------

- #195: Project now depends on ``path``.

v12.4.0
-------

- #169: Project now depends on ``path < 13.2``.
- Fixed typo in README.

v12.3.0
-------

- #169: Project is renamed to simply ``path``. This release of
  ``path.py`` simply depends on ``path < 13.1``.

v12.2.0
-------

- #169: Moved project at GitHub from ``jaraco/path.py`` to
  ``jaraco/path``.

v12.1.0
-------

- #171: Fixed exception in ``rmdir_p`` when target is not empty.
- #174: Rely on ``importlib.metadata`` on Python 3.8.

v12.0.2
-------

- Refreshed package metadata.

12.0.1
------

- #166: Removed 'universal' wheel support.

12.0
---

- #148: Dropped support for Python 2.7 and 3.4.
- Moved 'path' into a package.
jperkin pushed a commit that referenced this pull request Apr 28, 2023
Now installs a library.

## v3.3.0

#### Fixes:

-   fixed null pointer dereference in parser when exceptions are disabled (#169) (@ncaklovic)
-   fixed spurious warnings in MSVC 19.34
-   fixed `toml::parse_file()` on windows for non-ASCII paths
-   fixed a spurious table redefinition error (#187) (@jorisvr)
-   fixed UB edge-case in integer parsing (#188) (@jorisvr)
-   fixed some build issues with Apple-flavoured Clang (#189) (@eddelbuettel)

#### Additions:

-   added `toml::format_flags::terse_key_value_pairs`
-   added `TOML_ENABLE_FLOAT16` config (#178) (@Scrumplex)

#### Removals:

-   removed automatic detection of `_Float16` (you must explicitly set `TOML_ENABLE_FLOAT16` to enable it) (#186) (@benthetechguy)

#### Build system:

-   re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy)
-   increased the minimum required meson version to `0.61.0`
jperkin pushed a commit that referenced this pull request Apr 28, 2023
v0.17.0

    docs: reorder sections to start with the why by @eddiemonge in #159
    feat: allow uppercase HTTP verbs as commands by @danielgtaylor in #160
    fix: crash with certain --help commands by @danielgtaylor in #161
    feat: bulk list supports shorthand query filters by @danielgtaylor in #162
    fix: completion for multi-variable templates by @danielgtaylor in #163
    feat: upgrade to Shorthand v2.1.0 by @danielgtaylor in #164
    fix: properly support commas in headers by @danielgtaylor in #165
    Fix bug #128 by @james-maloney in #166
    fix: run tests on pulls by @danielgtaylor in #167
    fix: properly set error on panic recovery by @danielgtaylor in #168
    feat: set exit code from status code, fixes #125 by @danielgtaylor in #169
    fix: add test for combined path+op params and ref by @danielgtaylor in #171
    fix: upgrade to libopenapi 0.4.x by @danielgtaylor in #170
    fixes 'findApi' when the help command is used by @james-maloney in #172
jperkin pushed a commit that referenced this pull request May 2, 2023
Changelog:

## v0.2.18

### Merged PRs:

- [#2299](https://github.com/TokTok/c-toxcore/pull/2299) fix: remove the assert because buffer can be larger than UINT16_MAX.
- [#2297](https://github.com/TokTok/c-toxcore/pull/2297) cleanup: remove unused field last_seen from Onion_Friend
- [#2289](https://github.com/TokTok/c-toxcore/pull/2289) test: Add a Null_System used in toxsave_harness.
- [#2288](https://github.com/TokTok/c-toxcore/pull/2288) test: enable additional sanitizers for fuzzing
- [#2287](https://github.com/TokTok/c-toxcore/pull/2287) fix: Don't allow onion paths to be built from real friends.
- [#2285](https://github.com/TokTok/c-toxcore/pull/2285) test: Don't abort fuzz test when tox_new fails.
- [#2284](https://github.com/TokTok/c-toxcore/pull/2284) refactor: Move crypto utilities from util to crypto_core.
- [#2283](https://github.com/TokTok/c-toxcore/pull/2283) fix: Allow onion paths to be built from more random nodes.
- [#2282](https://github.com/TokTok/c-toxcore/pull/2282) fix: Fix potential array out-of-bounds in DHT onion path building.
- [#2281](https://github.com/TokTok/c-toxcore/pull/2281) cleanup: Avoid goto in msi.c.
- [#2280](https://github.com/TokTok/c-toxcore/pull/2280) test: Improve test hermeticity by using local TCP relay.
- [#2279](https://github.com/TokTok/c-toxcore/pull/2279) test: Enable fuzzing for TCP.
- [#2277](https://github.com/TokTok/c-toxcore/pull/2277) refactor: Avoid `static_cast` in `Fuzz_System` functions.
- [#2275](https://github.com/TokTok/c-toxcore/pull/2275) chore: Downgrade C++ version to 17
- [#2273](https://github.com/TokTok/c-toxcore/pull/2273) fix: Really fix overrun added in e49a477a
- [#2272](https://github.com/TokTok/c-toxcore/pull/2272) fix: Add missing return on error
- [#2270](https://github.com/TokTok/c-toxcore/pull/2270) test: Improve error messages in toxav_basic_test.
- [#2266](https://github.com/TokTok/c-toxcore/pull/2266) fix: Fixed leak and overrun added in e49a477a
- [#2263](https://github.com/TokTok/c-toxcore/pull/2263) chore: Upgrade to C++20 in CMake build.
- [#2261](https://github.com/TokTok/c-toxcore/pull/2261) refactor: Protect array unpacking against invalid lengths.
- [#2258](https://github.com/TokTok/c-toxcore/pull/2258) refactor: Rename announce functions into their own namespace.
- [#2257](https://github.com/TokTok/c-toxcore/pull/2257) fix: Format IP as string again in error log.
- [#2255](https://github.com/TokTok/c-toxcore/pull/2255) fix: Fix a stack overflow triggered by small DHT packets.
- [#2251](https://github.com/TokTok/c-toxcore/pull/2251) chore: Add MISRA-2012 check using cppcheck's misra addon.
- [#2250](https://github.com/TokTok/c-toxcore/pull/2250) cleanup: remove populate_path_nodes_tcp
- [#2249](https://github.com/TokTok/c-toxcore/pull/2249) test: Improve stability of forwarding_test.
- [#2248](https://github.com/TokTok/c-toxcore/pull/2248) refactor: Use a struct for the `ip_ntoa` buffer.
- [#2246](https://github.com/TokTok/c-toxcore/pull/2246) fix: Don't crash if RNG init failed.
- [#2244](https://github.com/TokTok/c-toxcore/pull/2244) refactor: Allow NULL logger; make it no-op in NDEBUG.
- [#2243](https://github.com/TokTok/c-toxcore/pull/2243) chore: Add initial ESP32 docker build.
- [#2242](https://github.com/TokTok/c-toxcore/pull/2242) cleanup: Use `static_assert` instead of `assert` where possible.
- [#2240](https://github.com/TokTok/c-toxcore/pull/2240) chore(deps): Use upstream cmp directly instead of our fork.
- [#2238](https://github.com/TokTok/c-toxcore/pull/2238) cleanup: Make `*_free` and `kill_*` functions nullable.
- [#2236](https://github.com/TokTok/c-toxcore/pull/2236) chore: Add dependabot config.
- [#2234](https://github.com/TokTok/c-toxcore/pull/2234) test: Add more functionality to the bootstrap fuzz harness.
- [#2233](https://github.com/TokTok/c-toxcore/pull/2233) cleanup: Replace a series of `if` statements with a `switch`.
- [#2232](https://github.com/TokTok/c-toxcore/pull/2232) test: Add fuzzer support functions for internal toxcore objects.
- [#2230](https://github.com/TokTok/c-toxcore/pull/2230) feat: Merge group announce portion of new groupchats implementation
- [#2229](https://github.com/TokTok/c-toxcore/pull/2229) cleanup: Remove layers in the cmake build.
- [#2228](https://github.com/TokTok/c-toxcore/pull/2228) chore: Fix path to fuzzer binaries in clusterfuzz build.
- [#2227](https://github.com/TokTok/c-toxcore/pull/2227) cleanup: Disallow stack frames of over 9000 bytes.
- [#2225](https://github.com/TokTok/c-toxcore/pull/2225) fix: fix typo in git command in INSTALL.md
- [#2224](https://github.com/TokTok/c-toxcore/pull/2224) cleanup: Add include for assert.h for the fuzzing build.
- [#2223](https://github.com/TokTok/c-toxcore/pull/2223) chore: Add `uint8_t` version of `bin_pack` for numbers.
- [#2219](https://github.com/TokTok/c-toxcore/pull/2219) refactor: Rename bin_pack/unpack functions the same as cmp funcs.
- [#2217](https://github.com/TokTok/c-toxcore/pull/2217) cleanup: Add Network object parameter for addr_resolve.
- [#2214](https://github.com/TokTok/c-toxcore/pull/2214) cleanup: Remove all uses of `TOX_*_MAX_SIZE` macros.
- [#2213](https://github.com/TokTok/c-toxcore/pull/2213) cleanup: Remove unused random_testing program.
- [#2212](https://github.com/TokTok/c-toxcore/pull/2212) cleanup: Expand `CONST_FUNCTION` and remove the macro.
- [#2211](https://github.com/TokTok/c-toxcore/pull/2211) cleanup: Move definitions of tox_private.h functions to tox_private.c.
- [#2210](https://github.com/TokTok/c-toxcore/pull/2210) chore: Clone submodules in clusterfuzzlite Dockerfile.
- [#2208](https://github.com/TokTok/c-toxcore/pull/2208) chore: Remove valgrind build.
- [#2206](https://github.com/TokTok/c-toxcore/pull/2206) feat: Allow overriding mono_time in tox_new.
- [#2204](https://github.com/TokTok/c-toxcore/pull/2204) chore: Support producing shared libraries on Windows
- [#2202](https://github.com/TokTok/c-toxcore/pull/2202) cleanup: Avoid name clash between struct field and function.
- [#2201](https://github.com/TokTok/c-toxcore/pull/2201) docs: Add information regarding git submodules, cmp to INSTALL.md
- [#2200](https://github.com/TokTok/c-toxcore/pull/2200) cleanup: Add more null checks in `tox_new`.
- [#2199](https://github.com/TokTok/c-toxcore/pull/2199) cleanup: Mark Mono_Time const where possible.
- [#2196](https://github.com/TokTok/c-toxcore/pull/2196) test: Remove save_load_test from autotools build.
- [#2195](https://github.com/TokTok/c-toxcore/pull/2195) fix: Correct calculation of packet sent time
- [#2193](https://github.com/TokTok/c-toxcore/pull/2193) perf: Make time move a lot faster in fuzzing runs.
- [#2190](https://github.com/TokTok/c-toxcore/pull/2190) feat: Add support for custom random number generator.
- [#2189](https://github.com/TokTok/c-toxcore/pull/2189) chore: Add third_party to toxcore-sources docker image.
- [#2188](https://github.com/TokTok/c-toxcore/pull/2188) cleanup: Make addr_resolve a private function.
- [#2187](https://github.com/TokTok/c-toxcore/pull/2187) test: Add DHT and tox_events fuzz tests to the cmake build.
- [#2186](https://github.com/TokTok/c-toxcore/pull/2186) cleanup: Use `_Static_assert` in gcc/clang.
- [#2184](https://github.com/TokTok/c-toxcore/pull/2184) test: Add some support functions to make writing fuzzers easier.
- [#2183](https://github.com/TokTok/c-toxcore/pull/2183) test: Enable more tests for msan.
- [#2182](https://github.com/TokTok/c-toxcore/pull/2182) test: Improve stability of tox_many_tcp_test.
- [#2177](https://github.com/TokTok/c-toxcore/pull/2177) feat: Add support for overriding network functions.
- [#2176](https://github.com/TokTok/c-toxcore/pull/2176) test: try to save the fuzzed save file again
- [#2175](https://github.com/TokTok/c-toxcore/pull/2175) refactor: Use cmp instead of msgpack-c for events packing.
- [#2173](https://github.com/TokTok/c-toxcore/pull/2173) chore: Use "master" as the branch in toktok-fuzzer.
- [#2170](https://github.com/TokTok/c-toxcore/pull/2170) test: Add fuzzer tests to the bazel build.
- [#2169](https://github.com/TokTok/c-toxcore/pull/2169) feat: Merge moderation portion of new groupchats codebase
- [#2167](https://github.com/TokTok/c-toxcore/pull/2167) cleanup: Reduce scope of array-typed variables where possible.
- [#2166](https://github.com/TokTok/c-toxcore/pull/2166) cleanup: Reduce scope of variables as requested by cimple.
- [#2164](https://github.com/TokTok/c-toxcore/pull/2164) feat: Merge onion_announce changes from new groupchats fork
- [#2163](https://github.com/TokTok/c-toxcore/pull/2163) chore: Enable memory sanitizer build.
- [#2160](https://github.com/TokTok/c-toxcore/pull/2160) test: Improve the stability of the save_load test
- [#2159](https://github.com/TokTok/c-toxcore/pull/2159) chore: Update the Appveyor build to VS2019 to work around conan issues
- [#2158](https://github.com/TokTok/c-toxcore/pull/2158) cleanup: Expose `struct Tox` to internal code.
- [#2157](https://github.com/TokTok/c-toxcore/pull/2157) cleanup: Split the huge TCP client packet handler.
- [#2156](https://github.com/TokTok/c-toxcore/pull/2156) cleanup: Sync doc comments between .h and .c files.
- [#2155](https://github.com/TokTok/c-toxcore/pull/2155) fix: Eliminate memory leak in toxav.
- [#2154](https://github.com/TokTok/c-toxcore/pull/2154) test: Speed up toxav_many_test by using fake mono_time.
- [#2153](https://github.com/TokTok/c-toxcore/pull/2153) docs: Put all the tox public api into a fake "tox" namespace.
- [#2150](https://github.com/TokTok/c-toxcore/pull/2150) cleanup: Move all the group.h structs into group.c.
- [#2149](https://github.com/TokTok/c-toxcore/pull/2149) cleanup: Avoid `memset` on structs.
- [#2147](https://github.com/TokTok/c-toxcore/pull/2147) feat: Store announcements
- [#2146](https://github.com/TokTok/c-toxcore/pull/2146) chore: Add testing/Dockerfile to the CI build.
- [#2145](https://github.com/TokTok/c-toxcore/pull/2145) chore: Be even more explicit about integer range bounds.
- [#2144](https://github.com/TokTok/c-toxcore/pull/2144) cleanup: Minor cleanups in TCP_connection.c.
- [#2143](https://github.com/TokTok/c-toxcore/pull/2143) fix: Allow port range in DHT_bootstrap.c.
- [#2142](https://github.com/TokTok/c-toxcore/pull/2142) cleanup: Count re-adding an existing bootstrap node as success.
- [#2141](https://github.com/TokTok/c-toxcore/pull/2141) cleanup: Disable LAN discovery in TCP-only mode.
- [#2140](https://github.com/TokTok/c-toxcore/pull/2140) cleanup: Add assertion for decrypted data length.
- [#2101](https://github.com/TokTok/c-toxcore/pull/2101) cleanup: improve CMakeLists.txt structure
- [#2100](https://github.com/TokTok/c-toxcore/pull/2100) chore: remove cpufeatures.c
- [#2098](https://github.com/TokTok/c-toxcore/pull/2098) chore: remove DHT_test.c since it's unused

### Closed issues:

- [#2256](https://github.com/TokTok/c-toxcore/issues/2256) New Defects reported by Coverity Scan for TokTok/c-toxcore
- [#2109](https://github.com/TokTok/c-toxcore/issues/2109) Assimilate `messenger_test.c`: replace with public API test
- [#2012](https://github.com/TokTok/c-toxcore/issues/2012) Support building a DLL on Windows
- [#907](https://github.com/TokTok/c-toxcore/issues/907) use dll  abnormal  System.AccessViolationException win7 x32 but x64 no problem

## v0.2.17

### Merged PRs:

- [#2138](https://github.com/TokTok/c-toxcore/pull/2138) chore: Release 0.2.17
- [#2136](https://github.com/TokTok/c-toxcore/pull/2136) docs: Clean up doxygen comments to be more doxygen-like.
- [#2135](https://github.com/TokTok/c-toxcore/pull/2135) cleanup: Move test-only functions into tests.
- [#2134](https://github.com/TokTok/c-toxcore/pull/2134) cleanup: Add explicit callback setters for MSI callbacks.
- [#2133](https://github.com/TokTok/c-toxcore/pull/2133) cleanup: Remove redundant Messenger and DHT tests.
- [#2132](https://github.com/TokTok/c-toxcore/pull/2132) cleanup: Remove dependency from LAN_discovery onto DHT.
- [#2131](https://github.com/TokTok/c-toxcore/pull/2131) cleanup: Split util.c out of the network library.
- [#2130](https://github.com/TokTok/c-toxcore/pull/2130) cleanup: Remove redundant `()` around `return` expression.
- [#2128](https://github.com/TokTok/c-toxcore/pull/2128) test: Add unit test for create/handle request packets.
- [#2127](https://github.com/TokTok/c-toxcore/pull/2127) cleanup: Remove `EAGAIN` from the list of ignored errors.
- [#2126](https://github.com/TokTok/c-toxcore/pull/2126) cleanup: Remove port from `Broadcast_Info`.
- [#2125](https://github.com/TokTok/c-toxcore/pull/2125) cleanup: Don't reference local variables in macro bodies.
- [#2123](https://github.com/TokTok/c-toxcore/pull/2123) cleanup: Remove some more implicit bool conversions.
- [#2122](https://github.com/TokTok/c-toxcore/pull/2122) chore: Enable a bunch more warnings in GCC builds.
- [#2120](https://github.com/TokTok/c-toxcore/pull/2120) cleanup: Remove all boolean-int conversions.
- [#2117](https://github.com/TokTok/c-toxcore/pull/2117) cleanup: Comply with strict include ordering.
- [#2116](https://github.com/TokTok/c-toxcore/pull/2116) cleanup: Remove more boolean conversions (and a bugfix).
- [#2115](https://github.com/TokTok/c-toxcore/pull/2115) cleanup: Log at ERROR level when `connect()` fails.
- [#2114](https://github.com/TokTok/c-toxcore/pull/2114) cleanup: Avoid creating invalid enum values.
- [#2113](https://github.com/TokTok/c-toxcore/pull/2113) cleanup: Remove superfluous parentheses on the rhs of assignments.
- [#2108](https://github.com/TokTok/c-toxcore/pull/2108) test: Add mallocfail and proxy test to our coverage runs.
- [#2106](https://github.com/TokTok/c-toxcore/pull/2106) test: Add test coverage docker build for local tests.
- [#2105](https://github.com/TokTok/c-toxcore/pull/2105) cleanup: Change valid status of onion friend to bool.
- [#2104](https://github.com/TokTok/c-toxcore/pull/2104) fix: Report failure to DHT bootstrap back to the client.
- [#2103](https://github.com/TokTok/c-toxcore/pull/2103) cleanup: Remove more implicit bool conversions.
- [#2102](https://github.com/TokTok/c-toxcore/pull/2102) cleanup: Mark all local non-pointers as const where possible.
- [#2099](https://github.com/TokTok/c-toxcore/pull/2099) cleanup: Reduce name shadowing; remove ptr-to-bool conversions.
- [#2097](https://github.com/TokTok/c-toxcore/pull/2097) cleanup: Remove implicit conversions from `uint32_t` to `bool`.
- [#2096](https://github.com/TokTok/c-toxcore/pull/2096) cleanup: Return boolean constants, not ints from bool functions.
- [#2094](https://github.com/TokTok/c-toxcore/pull/2094) fix: Null function pointer dereference.
- [#2093](https://github.com/TokTok/c-toxcore/pull/2093) cleanup: Remove any disallowed casts.
- [#2092](https://github.com/TokTok/c-toxcore/pull/2092) perf: fix issue with friend finding taking too long after disconnects.
- [#2091](https://github.com/TokTok/c-toxcore/pull/2091) cleanup: Avoid casting function pointers.
- [#2090](https://github.com/TokTok/c-toxcore/pull/2090) refactor: Move `tox_new_log` to `auto_test_support`.
- [#2088](https://github.com/TokTok/c-toxcore/pull/2088) cleanup: Remove all implicit bool conversions in if-conditions.
- [#2086](https://github.com/TokTok/c-toxcore/pull/2086) cleanup: Enable most cppcheck warnings as errors.
- [#2084](https://github.com/TokTok/c-toxcore/pull/2084) fix: out-of-memory condition by corrupted save file
- [#2079](https://github.com/TokTok/c-toxcore/pull/2079) cleanup: Remove unused execution trace library.
- [#2078](https://github.com/TokTok/c-toxcore/pull/2078) perf: Refactor onion_client.c do_friends() to reduce network traffic
- [#2075](https://github.com/TokTok/c-toxcore/pull/2075) chore: Add a .clang-format that mostly agrees with astyle.
- [#2074](https://github.com/TokTok/c-toxcore/pull/2074) chore: Make coverity scan a nightly job.
- [#2073](https://github.com/TokTok/c-toxcore/pull/2073) chore: Fix build-args in win32/win64 docker build.
- [#2072](https://github.com/TokTok/c-toxcore/pull/2072) chore: Simplify and speed up windows builds using docker image.
- [#2070](https://github.com/TokTok/c-toxcore/pull/2070) chore: Add docker image builds for windows cross compiler.
- [#2064](https://github.com/TokTok/c-toxcore/pull/2064) fix: toxsave memory leak while loading groups

### Closed issues:

- [#2121](https://github.com/TokTok/c-toxcore/issues/2121) Improve speed and stability of LAN discovery test
- [#2083](https://github.com/TokTok/c-toxcore/issues/2083) Tox save file format/loader doesn't limit or check the number of frozen peers
- [#2080](https://github.com/TokTok/c-toxcore/issues/2080) speedup getting online after tox process has been suspended
- [#2050](https://github.com/TokTok/c-toxcore/issues/2050) Excessive onion friend lookups
- [#2034](https://github.com/TokTok/c-toxcore/issues/2034) Make coverity-scan workflow a nightly build instead of on master push
- [#2000](https://github.com/TokTok/c-toxcore/issues/2000) Move win32 docker image build out to dockerfiles
- [#1990](https://github.com/TokTok/c-toxcore/issues/1990) Add a .clang-format config that matches the astyle config as closely as possible.
- [#1115](https://github.com/TokTok/c-toxcore/issues/1115) Add empty handler for LAN discovery packets when LAN discovery is disabled
- [#647](https://github.com/TokTok/c-toxcore/issues/647) `tox_bootstrap` should return an error on unrecoverable `getnodes` failure
- [#169](https://github.com/TokTok/c-toxcore/issues/169) Get rid of TOX_USER_STATUS_BUSY + 1

## v0.2.16

### Merged PRs:

- [#2071](https://github.com/TokTok/c-toxcore/pull/2071) chore: Release 0.2.16
- [#2069](https://github.com/TokTok/c-toxcore/pull/2069) chore: Simplify and speed up nacl build using toxchat/nacl.
- [#2066](https://github.com/TokTok/c-toxcore/pull/2066) test: Add a profiling script and Dockerfile.
- [#2058](https://github.com/TokTok/c-toxcore/pull/2058) fix: properly deallocate frozen peers
- [#2056](https://github.com/TokTok/c-toxcore/pull/2056) cleanup: Avoid implicit boolean and floating point conversions in decls.
- [#2055](https://github.com/TokTok/c-toxcore/pull/2055) cleanup: Avoid implicit bool conversions in logical operators.
- [#2053](https://github.com/TokTok/c-toxcore/pull/2053) cleanup: Enable tokstyle's `-Wlarge-struct-params`.
- [#2052](https://github.com/TokTok/c-toxcore/pull/2052) fix: Fix return type of functions returning uint64_t.
- [#2049](https://github.com/TokTok/c-toxcore/pull/2049) cleanup: Apply stronger type checks and fix errors.
- [#2047](https://github.com/TokTok/c-toxcore/pull/2047) feat: Improve how we share TCP relays with friends
- [#2046](https://github.com/TokTok/c-toxcore/pull/2046) cleanup: Avoid implicit pointer-to-bool conversion in `if` in toxav.
- [#2043](https://github.com/TokTok/c-toxcore/pull/2043) refactor: Compare pointers in if conditions to nullptr.
- [#2041](https://github.com/TokTok/c-toxcore/pull/2041) fix: file transfer bug introduced in commit 2073d02
- [#2039](https://github.com/TokTok/c-toxcore/pull/2039) refactor: Add a bit more logging; change WARNING to ERROR.
- [#2036](https://github.com/TokTok/c-toxcore/pull/2036) chore: Add BUILD file for websockify.
- [#2035](https://github.com/TokTok/c-toxcore/pull/2035) chore: fine tune fuzzing settings
- [#2033](https://github.com/TokTok/c-toxcore/pull/2033) cleanup: Add some more error path logging to TCP server code.
- [#2032](https://github.com/TokTok/c-toxcore/pull/2032) chore: update the list of CMake options & Windows Docker build deps
- [#2031](https://github.com/TokTok/c-toxcore/pull/2031) fix: remove bogus asserts in fuzzer harness
- [#2030](https://github.com/TokTok/c-toxcore/pull/2030) chore: expand fuzzing to toxsave
- [#2028](https://github.com/TokTok/c-toxcore/pull/2028) fix: syntax error introduced in 8bf37994fd12acec9e3010437502f478399b99b4
- [#2027](https://github.com/TokTok/c-toxcore/pull/2027) fix: add continous fuzzing
- [#2026](https://github.com/TokTok/c-toxcore/pull/2026) chore: Fix implicit declaration warning in fuzz build
- [#2025](https://github.com/TokTok/c-toxcore/pull/2025) chore: add continous fuzzing to our CI
- [#2024](https://github.com/TokTok/c-toxcore/pull/2024) perf: Reduce minimal encoding size of packed events.
- [#2023](https://github.com/TokTok/c-toxcore/pull/2023) cleanup: Add wrapper library for msgpack pack functions
- [#2022](https://github.com/TokTok/c-toxcore/pull/2022) cleanup: Split tox_unpack into two smaller libs
- [#2021](https://github.com/TokTok/c-toxcore/pull/2021) chore: Disable non-null attributes by default.
- [#2019](https://github.com/TokTok/c-toxcore/pull/2019) chore: Silence clang compile warnings causing circle-ci/asan to fail
- [#2018](https://github.com/TokTok/c-toxcore/pull/2018) fix: Coverty scan
- [#2016](https://github.com/TokTok/c-toxcore/pull/2016) docs: Add libmsgpack dependency in INSTALL.md
- [#2015](https://github.com/TokTok/c-toxcore/pull/2015) fix: shared toxcore autotools build failing
- [#2013](https://github.com/TokTok/c-toxcore/pull/2013) cleanup: Don't use VLAs for huge allocations.
- [#2011](https://github.com/TokTok/c-toxcore/pull/2011) fix: Conan build link failures
- [#2010](https://github.com/TokTok/c-toxcore/pull/2010) chore: Remove duplicate source file in autotools build.
- [#2008](https://github.com/TokTok/c-toxcore/pull/2008) chore: get skeletons out of the closet
- [#2007](https://github.com/TokTok/c-toxcore/pull/2007) feat: add bash-completion for tox-bootstrapd
- [#2006](https://github.com/TokTok/c-toxcore/pull/2006) cleanup: Add more nonnull and nullable annotations.
- [#2002](https://github.com/TokTok/c-toxcore/pull/2002) cleanup: Add nonnull annotations to function definitions.
- [#2001](https://github.com/TokTok/c-toxcore/pull/2001) chore: Add an undefined behaviour/integer sanitizer build.
- [#1999](https://github.com/TokTok/c-toxcore/pull/1999) chore: Speed up cmake builds with `UNITY_BUILD`.
- [#1996](https://github.com/TokTok/c-toxcore/pull/1996) feat: Add unpacker functions for events structures.
- [#1993](https://github.com/TokTok/c-toxcore/pull/1993) feat: Add binary packing functions for tox events.
- [#1992](https://github.com/TokTok/c-toxcore/pull/1992) chore: Set up an Android CI job
- [#1988](https://github.com/TokTok/c-toxcore/pull/1988) cleanup: Make LAN discovery thread-safe without data races.
- [#1987](https://github.com/TokTok/c-toxcore/pull/1987) cleanup: Comply with new cimple callback rules.
- [#1985](https://github.com/TokTok/c-toxcore/pull/1985) cleanup: Split msi callback array into 1 member per callback
- [#1982](https://github.com/TokTok/c-toxcore/pull/1982) chore: Add an easy way to run autotools and circleci builds locally.
- [#1979](https://github.com/TokTok/c-toxcore/pull/1979) chore: Update readme header
- [#1952](https://github.com/TokTok/c-toxcore/pull/1952) feat: Add async event handling (callbacks) code.
- [#1935](https://github.com/TokTok/c-toxcore/pull/1935) feat: add DHT queries to private API
- [#1668](https://github.com/TokTok/c-toxcore/pull/1668) perf: Take advantage of fast networks for file transfers

### Closed issues:

- [#2009](https://github.com/TokTok/c-toxcore/issues/2009) Autotools build fails
- [#2004](https://github.com/TokTok/c-toxcore/issues/2004) Add `nullable` and `nonnull` annotations to all functions.
- [#1998](https://github.com/TokTok/c-toxcore/issues/1998) Large stack allocations
- [#1977](https://github.com/TokTok/c-toxcore/issues/1977) Turn array of callbacks in msi.h into separate callbacks.
- [#1670](https://github.com/TokTok/c-toxcore/issues/1670) Broken link in readme
- [#405](https://github.com/TokTok/c-toxcore/issues/405) Remove all¹ uses of global state in toxcore
- [#340](https://github.com/TokTok/c-toxcore/issues/340) Set up a continuous integration build for Android
- [#236](https://github.com/TokTok/c-toxcore/issues/236) Tox file transfers do not use available bandwidth
- [#128](https://github.com/TokTok/c-toxcore/issues/128) Toxcore should provide an easy, local method for making sure Travis checks will pass

## v0.2.15

### Merged PRs:

- [#1984](https://github.com/TokTok/c-toxcore/pull/1984) fix: Reduce logging verbosity even more.
- [#1983](https://github.com/TokTok/c-toxcore/pull/1983) chore: Release 0.2.15
- [#1980](https://github.com/TokTok/c-toxcore/pull/1980) fix: Reduce logging verbosity in TCP server.

## v0.2.14

### Merged PRs:

- [#1978](https://github.com/TokTok/c-toxcore/pull/1978) chore: Release 0.2.14
- [#1976](https://github.com/TokTok/c-toxcore/pull/1976) docs: Make crypto_core.h appear on doxygen.
- [#1975](https://github.com/TokTok/c-toxcore/pull/1975) refactor: use proper method for generating random numbers in a range
- [#1974](https://github.com/TokTok/c-toxcore/pull/1974) docs: Add doxygen configuration and netlify publishing.
- [#1972](https://github.com/TokTok/c-toxcore/pull/1972) chore: Make the last few remaining top level comments doxygen style.
- [#1971](https://github.com/TokTok/c-toxcore/pull/1971) chore: Sync all comments between header and source files.
- [#1968](https://github.com/TokTok/c-toxcore/pull/1968) cleanup: Ensure we limit the system headers included in .h files.
- [#1964](https://github.com/TokTok/c-toxcore/pull/1964) cleanup: Don't pass the whole DHT object to lan discovery.
- [#1958](https://github.com/TokTok/c-toxcore/pull/1958) chore: Make run-infer script use docker.
- [#1956](https://github.com/TokTok/c-toxcore/pull/1956) chore: Disable some cimple warnings for now.
- [#1955](https://github.com/TokTok/c-toxcore/pull/1955) cleanup: Properly copy Node_format using serialized format
- [#1954](https://github.com/TokTok/c-toxcore/pull/1954) cleanup: make functions take const pointer to IP_Port wherever possible
- [#1950](https://github.com/TokTok/c-toxcore/pull/1950) feat: Add WASM build for toxcore and websocket bootstrap node.
- [#1948](https://github.com/TokTok/c-toxcore/pull/1948) fix: potential freeing of an immutable static buffer
- [#1945](https://github.com/TokTok/c-toxcore/pull/1945) fix: Fix bootstrap on emscripten/wasm.
- [#1943](https://github.com/TokTok/c-toxcore/pull/1943) chore: use latest toktok-stack msan version
- [#1942](https://github.com/TokTok/c-toxcore/pull/1942) cleanup: Add some toxav bounds/sanity checks
- [#1940](https://github.com/TokTok/c-toxcore/pull/1940) chore: Use latest instead of versioned toktok-stack image.
- [#1939](https://github.com/TokTok/c-toxcore/pull/1939) chore: Rename bazel-release to -opt and -debug to -dbg.
- [#1938](https://github.com/TokTok/c-toxcore/pull/1938) cleanup: small refactor of DHT getnodes function
- [#1937](https://github.com/TokTok/c-toxcore/pull/1937) cleanup: remove brackets from ip_ntoa ipv6 formatting
- [#1933](https://github.com/TokTok/c-toxcore/pull/1933) chore: Add a Bazel Buildifier CI job
- [#1932](https://github.com/TokTok/c-toxcore/pull/1932) test: separate run_auto_tests into a library (revival of #1505)
- [#1929](https://github.com/TokTok/c-toxcore/pull/1929) cleanup: make some non-const pointers const
- [#1928](https://github.com/TokTok/c-toxcore/pull/1928) fix: unintentional integer down-casts
- [#1926](https://github.com/TokTok/c-toxcore/pull/1926) fix: group av memory leak
- [#1924](https://github.com/TokTok/c-toxcore/pull/1924) test: refactor autotest live network bootstrapping
- [#1923](https://github.com/TokTok/c-toxcore/pull/1923) fix: corruption in key files, making it unable to load when node starts.
- [#1922](https://github.com/TokTok/c-toxcore/pull/1922) chore: Don't run sonar scan on pull requests.
- [#1920](https://github.com/TokTok/c-toxcore/pull/1920) cleanup: refactor group audio packet data handling
- [#1918](https://github.com/TokTok/c-toxcore/pull/1918) chore: Run sonar scan on pull requests.
- [#1917](https://github.com/TokTok/c-toxcore/pull/1917) fix: buffer overwrite in bootstrap config
- [#1916](https://github.com/TokTok/c-toxcore/pull/1916) chore: Add a make_single_file script, used for CI.
- [#1915](https://github.com/TokTok/c-toxcore/pull/1915) cleanup: replace magic numbers with appropriately named constants
- [#1914](https://github.com/TokTok/c-toxcore/pull/1914) chore: Add cpplint to the CI.
- [#1912](https://github.com/TokTok/c-toxcore/pull/1912) cleanup: Remove uses of `strcpy` and `sprintf`.
- [#1910](https://github.com/TokTok/c-toxcore/pull/1910) cleanup: Remove our only use of flexible array members in toxcore.
- [#1909](https://github.com/TokTok/c-toxcore/pull/1909) chore: Expose public API headers as files in bazel.
- [#1906](https://github.com/TokTok/c-toxcore/pull/1906) cleanup: Split large switch statement into functions.
- [#1905](https://github.com/TokTok/c-toxcore/pull/1905) chore: Mark unsafe code as testonly.
- [#1903](https://github.com/TokTok/c-toxcore/pull/1903) cleanup: Even more pointer-to-const parameters.
- [#1901](https://github.com/TokTok/c-toxcore/pull/1901) cleanup: Make parameters pointers-to-const where possible.
- [#1900](https://github.com/TokTok/c-toxcore/pull/1900) cleanup: Remove old check Suite compat layer.
- [#1899](https://github.com/TokTok/c-toxcore/pull/1899) cleanup: Make `Networking_Core` pointer-to-const where possible.
- [#1898](https://github.com/TokTok/c-toxcore/pull/1898) cleanup: Use pointer cast instead of memcpy in qsort callback.
- [#1897](https://github.com/TokTok/c-toxcore/pull/1897) refactor: Deduplicate a bunch of code in TCP client/server.
- [#1894](https://github.com/TokTok/c-toxcore/pull/1894) cleanup: Deduplicate a somewhat complex loop in DHT.c.
- [#1891](https://github.com/TokTok/c-toxcore/pull/1891) cleanup: Remove our only use of sprintf.
- [#1889](https://github.com/TokTok/c-toxcore/pull/1889) cleanup: Stop using `strerror` directly.
- [#1887](https://github.com/TokTok/c-toxcore/pull/1887) test: Add two more bootstrap/TCP nodes to autotests
- [#1884](https://github.com/TokTok/c-toxcore/pull/1884) chore: Add mypy Python type check.
- [#1883](https://github.com/TokTok/c-toxcore/pull/1883) chore: Add sonar-scan analysis on pushes.
- [#1881](https://github.com/TokTok/c-toxcore/pull/1881) cleanup: Merge crypto_core and crypto_core_mem.
- [#1880](https://github.com/TokTok/c-toxcore/pull/1880) chore: Run static analysers in multiple variants.
- [#1879](https://github.com/TokTok/c-toxcore/pull/1879) fix: Fix `toxav_basic_test` buffer overflow.
- [#1878](https://github.com/TokTok/c-toxcore/pull/1878) fix: don't count filetransfer as sending until accepted
- [#1877](https://github.com/TokTok/c-toxcore/pull/1877) fix: Fix some uninitialised memory errors found by valgrind.
- [#1876](https://github.com/TokTok/c-toxcore/pull/1876) chore: Ignore some failures in bazel-tsan.
- [#1875](https://github.com/TokTok/c-toxcore/pull/1875) chore: Add asan/tsan bazel builds.
- [#1874](https://github.com/TokTok/c-toxcore/pull/1874) cleanup: replace all instances of atoi with strtol
- [#1873](https://github.com/TokTok/c-toxcore/pull/1873) chore: Enable layering check in all c-toxcore build files.
- [#1871](https://github.com/TokTok/c-toxcore/pull/1871) chore: Enable compiler layering check.
- [#1870](https://github.com/TokTok/c-toxcore/pull/1870) chore: Disable the OpenMP cracker in bazel for now.
- [#1867](https://github.com/TokTok/c-toxcore/pull/1867) chore: Retry asan/tsan tests a few more times.
- [#1866](https://github.com/TokTok/c-toxcore/pull/1866) chore: Run tokstyle with 3 cores.
- [#1865](https://github.com/TokTok/c-toxcore/pull/1865) cleanup: Remove extra parens around function arguments.
- [#1864](https://github.com/TokTok/c-toxcore/pull/1864) cleanup: Don't use memcpy where assignment can be used.
- [#1862](https://github.com/TokTok/c-toxcore/pull/1862) chore: Remove all references to Travis CI.
- [#1861](https://github.com/TokTok/c-toxcore/pull/1861) cleanup: Use `calloc` instead of `malloc` for struct allocations.
- [#1860](https://github.com/TokTok/c-toxcore/pull/1860) cleanup: Fix `calloc` argument order.
- [#1857](https://github.com/TokTok/c-toxcore/pull/1857) chore: Get all* autotests working with MSVC
- [#1853](https://github.com/TokTok/c-toxcore/pull/1853) cleanup: Remove useless parentheses.
- [#1850](https://github.com/TokTok/c-toxcore/pull/1850) chore: Add a GH Actions code coverage job
- [#1845](https://github.com/TokTok/c-toxcore/pull/1845) fix: use correct sample size in toxav_basic_test
- [#1844](https://github.com/TokTok/c-toxcore/pull/1844) cleanup: make struct typedefs have the same name as their struct
- [#1841](https://github.com/TokTok/c-toxcore/pull/1841) cleanup: refactor toxav_call_control
- [#1840](https://github.com/TokTok/c-toxcore/pull/1840) chore: Remove old travis docker scripts.
- [#1837](https://github.com/TokTok/c-toxcore/pull/1837) chore: Add bazel-debug build.
- [#1836](https://github.com/TokTok/c-toxcore/pull/1836) fix: possible unintended negative loop bound
- [#1835](https://github.com/TokTok/c-toxcore/pull/1835) cleanup: remove dead code
- [#1834](https://github.com/TokTok/c-toxcore/pull/1834) cleanup: Reduce the scope of for-loop iterator variables.
- [#1832](https://github.com/TokTok/c-toxcore/pull/1832) fix: a double-unlocking mutex in toxav
- [#1830](https://github.com/TokTok/c-toxcore/pull/1830) chore: Add "tcc" and "compcert" compiler targets.
- [#1820](https://github.com/TokTok/c-toxcore/pull/1820) chore: Add macOS build.
- [#1819](https://github.com/TokTok/c-toxcore/pull/1819) refactor: Extract some functions from the big run_auto_test function.
- [#1818](https://github.com/TokTok/c-toxcore/pull/1818) feat: Add programs for creating savedata & bootstrap keys
- [#1816](https://github.com/TokTok/c-toxcore/pull/1816) cleanup: put breaks inside case braces
- [#1815](https://github.com/TokTok/c-toxcore/pull/1815) test: add ability for autotests to use TCP connections
- [#1813](https://github.com/TokTok/c-toxcore/pull/1813) chore: Login to dockerhub before trying to push to dockerhub.
- [#1812](https://github.com/TokTok/c-toxcore/pull/1812) chore: Only push versioned docker image on tag builds.
- [#1811](https://github.com/TokTok/c-toxcore/pull/1811) chore: Add bootstrap daemon docker image build.
- [#1810](https://github.com/TokTok/c-toxcore/pull/1810) chore: Remove apidsl comment from tox.h.
- [#1807](https://github.com/TokTok/c-toxcore/pull/1807) chore: Don't run CI on master branch pushes.
- [#1802](https://github.com/TokTok/c-toxcore/pull/1802) cleanup: Sync doc comments in a few more .c/.h files.
- [#1801](https://github.com/TokTok/c-toxcore/pull/1801) chore: Fix up a few source code comment and style issues.
- [#1798](https://github.com/TokTok/c-toxcore/pull/1798) chore: merge friend_connections from NGC fork
- [#1797](https://github.com/TokTok/c-toxcore/pull/1797) cleanup: Move `sodium.h` include to front of network.c.
- [#1794](https://github.com/TokTok/c-toxcore/pull/1794) chore: Move cmake-freebsd-stage2 back into the toxcore repo.
- [#1793](https://github.com/TokTok/c-toxcore/pull/1793) chore: Add FreeBSD build to CI.
- [#1792](https://github.com/TokTok/c-toxcore/pull/1792) chore: Add cross compilation CI targets.
- [#1790](https://github.com/TokTok/c-toxcore/pull/1790) cleanup: remove redundant (and incorrect) comments
- [#1789](https://github.com/TokTok/c-toxcore/pull/1789) refactor: rename variable to clarify purpose
- [#1786](https://github.com/TokTok/c-toxcore/pull/1786) cleanup: Remove apidsl; remove `crypto_memcmp`.
- [#1783](https://github.com/TokTok/c-toxcore/pull/1783) cleanup: fix format-source
- [#1779](https://github.com/TokTok/c-toxcore/pull/1779) chore: Update toktok-stack version.
- [#1778](https://github.com/TokTok/c-toxcore/pull/1778) chore: Tie down the use of doxygen comments.
- [#1777](https://github.com/TokTok/c-toxcore/pull/1777) cleanup: Remove crypto_pwhash import.
- [#1776](https://github.com/TokTok/c-toxcore/pull/1776) cleanup: remove unused function argument from set_tcp_connection_status()
- [#1775](https://github.com/TokTok/c-toxcore/pull/1775) cleanup: Remove apidsl for everything except the public API.
- [#1774](https://github.com/TokTok/c-toxcore/pull/1774) chore: Remove config.h.
- [#1773](https://github.com/TokTok/c-toxcore/pull/1773) chore: Fix gen-file.sh: it wasn't globbing properly.
- [#1772](https://github.com/TokTok/c-toxcore/pull/1772) chore: Add .cc files to the static analysis.
- [#1770](https://github.com/TokTok/c-toxcore/pull/1770) cleanup: merge onion.c changes from new groupchats fork
- [#1769](https://github.com/TokTok/c-toxcore/pull/1769) chore: merge tcp_connection changes from new groupchats fork
- [#1768](https://github.com/TokTok/c-toxcore/pull/1768) chore: merge DHT changes from new groupchats fork
- [#1766](https://github.com/TokTok/c-toxcore/pull/1766) chore: Use docker for the autotools ci build.
- [#1765](https://github.com/TokTok/c-toxcore/pull/1765) fix: Fix file permission issue with toxchat/bootstrap-node Docker container
- [#1762](https://github.com/TokTok/c-toxcore/pull/1762) chore: Add autotools build; exempt crypto_pwhash from tokstyle.
- [#1761](https://github.com/TokTok/c-toxcore/pull/1761) cleanup: Don't include `"config.h"` unless needed.
- [#1759](https://github.com/TokTok/c-toxcore/pull/1759) cleanup: address some unused return values
- [#1758](https://github.com/TokTok/c-toxcore/pull/1758) test: Make ERROR logging fatal in tests.
- [#1754](https://github.com/TokTok/c-toxcore/pull/1754) fix: off-by-one error caused by integer division without proper cast
- [#1753](https://github.com/TokTok/c-toxcore/pull/1753) cleanup: use crypto_memzero to wipe secret keys when no longer in use
- [#1752](https://github.com/TokTok/c-toxcore/pull/1752) chore: Use an incrementing version number for coverity scans.
- [#1751](https://github.com/TokTok/c-toxcore/pull/1751) fix: Fixed uninitialised value copy.
- [#1747](https://github.com/TokTok/c-toxcore/pull/1747) cleanup: Fix some clang-tidy warnings and make them errors.
- [#1746](https://github.com/TokTok/c-toxcore/pull/1746) chore: Add clang-tidy review github workflow.
- [#1744](https://github.com/TokTok/c-toxcore/pull/1744) cleanup: Enforce for loop consistency.
- [#1743](https://github.com/TokTok/c-toxcore/pull/1743) chore: Minor cleanups of warnings given by cppcheck.
- [#1742](https://github.com/TokTok/c-toxcore/pull/1742) test: Add a simple test for `ip_ntoa`.
- [#1740](https://github.com/TokTok/c-toxcore/pull/1740) cleanup: Put fatal errors where API return values should be impossible
- [#1738](https://github.com/TokTok/c-toxcore/pull/1738) chore: Add missing `sudo` to coverity apt-get calls.
- [#1737](https://github.com/TokTok/c-toxcore/pull/1737) refactor: Fix previous refactor
- [#1736](https://github.com/TokTok/c-toxcore/pull/1736) chore: Add workflow for running coverity scan.
- [#1735](https://github.com/TokTok/c-toxcore/pull/1735) cleanup: Use `static_assert` instead of preprocessor `#error`.
- [#1734](https://github.com/TokTok/c-toxcore/pull/1734) chore: Add logger to onion and onion announce objects
- [#1733](https://github.com/TokTok/c-toxcore/pull/1733) cleanup: Minor fixes in test code.
- [#1732](https://github.com/TokTok/c-toxcore/pull/1732) cleanup: Refactor kill_nonused_tcp()
- [#1730](https://github.com/TokTok/c-toxcore/pull/1730) cleanup: Fix last instance of `-Wcast-align` and enable the warning.
- [#1729](https://github.com/TokTok/c-toxcore/pull/1729) cleanup: Ensure that error codes are always initialised.
- [#1727](https://github.com/TokTok/c-toxcore/pull/1727) cleanup: Avoid endian-specific code in `crypto_core`.
- [#1720](https://github.com/TokTok/c-toxcore/pull/1720) feat: Add automatic fuzz testing for c-toxcore
- [#1673](https://github.com/TokTok/c-toxcore/pull/1673) cleanup: Remove hardening code from DHT
- [#1622](https://github.com/TokTok/c-toxcore/pull/1622) perf: Make the key cracker a bit faster
- [#1333](https://github.com/TokTok/c-toxcore/pull/1333) refactor: Clean up friend loading.
- [#1307](https://github.com/TokTok/c-toxcore/pull/1307) refactor: Split toxav_iterate into audio and video part

### Closed issues:

- [#1967](https://github.com/TokTok/c-toxcore/issues/1967) Potential freeing of an immutable static buffer
- [#1788](https://github.com/TokTok/c-toxcore/issues/1788) Rename dht->last_run
- [#1719](https://github.com/TokTok/c-toxcore/issues/1719) Enforce braces around macros that compute a value
- [#1694](https://github.com/TokTok/c-toxcore/issues/1694) Double unlocking in the ac_iterate
- [#1332](https://github.com/TokTok/c-toxcore/issues/1332) Padding bytes in Tox save format are not specified
- [#1217](https://github.com/TokTok/c-toxcore/issues/1217) valgrind reports "Conditional jump or move depends on uninitialised value(s)"
- [#1118](https://github.com/TokTok/c-toxcore/issues/1118) Fix threading issues in tests caught by tsan (data race etc)
- [#1087](https://github.com/TokTok/c-toxcore/issues/1087) Remove all uses of `%zu` in printf formats.
- [#1040](https://github.com/TokTok/c-toxcore/issues/1040) Random numbers should not be produced using `rng() % max`.
- [#540](https://github.com/TokTok/c-toxcore/issues/540) Stop deleting source files
- [#501](https://github.com/TokTok/c-toxcore/issues/501) Testsuite fails and hangs on FreeBSD
- [#451](https://github.com/TokTok/c-toxcore/issues/451) Don't fail when building toxcore on windows with `cmake .`
- [#350](https://github.com/TokTok/c-toxcore/issues/350) Configure coverity runs for nightly builds
- [#349](https://github.com/TokTok/c-toxcore/issues/349) Run clang-tidy on Travis with specific warnings as errors.
- [#348](https://github.com/TokTok/c-toxcore/issues/348) Run cppcheck on Travis and push the results to toktok.github.io.
- [#323](https://github.com/TokTok/c-toxcore/issues/323) Set library version on future releases
- [#235](https://github.com/TokTok/c-toxcore/issues/235) Video corruption: Don't drop video keyframes
- [#203](https://github.com/TokTok/c-toxcore/issues/203) ToxAV is still on the old API style
- [#198](https://github.com/TokTok/c-toxcore/issues/198) Crash on call while peer calling you
- [#167](https://github.com/TokTok/c-toxcore/issues/167) Const-ify pointers
- [#124](https://github.com/TokTok/c-toxcore/issues/124) Don't include OS specific headers in .h files
- [#106](https://github.com/TokTok/c-toxcore/issues/106) Sometimes Toxcore reports the wrong connection status for both the DHT, and friends.
- [#85](https://github.com/TokTok/c-toxcore/issues/85) Reproducible Builds // OBS a bad Idea

## v0.2.13

### Merged PRs:

- [#1725](https://github.com/TokTok/c-toxcore/pull/1725) cleanup: add some missing null checks
- [#1723](https://github.com/TokTok/c-toxcore/pull/1723) chore: Run infer static analyser on circle ci builds.
- [#1722](https://github.com/TokTok/c-toxcore/pull/1722) chore: Release 0.2.13
- [#1718](https://github.com/TokTok/c-toxcore/pull/1718) fix: Sec/fix crypto size compute
- [#1716](https://github.com/TokTok/c-toxcore/pull/1716) chore: Use toktok-stack docker image with built third_party.
- [#1713](https://github.com/TokTok/c-toxcore/pull/1713) test: Add some unit tests for important internal DHT functions.
- [#1708](https://github.com/TokTok/c-toxcore/pull/1708) perf: reduce calling into Mono_Time in DHT
- [#1706](https://github.com/TokTok/c-toxcore/pull/1706) chore: Enable cimple tests on cirrus build.
- [#1705](https://github.com/TokTok/c-toxcore/pull/1705) fix: issue with save_load autotest
- [#1703](https://github.com/TokTok/c-toxcore/pull/1703) chore: Upgrade to toktok-stack:0.0.11.
- [#1699](https://github.com/TokTok/c-toxcore/pull/1699) fix: some friend connection issues
- [#1698](https://github.com/TokTok/c-toxcore/pull/1698) fix: bug causing API to report wrong self connection status
- [#1693](https://github.com/TokTok/c-toxcore/pull/1693) chore: Update IRC info
- [#1691](https://github.com/TokTok/c-toxcore/pull/1691) chore: Fix Appveyor and add workarounds for Cirrus CI
- [#1686](https://github.com/TokTok/c-toxcore/pull/1686) chore: Enable c-toxcore conan packaging
- [#1684](https://github.com/TokTok/c-toxcore/pull/1684) cleanup: Update INSTALL.md instructions
- [#1679](https://github.com/TokTok/c-toxcore/pull/1679) cleanup: Trivial cleanup
- [#1674](https://github.com/TokTok/c-toxcore/pull/1674) cleanup: filetransfer code
- [#1672](https://github.com/TokTok/c-toxcore/pull/1672) docs: Add instructions for building unit tests to INSTALL.md
- [#1667](https://github.com/TokTok/c-toxcore/pull/1667) chore: Update tox-bootstrapd checksum due to newer packages in Alpine
- [#1664](https://github.com/TokTok/c-toxcore/pull/1664) cleanup: use heap memory instead of stack for large variables
- [#1663](https://github.com/TokTok/c-toxcore/pull/1663) fix: Fix file tests on windows
- [#1633](https://github.com/TokTok/c-toxcore/pull/1633) fix: AppVeyor failing due to conan remote being added twice
- [#1602](https://github.com/TokTok/c-toxcore/pull/1602) fix: Fix buffer over-read when a peer leaves a conference
- [#1586](https://github.com/TokTok/c-toxcore/pull/1586) test: Fix tcp_relay_test by adding a second bootstrap node.
- [#1580](https://github.com/TokTok/c-toxcore/pull/1580) style: Format comments according to tokstyle's requirements.
- [#1557](https://github.com/TokTok/c-toxcore/pull/1557) chore: Add conan support
- [#1537](https://github.com/TokTok/c-toxcore/pull/1537) chore: Cygwin build
- [#1516](https://github.com/TokTok/c-toxcore/pull/1516) cleanup: Make pylint and mypy happy with bootstrap_node_info.py.
- [#1515](https://github.com/TokTok/c-toxcore/pull/1515) style: Run restyled on Travis and Circle CI scripts.
- [#1514](https://github.com/TokTok/c-toxcore/pull/1514) refactor: Remove multi-declarators entirely.
- [#1513](https://github.com/TokTok/c-toxcore/pull/1513) refactor: Disallow multiple initialised declarators per decl.
- [#1510](https://github.com/TokTok/c-toxcore/pull/1510) chore: Don't build pushes to branches, only to tags.
- [#1504](https://github.com/TokTok/c-toxcore/pull/1504) chore: Remove release-drafter configuration in favour of global one.
- [#1498](https://github.com/TokTok/c-toxcore/pull/1498) refactor: Limit scope of loop iterators.
- [#1497](https://github.com/TokTok/c-toxcore/pull/1497) refactor: Use bash arrays instead of strings for static analysis scripts.
- [#1496](https://github.com/TokTok/c-toxcore/pull/1496) cleanup: Stop hard-coding packet IDs in tests.
- [#1495](https://github.com/TokTok/c-toxcore/pull/1495) chore: Exclude imported libsodium sources from restyled.
- [#1493](https://github.com/TokTok/c-toxcore/pull/1493) feat: Add logging to TCP and onion client.
- [#1489](https://github.com/TokTok/c-toxcore/pull/1489) cleanup: `NAC_LIBS` -> `NACL_LIBS`.
- [#1487](https://github.com/TokTok/c-toxcore/pull/1487) chore: Add autotools build to localbuild docker images.
- [#1473](https://github.com/TokTok/c-toxcore/pull/1473) chore: Add a script to run Travis CI locally.
- [#1467](https://github.com/TokTok/c-toxcore/pull/1467) fix: Fix a bug in savedata loading when malloc fails.
- [#1464](https://github.com/TokTok/c-toxcore/pull/1464) fix: Fix errors on error paths found by oomer.
- [#1463](https://github.com/TokTok/c-toxcore/pull/1463) cleanup: Add a check that we don't have any unused functions.
- [#1462](https://github.com/TokTok/c-toxcore/pull/1462) cleanup: Include `<string.h>` for `explicit_bzero`.
- [#1436](https://github.com/TokTok/c-toxcore/pull/1436) chore: Enable cimple tests by default but allow disabling them.

### Closed issues:

- [#1598](https://github.com/TokTok/c-toxcore/issues/1598) ERROR:  heap-buffer-overflow in group.c found with AddressSanitizer
- [#1326](https://github.com/TokTok/c-toxcore/issues/1326) the cause is great, but this thing is completely unusable
- [#1319](https://github.com/TokTok/c-toxcore/issues/1319) Is this new application is safe & trusted ??
- [#1236](https://github.com/TokTok/c-toxcore/issues/1236) Ruby Extension?
- [#1149](https://github.com/TokTok/c-toxcore/issues/1149) uTox aborts on toxcore restart
- [#886](https://github.com/TokTok/c-toxcore/issues/886) Maybe need to set the stacksize for musl-libc

## v0.2.12

### Merged PRs:

- [#1458](https://github.com/TokTok/c-toxcore/pull/1458) Release 0.2.12
- [#1457](https://github.com/TokTok/c-toxcore/pull/1457) Disable non-hermetic tests by default.
- [#1456](https://github.com/TokTok/c-toxcore/pull/1456) Limit the number of friends you can have to ~4 billion.
- [#1452](https://github.com/TokTok/c-toxcore/pull/1452) Add execution trace option for debugging.
- [#1444](https://github.com/TokTok/c-toxcore/pull/1444) Set up release-drafter to automatically draft the next release.
- [#1443](https://github.com/TokTok/c-toxcore/pull/1443) Allow test coverage to fluctuate 2% up and down, but not below 80%.
- [#1442](https://github.com/TokTok/c-toxcore/pull/1442) Add CODEOWNERS and settings.yml files.
- [#1441](https://github.com/TokTok/c-toxcore/pull/1441) [ImgBot] Optimize images
- [#1439](https://github.com/TokTok/c-toxcore/pull/1439) Fix continuous integration builds.
- [#1437](https://github.com/TokTok/c-toxcore/pull/1437) Rework the toxchat/bootstrap-node Docker image.
- [#1435](https://github.com/TokTok/c-toxcore/pull/1435) Enable TCP relay test in Bazel and autotools build.
- [#1434](https://github.com/TokTok/c-toxcore/pull/1434) Skip invalid TCP relays and DHT nodes when loading save data.
- [#1433](https://github.com/TokTok/c-toxcore/pull/1433) Fix saving of combination of loaded and connected TCP relays
- [#1430](https://github.com/TokTok/c-toxcore/pull/1430) Invert `not_valid` functions and name them `is_valid`.
- [#1429](https://github.com/TokTok/c-toxcore/pull/1429) Fix things not being initialized if creating a TCP-only network
- [#1426](https://github.com/TokTok/c-toxcore/pull/1426) Remove tokstyle exemptions from build files.
- [#1425](https://github.com/TokTok/c-toxcore/pull/1425) Stop using the "inline namespace" feature of apidsl.
- [#1424](https://github.com/TokTok/c-toxcore/pull/1424) Add new semi-private API functions to set per-packet-id custom handlers.
- [#1423](https://github.com/TokTok/c-toxcore/pull/1423) Give CI workflow a better name: clang-sanitizers
- [#1422](https://github.com/TokTok/c-toxcore/pull/1422) Use public API for sending in RTP
- [#1421](https://github.com/TokTok/c-toxcore/pull/1421) Install ci-tools and get tokstyle via the script it provides.
- [#1420](https://github.com/TokTok/c-toxcore/pull/1420) Use tox public API for sending packets in toxav BWController
- [#1419](https://github.com/TokTok/c-toxcore/pull/1419) Remove newlines from the end of LOGGER format strings.
- [#1418](https://github.com/TokTok/c-toxcore/pull/1418) Change ToxAVCall struct mutex to a more distinct name
- [#1417](https://github.com/TokTok/c-toxcore/pull/1417) Create own instance of Mono_Time for ToxAV
- [#1416](https://github.com/TokTok/c-toxcore/pull/1416) Stop using Messenger's mono_time in bandwidth controller.
- [#1415](https://github.com/TokTok/c-toxcore/pull/1415) Fix 2 memory leaks in ToxAV.
- [#1414](https://github.com/TokTok/c-toxcore/pull/1414) Show function names in asan/tsan stack traces on CircleCI.
- [#1413](https://github.com/TokTok/c-toxcore/pull/1413) Make afl_toxsave.c a bit more portable; fix memory leak.
- [#1411](https://github.com/TokTok/c-toxcore/pull/1411) Fixes towards building on MSVC.
- [#1409](https://github.com/TokTok/c-toxcore/pull/1409) Mark conference test as small.
- [#1407](https://github.com/TokTok/c-toxcore/pull/1407) Add minimal save generator
- [#1406](https://github.com/TokTok/c-toxcore/pull/1406) Migrate format-source script to new apidsl web app.
- [#1404](https://github.com/TokTok/c-toxcore/pull/1404) Smarter setup of bazel remote cache on Cirrus CI.
- [#1331](https://github.com/TokTok/c-toxcore/pull/1331) Add basic test adapter for AFL

### Closed issues:

- [#1365](https://github.com/TokTok/c-toxcore/issues/1365) Add the option to use LAN discovery even when using a proxy for remote connections
- [#1353](https://github.com/TokTok/c-toxcore/issues/1353) libtoxdns.a and libtoxav.a
- [#86](https://github.com/TokTok/c-toxcore/issues/86) Freenet as Offline Messaging Backend

## v0.2.11

### Merged PRs:

- [#1405](https://github.com/TokTok/c-toxcore/pull/1405) Release 0.2.11
- [#1403](https://github.com/TokTok/c-toxcore/pull/1403) Install libsodium from apt instead of from source.
- [#1402](https://github.com/TokTok/c-toxcore/pull/1402) Remove bazel build from Travis.
- [#1400](https://github.com/TokTok/c-toxcore/pull/1400) Disable bazel remote cache on CI.
- [#1399](https://github.com/TokTok/c-toxcore/pull/1399) Periodically try to send direct packets when connected by TCP.
- [#1398](https://github.com/TokTok/c-toxcore/pull/1398) Minor cleanup: use `assoc_timeout` function where possible.
- [#1397](https://github.com/TokTok/c-toxcore/pull/1397) Check that LOGGER macros are only called with string literals.
- [#1396](https://github.com/TokTok/c-toxcore/pull/1396) Make function defns match their decls regarding storage class.
- [#1395](https://github.com/TokTok/c-toxcore/pull/1395) Mark file-local function definitions as `static`.
- [#1394](https://github.com/TokTok/c-toxcore/pull/1394) Enable remote cache for bazel builds.
- [#1393](https://github.com/TokTok/c-toxcore/pull/1393) Add another bootstrap node to the bootstrap test.
- [#1392](https://github.com/TokTok/c-toxcore/pull/1392) Clear out old conference connections.
- [#1391](https://github.com/TokTok/c-toxcore/pull/1391) Minor cleanups in network code.
- [#1390](https://github.com/TokTok/c-toxcore/pull/1390) Avoid casting back and forth between void-ptr.
- [#1389](https://github.com/TokTok/c-toxcore/pull/1389) Standardise on having a comma at the end of enums.
- [#1388](https://github.com/TokTok/c-toxcore/pull/1388) Fix up comments a bit to start being more uniform.
- [#1387](https://github.com/TokTok/c-toxcore/pull/1387) Use rules_cc instead of native cc_library rules.
- [#1386](https://github.com/TokTok/c-toxcore/pull/1386) Use spdx license identifier instead of GPL blurb.
- [#1383](https://github.com/TokTok/c-toxcore/pull/1383) Pass packet ID to custom packet handlers.
- [#1382](https://github.com/TokTok/c-toxcore/pull/1382) Add a mutex lock/unlock inside every public API function.
- [#1381](https://github.com/TokTok/c-toxcore/pull/1381) Use `net_pack` instead of casting bytes to ints.
- [#1380](https://github.com/TokTok/c-toxcore/pull/1380) Disable FreeBSD travis build until it is fixed.
- [#1379](https://github.com/TokTok/c-toxcore/pull/1379) Update and fix FreeBSD setup on Travis-CI
- [#1378](https://github.com/TokTok/c-toxcore/pull/1378) Use ninja build system for the cmake-linux build.
- [#1376](https://github.com/TokTok/c-toxcore/pull/1376) Remove testing/av_test.c.
- [#1375](https://github.com/TokTok/c-toxcore/pull/1375) Add "cimple_test" to the bazel build.
- [#1374](https://github.com/TokTok/c-toxcore/pull/1374) Handle invite to existing conference
- [#1372](https://github.com/TokTok/c-toxcore/pull/1372) Upgrade bazel to 2.1.1.
- [#1371](https://github.com/TokTok/c-toxcore/pull/1371) Bump to astyle-3.1 in travis build.
- [#1370](https://github.com/TokTok/c-toxcore/pull/1370) use -1 rather than ~0 in unsigned integer types
- [#1362](https://github.com/TokTok/c-toxcore/pull/1362) Workaround for message number saving
- [#1358](https://github.com/TokTok/c-toxcore/pull/1358) Allow Bazel to rerun tests marked as flaky
- [#1352](https://github.com/TokTok/c-toxcore/pull/1352) Update tests to use a working bootstrap node
- [#1349](https://github.com/TokTok/c-toxcore/pull/1349) Fix tox-bootstrapd's README and update Dockerfile
- [#1347](https://github.com/TokTok/c-toxcore/pull/1347) Fix pthread_mutex_destroy getting too many arguments
- [#1346](https://github.com/TokTok/c-toxcore/pull/1346) Fix most TSAN failures
- [#1345](https://github.com/TokTok/c-toxcore/pull/1345) fix concurrency issues in mono_time
- [#1343](https://github.com/TokTok/c-toxcore/pull/1343) Fix TSAN failures in tests
- [#1334](https://github.com/TokTok/c-toxcore/pull/1334) fix missing group title length check
- [#1330](https://github.com/TokTok/c-toxcore/pull/1330) Force IPv4 for cirrus-ci tests
- [#1329](https://github.com/TokTok/c-toxcore/pull/1329) bump libsodium version in appveyor.yml
- [#1322](https://github.com/TokTok/c-toxcore/pull/1322) Clean-up of group.c code
- [#1321](https://github.com/TokTok/c-toxcore/pull/1321) Some small fixes to groups.
- [#1299](https://github.com/TokTok/c-toxcore/pull/1299) Add VScode folder to .gitignore
- [#1297](https://github.com/TokTok/c-toxcore/pull/1297) Use net_pack/unpack instead of host_to_net.

### Closed issues:

- [#1373](https://github.com/TokTok/c-toxcore/issues/1373) handle crashes after group invites
- [#1368](https://github.com/TokTok/c-toxcore/issues/1368) Are tox clients also open source
- [#1366](https://github.com/TokTok/c-toxcore/issues/1366) Generate a link for websites (Friendship and proxy)
- [#1354](https://github.com/TokTok/c-toxcore/issues/1354) Unstable Tests
- [#1316](https://github.com/TokTok/c-toxcore/issues/1316) Documentation claims toxav_iteration_interval is threadsafe but it's not
- [#1274](https://github.com/TokTok/c-toxcore/issues/1274) build error
- [#850](https://github.com/TokTok/c-toxcore/issues/850) GPG App Usage
jperkin pushed a commit that referenced this pull request Jun 11, 2023
# gargle 1.4.0

## Google Compute Engine

* `credentials_gce(scopes = NULL)` is now equivalent to
  `credentials_gce(scopes =
  "https://www.googleapis.com/auth/cloud-platform")`, i.e. there's an
  even stronger current towards the recommended "cloud-platform"
  scope.

* `credentials_gce(scopes =)` now includes those `scopes` in its
  request to the metadata server for an access token (#216). Note that
  the scopes for a GCE access token are generally pre-determined for
  the instance and its associated service account at creation/launch
  time and these requested `scopes` will have no effect. But this
  seems to do no harm and it is possible that there are contexts where
  this is useful.

* `credentials_gce()` now emits considerably more information when the
  `"gargle_verbosity"` option is set to `"debug"`. For example, it
  reports mismatches between requested scopes and instance scopes and
  between requested scopes and the access token's actual scopes.

* `credentials_gce()` stores the actual scopes of the received access
  token, which can differ from the requested scopes. This is also
  noted when the `"gargle_verbosity"` option is set to `"debug"`.

* The `GceToken` R6 class gains a better `$print()` method that is
  more similar to gargle's treatment of tokens obtained with other
  flows.

## Behaviour in a cloud/server context

* gargle is better able to detect when it's running on Posit Workbench
  or RStudio Server, e.g., in a subprocess.

* `gargle_oauth_client_type()` is a new function that returns either
"installed" or "web".  It returns the value of the new global option
by the same name (`"gargle_oauth_client_type"`), if defined.  If the
option is not defined, returns "web" on RStudio Server, Posit
Workbench, Posit Cloud, or Google Colaboratory and "installed"
otherwise.  In the context of out-of-band (OOB) auth, an "installed"
client type leads to the conventional OOB flow (only available for GCP
projects in testing mode) and a "web" client leads to the new
pseudo-OOB flow.  The option and accessor have been added to cover
contexts other than those mentioned above where it is helpful to
request a "web" client.

* `credentials_user_oauth2()` now works in Google Colaboratory (#140).

## Everything else

* gargle now elicits user input via `readline()`, instead of via
  `utils::menu()`, which is favorable for interacting with the user in
  a Jupyter notebook (#242).

* The roxygen templating functions that wrapper packages can use to
generate standardized documentation around auth have been updated to
reflect gargle's pivot from OAuth "app" to "client".  Changes of note:

  - `PREFIX_auth_configure_description()` crosslinks to `PREFIX_oauth_client()`
    now, not `PREFIX_oauth_app()`. So this assumes the package has indeed
    introduced the `PREFIX_oauth_client()` function (and, presumably, has
    deprecated `PREFIX_oauth_app()`).
  - `PREFIX_auth_configure_params()` gains `client` argument.
  - `PREFIX_auth_configure_params()` deprecates the `app` argument and uses a
    lifecycle badge. It is assumed that the badge SVG is present, which can be
    achieved with `usethis::use_lifecycle()`.
  - `PREFIX_auth_configure_params()` crosslinks to
    `gargle::gargle_oauth_client_from_json()`. The wrapper package therefore
    needs to state a minimum version for gargle, e.g. `gargle (>= 1.3.0)` (or
    higher).

* `credentials_byo_oauth2()` works now for (variations of) service
  account tokens, as intended, not just for user tokens (#250). It
  also emits more information about scopes when the
  `"gargle_verbosity"` option is set to `"debug"`.

# gargle 1.3.0

## (Partial) deprecation out-of-band (OOB) auth flow

On February 16, 2022, Google announced the gradual deprecation of the
out-of-band (OOB) OAuth flow.  OOB **still works** if the OAuth client
is associated with a GCP project that is in testing mode and this is
not going away.  But OOB is no longer supported for projects in
production mode.  To be more accurate, some production-mode projects
have gotten an extension to permit the use of OOB auth for a bit
longer, but that's just a temporary reprieve.

The typical user who will (eventually) be impacted is:

* Using R via RStudio Server, Posit Workbench, or Posit Cloud.
* Using tidyverse packages such as googledrive, googlesheets4, or bigrquery.
* Relying on the built-in OAuth client. Importantly, this client is associated
  with a GCP project that is in production mode.

The phased deprecation of OOB is nearly complete and we expect
conventional OOB to stop working with the built-in tidyverse OAuth
client on February 1, 2023, at the latest.

**In preparation for this, gargle has gained support for a new flow,
which we call pseudo-OOB (in contrast to conventional OOB)**.  The
pseudo-OOB flow is triggered when `use_oob = TRUE` (an existing
convention in gargle and gargle-using packages) and the configured
OAuth client is of "Web application" type.  The
gargle/googledrive/googlesheets4/bigrquery packages should now default
to a "Web application" client on RStudio Server, Posit Workbench and
Posit Cloud, leading the user through the pseudo-OOB flow.  Other than
needing to re-auth once, affected users should still find that things
"just work".

Read the `vignette("auth-from-web")` for more.

## gargle-specific notion of OAuth client

`gargle_oauth_client()` is a new constructor for an S3 class by the same name.
There are two motivations:

  - To adjust to Google's deprecation of conventional OOB and to support
    gargle's new pseudo-OOB flow, it is helpful for gargle to know whether an
    OAuth client ID is of type "Web application" or "Desktop app". That means we
    need a Google- and gargle-specific notion of an OAuth client, so we can
    introduce a `type` field.
  - A transition from httr to httr2 is on the horizon, so it makes sense to
    look more toward `httr2:oauth_client()` than to `httr::oauth_app()`.
    gargle's vocabulary is generally shifting towards "client" and away from
    "app".

`oauth_app_from_json()` has therefore been (soft) deprecated, in favor
of a new function `gargle_oauth_client_from_json()`, which is the
preferred way to instantiate an OAuth client, since the downloaded
JSON conveys the client type and redirect URI(s).  As a bridging
measure, `gargle_oauth_client` currently inherits from httr's
`oauth_app`, but this probably won't be true in the long-term.

`gargle_client(type =)` replaces `gargle_app()`.

## Google Compute Engine and Google Kubernetes Engine

`credentials_gce()` no longer asks the user about initiating an OAuth
cache, which is not relevant to that flow (#221).

`gce_instance_service_accounts()` is a newly exported utility that
exposes the service accounts available from the metadata server for
the current instance (#234).

The global option `"gargle.gce.timeout"` is newly documented in
`credentials_gce()`.  This controls the timeout, in seconds, for
requests to the metadata server.  The default value (or strategy) for
setting this should often suffice, but the option exists for those
with an empirical need to increase the timeout (#186, #195).

`vignette("non-interactive-auth")` has a new section "Workload
Identity on Google Kubernetes Engine (GKE)" that explains how gargle
supports the use of workload identity for applications running on
GKE. This is the recommended method of auth in R code running on GKE
that needs to access other Google Cloud services, such as the BigQuery
API (#197, #223, @MarkEdmondson1234).

## Credential function registry

It's gotten a bit easier to work with the credential registry.
The primary motivation is that, for example, on Google Compute Engine, you might
actually want to suppress auth with the default service account and auth as a
normal user instead.
This is especially likely to come up with gmailr / the Gmail API.

* The credential-fetcher `credentials_byo_oauth2()` has been moved to the very
  beginning of the default registry. The logic is that a user who has specified
  a non-`NULL` value of `token` must mean business and does not want automagic
  auth methods like ADC or GCE to be tried before using their `token`
  (#187, #225).

* The `...` in `cred_funs_all()` are now
  [dynamic dots](https://rlang.r-lib.org/reference/dyn-dots.html) (#224).

* Every registered credential function must have a unique name now.
  This is newly enforced by `cred_funs_add()` and `cred_funs_set()` (#224).

* `cred_funs_list_default()` is a new function that returns gargle's default
  list of credential functions (#226).

* `cred_funs_add(cred_fun = NULL)` is now available to remove a credential
  function from the registry (#224).

* `with_cred_funs()` and `local_cred_funs()` are new helpers for making narrowly
  scoped changes to the registry (#226).

* The `ls` argument of `cred_funs_set()` has been renamed to `funs` (#226).

* In general, credential registry functions now return the current registry,
  invisibly (#224).

# gargle 1.2.1

* Help files below `man/` have been re-generated, so that they give
  rise to valid HTML5. (This is the impetus for this release, to keep
  the package safely on CRAN.)

* We have switched to newer oauth2.googleapis.com-based OAuth2 URIs,
  moving away from the accounts.google.com and googleapis.com/oauth2
  equivalents.

* `credentials_gce()` no longer validates the requested scopes against
instance scopes.  In practice, it's easy for this check to be more of
a nuisance than a help (#161, #185 @craigcitro).

* `request_retry()` retries for an expanded set of HTTP codes: 408,
  429, 500, 502, 503. Previously, retries were limited to 429 (#169).

## Dependency changes

* The minimum versions of rlang and testthat have been bumped. The
  motivation is to exploit and adapt to the changes to the display of
  error messages.
jperkin pushed a commit that referenced this pull request Oct 23, 2023
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.

Thank you to every contributor for making Yazi better and better!
What's Changed

    feat: add Mintty (Git Bash) image preview support by @sxyazi in #103
    refactor: use Url instead of PathBuf by @sxyazi in #107
    fix: mime of javascript by @XYenon in #106
    perf: load large folders in chunks by @sxyazi in #117
    fix: set cursor block after closing input prompt from insert mode
         by @auvred in #109
    fix: doesn't redirect the stderr of the clipboard command to null
         by @sxyazi in #119
    feat: suspend process (Ctrl-Z) by @sxyazi in #120
    fix: notification of file changes in linked directories by @sxyazi in #121
    feat: file size sorting under the simplified file system by @sxyazi in #123
    fix: show_hidden not properly applied to hovered folder by @sxyazi in #124
    fix: recognize symlink directories as files by @sxyazi in #125
    fix: respect symlink paths without canonicalizing them by @sxyazi in #126
    feat: make Input streamable by @sxyazi in #127
    perf: doesn't wait for the process of killing by @sxyazi in #128
    feat: find by @sxyazi in #104
    feat: tab-specific sorting by @sxyazi in #131
    feat: new V, D, C keybinding for Input component by @sxyazi in #139
    fix: swap description for search commands by @knutwalker in #141
    fix: image position calculation by @sxyazi in #144
    feat: support for image preview within tmux by @sxyazi in #147
    feat: show keywords when in search mode by @sxyazi in #152
    feat: fallback to built-in highlighting if jq is not installed
          by @ndtoan96 in #151
    feat: make the glob expr case insensitive by default, and prepend \s to
          make it sensitive by @sxyazi in #156
    fix: check relative path on expand_path by @sxyazi in #165
    feat: support for FreeBSD permission type by @yggdr in #169
    feat: multiple openers for a single rule by @Linus789 in #154
    fix: leave upwards only if an IO error occurs in current by @sxyazi in #172
    docs: add archlinuxcn installation guide by @Integral-Tech in #176
    fix: image preview not working on Zellij by @Eric-Song-Nop in #181
    feat: make trash optional by @sxyazi in #178
    fix: inconsistent Shift key behavior on Unix and Windows
         by @ndtoan96 in #174
    feat: new force option added for the remove command, which does not show
          the confirmation dialog on trashing/deleting by @sxyazi in #173
    fix: typo of LICENSE file by @conradojordan in #201
    feat: add flake.nix by @XYenon in #205
    feat: include ignored files on search when hidden files are shown
          by @PhotonQuantum in #212
    feat: new orphan option for opener rules, to keep the process running even
          when Yazi exited by @sxyazi in #216
    feat: scroll half/full page with arrow percentage supported, and new
          Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by
          @TD-Sky in #213
    feat: highlight matching words on finding by @PhotonQuantum in #211
    feat: add BackTab support by @sxyazi in #209
    fix: set stdio to null when orphan is true by @sxyazi in #229
    feat: new force option for creating and renaming by @sxyazi in #208
    feat: loop through to find by @ndtoan96 in #234
    feat: backward/forward by @ndtoan96 in #230
    perf: reimplement optimized natural sorting algorithm, speed up ~6 times
          for case-insensitive sorting by @sxyazi in #237
    chore: changing the finding key to n/N to keep with Vim's conventions
           by @sxyazi in #238
    feat: added new options to the `find' command for smart-case/
          case-insensitive finds by @ndtoan96 in #240
    feat: add new --no-cwd-file option to quit command for flexible cwd-file
          setting by @XOR-op in #245
    fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249
    fix: support RGBA16 images by @sxyazi in #250
    feat: support trash for NetBSD by @sxyazi in #251
    feat: support environment variable in cd path by @ndtoan96 in #241
    feat: new theme system by @sxyazi in #161
    fix: cannot cd if there is whitespace in path by @ndtoan96 in #255
    fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259
    fix: collect and fix all hard coded themes and color
         by @Eric-Song-Nop in #221
    fix: some colors not readable in light mode by @sxyazi in #264
    feat: better file hover state by @sxyazi in #269
    refactor: split commands into separate files by @sxyazi in #272
    feat: cancel selected items automatically on entering, leaving, copying, or
          cutting by @sxyazi in #273
    feat: add a new Bar component, and make border styles customizable
          by @sxyazi in #278
    fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277
    refactor: simplify building conditions by @sxyazi in #280
    chore: add git rev to nix pkg version by @XYenon in #206
    feat: new Manager component for better style extensions by @sxyazi in #284
    feat: cross-system opener rule support by @sxyazi in #289
    fix: delegate the SIGINT signal of processes with orphan=true to their
    parent by @sxyazi in #290
    feat: line mode by @sxyazi in #291
    feat: shell completions & auto releasing by @TD-Sky in #282
jperkin pushed a commit that referenced this pull request Oct 30, 2023
0.14
* Add rWeakDeliminators field to Rule. [API change]
* Make WordDetect sensitive to weakDeliminator. This fixes parsing of
  floats beginning with '0.' in C (#174).
* Add debiancontrol syntax (#173).

0.13.4.1
* Update syntax definitions: ada, bash, cmake, css, html, isocpp, java,
  javascript, kotlin, latex, makefile, markdown, php, python, qml, r, sass,
  scss, typescript, zsh.
* Don't require word boundary at end of Int, Float, HlCHex, HlCOct
  (#170). KDE does not. This fixes things like 7L in R.

0.13.4
* Add dosbat syntax (MS DOS batch file) (#169).
* Derive Bounded Instance for TokenType (#168, Pavan Pikhi). Add Bounded to
  the derived instances for the TokenType type. This allows consumers to
  use [minBound .. maxBound] to generate a list of all token types when
  writing a Style.
* Require xml-conduit >= 1.9.1.3. This fixes a bug that prevents parsing
  certain DOCTYPE declarations, e.g. in agda.xml.
* Updated cmake syntax definition.

0.13.3
* Add gap language (#167).
* Update syntax definitions.
* Add patches for agda.xml and dtd.xml, to wor around a bug in xml-conduit:
  snoyberg/xml#187
* Store compiled regexes in RE (#166, Jonathan Coates). This changes the RE
  type to (lazily) compile the regex when constructed, rather than in the
  tokenizer. This allows us to avoid re-compiling regexes for each separate
  tokenize call, instead sharing them globally. We try to hide the
  internals of this, exposing the previous interface (RE { reString,
  reCaseSensitive }) with pattern synonyms.
* ConTeXt: fix handling of spaces in non-normal tokens (Albert
  Krewinkel). This ensures that multiple spaces won't be collapsed into a
  single space.

0.13.2.1
* Update tango style for new token types (#164). The original tango style
  didn't have colors defined for many token types that have been added
  since it was added. This commit updates the style to support them. Thanks
  to @danbraswell for providing the values needed.
jperkin pushed a commit that referenced this pull request Oct 31, 2023
0.14
* Add rWeakDeliminators field to Rule. [API change]
* Make WordDetect sensitive to weakDeliminator. This fixes parsing of
  floats beginning with '0.' in C (#174).
* Add debiancontrol syntax (#173).

0.13.4.1
* Update syntax definitions: ada, bash, cmake, css, html, isocpp, java,
  javascript, kotlin, latex, makefile, markdown, php, python, qml, r, sass,
  scss, typescript, zsh.
* Don't require word boundary at end of Int, Float, HlCHex, HlCOct
  (#170). KDE does not. This fixes things like 7L in R.

0.13.4
* Add dosbat syntax (MS DOS batch file) (#169).
* Derive Bounded Instance for TokenType (#168, Pavan Pikhi). Add Bounded to
  the derived instances for the TokenType type. This allows consumers to
  use [minBound .. maxBound] to generate a list of all token types when
  writing a Style.
* Require xml-conduit >= 1.9.1.3. This fixes a bug that prevents parsing
  certain DOCTYPE declarations, e.g. in agda.xml.
* Updated cmake syntax definition.

0.13.3
* Add gap language (#167).
* Update syntax definitions.
* Add patches for agda.xml and dtd.xml, to wor around a bug in xml-conduit:
  snoyberg/xml#187
* Store compiled regexes in RE (#166, Jonathan Coates). This changes the RE
  type to (lazily) compile the regex when constructed, rather than in the
  tokenizer. This allows us to avoid re-compiling regexes for each separate
  tokenize call, instead sharing them globally. We try to hide the
  internals of this, exposing the previous interface (RE { reString,
  reCaseSensitive }) with pattern synonyms.
* ConTeXt: fix handling of spaces in non-normal tokens (Albert
  Krewinkel). This ensures that multiple spaces won't be collapsed into a
  single space.

0.13.2.1
* Update tango style for new token types (#164). The original tango style
  didn't have colors defined for many token types that have been added
  since it was added. This commit updates the style to support them. Thanks
  to @danbraswell for providing the values needed.
jperkin pushed a commit that referenced this pull request Nov 24, 2023
While waiting for some of the features in the main branch to finish baking for
the v0.4 release why not enjoy some bugfixes, doc cleanups, and refactors right
now?

Fixed
 - Fixed a panic that occured when the viewed file gets removed or renamed (#145)
 - Made live code reloading more robust (#106 & #147)
    - Live code reloading should work with more editors (e.g. neovim)
    - Live code reloading should more reliable watch the desired file
 - Improved syntax highlighting (#150)
    - We now support highlighting many more formats (e.g. TOML, Dockerfiles, etc.)
    - We now support highlighting code blocks that use a language marker followed
      by a comma like ```rust,ignore
 - Nested numbered lists now display ordering correctly (#154)
 - Fixed a panic that occured on some specific system configurations (#169)

Docs
 - Use a repology badge for package manager installation (#109)
 - Make correct location of config file more clear (#122)

Along with a whole slew of internal refactors and testing improvements

I'd also like to give a big thanks to all of the contributors that helped make
this release possible!
jperkin pushed a commit that referenced this pull request Dec 8, 2023
## [0.14.0 - 2023-12-02]

### Added

- Synonym for `chroma` encoder parameter: `subsampling`(usage is the same as in Pillow JPEG). #161 #165
- Passing `image_orientation` value to libheif, instead of manually rotating image according to EXIF before encoding. #168
- Pillow plugin: support for images in `YCbCr` mode for saving without converting to `RGB`. #169
- Pi-Heif: Python3.12 32-bit `armv7` wheels. #160

### Changed

- Increased the minimum required libheif version to `1.14.1`.
- Linux: When building from source, `libheif` and other libraries are no longer try built automatically. #158
- Libheif updated from `1.16.2` to `1.17.5` version. #166 #175
- `NCLX` color profile - was reworked, updated docs, see PR for more info. #171
- Minimum supported Pillow version raised to `9.2.0`.
- Pi-Heif: As last libheif version requires minimum `cmake>=3.16.3` dropped Debian `10 armv7` wheels. #160
- libde265 updated from `1.0.12` to `1.0.14`. [changelog](https://github.com/strukturag/libde265/releases/tag/v1.0.13)

### Fixed

- Support of libheif `1.17.x`. #156
- Windows : Build from source with MinGW Python. #178
jperkin pushed a commit that referenced this pull request Jan 15, 2024
:git_tag:`0.7.16` -- 2024-01-10
-------------------------------

- 🐛`215` Do not display ``logo_name`` if it is set to ``False``.

:git_tag:`0.7.15` -- 2024-01-08
-------------------------------

- :feature:`213` Allow an arbitrary string in the ``logo_name`` option.
- :feature:`114` Improved sidebar CSS styles.
- :issue:`178` Deprecated ``canonical_url`` in favor of ``html_baseurl``.
- 🐛`200` Removed duplicate ``<meta name="viewport" ... />`` tag.
- 🐛`188` Removed underline from whitespace.
- 🐛`164` Removed ``type="text/javascript"`` from <script> elements.
- 🐛`161` Replaced ``&copy;`` with unicode decimal code entity ``#169;``.

:git_tag:`0.7.14` -- 2024-01-08
-------------------------------

- Dropped support for Python 3.8 and earlier.
- Dropped support for Sphinx 3.3 and earlier.
- :issue:`198` Fix horizontal scrolling on mobile.
- :issue:`206` Properly support the ``html_support_sphinx`` config value.
- :issue:`211` Fix the GitHub 'forkme' banner.
- Added ``alabaster_version_info`` to the HTML template context.
- Declare support for Python 3.13.
- Adopt the Ruff linter and formatter.
- Migrate from CircleCI to GitHub Actions.
jperkin pushed a commit that referenced this pull request 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 pull request 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 pull request Mar 11, 2024
Rakudo compiler, Release #169 (2024.02)

2024-02-29

On behalf of the Rakudo development team, I?m very happy to announce the
February 2024 release of Rakudo #169. Rakudo is an implementation of the Raku1
language.

The source tarball for this release is available from https://rakudo.org/files/
rakudo. Pre-compiled archives will be available shortly.

New in 2024.02:

  * Improvements:

      + Better errors for common array parameter mistakes [47fb8c35]
      + Improve stability in heavy async situations [761153bc][5c289878]
  * Additions:

      + Add Int/Real coercing versions of infix:<div|mod> [71c0151a]
      + Implement sub form of &trans, mainly to support feed operators
        [b238fad8]
      + Provide native int coercers to Int/Cool [a67842ac][1eaa9d71][dc5414d6]
  * Fixes:

      + Avoid leaking repo.lock handle [155818f4][e6207699][7ca96bbd][a723c387]
  * Deprecations:

  * Internal:

      + Document and/or streamline dispatchers and related [d176728c][78d4fbc0]
        [344f7978][e6fd943f][02bc10c2][ccbe370a][07049e7f][b151e2d7][35760ceb]
      + Streamline "core" (bootstrap, core, metamodel) [51297879][bae06a2c]
        [6117df24][e93208ce][b0dd4ef4][6b231533][024212cd][8e840a51][19da50e3]
        [88151678][975b6634][1dfd7b4b][9f0d361b][80ac4336][760e7a72][eef53371]
        [02aaf9e9][0b759a7a][614571d2][67153138][4c86ef77][dab2c235][c944dae4]
        [2e4113c5][69877047][d49cd4e0][9a828454][de923f1b][1ce9b4c6][3c9f07a8]
        [24a1e67c][4181d461][2c64cbc7][4f64b487][5585454f][cf773dc2][68cd850f]
        [fd936efe][04229899][3c218265][192d7d0a][3271329c][71dcfd42][52dfda3f]
        [b720babd][9f7a3419]
  * RakuAST Development:

      + RakuAST: some nano optimizations [9478d5c7]

	See following page for more info
	https://rakudo.org/post/announce-rakudo-release-2024.02
jperkin pushed a commit that referenced this pull request 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 pull request May 1, 2024
Version 1.7.0
.............

Released on 2024-04-27

* Drop Python 3.7 support, add Python 3.12 support
* `#221 <https://github.com/Kozea/cairocffi/pull/225>`_:
  Add environment variable to set folder where DLLs are installed on Windows
* `#225 <https://github.com/Kozea/cairocffi/pull/225>`_:
  Use Ruff instead of Flake8 and isort


Version 1.6.1
.............

Released on 2023-07-24

* `#217 <https://github.com/Kozea/cairocffi/issues/217>`_:
  Repair installation with PyInstaller


Version 1.6.0
.............

Released on 2023-06-12

**This version uses a new CFFI mode that may break your program.**

CairoCFFI now uses Flit for packaging and is also distributed as a Python
wheel.

Please test carefully and don’t hesitate to report issues before using it in
production.

* `#216 <https://github.com/Kozea/cairocffi/pull/216>`_:
  Use ABI-level in-line CFFI mode


Version 1.5.1
.............

Released on 2023-04-15

* `#212 <https://github.com/Kozea/cairocffi/issues/212>`_:
  Bring back XCB support during wheel generation


Version 1.5.0
.............

Released on 2023-03-17

* `#106 <https://github.com/Kozea/cairocffi/issues/106>`_,
  `#200 <https://github.com/Kozea/cairocffi/issues/200>`_:
  Fallback to manual PNG file creation on hardened systems
* `#210 <https://github.com/Kozea/cairocffi/pull/210>`_:
  Use pyproject.toml for packaging and remove other useless files


Version 1.4.0
.............

Released on 2022-09-23

* `#205 <https://github.com/Kozea/cairocffi/pull/205>`_:
  Use pikepdf to parse generated PDF
* `#171 <https://github.com/Kozea/cairocffi/pull/171>`_:
  Don’t use deprecated pytest-runner anymore


Version 1.3.0
.............

Released on 2021-10-04

* `2cd512d <https://github.com/Kozea/cairocffi/commit/2cd512d>`_:
  Drop Python 3.6 support
* `#196 <https://github.com/Kozea/cairocffi/pull/196>`_:
  Fix import `constants.py` import
* `#169 <https://github.com/Kozea/cairocffi/pull/169>`_:
  Add extra library name "cairo-2.dll"
* `#178 <https://github.com/Kozea/cairocffi/pull/178>`_:
  Workaround for testing date string with cairo 1.17.4
* `#186 <https://github.com/Kozea/cairocffi/pull/186>`_:
  Fix link in documentation
* `#195 <https://github.com/Kozea/cairocffi/pull/195>`_:
  Fix typo in documentation
* `#184 <https://github.com/Kozea/cairocffi/pull/184>`_,
  `a4fc2a7 <https://github.com/Kozea/cairocffi/commit/a4fc2a7>`_:
  Clean .gitignore


Version 1.2.0
.............

Released on 2020-10-29

* `#152 <https://github.com/Kozea/cairocffi/pull/152>`_:
  Add NumPy support
* `#143 <https://github.com/Kozea/cairocffi/issues/143>`_:
  Make write_to_png function work on hardened systems
* `#156 <https://github.com/Kozea/cairocffi/pull/156>`_:
  Use major version name to open shared libraries
* `#165 <https://github.com/Kozea/cairocffi/pull/165>`_:
  Don’t list setuptools as required for installation


Version 1.1.0
.............

Released on 2019-09-05

* `#135 <https://github.com/Kozea/cairocffi/pull/135>`_,
  `#127 <https://github.com/Kozea/cairocffi/pull/127>`_,
  `#119 <https://github.com/Kozea/cairocffi/pull/119>`_:
  Clean the way external libraries are found
* `#126 <https://github.com/Kozea/cairocffi/pull/126>`_:
  Remove const char* elements from cdef
* Support Cairo features up to 1.17.2
* Fix documentation generation


Version 1.0.2
.............

Released on 2019-02-15

* `#123 <https://github.com/Kozea/cairocffi/issues/123>`_:
  Rely on a recent version of setuptools to handle VERSION


Version 1.0.1
.............

Released on 2019-02-12

* `#120 <https://github.com/Kozea/cairocffi/issues/120>`_:
  Don't delete _generated modules on ffi_build import


Version 1.0.0
.............

Released on 2019-02-08

6 years after its first release, cairocffi can now be considered as stable.

* Drop Python 2.6, 2.7 and 3.4 support
* Test with Python 3.7
* Clean code, tests and packaging
jperkin pushed a commit that referenced this pull request May 6, 2024
2024-05-05 -- 0.9.8

>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  * Fixed: [CVE-2024-34402]
      Protect against integer overflow in ComposeQueryEngine
      (GitHub #183, GitHub #185)
  * Fixed: [CVE-2024-34403]
      Protect against integer overflow in ComposeQueryMallocExMm
      (GitHub #183, GitHub #186)
>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  * Changed: Require CMake >=3.5.0 (GitHub #172)
  * Added: CMake option URIPARSER_SHARED_LIBS=(ON|OFF) to control,
      whether to produce a shared or static library for uriparser
      and that alone, falls back to standard BUILD_SHARED_LIBS
      if available, else defaults to "ON" (GitHub #169, GitHub #170)
  * Improved: Document that scheme-based normalization a la
      section 6.2.3 of RFC 3986 is a responsibility of the application
      using uriparser (GitHub #173, GitHub #174)
  * Improved: Document supported code points for functions uriEscape(Ex)W
      (GitHub #171, GitHub #175)
  * Infrastructure: Update Clang from 15 to 18 (GitHub #161, GitHub #187)
  * Infrastructure: Adapt to breaking changes in Clang packaging (GitHub #160)
  * Infrastructure: Get sanitizer CFLAGS and LDFLAGS back in sync (GitHub #161)
  * Infrastructure: Pin GitHub Actions to specific commits for security
      (GitHub #165)
  * Soname: 1:31:0 — see https://verbump.de/ for what these numbers do

2022-10-05 -- 0.9.7

  * Fixed: Multiple issues with IPv6 and IPvFuture literal parsing
      (GitHub #146, GitHub #150)
      Thanks to Scallop Ye for the report and the pull request!
  * Fixed: Fix symbol visibility for -DBUILD_SHARED_LIBS=OFF (GitHub #139,
      GitHub #141); thanks to Mariusz Zaborski for the report!
  * Fixed: For MinGW, use size_t for inet_ntop declaration and fix macro
      checks for both MinGW and mingw-w64 (GitHub #131)
  * Fixed: Compiler warnings (GitHub #132, GitHub #152)
  * Improved: Use name UriConfig.h rather than generic config.h for the
      config header file to avoid name clashes and also include it through
      "UriConfig.h" with quotes rather than <UriConfig.h> so that it is found
      in quote path locations (GitHub #149)
      Thanks to Gaspard Petit for bringing this up!
  * Improved: Document need for UriConfig.h in UriMemory.c (GitHub #136)
  * Infrastructure: Add (support for) Visual Studio 17/2022 (GitHub #152)
  * Infrastructure: Drop (support for) Visual Studio <=14/2015 (GitHub #152)
  * Infrastructure: Update Clang from 13 to 15 (GitHub #143, GitHub #151)
  * Infrastructure: Make MinGW with 32bit Wine on Ubuntu 20.04 possible
      (GitHub #142, GitHub #144, GitHub #145)
  * Soname: 1:30:0 — see https://verbump.de/ for what these numbers do
jperkin pushed a commit that referenced this pull request Jun 4, 2024
1.5.2 (2024-05-24)

What's Changed

* Yet Another memleak with str(list) by @mknkmyzk in #169
* Use exec instead of eval in raise test by @mrkn in #179
* Fix segvs by @mrkn in #178
* Use RTYPEDDATA_GET_DATA if exist by @mrkn in #181
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

Successfully merging this pull request may close these issues.

None yet

2 participants