Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Please update SpamAssassin to 3.4.2 to fix CVEs #150

Closed
jfqd opened this issue Oct 12, 2018 · 2 comments
Closed

Please update SpamAssassin to 3.4.2 to fix CVEs #150

jfqd opened this issue Oct 12, 2018 · 2 comments
Assignees

Comments

@jfqd
Copy link

jfqd commented Oct 12, 2018

Would it be possible to update SpamAssassin in 2018Q3 to 3.4.2 which fixes the following CVEs: CVE-2017-15705, CVE-2016-1238, CVE-2018-11780 & CVE-2018-11781?

Release notes are here: http://mail-archives.apache.org/mod_mbox/spamassassin-announce/201809.mbox/%3cc57c0f41-742c-3c3e-249c-ae2614bf0d7d@apache.org%3e

jperkin pushed a commit that referenced this issue Oct 15, 2018
libmp3splt version 0.9.2
-------------------------------------------------------------

- added bit reservoir handling for gapless playback option
- added @d to output format which is equal to: last directory of the input filename or the filename itself if no directory
- fixed bug #170 - included stdlib.h in src/plugins.c for getenv() because otherwise segfault on RHEL 5.6 64bits

libmp3splt version 0.9.1b
-------------------------------------------------------------

- bug fix: make sure to separate artist and performer in CUE files for use of @p and @A
- bug fix on CUE: from INDEX format MM:SS:FF, handle FF as frames instead of hundreths
- bug fix: issue when having input file inside several recursive symlinks
- small improvement on CUE: also accept INDEX 1 and not only INDEX 01

libmp3splt version 0.9.1a
-------------------------------------------------------------

- FLAC: fixed an important bug not allowing to split some files

libmp3splt version 0.9.1
-------------------------------------------------------------
- FLAC internal cue sheets support
- simple MP3 chapter marks support (with no overlap)
- added #161 FLAC option to compute and write MD5 sum in the STREAMINFO metadata block
- fixed bug #159 with some FLAC files being detected as MP3; also look for the file extension
  when detecting a file for a plugin
- fixed bug '#160 ---last cue splitpoint--- created at 99 59 99 for mp3 files >100mins' (libmp3splt)
- fixed bug with FLAC & pretend to split option
- patch #8 to fix Werror=format-security in snprintf

libmp3splt version 0.9
-------------------------------------------------------------
- experimental FLAC support added - stdin and stdout are not yet implemented
- done patch tracker #6 Please support *BSD - Under *BSD, alloca(3) is defined in stdlib.h
- fixed progress bar of ogg vorbis when using the auto adjust option
- fixed bug #152 libmp3splt trunk: ./autogen.sh does not create file test/Makefile.in
- fixed bug #150 - compile error if no libmp3tag around

-----

pkgsrc changes:

- Add options (all on by default) for flac, id3, mad, pcre, vorbis
@jperkin jperkin self-assigned this Oct 25, 2018
@jperkin
Copy link
Collaborator

jperkin commented Oct 25, 2018

This is now available.

@jperkin jperkin closed this as completed Oct 25, 2018
@jfqd
Copy link
Author

jfqd commented Oct 25, 2018

@jperkin: Thx a lot Jonathan!

