Skip to content

Re-enable mod_proxy_html#169

Closed
vec4f wants to merge 1 commit into
TritonDataCenter:trunkfrom
vec4f:trunk-apache24-mod-proxy-html
Closed

Re-enable mod_proxy_html#169
vec4f wants to merge 1 commit into
TritonDataCenter:trunkfrom
vec4f:trunk-apache24-mod-proxy-html

Conversation

@vec4f
Copy link
Copy Markdown

@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 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
jperkin pushed a commit that referenced this pull request Sep 10, 2024
Features
 - Added alpha property to set command, see #218 (@kanielrkirby)
 - Add support for HSV, see #169 (@jameshurst)
 - Added support for parsing LCh colors, see #2 and #167 (@MForster)
 - Added hyprpicker as --color-picker, see #186 (@mrusme)
 - Implement Color::from_u32 for the rgba, see #202 (@irevoire)

Bugfixes
 - pastel pick does not display all colors in some terminals, see #121 and #168 (@Divoolej)
 - Fix lines in kitty terminal with text_fg_override_threshold set, see #197 (@joveian)
github-actions Bot pushed a commit that referenced this pull request Oct 24, 2024
TL/DR

    Add cramjam.experimental.blosc2
    Add cramjam.experimental.igzip (on 64bit targets)
    Add wasm32 emscripten build and test for pyodide

What's Changed

    Update libcramjam crate to 0.3.0 in cramjam-cli by @musicinmybrain in #152
    Add experimental blosc2 support by @milesgranger in #107
    Move sdist generations to own job by @milesgranger in #155
    Add blosc2 to CLI, libcramjam features and own CI by @milesgranger in #156
    Don't overwrite artifact on each job by @milesgranger in #157
    Prepare for release by @milesgranger in #158
    Change github release job in CI by @milesgranger in #161
    Adjust for move of libcramjam and CLI to own repos by @milesgranger in #162
    Bump libcramjam and simplify CI by @milesgranger in #163
    Bump version and fix CI artifact uploading by @milesgranger in #164
    Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows by @dependabot in #168
    Update PyO3 0.20 -> 0.22 & Python 3.13 by @milesgranger in #169
    Update upload/download-artifact actions by @milesgranger in #170
    Add more feature configuration options by @milesgranger in #174
    Fix blosc2 upgrade API changes by @milesgranger in #176
    Expose linking flexibility for xz, gzip/deflate from libcramjam by @milesgranger in #175
    Remove pypy3.9 from CI by @milesgranger in #177
    Exclude benchmarks from builds by @milesgranger in #179
    Add wasm32-emscripten builds by @milesgranger in #181
    Add experimental igzip by @milesgranger in #182
github-actions Bot pushed a commit that referenced this pull request Dec 2, 2024
(NEWS.md is not updated to 1.1.7)
# s2 1.1.5

* fix compiler problem on Alpine 3.19.0 (#251)

# s2 1.1.4

* Updated more tests to pass on a forthcoming waldo package update (#237).

# s2 1.1.3

* Made a test less strict to pass tests on Alpine Linux (#218, #220).
* Updated tests to pass on forthcoming waldo package update (@hadley, #226).
* Updated vendored file modifications to suppress a multi-line comment
  warning on gcc (#214, #227).

# s2 1.1.2

- Fixed test for `as.data.frame()` for `s2_cell()` to comply with new wk
  version and the latest release of R (#207).
- Fix unary union of an empty multipolygon (#208).
- Added `#include <cstdint>` to an Abseil header to fix compilation with
  gcc13 (#209, #210).
- Update internal Abseil to 20220623.1 LTS (#213).

# s2 1.1.1

- Fix new CRAN check warnings (#202, #203).

# s2 1.1.0

- Fix for s2 build on Windows with R <= 3.6.x (#142)
- Fix for s2 build on MacOS with multiple openssl versions (#142, #145, #146)
- Fix for s2 build on 32-bit openssl (#143, #147)
- Added `s2_convex_hull()` and `s2_convex_hull_agg()` (@spiry34, #150,
  #151, #163).
- Added `max_distance` argument to `s2_closest_edges()`, making
  distance-constrained k-nearest neighbours possible (#125, #156, #162).
- Added a spherical `s2_point_on_surface()` implementation for polygons
  (@kylebutts, #152, #161)
- Added a `s2_cell_union()` vector class to represent cell coverings and
  operators to generate them from an s2 geography vector (e.g.,
  `s2_covering_cell_ids()`). Cell unions are useful as compact representations
  of spherical geometry and can be used like a bounding box to determine
  a possible intersection with one or more geographies (#85, #94, #164).
- Refactored the simple features compatability layer into a standalone
  code base for potential future use in a Python adaptation (#165).
- Migrate input and output to non-deprecated wk package handlers and writers
  (#101, #165, #168).
- Make `s2_union_agg()` more efficient using a recursive merge strategy
  (#103, #165).
- Fix package build on Raspberry Pi (#169, #171).
- Fix warning on clang14 when compiling with `-O0` (#167, #172).
- Added `s2_prepared_dwithin()` and fixed `s2_dwithin_matrix()` such that it
  efficiently uses the index (#157, #174).
- Updated `s2_lnglat()` and `s2_point()` to use `wk::xy()` (a record-style
  vctr) to represent point coordinates. This is much faster than the previous
  representation which relied on `list()` of external pointers (#181, #159).
- Added arguments `planar` and `tessellate_tol_m` to `s2_as_text()`,
  `s2_as_binary()`. Use `planar = TRUE` and set `tessellate_tol_m` to the
  maximum error for your use-case to automatically subdivide edges to
  preserve or "straight" lines in Plate carree projection on import (#182).
- Added arguments `planar` and `tessellate_tol_m` to `s2_geog_from_text()`, and
  `s2_geog_from_wkb()`. Use `planar = TRUE` and set `tessellate_tol_m` to the
  maximum error for your use-case to automatically subdivide edges to
  ensure or "straight" lines in Plate carree projection on export (#182).

# s2 1.0.7

- Update the internal copy of s2geometry to use updated Abseil,
  fixing a compiler warning on gcc-11 (#79, #134).
github-actions Bot pushed a commit that referenced this pull request Dec 30, 2024
# downlit 0.4.4

* Use simpler parsing algorithm for R 4.0, which avoids crash with
  certain UTF-8 characters (#189).

# downlit 0.4.3

* Fix for upcoming R-devel (#169).

# downlit 0.4.2

* `highlight()` no longer errors if a package imputed to have been attached
  isn't installed.

* Correctly link `requireNamespace(MASS)` (#151).

# downlit 0.4.1

## Syntax highlighting

* Supports new base pipe `|>` syntax (#126).

* Every line get its own `<span>` to match pandoc (#122).

* Multi-line tokens (e.g. strings) now get a `<span>` per line (#139).

* Very long strings or other tokens are no longer truncated (@dmurdoch, #128).

## Auto-linkg

* Function calls (in inline and code blocks) will no longer to non-function
  topics (#135).

* Re-exports detection no longer relies on name of `.Rd` file (#134).

* Link to correct topic with `::()` and `utils::help()` (@IndrajeetPatil, #131).

* Generate correct link for Bioconductor vignettes (@zeehio, #145)
github-actions Bot pushed a commit that referenced this pull request May 4, 2025
Catch up on the last 3 years of updates.
Packages tested against new version: wmbattery, lxqt-powermanagement

# pkgsrc changes
* Switch to build with meson.
* Requires pkgsrc gettext-tools.
* Optionally enable polkit support.

TODO: fix and test Linux backend after importing wip/libgudev

# upstream changes (since 0.99.13)

## 1.90.9
* Fix unstable OnBattery status (#306 #307)

## 1.90.8
* Fix the incorrect percentage value of a removed battery. (#292) (!246)
* Fix device type for the gaming device. (#296 #295) (!247)
* Determine the battery discharging status when connecting a low-power charger. (#276) (!244)
* Fix memory leak when refreshing battery info. (#305) (!261)
* Fix memory leak when getting device id. (!261)

## 1.90.7
* Find the correct parent id for input devices. (#268 #286)
* Fix race condition in test_sibling_priority_no_overwrite. (!240)
* Show charge-threshold-* status as yes/no. (!242)
* Add zsh-completions for CLI. (!241)
* Fix integration test. Extend the daemon stopping timeout to 10sec (#290)
* Added pre-commit test and fixed code spelling, markdown, and code style issues. (!248)

## 1.90.6
* Fractional battery percentage (!226)
* CI enhancement. (!236)
* Tweak the default battery charging threshold to 75-80. (!234)
* Fix g_object_weak_ref: assertion 'g_atomic_int_get (&object->ref_count) >= 1' failed (#281, !233)

## 1.90.5
* Suspend and Ignore as the CriticalPowerActions (!218 and !218)
* Support for battery charging threshold (!208)
* Tweak the device priority to make sure the device kind joystick
  can be correctly shown. (#267)

## 1.90.4
* Update the information for version 1.90.3.
* Resolved high disk and CPU rate. (#256)
* Stop guessing the unknown battery as a power supply.
* Continue to support lid handling.
* Fix org.freedesktop.UPower: EnergyRate is a positive value. (#252)
* Fix uni-test python script. (!205)

## 1.90.3
* Resolved high disk and CPU rate.
* Update glib2 requirement to 2.66.0.
* Stop guessing the unknown battery as a power supply.
* Continue to support lid handling.
* Document fixes and bug fixes.

## 1.90.2
Note that this is the last release of UPower with lid handling. OS components
that rely on the lid status should get it from logind instead. See:
https://www.freedesktop.org/software/systemd/man/org.freedesktop.login1.html

* Fix wireless devices not disappearing from Settings when disconnected
* Require a newer libgudev to avoid bugs related to newline stripping
  when reading sysfs attributes
* Add installed-tests files for use with gnome-desktop-testing
* Fix integration test to work with system installed upower binary and
  under jhbuild

## 1.90.1
* Detect headsets with kernel batteries such as Logitech and
  Steelseries headsets, and make them automatically disappear if
  the headset is turned off (if the kernel driver supports the
  wireless_status attribute)
* Hide duplicate Logitech Bluetooth devices (Bolt-compatible devices
  connected through Bluetooth would show as 2 batteries)
* Hide duplicate Logitech wireless devices when they get connected
  through USB as well
* Fix Bluetooth device names not synchronising, and use user-chosen
  names when available
* Handle the "present" sysfs attribute changing
* Fix iDevices not appearing
* Fix reading capacity_level with newer libgudev
* Fix OpenBSD backend

## 1.90.0
Note that the version number bump was made to allow bugfixes for older
releases while also making new releases that contain with more in-depth
code changes. The old (soft) API/ABI guarantees are currently unchanged.

Changes:

* Refactor internal battery handling into separate classes
* Guess charging/discharging state based on energy rate (#196)

Bug fixes:

* Fix polling after resume (#198)
* Fix battery state guessing (#146)
* Reload history when battery ID changes
* Test fixes

## 0.99.20
Bug fixes:

* Ensure polling is resumed after suspend (#198)
* Bugfixes to state guessing code (#146)
* Stability improvements of automated tests

## 0.99.19
Changes:

* Move state guessing into DisplayDevice
* Always use 90% threshold to consider a battery full
* Various test improvements

Bug fixes:

* Fix mice showing up as keyboards (#189)
* Allow unit test inspector to fail (#187)
* Fix test cases when daemon shuts down too slowly (#188)

## 0.99.18
Changes:

* Remove broken wakeup DBus API
* Tag UPS hid devices using hwdb and update list from upstream
* Only permit Refresh method when in debug mode
* Refactor device polling
* Refactor udev device discovery and sibling detection
* Improved testing and CI
* Handle SIGTERM to trigger a clean shutdown

Bug fixes:

* Improve polling of batteries after line-power "online" status change
* Multiple wacom tablet detection fixes
* Fix updates after a BT hid power supply moves in sysfs
* Fix enumeration of "Whats Up!" devices on startup
* Accept USB power supplies without warning
* Allow building without gtk-doc

## 0.99.17
Bug fixes:

* Fix FD handling issues that may cause lid to not be detected

## 0.99.16
Bug fixes:

* Silence unnecessary udev event warnings
* Increase test timeout (#171)
* Explicitly link with plist
* Fix UpClient reference leak
* Fix DisplayDevice state on battery hotplug
* Fix critical action to work after it was cancelled (#172)

## 0.99.15
Bug fixes:

* Various build fixes
* Update bluetooth device alias when it changes (#169)


## 0.99.14
Changes:

* Port build system to meson
* New ChargeCycles D-Bus property (#152)
* New async GLib APIs (#121)
* lid related functions are now deprecated
* Refresh API is now deprecated

Bug fixes:

* Plenty of test suite fixes
* Fix leak of inhibitor lock (#160)
* Recognize USB power supplies (#148)
* Fix time compression of data points (#167)
* Fix disk write amplification when battery is low (#150)
github-actions Bot pushed a commit that referenced this pull request May 23, 2025
# changes

* trap: Implement POSIX.1-2024 requirements by @magicant in #115
* read: Avoid crash in interactive shell by @magicant in #116
* history: Work around glibc's fsetpos bug by @magicant in #117
* add completion for make variant commands by @unrealapex in #110
* Update Git completion by @magicant in #120
* wait: Don't return when the target process is suspended by @magicant in #121
* Support POSIX.1-2024 read built-in behavior (except byte-wise field splitting) by @magicant in #123
* Change false, pwd, and true to substitutive built-ins by @c0d3-br3ak9r in #124
* Reject empty operand in cd built-in by @c0d3-br3ak9r in #126
* Ignore remaining commands after a foreground job stops by @magicant in #143
* Treat a job as suspended when any child process suspends by @magicant in #144
* Noglob when splitting $CDPATH at colons in cd and pushd completion by @magicant in #147
* add completion for fnf by @unrealapex in #140
* add completion for 'cmus' and 'cmus-remote' by @unrealapex in #141
* add completion for 'catgirl' by @unrealapex in #142
* Ignore SIGTSTP in process redirection subshells by @magicant in #148
* Add macOS workaround for test of suspended job by @magicant in #150
* Job control without a control terminal by @magicant in #149
* Discard remaining commands on shell errors if interactive by @magicant in #151
* Filter '.' and '..' from wglob results by @eilefsen in #152
* Report job number and PID for async commands in interactive shell by @magicant in #155
* Propagate signal exit status to parent process by @magicant in #156
* printf: Reject redundant character in numeric operand by @magicant in #157
* Reject multiple pathname expansion results in redirection operands by @magicant in #158
* Set interactive automatically even with positional parameters by @magicant in #160
* test: Reject -a, -o, and parentheses in POSIXly-correct mode by @magicant in #161
* Fix default exit status of exit built-in in trap action by @magicant in #162
* Keep empty tilde expansion from empty field removal by @magicant in #164
* Remove redundant trailing slash in tilde expansion by @magicant in #166
* Reject {n} redirection prefix by @magicant in #167
* Document hashondef and nolog options for POSIX.1-2024 by @magicant in #168
* Treatment of variables that should not be made readonly by @magicant in #169
* Reject making LINENO, OLDPWD, OPTARG, OPTIND, and PWD readonly by @magicant in #170
github-actions Bot pushed a commit that referenced this pull request Aug 10, 2025
Changelog:
Version 0.8.0 (2025-05-04):
	* A backwards-incompatible change, since the sizeof cpu_raw_data_t and
	  cpu_id_t are now different.
	* Fix a typo in string (#208)
	* Support for AMD Turin Dense
	* Simplify exec_cpuid() to use constraints (#209)
	* Use HW_NCPUONLINE in get_total_cpus() for OpenBSD/NetBSD (#210)
	* Implement cpu_clock_by_os() for OpenBSD (#211)
	* Support Intel Lunar Lake
	* Support Intel Twin Lake
	* Support Intel Alder Lake-PS
	* Support more Intel Raptor Lake ("Intel Processor", "Xeon E")
	* Support Intel Raptor Lake-U Refresh
	* Support Intel Raptor Lake-U/H Re-refresh
	* Support Intel Arrow Lake-U/H
	* Fix warning during build on OpenBSD about strcpy()
	* Refactored internal struct match_entry_t for x86 CPUs to fix truncation issues (#212)
	* Add technology_node field to struct cpu_id_t
	* Support more ARM CPUs
	* Support ARMv9.5-A CPUs (new value FEATURE_LEVEL_ARM_V9_5_A for cpu_feature_level_t)
	* Massive DB updates for almost all Intel and AMD CPUs along with more test data
	* Return ERR_BADFMT during raw deserialization if cpu_raw_data_t is empty
	* Support another type of header for raw deserialization
	* Support Intel Granite Rapids-SP


Version 0.7.1 (2024-11-30):
	* Fix cpuid kernel module build on ARM
	* Return ERR_NO_CPUID when cpuid kernel module cannot be used on AArch32 state
	* Refactor the build of the bindings (#203)
	* Fix build error on AArch64 when HWCAP_CPUID is not defined (#205)
	* Fix build on Windows ARM with MSVC (206)
	* Fix detection of Intel Meteor Lake
	* Support for Intel Arrow Lake
	* Support for AMD Turin


Version 0.7.0 (2024-08-26):
	* Fix handle leaks in rdmsr.c (#199)
	* Fix cpuid_get_hypervisor when NULL data is provided (#199)
	* Prevent intel_fn11 array overruns (#199)
	* Support for AMD Hawk Point
	* Support for more AMD Phoenix (8000 series)
	* Add cpu_clock_by_tsc() function to the library (#124)
	* Check x86 CPUs MSR support (#185)
	* Add support for ARM CPUs (AArch32 + AArch64) (#200)
	* Add cpu_feature_level_t enumerated values for x86 CPUs (#177)
	* Support up to 4 subleaf entries for CPUID leaf 0x80000026 (#189)
	* Support for Extended CPU topology subleaf in cpuid_identify_purpose_amd() (#189)
	* Support CPU purpose for AMD x86 CPUs (#189)
	* Add cpuid Linux and FreeBSD kernel modules for ARM CPUs
	* Improve errors handling in cpuid_get_all_raw_data() and cpuid_get_raw_data_core() (#202)
	* Support get_total_cpus() on DragonFly BSD
	* Improve set_cpu_affinity() on NetBSD
	* Fix build on OpenBSD
	* Improve behavior when CPU affinity cannot be set
	* Fix a regression in cpuid_tool about arguments doing nothing (like --rdmsr or --cpuid)
	* Fix a segmentation fault when using --quiet in cpuid_tool
	* Improve error handling in cpu_identify_all()
	* Add Python bindings (#197)
	* Support for AMD Granite Ridge
	* Support for AMD Strix Point
	* Detect x2APIC and AVX512 features for AMD x86 CPUs


Version 0.6.5 (2024-04-28):
	* Support for Intel Bay Trail-M
	* Support for Intel Bay Trail-T
	* Support for Intel Bay Trail-D
	* Support for AMD Storm Peak
	* Support for Intel Raport Lake Refresh
	* Support heterogeneous RAW dumps in cpu_identify_all()
	* Support for Intel Meteor Lake, including detection of LP E-Cores
	* Support for Intel Emerald Rapids-SP
	* Support for more AMD Van Gogh


Version 0.6.4 (2023-10-08):
	* Support for AMD Genoa
	* Support for Intel Sapphire Rapids-WS
	* Support for Intel Skylake (server)
	* Support for Intel Cascade Lake
	* Support for Intel Ice-Lake (server)
	* Support for Intel Sapphire Rapids-SP
	* Improve support for Intel Arrandale (Pentium and Celeron)
	* Fix support for Intel Sandy Bridge-E (Core i7)
	* Support for AMD Phoenix
	* Support for Intel Raptor Lake-H/HX
	* Improve support for Intel Alder-Lake and Raptor-Lake P/U
	* Fix floating point exception in cpu_identify_all() for unsupported CPU vendor
	* Initial support for Centaur CPUs (VIA and Zhaoxin)
	* Support for Intel Apollo Lake
	* Fix build for NetBSD and DragonFly BSD (#190)
	* Support for AMD Dragon Range
	* Support for AMD Ryzen Z1


Version 0.6.3 (2023-04-02):
	* Support for Intel Pentium and Celeron for Alder Lake-S
	* Support for Intel Alder Lake-HX
	* Support for Intel Alder Lake-X
	* Fix detection of Intel Alder Lake-P
	* Fix infinite loop in set_cpu_affinity() on macOS
	* Fix a misprint of extended CPUID in cpuid_basic_identify()
	* Restore previous thread CPU affinity before returning from cpuid_get_all_raw_data() (#184)
	* Query CPU info at least once even if set_cpu_affinity() fails
	* Support for AMD 19h family MSRs
	* Fix detection of Intel Core i5 Lynnfield
	* Rename set_error() to cpuid_set_error() and get_error() to cpuid_get_error() (#188)
	* Support for Intel Alder Lake-N
	* Support for AMD Rembrandt with Radeon Graphics
	* Support for Intel Raptor Lake-S with "Golden Cove" cores
	* Support for Intel Raptor Lake-P
	* Support for Intel Raptor Lake-U
	* Support for Intel Rocket Lake-E


Version 0.6.2 (2022-11-11):
	* Fix segmentation fault in cpu_identify_all() for single-core CPUs
	* Support for Intel Penryn L
	* Support for Intel Tremont
	* Support for AMD Mendocino
	* Support for Intel Ice Lake (Xeon-D)
	* Support for AMD Zen 2 Desktop Kit CPUs (4700S + 4800S)
	* Support for AMD Athlon 64 Sherman


Version 0.6.1 (2022-10-23):
	* Support for AMD Raphael
	* Support for AMD Dali
	* Support for AMD Van Gogh
	* Fix stuck cpuid_tool due to set_cpu_affinity() on Windows (#172)
	* Remove AMD Warhol from DB (Zen3+ cancelled)
	* Fix physical core count computed by cpu_identify_all() when HT is disabled (#175)
	* Fix shared library symlinks with CMake (#174)
	* Support for Intel Raptor Lake-S


Version 0.6.0 (2022-09-23):
	* Support for Intel Tiger Lake
	* CPU Family/Model is used as Ext.Family/Model
	* Use popcount64 from libc when available (#152)
	* Reduce minimum CMake requirement 3.14 to 3.13
	* Do not link with msrdriver.c on non-Windows platform (#159)
	* Report memory allocation failures without making a segmentation fault (#160)
	* Support for AMD Lucienne
	* Support for AMD Rembrandt
	* Support for AMD Warhol
	* Remove Debian package from source tree (#165)
	* Fix build under Clang 15 (#167)
	* Support for AMD Athlon Godavari
	* Support for hybrid CPU like Intel Alder Lake (#166)
	* Detect presence of hypervisor (#169)
	* Decode deterministic cache info for AMD CPUs (#168)
	* Add cache instances field in cpu_id_t and system_id_t (#168)
	* Support AMD Bald Eagle
	* Support for more AMD Godavari (Athlon)
	* Rename AMD Bulldozer to Zambezi
	* Support for AMD Interlagos
	* Support for AMD Abu Dhabi
	* Support for AMD Beema
	* Support for AMD Steppe Eagle
	* Support for more AMD Kabini (Sempron + Athlon)
	* Improve msr_serialize_raw_data()
	* Support for AMD Zen 2 custom APU for Steam Deck
github-actions Bot pushed a commit that referenced this pull request Dec 4, 2025
What's Changed

    Bump clap from 4.4.16 to 4.4.17 by dependabot[bot] in #4
    Add .rustfmt.toml by akiomik in #5
    Bump nostr-sdk version to 0.27 by akiomik in #6
    Use nostr_sdk::Metadata instead of create::nostr::Metadata by akiomik in #7
    Use nip-21 by akiomik in #8
    Add NetBSD, fix typo and grammar by 0323pin in #9
    Bump clap from 4.4.17 to 4.4.18 by dependabot[bot] in #12
    Bump chrono from 0.4.31 to 0.4.33 by dependabot[bot] in #13
    Bump serde from 1.0.195 to 1.0.196 by dependabot[bot] in #15
    Bump serde_json from 1.0.111 to 1.0.113 by dependabot[bot] in #16
    Bump strum from 0.25.0 to 0.26.1 by dependabot[bot] in #14
    Bump config from 0.13.4 to 0.14.0 by dependabot[bot] in #18
    Bump tokio from 1.35.1 to 1.36.0 by dependabot[bot] in #20
    Bump ratatui version to v0.26.0 by akiomik in #21
    Bump ratatui from 0.26.0 to 0.26.1 by dependabot[bot] in #24
    Bump tui-widget-list from 0.7.0 to 0.7.1 by dependabot[bot] in #23
    Bump clap from 4.5.0 to 4.5.1 by dependabot[bot] in #27
    Bump chrono from 0.4.33 to 0.4.34 by dependabot[bot] in #22
    Bump serde_json from 1.0.113 to 1.0.114 by dependabot[bot] in #30
    Bump serde from 1.0.196 to 1.0.197 by dependabot[bot] in #29
    Bump mio from 0.8.10 to 0.8.11 by dependabot[bot] in #33
    Bump log from 0.4.20 to 0.4.21 by dependabot[bot] in #32
    Bump strum from 0.26.1 to 0.26.2 by dependabot[bot] in #36
    Bump chrono from 0.4.34 to 0.4.35 by dependabot[bot] in #35
    Bump clap from 4.5.1 to 4.5.2 by dependabot[bot] in #34
    Bump clap from 4.5.2 to 4.5.3 by dependabot[bot] in #39
    Bump color-eyre from 0.6.2 to 0.6.3 by dependabot[bot] in #38
    Bump regex from 1.10.3 to 1.10.4 by dependabot[bot] in #40
    Bump tokio from 1.36.0 to 1.37.0 by dependabot[bot] in #43
    Bump serde_json from 1.0.114 to 1.0.115 by dependabot[bot] in #42
    Bump chrono from 0.4.35 to 0.4.37 by dependabot[bot] in #41
    Bump h2 from 0.3.24 to 0.3.26 by dependabot[bot] in #44
    Bump clap from 4.5.3 to 4.5.4 by dependabot[bot] in #45
    Bump ratatui from 0.26.1 to 0.26.2 by dependabot[bot] in #48
    Bump rstest from 0.18.2 to 0.19.0 by dependabot[bot] in #46
    Bump chrono from 0.4.37 to 0.4.38 by dependabot[bot] in #47
    Bump serde from 1.0.197 to 1.0.198 by dependabot[bot] in #52
    Bump rustls from 0.21.10 to 0.21.11 in the cargo group across 1 directory by dependabot[bot] in #50
    Bump serde_json from 1.0.115 to 1.0.116 by dependabot[bot] in #51
    Bump human-panic from 1.2.3 to 2.0.0 by dependabot[bot] in #53
    Bump serde from 1.0.198 to 1.0.199 by dependabot[bot] in #55
    Bump unicode-width from 0.1.11 to 0.1.12 by dependabot[bot] in #54
    Bump tokio-util from 0.7.10 to 0.7.11 by dependabot[bot] in #59
    Bump serde from 1.0.199 to 1.0.200 by dependabot[bot] in #58
    Bump libc from 0.2.153 to 0.2.154 by dependabot[bot] in #56
    Bump serde_json from 1.0.116 to 1.0.117 by dependabot[bot] in #62
    Bump serde from 1.0.200 to 1.0.201 by dependabot[bot] in #61
    Fix clippy::assigning_clones by akiomik in #69
    Use rust-toolchainstable instead of nightly by akiomik in #68
    Bump serde from 1.0.201 to 1.0.203 by dependabot[bot] in #67
    Bump ratatui from 0.26.2 to 0.26.3 by dependabot[bot] in #65
    Bump libc from 0.2.154 to 0.2.155 by dependabot[bot] in #64
    Bump tokio from 1.37.0 to 1.38.0 by dependabot[bot] in #72
    Bump rstest from 0.19.0 to 0.21.0 by dependabot[bot] in #71
    Bump clap from 4.5.4 to 4.5.7 by dependabot[bot] in #76
    Bump regex from 1.10.4 to 1.10.5 by dependabot[bot] in #73
    Bump nostr-sdk version to 0.28.0 by akiomik in #77
    Bump unicode-width from 0.1.12 to 0.1.13 by dependabot[bot] in #75
    Bump nostr-sdk version to 0.29 by akiomik in #78
    Bump strum from 0.26.2 to 0.26.3 by dependabot[bot] in #81
    Bump lazy_static from 1.4.0 to 1.5.0 by dependabot[bot] in #79
    Bump clap from 4.5.7 to 4.5.8 by dependabot[bot] in #83
    Bump serde_json from 1.0.117 to 1.0.120 by dependabot[bot] in #85
    Bump serde from 1.0.203 to 1.0.204 by dependabot[bot] in #86
    Bump log from 0.4.21 to 0.4.22 by dependabot[bot] in #89
    Bump clap from 4.5.8 to 4.5.9 by dependabot[bot] in #92
    Bump serde_json from 1.0.120 to 1.0.121 by dependabot[bot] in #94
    Bump rstest from 0.21.0 to 0.22.0 by dependabot[bot] in #97
    Bump human-panic from 2.0.0 to 2.0.1 by dependabot[bot] in #98
    Bump serde_json from 1.0.121 to 1.0.125 by dependabot[bot] in #100
    Bump clap from 4.5.9 to 4.5.16 by dependabot[bot] in #102
    Bump libc from 0.2.155 to 0.2.158 by dependabot[bot] in #103
    Bump regex from 1.10.5 to 1.10.6 by dependabot[bot] in #104
    Bump tokio-util from 0.7.11 to 0.7.12 by dependabot[bot] in #105
    Bump pretty_assertions from 1.4.0 to 1.4.1 by dependabot[bot] in #107
    Bump serde_json from 1.0.125 to 1.0.132 by dependabot[bot] in #108
    Bump human-panic from 2.0.1 to 2.0.2 by dependabot[bot] in #109
    Bump config from 0.14.0 to 0.14.1 by dependabot[bot] in #110
    Bump sorted-vec from 0.8.3 to 0.8.5 by dependabot[bot] in #111
    Bump libc from 0.2.158 to 0.2.164 by dependabot[bot] in #112
    Bump futures from 0.3.30 to 0.3.31 by dependabot[bot] in #114
    Bump libc from 0.2.164 to 0.2.168 by dependabot[bot] in #116
    Bump chrono from 0.4.38 to 0.4.39 by dependabot[bot] in #117
    Bump tokio from 1.38.0 to 1.42.0 by dependabot[bot] in #118
    Bump tracing-error from 0.2.0 to 0.2.1 by dependabot[bot] in #119
    Bump serde from 1.0.204 to 1.0.217 by dependabot[bot] in #120
    Bump tracing-subscriber from 0.3.18 to 0.3.19 by dependabot[bot] in #121
    Bump serde_json from 1.0.132 to 1.0.137 by dependabot[bot] in #122
    Bump regex from 1.10.6 to 1.11.1 by dependabot[bot] in #123
    Bump log from 0.4.22 to 0.4.25 by dependabot[bot] in #124
    Bump libc from 0.2.168 to 0.2.169 by dependabot[bot] in #126
    Bump unicode-width from 0.1.13 to 0.2.0 by dependabot[bot] in #127
    Bump serde_json from 1.0.137 to 1.0.139 by dependabot[bot] in #128
    Bump libc from 0.2.169 to 0.2.170 by dependabot[bot] in #129
    Bump ring from 0.17.7 to 0.17.13 in the cargo group by dependabot[bot] in #130
    Bump config from 0.14.1 to 0.15.11 by dependabot[bot] in #131
    Bump chrono from 0.4.39 to 0.4.40 by dependabot[bot] in #133
    build: fix rust toolchain channel by akiomik in #135
    Bump tokio from 1.42.0 to 1.43.1 in the cargo group by dependabot[bot] in #134
    Bump log from 0.4.25 to 0.4.27 by dependabot[bot] in #136
    Bump tokio from 1.43.1 to 1.44.2 by dependabot[bot] in #137
    Bump clap from 4.5.16 to 4.5.18 by dependabot[bot] in #139
    Bump strum from 0.26.3 to 0.27.1 by dependabot[bot] in #140
    Bump chrono from 0.4.40 to 0.4.41 by dependabot[bot] in #141
    Bump sorted-vec from 0.8.5 to 0.8.6 by dependabot[bot] in #142
    Bump config from 0.15.11 to 0.15.13 by dependabot[bot] in #143
    build(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in the cargo group by dependabot[bot] in #145
    build(deps): bump tokio from 1.44.2 to 1.46.1 by dependabot[bot] in #144
    build(deps): bump serde from 1.0.217 to 1.0.226 by dependabot[bot] in #148
    build(deps): bump tokio-util from 0.7.12 to 0.7.16 by dependabot[bot] in #149
    build(deps): bump directories from 5.0.1 to 6.0.0 by dependabot[bot] in #150
    build(deps): bump color-eyre from 0.6.3 to 0.6.5 by dependabot[bot] in #151
    build(deps): bump serde from 1.0.226 to 1.0.228 by dependabot[bot] in #152
    fix: update human-panic API usage for v2.0 compatibility by akiomik in #153
    test: fix config test to work with existing config files by akiomik in #154
    build: upgrade Rust toolchain to 1.91.1 and fix clippy warnings by akiomik in #155
    feat: update TUI dependencies with API compatibility fixes by akiomik in #156
    refactor: migrate from deprecated ListableWidget to PreRender trait by akiomik in #157
    feat: update TUI dependencies to latest versions by akiomik in #158
    refactor: migrate to tui-widget-list ListView API and remove deprecated warnings by akiomik in #159
    feat: upgrade nostr-sdk to 0.31.0 with Tag API migration by akiomik in #160
    feat: add EventSet collection to replace manual event deduplication by akiomik in #161
    feat: upgrade nostr-sdk to 0.32.0 and fix TagStandard API changes by akiomik in #162
    feat: upgrade-nostr-sdk-to-0.33.0 by akiomik in #163
    feat: upgrade nostr-sdk to 0.35.0 and fix deprecated API usage by akiomik in #164
    feat: update nostr-sdk to 0.36.0 by akiomik in #165
    feat: upgrade nostr-sdk to 0.37.0 by akiomik in #166
    feat: upgrade nostr-sdk to 0.38.0 with API parameter fixes by akiomik in #167
    feat: upgrade to nostr-sdk 0.39.0 with separate timeline and profile subscriptions by akiomik in #168
    feat: upgrade to nostr-sdk 0.40.0 and simplify EventId::to_bech32() usage by akiomik in #169
    feat: upgrade nostr-sdk to 0.44.0 by akiomik in #170
    feat: add lib.rs by akiomik in #171
    ci: add spelling workflow by akiomik in #172
    chore: bump version to 0.1.1 by akiomik in #173
github-actions Bot pushed a commit that referenced this pull request Dec 22, 2025
2.2.0
 - feat: blinking selected cell cursor by @thomas-mauran in #169
 - feat: improve the color selection popup by @thomas-mauran in #171
 - feat: allow engine to have an argument too by @thomas-mauran in #172
 - feat: deb build by @thomas-mauran in #173

2.1.2
 - build on intel macos

2.1.1
 - fix style for the vertical alignment of the left side number
 - fix the piece style with different scaling

2.1.0
 - ci: build for aarch64-macos, aarch64-linux and x64-windows as well by @jarjk in #162
 - feat: add sounds by @thomas-mauran in #161
 - feat: lichess + doc + disconnect by @thomas-mauran in #165
 - feat: bot auto install script and debug popup by @thomas-mauran in #166
 - docs: blog posts + releases blog posts by @thomas-mauran in #167

2.0.0
 - shakmaty integration by @tigerros in #137
 - feat: skins by @thomas-mauran in #152
 - Feat/move through history by @thomas-mauran in #153
 - Fix exit while hosting by @Andrada42 in #155
 - Feat/lichess by @thomas-mauran in #156
github-actions Bot pushed a commit that referenced this pull request Feb 26, 2026
Changelog:
### 1.10.3 - 15 December 2025

 * *fix:* stop truncating the process title set by **--extra-display**

### 1.10.2 - 22 November 2025

 * *i18n:* Finnish translations updated
 * *cleanup:* adjust valgrind suppressions so memory safety tests work on LTO builds ([#174](https://codeberg.org/ivarch/pv/issues/174)/[Debian bug 1121157](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1121157))

### 1.10.1 - 12 November 2025

 * *fix:* correct **--watchfd** memory allocation error when given multiple arguments ([#170](https://codeberg.org/ivarch/pv/issues/170))

### 1.10.0 - 7 November 2025

 * *feature:* new **--query** option to show the transfer status of another running **pv** ([#101](https://codeberg.org/ivarch/pv/issues/101))
 * *fix:* make the timers work consistently in **--watchfd** if paused and resumed ([#169](https://codeberg.org/ivarch/pv/issues/169))

### 1.9.44 - 18 October 2025

 * *feature:* new **--sparse** option to write sparse output ([#45](https://codeberg.org/ivarch/pv/issues/45))
 * *fix:* don't clear the **--watchfd** display when the watched process ends ([#81](https://codeberg.org/ivarch/pv/issues/81))

### 1.9.42 - 11 October 2025

 * *feature:* permit multiple arguments to **--watchfd** ([#12](https://codeberg.org/ivarch/pv/issues/12))
 * *feature:* new "**=NAME**" syntax for **--watchfd** to watch processes by name using **pgrep**(1) ([#95](https://codeberg.org/ivarch/pv/issues/95))
 * *feature:* new "**@ListFile**" syntax for **--watchfd** to watch processes listed in a file
 * *fix:* improve support for changing the format of a **--watchfd** process with **--remote**
 * *fix:* don't read more than **--size** bytes when using **--stop-at-size** ([#166](https://codeberg.org/ivarch/pv/issues/166))
 * *fix:* transfer nothing if **--stop-at-size** is given a **--size** of 0 ([#166](https://codeberg.org/ivarch/pv/issues/166))
 * *i18n:* Finnish translation stub added
 * *i18n:* Turkish translations updated

### 1.9.34 - 26 July 2025

 * *fix:* prevent tight loop consuming CPU when waiting for a partially filled output pipe to be drained ([#164](https://codeberg.org/ivarch/pv/issues/164))
 * *fix:* correct a memory handling fault when using **--bar-style** with **--watchfd** ([#163](https://codeberg.org/ivarch/pv/issues/163))
 * *i18n:* French translations updated
github-actions Bot pushed a commit that referenced this pull request Mar 26, 2026
2.51 2026-03-20 (by Todd Rinaldo)

  Fixes:
    - PR #184 GH #182 Fix compile warnings from Fedora gcc: unhandled enum
      value in switch and uninitialized variables in parse_stream
    - PR #186 GH #183 Add explicit case labels for XML_CTYPE_EMPTY and
      XML_CTYPE_ANY in generate_model switch to fix -Wswitch on BSD/clang
    - PR #175 GH #174 Add XML_DTD/XML_GE compile-time guards to AllocTracker
      and BillionLaughs XS bindings to fix warnings when expat lacks these flags
    - PR #187 GH #185 Require proper declaration in AllocTracker feature
      detection to prevent implicit function declaration on BSD

  Improvements:
    - PR #189 GH #188 Add tests for XS functions modified in PR #184 covering
      XML_ErrorString, XML_GetBase/XML_SetBase, and generate_model

  Maintenance:
    - PR #181 GH #180 Add Fedora 43 container job to CI test matrix
    - PR #178 Add BSD testing (FreeBSD, OpenBSD, NetBSD) to CI
    - PR #179 Add no-lwp CI job to validate test suite without LWP::UserAgent
    - Update MANIFEST

2.49 2026-03-19 (by Todd Rinaldo)

  Improvements:
    - PR #171 Expose expat library version at runtime via expat_version()
      and expat_version_info() class methods on XML::Parser::Expat
    - PR #169 GH #168 Expose Expat 2.7.2 AllocTracker security APIs
      (AllocTrackerMaximumAmplification, AllocTrackerActivationThreshold)

  Maintenance:
    - PR #170 Clean up build configuration: remove dead CAPI code from
      Makefile.PL and Expat/Makefile.PL, add test dependencies to cpanfile
github-actions Bot pushed a commit that referenced this pull request Apr 30, 2026
Most of the changes from v0.11 are related to video filtering options for everything, and developer debug tools for Genesis and add-ons.

TV-based consoles now support an NTSC composite video filter that attempts to be much more authentic than the existing simple blur shaders, and all consoles now support xBRZ and MMPX upscaling filters. There are several other video shader/filtering changes noted below in the full changelog.

Genesis / Sega CD / 32X now support some basic CPU debugging tools in the form of disassembly views, CPU register views, read/write/execute breakpoints, and step-by-instruction. There are also new register views for the two Genesis sound chips and more information in the color palette views.

OpenGL is no longer supported as a graphics backend, only Vulkan and DirectX 12. Some of the new video filtering code uses graphics backend features that are not supported in OpenGL, and I decided to remove support rather than maintain an alternate code path solely for GL compatibility.

Save states are not compatible with previous versions for most systems.

Full changelog below:
New Features

    Added an NTSC composite video shader (in Video > Filtering)
        For video filtering reasons, this only works with the emulated systems that directly support TV video output and use 1 of 2 supported video clock rates (Genesis, SMS, SG-1000, NES, SNES)
        For NES specifically, enabling this shader also makes the emulated NES PPU directly output an NTSC video signal instead of generating RGB pixels, which is much more accurate to how actual hardware generates video
    Added some other video shader/filter options (#496)
        xBRZ image upscaling filter by Zenju, with 2x through 6x upscaling options
        MMPX pixel art magnification filter by Morgan McGuire & Mara Gagiu
        The scanlines filter now supports multiple different brightness levels instead of only 50% (previously "Dim") and 0% (previously "Black")
        Added a new option to render using supersampling when the display window is significantly smaller than the frame size (either natively or because of shaders), which reduces aliasing in some cases
        The anti-dither heuristic filter is now a separate setting from the video shader, so you can enable it in combination with the xBRZ or MMPX upscaling filters
    Added a new video option to rotate the frame in increments of 90°, meant for handheld games/demos that are designed around rotating the console (#169)
    (Genesis) Lots of new debugging functionality within the Memory Viewer window:
        Disassembly views for each emulated CPU, including the Sega CD sub CPU and 32X SH-2s when they are present
        Current register values for each emulated CPU
        Read/write/execute breakpoints for specific memory addresses and for address ranges; emulator execution halts mid-instruction when a breakpoint is hit
        Interactive step-by-instruction for each emulated CPU
        Added register/state viewers for the YM2612 and SN76489 sound chips
        CRAM and 32X palette RAM viewers now show detailed information for colors by hovering over them, and you can click on a color to pin its state to a new side panel
    (Sega CD) When running a multi-disc game, the GUI now attempts to auto-detect other discs and supports changing to any found disc in the Emulation > Change Disc menu
        Note this is based purely on the filename containing "(Disc N)", and it will only search in the same directory as the loaded disc's CUE/CHD file
        There is still a "Select file..." option if auto-detection fails to locate the other discs or if you want to change to a non-auto-detected disc

Improvements

    Emulator backends can now see inputs updates at any time rather than only once per frame, which may slightly reduce input latency in some games depending on when they read inputs
        Note this behavior is heavily affected by sync settings; VSync enabled and frame time sync enabled both cause most inputs updates to occur near the start of the vertical blanking period (fairly similar to previous behavior)
    Horizontal blur shaders now blend colors in sRGB color space instead of linear color space
        This is very wrong from an ideal image processing perspective, but it produces colors much closer to what show up on a TV over contemporary video cables (e.g. RF or composite)

Fixes

    (Genesis) Many invalid memory address reads now return open bus instead of a hardcoded 0xFFFF value; this fixes Sonic 3D Blast: Director's Cut freezing when you enter a password that has the final stage unlocked (#630)
    (Genesis / SMS / Game Gear) More accurate emulation of how the Z80's R register is updated during/after each instruction (some games read the R register as a source of pseudo-randomness)
    (Sega CD) Fixed The Smurfs incorrectly being auto-detected as US/NTSC instead of EU/PAL (#624)
    (NES) When the PPU is in greyscale mode, palette RAM reads through PPUDATA now always have the 4 hue bits masked out (#551)
    (GBA) Fixed certain (officially) undefined ARM opcodes from crashing the emulator (#629)
    On Windows, implemented a workaround for a color space bug that sometimes caused colors to be way too dark when using the Vulkan backend with an AMD GPU

Removed Features

    The OpenGL wgpu backend option has been removed. The OpenGL backend lacks features compared to the Vulkan/DX12/WebGPU backends, and this started to cause problems while implementing the new shaders, so I removed it as an option
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
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 May 14, 2026
* Add Makefile.common to prepare for geography/py-gdal

Changelog:
= GDAL/OGR 2.2.3 Release Notes =

The 2.2.3 release is a bug fix release.

== Build ==

 * nmake.opt: Ensure PDB is included in release DLL if WITH_PDB requested (#7055)

== Port ==

 * /vsicurl/ and derived filesystems: redirect ReadDir() to ReadDirEx() (#7045)
 * /vsicurl/: enable redirection optimization on signed URLs of Google Cloud Storage. Helps for the PLScenes driver (#7067)
 * /vsicurl/: fix 2.2 regression regarding retrieval of file size of FTP file (#7088)
 * /vsis3/: fix to avoid invalid content to be sent if Write() writes more than 50 MB in a single call (#7058)
 * /vsis3/: fix Seek(Tell(), SEEK_SET) fails if current position is not 0 (#7062)
 * /vsis3/: fix support of non-ASCII characters in keys (#7143, #7146)
 * Fix CPLCopyTree() that doesn't properly on MSVC 2015 (and possibly other platforms) (#7070)

== Algorithms ==

 * RPC transformer: set output coordinates to HUGE_VAL when failure occurs, so that a following coordinate transformation can detect the error too (#7090)
 * GDALGrid() with linear algorithm: avoid assertions/segmentation fault when GDALTriangulationFindFacetDirected() fails (#7101)
 * GDALComputeProximity(): fix int32 overflow when computing distances on large input datasets (#7102)
 * GDALResampleChunk32R_Gauss: fix potential out of bounds access (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4056)

== GDAL utilities ==

 * gdalwarp: fix issue with GDALAdjustValueToDataType(Float32, +/- inf)  that didn't preserve infinity, which affected gdalwarp -dstnodata inf (#7097)
 * gdalwarp -crop_to_cutline: reduce number of iterations to find the appropriate densification (#7119)
 * gdal_contour: return with non-0 code if field creation or contour generation failed (#7147)

== GDAL drivers ==

GeoRaster driver:
 * fix int overflow (#6999)

GPKG driver:
 *  speed-up statistics retrieval on non-Byte datasets (#7096)

GRIB driver:
 * if GRIB_ADJUST_LONGITUDE_RANGE config option is set to YES, adjust the longitude range to be close to [-180,180] when possible for products whose left origin is close to 180deg. (#7103)

GSAG driver:
 * avoid assertion on some files with nul characters (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3726)

GTiff driver:
 * make sure that -co PHOTOMETRIC=RGB overrides the color interpretation of the first 3 bands of the source datasets (#7064)
 * on reading use GeogTOWGS84GeoKey to override the defaults TOWGS84 values coming from EPSG code (#7144)
 * fix potential crash when reading in RGBA mode with internal libtiff (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4157)
 * fix potential crash with old-jpeg compression and internal libtiff (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4180)

HTTP driver:
 * do not open the underlying dataset with GDAL_OF_SHARED, to avoid later assertion

JP2KAK driver:
 * fix unix build with Kakadu 7.A and later (#7048, #7081)

JPEG driver:
 * Add compatibility with libjpeg-turbo 1.5.2 that honours max_memory_to_use (cf https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162)

JP2OpenJPEG driver:
 * Add support for openjpeg 2.3 (#7074)

netCDF driver:
 * fix raster read as nodata with Byte datatype, (valid_range={0,255} or _Unsigned = True) and negative _FillValue (#7069)
 * be more tolerant on the formatting of standard parallel (space separated instead of {x,y,...} syntax), and accept up to 2/1000 error on spacing to consider a regular grid, to be able to read files provided by the national weather institute of Netherlands (KNMI) (#7086)

PDF driver:
 * round to upper integer when computing a DPI such that page size remains within limits accepted by Acrobat (#7083)

Sentinel2 driver:
 * add support for direct opening of .zip files of new safe_compact L1C products (#7085)

VRT driver:
 * avoid error being emitted when opening a VRTRawRasterBand in a .zip files (#7056)

== OGR core ==

 * Fix OGR[Curve]Polygon::Intersects(OGRPoint*) to return true when point is on polygon boundary (#7091)
 * importFromWkt(): fix import of GEOMETRYCOLLECTION ending with POINT EMPTY or LINESTRING EMPTY (#7128, 2.1 regression)

== OGR utilities ==

 * ogrtindex: fix crash when using -f SQLITE -t_srs XXXX (#7053)

== OGR drivers ==

Amigocloud driver:
 * Fixed data field types (https://github.com/OSGeo/gdal/pull/246)
 * Output list of datasets if dataset id is not provided.
 * Implemented waiting for job to complete on the server. This will improve write to AmigoCloud reliability.
 * Updated documentation.

FileGDB driver:
 * remove erroneous ODsCCreateGeomFieldAfterCreateLayer capability declaration (https://github.com/OSGeo/gdal/pull/247)

GeoJSON driver:
 * ESRIJson: recognize documents that lack geometry fields (#7071)
 * ESRIJson: recognize documents starting with a very long fieldAliases list (#7107)

GeoRSS driver:
 * fix detection of field type (#7108)

GML driver:
 * fix FORCE_SRS_DETECTION=YES effect on feature count and SRS reporting on gml files with .gfs (#7046)
 * do not try to open kml files (#7061)
 * GML geometry parsing: fix robustness issue with gml:PolyhedralSurface
 * do not report gml:name / gml:description of features as layer metadata

GPKG driver:
 * do not try to update extent on gpkg_contents after GetExtent() on a empty layer of a datasource opened in read-only mode

GTM driver:
 * fix null pointer dereference in case of read error (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4047)

KML / LIBKML drivers:

MDB driver:
 * fix multi-thread support (https://issues.qgis.org/issues/16039)

MITAB driver
 * do not emit error if the .ind file is missing, just a debug message (#7094)

MySQL:
 * fix build with MariaDB 10.2 (#7079)

OCI driver:
 * initialize in multi-threaded compatible mode to fix QGIS related crashes (https://issues.qgis.org/issues/17311), and fix a few memleaks

ODS driver:
 * avoid using CPLSPrintf() return directly with VSIFOpenL() as the temp buffer might be later recycled (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4050)

PLScenes driver:
 * backport data/plscenesconf.json from trunk to add SkySatScene fields

Shapefile driver:
 *  Fix GetFeatureCount() to properly take into account spatial filter when attribute filter also in effect (#7123)

SQLite/Spatialite driver:
 * don't invalidate statistics when running a PRAGMA (https://issues.qgis.org/issues/17424)
 * SQLite dialect: support SQLite 3.21, and LIKE, <>, IS NOT, IS NOT NULL, IS NULL and IS operators (#7149)

XLS driver:
 * workaround opening filenames with incompatible character set on Windows (https://issues.qgis.org/issues/9301)

XLSX driver:
 * fix non working detection of Date/Time fields in some documents (#7073)
 * fix opening of documents with x: namespace in xl/workbook.xml (#7110)
 * avoid using CPLSPrintf() return directly with VSIFOpenL() as the temp buffer might be later recycled (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4050)

== SWIG bindings ==

 * map GRA_Max, GRA_Min, GRA_Med, GRA_Q1 and GRA_Q3 (#7153)

== Python bindings ==

 * remove 'from . import _gdal_array' line from gdal_array.py that is not necessary with normal execution of the bindings, and cause errors with PyInstaller (#7044)

= GDAL/OGR 2.2.2 Release Notes =

The 2.2.2 release is a bug fix release.

== Build ==

 * Windows build: always build the PDF driver, even when none of poppler/podofo/pdfium are available, in which case it is write-only (#6938)
 * Compilation fixes on Ubuntu 16.04 with explicit --std=c++03 (#6952)

== Port ==

 * /vsigzip/: make Eof() detect end of stream when receive a Z_BUF_ERROR error. Fixes #6944.
 * Fix memleak in VSIGSFSHandler::GetFileList()
 * /vsigzip/: avoid trying to write a .gz.properties file on a /vsicurl/ file (#7016)
 * Fix registration of /vsicrypt/ file system handler when compiled as a plugin (#7030)
 * CPLStrtod(): parse string like '-1.#IND0000000' as NaN instead of -1 (#7031)

== Algorithms ==

  * Warper: when operating on single-band, skip target pixels whose source center pixel is nodata (2.2 regression, #7001)
  * Warper: avoid blocking when number of rows is 1 and NUM_THREADS > 1 (#7041). Also limit the number of threads so that each one processes at least 65536 pixels

== GDAL core ==

 * GDALGCPsToGeoTransform(): add GDAL_GCPS_TO_GEOTRANSFORM_APPROX_OK=YES and GDAL_GCPS_TO_GEOTRANSFORM_APPROX_THRESHOLD=threshold_in_pixel configuration option (#6995)
 * Fix issue with GDALProxyRasterBand::FlushCache() not flushing everything required (#7040)
 * RawDataset::IRasterIO(): don't assume all bands are RawRasterBand

== GDAL utilities ==

 * gdal2tiles.py: fix GDAL 2.2 regression where tilemapresource.xml was no longer generated (#6966)
 * gdal_translate/DefaultCreateCopy(): do not destroy target file in case of failed copy wen using -co APPEND_SUBDATASET=YES (#7019)
 * gdal_translate: make -b mask[,xx] use the appropriate band data type (#7028)

== GDAL drivers ==

GeoRaster driver:
 * add support for GCP (#6973)

GPKG driver:
 * do not error out if extent in gpkg_contents is present but invalid (#6976)
 * fix opening subdatasets with absolute filenames on Windows (https://issues.qgis.org/issues/16997)
 * fix possible assertion / corruption when creating a raster GeoPackage (#7022)

GSAG driver:
 * fix reading issue that could cause a spurious 0 value to be read and shift all following values (#6992)

GTiff driver:
 * fix reading subsampled JPEG-in-TIFF when block height = 8 (#6988)
 * when reading a COMPD_CS (and GTIFF_REPORT_COMPD_CS=YES), set the name from the GTCitationGeoKey (#7011)

GTX driver:
 * do not emit error when opening with GDAL_PAM_ENABLED=NO (#6996)

HF2 driver:
 * fix reading tiles that are 1-pixel wide (2.1 regression, #6949)

IDRISI driver:
 * Fix memleak in IDRISI Open()

ISIS3 driver:
 * make sure that -co USE_SRC_HISTORY=NO -co ADD_GDAL_HISTORY=NO results in remove of History section (#6968)
 * fix logic to initialize underlying GeoTIFF file in IWriteBlock(), and implement Fill() (#7040)

JPEG2000 driver:
 * Fix build failure in C++03 mode on Jasper inclusion in RHEL 6 (#6951)
 * Fix build failure with recent Jasper that no longer define uchar

JP2OpenJPEG driver:
 * Add support for building against OpenJPEG 2.2 (#7002)
 * fix performance issues with small images with very small tile size, such as some Sentinel2 quicklooks (#7012)
 * properly use the opj_set_decode_area() API (#7018)

netCDF driver:
 * avoid vector vs raster variable confusion that prevents reading Sentinel3 datasets, and avoid invalid geolocation array to be reported (#6974)

PDF driver:
 * add support for Poppler 0.58 (#7033)

PDS driver:
 * fix parsing of labels with nested list constructs (2.2 regression, #6970)

SRTMHGT driver:
 * recognizes the .hgt.gz extension (#7016)

VRT driver:
 * avoid stack buffer read overflow with complex data type and scale = 0. (oss-fuzz#2468)
 * fix uninitialized buffer in areas without sources when using non pixel packed spacing (#6965)
 * Warped VRT: correctly take into account cutline for implicit overviews; also avoid serializing a duplicate CUTLINE warping options in warped .vrt (#6954)
 * Warped VRT: fix implicit overview when output geotransform is not the same as the transformer dst geotransform (#6972)
 * fix IGetDataCoverageStatus() in the case of non-simple sources, which unbreaks gdalenhance -equalize (#6987)

== OGR core ==

 * OGRCompondCurve::addCurveDirectly(): try reversing non contiguous curves (for GML/NAS)
 * OGR API SPY: fix the way we map dataset handles to variable name, to avoid invalid reuses of variable still active
 * OGRParseDate(): avoid false-positive time detection, in particular for GeoJSON (#7014)
 * OGRCurve::get_isClosed(): do not take into account M component (#7017)
 * OGRLineString::setPoint() and addPoint() with a OGRPoint* argument. properly takes into account ZM, Z and M dimensions (#7017)

== OGRSpatialReference ==

 * Fix OGRSpatialReference::IsSame() to return FALSE when comparing EPSG:3857 (web_mercator) and EPSG:3395 (WGS84 Mercator) (#7029)
 * importFromProj4(): implement import of Hotine Oblique Mercator Two Points Natural Origin, and fix OGRSpatialReference::Validate() for that formulation (#7042)

== OGR utilities ==

 * ogr2ogr: fix small memory leak when using -limit switch
 * ogr2ogr: make -f GMT work again (#6993)

== OGR drivers ==

AVCBin driver:
 * fix 2.1 regression regarding attributes fetching (#6950)

DXF driver:
 * fix reading files where INSERT is the last entity and DXF_MERGE_BLOCK_GEOMETRIES is false (#7006)
 * avoid segfault when creating a DXF file with only the 'blocks' layer (#6998)
 * fix potential null pointer dereference in PrepareLineStyle (#7038)

GeoJSON driver:
 * fix 2.2 regression regarding lack of setting the FeatureCollection CRS on feature geometries (fixes https://github.com/r-spatial/sf/issues/449#issuecomment-319369945)
 * prevent infinite recursion when reading geocouch spatiallist with properties.properties.properties (#7036)

GML driver:
 * fix field type detection logic to avoid a field with xsi:nil=true to be identified as a string (#7027)
 * JPGIS FGD v4: fix logic so that coordinate order reported is lon/lat (https://github.com/OSGeo/gdal/pull/241)

GMLAS driver:
 * fix memleak in swe:DataRecord handling
 * avoid false-positive warning about attribute found in document but ignored according to configuration, when the attribute is actually not present in the document but has a default value (#6956)
 * (quick-and-not-prefect) fix to avoid a <xs:any> to prevent all other fields from being set (#6957)
 * get the srsName when set on the srsName of the gml:pos of a gml:Point (#6962)
 * CityGML related fixes: better take into account .xsd whose namespace prefix is not in the document, fix discovery of substitution elements, handle gYear data type (#6975)

GPKG driver:
 * fix feature count after SetFeature() with sqlite < 3.7.8 (#6953)
 * do not take into account gpkg_contents for the extent of vector layers when it is present but invalid (#6976)
 * fix logic to detect FID on SQL result layer when several FID fields are selected (#7026)

KML / LIBKML drivers:
 * read documents with an explicit kml prefix (#6981)

MSSQLSpatial driver:
 * fix issues on x64 (#6930)
 * properly format DELETE statement with schema (#7039)

OCI driver:
 * check view with unquoted table name (#5552)

OpenFileGDB driver:
 * properly read GeneralPolygon with M component whose all values are set to NaN (#7017)

OSM driver:
 * increase string buffer for osm XML files (#6964)

Shapefile driver:
 * use VSIStatL() in Create() to properly work with /vsimem/ directories (#6991)
 * fix regression affecting GDAL 2.1.3 or later, 2.2.0 or later, when editing the last shape of a file and growing it, and then appending a new shape, which resulted in corruption of both shapes (#7031)

SQLite/Spatialite driver:
 * escape integer primary key column name on table creation (#7007)

== C# bindings ==

 * Implement RasterIO extensions (#6915)

== Python bindings ==

 * fix reference count issue on gdal.VSIStatL() when it returns None, that can cause Python crashes if None refcount drops to zero
 * add C-API to create driver instances for use in SWIG (https://trac.osgeo.org/osgeo4w/ticket/466)

== Security oriented fixes ==

Note: this is only a very partial backport of more extensive fixes done in GDAL trunk. Credit to OSS-Fuzz for all of them. (oss-fuzz#XXXX is a shortcut to
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=XXXX)

* NAS: avoid assertion / null ptr deref and possibly other failures on corrupted files. (oss-fuzz#2366, oss-fuzz#2580)
* NTF: avoid null ptr deref. Related to https://oss-fuzz.com/v2/testcase-detail/6527758899347456
* VSIMemHandle::Read(): avoid unwanted unsigned int overflow that cause a later heap buffer overflow. Fixes https://oss-fuzz.com/v2/testcase-detail/5227283000328192.
* MBTiles: fix use after free. (oss-fuzz#2388)
* netCDF: fix stack buffer overflow when building vector layers from netCDF variables if they don't have the expected number of dimensions. (oss-fuzz#2400)
* DXF: prevent infinite loop / excessive memory allocation on truncated file. (#oss-fuzz#2403)
* DXF: avoid excessive memory allocation. (oss-fuzz#2444)
* XYZ: fix write heap-buffer-overflow (oss-fuzz#2426)
* GTiff: make IGetDataCoverageStatus() properly set the current TIFF directory, and only implement it for 'normal' bands. To avoid heap buffer overflows. (oss-fuzz#2438)
* GTiff: avoid null pointer derefrence when requested implicit overviews on corrupted JPEG-compressed file. (oss-fuzz#2441)
* GTiff: avoid potential issue on corrupted files (oss-fuzz#2481)
* GTiff: don't override member nBlocksPerRow member of GTiffJPEGOverviewBand with unrelated value, in case of single-strip case. (oss-fuzz#3020)
* PCIDSK: for band interleave channel, correctly use pixel_offset in case it is different from pixel_size. (oss-fuzz#2440)
* MITAB: fix skipping of blank lines when reading MIF geometries, and avoid potential very loop loop. Fixes https://oss-fuzz.com/v2/testcase-detail/4516730841858048
* CPLKeywordParser: avoid potential heap buffer overflow read. (oss-fuzz#2706)
* CPLKeywordParser: avoid potential infinite loop. Fixes https://oss-fuzz.com/v2/testcase-detail/5733173726019584
* morphFromESRI(): fixes heap-after-free uses. (oss-fuzz#2864)
* OGR_VRT: fix null pointer dereference on GetExtent() on an invalid layer. (oss-fuzz#3017)
* OGR_VRT: avoid crash on cyclic VRT. (oss-fuzz#3123)
* OSM: avoid potential write heap buffer overflow on corrupted PBF files. (oss-fuzz#3022)
* FAST: fix potential read heap buffer overflow. (oss-fuzz#3025)
* CPG: avoid null pointer dereference on failed open. (oss-fuzz#3136)

= GDAL/OGR 2.2.1 Release Notes =

The 2.2.1 release is a bug fix release.

== Build ==
 * fix compilation without BIGTIFF_SUPPORT (#6890)
 * configure: detect if std::isnan() is available. Helps compilation on some MacOSX setups, combined together --without-cpp11. Refs https://github.com/macports/macports-ports/pull/480
 * fix compilation against ancient Linux kernel headers (#6909)
 * fix detection of 64bit file API with clang 5 (#6912)
 * configure: use .exe extension when building with mingw64* toolchains (fixes #6919)
 * mongoDB: compilation fix on Windows

== Port ==

* /vsicurl/: fix occasional inappropriate failures in Read() with some combinations of initial offset, file size and read request size (#6901)
* Add a VSICurlClearCache() function (bound to SWIG as gdal.VSICurlClearCache()) to be able to clear /vsicurl/ related caches (#6937)

== Algorithms ==

* GDALRasterize(): avoid hang in some cases with all_touched option (#5580)
* gdal_rasterize: fix segfault when rasterizing onto a raster with RPC (#6922)

== GDAL utilities ==

* ogr_merge.py: fix '-single -o out.shp in.shp' case (#6888)

== GDAL drivers ==

AIGRID driver:
  * fix handling on raw 32-bit AIG blocks

ENVISAT driver:
* fix 2.2 regression in initialization of members of MerisL2FlagBand. (#6929)

GeoRaster driver:
 * Fix memory allocation failure (#6884)
 * add support for JP2-F in BLOB compression (corrections on geo-reference) (#6861)

GPKG driver:
 * avoid corruption of gpkg_tile_matrix when building overviews, down to a level where they are smaller than the tile size (#6932)

GTIFF driver:
* Internal libtiff: fix libtiff 4.0.8 regression regarding creating of single strip uncompressed TIFF files (#6924)

netCDF driver:
 * add support for radian and microradian units for geostationnary projection (https://github.com/OSGeo/gdal/pull/220)

NWT_GRC driver:
 * Fix handling of alpha values in GRC color table (#6905)
 * Handle case of 0-len GRC class names (#6907)

VRT driver:
 * speed-up SerializeToXML() in case of big number of bands

XYZ driver:
 * fix 2.2 regression where the driver hangs on some dataset with missing samples (#6934)

== OGR utilities ==

* ogr2ogr/GDALVectorTranslate(): fix crash when using -f PDF -a_srs (#6920)

== OGR drivers ==

GeoJSON driver:
 * ESRIJson: avoid endless looping on servers that don't support resultOffset (#6895)
 * ESRIJson: use 'latestWkid' in priority over 'wkid' when reading 'spatialReference' (https://github.com/OSGeo/gdal/pull/218)
 * GeoJSON writer: accept writing ZM or M geometry by dropping the M component (#6935)

GPKG driver:
 * make driver robust to difference of cases between table_name in gpkg_contents/gpkg_geometry_columns and name in sqlite_master (#6916)

MITAB driver:
 * recognize Reseau_National_Belge_1972 / EPSG:31370 on writing (#6903)

MySQL driver:
 * fix compilation issue with Arch Linux and mariadb 10.1.23 (fixes #6899)

PG driver:
 * do not be confused by a 'geometry' table in a non-PostGIS enabled database (#6896)

PLScenes:
 * remove support for V0. Deprecate V1 API. Only Data V1 is supported ( #6933)

== Perl bindings ==

* Backport the fix to #6142 Install man page according to GDALmake.opt if INSTALL_BASE is set.
* always return something from non-void functions (#6898)

== Python bindings ==

* Accept callback = 0 since SWIG generates it as the default argument of BandRasterIONumPy(). Fixes https://github.com/OSGeo/gdal/pull/219
* Fix 2.2 regression preventing use of callback function in Band.ComputeStatistics() (#6927)

== Security oriented fixes ==

Note: this is only a very partial backport of more extensive fixes done in GDAL trunk. Credit to OSS-Fuzz for all of them (some have been found locally, so no related ticket)

* Fix CPLErrorSetState to ensure it does not write beyond DEFAULT_LAST_ERR_MSG_SIZE and correctly null-terminates last message. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1529.
* Open() and Stat() methods of a number of virtual file systems: check that the filename starts with the full prefix. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1543.
* VRT pixel functions: fix crash with 'complex' when source count is < 2. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1549
* OpenAIR: fix potential out-of-buffer read if we need to ingest 30000 bytes
* Several fixes in importFromWkb() and importFromWkt()
* GDALDataset and GDALRasterBand::ReportError(): fix crash if dataset name has a % character
* NASAKeywordHandler::SkipWhite(): fix out of bounds read
* MITAB: ParseTABFileFields(): fix out of bounds read.
* MITAB: ParseMIFHeader(): fix memory leak and out-of-bounds read on corrupted file
* MITAB: ParseMIFHeader(): fix memory leaks on corrupted files
* MITAB: avoid potentially veryyyy long loop when stroking arcs. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1644
* MITAB: avoid heap-buffer-overflow in MITABCoordSys2TABProjInfo(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1653
* OSARDataset::Open(): fix crash if pOpenInfo->fpL == NULL. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1565
* OGRESRIJSONReadPolygon(): fix crash in error code path
* DXF: prevent null ptr deref and out-of-bounds read on corrupted file
* DXF: TranslateSPLINE(): sanitize integer values read to avoid int overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1843
* KML::unregisterLayerIfMatchingThisNode(): use memmove() instead of memcpy(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1580
* KML: fix crash on weird structure with recursively empty folders. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1591
* KML: fix null ptr dereference on corrupted file. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1634
* OGRCurveCollection::importBodyFromWkb(): fix potential crash if the curve in the collection has not the same dimension has the collection dimension. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1584
* OGRCompoundCurve::importFromWkb(): avoid potential stack overflow. Fixes https://oss-fuzz.com/v2/testcase-detail/5192348843638784
* TIGER: fix potential stack buffer overflows. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1586 and 2020
* TIGER: avoid potential infinite looping. Fixes https://oss-fuzz.com/v2/testcase-detail/4724815883665408
* VFK: avoid out-of-bounds read. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1596 and 2074
* CPLHexToBinary(): avoid reading outside of hex2char array on on-ASCII input. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1606
* OGR PDS: avoid int32 overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=160
* GeoRSS: fix null pointer dereference on corrupted files. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1611.
* VSIArchiveFilesystemHandler::SplitFilename(): improve performance. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1597
* OGRGeometryFactory::organizePolygons(): fix crash on empty polygons. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1620
* JML: fix null pointer dereference on invalid files. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1622
* Shape: prevent null ptr deref on truncated MultiPointM geometry. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1638
* /vsisubfile/: avoid Tell() to return negative values. And make VSIIngestFile() more robust to unsigned overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1642
* GTM: avoid useless recursive opening of files when provided with a gzip-compressed input. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1650
* GTiff: fix heap-buffer-overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1677
* GTiff: avoid heap-buffer-overfow on corrupted State Plane citation. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2050
* GTiff: avoid potential stack buffer overflow on corrupted Imagine citation. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2105
* GTiff: prevent heap overflow and fix reading of multi-band band-interleaved 16/24-bit float datasets. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2264
* GTiff: fix potential infinite loop when parsing some 24-bit float denormalized numbers. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2315
* Internal libjson-c: fix stack buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1682
* ILI1/ILI2: fix null pointer dereference when opening filename ','. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1689
* ILI1: fix various crashes on corrupted files (including, but not limited to, https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1760, 1784, 1926)
* ILI2: use proper cast operator. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1813
* ILI2: fix null pointer dereference on corrupted files. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1993
* ILI2: fix crash due to unhandled exception. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2191
* morphFromESRI(): fix heap-use-after-free issue. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1690
* morphFromESRI(): prevent potential null pointer dereference. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1783 and 1867
* SEGUKOOA: fix inversion of leap year that caused index-out-of-bound reading on day 366 of leap years (2.2 regression). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1698
* CPLParseXMLString(): make it error out on invalid XML file even under CPLTurnErrorIntoWarning() mode. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1703.
* GML / NAS: fix memory leak in error code path, and potential heap-buffer-read-overflow
* NTF: fix various issues: heap & stack buffer-overflow, null ptr derefs, memory leaks. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1819 , 1820 , 1823, 1833, 1854, 1862, 1910, 1931, 1961, 1990, 1995, 1996, 2003, 2033, 2052, 2077, 2084, 2103, 2130, 2135, 2146, 2166, 2185, 2187, https://oss-fuzz.com/v2/testcase-detail/4696417694121984
* OGRCreateFromMultiPatch(): avoid assertion on NaN coordinates. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1930
* GXF: validate nGType to avoid later out-of-bound read in GXFReadRawScanlineFrom(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1975
* GXF: fix int overflow and avoid excessive memory allocation. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2207
* DGN: prevent heap-buffer-overflow read. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1988
* COSAR: fix leak of file descriptor. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2019
* ISO8211: prevent stack buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2022
* WEBP: prevent int32 overflow and too large memory allocation. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2059
* IRIS: fix heap-buffer-overflow in some cases of nDataTypeCode. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2069
* E00GRID: avoid heap and stack buffer overflows. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2090 , 2182, 2237, 2327
* VICAR: fix null pointer dereference. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2116
* VICAR: avoid use-after-free and heap-buffer-overflow. Fixes https://oss-fuzz.com/v2/testcase-detail/4825577427042304
* VICAR: fix potential endless loop on broken files. Fixes https://oss-fuzz.com/v2/testcase-detail/6261508172414976
* REC: fix nullptr deref
* REC: fix potential stack buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2165
* GDALGetJPEG2000Structure() / DumpGeoTIFFBox(): fix memory leak.
* DumpGeoTIFFBox(): reject GeoJP2 boxes with a TIFF with band_count > 1
* DumpJPK2CodeStream(): avoid potentially very long loop
* GDALGetJPEG2000Structure(): avoid bad performance on corrupted JP2 boxes. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2214
* GPKG: fix potential heap-buffer overflow in GPkgHeaderFromWKB(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2150
* GPKG: fix potential null ptr deref. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2240
* GPKG: avoid potential division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2253
* SEGUKOOA: prevent read beyond end of buffer. (#6921)
* SRP: avoid potential stack buffer overflow and excessive memory allocation/processing time
* CPLUnixTimeToYMDHMS(): avoid potential infinite loop. Fixes https://oss-fuzz.com/v2/testcase-detail/4949567697059840
* Selafin: fix double frees. Fixes https://oss-fuzz.com/v2/testcase-detail/6429713822121984
* CEOS: fix heap buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2259
* CEOS: fix memleak in error code path. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2279
* FAST: avoid null pointer dereference. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2290
* netCDF: avoid stack buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2302

GDAL/OGR 2.2.0 Release Notes =

== In a nutshell... ==

 * New GDAL/raster drivers:
   - DERIVED driver: read-support. Expose subdatasets in a a new metadata domain, called DERIVED_SUBDATASETS
   - JP2Lura driver: read/create support for JPEG-2000 images using Luratech JP2 Library
   - PRF: add read-only support for PHOTOMOD PRF file format driver (github #173)
   - RRASTER driver: read-support .grd/.gri files handled by the R 'raster' package (#6249)
 * New OGR/vector drivers:
    - CAD driver: read support for DWG R2000 files (GSoC 2016 project)
    - DGNv8 driver: read-write support for DGN 8.0 format (using Teigha ODA libraries)
    - GMLAS driver: read-write support. XML/GML driver driven by Application Schemas.
 * New utility script: ogrmerge.py to merge several vector datasets into a single one
 * New /vsigs/ and /vsigs_streaming/ virtual file systems to read Google Cloud Storage non-public files
 * Significantly improved drivers:
  - NWT_GRD: write support (#6533)
  - FileGDB/OpenFileGDB: add support to read curve geometries (#5890)
  - VRT derived band: add the capability to define pixel functions in Python
  - Add read support for RasterLite2 coverages in SQLite driver
  - GPKG: implement tiled gridded elevation data extension
  - ISIS3: add write support and improve read support
 * RFC 63: Add GDALRasterBand::GetDataCoverageStatus() and implement it in GTiff and VRT drivers
        https://trac.osgeo.org/gdal/wiki/rfc63_sparse_datasets_improvements
 * RFC 64: Triangle, Polyhedral surface and TIN
        https://trac.osgeo.org/gdal/wiki/rfc64_triangle_polyhedralsurface_tin
    ==> this RFC introduces potential backward incompatible behaviour.
        Consult MIGRATION_GUIDE.txt
 * RFC 66: OGR random layer read/write capabilities
        https://trac.osgeo.org/gdal/wiki/rfc66_randomlayerreadwrite
 * RFC 67: add null field state for OGR features, in addition to unset fields
        https://trac.osgeo.org/gdal/wiki/rfc67_nullfieldvalues
    ==> this RFC introduces potential backward incompatible behaviour.
        Consult MIGRATION_GUIDE.txt
 * Upgrade to EPSG database v9.0 (#6772)
 * Python bindings: Global Interpreter Lock (GIL) released before entering GDAL native code (for all, in GDAL module and a few ones in ogr like ogr.Open())
 * Continued major efforts on sanitization of code base
 * Remove bridge and vb6 bindings (#6640)
 * GNM built by default

== Installed files ==

 * Removed: data/s57attributes_aml.csv data/s57attributes_iw.csv data/s57objectclasses_aml.csv data/s57objectclasses_iw.csv
 * Added plscenesconf.json, gmlasconf.xsd

== Backward compatibility issues ==

See MIGRATION_GUIDE.TXT

== GDAL/OGR 2.2.0 - General Changes ==

Build(Unix):
 * improve detection of packaged libfyba (SOSI) --with-sosi, as in Ubuntu 16.04 (#6488)
 * Sort files in static library to make the build reproducible (#6520)
 * fix libqhull include path when it is /usr/local/include/libqhull (#6522)
 * FileGDB: compilation fix on Linux in C++11 mode
 * configure: make pdfium detection not fail if there are just warnings. And make configure fail if --with-pdfium was required but failed (#6653)
 * Make ./configure --with-xerces fail if not found
 * Don't install script documentation in INST_BIN (github #157)
 * configure: auto-detect webp without requiring explicit --with-webp
 * configure: use pkg-config for HDF5 detection so that works out of the box on recent Ubuntu
 * auto-detect JDK 8 on Ubuntu
 * MDB: allow libjvm.so to be dlopen'd with --with-jvm-lib=dlopen (Unix only, github #177)
 * configure: delete temporary directories on the mac
 * configure: make sure --with-macosx-framework is correctly defined
 * configure: error out if --with-ld-shared is specified (#6769)
 * configure: remove bashism.
 * configure: fix --without-mrf (#6811)
 * configure: take into account CXXFLAGS and LDFLAGS in a few more cases (cryptopp, podofo, libdap)
 * Vagrant: all lxc and Hyper-V provider support; use vagrant-cachier for package caching
 * configure: update DWG support to work with Teigha libraries
 * Internal libgeotiff: hide symbols in --with-hide-internal-symbols mode
 * Shape: do not export Shapelib symbols for builds --with-hide-internal-symbols (#6860)

Build(Windows):
 * Try to avoid confusion between libqhull io.h and mingw own io.h (#6590)
 * update script to generate most recent Visual C++ project files (#6635)
 * fix broken and missing dependencies in makefile.vc
 * add a way to use an external zlib (github #171)
 * Rename makegdal_gen.bat to generate_vcxproj.bat
 * generate_vcxproj.bat: Set correct value of PlatformToolset property based on specified Visual C++ version. Add NMAKE command line parameters: MSVC_VER based on specified Visual C++ version, DEBUG=1 WITH_PDB=1 to Debug build configuration.
 * generate_vcxproj.bat: generate project for autotest/cpp (Ticket #6815)
* Add WIN64=1 to NMAKE command line options.
 * Add HDF4_INCLUDE option (#6805)
 * Add MSVC compiler option /MP to build with parallel processes.
 * Add ZLIB_LIB missing from EXTERNAL_LIBS

Build(all):
 * make Xerces 3.1 the minimal version
 * drop support for PostgreSQL client library older than 7.4, or non security maintained releases older than 8.1.4, 8.0.8, 7.4.13, 7.3.15

== GDAL 2.2.0 - Overview of Changes ==

Port:
 * Export VSICreateCachedFile() as CPL_DLL so as to enable building JP2KAK as a plugin
 * Added possibility to find GDAL_DATA path using INST_DATA definition without execution GDALAllRegister if GDAL_DATA placed in version named directory on Linux (#6543)
 * Unix filesystem: make error message about failed open to report the filename (#6545)
 * File finder: Remove hardcoded find location (/usr/local/share/gdal) (#6543)
 * Win32 filesystem handler: make Truncate() turn on sparse files when doing file extension
 * Add VSIFGetRangeStatusL() and VSISupportsSparseFiles()
 * GDAL_NO_HARDCODED_FIND compilation option (#6543,#6531) to block file open calls (for sandboxed systems)
 * Add VSIMallocAligned(), VSIMallocAlignedAuto() and VSIFreeAligned() APIs
 * /vsizip / /vsitar: support alternate syntax /vsitar/{/path/to/the/archive}/path/inside/the/tar/file so as not to be dependent on file extension and enable chaining
 * Optimize opening of /vsitar/my.tar.gz/my_single_file
 * /vsizip/ : support creating non-ASCII filenames inside a ZIP (#6631)
 * VSI Unix file system: fix behaviour in a+ mode that made MRF caching not work on Mac and other BSD systems
 * Fix deadlock at CPLWorkerThreadPool destruction (#6646)
 * Windows: honour GDAL_FILENAME_IS_UTF8 setting to call LoadLibraryW() (#6650)
 * CPLFormFilename(): always use / path separator for /vsimem, even on Windows
 * /vsimem/: add trick to limit the file size, so as to be able to test how drivers handle write errors
 * /vsimem/: fix potential crash when closing -different- handles pointing to the same file from different threads (#6683)
 * CPLHTTPFetch(): add MAX_FILE_SIZE option
 * CPLHTTPFetch(): add a CAINFO option to set the path to the CA bundle file. As a fallback also honour the CURL_CA_BUNDLE and SSL_CERT_FILE environment variables used by the curl binary, which makes this setting also available for /vsicurl/, /vsicurl_streaming/, /vsis3/ and /vsis3_streaming/ file systems (#6732)
 * CPLHTTPFetch(): don't disable peer certificate verification when doing https (#6734)
 * CPLHTTPFetch(): cleanly deal with multiple headers passed with HEADERS and separated with newlines
 * CPLHTTPFetch(): add a CONNECTTIMEOUT option
 * CPLHTTPFetch(): add a GDAL_HTTP_HEADER_FILE / HEADER_FILE option.
 * CPLHTTPSetOptions(): make redirection of POST requests to still be POST requests after redirection (#6849)
 * /vsicurl/: take CPL_VSIL_CURL_ALLOWED_EXTENSIONS into account even if GDAL_DISABLE_READDIR_ON_OPEN is defined (#6681)
 * /vsicurl/: get modification time if available from GET or HEAD results
 * /vsis3/: add a AWS_REQUEST_PAYER=requester configuration option (github #186)
 * CPLParseXMLString(): do not reset error state
 * Windows: fix GetFreeDiskSpace()
 * Fix GetDiskFreeSpace() on 32bit Linux to avoid 32bit overflow when free disk space is above 4 GB (#6750)
 * Fix CPLPrintUIntBig() to really print a unsigned value and not a signed one
 * Add CPL_HAS_GINT64, GINT64_MIN/MAX, GUINT64_MAX macros (#6747)
 * Add CPLGetConfigOptions(), CPLSetConfigOptions(), CPLGetThreadLocalConfigOptions() and CPLSetThreadLocalConfigOptions() to help improving compatibility between osgeo.gdal python bindings and rasterio (related to https://github.com/mapbox/rasterio/pull/969)
 * MiniXML serializer: fix potential buffer overflow.

Core:
 * Proxy dataset: add consistency checks in (the unlikely) case the proxy and underlying dataset/bands would not share compatible characteristics
 * GDALPamDataset::TryLoadXML(): do not reset error context when parsing .aux.xml
 * PAM/VRT: only take into account <Entry> elements when deserializing a <ColorTable>
 * GDALCopyWords(): add fast copy path when src data type == dst data type == Int16 or UInt16
 * GetVirtualMemAuto(): allow USE_DEFAULT_IMPLEMENTATION=NO to prevent the default implementation from being used
 * Nodata comparison: fix test when nodata is FLT_MIN or DBL_MIN (#6578)
 * GetHistogram() / ComputeRasterMinMax() / ComputeStatistics(): better deal with precision issues of nodata comparison on Float32 data type
 * Fast implementation of GDALRasterBand::ComputeStatistics() for GDT_Byte and GDT_UInt16 (including use of SSE2/AVX2)
 * Driver manage: If INST_DATA is not requested, do not check the GDAL_DATA variable.
 * Make sure that GDALSetCacheMax() initialize the raster block mutex (#6611)
 * External overview: fix incorrect overview building when generating from greater overview factors to lower ones, in compressed and single-band case (#6617)
 * Speed-up SSE2 implementation of GDALCopy4Words from float to byte/uint16/int16
 * Add SSE2 and SSSE3 implementations of GDALCopyWords from Byte with 2,3 or 4 byte stride to packed byte
 * GDALCopyWords(): SSE2-accelerated Byte->Int32 and Byte->Float32 packed conversions
 * Fix GDALRasterBand::IRasterIO() on a VRT dataset that has resampled sources, on requests such as nXSize == nBufXSize but nXSize != dfXSize
 * GDALRasterBand::IRasterIO(): add small epsilon to floating-point srcX and srcY to avoid some numeric precision issues when rounding.
 * Add GDALRasterBand::GetActualBlockSize() (#1233)
 * Fix potential deadlock in multithreaded writing scenarios (#6661)
 * Fix thread-unsafe behaviour when using GetLockedBlock()/MarkDirty()/DropLock() lower level interfaces (#6665)
 * Fix multi-threading issues in read/write scenarios (#6684)
 * Resampled RasterIO(): so as to get consistent results, use band datatype as intermediate type if it is different from the buffer type
 * Add GDALIdentifyDriverEx() function (github #152)
 * GDALOpenInfo: add a papszAllowedDrivers member and fill it in GDALOpenEx()
 * GDALDefaultOverviews::BuildOverviews(): improve progress report
 * Average and mode overview/rasterio resampling: correct source pixel computation due to numerical precision issues when downsampling by an integral factor, and also in oversampling use cases (github #156)
 * Overview building: add experimental GDAL_OVR_PROPAGATE_NODATA config option that can be set to YES so that a nodata value in source samples will cause the target pixel to be zeroed. Only implemented for AVERAGE resampling right now
 * GDALValidateOptions(): fix check of min/max values
 * GMLJP2 v2: update to 2.0.1 corrigendum and add capability to set gml:RectifiedGrid/gmlcov:rangeType content. Set SRSNAME_FORMAT=OGC_URL by default when converting to GML. Add gml:boundedBy in gmljp2:GMLJP2RectifiedGridCoverage
 * GMLJP2 v2: ensure KML root node id unicity when converting annotations on the fly. When generating GML features, make sure that PREFIX and TARGET_NAMESPACE are unique when specifying several documents.

Algorithms:
 * RPC transformer: speed-up DEM extraction by requesting and caching a larger buffer, instead of doing many queries of just a few pixels that can be costly with VRT for example
 * GDALDeserializeRPCTransformer(): for consistency, use the same default value as in GDALCreateRPCTransformer() if <PixErrThreshold> is missing (so use 0.1 instead of 0.25 as before)
 * TPS solver: when Armadillo fails sometimes, fallback to old method
 * GDALCreateGenImgProjTransformer2(): add SRC_APPROX_ERROR_IN_SRS_UNIT, SRC_APPROX_ERROR_IN_PIXEL, DST_APPROX_ERROR_IN_SRS_UNIT, DST_APPROX_ERROR_IN_PIXEL, REPROJECTION_APPROX_ERROR_IN_SRC_SRS_UNIT and REPROJECTION_APPROX_ERROR_IN_DST_SRS_UNIT transformer options, so as to be able to have approximate sub-transformers
 * Fix GDAL_CG_Create() to call GDALContourGenerator::Init() (#6491)
 * GDALContourGenerate(): handle the case where the nodata value is NaN (#6519)
 * GDALGridCreate(): fix hang in multi-threaded case when pfnProgress is NULL or GDALDummyProgress (#6552)
 * GDAL contour: fix incorrect oriented contour lines in some rare cases (#6563)
 * Warper: multiple performance improvements for cubic interpolation and uint16 data type
 * Warper: add SRC_ALPHA_MAX and DST_ALPHA_MAX warp options to control the maximum value of the alpha channel. Set now to 65535 for UInt16 (and 32767 for Int16), or to 2^NBITS-1. 255 used for other cases as before
 * Warper: avoid undefined behaviour when doing floating point to int conversion, that may trigger exception with some compilers (LLVM 8) (#6753)
 * OpenCL warper: update cubicConvolution to use same formula as CPU case (#6664)
 * OpenCL warper: fix compliance to the spec. Fix issues with NVidia opencl (#6624, #6669)
 * OpenCL warper: use GPU based over CPU based implementation when possible, use non-Intel OpenCL implementation when possible. Add BLACKLISTED_OPENCL_VENDOR and PREFERRED_OPENCL_VENDOR to customize choice of implementation

Utilities:
 * gdalinfo -json: fix order of points in wgs84Extent.coordinates (github #166)
 * gdalwarp: do not densify cutlines by default when CUTLINE_BLEND_DIST is used (#6507)
 * gdalwarp: when -to RPC_DEM is specified, make -et default to 0 as documented (#6608)
 * gdalwarp: improve detection of source alpha band and auto-setting of target alpha band. Automatically set PHOTOMETRIC=RGB on target GeoTIFF when input colors are RGB
 * gdalwarp: add a -nosrcalpha option to wrap the alpha band as a regular band and not as the alpha band
 * gdalwarp: avoid cutline densification when no transform at all is involved (related to #6648)
 * gdalwarp: fix failure with cutline on a layer of touching polygons (#6694)
 * gdalwarp: allow to set UNIFIED_SRC_NODATA=NO to override the default that set it to YES
 * gdalwarp: fix -to SRC_METHOD=NO_GEOTRANSFORM -to DST_METHOD=NO_GEOTRANSFORM mode (#6721)
 * gdalwarp: add support for shifting the values of input DEM when source and/or target SRS references a proj.4 vertical datum shift grid
 * gdalwarp: fix crash when -multi and -to RPC_DEM are used together (#6869)
 * gdal_translate: when using -projwin with default nearest neighbour resampling, align on integer source pixels (#6610)
 * gdal_translate & gdalwarp: lower the default value of GDAL_MAX_DATASET_POOL_SIZE to 100 on MacOSX (#6604)
 * gdal_translate: avoid useless directory scanning on GeoTIFF files
 * gdal_translate: make "-a_nodata inf -ot Float32" work without warning
 * gdal_translate: set nodata value on vrtsource on scale / unscale / expand cases (github #199)
 * GDALTranslate(): make it possible to create a anonymous target VRT from a (anonymous) memory source
 * gdaldem: speed-up computations for src type = Byte/Int16/UInt16 and particularly for hillshade
 * gdaldem hillshade: add a -multidirectional option
 * GDALDEMProcessing() API: fix -alt support (#6847)
 * gdal_polygonize.py: explicitly set output layer geometry type to be polygon (#6530)
 * gdal_polygonize.py: add support for -b mask[,band_number] option to polygonize a mask band
 * gdal_rasterize: make sure -3d, -burn and -a are exclusive
 * gdal_rasterize: fix segfaults when rasterizing into an ungeoreferenced raster, or when doing 'gdal_rasterize my.shp my.tif' with a non existing my.tif (#6738)
 * gdal_rasterize: fix crash when rasterizing empty polygon (#6844)
 * gdal_grid: add a smoothing parameter to invdistnn algorithm (github #196)
 * gdal_retile.py: add a -overlap switch
 * gdal2tiles.py: do not crash on empty tiles generation (#6057)
 * gdal2tiles.py: handle requested tile at too low zoom to get any data (#6795)
 * gdal2tiles: fix handling of UTF-8 filenames (#6794)
 * gdal2xyz: use %d formatting for Int32/UInt32 data types (#6644)
 * gdal_edit.py: add -scale and -offset switches (#6833)
 * gdaltindex: emit warning in -src_srs_format WKT when WKT is too large
 * gdalbuildvrt: add a -oo switch to specify dataset open options

Python samples:
 * add validate_cloud_optimized_geotiff.py
 * add validate_gpkg.py

Multi-driver:
 * Add GEOREF_SOURCES open option / GDAL_GEOREF_SOURCES config. option to all JPEG2000 drivers and GTiff to control which sources of georeferencing can be used and their respective priority

AIGRID driver:
 * fix 2.1.0 regression when reading statistics (.sta) file with only 3 values, and fix <2.1 behaviour to read them in LSB order (#6633)

AAIGRID driver:
 * auto-detect Float64 when the nodata value is not representable in the Float32 range

ADRG driver:
 * handle north and south polar zones (ZNA 9 and 18) (#6783)

ASRP driver:
 * fix georeferencing of polar arc zone images (#6560)

BPG driver:
* declare GDALRegister_BPG as C exported for building as a plugin (#6693)

DIMAP driver:
 * DIMAP: for DIMAP 2, read RPC from RPC_xxxxx.XML file (#6539)
 * DIMAP/Pleiades metadata reader: take into tiling to properly shift RPC (#6293)
 * add support for tiled DIMAP 2 datasets (#6293)

DODS driver:
 * fix crash on URL that are not DODS servers (#6718)

DTED driver:
 * correctly create files at latitudes -80, -75, -70 and -50 (#6859)

ECW driver:
 * Add option ECW_ALWAYS_UPWARD=TRUE/FALSE  to work around issues with "Downward" oriented images (#6516).

ENVI driver:
 * on closing, pad image file with trailing nul bytes if needed (#6662)
 * add read/write support for rotated geotransform (#1778)

GeoRaster driver:
 * fix report of rotation (#6593)
 * support for JP2-F compression (#6861)
 * support direct loading of JPEG-F when blocking=no (#6861)
 * default blocking increased from 256x256 to 512x512 (#6861)

GPKG driver:
 * implement tiled gridded elevation data extension
 * add VERSION creation option
 * check if transaction COMMIT is successful (#6667)
 * fix crash on overview building on big overview factor (#6668)
 * fix crash when opening an empty raster with USE_TILE_EXTENT=YES
 * fix gpkg_zoom_other registration

GTiff driver:
 * support SPARSE_OK=YES in CreateCopy() mode (and in update mode with the SPARSE_OK=YES open option), by actively detecting blocks filled with 0/nodata about to be written
 * When writing missing blocks (i.e. non SPARSE case), use the nodata value when defined. Otherwise fallback to 0 as before.
 * in FillEmptyTiles() (i.e. in the TIFF non-sparse mode), avoid writing zeroes to file so as to speed up file creation when filesystem supports ... sparse files
 * add write support for half-precision floating point (Float32 with NBITS=16)
 * handle storing (and reading) band color interpretation in GDAL internal metadata when it doesn't match the capabilities of the TIFF format, such as B,G,R ordering (#6651)
 * Fix RasterIO() reported when downsampling a RGBA JPEG compressed TIFF file (#6943)
 * Switch search order in GTIFGetOGISDefn() - Look for gdal_datum.csv before datum.csv (#6531)
 * optimize IWriteBlock() to avoid reloading tile/strip from disk in multiband contig/pixel-interleave layouts when all blocks are dirty
 * fix race between empty block filling logic and background compression threads when using Create() interface and NUM_THREADS creation option (#6582)
 * use VSIFTruncateL() to do file extension
 * optimize reading and writing of 1-bit rasters
 * fix detection of blocks larger than 2GB on opening on 32-bit builds
 * fix saving and loading band description (#6592)
 * avoid reading external metadata file that could be related to the target filename when using Create() or CreateCopy() (#6594)
 * do not generate erroneous ExtraSamples tag when translating from a RGB UInt16, without explicit PHOTOMETRIC=RGB (#6647)
 * do not set a PCSCitationGeoKey = 'LUnits = ...' as the PROJCS citation on reading
 * fix creating an image with the Create() interface with BLOCKYSIZE > image height (#6743)
 * fix so that GDAL_DISABLE_READDIR_ON_OPEN = NO / EMPTY_DIR is properly honoured and doesn't cause a useless directory listing
 * make setting GCPs when geotransform is already set work (with warning about unsetting the geotransform), and vice-versa) (#6751)
 * correctly detect error return of TIFFReadRGBATile() and TIFFReadRGBAStrip()
 * in the YCBCR RGBA interface case, only expose RGB bands, as the alpha is always 255
 * don't check free disk space when outputting to /vsistdout/ (#6768)
 * make GetUnitType() use VERT_CS unit as a fallback (#6675)
 * in COPY_SRC_OVERVIEWS=YES mode, set nodata value on overview bands
 * read GCPs in ESRI <GeodataXform> .aux.xml
 * explicitly write YCbCrSubsampling tag, so as to avoid (latest version of) libtiff to try reading the first strip to guess it. Helps performance for cloud optimized geotiffs
 * map D_North_American_1927 datum citation name to OGC North_American_Datum_1927 so that datum is properly recognized (#6863)
 * Internal libtiff. Resync with CVS (post 4.0.7)
 * Internal libtiff: fix 1.11 regression that prevents from reading one-strip files that have no StripByteCounts tag (#6490)

GRASS driver:
 * plugin configure: add support for GRASS 7.2 (#6785)
 * plugin makefile: do not clone datum tables and drivers (#2953)
 * use Rast_get_window/Rast_set_window for GRASS 7 (#6853)

GRIB driver:
 * Add (minimalistic) support for template 4.15 needed to read Wide Area Forecast System (WAFS) products (#5768)
 * **Partial** resynchronization with degrib-2.0.3, mostly to get updated tables (related to #5768)
 * adds MRMS grib2 decoder table (http://www.nssl.noaa.gov/projects/mrms/operational/tables.php) (github #160)
 * enable PNG decoding on Unix (#5661, github #160)
 * remove explicitly JPEG2000 decompression through Jasper and use generic GDAL code so that other drivers can be triggered
 * fix a few crashes on malformed files

GTX driver:
 * add a SHIFT_ORIGIN_IN_MINUS_180_PLUS_180 open option

HDF4 driver:
 * Fixed erroneous type casting in HDF4Dataset::AnyTypeToDouble() that breaks reading georeferencing and other metadata

HDF5 driver:
 * correct number of GCPs to avoid dummy trailing (0,0)->(0,0,0) and remove +180 offset applied to GCP longitude. Add instead a heuristics to determine if the product is crossing the antimeridian, and a HDF5_SHIFT_GCPX_BY_180 config option to be able to override the heuristics (#6666)

HFA driver:
 * fix reading and writing of TOWGS84 parameters (github #132)
 * export overview type from HFA files to GDAL metadata as OVERVIEWS_ALGORITHM (github #135)
 * make .ige initialization use VSIFTruncateL() to be faster on Windows
 * add support for TMSO and HOM Variant A projections (#6615)
 * Add elevation units read from HFA files metadata (github #169)
 * set binning type properly according to layerType being thematic or not (#6854)

Idrisi driver:
 * use geotransform of source dataset even if it doesn't have a SRS (#6727)
 * make Create() zero-initialize the .rst file (#6873)

ILWIS driver:
 * avoid IniFile::Load() to set the bChanged flag, so as to avoid a rewrite of files when just opening datasets

ISCE driver:
 * fix computation of line offset for multi-band BIP files, and warn if detecting a wrong file produced by GDAL 2.1.0 (#6556)
 * fix misbehaviour on big endian hosts
 * add support for reading and writing georeferencing (#6630, #6634)
 * make parsing of properties case insensitive (#6637)

ISIS3 driver:
 * add write support
 * add mask band support on read
 * get label in json:ISIS3 metadata domain

JPEGLS driver:

JP2ECW driver:
 * fix crash when translating a Float64 raster (at least with SDK 3.3)

JP2KAK driver:
 * add support for Kakadu v7.9.  v7.8 should not be used.  It has a bug fixed in v7.9
 * catch exceptions in jp2_out.write_header()

JP2OpenJPEG driver:
 * add a USE_TILE_AS_BLOCK=YES open option that can help with whole image conversion
 * prevent endless looping in openjpeg in case of short write
 * for single-line organized images, such as found in some GRIB2 JPEG2000 images, use a Wx1 block size to avoid huge performance issues (#6719)
  * ignore warnings related to empty tag-trees.

JPIPKAK driver:
 * fix random crashes JPIP in multi-tread environment (#6809)

KEA driver:
 * Add support for Get/SetLinearBinning (#6855)

KMLSuperOverlay driver:
 * recognize simple document made of GroundOverlay (#6712)
 * Add FORMAT=AUTO option. Uses PNG for semi-transparent areas, else JPG. (#4745)

LAN driver:
 * remove wrong byte-swapping for big-endian hosts

MAP driver:
 * change logic to detect image file when its path is not absolute

MBTiles driver:
 * on opening if detecting 3 bands, expose 4 bands since there might be transparent border tiles (#6836)
 * fix setting of minzoom when computing overviews out of order
 * do not open .mbtiles that contain vector tiles, which are not supported by the driver

MEM driver:
 * disable R/W mutex for tiny performance increase in resampled RasterIO
 * add support for overviews
 * add support for mask bands

MRF driver:
 * bug fix in PNG and JPEG codecs
 * Fixing a problem with setting NoData for MRFs generated with Create
 * fix plugin building (#6498)
 * rename CS variable so as to avoid build failure on Solaris 11 (#6559)
 * Allow MRF to write the data file directly to an S3 bucket.
 * Allow relative paths when MRF is open via the metadata string.
 * Add support for spacing (unused space) between tiles. Defaults to none.
 * Read a single LERC block as an MRF file.

MSG driver:
 * fix incorrect georeference calculation for msg datasets (github #129)

NetCDF driver:
 * add support for reading SRS from srid attribute when it exists and has content like urn:ogc:def:crs:EPSG::XXXX (#6613)
 * fix crash on datasets with 1D variable with 0 record (#6645)
 * fix erroneous detection of a non-longitude X axis as a longitude axis that caused a shift of 360m on the georeferencing (#6759)
 * read/write US_survey_foot unit for linear units of projection
 * apply 'add_offset' and 'scale_factor' on x and y variables when present, such as in files produced by NOAA from the new GOES-16 (GOES-R) satellite (github #200)
 * add a HONOUR_VALID_RANGE=YES/NO open option to control whether pixel values outside of the validity range should be set to the nodata value (#6857)
 * fix crash on int64/uint64 dimensions and variables, and add support for them (#6870)

NITF driver:
 * add support for writing JPEG2000 compressed images with JP2OpenJPEG driver
 * fix writing with JP2KAK driver (emit codestream only instead of JP2 format)
 * fix setting of NBPR/NBPC/NPPBH/NPPBV fields for JPEG2000 (fixes #4322); in JP2ECW case, make sure that the default PROFILE=NPJE implies 1024 block size at the NITF level
 * implement creation of RPC00B TRE for RPC metadata in CreateCopy() mode
 * add support for reading&writing _rpc.txt files
 * nitf_spec.xml: Add support for MTIRPB TRE in NITF image segment. Also makes minor change to BLOCKA to include default values (github #127)
 * nitf_spec.xml: add IMASDA and IMRFCA TREs
 * GetFileList(): Small optimization to avoid useless file probing.

NWT_GRD:
 * detect short writes

OpenJPEG driver:
 * support direct extracting of GeoRaster JP2-F BLOB (#6861)

PCIDSK driver:
 * handle Exceptions returned from destructor and check access rights in setters (github #183)

PDF driver:
 * implement loading/saving of metadata from/into PAM (#6600)
 * implement reading from/writing to PAM for geotransform and projection (#6603)
 * prevent crashes on dataset reopening in case of short write

PLScenes driver:
 * add a METADATA open option

PostgisRaster driver:
 * fix potential crash when one tile has a lower number of bands than the max of the table (#6267)

R driver:
 * fix out-of-memory (oom) with corrupt R file

Raw drivers:
 * prevent crashes on dataset closing in case of short write

RMF driver:
 * fix wrong counter decrement that caused compressed RMF to be incorrectly decompressed (github #153)
 * fix load/store inversion of cm and dm units in MTW files (github #162)
 * fix reading nodata for non-double data type (github #174)

ROIPAC driver:
 * add support for reading/writing .flg files (#6504)
 * fix computation of line offset for multi-band BIP files, and warn if detecting a wrong file produced by GDAL >= 2.0.0 (#6591)
 * fix for big endian hosts

RS2 driver:
 * add support for reading RPC from product.xml

SAFE driver:
 * fix handling of SLC Products by providing access to measurements as subdatasets (#6514)

Sentinel2 driver:
 * add support for new "Safe Compact" encoding of L1C products (fixes #6745)

SQLite driver:
 * Add read support for RasterLite2 coverages in SQLite driver

SRTMHGT driver:
 * open directly .hgt.zip files
 * accept filenames like NXXEYYY.SRTMGL1.hgt (#6614)
 * handle files for latitude >= 50 (#6840)

VRT driver:
 * add default pixel functions: real, imag, complex, mod, phase, conj, etc... for complex data types (github #141)
 * avoid useless floating point values in SrcRect / DstRect (#6568)
 * avoid buffer initialization in RasterIO() when possible (replace ancient and likely broken concept of bEqualAreas)
 * make CheckCompatibleForDatasetIO() return FALSE on VRTDerivedRasterBands (#6599)
 * VRT warp: fix issue with partial blocks at the right/bottom and dest nodata values that are different per band (#6581)
 * fix performance issue when nodata set at band level and non-nearest resampling used (#6628)
 * VRTComplexSource: do temp computations on double to avoid precision issues when band data type is Int32/UInt32/CInt32/Float64/CFloat64 (#6642)
 * VRT derived band: add the capability to define pixel functions in Python
 * CreateCopy(): detect short writes
 * Fix linking error on VRTComplexSource::RasterIOInternal<float>() (#6748)
 * avoid recursion in xml:VRT metadata (#6767)
 * prevent 'Destination buffer too small' error when calling GetMetadata('xml:VRT') on a in-memory VRT copied from a VRT
 * fix 2.1 regression that can cause crash in VRTSimpleSource::GetFileList() (#6802)

WMS driver:
 * Added support for open options to WMS minidrivers
 * Refactored the multi-http code to make it possible to do range requests.
 * Added a minidriver_mrf, which reads from remote MRFs using range requests.
 * Made the minidriver_arcgis work with an ImageService, not only MapService.
 * Added static cache of server response.
 * Allow tiledWMS to work in off-line mode by including the server response in the .wms file itself.
 * honour GDAL_HTTP_USERAGENT config option when it is set and <UserAgent> is missing (#6825)
 * WMS/WMTS: better deal with tiles with different band count (grayscale, gray+alpha, palette, rgb, rgba) (github #208)
 * Make HTTPS options apply to tWMS minidriver init, better HTTP error reporting

WMTS driver:
 * do not take into account WGS84BoundingBox/BoundingBox that would be the result of the densified reprojection of the bbox of the most precise tile matrix
 * add TILEMATRIX / ZOOM_LEVEL open options
 * accept tiles of small dimensions (github #210)

XYZ driver:

== OGR 2.2.0 - Overview of Changes ==

Core:
 * Layer algebra: Add KEEP_LOWER_DIMENSION_GEOMETRIES=YES/NO option to Intersection, Union and Identity.
Default is yes, but it is set to no unless result layer is of geom type unknown.
If set to no, result features which would have lower dim geoms are skipped
if operating on two layers with same geom dim.
 * Fix crash/corrupted values when running importFromWkb() on POLYGON M/POLYGON ZM geometries (#6562)
 * Add OGR_WKT_PRECISION config option that defaults to 15 to select the number of decimals when outputting to WKT
 * Make OGRFeature::SetField(string) accept JSon serialized arrays for the String/Integer/Integer64/RealList types; add reciprocal OGRFeature::GetFieldAsSerializedJSon() for those types
 * OGRGeometryFactory::transformWithOptions(): better deal with reprojection from polar projection to WGS84, and projections crossing the antimeridian to WGS84, by splitting geometries prior to reprojection (#6705)
 * LinearRing transformTo(): force last point to be identical to first one in case it is not.
 * GML geometry parsing: avoid 'Cannot add a compound curve inside a compound curve' error (#6777)
 * OGR SQL: fix IN filtering on MapInfo indexed columns (#6798)
 * OGR SQL: add support for LIMIT and OFFSET keywords
 * OGR SQL: add comparisons on date / datetime (#6810)
 * OGR SQL: increase efficiency of DISTINCT operator
 * OGREnvelope: change initialization to fix issue when getting MULTIPOINT(0 0,1 1) envelope (#6841)
 * OGRParse: fix parsing logic to avoid false positive detection of string as datetime (#6867)

OGRSpatialReference:
 * Upgrade to EPSG database v9.0 (#6772)
 * OGRCT: upgrade LIBNAME of mingw and cygwin to libproj-9.dll and cygproj-9.dll to be up-to-date with proj 4.9.X (recommended method is using ./configure --with-static-proj4 instead) (#6501)
 * importFromESRI(): fix import of multi line MERCATOR SRS (#6523)
 * morphToESRI(): correctly compute standard_parallel_1 of Mercator(2SP) projection from scale factor of Mercator(1SP) (#6456, #4861)
 * exportToProj4(): recognize explicit OSR_USE_ETMERC=NO to avoid using etmerc with proj >= 4.9.3
 * importFromProj4(): do not set a AUTHORITY node for strings like '+init=epsg:XXXX +some_param=val'
 * importFromProj4(): be robust with missing proj.4 epsg dictionary when importing '+init=epsg:xxxx +other_parm=value'
 * AutoIdentifyEPSG(): add identification of EPSG:3995 (Arctic Polar Stereographic on WGS84) and EPSG:3031 (Antarctic Polar Stereographic on WGS84)
 * OGRCoordinateTransformation: avoid potential bugs in proj.4 on NaN input
 * importFromEPSG(): take into account DX,DY,DZ,RX,RY,RZ,DS columns in pcs.csv to add per-PCS TOWGS84 overrides (geotiff #52)
 * Coordinate transformation: prevent unnecessary coordinate transformations (github #184, #185)

Utilities:
 * ogr2ogr: do not return error on ogr2ogr --utility_version
 * ogr2ogr: keep -append and -overwrite when -update follows
 * ogr2ogr: fix heuristics to detect likely abs…
jperkin pushed a commit that referenced this pull request May 14, 2026
v4.6.2 (2018-03-12)

Bug fixes/Enhancements
  * Fix equals character (=) being parsed incorrectly in some cases. #226

v4.6.1 (2017-11-20)
-------------------

Bug fixes/Enhancements
  * Fix separator so it doesn't mutate user data. #223 (Marc-André Lafortune)
  * Add additional tests for `Options#separator` and fix issue where
    the last separator was ignored. #222

v4.6.0 (2017-10-06)
-------------------

Features
  * Add support for required options. #218 (William Woodruff)

v4.5.0 (2017-05-22)
-------------------

Features:
  * Added config option to avoid translating flags-with-dashes into
  underscores. #206 (@lbriais)

v4.4.3 (2017-05-02)
-------------------

Bug fixes:
  * Ruby 2.0.0 support broken in v4.4.2

v4.4.2 (2017-04-29)
-------------------

Bug fixes:
  * Fix support for parsing -x5 or -nfoo. #199
  * Fix removing arguments after `--`. #194

v4.4.1 (2016-08-21)
-------------------

Bug fixes:
  * Handle bad constant names in `Slop.option_defined?`. #198
    (Ellen Marie Dash)

v4.4.0 (2016-08-15)
-------------------

Features
  * Support parsing arguments prefixed with dashes. #192 (Andrew Clemons)

Bug fixes:
  * Retain sort order inside tail sort. #193 (Caio Chassot)

v4.3.0 (2016-03-19)
-------------------

Features
  * Allow disabling array delimiter. #189 (Mike Pastore)
  * Allow passing custom banner as config. #191 (Philip Rees)

v4.2.1 (2015-11-25)
-------------------

Features:
  * Better handling of option names with multiple words. #169 (Tim Rogers)

Minor enhancements:
  * add ARGF notes to Arguments (README). #173 (Rick Hull)

Bug fixes:
  * Fix arguments removed with option arguments. #182 (Naoki Mizuno)
  * Fix bug where true is passed to BoolOption block regardless
    of --no- prefix. #184 (Ben Brady)
  * only raise MissingArgument if not `default_value`. #163 (Ben Brady)

v4.2.0 (2015-04-18)
-------------------

Features:
  * Support for Regexp option type #167 (Laurent Arnoud)
  * Support prefixed `--no-` for explicitly setting boolean options
    to `false` #168
  * Better handling of flags with multiple words #169 (Tim Rogers)

v4.1.0 (2015-04-18)
-------------------

Features:
  * Support for FloatOption #156 (Rick Hull)
  * Support for `limit` config to ArrayOption.
  * Support for `tail` config to add options to the bottom of
    the help text.
  * Add explicit setter (#[]=) to Result class. #162
  * Implement flag gettings for UnknownOption and MissingArgument
    error classes. #165 (sigurdsvela)

Minor enhancements:
  * Reset parser every time `parse` is called.

Bug fixes:
  * Remove "--" from unprocessed arguments #157 (David Rodríguez).

v4.0.0 (2014-12-27)
-------------------

Features:
  * Rebuilt from the ground up. See the v3 changelog for all existing
    changes: https://github.com/leejarvis/slop/blob/v3/CHANGES.md
jperkin pushed a commit that referenced this pull request May 14, 2026
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 May 14, 2026
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)
jperkin added a commit that referenced this pull request May 14, 2026
Allows mod_proxy_html to be supported again.  Based on a pull request from
vec4f in #169.
jperkin pushed a commit that referenced this pull request May 14, 2026
        ___   ____   __
__   __/ _ \ | ___| / /_
\ \ / / | | ||___ \| '_ \      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 May 14, 2026
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)
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.

2 participants