jperkin pushed a commit that referenced this issue Apr 2, 2019
Changes:
1.8.1
-----
### Added
 - Support for:
   - `35photo` (#162)
   - `500px` (#185)
 - `instagram` extractor for hashtags (#202)
 - Option to get more metadata on `deviantart` (#189)
 - Man pages and bash completion (#150)
 - Snap improvements (#197, #199, #207)
### Changed
 - Metadata for `luscious` albums
 - FFmpeg arguments for `--ugoira-conv`
### Fixed
 - `tumblr` avatar URLs when not using OAuth1.0 (#193)
 - `instagram` multi-image posts (#178, #201)
 - Miscellaneous issues on `exhentai`, `komikcast`
jperkin pushed a commit that referenced this issue Apr 2, 2019
## Version 2.3 ##

2019-03-30

- Unicode 12 support ([#148]).

- New function `utf8proc_unicode_version` to return the supported Unicode version ([#151]).

- Simpler character-width computation that no longer uses GNU Unifont metrics: East-Asian wide
  characters have width 2, and all other printable characters have width 1 ([#150]).

- Fix `CHARBOUND` option for `utf8proc_map` to preserve U+FFFE and U+FFFF non-characters ([#149]).

- Various build-system improvements ([#141], [#142], [#147]).
jperkin pushed a commit that referenced this issue Apr 29, 2019
Changes since b149:

Beta #150 - 22.04.2019
- Less strict validation of instrument loading in XM files (fixes some quirky
  .XM modules refusing to load).
jperkin pushed a commit that referenced this issue Oct 20, 2019
pkgsrc changes:
 - Remove patch-filter_pdf.cxx (was a backport from upstream) and patch-Makefile.in
   (now `-r' option of `ln' is checked in configure phase)

Changes:
1.25.11
-------
 - cups-browsed: Really accept entries without printer name
   reported on a job status request (Issue #163).
 - cups-browsed: Strip IPP atrribute values reported by the
   printer on a get-printer-attributes request from white
   space (Pull request #166).

1.25.10
-------
 - libcupsfilters: Added NULL checks when handling page size
   names as some of the page sizes in CUPS' PWG media list have
   a NULL PPD name (Ubuntu bug #1847488).

1.25.9
------
 - cups-browsed: Fix leaks in get_printer_attributes() function.
 - cups-browsed: Avoid infinite recursion on IPP 1.1 fallback.

1.25.8
------
 - cups-browsed: On a job status request accept also entries
   without the printer name being reported (Issue #163).
 - cups-browsed: Fall back to IPP 1.1 if a
   get-printer-attributes IPP request with IPP 2.x fails (Issue
   #124, Issue #163).
 - gstoraster: Use ".setfilladjust2" instead of the
   undocumented ".setfilladjust" PostScript command for
   Center-of-Pixel method to fill paths (Issue #164).

1.25.7
------
 - implicitclass, libcupsfilters: Fixes to solve an assertion
   error and printing to an Apple Raster printer (Issue #162,
   Ubuntu bug #1845286, Ubuntu bug #1845548).
 - cups-browsed: Do not try to resolve the network interface
   name on Avahi messages which are not interface-related (like
   "All for now"or "Cache exhausted", Issue #163).
 - Build system: The helper script ln-srf to build on systems
   with old ln was not included in the release tarballs (Issue
   #161).
 - pdftoraster: Fixed some bugs in output bitmap generation (
   writePageImage() function): Segfault on output of
   up-side-down pages (back side when printing duplex on some
   printers), margin offsets not taken into account on
   monochrome jobs, CUPS_CSPACE_W color space not recognized as
   monochrome (Ubuntu bug #1845286).

1.25.6
------
 - implicitclass: Make sure the destination printer gets always
   set and do not pass on the cups-browsed-dest-printer when
   sending the job to the final destination (Issue #152, Pull
   request #159).
 - Build system: Support old ln versions without the -r option
   (Pull request #154, #157).
 - texttotext: Link with libiconv if needed (Pull request
   #155, #158).
 - foomatic-rip: Fix argument representation for raw queue
   debug mesaage (Pull request #153).

1.25.5
------
 - bannertopdf: Added missing "#include <cstring>" to pdf.cxx
   so that bannertopdf correctly builds with QPDF 9.0.0 (Issue
   #134, Issue #151, Gentoo bug #693498).
 - rastertopdf: Let the getIPPColorProfileName() function not
   return a pointer to a local variable (clang warning, Issue
   #150).
 - cups-browsed: If a locally generated queue (usually with
          "implicitclass://..." URI) left over from a previous
          (crashed) session is picked up on startup, do not set the
          URI as the remote printer's URI and do not cause a fatal
          error on a failed get-printer-attributes IPP request (Issue
          #148, Debian bug #939316).
 - pdftopdf: Do not preserve encryption, since the output
          already goes into the printer (Issue #146, Pull request
          #147).

1.25.4
------
 - imagetoraster: Do not call imagetops and pstoraster for
   classifications and page labels as these filters are not
   included any more with cups-filters.  Classifications and
   page labels are currently not supported for direct image
   printing, only for PDF or PostScript input (which goes
   through pdftopdf).
 - imagetoraster, imagetopdf: Fixed auto-rotation of images to
   fit output page best (Issue #145).
 - pdftoraster: If the PPD contains several equally-sized page
   size entries which match the size of the input page and one
   is the size selected by the user via the "PageSize" or
   "media" option (or the default selection in the PPD) then
   prefer this one instead of simply the first matching one.
 - pdftoraster: If the input page size cannot be matched with
   one of the PPD's page sizes it is considered a custom size,
   fill the page size name field of the CUPS Raster header with
   "Custom.XXXxYYY" then.
 - pdftoraster: Match the input page size with a page size in
   the PPD only if the differences of the dimensions are less
   than 1%, also match the input page size against the
   imageable area of the PPD's page sizes if no match with the
   full page size is found (Issue #138).

1.25.3
------
 - Sample PPDs: In HP-Color_LaserJet_CM3530_MFP-PDF.ppd renamed
   "custom" choice of the option "stapleoption" to "customsize"
   as from CUPS 2.2.12 on "custom" is not accepted any more as a
   choice name in a PPD file.
 - cups-browsed: Fixed check whether the remote printer understands
   PWG Raster (Issue #141).

1.25.2
------
 - foomatic-rip: Fixed segmentation fault when running
   foomatic-rip by hand and the PRINTER environment variable is
   not set (Pull request #139).
 - cups-browsed: Added note to cups-browsed.conf and man page
   about IP-based URIs depending on the network interface used.
 - cups-browsed: For each DNS-SD-discovered printer register
   each DNS-SD discovery instance with network interface,
   family, and IPP type. When DNS-SD messages of instances
   disappearing show up, only unregister this instance and
   remove the printer only if no instance is left. This
   prevents a local queue of a still available printer being
   removed when Wi-Fi (= one interface) is turned off (Issue
   #136).
 - cups-browsed: If a remote printer is served from the local
   machine, prefer the "localhost"/loopback interface URI.
 - cups-browsed: If a remote printer is discovered more than
   once, use the new instance only if it has no downgrades and
   at least one upgrade compared to the old one. Features
   currently compared are IPP/IPPS, loopback interface or not,
   and discovery via CUPS legacy/LDAP/DNS-SD.
 - cups-browsed: If an Avahi-discovered entry comes through the
   "lo" interface, always use the host name "localhost". Use
   IP addresses instead of host names only if explicitly
   requested.
 - cups-browsed: Consider remote printer entries also as from
   the same printer if one has the local machine's network name
   and the other "localhost" as host name (Issue #136).

1.25.1
------
 - imagetopdf: Fixed crash when no PPD file was supplied (Pull
   request #133).
 - pdftoraster: Fixed offset issues leading to segmentation
   faults (Issue #131, Pull request #132).
 - pdftoraster: Added anti-aliasing for better raster image
   quality (Pull request #129).
 - pdftoraster: Added graceful handling of zero-page input
   (Issue #117, Pull request #127).

1.25.0
------
 - pdftoijs, pdftoopvp: Removed these deprecated filters
   completely as there is no demand for them any more. They
   also used unstable, undocumented APIs of Poppler.
 - pdftoraster: Changed from using unstable, undocumented APIs
   of Poppler to stable, documented ones, to improve
   maintainability of this filter, and with it of the
   cups-filters package. Thanks to Tanmay Anand for
   contributing this as his Google Summer of Code 2019 project.
 - libcupsfilters: Added support for color spaces CMY and RGBW
   when using filters without PPD file (mainly for development
   and debugging, option "print-color-mode" with values
   "cmy-XX" and "rgbw-XX" with XX being the number of bits per
   color).

1.24.0
------
 - cups-browsed: Integration of Deepak Patankar's Google Summer
   of Code 2018 project with the main goal of clustering
   different printers and automatically selecting the
   destination printers by job content and option/attribute
   settings. All changes of this release are done by Deepak as
   parts of his project.
 - cups-browsed, implicitclass: Support for mixed clusters of
   remote CUPS queues and IPP network printers. For this PPD
   files of remote CUPS queues are generated by cups-browsed
   based on IPP queries, as for native IPP printers, the number
   of jobs for load balancing is polled in a way that it works
   also with native IPP printers, the implicitclass backend
   sends jobs directky to the printer instead of re-queueing
   them via CUPS.
 - cups-browsed: Merge IPP attributes of several printers to
   combined attributes for the cluster to generate the
   cluster's PPD file, including PPD constraints for option
   combinations not fulfillable by any of the member printers,
   and finding reasonable, non-conflicting default settings,
 - cups-browsed: Selection algorithm for the destination
   printer for a job sent to the cluster. Based on the job
   settings requested such as page size, media type, print
   quality, ... the best most suitable printer in the cluster
   for the job will be selected.
 - cups-browsed, implicitclass: Filter jobs to clusters already
   locally. Due to the fact that a cluster's member printers
   are not exclusively non-raw CUPS queues with the complete
   filtering framework on the remote server, but also native
   IPP printers, we need to support generic driverless printers
   as destination. So we cannot pass on the input data
   unfiltered but need to filter locally. We let the cluster's
   PPD file emulate a PDF printer, letting the local CUPS queue
   of the cluster run pdftopdf and any pre-filters to turn the
   input into PDF and we let the implicitclass backend turn PDF
   into a format understood by the destination printer,
   supporting the 4 formats of driverless IPP printing: PDF,
   PWG Raster, Apple Raster, PCLm.
jperkin pushed a commit that referenced this issue Dec 15, 2019
Motivated by wanting to build under more recent systems with
newer OpenSSL.

Many changes since 1.99.15


[v2.5][] - 2018-09-30
---------------------

### Changes
- macOS changes by Jo Rhett:
  - Add linking with `-lresolv`
  - Use Homebrew's CA trust store
  - Update REDAME with install help
- Add support for selfhost.de DDNS

### Fixes
- Fix #211: Only show DDNS server response on successful transaction
- Fix #211: Improved error handling in OpenSSL back-end
- Fix #214: Add `nochg` to list of good responses for custom providers
- Fixes by Erich Sauvageau:
  - Fix #216: Add DNS lookup exception for `all.dnsomatic.com`
  - Fix #219: Add DNS lookup exception for `default@tunnelbrooker.net`


[v2.4][] - 2018-08-18
---------------------

### Changes
- Add support for Dynu DDNS provider

### Fixes
- Add missing defines for `LLONG_MAX` and `LLONG_MIN` on some platforms
- Fix #209: Update FreeDNS plugin to use v2 of their API to fetch update key
- Fix #210: Use `~/.cache/inadyn` or `~/.inadyn` when running unprivileged


[v2.3.1][] - 2018-02-12
-----------------------

This minor bug fix release holds Debian packaging fixes by André Colomb.

### Changes
- Make .deb files an official part of releases

### Fixes
- Fix installation of `inadyn` in `/usr/sbin` and symlink in `/usr/bin`
- Rename debian/inadyn.links to be standards-compliant
- Update deprecated build dependency for dh-systemd
- Fix lintian warning about unsafe symlinks for build scripts
- Version numbers containing a dash are inappropriate for 'native'
  packages, bump revision instead


[v2.3][] - 2018-01-05
---------------------

### Changes
- Distribute `CONTRIBUTING.md` in release tarballs, by André Colomb
- Clean up debug messages for HTTPS connections, by André Colomb
- New build-depends, `libgnutls28-dev` for Debian/Ubuntu users and
  GnuTLS >= 3.0 for others, by André Colomb
- Issue #192: Add `examples/*.conf` to source distribution, by André Colomb

### Fixes
- TCP, not UDP, for `getaddrinfo()` hints + numeric lookups, by André Colomb
- Disable SSL for checkip connections to SPDYN service, by André Colomb
- Issue #186: Allow IPv6 for HTTP(S) connections, by André Colomb
- Issue #189: Ignore premature session termination in GnuTLS, by André Colomb
- Issue #193: Fix broken internal links in README.md, by André Colomb


[v2.2.1][] - 2017-10-06
-----------------------

### Fixes

- Issue #174: `gnutls.c` missing `stdint.h`, fix for ArchLinux
- Issue #179: Update easyDNS plugin to new API, by Nicholas Alipaz


[v2.2][] - 2017-08-09
---------------------

### Changes
- Use HTTP by default for DYN.com checkip server, used by many DDNS
  providers that do not have their own.  This change is far more user
  friendly since you no longer have to explicitly set `checkip-ssl =
  false` for the most common use-case.
- Some DDNS providers have multiple IP addresses registered for the same
  service, as of this release Inadyn immediately tries to connect to the
  next listed addresses on connection problems.
- Issue #153: Support for custom HTTP User Agent.  Useful with providers
  that require using a specific brower.  Set to, e.g. "Mozilla/4.0", or
  rely on the default "inadyn/VERSION" user agent.
- Support for the `%%` format specifier in custom server URL's, as
  mentioned in issue #152.
- Add support for a `.conf` syntax checker: `inadyn --check-config`
- Add support for logging to `stderr` when running in foreground or
  without syslog enabled
- Simplified provider name lookup in `.conf` file.  Now substring match
  is used, resulting in support for `provider Dyn { ... }`.
- Remove libite dependency by importing all its used files into inadyn.
  This should ease adoption by distributions and end users.  All code
  is under free licenses: BSD, ISC.
- Import Timur's Debian packaging, adding debconf support

### Fixes
- Issue #152: Do not attempt to create PID file in oneshot mode (`-1`)
- Issue #152: Must URL encode custom server URL's
- Issue #170: Use configured `--prefix` not hard coded `/etc/inadyn.conf`
- Issue #172: Use separate variable for `--iface` command line option and
  `.conf` file option


[v2.1][] - 2016-12-04
---------------------

### Changes
- Use HTTPS instead of HTTP by default
- Support for disabling HTTPS for `checkip-server`, per provider.
  Idea from Valery Frolov
- Add `-I,--ident=NAME` option for syslog+pidfile name
- Deprecate `--pidfile=NAME` option in favor of `--ident=NAME`

### Fixes
- Issue #150: Custom update URL parser fixes
- Issue #151: Support for detecting OpenSSL v1.1
- Issue #144: Clarify use of public vs private IP.  It is possible
  to register private IP addresses in a public DNS
- Clarify `--foreground` option in man page
- Document minimum required versions of libite and libConfuse
- Portability fixes, replace `__progname` with a small function,
  replace `%m` with `%s` and `strerror(errno)`.


[v2.0][] - 2016-09-12
---------------------

New configuration file format, changed command line options, improved
HTTPS support using GnuTLS and Open/LibreSSL.  Inadyn now comes with
certificate validation enabled by default.

### Changes
- New configuration file format using [libConfuse][]
- Radically simplified command line, a .conf file is now required
- Reorganized SSL code, split `ssl.c` into `openssl.c` and `gnutls.c`
- Strict HTTPS certificate validation is now default.  To disable this
  use `strict-ssl = false` in the .conf file.
- Certificate validation uses trusted CA certificates from the system
  with fall-backs to certain known locations.  To override this default
  handling a `ca-trust-file = FILE` setting in `inadyn.conf` can be used
  to provide the path to another CA cert bundle, in PEM format.
- Massive overhaul of `inadyn(8)` and `inadyn.conf(5)` man pages
- Support for reading address from interface, including IPv6 addresses
- Support for calling an external script to get the IP address
- Support for multiple users @ same provider, idea from Valery Frolov:

        provider default@no-ip.com:1 {
            username    = ian
            password    = secret
            alias       = flemming.no-ip.com
        }

        provider default@no-ip.com:2 {
            username    = james
            password    = bond
            alias       = spectre.no-ip.com
        }

- Support for ddnss.de and dynv6.com, contributed by Sven Hoefer
- Support for spdyn.de, on request from Frank Röhm
- Support for strato.com, contributed by Duncan Overbruck
- Support for disabling IP address validation: `verify-address = false`
- Refactored memory handling and privilige separation to simplify code
- Refactored logging and backgrounding to simplify code
- Removed old compatibility symlinks and other required GNU specific
  files, we now distribute and install README.md and ChangeLog.md

### Fixes
- Fix issue #61: Add HTTPS certificate validation for OpenSSL/LibreSSL
- Fix issue #67: Use GnuTLS native API for HTTPS
- Fix DuckDNS: now requires 'www.' prefix in server URL.  By Frank Aurich
- Fix issue #110: Poodle `SSL_MODE_SEND_FALLBACK_SCSV` not needed
- Fix issue #101: Remove support for custom pidfile
- Fix issue #102: Relocate cache files `/var/run/inadyn` to `/var/cache/inadyn`
- Fix issue #113: `--drop-privs` does not work
- Add actual permissions check to `os_check_perms()`
- Fix issue #121: Support for fully customizable update URL
- Fix issue #122: Only use HTTPS connection for DNS update, not checkip
- Fix issue #131: Use FreeDNS' own checkip server instead of DYN.com's
- Fix issue #134: Support wildcard cert with GnuTLS backend
jperkin pushed a commit that referenced this issue 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 issue May 20, 2020
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------

Fix
~~~
- `eyeD3 --genre ""` to clear genre frame restored.
- Genre id->name mapping for non-standard genres and custom maps.


v0.9.4 (2020-03-21) : The Devil Made Me Do It
-----------------------------------------------

New
~~~
- Relative volume adjustments (RVA2 and RVAD) (#399)
- Tag properties copyright and encoded_by
- Support GRP1 (Apple) frames.

Changes
~~~~~~~
- Genre serialization not ID3 v2.3 format by default, and other genre cleanup (#402)
  fixes #382

Fix
~~~
- Date correctness between ID3 versions (#396)
- PopularityFrame email encoding bug.
- Plugins more featured in docs


v0.9.3 (2020-03-01) : It Dawned On Me
--------------------------------------

Changes
~~~~~~~
- Track/disc numbers can be set with integer strings.
- Disc number getter and setter hooks

v0.9.2 (2020-02-10) : Into The Future
--------------------------------------

Fix
~~~
- Removed setting of PYTHONIOENCODING, it breaks MacOS.
  Fixes #388


v0.9.1 (2020-02-09) : Dead and Gone
------------------------------------

Fix
~~~
- Docs and pep8.

Other
~~~~~
- Experiment with setting utf-8 writer for stdout and stderr.


v0.9 (2020-01-01) : Favorite Thing
-----------------------------------

Major Changes
~~~~~~~~~~~~~
- Dropped support for Python versions 2.7, 3.4, and 3.5.
- File scanning is no longer recursive by default; use `-r / --recursive`.
- Default log-level changed from WARNING to ERROR.

New
~~~
- Mime-type detection uses filetype.py (libmagic no longer required)
- setFileScannerOpts function accepts `default_recursive` option.
- A new `jsontag` plugin for converting tags to JSON.
- A new `extract` plugin for extracting tags from media.
- A new `yamltag` plugin for converting tags to YAML.
- A new `mimetypes` plugin for listing file mime-types / measuring performance
- Original artist support (TOPE frame, --orig-artist)
- Added support for Python 3.8 and pypy3.

Changes
~~~~~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379
- Adjust replay gain correctly for lame >= 3.95.1 headers.
- Added -r/--recursive argument. eyeD3 is no longer recursive by default (#378)
- Regenerated grako parser.
- New ValueError for _setNum when unknown type/values are passed.
- Moved src/* to top-level repo directory.

Fix
~~~
- PRIV data type checking, fixed examples, etc.
- Use tox for `make test`
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338
- Fix simple typo: titel -> title. <tim.gates@iress.com>
- Fixed: load the right config file in arguments. <zhumumu@gmail.com>
- Fix issue tracker link. Fixes #333.
- Fixed art plugin when `pylast` is not installed.
- Unbound variable for track num/total.  Fixes #327.
- Fixed MP3 header search to not false match on BOMs.
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <gabrieldiegoteixeira@gmail.com>
- UFID fixes, update (#325) <gabrieldiegoteixeira@gmail.com>

Other
~~~~~
- Deprecation of eyed3.utils.guessMimeType
- Removed ipdb from dev requirements


v0.8.12 (2019-12-27)
---------------------

Changes
~~~~~~~
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379

Other
~~~~~
- Test with py38


v0.8.11 (2019-11-09)
------------------------

Fix
~~~
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338


v0.8.10 (2019-03-07) : Apples
------------------------------

New
~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.

Fix
~~~
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <gabrieldiegoteixeira@gmail.com>


v0.8.9 (2019-01-12) : Descent Into...
--------------------------------------

Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <github-bot@pyup.io>

Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
  <gaetano.guerriero@gmx.com>
- Requirements.txt: pathlib is only needed for older python versions
  (#284) <Mic92@users.noreply.github.com>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.


v0.8.8 (2018-11-28) : In Ruins
------------------------------

New
~~~
- Follow symlink directories. Fixes #224

Changes
~~~~~~~
- Eyed3.core.AudioInfo `time_secs` is now a float and non-lossy. Fixes #210
- Removed Python 3.3 support.

Fix
~~~
- Better type handling during TLEN [fixup plugin].
- Don't tweak logging by default, only thru `main`. Fixes #243

Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
  the issue #219] (#220) <chamatht@gmail.com>


v0.8.7 (2018-06-11) : Aeon
---------------------------

Fix
~~~
- Only use os.fwalk where supported.


v0.8.6 (2018-05-27) : Robot Man
--------------------------------

New
~~~
- Art plugin can now download album covers from last.fm.

Changes
~~~~~~~
- Use os.fwalk for its better performance (esp. >= py37) Fixes #166
- TagTemplate `path_friendly` is now a string, namely the delimiter to use.

Fix
~~~
- Classic plugin: --write-image will work with --quiet. Fixes #188
- Multiple fixes for display plugin %images% replacements. Fixes #176
- Allow --remove-* options to work when there are no tags. Fixes #183


v0.8.5 (2018-03-27) : 30$ Bag
-----------------------------

New
~~~
- Mp3AudioFile.initTag now returns the new tag.
- Eyed3.core.EP_MAX_SIZE_HINT.
- Added docs for install devel dependencies and test data.

Changes
~~~~~~~
- Similarly to TextFrame, fallback to latin1 for invalid encodings.
- Removed paver as a dep.
- Removed fabfile and mkenv.
- Clean pytest_cache.
- Nicfit.py cc update.

Fix
~~~
- Handle missing `fcntl` on Windows. Fixes #135.
- In addition to None, "" will now clear dates.
- Update index.rst to reflect the code is in a Git repo, not Mercurial (#164)
  <deoren@users.noreply.github.com>

Other
~~~~~
- Update pytest from 3.2.2 to 3.5.0 (#175) <github-bot@pyup.io>
- Update twine from 1.9.1 to 1.11.0 (#173) <github-bot@pyup.io>
- Update sphinx from 1.6.5 to 1.7.2 (#174) <github-bot@pyup.io>
- Update sphinxcontrib-paverutils from 1.16.0 to 1.17.0 (#172) <github-
  bot@pyup.io>
- Update pytest-runner from 3.0 to 4.2 (#171) <github-bot@pyup.io>
- Update nicfit.py from 0.7 to 0.8 (#161) <github-bot@pyup.io>
- Update ipdb from 0.10.3 to 0.11 (#159) <github-bot@pyup.io>
- Update factory-boy from 2.9.2 to 2.10.0 (#150) <github-bot@pyup.io>
- Update pyaml from 17.10.0 to 17.12.1 (#138) <github-bot@pyup.io>
- Update python-magic to 0.4.15 (#130) <github-bot@pyup.io>
- Update pip-tools from 1.10.1 to 1.11.0 (#129) <github-bot@pyup.io>
- Update check-manifest from 0.35 to 0.36 (#125) <github-bot@pyup.io>


v0.8.4 (2017-11-17) : The Cold Vein
-------------------------------------

New
~~~
- Composer (TCOM) support (#123)
- Check for version incompatibilities during version changes.

Changes
~~~~~~~
- More forgiving of invalid text encoding identifiers (fixes #101)
- More forgiving of bad Unicode in text frames (fixes #105)
- EyeD3 cmd line helper turned not session-scoped fixture.
- Only warn about missing grako when the plugin is used. Fixes #115.

Fix
~~~
- Fix python3 setup when system encoding is not utf-8 (#120)
  <x.guerriero@tin.it>
- Fix bad frames detection in stats plugin for python3 (#113)
  <x.guerriero@tin.it>
- Script exits with 0 status when called with --version/--help (#109)
  <x.guerriero@tin.it>
- Help pymagic with poorly encoded filenames.
- [display plugin] Handle comments.
- [display plugin] Handle internal exception types. Fixes #118.
- IOError (nor OSError) have a message attr.

Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <github-bot@pyup.io>
- Update pytest-runner to 3.0 (#108) <github-bot@pyup.io>
- Update sphinx to 1.6.5 (#106) <github-bot@pyup.io>
- Update flake8 to 3.5.0 (#107) <github-bot@pyup.io>


v0.8.3 (2017-10-22) : So Alone
-------------------------------

Fix
~~~
- Reload and process after tag removals, fixes #102. (PR #103)
- Display incorrectly encoded strings (usually filenames)

Other
~~~~~
- Make the classic output span the actual width of the tty so you can
  see the actual path with a long file name. (#92) <redshodan@gmail.com>


v0.8.2 (2017-09-23) : Standing At the Station
----------------------------------------------

New
~~~
- Pypy and pypy3 support.

Changes
~~~~~~~
- 'nose' is no longer used/required for testing.

Fix
~~~
- Fix for Unicode paths when using Python2.  Fixes #56.


v0.8.1 (2017-08-26) : I Can't Talk To You
------------------------------------------

New
~~~
- ``make pkg-test-data`` target.
- Sample mime-type tests.

Fix
~~~
- Added ``python-magic`` as a dependency for reliable mime-type detection.
  Fixes #61
- Add pathlib to requirements. Fixes #43.
- [doc] Fixed github URL.


v0.8 (2017-05-13) : I Don't Know My Name
-----------------------------------------
.. warning::
  This release is **NOT** API compatible with 0.7.x. The majority
  of the command line interface has been preserved although many options
  have either changed or been removed.  Additionally, support for Python 2.6
  has been dropped.

New
~~~
- Python 3 support (version 2.7 and >= 3.3 supported)
- The Display plugin (-P/--plugin display) enables complete control over tag
  output. Requires ``grako``. If using pip, ``pip install eyeD3[display]``.
  Contributed by Sebastian Patschorke.
- Genre.parse(id3_std=False) (and --non-std-genres) to disable genre #
  mapping.
- eyed3.load accept pathlib.Path arguments.
- eyed3.core.AudioFile accept pathlib.Path arguments.
- eyed3.utils.walk accept pathlib.Path arguments.
- New manual page. Contributed by Gaetano Guerriero
- ``make test-data``

Changes
~~~~~~~~
- Project home from to GitHub: https://github.com/nicfit/eyeD3

Fix
~~~
- Lang fixes, and no longer coerce invalids to eng.

Other
~~~~~
- Moved to pytest, although unittest not yet purged.
jperkin pushed a commit that referenced this issue Jul 23, 2020
Changes:
1.14.3
------
### Additions
 - [8muses] support `comics.8muses.com` URLs
 - [artstation] add `following` extractor (#888)
 - [exhentai] add `domain` option (#897)
 - [gfycat] add `user` and `search` extractors
 - [imgur] support all `/t/...` URLs (#880)
 - [khinsider] add `format` option (#840)
 - [mangakakalot] add `manga` and `chapter` extractors (#876)
 - [redgifs] support `gifsdeliverynetwork.com` URLs (#874)
 - [subscribestar] add `user` and `post` extractors (#852)
 - [twitter] add support for nitter.net URLs (#890)
 - add Zsh completion script (#150)

### Fixes
 - [gfycat] retry 404'ed videos on redgifs.com (#874)
 - [newgrounds] fix favorites extraction
 - [patreon] yield images and attachments before post files (#871)
 - [reddit] fix AttributeError when using `recursion` (#879)
 - [twitter] raise proper exception if a user doesn't exist (#891)
 - defer directory creation (#722)
 - set pseudo extension for Metadata messages (#865)
 - prevent exception on Cloudflare challenges (#868)
jperkin pushed a commit that referenced this issue 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 issue Nov 6, 2020
Version 1.64.1
--------------

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

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

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

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

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

- No change from 1.63.92.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Various build fixes [Philip Chimento]

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

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

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

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

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

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

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

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

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

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

- No change from 1.57.92.

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

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

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

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

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

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

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

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

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

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

- Various CI fixes [Philip Chimento]

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

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

- Misc documentation changes [Philip Chimento]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- No change from 1.55.92.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Closed bugs and merge requests:

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

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

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

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

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

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

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

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

- Backported various maintenance from 3.31 [Philip Chimento]

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

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

- Closed bugs and merge requests:

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

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

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

- Closed bugs and merge requests:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  We estimate this will cover many common use cases.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      let byteArray = functionThatReturnsByteArray();

  to this:

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

  To port to the new code:

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

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

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

    should be replaced by this code:

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

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

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

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

- Closed bugs and merge requests:

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

- Various build fixes [Philip Chimento]
jperkin pushed a commit that referenced this issue Feb 28, 2021
Changelog:
19 January 2021: Wouter
	- Set branch ready for 4.3.5 release.

15 January 2021: Wouter
	- Fix #152: '*' in Rdata causes the return code to be NOERROR instead
	  of NX.
	- Add config.guess and config.sub to .gitignore for autoconf 2.70.
	- Fix #150: TXT record validation difference with BIND.
	- Fixup TXT record validation fix for escaped quotes.
	- Fixup TXT record validation fix for escaped backslashes.
	- Fixup escape character parse for quoted strings.

11 January 2021: Wouter
	- Fix #151: DNAME not applied more than once to resolve the query.
	- Fix dname test for #148.
	- For #151: fix to not produce loops in output.

5 January 2021: Wouter
	- Fix configure.ac for autoconf 2.70.

4 January 2021: Wouter
	- Fix #148: CNAME need not be followed after a synthesized CNAME
	  for a CNAME query.

11 December 2020: Wouter
	- Fix that nsd-control has timeout when connection is down.
	- remove windows socket ifdefs from nsd-control.

3 December 2020: Wouter
	- For #145: Fix that service of remaining TCP and TLS connections
	  does not allow new queries to be made, the connection is closed.
	  Only existing queries and zone transfers are answered, new ones
	  are rejected by a close of the channel.

30 November 2020: Wouter
	- Fix #144: fix better.

27 November 2020: Wouter
	- Fix #144: Typo fix in nsd.conf.5.in.

26 November 2020: Wouter
	- Fix #143: xfrd no hysteresis with NOT IMPLEMENTED rcode.
jperkin pushed a commit that referenced this issue Apr 18, 2021
0.4 - 2021-02-06

  - Support multiple elliptic curves under OpenSSL 1.1.1+ (#150)
  - Improve support for Lua 5.4 (not longer require bit library to be installed) (#180)
  - Ignore delayed RST_STREAM frames in HTTP 2 (#145)
jperkin pushed a commit that referenced this issue Jun 15, 2021
htmltools 0.5.1.1
--------------------------------------------------------------------------------

* Added shiny as a suggested package.


htmltools 0.5.1
--------------------------------------------------------------------------------

## New Features & Improvements

* Added a new `tagFunction()` for generating `tags` and/or
  `htmlDependency()`s conditional on the rendering context. For an
  example, see `?tagFunction`. (#180)

* Closed #104: `save_html()`'s `file` argument now properly handles
  relative paths. (@haozhu233, #105, #192)

* `save_html()` now has a `lang` parameter that can be used to set the
  lang attribute of `<html>`. (@ColinFay, #185)

* Closed #101: `htmlDependency` & `renderDependencies` now allow the
  `script` argument to be given as a named list containing the
  elements: `src`, `integrity`, `crossorigin`. (@matthewstrasiotto,
  #188)

* Closed #189: `validateCssUnit()` now accepts `fit-content`. (#190)

* `htmlPreserve()` can now optionally use the Pandoc `raw_attribute`
  extension to enclose HTML.

## Breaking Changes

* Closed #161: `parseCssColors(x)` now requires `x` to be a character
  vector (it no longer accepts a `list()` of strings) and an error is
  no longer thrown when `mustWork = FALSE` and `x` contains `NA`
  value(s). (#194)

## Bug fixes

* `print(as.tags(x))` no longer results in error when `x` is a generic
  `list()` of tag-like objects. (#181)


htmltools 0.5.0
--------------------------------------------------------------------------------

* `tags` is now generated by a script which collects all
  [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Element) and
  [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG/Element) element tags
  documented in [MDN Web Docs](https://developer.mozilla.org).  This feature
  only appends to the existing set of `tags` (#159)

* Removed the Rcpp depedency and the compiled code now uses C rather than C++ (#158)

* BREAKING CHANGE: Fixed #57, #153: `htmlTemplate` output no longer inserts
  extra whitespace around {{...}} replacement values. (#154)

* `HTML()` now takes `.noWS` argument, which can be used to suppress surrounding
  whitespace (similar to the new argument for tags in htmltools 0.4.0). (#154)

* `css()` now returns `NULL` instead of `""` when no non-empty properties are
  specified. (#145)

* `save_html(tags$body(...))` no longer results in double <body> tags being
  written to the .html file. (Note that `save_html(tags$html(...))` is not
  supported at this time.) (#145)

* Trailing commas now permited in `...` arguments to `css()`, `tagList()`, and
  the var-arg mutation functions: `tagAppendAttributes()`, `tagSetChildren()`,
  and `tagAppendChildren()`. (#145)

* Added `capturePlot` and `plotTag` functions, for easily creating image files
  and HTML <img> tags (respectively) from plot expressions. (#150)

* Added `parseCssColors` function, for normalizing the various CSS
  color formats into #RRGGBB(AA) strings. (#155)

* Fixed #156: Now `extractPreserveChunks()` handles strings contain
  Emoji Unicode strings correctly on Windows. (#157)

* The `.noWS` parameter for suppressing whitespace can now take an `"inside"`
  value (equivalent to `c("after-start", "before-end")`). (#163)

htmltools 0.4.0
--------------------------------------------------------------------------------

* Fixed #128: Added support for trailing commas in tagLists and the predefined
  tags. (#135)

* Added some HTML tag functions to `tags` that were missing. (#111)

* Updated RcppExports for new version of Rcpp. (#93)

* `as.character.shiny.tags()` will handle non-ASCII attributes correctly if they
  are not encoded in native encoding.

* Fixed #99: `NA` attributes were sometimes rendered as `"NA"` in the HTML,
  instead of being blank. (#100)

* The error message for trailing commas in tag functions now provides context
  and useful information. (#109)

* Stopped using inline styles to set background color for `save_html`, as doing so
  makes it difficult to override using other CSS rules. (#123)

* Added a `.noWS` argument to `tag()` and `tags` which can be used to suppress
  the automatically generated whitespace around a particular tag. (#131)

* Added a shim for `system.file()` so that htmltools works with `htmlDependency`
  objects created by a package that was loaded with `devtools::load_all()`.
  (#129)

* `validateCssUnit()` now accepts `ch`, `rem`, and `calc()`. (#134)

* Fixed #125: `print.html` removes html dependencies. (#126)

* Stopped extra carriage returns from being inserted by `save_html` on Windows.
  (#137)
jperkin pushed a commit that referenced this issue Aug 31, 2021
# later 1.3.0

* Closed #148: When later was attached, `parallel::makeForkCluster()`
  would fail. (#149)

* Fixed #150: It was possible for callbacks to execute in the wrong
  order if the clock time was changed in between the scheduling of two
  callbacks. (#151)
jperkin pushed a commit that referenced this issue Oct 4, 2021
 Announce: Rakudo compiler, Release #150 (2021.09)

On behalf of the Rakudo development team, I?m very happy to announce the
September 2021 release of Rakudo #150. Rakudo is an implementation of the Raku^
1 language.

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

New in 2021.09:

  * Additions:
      + Introduce the safe-snapper module. It is a shorthand for loading
        Telemetry and starting a snapper with control-c safety, allowing one to
        stop the script with control-c and still get a report [87152eba]
      + Add ability to subtract an Instant value from a DateTime object and
        vice versa [9a4af4b6]
      + Add Numeric coercer to DateTime [67138ec0]
  * Changes:
      + Make the sprintf method show its format string on error [ea8a95e5]
        [57841911]
      + The test named parameter of the dir routine now handles Junctions
        [21a7117d]
      + Improve error message for the X::Pragma::CannotPrecomp exception
        [a52f1f62][fe461d17]
  * Efficiency:
      + Numerous small speed-ups and memory-related improvements [94462dfa]
        [3aba9707][3c1c709c]
  * Fixes:
      + Properly handle List of Lists in the List.fmt method [a86ec91e]
      + Don't lose concurrent modifications to %!conc_table [72bc5623]
      + Fix potential race in Metamodel::Concretization [d666dfe8]
      + Make the default scheduler properly see RAKUDO_MAX_THREADS env variable
        [b14d404a]
  * Internal:
      + Support ROAST_TIMING_SCALE in telemetry tests [9681a093]
      + Fix false positive in basic telemetry test [c0a6823b]
      + Pass along whether the Rakudo runner was called with --full-cleanup
        [5492452b]
      + Update the concretization table more sparingly [b236dcfd]
jperkin pushed a commit that referenced this issue Nov 3, 2021
Changes from Ant 1.10.11 TO Ant 1.10.12
=======================================

Fixed bugs:
-----------

 * The http condition would follow redirects even when "followRedirects" attribute
   was set to "false". This has now been fixed.
   Bugzilla Report 65489

 * Made sure setting build.compiler to the fully qualified classname
   that corresponds to extJavac or modern has the same effect as using
   the shorter alias names.
   Bugzilla Report 65539

 * Prevent potential deadlocks in org.apache.tools.ant.IntrospectionHelper.
   Bugzilla Report 65424

Other changes:
--------------

 * The implementation of AntClassLoader#findResources() has been changed to optimize
   it for potential performance issues, as those noted at
   https://issues.jenkins.io/browse/JENKINS-22310?focusedCommentId=197405&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-197405
   Github Pull Request #151

 * AntClassLoader now implements the ClassLoader#findResource(String) method.
   Github Pull Request #150

 * Ant tries to avoid file name canonicalization when possible.
   Bugzilla Report 65499

 * javadoc task will now look for warning messages in the STDERR stream too
   when "failonwarning" is set to true to account for changes in JDK 17+

 * The tar task now preserves symlinks of nested tarfilesets.
   Github Pull Request #142
jperkin pushed a commit that referenced this issue Nov 28, 2021
pkgsrc chnage: fix CATEGORIES from www to mail.

3.4.1 (2021-11-16)

1 bugfix:

* Fixed a Ruby < 2.3 incompatibility introduced by the use of standardrb,
  where <<- heredocs were converted to <<~ heredocs. These have been
  reverted back to <<- with the indentation kept and a .strip call to
  prevent excess whitespace.

3.4.0 (2021-11-15)

1 minor enhancement:

* Added a new field to MIME::Type for checking provisional registrations
  from IANA. [#157]

Documentation:

* Kevin Menard synced the documentation so that all examples are
  correct. #153

Administrivia:

* Added Ruby 3.0 to the CI test matrix. Added windows/jruby to the CI
  exclusion list; it refuses to run successfully.
* Removed the Travis CI configuration and changed it to Github Workflows
  #150. Removed Coveralls configuration.
* Igor Victor added TruffleRuby to the Travis CI configuration. #149
* Koichi ITO loosened an excessively tight dependency. #147
* Started using standardrb for Ruby formatting and validation.
* Moved deps:top functionality to a support file.
jperkin pushed a commit that referenced this issue Dec 2, 2021
Change log:

0.5.8 (2021-11-26)
=====
- Bug Fixes:
  - Revert "Chain-up to parent in `mousepad_window_scroll_event()`" (#150)
  - Search: Fix a memory leak
  - Search: Remove obsolete workaround for the document finalization
  - Drop restrictions on URI scheme
  - Update `POTFILES.in`
  - Printing: Remove the "Page Setup" dialog (#148)
  - Flatpak: Complete scripts
  - Flatpak: Access remote locations with GVfs
  - Search: Fix the history cleanup
  - Search: Prevent GTask warnings when replacing text
  - Search: Ensure settings synchronization before searching
  - Fix translation domain in Appdata file
  - flatpak: Update README
  - flatpak: Add generic manifest and basic scripts

- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post
  1500), Persian (Iran), Polish, Portuguese, Portuguese (Brazil),
  Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish,
  Thai, Turkish, Ukrainian, Uyghur
jperkin pushed a commit that referenced this issue Dec 13, 2021
1.5.7 (2021-10-07)

* emergency fix for datatracker bibxml URIs that might trigger caching bug

1.5.8 (2021-10-07)

* Extend /xml -> .xml datatracker workaround to
  kramdown-rfc-cache-i-d-bibxml

1.5.9 (2021-10-14)

* Work around bibxml8 http:// target

1.5.10 (2021-10-15)

* allow parens in DOI

1.5.11 (2021-10-19)

* New diagram tools: "protocol", "protocol-goat"

1.5.12 (2021-10-20)

* aasvg and protocol-aasvg support

1.5.13 (2021-10-29)

* Support auto-linking via abbrevs and # syntax

1.5.14 (2021-10-29)

* provide artwork-{txt,svg}-options for svg tools; Close #135

1.5.15 (2021-10-30)

* Prototype "Discussion Venues" mechanism

  venue:
	group: JSON Path
	mail: jsonpath@ietf.org
	github: ietf-wg-jsonpath/draft-ietf-jsonpath-base

* (add arch: for non-default mail archive and type: for non-default group
  type)

* Also: make noabbrev available as a pseudo-attribute

1.5.16 (2021-11-01)

*  work around gettalong/kramdown#717:
   (line breaks in abbrev usage caused the abbrev to not match)

1.5.17 (2021-11-19)

* Add keys to venue block:
  - `repo` for non-github repos
  - `home` for a WG homepage
* Add json check, json-from-yaml to code block

1.5.18 (2021-11-29)

* Add more keys to venue block:

  - `latest` for a pointer to the latest revision
  - `text` for additional text (sent through markdown;
     can be an array for multiple paragraphs)

* Rename venue note to "About This Document".
* Add datatracker link if a docname is available.
* Increase robustness.

1.5.19 (2021-11-29)

* v3 rfc attributes update
  - Move four "processing instructions" into `<rfc` attributes in v3
  - Handle indexInclude like another one of these PIs
  - Default to consensus: true for cat: std or bcp

1.5.20 (2021-12-01)

* Fix #150 (v2 regression fail): ParameterSet: skip nil in #attrs parameter
  list

1.5.21 (2021-12-01)

* Fix more PI regressions
jperkin pushed a commit that referenced this issue Mar 10, 2022
Feature

    Bump dependencies (da3f0ca)
    Completed work on #155 (#172) (a926b34)
    Support complete model for bom.metadata (#162) (2938a6c)
    Support for bom.externalReferences in JSON and XML #124 (1b733d7)
    Complete support for bom.components (#155) (32c0139)
    Support services in XML BOMs (9edf6c9)

Fix

    license_url not serialised in XML output #179 (#180) (f014d7c)
    Component.bom_ref is not Optional in our model implementation (in the schema it is) - we generate a UUID if bom_ref is not supplied explicitly (5c954d1)
    Temporary fix for __hash__ of Component with properties #153 (a51766d)
    Further fix for #150 (1f55f3e)
    Regression introduced by first fix for #150 (c09e396)
    Components with no version (optional since 1.4) produce invalid BOM output in XML #150 (70d25c8)
    expression not supported in Component Licsnes for version 1.0 (15b081b)

Breaking

    Adopt PEP-3102 (da3f0ca)
    Optional Lists are now non-optional Sets (da3f0ca)
    Remove concept of DEFAULT schema version - replaced with LATEST schema version (da3f0ca)
    Added BomRef data type (da3f0ca)
jbarfield pushed a commit to bissinc/pkgsrc that referenced this issue Mar 22, 2022
New features:

- make install now creates /usr/local/libexec/mold/ld as a symlink to the
  mold executable. We do this for GCC. By passing -B/usr/local/libexec/mold,
  you can tell GCC to use ld inside that directory instead of /usr/bin/ld.
  (e8dcecf)
- xxHash library is now included in the mold's source tree as a subtree for
  ease of building. If you want to link against a libxxhash in a system
  library directory, pass SYSTEM_XXHASH=1 to make. (665bffa)
- The extern "C++" directive is now supported in the dynamic list. (7aa5c39)
- --color-diagnostics is supported. mold used to ignore that flag. (6e290aa)
- Not only * but also ? are now treated as special characters in the version
  script wildcard pattern. (31b0248)
- The --threads=N option has been added as an alias for --thread-count=N.
  (f9ff048)
- The following option has been added: --defsym (f6e8006), -z nodefaultlib
  (8c86c28), -z separate-code, -z noseparate-code and
  -z separate-lodable-segments (5601cf4), -z max-page-size (f3766cd)

Bug fixes and compatibility improvements:

- mold now issue a warning instead of an error for an unknown -z option.
  (8bc5736)
- mold previously created a PT_NOTE segment for non-SHF_ALLOC note segments.
  This is a wrong behavior because we should create segments only for
  memory-allocated sections. This problem has been fixed. (76407a6)
- Previously, a version script can affect symbol visibility of undefined
  symbols when they are promoted to dynamic symbols. This is a semantically
  incorrect behavior and caused a libQt build failure (TritonDataCenter#151). The issue has
  been fixed. (3663389)
- Previously, mold silently turned unresolved undefined symbols into absolute
  symbols with value 0 if -shared, -z defs and -warn-undefined-symbols are
  specified. Even though this behavior makes sense, it's not compatible
  with GNU ld which promotes such symbols into dynamic symbols.
  This incompatibility causes a link failure for Firefox. Since 1.0.1, mold
  behaves the same as GNU ld. (04ccd4d)
- Previously, mold applied wrong values for relocations against Initial-Exec
  thread-local variables. That caused a link failure for Mesa 3D graphics
  library (TritonDataCenter#197). The issue has been resolved. (d116113)
- GCC 7 has a bug that it emits incorrect relocations against thread-local
  variables under a certain condition. That bug was unnoticed because
  existing linkers silently produces an output that works fine in most
  cases but is technically corrupted. mold used to check for that error
  condition and report an error. Now, mold does not report it as an error
  for the sake of bug-compatibility with GCC 7. I don't think relaxing the
  error check will cause any new issue to existing GCC 7 users, because if
  it does, they would have been experiencing the issue with existing
  linkers already. (d9606d6)
- If an output file has more than one sections for thread-local BSS, they
  were laid out in such that they are overlapping with each other. This bug
  caused a runtime error for programs compiled with DMD, a compiler for the
  D language (TritonDataCenter#126). This layout issue has been resolved. (b151de6)
- Previously, mold failed to look up correct files under --sysroot in some
  conditions. That caused a link failure for ClickHouse (TritonDataCenter#150). This bug
  has been fixed. (135f17c)
jperkin pushed a commit that referenced this issue Jul 24, 2022
What's Changed

    Test against pip==22.1b1 by @di in #141
    Test against pip==22.1 by @di in #143
    Test against pip==22.1.1 by @di in #145
    Test against pip==22.1.2 by @di in #147
    Editable project location by @weetster in #148
    Add a release workflow by @woodruffw in #150
jperkin pushed a commit that referenced this issue Sep 4, 2022
2.0.2 (2022-06-28)

Bug fixes:

* Fix additional incompatible character encodings error when building
  uploaded bodies (Jeremy Evans #311)

2.0.1 (2022-06-27)

Bug fixes:

* Fix incompatible character encodings error when building uploaded file
  bodies (Jeremy Evans #308 #309)

2.0.0 (2022-06-24)

Breaking changes:

* Digest authentication support is now deprecated, as it relies on digest
  authentication support in rack, which has been deprecated (Jeremy Evans
  #294)
* Rack::Test::Utils.build_primitive_part no longer handles array values
  (Jeremy Evans #292)
* Rack::Test::Utils module methods other than build_nested_query and
  build_multipart are now private methods (Jeremy Evans #297)
* Rack::MockSession has been combined into Rack::Test::Session, and remains
  as an alias to Rack::Test::Session, but to keep some backwards
  compatibility, Rack::Test::Session.new will accept a Rack::Test::Session
  instance and return it (Jeremy Evans #297)
* Previously protected methods in Rack::Test::Cookie{,Jar} are now private
  methods (Jeremy Evans #297)
* Rack::Test::Methods no longer defines build_rack_mock_session, but for
  backwards compatibility, build_rack_test_session will call
  build_rack_mock_session if it is defined (Jeremy Evans #297)
* Rack::Test::Methods::METHODS is no longer defined (Jeremy Evans #297)
* Rack::Test::Methods#_current_session_names has been removed (Jeremy Evans
  #297)
* Headers used/accessed by rack-test are now lower case, for rack 3
  compliance (Jeremy Evans #295)
* Frozen literal strings are now used internally, which may break code that
  mutates static strings returned by rack-test, if any (Jeremy Evans #304)

Minor enhancements:

* rack-test now works with the rack main branch (what will be rack 3)
  (Jeremy Evans #280 #292)
* rack-test only loads the parts of rack it uses when running on the rack
  main branch (what will be rack 3) (Jeremy Evans #292)
* Development dependencies have been significantly reduced, and are now a
  subset of the development dependencies of rack itself (Jeremy Evans #292)
* Avoid creating multiple large copies of uploaded file data in memory
  (Jeremy Evans #286)
* Specify HTTP/1.0 when submitting requests, to avoid responses with
  Transfer-Encoding: chunked (Jeremy Evans #288)
* Support :query_params in rack environment for parameters that are appended
  to the query string instead of used in the request body (Jeremy Evans #150
  #287)
* Reduce required ruby version to 2.0, since tests run fine on Ruby 2.0
  (Jeremy Evans #292)
* Support :multipart env key for request methods to force multipart input
  (Jeremy Evans #303)
* Force multipart input for request methods if content type starts with
  multipart (Jeremy Evans #303)
* Improve performance of Utils.build_multipart by using an append-only
  design (Jeremy Evans #304)
* Improve performance of Utils.build_nested_query for array values (Jeremy
  Evans #304)

Bug fixes:

* The CONTENT_TYPE of multipart requests is now respected, if it starts with
  multipart/ (Tom Knig #238)
* Work correctly with responses that respond to to_a but not to_ary (Sergio
  Faria #276)
* Raise an ArgumentError instead of a TypeError when providing a StringIO
  without an original filename when creating an UploadedFile (Nuno Correia
  #279)
* Allow combining both an UploadedFile and a plain string when building a
  multipart upload (Mitsuhiro Shibuya #278)
* Fix the generation of filenames with spaces to use path escaping instead
  of regular escaping, since path unescaping is used to decode it (Muir
  Manders, Jeremy Evans #275 #284)
* Rewind tempfile used for multipart uploads before it is submitted to the
  application (Jeremy Evans, Alexander Dervish #261 #268 #286)
* Fix Rack::Test.encoding_aware_strings to be true only on rack 1.6+ (Jeremy
  Evans #292)
* Make Rack::Test::CookieJar#valid? return true/false (Jeremy Evans #292)
* Cookies without a domain attribute no longer are submitted to requests for
  subdomains of that domain, for RFC 6265 compliance (Jeremy Evans #292)
* Increase required rack version to 1.3, since tests fail on rack 1.2 and
  below (Jeremy Evans #293)
jperkin pushed a commit that referenced this issue Feb 20, 2023
Upstream changes:
20220807.0 Mon Aug 1 2022
 If your applications rely on portability to Windows, see new documentation
 sections "argument-passing rules are program-specific" and "batch files".  This
 release fixes bugs in runs of Windows programs that use standard command line
 parsing rules.  Runs of non-standard programs may require changes.  Notable
 non-standard programs include cmd.exe, cscript.exe, and Cygwin programs.
 - #140 - skip t/pty.t test on NetBSD too
 - Add strict/warnings
 - #142 - Follow Windows argument quoting rules
 - #146 - allow win32_newlines.t to actually run
 - #150 - Make t/pty.t test pass on OpenBSD.
 - #148 - Support Win32 commands having nonstandard command line parsing rules
 - Support executing Win32 batch files.
 - Add IPC::Run::Win32Process, for delivering nonstandard command lines.
 - Fix reporting of Win32::Process::Create() errors.
 - #156 - On Windows, avoid hang when closing read end of pipe.
 - #155 - Ignore known test failure on msys. - t/windows_search_path.t
 - Avoid warning with IPCRUNDEBUG, in Windows spawned children.
 - Use $^X, not 'perl', in tests.
 - Thanks to the New active developer: Noah Misch!
jperkin pushed a commit that referenced this issue Feb 20, 2023
What's Changed
Bug Fixes 🐛
 - Fix link selection of mulit-line links by @Builditluc in #141
 - Fix link selection reset on layout change by @Builditluc in #142

Documentation Changes
 - Simplify Readme by @Builditluc in #138
 - Improve Contribution Documentation by @Builditluc in #139

Style and Structure Changes
 - Update default labels in the issue templates by @Builditluc in #127
 - Update label configurations in workflows by @Builditluc in #128
 - Create Api Handler by @Builditluc in #147
 - Create new parser system by @Builditluc in #149
 - Rework backend by @Builditluc in #150

Other Changes
 - Add keywords to the cargo manifest by @Builditluc in #145
jperkin pushed a commit that referenced this issue Apr 28, 2023
Snowball 2.2.0 (2021-11-10)
===========================

New Code Generators
-------------------

* Add Ada generator from Stephane Carrez (#135).

Javascript
----------

* Fix generated code to use integer division rather than floating point
  division.

  Noted by David Corbett.

Pascal
------

* Fix code generated for division.  Previously real division was used and the
  generated code would fail to compile with a "Incompatible types" error.

  Noted by David Corbett.

* Fix code generated for Snowball's `minint` and `maxint` constant.

Python
------

* Python 2 is no longer actively supported, as proposed on the mailing list:
  https://lists.tartarus.org/pipermail/snowball-discuss/2021-August/001721.html

* Fix code generated for division.  Previously the Python code we generated
  used integer division but rounded negative fractions towards negative
  infinity rather than zero under Python 2, and under Python 3 used floating
  point division.

  Noted by David Corbett.

Code Quality Improvements
-------------------------

* C#: An `among` without functions is now generated as `static` and groupings
  are now generated as constant.  Patches from James Turner in #146 and #147.

Code generation improvements
----------------------------

* General:

  + Constant numeric subexpressions and constant numeric tests are now
    evaluated at Snowball compile time.

Behavioural changes to existing algorithms
------------------------------------------

* german2: Fix handling of `qu` to match algorithm description.  Previously
  the implementation erroneously did `skip 2` after `qu`.  We suspect this was
  intended to skip the `qu` but that's already been done by the substring/among
  matching, so it actually skips an extra two characters.

  The implementation has always differed in this way, but there's no good
  reason to skip two extra characters here so overall it seems best to change
  the code to match the description.  This change only affects the stemming of
  a single word in the sample vocabulary - `quae` which seems to actually be
  Latin rather than German.

Optimisations to existing algorithms
------------------------------------

* arabic: Handle exception cases in the among they're exceptions to.

* greek: Remove unused slice setting, handle exception cases in the among
  they're exceptions to, and turn `substring ... among ...  or substring ...
  among ...` into a single `substring ... among ...` in cases where it is
  trivial to do so.

* hindi: Eliminate the need for variable `p`.

* irish: Minor optimisation in setting `pV` and `p1`.

* yiddish: Make use of `among` more.

Compiler
--------

* Fix handling of `len` and `lenof` being declared as names.

  For compatibility with programs written for older Snowball versions
  len and lenof stop being tokens if declared as names.  However this
  code didn't work correctly if the tokeniser's name buffer needed to
  be enlarged to hold the token name (i.e. 3 or 5 elements respectively).

* Report a clearer error if `=` is used instead of `==` in an integer test.

* Replace a single entry command list with its contents in the internal syntax
  tree.  This puts things in a more canonical form, which helps subsequent
  optimisations.

Build system
------------

* Support building on Microsoft Windows (using mingw+msys or a similar
  Unix-like environment).  Patch from Jannick in #129.

* Split out INCLUDES from CPPFLAGS so that CPPFLAGS can now be overridden by
  the user if required.  Fixes #148, reported by Dominique Leuenberger.

* Regenerate algorithms.mk only when needed rather than on every `make` run.

libstemmer
----------

* The libstemmer static library now has a `.a` extension, rather than `.o`.
  Patch from Michal Vasilek in #150.

Testsuite
---------

* stemtest: Test that numbers and numeric codes aren't damaged by any of the
  algorithms.  Regression test for #66.  Fixes #81.

* ada: Fix ada tests to fail if output differs.  There was an extra `| head
  -300` compared to other languages, which meant that the exit code of `diff`
  was ignored.  It seems more helpful (and is more consistent) not to limit how
  many differences are shown so just drop this addition.

* go: Stop thinning testdata.  It looks like we only are because the test
  harness code was based on that for rust, which was based on that for
  javascript, which was only thinning because it was reading everything into
  memory and the larger vocabulary lists were resulting in out of memory
  issues.

* javascript: Speed up stemwords.js.  Process input line-by-line rather than
  reading the whole file into memory, splitting, iterating, and creating an
  array with all the output, joining and writing out a single huge string.
  This also means we can stop thinning the test data for javascript, which we
  were only doing because the huge arabic test data file was causing out of
  memory errors.  Also drop the -p option, which isn't useful here and
  complicates the code.

* rust: Turn on optimisation in the makefile rather than the CI config.  This
  makes the tests run in about 1/5 of the time and there's really no reason to
  be thinning the testdata for rust.

Documentation
-------------

* CONTRIBUTING.rst: Improve documentation for adding a new stemming algorithm.

* Improve wording of Python docs.
jperkin pushed a commit that referenced this issue May 18, 2023
- Add configurable hooks in templates (#150). This allows you to specify
  arbitrary hooks for a plugin that can be used in templates. These are
  specified under `plugins.<name>.hooks`. The default `source` templates have
  been updated to support hooks with the names `pre` and `post`. The `pre` hook
  will be inserted before the plugin is sourced and the `post` after the plugin
  is sourced. If you are using a custom template like `defer` it will need to
  be updated to support hooks.

  For example this can be used to set variables after a plugin is sourced.

  [plugins.enhancd]
  github = "b4b4r07/enhancd"

  [plugins.enhancd.hooks]
  post = 'export ENHANCD_HOOK_AFTER_CD = "ls"'

- Add --non-interactive option to suppress prompts (#163). This option is
  defined as a global option so it must be specified before the subcommand.

  sheldon --non-interactive init --shell zsh

- Add experimental fish shell support (#128). It is now possible to initialize
  Sheldon to use the Fish shell.

  sheldon init --shell fish

  This makes Sheldon change the global matches and templates to be tailored to
  Fish. Add the following to your Fish config

  eval "$(sheldon source)"

- Fix 'PermissionDenied' during rename of temporary clone directory (#162).
jperkin pushed a commit that referenced this issue Jun 11, 2023
# waldo 0.5.1

* Tolerance is also taken into account when displaying differences (#173).

* `NA_real_` and `NaN` are only treated as non-equal when tolerance is
  non-null. That means that `testthat::expect_equal(NaN, NA_real_)` will
  pass but `testthat::expect_identical(NaN, NA_real_)` will fail (#174).

# waldo 0.5.0

* You can opt-out of quoting strings with `quote_strings = FALSE` (#145).

* Improvements to missing value handling:

  * `NA_character_` and `"NA"` are no longer treated as equal (#162).

  * `NA_real_` and `NaN` are no longer treated as equal (@sorhawell, #150).

  * Leading and trailing `NA`s are no longer omitted from output when the
    lengths of `x` and `y` are unequal (#109).

* The `balanced` attribute used by some `POSIXlt` objects in R 4.3 and greater
  is now ignored (#160).

* 3d (and greater) numeric arrays no longer cause an error (#148).

* Support for complex numbers is improved (#146).

* `ignore_attr = "class"` now works for more types of input (#143).
jperkin pushed a commit that referenced this issue Aug 8, 2023
pkgsrc change: switch to use rubygem.

3.0.1: 2021-09-25

Ruby 3.0 support release.

Improvements

rabbit
* Suppressed warnings. [GitHub#132][Patch by kojix2]
* image: Added support for Ruby 3.0. [GitHub#133][Patch by kojix2]
* image: Reused downloaded images.
* image: Removed support for normalized_width and normalized_height.
* image: Added support for clipping by clip_x, clip_y, clip_width and
  clip_height.
* info-window: Moved timer position to bottom on note mode.
* info-window: Added support for wait.
* Removed duplicated requires. [GitHub#134][Patch by kojix2]
* Added support for Charty.
* Added support for embedding terminal.
* Dropped support for Ustream.
* Added support for pushing gem with MFA enabled account. [GitHub#141][Patch
  by Yusuke Nakamura]

rabbit-slide
* Added support for specifying slide size.

Theme
* clear-blue: Added support for disabling vertical centering.
* tag: margin-*: Added support for negative and float values.
* tag: Added support for wrapping by wrap-char, wrap-word and wrap-word-char.
* tag: Added support for justifying by justify and no-justify.
* edge-info-toolkit: Added support for center text.
* slide-footer-info: Added support for center text.

Document
* Added note about theme and here + tortoise. [GitHub#139][Patch by Asaf Bartov]

Fixes

Theme
* image-slide-number: Fixed wrong width calculation. [GitHub#130][Patch by
  HASUMI Hitoshi]

Document
* Fixed English. [GitHub#128][Patch by Zero King]
* Fixed typos. [GitHub#140][Patch by Yusuke Nakamura]

Thanks
* Zero King
* HASUMI Hitoshi
* kojix2
* Asaf Bartov
* Yusuke Nakamura

3.0.2: 2023-06-25

Image drawing support release.

Improvements

rabbit
* image: Added support for drawing on image.
* image: Added support for align=right.
* Added support for Mermaid.
* blockdiag: Added support for blockdiag3 command.

rabbit-slide
* config: Added source_code_uri. GH-144 [Patch by Yusuke Nakamura]
* Dropped support for uploading to SlideShare. Because SlideShare API
  dropped support for uploading a slideshow.

Theme
* image-slide-number: Changed to render images back to the main content. It
  prevents hiding the main content.
* image-timer: Changed to render images back to the main content. It
  prevents hiding the main content.
* background-image-toolkit: Added support for caption.
* clear-blue: Changed to replace \n with a space character instead of just
  removing it in footer.
* pdf: Changed to use ./theme.rb instead of canvas.title theme by default.

Document
* macos Homebrew: Updated how to install document. GH-150 [Patch by Yusuke
  Nakamura]

Fixes

rabbit
* formatter HTML: Fixed a bug that weight configuration is missing. GH-146
  [Patch by HASUMI Hitoshi]

Theme
* image-timer: Fixed a bug that images aren't showed with PDF.
* image-slide-number: Fixed a bug that images aren't showed with PDF.

Thanks
* Yusuke Nakamura
* HASUMI Hitoshi

3.0.3: 2023-07-02

Minor bug fix release.

Fixes

rabbit
* image mermaid: Fixed an error when npx mmdc ... doesn't work. GH-153
  [Patch by Mamoru TASAKA]

Thanks
* Mamoru TASAKA
jperkin pushed a commit that referenced this issue Sep 1, 2023
Change log:

1.1.0 (2023-08-22)
=====
- Update copyright year
- Allow passing arguments to custom commands
- Fully translate strings in unsafe paste dialog
- window: Properly sync always-show-tabs
- cleanup: Include gdkx.h in one place
- preferences: Remove unused class member
- preferences: Check if channel itself exists instead of check property
- screen: Review image loader memory management
- image-loader: Review cache management
- Add keywords to .desktop files (Fixes #50)
- screen: Take window scaling into account when drawing (Fixes #71)
- Remove obsolete GNOME default-app file (Fixes #109)
- Add "Open File Manager Here" action (Fixes #133)
- Properly manage default encoding (Fixes #128)
- Move general include in private.h
- dropdown: Disable systray icon on Wayland
- Fix startup with GDK_BACKEND=x11 (Fixes #177)
- shortcuts: Restore broken action toggle-menubar
- shortcuts: Fix non-consumed key event for show-menubar
- main: Allow GTK to parse its options first (Fixes #216)
- search: Add missing sanity check
- Use GLib logging functions and do not translate warnings
- Fix typo
- Remove obsolete CHECK_VERSION()
- Use g_new() instead of malloc()
- Fix Xfconf memory management
- search-dialog: Fix memory leak
- Remove extra separator at the end of context menu
- Missing shortcut keys in the standalone preferences dialog (Issue
#198)
- Apply 1 suggestion(s) to 1 file(s)
- Enable kinetic scrolling in VteTerminal
- Extend --disable-server description wrt. process model
- End all full sentences with a period
- Drop obsolete --disable-server translations
- prefs-dialog: Fix untranslated strings
- Add sixel support
- Add icons at missing sizes, clean up SVG metadata
- build: Fix autoconf warnings
- build: Add GLib requirement
- Add accel entries for scrolling pages (Issue #221)
- Remove documentation for dead anti-aliasing option
- Make strings translatable (Issue #222)
- Fix shortcuts-editor include
- Indentation
- Support hyperlinks (Issue #21)
- fix typo
- Fix argument type for xfce_shortcuts_editor_new
- fix background_notify
- fixed typo
- Remove disable-help preference.
- MR: !51 transitioned to Xfconf (#134)
- typos in MR !48 fixed
- Remove all references to terminal-preferences.glade
- Remove one more mention of terminal-preferences.glade
- Remove trailing slash
- Remove terminal-preferences-ui.h from makefile
- Remove terminal-preferences.glade
- MR: !48 shortcuts editor embedded into preferences-dialog (#195)
- MR: !48 preferences-dialog rewritten in C (#195)
- MR: !46 Change in implementation for TAB accels (#150)
- Implementation of MiscShiftArrowsToScroll as accelerators.
- Add PCRE2 build dependency
- Remove libxfce4ui 4.17 version guards
- Replace with xfce_gtk_menu_append_separator
- Tweak toolbar
- Translation Updates:
  , Albanian, Arabic, Armenian (Armenia), Basque, Belarusian,
  Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian,
  Czech, Danish, Dutch, Eastern Armenian, English (Australia), English
  (United Kingdom), Estonian, Finnish, French, Galician, German, Greek,
  Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian,
  Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål,
  Occitan (post 1500), Persian (Iran), Polish, Portuguese, Portuguese
  (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish,
  Swedish, Thai, Turkish, Ukrainian
jperkin pushed a commit that referenced this issue 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 issue May 1, 2024
Changes in 2.2.5

    #117: Document that empty for Concurrently waits forever
    #120: Add ConcurrentlyE.
    #123: Fix failing concurrentlyE tests in older GHCs.
    #124: Allow hashable 1.4
    #126: Semigroup and Monoid instances for ConcurrentlyE
    #120: Add ConcurrentlyE
    #138: expose internals as Control.Concurrent.Async.Internal
    #131: Fix typos in docs
    #132: waitAny(Catch): clarify non-empty input list requirement
    #142: Add cancelMany
    #135, #145, #150: Support for GHC 9.4, 9.6, 9.8
    Document that empty for Concurrently waits forever.
jperkin pushed a commit that referenced this issue 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 issue Jul 1, 2024
Changelog:
### GMime 3.2.15

* Fixed the g_mime_object_get_header API definition to note that it can return null
* Fixed a memory leak in address_parse() (issue #159)
* Added custom header folding logic for the Newsgroups: header (issue #162)
* Fixed a configure issue regarding ac_cv_sys_file_offset_bits (issue #158)
* Fixed an infinite loop in the Content-Type and Content-Disposition parameter
  serialization logic (issue #165)

### GMime 3.2.14

* Avoid clearing the header list of a GMimeMessage when adding addresses to an address header. (issue #129)
* Added the internet_address_list_append_parse() prototype definition to internet-address.h. (issue #128)
* Use gtk-doc ulink syntax in doc comments instead of `<a href=...>`. (issue #131)
* Fixed rfc2047 token decoding logic for base64 encodings. (issue #133)
* Properly handle GDateTime UTC offsets with non-zero seconds. (issue #134)
* Improved introspection data for bindings such as Vala.
* Improved address name quoting.
* Added a GNotifyDestroy to the GMimeParserOptions callback.
* Fixed the URL linkifier logic to properly handle links without a '/' before the query string.
* Fixed the URL linkifier logic to handle domains that start with numbers. (issue #152)
* Reverted base64 decoder optimizations from 3.2.10 and 3.2.11 to support chunked base64. (issue #150)

### GMime 3.2.13

* Optimized parsing of messages with lots of address headers. (issue #126)

### GMime 3.2.12

* Fixed a memory leak in g_mime_gpgme_get_decrypt_result().

* Updated vapigen.m4, introspection.m4, and gpgme.m4 to improve cross-platform builds.

* Add and use ax_lib_socket_nsl.m4 so that systems that do not require linkage with libnsl
  are not forced to link with it unnecessesarily.

* Changed the build system to no longer use dolt (which is obsolete).

### GMime 3.2.11

* Fixed a bug in the base64 decoder. D'oh!

### GMime 3.2.10

* Improved performance of base64 encoder by ~5%.

* Improved performance of base64 decoder by ~25%.

* Unref the autocrypt header after adding it to the list. (issue #118)

* Work around a bug in g_time_zone_new_offset() by using identifiers instead. (issue #120)

### GMime 3.2.9

* g_mime_multipart_signed_verify() now allows type/subtype and type/x-subtype signature parts. (issue #115)

* Fixed header folding logic to avoid folding the first line of a header value. (issue #112 and issue #113)

* Fixed bugs discovered by static analysis. (issue #110)

* Fixed GMimeStreamPipe to set errno to ESPIPE for seek/tell/length methods.

* Fixed GMimeCertificates to prefer gpgme_user_id_t's address field over the email field. (issue #102)

### GMime 3.2.8

* Various fixes to Vala (and other?) language bindings. (issue #96 and issue #101)

* Enabled build for PPC64LE architecture (issue #100)

* Added g_mime_object_write_content_to_stream() (issue #97)

* Fixed parameter list parsing logic to not report a warning when everything is valid.

* Fixed the parser to handle MIME parts without headers -or- content of any kind.
jperkin pushed a commit that referenced this issue Sep 24, 2024
This is a point release intended to clear up a couple of CVEs and
apply point fixes that have been accumulating since 5.2.1

There are a few unresolved (but minor) memory leaks related to design
issues in the API that still need to be resolved. Expect those fixes
in the next release.

Code Fixes
----------

* Fixes for CVE-2023-48161, CVE-2022-28506,

* Address SF issue #138 Documentation for obsolete utilities still installed

* Address SF issue #139: Typo in "LZW image data" page ("110_2 = 4_10")

* Address SF issue #140: Typo in "LZW image data" page ("LWZ")

* Address SF issue #141: Typo in "Bits and bytes" page ("filed")

* Note as already fixed SF issue #143: cannot compile under mingw

* Address SF issue #144: giflib-5.2.1 cannot be build on windows and other platforms using c89

* Address SF issue #145: Remove manual pages installation for binaries that are not installed too

* Address SF issue #146: [PATCH] Limit installed man pages to binaries, move giflib to section 7

* Address SF issue #147 [PATCH] Fixes to doc/whatsinagif/ content

* Address SF issue #148: heap Out of Bound Read in gif2rgb.c:298 DumpScreen2RGB

* Declared no-info on SF issue #150: There is a denial of service vulnerability in GIFLIB 5.2.1

* Declared Won't-fix on SF issue 149: Out of source builds no longer possible

* Address SF issue #151: A heap-buffer-overflow in gif2rgb.c:294:45

* Address SF issue #152: Fix some typos on the html documentation and man pages

* Address SF issue #153: Fix segmentation faults due to non correct checking for args

* Address SF issue #154: Recover the giffilter manual page

* Address SF issue #155: Add gifsponge docs

* Address SF issue #157: An OutofMemory-Exception or Memory Leak in gif2rgb

* Address SF issue #158: There is a null pointer problem in gif2rgb

* Address SF issue #159 A heap-buffer-overflow in GIFLIB5.2.1 DumpScreen2RGB() in gif2rgb.c:298:45

* Address SF issue #163: detected memory leaks in openbsd_reallocarray giflib/openbsd-reallocarray.c

* Address SF issue #164: detected memory leaks in GifMakeMapObject giflib/gifalloc.c

* Address SF issue #166: a read zero page leads segment fault in getarg.c and memory leaks in gif2rgb.c and gifmalloc.c

* Address SF issue #167: Heap-Buffer Overflow during Image Saving in DumpScreen2RGB Function at Line 321 of gif2rgb.c
jperkin pushed a commit that referenced this issue Sep 24, 2024
# ps 1.7.7

* `ps_cpu_times()` values are now correct on newer arm64 macOS.

# ps 1.7.6

* `ps_name()` now does not fail in the rare case when `ps_cmdline()` returns an empty vector (#150).

* `ps_system_cpu_times()` now returns CPU times divided by the HZ as reported by CLK_TCK, in-line with other OS's and the per-process version. (#144, @michaelwalshe).
github-actions bot pushed a commit that referenced this issue Oct 18, 2024
# evaluate 1.0.1

* Fix buglet revealed when by using `rlang::abort()` inside of `evaluate()`.

# evaluate 1.0.0

* Setting `ACTIONS_STEP_DEBUG=1` (as in a failing GHA workflow) will
  automatically set `log_echo` and `log_warning` to `TRUE` (#175).

* evaluate works on R 3.6.0 once again.

* `evaluate()` improvements:

  * Now terminates on the first error in a multi-expression input, i.e.
    `1;stop('2');3` will no longer evaluate the third component. This
    matches console behaviour more closely.

  * Calls from conditions emitted by top-level code are automatically stripped
    (#150).

  * Result has a class (`evaluate_evaluation`/`list`) with a basic print method.

  * Plots created before messages/warnings/errors are correctly captured (#28).

* Handler improvements:

  * The default `value` handler now evaluates `print()` in a child of the
    evaluation environment. This largely makes evaluate easier to test, but
    should make defining S3 methods for print a little easier (#192).

  * The `source` output handler is now passed the entire complete input
    expression, not just the first component.

* `evalute(include_timing)` has been deprecated. I can't find any use of it on
  GitHub, and it adds substantial code complexity for little gain.

* `is.value()` has been removed since it tests for an object that evaluate
  never creates.

* New `local_reproducible_output()` helper that sets various options and env
  vars to help ensure consistency of output across environments.

* `parse_all()` adds a `\n` to the end of every line, even the last one if it
  didn't have one in the input. Additionally, it no longer has a default
  method, which will generate better errors if you pass in something unexpected.

* New `trim_intermediate_plots()` drops intermediate plots to reveal the
  complete/final plot (#206).

* `watchout()` is no longer exported; it's really an implementation detail that
  should never have been leaked to the public interface.

# evaluate 0.24.0

* The `source` output handler can now take two arguments (the unparsed `src`
  and the parsed `call`) and choose to affect the displayed source.
* The package now depends on R 4.0.0 in order to decrease our maintenance burden.
github-actions bot pushed a commit that referenced this issue Nov 6, 2024
# nloptr 2.1.1

This is a patch release to work around a bug in the CRAN checks. Specifically,
one of the unit tests for the `isres()` algorithm was failing on some CRAN
builds because convergence is stochastic with slightly different results even
with the same fixed seed prior to calling the function.

# nloptr 2.1.0
This release deprecates the default behavior of the inequality equations in any
wrapper function which uses them. Currently, they are calibrated to be >= 0.
This version allows for the equations to be consistent with the main `nloptr`
function, which requires <= 0. In a future release, the default behavior will
switch to assuming the calibration is <= 0, and eventually, the >= 0 behavior
will be removed. It also includes a large number of safety and efficiency
changes, and an expansion of the unit tests to 100% coverage for all files but
one. The major changes include:

* Reversed the direction of the inequality equations `hin` and `hinjac` in the
wrapper functions which use them, bringing them into compliance with the main
`nloptr` call. This addresses
[Issue #148](astamm/nloptr#148);
* Cleaned the Hock-Schittkowski problem no. 100, Hartmann 6-dimensional, and
Powell exponential examples. This addresses
[Issue #152](astamm/nloptr#152) and
[Issue #156](astamm/nloptr#156);
* Updated roxygen version;
* Updated maintainer email;
* Deal with NA returns from `parallel::detectCores()` (contributed by @jeroen in
PR #150);
* Setup rhub v2 checks;
* Update cmake installation instructions on Mac with brew (#146);
* Allow use of equality constraints with COBYLA (#135);
* Replaced the unit testing framework of `testthat` with `tinytest` (See
[Issue #136](astamm/nloptr#136));
* Brought coverage of `is.nloptr` to 100%. The only file not completely covered
by unit tests is `nloptr.c`. The uncovered calls are error messages which get
trapped by tests in R before the call gets to C;
* Linted package for code correctness and consistency;
* Updated vignette, DESCRIPTION, and NEWS;
* Updated package website to use bootstrap 5;
* Expanded unit tests: coverage now over 97% with no file below 90%;
* Removed forcing `C++11`;
* Added safety checks to C code;
* Added many safety and efficiency enhancements to R code;
* Most R code style made self-consistent;
* Updated documentation and messages for accuracy and mathematical formatting
* Updated Github actions;
* Some bugfixes (e.g. in `isres` or the warning in `nl.grad`).
github-actions bot pushed a commit that referenced this issue 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 issue Dec 2, 2024
# wk 0.9.4

- Ensure package tests pass against sf 1.0-18 (#224, #225).

# wk 0.9.3

- Ensure package compiles with `STRICT_R_HEADERS=1` (#222).

# wk 0.9.2

- Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213)
- Fix wk_trans inconsistent meta flags handling (#217)
- Ensure package builds on arm64 for Windows (#220)

# wk 0.9.1

- Fix format strings/arguments for R-devel (#209).

# wk 0.9.0

## Breaking changes

- The common well-known binary representation of POINT EMPTY (i.e.,
  POINT (nan nan)) is now handled as POINT EMPTY allowing empty points
  to roundtrip through `wkb()` vectors (#196, #204).
- `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This
  preserves the invariant that null features can also be identified using
  `is.na()` (#205).
- `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))`
  now returns `FALSE`. This means that both EMPTY and null points can roundtrip
  through `xy()` (#205).

## Bugfixes and improvements

- `wk_meta()` now contains a new column `is_empty`, which is `TRUE`
  for any feature that contains at least one non-empty coordinate. This allows
  more efficient detection of features with zero coordinates (#197, #199).
- Updated PROJ data to use the latest pull of the database packaged with
  PROJ 9.3.0 (#201).
- The wk package now compiles once again on gcc 4.8 (#203, #206).
- Fixed `sfc_writer()` to correctly attach the `classes` attribute to
  sfc output with mixed geometry types (#195).
- Function `sfc_writer()` now has an argument `promote_multi` to write any
  input as the MULTI variant. This makes it more likely that an input vector
  will be read as a single geometry type (#198).
- The `wk_collection_filter()` now correctly increments the `part_id` when
  calling the child handler (@brownag, #194).

# wk 0.8.0

* Added `wkb_to_hex()` (@anthonynorth, #183).
* Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs
  (@anthonynorth, #183).
* Fixed `sfc_writer()`, which had returned NULL for some inputs
  (e.g., via `wk_collection()`) (@anthonynorth, #182, #186).
* Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings
  (@anthonynorth, #188).
* New replacement-function mode for `wk_coords<-()` for in-place modification
  of coordinates (@mdsumner, #187).
* New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187).

# wk 0.7.3

* Fix tests for updated waldo package (#178).

# wk 0.7.2

* Fix use-after-free warnings.

# wk 0.7.1

* Fix implicit reliance on error `as.data.frame.default()`,
  which no longer occurs in r-devel (#166).

# wk 0.7.0

* Remove legacy headers that are no longer used by any downstream package
  (#146).
* `validate_wk_wkt()` now errors for an object that does not inherit from
  'wk_wkt' (#123, #146).
* Added `wk_crs_projjson()` to get a JSON representation of a CRS object.
  To make lookup possible based on shortcut-style CRS objects (e.g.,
  `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and
  `wk_proj_crs_json` that contain cached versions of rendered PROJJSON
  based on the latest PROJ version (#147).
* Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136,
  #147).
* Conversion to sf now uses the `sfc_writer()` for all wk classes, making
  conversions faster and fixing at least one issue with conversion of NA
  geometries to sf (#135).
* `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types
  more reliably (#142, #143, #149).
* Exported EMPTY geometries to well-known text now include dimension
  (e.g., `POINT Z EMPTY`) (#141, #150).
* Fixed bug where `wk_polygon()` doubled some points when the input contained
  closed rings (#134, #151).
* Fixed bug where `wk_count()` exposed uninitialized values for empty input
  (#139, #153).
* The `xy_writer()` now opportunistically avoids allocating vectors for Z
  or M values unless they are actually needed (#131, #154).
* Added example WKT for all geometry types and dimensions plus helper
  `wk_example()` to access them and set various properties (#155).
* Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158).
* Removed `wk_chunk_map_feature()` in favour of using chunking strategies
  directly (#132, #159).
* Optimized `wk_coords()` for `xy()` objects (#138, #160).
* Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`,
  `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`,
  `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()`
  (#144, #161).
* Added rectangle operators `rct_intersects()`, `rct_contains()`,
  and `rct_intersection()` (#161).

# wk 0.6.0

* Fixed `wk_affine_rescale()` to apply the translate and scale
  operations in the correct order (#94).
* Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support
  a chunk + apply workflow when working with large vectors (#101, #107).
* C and R code was rewritten to avoid materializing ALTREP vectors
  (#103, #109).
* Added a `wk_crs_proj_definition()` generic for foreign CRS objects
  (#110, #112).
* Added `wk_crs_longlat()` helper to help promote authority-compliant
  CRS choices (#112).
* Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic`
  in `wkt()` and `wkb()` as a flag for objects whose edges must
  be interpolated along a spherical/ellipsoidal trajectory (#112).
* Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry
  vectors for better integration with sf (#113, #114).
* Refactored well-known text parser to be more reusable and faster
  (#115, #104).
* Minor performance enhancement for `is.na()` and `validate_wk_wkb()`
  when called on a very long `wkb()` vector (#117).
* Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed
  for most valid objects (#119).
* Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise
  bounding boxes (#120, #122).
* Fixed headers and tests to pass on big endian systems (#105, #122).
* Incorporated the geodesic attribute into vctrs methods, data frame
  columns, and bbox/envelope calculation (#124, #125).
* Fix `as_xy()` for nested data frames and geodesic objects (#126, #128).
* Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`,
  and `wkt_format()` (#129).
* `wk_plot()` is now an S3 generic (#130).

# wk 0.5.0

* Fixed bugs relating to the behaviour of wk classes as
  vectors (#64, #65, #67, #70).
* `crc()` objects are now correctly exported as polygons
  with a closed loop (#66, #70).
* Added `wk_vertices()` and `wk_coords()` to extract individual
  coordinate values from geometries with optional identifying
  information. For advanced users, the `wk_vertex_filter()`
  can be used as part of a pipeline to export coordinates
  as point geometries to another handler (#69, #71).
* Added `wk_flatten()` to extract geometries from collections.
  For advanced users, the `wk_flatten_filter()` can be used as
  part of a pipeline (#75, #78).
* `options("max.print")` is now respected by all vector classes
  (#72, #74).
* Moved implementation of plot methods from wkutils to wk to
  simplify the dependency structure of both packages (#80, #76).
* Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()`
  to construct polygons, lines, and collections. For advanced
  users, `wk_polygon_filter()`, `wk_linestring_filter()`, and
  `wk_collection_filter()` can be used as part of a pipeline
  (#77, #84).
* Added a C-level transform struct that can be used to simplify
  the the common pattern of transforming coordinates. These
  structs can be created by other packages; however, the
  `wk_trans_affine()` and `wk_trans_set()` transforms are
  also built using this feature. These are run using the
  new `wk_transform()` function and power the new
  `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`,
  functions (#87, #88, #89).

# wk 0.4.1

* Fix LTO and MacOS 3.6.2 check errors (#61).

# wk 0.4.0

* Removed `wksxp()` in favour of improved `sf::st_sfc()` support
  (#21).
* Rewrite existing readers, writers, and handlers, using
  a new C API (#13).
* Use new C API in favour of header-only approach for all
  wk functions (#19, #22).
* Use cpp11 to manage safe use of callables that may longjmp
  from C++.
* Vector classes now propagate `attr(, "crs")`, and check
  that operations that involve more than one vector have
  compatable CRS objects as determined by `wk_crs_equal()`.
* Added an R-level framework for other packages to implement
  wk readers and handlers: `wk_handle()`, `wk_translate()`,
  and `wk_writer()` (#37).
* Added a native reader and writer for `sf::st_sfc()` objects
  and implemented R-level generics for sfc, sfg, sf, and bbox
  objects (#28, #29, #38, #45).
* Implement `crc()` vector class to represent circles (#40).
* Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42).
* Refactored unit tests reflecting use of the new API and
  for improved test coverage (#44, #45, #46).
* Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to
  inspect properties of vectors (#53).
* Modified all internal handlers such that they work with vectors
  of unknown length (#54).

# wk 0.3.4

* Fixed reference to `wkutils::plot.wk_wksxp()`, which
  no longer exists.

# wk 0.3.3

* Fixed WKB import of ZM geometries that do not use EWKB.
* Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes
  to efficiently store point geometries.
* Added the `rct()` vector class to efficiently store
  two-dimensional rectangles.
* Fixed the CRAN check  failure caused by a circular
  dependency with  the wkutils package.
* Added S3 methods to coerce sf objects to and from
  `wkt()`, `wkb()` and `wksxp()`.

# wk 0.3.2

* Fixed EWKB output for collections and multi-geometries
  that included SRID (#3).
* Fixed CRAN check errors related to exception handling on
  MacOS/R 3.6.2.

# wk 0.3.1

* Added a `NEWS.md` file to track changes to the package.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants