Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[request] xboard for OpenIndiana #187

Closed
brancoliticus opened this issue Apr 3, 2019 · 1 comment
Closed

[request] xboard for OpenIndiana #187

brancoliticus opened this issue Apr 3, 2019 · 1 comment
Assignees

Comments

@brancoliticus
Copy link

Since the game Nethack is available I figure it wouldn't be much of a stretch for me to request the chess client xboard.

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 Sep 18, 2020
0.60:

Asciidoc:
 * Introduce "compat" option to parse like asciidoc or asciidoctor.

Text (and Markdown):
 * Fix the support of nested lists (GitHub's #131).

Other:
 * Remove the experimental C extension that was never built,
   distributed, tested nor modified since 2007.

XML:
 * Provide a meaningful message when the translators butcher the
   <placeholder> attributes instead of truncating the file.
   (GitHub's #254)


0.59.1:

po4a tool:
 * Really fix --srcdir and --destdir handling (Debian's #960892 again).
   Even with the previous fix, the aptitude package was still broken.

Documentation:
 * Clarify the syntax of -o parameters (GitHub's #233).

Sgml:
 * Sort the attributes. Without this, msgids are randomly fuzzied.
   (Debian's #725931 and Debian's #810988)


0.59:

po4a tool:
 * Fix --srcdir handling (GitHub's #237 and Debian's #960892).
   This bug was breaking the build of several packages, including dpkg.

Addendum:
 * New mode 'eof' to easily add at the end of the file (Debian's #960949).

Documentation:
 * Fix many typos and glitches
 * Start a section about external projects using po4a

Tests:
 * po4a: Add a test for the [po_directory] feature

Overall:
 * Improve the displayed messages, don't translate debug messages.


0.58.1:

Documentation:
 * Document an option of the XML parser (GitHub's #223).
 * Small glitches found during the translations.

Tests:
 * Also ignore 'Project-Id-Version' when diffing PO files (GitHub's #224)
 * asciidoc: reactivate tablecells tests

AsciiDoc:
 * Fix management of images in tables (Github's #226)
 * Tolerate underline length variations in two lines titles (Github's #212)


0.58:

AsciiDoc:
 * Accept numbered list items beginning with any number of dots
   (GitHub's #210)

Markdown:
 * Avoid translating Markdown fenced code block info string (GitHub's #194)
 * List Markdown fenced code block info string as text type (GitHub's #195)
 * Support YAML Front Matter (GitHub's #196). This requires YAML::Tiny.
 * Introduce options yfm_keys and yfm_skip_array to respectively
   specify which YAML keys should be translated, and that the array
   content should not be translated.
 * Work around a bug in YAML::Tiny that quotes numbers (GitHub's #217)
 * Add gettext flag "markdown-text" for relevant entries (GitHub's #208)

Text:
 * Honor the (existing) --neverwrap option to handle every content verbatim.

Texinfo:
 * Add the comments starting with 'TRANSLATORS:' to the po file
   (GitHub's #162)

XHTML:
 * Don't fail nor warn when a closing tag is missing, that's legit in HTML.
   (GitHub's #179)

XML and DocBook:
 * Allow attributes with no value (GitHub's #178).
 * Processing Instructions are handled as inline tags by default, but
   you can change them back to breaking with '-o break-pi' (GitHub's #170)

Yaml:
 * Introduce option to skip array values. (GitHub's #187)

po4a tool:
 * Cleanups and fixups about options' parsing (now tested and documented)
     _
    / \  You may need to upgrage your po4a.conf if you were using
   /_!_\ "unwanted features" (ie, bugs) of the previous implementation.

 * Do not touch source dir when --destdir is provided (Debian #602387)
 * Pass --add-location=file to msgmerge when receiving option porefs.
   (requires gettext >= 0.19 -- June 2014)
 * Option --master-charset sets the charset of the generated POT file.
 * Option --master-language sets the language of the generated POT file.
 * Add support for addendum path in po4a_paths (Debian #823189)
 * Stop pretending that --porefs can control the wrapping of reference
   comments, as the gettext tools used internally always rewrap them.

Scripts:
 * Rename po4aman-display-po to po4a-display-man
 * Rename po4apod-display-po to po4a-display-pod

Core:
 * Use UTF-8 by default (the 20th century is over -- Debian #862460)
   po4a used to prefer ascii unless it proved impossible. But the
   underlying detection would fail, possibly for document containing
   UTF-8 chars composed on printable ascii chars only.
 * Add a --wrap-po option to control how the po file is wrapped, and
   chose between either nicely wrapped files that tend to produce git
   conflicts, or ugly files that are easy to automatically deal with.

Tests:
 * Completely refactor most tests. They are now more reliable and the
   error messages are much more useful to understand the issues.
 * Many bugs to po4a and the core were ironed out in the process.
 * PO files content are now tested too (GitHub's #67)

Documentation:
 * Various cleanups by Golubev Alexander (GitHub's #190 & #191)
jperkin pushed a commit that referenced this issue Mar 30, 2021
2.2.0 (2021-03-18)

* Add support for custom lexers (#187)
* Update Pygments to 2.8.1
jperkin pushed a commit that referenced this issue May 6, 2021
  - Rework release script (#199)
  - add armv7/aarch64 support to installer (#198)
  - Multi-select for zoxide remove -i (#192)
  - _ZO_EXCLUDE_DIRS should default to "$HOME" (#194)
  - Fix return values in Bash hook (#196)
  - Add default prompt for nushell (#191)
  - Compile-time warning when git is missing (#187)
  - Performance improvements for queries (#185)
  - Add manpage (#183)
  - Fix cd - on fish (#179)
  - Update README
jperkin pushed a commit that referenced this issue Jun 15, 2021
v 11.2.8
============================================================
x Quiet down unnecessary debug logging (issue #191)
x [L10n] Updated he, de
x Fix meta refresh sometimes ignored on Firefox 78 ESR
  (issue #192, thanks hackerncoder for report)
x Chromium-specific build-time customizations

v 11.2.8rc2
============================================================
x Quiet down unnecessary debug logging (issue #191)
x [L10n] Updated he

v 11.2.8rc1
============================================================
x Fix meta refresh sometimes ignored on Firefox 78 ESR
  (issue #192, thanks hackerncoder for report)
x [l10n] Updated de
x Chromium-specific build-time customizations

v 11.2.7
============================================================
x Better prompt layout (no accidental scrollbar)
x [nscl] Fix regression causing media patches to break some
  pages (thanks l0drex for report, issue #189)

v 11.2.6
============================================================
x [nscl] Various webgl blocking enhancements
x Remove also sticky-positioned elements with click+DEL on
  scriptless pages (thanks skriptimaahinen for RFE)
x [L10n] Updated bn, br, ca, da, de, el, es, fr, he, is, it,
  ja, lt, mk, ms, nb, nl, pl, pt_BR, ru, sq, sv_SE, tr,
  zh_CN, zh_TW
x Fixed race condition causing external CSS not to be
  rendered sometimes when unrestricted CSS is disabled
x Avoid document rewriting for noscript meta refresh
  emulation in most cases
x [nscl] Fixed XHTML pages broken when served with
  application/xml MIME type and no "object" capability
x [nscl] Switch early content script configuration to use
  /nscl/service/DocStartInjection.js
x Configurable "unrestricted CSS" capability to for sites
  where the CSS PP0 mitigation should be disabled
  (e.g TRUSTED)
x [nscl] Fix CSS PP0 mitigation still interfering with some
  WebExtensions (thanks barbaz for report)
x [XSS] Increased sensitivity and specificity of risky
  operator pre-checks

v 11.2.6rc1
============================================================
x [nscl] Various webgl blocking enhancements
x Remove also sticky-positioned elements with click+DEL on
  scriptless pages (thanks skriptimaahinen for RFE)

v 11.2.5rc6
============================================================
x [L10n] Updated bn, br, ca, da, de, el, es, fr, he, is, it,
  ja, lt, mk, ms, nb, nl, pl, pt_BR, ru, sq, sv_SE, tr,
  zh_CN, zh_TW
x Policy retrieval origin fine tuning

v 11.2.5rc5
============================================================
x Fixed hook not taking in account experimental webgl
  contexts (issue #187, thanks roman567e45 for report)

v 11.2.5rc4
============================================================
x Fixed regression in NOSCRIPT emulation (thanks barbaz for
  reporting)

v 11.2.5rc3
============================================================
x Fixed race condition causing external CSS not to be
  rendered sometimes when unrestricted CSS is disabled
x Rename "unchecked CSS" capability to "unrestricted CSS"
x Avoid document rewriting for noscript meta refresh
  emulation in most cases

v 11.2.5rc2
============================================================
x [nscl] Minor fixes from the library
x [nscl] Fixed XHTML pages broken when served with
  application/xml MIME type and no "object" capability
x [nscl] Switch early content script configuration to use
  /nscl/service/DocStartInjection.js
x [nscl] Refactored ContentScriptOnce.js to the library
x Rename the "csspp0" capability to "unchecked_css"

v 11.2.5rc1
============================================================
x Configurable "csspp0" capability to for sites where the
  CSS PP0 mitigation should be disabled (e.g TRUSTED)
x [nscl] Fix CSS PP0 mitigation still interfering with some
  WebExtensions (thanks barbaz for report)
x [XSS] Increased sensitivity and specificity of risky
  operator pre-checks
jperkin pushed a commit that referenced this issue Sep 8, 2021
## 1.7.4 (2021-08-12)

* [BUGFIX] #449: Fixed segfaults generated by `stri_sprintf`.

* [BUILD TIME] No longer defining `USE_RINTERNALS` and `R_NO_REMAP`.


## 1.7.3 (2021-07-15)

* [BUGFIX] Fixed the previous patch of ICU55 causing a build failure on,
  amongst others, CRAN's Solaris-based target.


## 1.7.2 (2021-07-14)

* [BUGFIX] Workaround for a bug in `tools::checkFF` failing
  when `NA_character_` is passed to `.Call`.


## 1.7.1 (2021-07-14)

* [BACKWARD INCOMPATIBILITY] `%s$%` and `%stri$%` now use the new `stri_sprintf`
  (see below) function instead of `base::sprintf`.

* [BACKWARD INCOMPATIBILITY, NEW FEATURE] In `stri_sub<-` and `stri_sub_all<-`,
  providing a negative `length` from now on does not result in the corresponding
  input string being altered.

* [BACKWARD INCOMPATIBILITY, NEW FEATURE] In `stri_sub` and `stri_sub_all`,
  negative `length` results in the corresponding output being `NA`
  or not extracted at all, depending on the setting of the new argument
  `ignore_negative_length`.

* [BACKWARD INCOMPATIBILITY, BUGFIX, NEW FEATURE] In `stri_subset*`
  and their replacement versions, `pattern` and `value` cannot be longer
  than `str` (but now they are recycled if necessary).

* [BACKWARD INCOMPATIBILITY, NEW FEATURE] `stri_sub*` now accept the
  `from` argument being a matrix like `cbind(from, length=length)`.
  Unnamed columns or any other names are still interpreted as `cbind(from, to)`.
  Also, the new argument `use_matrix` can be used to disable
  the special treatment of such matrices.

* [DOCUMENTATION] It has been clarified that the syntax of `*_charclass`
  (e.g., used in `stri_trim*`) differs slightly from regex character
  classes.

* [NEW FEATURE] #420: `stri_sprintf` (alias: `stri_string_format`)
  is a Unicode-aware replacement for and enhancement of the base `sprintf`:
  it adds a customised handling of `NA`s (on demand), computing field size
  based on code point width, outputting substrings of at most given width,
  variable width and precision (both at the same time), etc. Moreover,
  `stri_printf` can be used to display formatted strings conveniently.

* [NEW FEATURE] #153: `stri_match_*_regex` now extract capture group names.

* [NEW FEATURE] #25: `stri_locate_*_regex` now have a new argument,
  `capture_groups`, which allows for extracting positions of matches
  to parenthesised subexpressions.

* [NEW FEATURE] `stri_locate_*` now have a new argument, `get_length`,
  whose setting may result in generating *from-length* matrices
  (instead of *from-to* ones).

* [NEW FEATURE] #438: `stri_trans_general` now supports rule-based
  as well as reverse-direction transliteration.

* [NEW FEATURE] #434: `stri_datetime_format` and `stri_datetime_parse`
  are now vectorised also with respect to the `format` argument.

* [NEW FEATURE] `stri_datetime_fstr` has a new argument, `ignore_special`,
  which defaults to `TRUE` for backward compatibility.

* [NEW FEATURE] `stri_datetime_format`, `stri_datetime_add`, and
  `stri_datetime_fields` now call `as.POSIXct` more eagerly.

* [NEW FEATURE] `stri_trim*` now have a new argument, `negate`.

* [NEW FEATURE] `stri_replace_rstr` converts `gsub`-style replacement strings
  to `stri_replace`-style.

* [INTERNAL] `stri_prepare_arg*` have been refactored, buffer overruns
  in the exception handling subsystem are now avoided.

* [BUGFIX] Few functions (`stri_length`, `stri_enc_toutf32`, etc.)
  did not throw an exception on an invalid UTF-8
  byte sequence (and merely issued a warning instead).

* [BUGFIX] `stri_datetime_fstr` did not honour `NA_character_`
  and did not parse format strings such as `"%Y%m%d"` correctly.
  It has now been completely rewritten (in C).

* [BUGFIX] `stri_wrap` did not recognise the width of certain Unicode sequences
  correctly.


## 1.6.2 (2021-05-14)

* [BACKWARD INCOMPATIBILITY] In `stri_enc_list()`,
  `simplify` now defaults to `TRUE`.

* [NEW FEATURE] #425: The outputs of `stri_enc_list()`, `stri_locale_list()`,
  `stri_timezone_list()`, and `stri_trans_list()` are now sorted.

* [NEW FEATURE] #428: In `stri_flatten`, `na_empty=NA` now omits missing values.

* [BUILD TIME] #431: Pre-4.9.0 GCC has `::max_align_t`,
  but not `std::max_align_t`, added a (possible) workaround, see the `INSTALL`
  file.

* [BUGFIX] #429: `stri_width()` misclassified the width of certain
  code points (including grave accent, Eszett, etc.);
  General category *Sk* (Symbol, modifier) is no longer of width 0,
  `UCHAR_EAST_ASIAN_WIDTH` of `U_EA_AMBIGUOUS` is no longer of width 2.

* [BUGFIX] #354: `ALTREP` `CHARSXP`s were not copied, and thus could have been
  garbage collected in the so-called meanwhile (with thanks to @jimhester).


## 1.6.1 (2021-05-05)

* [GENERAL] #401: stringi is now bundled with ICU4C 69.1 (upgraded from 61.1),
  which is used on most Windows and OS X builds as well as on *nix systems
  not equipped with system ICU. However, if the C++11 support is disabled,
  stringi will be built against the battle-tested ICU4C 55.1.
  The update to ICU brings Unicode 13.0 and CLDR 39 support.

* [DOCUMENTATION] A draft version of a paper on `stringi` is now available at
  https://stringi.gagolewski.com/_static/vignette/stringi.pdf

* [GENERAL] stringi now requires R >= 3.1 (`CXX_STD` of `CXX11` or `CXX1X`).

* [NEW FEATURE] #408: `stri_trans_casefold()` performs case folding;
  this is different from case mapping, which is locale-dependent.
  Folding makes two pieces of text that differ only in case identical.
  This can come in handy when comparing strings.

* [NEW FEATURE] #421: `stri_rank()` ranks strings in a character vector
  (e.g., for ordering data frames with regards to multiple criteria,
  the ranks can be passed to `order()`, see #219).

* [NEW FEATURE] #266: `stri_width()` now supports emojis.

* [NEW FEATURE] `%s$%` and `%stri$%` are now vectorised with respect to
  both arguments.

* [BUGFIX] `stri_sort_key()` now outputs `bytes`-encoded strings.

* [BUGFIX] #415: `locale=''` was not equivalent to `locale=NULL`
  in `stri_opts_collator()`.

* [INTERNAL] #414: Use `LEVELS(x)` macro instead of accessing `(x)->sxpinfo.gp`
  directly (@lukaszdaniel).


## 1.5.3 (2020-09-04)

* [DOCUMENTATION] stringi home page has moved to https://stringi.gagolewski.com
  and now includes a comprehensive reference manual.

* [NEW FEATURE] #400: `%s$%` and `%stri$%` are now binary operators
  that call base R's `sprintf()`.

* [NEW FEATURE] #399: The `%s*%` and `%stri*%` operators can be used
  in addition to `stri_dup()`, for the very same purpose.

* [NEW FEATURE] #355: `stri_opts_regex()` now accepts the `time_limit` and
  `stack_limit` options so as to prevent malformed or malicious regexes
  from running for too long.

* [NEW FEATURE] #345: `stri_startswith()` and `stri_endswith()` are now equipped
  with the `negate` parameter.

* [NEW FEATURE] #382: Incorrect regexes are now reported to ease debugging.

* [DEPRECATION WARNING] #347: Any unknown option passed to `stri_opts_fixed()`,
  `stri_opts_regex()`, `stri_opts_coll()`, and `stri_opts_brkiter()` now
  generates a warning. In the future, the `...` parameter will be removed,
  so that will be an error.

* [DEPRECATION WARNING] `stri_duplicated()`'s `fromLast` argument
  has been renamed `from_last`. `fromLast` is now its alias scheduled
  for removal in a future version of the package.

* [DEPRECATION WARNING] `stri_enc_detect2()`
  is scheduled for removal in a future version of the package.
  Use `stri_enc_detect()` or the more targeted `stri_enc_isutf8()`,
  `stri_enc_isascii()`, etc., instead.

* [DEPRECATION WARNING] `stri_read_lines()`,  `stri_write_lines()`,
  `stri_read_raw()`: use `con` argument instead of `fname` now.
  The argument `fallback_encoding` is scheduled for removal and is no longer
  used. `stri_read_lines()` does not support `encoding="auto"` anymore.

* [DEPRECATION WARNING] `nparagraphs` in `stri_rand_lipsum()` has been renamed
  `n_paragraphs`.

* [NEW FEATURE] #398: Alternative, British spelling of function parameters
  has been introduced, e.g., `stri_opts_coll()` now supports both
  `normalization` and `normalisation`.

* [NEW FEATURE] #393: `stri_read_bin()`, `stri_read_lines()`, and
  `stri_write_lines()` are no longer marked as draft API.

* [NEW FEATURE] #187: `stri_read_bin()`, `stri_read_lines()`, and
  `stri_write_lines()` now support connection objects as well.

* [NEW FEATURE] #386: New function `stri_sort_key()` for generating
  locale-dependent sort keys which can be ordered at the byte level and
  return an equivalent ordering to the original string (@DavisVaughan).

* [BUGFIX] #138: `stri_encode()` and `stri_rand_strings()`
  now can generate strings of much larger lengths.

* [BUGFIX] `stri_wrap()` did not honour `indent` correctly when
  `use_width` was `TRUE`.
jperkin pushed a commit that referenced this issue Sep 8, 2021
# development  openxlsx 4.2.4

## Fixes

* `Write.xlsx()` now successfully passes `withFilter`
  ([#151](ycphs/openxlsx#151))
* code clean up PR [#168](ycphs/openxlsx#168)
* removal of unused variables PR
  [#168](ycphs/openxlsx#168)

## New features

* adds `buildWorkbook()` to generate a `Workbook` object from a
  (named) list or a data.frame
  ([#192](ycphs/openxlsx#192),
  [#187](ycphs/openxlsx#187))
  * this is now recommended rather than the `write.xlsx(x, file) ; wb
    <- read.xlsx(file)` functionality before
  * `write.xlsx()` is now a wrapper for `wb <- buildWorkbook(x);
    saveWorkbook(x, file)`
  * parameter checking from `write.xlsx()` >> `buildWorkbook()` are
    now held off until passed to `writeData()`, `writeDataTable()`,
    etc
  * `row.names` is now deprecated for `writeData()` and
    `writeDataTable()`; please use `rowNames` instead
* `read.xlsx()` now checks for the file extension `.xlsx`; previously
  it would throw an error when the file was `.xls` or `.xlm` files

* memory allocation improvements
* global options added for `minWidth` and `maxWidth`

* `write.xlsx()` >> `buildWorkbook()` can now handle `colWidths`
  passed as either a single element or a `list()`

* Added ability to change positioning of summary columns and rows.
  * These can be set with the `summaryCol` and `summaryRow` arguments
    in `pageSetup()`.

* `activeSheet` allows to set and get the active (displayed) sheet of a worbook.

* Adds new global options for workbook formatting
  ([#165](ycphs/openxlsx#165); see
  `?op.openxlsx`)


# openxlsx 4.2.3

## New Features

* Most of functions in openxlsx now support non-ASCII arguments
  better. More specifically, we can use non-ASCII strings as names or
  contents for `createNamedRegion()`
  ([#103](ycphs/openxlsx#103)),
  `writeComment()`, `writeData()`, `writeDataTable()` and
  `writeFormula()`. In addition, openxlsx now reads comments and
  region names that contain non-ASCII strings correctly on
  Windows. Thanks to @shrektan for the PR
  [#118](ycphs/openxlsx#118).

* `setColWidths()` now supports zero-length `cols`, which is
  convinient when `cols` is dynamically provided
  [#128](ycphs/openxlsx#128). Thanks to
  @shrektan for the feature request and the PR.

## Fixes for Check issues

* Fix to pass the tests for link-time optimization type mismatches

* Fix to pass the checks of native code (C/C++) based on static code
  analysis

## Bug Fixes

* Grouping columns after setting widths no longer throws an error
  ([#100](ycphs/openxlsx#100))

* Fix inability to save workbook more than once
  ([#106](ycphs/openxlsx#106))

* Fix `loadWorkbook()` sometimes importing incorrect column attributes

# openxlsx 4.2.2

## New Features

* Added features for `conditionalFormatting` to support also 'contains
  not', 'begins with' and 'ends with'

* Added return value for `saveWorkbook()` the default value for
  `returnValue` is `FALSE`
  ([#71](ycphs/openxlsx#71))

* Added Tests for new parameter of `saveWorkbook()`

## Bug Fixes

* Solved CRAN check errors based on the change disussed in
  [PR#17277](https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=17277)

# openxlsx 4.2.0

## New Features

* Added `groupColumns()`, `groupRows()`, `ungroupColumns()`, and
  `ungroupRows()` to group/ugroup columns/rows
  ([#32](ycphs/openxlsx#32))

## Bug Fixes

* Allow xml-sensitve characters in sheetnames
  ([#78](ycphs/openxlsx#78))

## Internal

* Updated roxygen2 to 7.1.1

# openxlsx 4.1.5.1

## Bug Fixes

*  fixed issue [#68](ycphs/openxlsx#68])

# openxlsx 4.1.5

## New Features

*  Add functions to get and set the creator of the xlsx file

*  add function to set the name of the user who last modified the xlsx file

## Bug Fixes

*  Fixed NEWS hyperlink

*  Fixed writing of mixed EST/EDT datetimes

* Added description for `writeFormula()` to use only english function
   names

*  Fixed validateSheet for special characters

## Internal

*  applied the tidyverse-style to the package `styler::style_pkg()`

*  include tests for `cloneWorksheet`

# openxlsx 4.1.4

## New Features

* Added `getCellRefs()` as
   function. [#7](ycphs/openxlsx#7)

*  Added parameter for customizing na.strings

## Bug Fixes

*  Use `zip::zipr()` instead of `zip::zip()`.

* Keep correct visibility option for
   loadWorkbook. [#12](ycphs/openxlsx#12])

* Add space surrounding "wrapText"
   [#17](ycphs/openxlsx#17)

* Corrected Percentage, Accounting, Comma, Currency class on column
   level


*  update to rogygen2 7.0.0

# openxlsx 4.1.3

## New Features

*  Added a `NEWS.md` file to track changes to the package.
*  Added `pkgdown` to create site.

## Bug Fixes

*  Return values for cpp changed to R_NilValue for r-devel tests

*  Added empty lines at the end of files

# openxlsx 4.1.2

*  Changed maintainer

# openxlsx 4.1.1

## New Features

* `sep.names` allows choose other separator than '.' for variable
   names with a blank inside

* Improve handling of non-region names in `getNamedRegions` and add
   related test
jperkin pushed a commit that referenced this issue Feb 21, 2022
v3.3.6 October 2021
-------------------
 * Bytestring bound bump
 * Fix bug #187.  (Some JPEGs are misidentified as SourceTiff.)
 * Fix EXIF handling of strings of four characters or fewer.
 * Fix endianness bug in short ExifString and ExifUndefined.
jperkin pushed a commit that referenced this issue Mar 30, 2022
Vala 0.56.0
===========
 * Various improvements and bug fixes:
  - codegen: Drop confusing warning when accessing interface members

 * Bindings:
  - Add webkit2gtk-4.1 bindings
  - glib-2.0: Fix memory management of TestSuite.add*/get_root() with 2.70 [#1295]
  - libarchive: Fix a few binding errors
  - SDL2_ttf: Fix a few binding errors
  - tiff: Fix a few binding errors

Vala 0.55.91
============
 * Various improvements and bug fixes:
  - girparser:
    + Handle duplicated and unnamed symbols
    + Add support for "copy_/free_function" metadata for compact classes
    + Don't count instance-parameter when checking for backwards closure
      reference [#721]

 * Bindings:
  - gst-editing-services-1.0: Fix BaseEffect.set_time_translation_funcs()
  - gstreamer-audio-1.0: Fix a few binding errors
  - gstreamer-base-1.0: Fix a few binding errors
  - gstreamer-video-1.0: Fix a few binding errors
  - gtk4: Fix content_deserialize_async()
  - libarchive: Fix a few binding errors
  - libgsf-1: Fix a few binding errors
  - libgrss: Fix FeedItem.get_geo_point() parameters

Vala 0.55.90
============
 * Various improvements and bug fixes:
  - codegen:
    + Emit G_DEFINE_AUTOPTR_CLEANUP_FUNC() for interfaces with base class [#1292]
    + Emit G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC() for structs [#1293]
    + Default to "has_type_id = false" for external error-domains
    + Emit GType definition for error domains [#699]
  - vala:
    + Catch and throw possible inner error of lock statements [#83]
    + Keep error-code symbol reference in callable expression context
    + Allow delegate without target to be used as constant type
  - girparser: Pick up type_id of error domains

 * Bindings:
  - glib-2.0: Update 2.70/72 symbols
  - gstreamer: Update from 1.21.0+ git main
  - vapi: Update GIR-based bindings

Vala 0.55.3
===========
 * Highlights:
  - Allow usage of dynamic on VarType [#187]

 * Various improvements and bug fixes:
  - codegen: Use correct target/destroy of delegate field initializer [#1285]
  - codegen: Stop generating wrappers for dynamic property access
  - gtkmodule: Improve UI parsing and handling of nested objects and properties
  - vala:
    + Add missing TraverseVisitor.visit_data_type()
    + Improve check of generic type references in static contexts [#1284]
    + Make sure to drop our "trap" jump target in case of an error [#1287]
    + Move dynamic property errors to semantic analyzer pass
    + Free empty stack list for code contexts
    + Clear SemanticAnalyzer.current_{symbol,source_file} when not needed anymore

 * Bindings:
  - gio-2.0,glib-2.0,gobject-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.90+ git main
  - gtk4: Specify sentinel for GtkAcessible methods
  - gtk4: Update to 4.6.0+06ec4ec1
  - vapi: Update GIR-based bindings

Vala 0.55.2
===========
 * Highlights:
  - Add support for async main and yield statements in main block [#1275]
  - Add foreach statement support for GLib.Array and GLib.Sequence

 * Various improvements and bug fixes:
  - codegen:
    + Avoid symbol clashes with "va_*" from "stdarg.h"
    + Access of inline allocated array is guaranteed to be non null [#1282]
    + Don't uncoditionally null check callback_func for GLib.Closure [#1282]
    + Access of stack allocated struct is guaranteed to be non null [#1282]
    + Write array length of formal parameters with fixed length
  - vala:
    + Require lvalue access of delegate target/destroy "fields" [#857]
    + Implement missing YieldStatement.accept()
    + Add support to infer return type of dynamic signals
    + Transform assignment of an array element as needed [#889] [#1258]
  - parser: Reduce the source reference of main block method to its beginning
  - parser: Improve handling of nullable VarType in with-statement
  - manual: Update from wiki.gnome.org

 * Bindings:
  - glib-2.0,gio-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.3+ git master
  - gtk4: Update to 4.6.0+a092986a
  - glib-2.0: Fix criticals in string.joinv() with arrays that start with null
  - vapi: Add linux-media bindings (linux/media.h)
  - alsa: Add/fix *.alloca() functions
  - posix: Add limits.h binding
  - v4l2: Update V4l2.Capabilities and fix some inline arrays

Vala 0.55.1
===========
 * Highlights:
  - Add support for partial classes [#370]
  - Add support for nested methods (local functions) [#1232]
  - Add multi-line support to Vala.Report [#764]
  - Support "emit" for explicit signal emission
  - Add native support to specify non default length-type for arrays [#607]

 * Various improvements and bug fixes:
  - codegen:
    + Move some errors to semantic analyzer pass
    + Stop generating wrappers for dynamic signal connections
    + gdbus: Use g_dbus_method_invocation_take_error() as simplification
    + Initialize type parameter properties for generics earlier [#67]
    + Initialize "result" variable on declaration for abstract methods only
    + Use __once instead of __volatile in generated code
    + Generated SimpleType structs don't have a type id
  - vala:
    + Add optional SourceReference parameter to DataType classes
    + Preserve the source reference when resolving data types
    + Set source references of created DataType instances in OCE
    + Set TypeParameter as symbol of GenericType
    + Add accessibility check of type for constants and structs base type
    + Don't allow casting to void [#1070]
    + Don't allow casting real structs to classes or simple-types [#1249]
    + Check accessibility of initializer for constant and enum value
    + Show source location when reporting deprecations

 * Bindings:
  - Add gnome-desktop-4, gnome-bg-4 and gnome-rr-4 bindings
  - Add libsoup-3.0 binding
  - Add webkit2gtk-5.0 bindings
  - glib-2.0: Add Unicode 14.0 symbols
  - glib-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.3+ git master
  - gstreamer-1.0: Make Gst.Uri a sealed class
  - gtk4: Update to 4.6.0+06e5da45
  - webkit2gtk-*.0: Update to 2.35.1
  - vapi: Update GIR-based bindings

Vala 0.54.6
===========
 * Various improvements and bug fixes:
  - codegen:
    + Allow boxing of non-external SimpleType structs [#1273]
    + Cast given default-value of struct with possible member initializer [#1272]
    + Clear existing length values when revisiting a slice expression [#1274]
  - vala:
    + Allow unsafe assignment of integer to enum while reporting a notice
    + Non nullable enum types are simple types [#1268]
    + Correctly replace "in" expression in pre-/postconditions of method [#1269]

 * Bindings:
  - gio-2.0: Add custom MemoryOutputStream.with_*data() wrappers [#1271]

Vala 0.54.5
===========
 * Various improvements and bug fixes:
  - codegen:
    + Correctly handle chain up of struct creation methods [#1264]
    + Use a dedicated EmitContext for _variant_get*() functions
    + gtkmodule: Handle nested closure elements and bind them accordingly [#1262]
  - vala:
    + NullLiteral is not a valid argument for string concatenation [#1260]
    + Set is_yield_expression in async context when chaining up to async base ctor
    + Report statement parsing error if it is not meant to be an expression [#1261]
    + girparser: Avoid possibily creating duplicated attributes
  - vapigen.m4: use $PKG_CONFIG_SYSROOT_DIR

 * Bindings:
  - glib-2.0: Always use the actual C type for CCode.array_length_type
  - gstreamer: Cherry-pick bindings fixes from 0.56
  - gstreamer-1.0: Unskip the ElementFactory.make/create_full() symbols

Vala 0.54.4
===========
 * Various improvements and bug fixes:
  - codegen:
    + Use CCodeConstant for member access of constant symbol
    + Emit constants without initializer list in defines section [#440]
    + Add and use CCodeConstantIdentifier for accessing constants
    + Check required length of enum type name for GType support
    + Add missing check while overriding virtual async interface methods [#852]
    + Drop inconsistent space for ObjectType parameters
    + Accept CCode.type attribute on parameters [#876]
    + Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
  - vala:
    + Improve error message for invalid handler of dynamic signal
    + Using SignalHandler.disconnect() is required for dynamic signals
    + Check for unavailable value-type of variable initializer [#1253]
    + Add [Profile] as known attribute for methods
    + Report error on missing gio-2.0 package for async constructors
    + Fix signals with generic return
    + parser: Split out Parser.parse_switch_section_statement()
    + parser: Better handling of misplaced switch sections [#1246]
  - genie:
    + Amend text of indent and dedent for error messages [#497]
    + Accept INTERR token before type arguments when parsing type [#1245]
    + Properly handle plain "get" or "set" property accessors [#1248]
    + "exception" is the expected string for TokenType.ERRORDOMAIN
    + Accept accessibility/async modifiers on "construct" creation methods [#1235]
  - girparser: Accept "sealed" for transformed records and compact classes
  - gtkmodule: Improve error message for invalid signal element in ui-file
  - build: Add "test-update" which passed UPDATE_EXPECTED=1 to refresh c-expected
  - tests: Rename colliding test cases to avoid conflicts

 * Bindings:
  - alsa: Add more API and fix a few things
  - gnome-desktop-3.0: Some parameter fixes
  - gstreamer: Cherry-pick bindings fixes from 0.56
  - gstreamer-base-1.0: Some parameter fixes [#1255]
  - gtk4: Update to 4.5.0~cd9b7307
  - pango: Cherry-pick bindings fixes from 0.56

Vala 0.54.3
===========
 * Various improvements and bug fixes:
  - codegen: Actually free data when using "remove(_all)"
    on GLib.Queue/(S)List [#1238]
  - vala:
    + Parameter following ellipsis parameter is not allowed [#1237]
    + More thorough check of ValueType and set CodeNode.error on failure
    + Really check compatiblity of error types for delegate symbol
    + Correctly output signature of callable throwing error
    + Report error for non ErrorType in throws
    + Implement CodeWriter.visit_foreach_statement()/visit_catch_clause()
  - parser: Make sure ErrorCodes are accessible as needed
  - girparser: Add support for "ref_/ref_sink_/unref_function"
    metadata for classes [#1233]

Vala 0.54.2
===========
 * Various improvements and bug fixes:
  - vala:
    + Multi-dimensional params-array not allowed [#1230]
    + Accept NullType as generic type argument
    + Set source references of created DataType instances in OCE

 * Bindings:
  - gio-2.0: Update to 2.71.0~a0d2efdc
  - glib-2.0: Update 2.70 symbols
  - gtk4: Update to 4.5.0~da5efea6

Vala 0.54.1
===========
 * Regression and bug fixes:
  - codegen:
    + Add type declaration for implicit temporary local variable
    + Sealed class in external package is not special [#1229]

 * Bindings:
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Update to 4.5.0~3e20ecd6
jperkin pushed a commit that referenced this issue May 1, 2022
New features
   You can visit subdomains and limit how deep you want to go inside them
    using --ext-depth
   Now you can include or excludes pages to visit with --include-visit and
    --exclude-visit instead of including or excluding pages to download
   --visit-filter-is-download-filter can be used to use the same regex for both
    visiting and downloading pages
   Updated dependencies

Breaking changes
Some options changed names:
   --include -> --include-download
   --exclude -> --exclude-download

Bug fixes
   Charset detection was not working when surrounded with single quotes
   Some symlinks where broken and/or outside of the specified output directory

What's Changed
   Lib bin initial by @pinkforest in #141
   Introduces external depth (#74) & a few fixes (incl. #69) by
    @marchellodev in #146
   Fix with single quotes by @lhvy in #152
   Fix clippy warnings and add clippy ci check by @Skallwar in #168
   Filter links before downloading / adding to the queue by @raphCode in #175
   Fix symlinks (relative link, argument order, folder creation) by
    @raphCode in #182
   misc: Fix all clippy warnings by @Skallwar in #186
   misc: Update dependencies in Cargo.lock by @Skallwar in #187
   ci: Add riscv64 and aarch64 for release by @Skallwar in #185
   misc: Prepare for release by @Skallwar in #188
jperkin pushed a commit that referenced this issue Sep 1, 2022
v0.11.0
Maintenance
 -Fix theming in context menus (#431)
 -Fix ListView scrollbar behavior (#839)
 -Switch to Termion backend by default for true color support (#894)
 -Fix references to pancurses backend in READMEN (#897)
 -Changes to README capitalized in playlists (#900)
 -Fixed clipboard not working on GNOME Wayland.by (#912)
 -Fix: don't crash on empty command line input
 -Other refactoring and cleanups

Features
 -Add category browsing to library (#187)
 -Add customization of notification message texts (#893)
 -Improved mouse support (#840)
    -Left click on list item traverses into album/playlist/etc.
    -Right click on list item opens context menu
    -Click on top left back button is handled
    -Handle clicks/mouse wheel events in tab view

v0.10.1
Maintenance
 -Add logo to cargo-deb assets (#833)
 -Clean up documentation (#836)
 -Enable wayland clipboard support by default on supported platforms (#869)
 -Update to librespot 0.4.2
    Should fix ChannelError issues (ncspot skipping through all tracks) which
    were previously fixed with a workaround in /etc/hosts (#864, #867, #883)
 -Updated context menu info and config values table in README (#885)

Features
 -Add hide_display_names config option (#855)
 -Added possibility to Follow/Unfollow artists via the context menu (#868)
 -Add statusbar_format option to configure track formatting in status bar (#877)

v0.10.0
Maintenance
 -Update to Librespot 0.4.1
 -Prevent integer overflow when calculating cache size (#823)
 -Fix some errors and warnings when enabling/disabling features (#821)
 -Fix: don't throw error if search yields no result (#832)

Features
 -Add option (library_tabs) to customize library tabs (#798)
 -Add track_format config option for custom track formatting in lists (#800)
 -Add desktop entry & notification icon hint (#822)
@jperkin jperkin self-assigned this Nov 4, 2022
@jperkin
Copy link
Collaborator

jperkin commented Nov 4, 2022

Sorry that I didn't get to this at the time, xboard is available in the package repository now.

@jperkin jperkin closed this as completed Nov 4, 2022
jperkin pushed a commit that referenced this issue Dec 18, 2022
# pkgload 1.3.2

* Fixes for CRAN checks.


# pkgload 1.3.1

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

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

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

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


# pkgload 1.3.0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* `load_all()` correctly re-loads modified translations, avoiding
  the usual gettext behaviour.
jperkin pushed a commit that referenced this issue Feb 20, 2023
Change log:

0.6.0 (2023-02-09)
=====
- Dependency Changes:
  - GLib >= 2.56.2

- New Features:
  - Keep saved state in memory to track actual modification state

- Appearance Changes / Minor Improvements:
  - Add "match whole word" toggle to search toolbar (#180, !124)

- Code Refactoring:
  - cleanup: prefs: Reduce the diff from what Glade 3.40.0 would do
  - cleanup: Use G_DECLARE_FINAL_TYPE
  - cleanup: Remove dead code
  - cleanup: Use consistent naming and avoid duplicated code
  - build: Let xdt-depends.m4 macros set GLib macros
  - flatpak: Updates from Flathub

- Bug Fixes:
  - Clear undo action list in case of unbuffered modification
  - Set file properties only for actual changes
  - Emit "encoding-changed" after setting BOM if needed
  - Update action states on reload
  - Mark document as modified if line ending actually changes (Fixes #187)
  - Do not show the menubar on Alt key release if focus is lost (#185)
  - plugins: Do not resize unnecessarily the prefs dialog on Wayland
  - Initialize static variable only once
  - prefs-dialog: Improve history widget alignment (Fixes #173)

- Translation Updates:
  Czech, Dutch, German, Greek, Hungarian, Kazakh, Korean, Lithuanian,
  Occitan (post 1500), Persian (Iran), Polish, Portuguese (Brazil),
  Ukrainian
jperkin pushed a commit that referenced this issue Apr 12, 2023
3.24.1 (2023-04-05)

* Fix Data.new to accept let positional parameters than needed.  Add missing
  test [Fixes #187]
jperkin pushed a commit that referenced this issue Apr 28, 2023
Now installs a library.

## v3.3.0

#### Fixes:

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

#### Additions:

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

#### Removals:

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

#### Build system:

-   re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy)
-   increased the minimum required meson version to `0.61.0`
jperkin pushed a commit that referenced this issue May 12, 2023
Features
 - Support both little and big Endian dumps using --endianness={little,big},
 see #189 and #104 (@RinHizakura)

Changes
 - Breaking: Changed the meaning of the short flag -C to be consistent with
 hexdump -C. Previously, this would hide the character panel, but now -C shows
 the character panel, in case it has been previously (e.g. in an alias)
 disabled with --no-characters, see #187 (@sharkdp)

hexyl as a library
 - New endianness method for PrinterBuilder
jperkin pushed a commit that referenced this issue May 18, 2023
2.1.6:

  Features and Enhancements:

    Full support for running on/monitoring & profiling JDK 20:
      GH-483: JDK 20 support
    Heap viewer improvements:
      GH-481: [HeapViewer] display number of GC roots attached to particular instance
      GH-478: [HeapViewer] display logical value of java.security.CodeSource
      GH-477: [OQL] add signers and protectionDomain properties
      GH-455: [HeapViewer] display logical value of subclasses of java.nio.Buffer
      GH-454: Allow keyboard shortcut to execute oql
      GH-452: [HeapViewer] show array items
    Other improvements:
      GH-468: Update generic JFR loader to version 8.3.0
      GH-466: Add application recognizers for JDK tools
      GH-464: Update graaljs plugin to GraalVM 22.3.

  Fixed Bugs:

    GH-487: Snapshot data are not released when snapshot is closed
    GH-485: Delay loading previous nps captures for servers in Applications tree
    GH-484: When enumerating the roots nextElement can fail with: Cannot read property "getInstanceId" from null
    GH-475: NPE in RecursiveMethodInstrumentor.scanBytecode()
    GH-474: [HeapViewer] Slow computation of threads view
    GH-470: VisualVM GUI slow when monitoring host
    GH-457: Unusual proxy port notation
    GH-445: AWT thread blocked for few minutes while expanding GC root

2.1.5:

  Features and Enhancements:

    Full support for running on/monitoring & profiling JDK 19:
      GH-415: JDK 19 support
    Heap viewer usability improvements:
      GH-437: Add logical value for several Nodes
      GH-431: [HeapViewer] add logical value for python class 'decimal.Decimal'
      GH-430: [HeapViewer] Add support for TruffleString in Python heap viewer
    Other improvements:
      GH-448: Detect GraalVM language using system property
      GH-435: Add information about JDK release date and LTS
      GH-423: Remove Self time nodes from the sampler/profiler CPU trees when their total time is at 0,0 ms.
      GH-429: Update generic JFR loader to version 8.2.1
    Powered by the NetBeans Platform 14.0:
      GH-438: Upgrade NetBeans Platform

  Fixed Bugs:

    GH-451: [Heapviewer] Fix logical value for Ruby classes
    GH-446: [HeapViewer] Cannot call progress on a task that was never started
    GH-442: NPE from JvmJvmstatModel.getFirstArgument()
    GH-436: NPE in TruffleFrame.createLocals()
    GH-434: Incorrect colour of diff bar in memory sampler
    GH-432: [HeapViewer] Python 'dict' does not have any items
    GH-428: Profiler tab updates for terminated applications
    GH-426: GitHub issue template should explain how to obtain messages.log
    GH-425: Nodejs heap dump does not have any JavaScript objects
    GH-424: NPE in TruffleFrame.getObjectArray
    GH-422: Automatic re-connect of JXM application does not work
    GH-421: Remote JMX application reported as <unknown>
    GH-420: Arguments line of remote JVM cropped at 1024 characters
    GH-418: JFR does not work for remote OracleJDK 8
    GH-417: JFR enabled for JDK 7
    GH-416: Move JFR support to org.graalvm.visualvm.tools module
    GH-414: Profiler calibration fails on Solaris with JDK 11
    GH-304: Don't see polyglot functionality when running via JMX

2.1.4:

  Features and Enhancements:

    HeapViewer improvements:
      GH-413: [HeapViewer] Sample different elements from large arrays when inspecting a heap dump
      GH-409: [HeapViewer] Try to improve the accuracy of the instance size
      GH-407: [HeapViewer] Improve preview for byte[] arrays.
      GH-404: [HeapViewer] Add UI for working with multi-heap dumps.
      GH-402: [HeapViewer] Display number of elements for java.util.Properties

  Fixed Bugs:

    GH-412: ArrayIndexOutOfBoundsException on Memory Snapshot Diff Class Expansion
    GH-410: Wrong metaspace max values visualisation
    GH-406: Allow to use HeapProgress in head-less environment
    GH-405: Add API to get number of dumps stored in multi-heap dump file.
    GH-398: Missing known blocking method in KQueue
    GH-187: Taking Heap Dump does not work for tunnelled connection to a remote host
jperkin pushed a commit that referenced this issue Jun 8, 2023
New features
 - Considerably refined the app packaging strategy, introducing support for more
   architectures and other advancements 📦 (see #246 for additional details)
 - Added button to clear all the current search filters quickly in inspect page
 - Added Swedish translation 🇸🇪 (#213)

Improvements
 - Updated most of the existing translations to v1.2:
     - German 🇩🇪 (#191)
     - Spanish 🇪🇸 (#203)
     - Persian 🇮🇷 (#193)
     - Korean 🇰🇷 (#205)
     - Polish 🇵🇱 (#244)
     - Romanian 🇷🇴 (#241)
     - Russian 🇷🇺 (#187)
     - Turkish 🇹🇷 (#192)
     - Ukrainian 🇺🇦 (#216)
     - Chinese 🇨🇳 (#214)
 - Renamed "Administrative entity" to "Autonomous System name" to avoid
   confusion
 - Improved filter columns relative width to avoid the "Application protocol"
   label being cut when displayed in Swedish
 - Footer URLs have been updated to include links to Sniffnet's official website
   and GitHub Sponsor page
 - Updated docs including installation instruction for Arch Linux (#185)
 - Minor improvements to packets and bytes number format
 - Minor improvements to:
     - code readability (#248)
     - docs (#235)

Fixes
 - Various issues have been fixed by the refined packaging strategy (#199, #220,
   #223, #224, #225, #242)
 - Solved a minor problem that caused flags to be slightly misaligned in inspect
   page table
jperkin pushed a commit that referenced this issue Jun 11, 2023
# gargle 1.4.0

## Google Compute Engine

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

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

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

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

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

## Behaviour in a cloud/server context

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

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

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

## Everything else

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

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

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

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

# gargle 1.3.0

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

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

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

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

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

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

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

## gargle-specific notion of OAuth client

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

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

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

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

## Google Compute Engine and Google Kubernetes Engine

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

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

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

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

## Credential function registry

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

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

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

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

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

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

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

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

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

# gargle 1.2.1

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

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

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

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

## Dependency changes

* The minimum versions of rlang and testthat have been bumped. The
  motivation is to exploit and adapt to the changes to the display of
  error messages.
jperkin pushed a commit that referenced this issue Aug 8, 2023
(also taking over maintainership after confirming with Patrick)

v.2.4.3
    Add static hpdf_version.h header by @vszakats in #241
    hpdf_version.h included again by hpdf.h #241 #246
    File attachment issue resolved @hvanbrug #159
    Renamed *_LIBZ defines to _*ZLIB, thanks to @karstenBriksoft #249, enables compression of PDF files again.

v.2.4.2

    Reinstated hpdf_version.h #237 #240
v.2.4.1

    Fixed library name #236 from @jschueller
    Set correct version number #237 pointed out by @xantares

v.2.4.0

    Add support for free-form triangle shading objects. by @allisonvacanti in #157
    Fix config constant to match use in hpdf_mmgr.c by @bvirlet in #167
    Improve small number writing in HPDF_FToA. by @allisonvacanti in #187
    Fix missing /CapHeight key in font definition by @yabaud in #138
    Change HPDF_Page_CreateXObjectFromImage zoom parameter type to HPDF… by @extensia in #114
    Fix another case of png files with background mask save uncompressed by @igor-niv in #221
    Avoid issue with libtiff duplicate symbols by @bvirlet in #168
    Reajust bit_depth of png image after striping depth from 16 to 8. by @joelhecht in #125
    Fixed typo in Japanese font name: Mincyo -> Mincho by @qtamaki in #80
    Fix various typos by @luzpaz in #226
    hpdf.h: add missing HPDF_Boolean typedef by @mathstuf in #189
    Moved to a CMake only build environment.
    Fix bad unicode in comment by @gix in #229
    Fix various typos by @luzpaz in #230
jperkin pushed a commit that referenced this issue Sep 1, 2023
    cargo repository URL by @Sighery in #97
    fix: escaped newline immediately after a char, resolves #100 by @ahlinc in #102
    Fixed CRLF behavior for tests, run tests on all platforms in GitHub CI by @ahelwer in #106
    Support for 'select' loops by @mjambon in #111
    Add support for 'until' loops by @mjambon in #112
    Handle words containing bare '#' by @oxalica in #109
    adding zsh expansion flags by @ryaminal in #115
    Update CI by @verhovsky in #131
    Update Cargo.toml by @nokome in #117
    Rename ansii_c_string and string_expansion by @verhovsky in #121
    rust: enables highlights query by @Dav1dde in #132
    Swift Package Manager by @lukepistrol in #124
    Fix scanning of heredoc_body to allow empty bodies by @jaopaulolc in #137
    [fix] Here-documents: parse a “real” shell word (or close enough) after << by @domq in #142
    Parse Bash's tests by @verhovsky in #135
    Fix CI by @verhovsky in #145
    Support file descriptors for here docs/strings by @verhovsky in #156
    Support optional opening paren in case by @verhovsky in #157
    Highlight "select" and "until" as keywords by @verhovsky in #168
    Undo misguided package.json changes by @verhovsky in #173
    Restore prebuild dependencies by @verhovsky in #174
    feat: rewrite the scanner in C by @amaanq in #179
    fix: make helper functions static to avoid compilation conflicts with other parsers by @amaanq in #182
    Fixes by @amaanq in #186
    fix: negated variable assignments in if statements by @kelly-lin in #183
    Fixes by @amaanq in #187
jperkin pushed a commit that referenced this issue Nov 6, 2023
Overview of changes in gnome-calculator 45.0.1
    * Retagging release

Overview of changes in gnome-calculator 45.0
    * Search provider performance improvements !154, !155, !156 (Christian Hergert)
    * Use numeric font instead of monospace #290 (Robert Roth)
    * Fixed electron-volt unit abbreviation #347 (Robert Roth)
    * Fixed erroneous Joule unit name #348 (Robert Roth)
    * Fixed missing build dependency !157 (Jeremy Bicha)

Overview of changes in gnome-calculator 45.beta
    * Fixed variable and function popover reverse typing #335, #320 (Robert Roth)
    * Better left/right cursor key handling !153 (Seth Falco)
    * Improved toolbar using Adwaita library !151 (Felipe Kinoshita)
    * Flatpak build improvements (Robert Roth)

Overview of changes in gnome-calculator 45.alpha
    * Remember window size #328 !146 (Leonard K, Alice Mikhaylenko)
    * Allow opening Main Menu by pressing F10 !142 !149 (Automeris naranja)
    * Extend bit-shifting limit #306 !143 (J Sory)
    * Added new energy units !143 (J Sory)
    * Added TWD support via Bank of Canada rates #27 !148 (Mário Adriano)
    * Added legal section for exchange rate source attribution (Robert Roth)
    * Added United Nations Treasury exchange rate datasource (Robert Roth)
    * Added Jamaican Dollar currency #291 (Robert Roth)
    * Added Ukrainian hryvnia currency #278 (Robert Roth)
    * Added Nigerian Naira currency #142 (Robert Roth)
    * Changed symbolic icon to C on the clear button #336 (Robert Roth)
    * Dropped VEF currency support #78 (Robert Roth)
    * Use new vala-nightly SDK extension for flatpak (Robert Roth)

Overview of changes in gnome-calculator 44.beta
    * Improved factorization !141 (J. Sory)
    * Number format selection documentation improvements #321 (Robert Roth)
    * Made builtin function descriptions translatable #323 (Robert Roth)
    * Fixed display showing 0 on startup #318 (Robert Roth)
    * Improved button tooltips !132 (sunflowerskater)
    * Added signed int support to programming mode !110 (Erik Wolf)
    * i and e constants updated according to ISO 80000-2:2009 !137 (majjejjam)
    * Help overlay updates !133 (Sabri Ünal)
    * Added preferences shortcut !129 (Sabri Ünal)
    * Destroy dialog after clicking cancel #310 (Jaycee Santos)

Overview of changes in gnome-calculator 43.0.1
    * Fixed appdata versioning (Robert Roth)

Overview of changes in gnome-calculator 43.0
    * Removed old issue tracker references !128 (Jake Dane)

Overview of changes in gnome-calculator 43.rc
    * Fix crash when entering new function name !124 (Nathaniel Russel)
    * Fix source view border !121 (Alexander Mikhaylenko)
    * Flatpak build update !122 (Bartłomiej Piotrowski)
    * Port about window to libadwaita !119 (Christopher Davis)
    * Port to libsoup3 !120 (AppleME)

Overview of changes in gnome-calculator 43.alpha
    * Fixed broken undo/redo #266 (Robert Roth)
    * Make sure variable name definitions work with whitespace too (Robert Roth)
    * Fix translatable strings !116 (Maximiliano)
    * Fixed missing implicit multiplication with variable and root #279 (Robert Roth)
    * meson warning fixes (Robert Roth)

Overview of changes in gnome-calculator 42.2
    * Fixed incorrect history with bits toggling #281 (Robert Roth)
    * Fixed crash when typing in variable popover #282 (Robert Roth)
    * Fixed incorrect libxml usage #283 (Luca Bacci, Robert Roth)

Overview of changes in gnome-calculator 42.1
    * Fixed broken undo/redo #266 (Robert Roth)
    * Removed automatic closing brace addition #271 (Robert Roth)
    * Fixed incorrect percentage symbol precedence handling #236, #275 (Robert Roth)

Overview of changes in gnome-calculator 42.rc
    * Use new gnome post_install script !106 (Bobby Rong)
    * gcalc build fixes (Daniel Espinoza Ortiz)
    * Updated screenshots (Christopher Davis)
    * Set default focus to entry (Robert Roth)

Overview of changes in gnome-calculator 42.beta
    * Fixed build issues with GCI entry controller tests #250 (Robert Roth)
    * Force LTR in history view #252 (Robert Roth)
    * programing mode: Force bit digits to be always LTR #258 (Yosef Or Boczko)
    * Use AdwApplication (Alexander Mikhaylenko)
    * ui: Fix styles !105 (Alexander Mikhaylenko)

Overview of changes in gnome-calculator 42.alpha
    * build: Support flatpak development builds (Óscar Fernández Díaz)
    * build: migrated to GTK4 !98 (Cristopher Davis, Robert Roth)
    * entry: Added currencies completion provider (Robert Roth)
    * entry: Fixed percentage evaluation error #237 (Robert Roth)
    * internal: Moved history view from MathDisplay to MathWindow (Robert Roth)
    * window: set default width for basic and keyboard mode #240 (Robert Roth)
    * buttons: removed destructive action class from clear button #242 (Robert Roth)
    * converter: search support in unit selector, separate conversion category selector #108 (Robert Roth)

Overview of changes in gnome-calculator 41.0
    * Use first translated symbol for conversion with button #219 (Robert Roth)
    * Appdata includes hardware support information (Adrien Plazas)

Overview of changes in gnome-calculator 41.alpha
    * Adaptive preferences window !85 (Adrien Plazas)
    * Fixed currency conversion using convert button #216 (Robert Roth)
    * User interface reworked, adaptive UI !81 (Adrien Plazas)
    * Enlarged calculator icon in help !82 (Sabri Ünal)
    * Code cleanup (Robert Roth)
    * Fixed kilohertz shorthand !87 (scootergrisen)
    * Fixed donation link !88 (René Genz)
    * Added support using calculator without currency conversion for privacy !89 (Ray Strode)
    * Added support for function description of custom functions using @ !90 (Martin Jirku)

Overview of changes in gnome-calculator 40.rc
    * Resize window after switching mode !78 (joshas)
    * Fixed compilation warnings (Robert Roth)
    * Support offline currency conversion tests #208 (Robert Roth)
    * Use official unit on conversion button click #207 (Robert Roth)
    * Fixed temperature unit typos #211 (Robert Roth)
    * Ellipsize conversion labels #17 (Robert Roth)
    * Added Ctrl+Delete shortcut for clearing the current equation #187 (Robert Roth)
    * Allow multiple decimal points #166. #5 (Robert Roth)
    * Added Ctrl+O shortcut for degrees symbol (Robert Roth)
    * Use gtk-sourceview 4.8 !80 (Robert Roth)

Overview of changes in gnome-calculator 40.beta
    * Fixed CI build (Robert Roth)
    * Fixed issues with initial loading of currencies (Robert Roth)
    * Rework currency retrieval preparing for currency provider plugins (Robert Roth)
    * Fixed commandline conversions #33 (Robert Roth)
    * Added currency conversion tests (Robert Roth)
    * Added support for frequencies conversion (Dave Hulst)
    * Added support for converting to and from weeks (Dave Hulst)
    * Added support for converting to and from centuries and decades (Dave Hulst)
    * Increase buttons font size #201 (Robert Roth)
    * Added % button to Advanced mode (Dave Hulst)
    * Show 4 decimals in converter instead of only two #203 (Robert Roth)
    * Added style classes to buttons !76 (Dave Hulst)

Overview of changes in gnome-calculator 40.alpha
    * Use libhandy for window and headerbar !69 (Cristopher Davis)
    * Use C instead of Clr in help !70 (scootergrisen)
    * Fixed broken currency conversion on first start #199 (Robert Roth)
    * Removed duplicate word from help #198 (Robert Roth)
    * Added lbs shortcut for pounds conversion (Robert Roth)
    * Fixed inconsistent word size (A. M. Roswell)
    * Removed unused trunc button from programming mode #41 (Robert Roth)
    * Fixed deprecation warnings
    * Added Serbian Dinar with fixed rate #49 (Robert Roth)
    * Added Bangladeshi Taka with fixed rate #191 (A. M. Roswell)
    * Updated mailing list contact to Discourse (Robert Roth)
    * Added basic help page for programming mode (A. M. Roswell)
    * Added insert character code button (A. M. Roswell)
    * Dim inapplicable bits on word size change #189 (A. M. Roswell)
    * Make the conversion labels selectable (Robert Roth)
    * Do not convert on swap #170 (Robert Roth)
    * Word size changer in programming mode !58 (A. M. Roswell)
    * Added metric cups conversion unit !53 (Lucy Coleclough)
    * Fixed astronomical unit conversion !51 (Thomas Nilsson)
    * Fixed feet-based units name, added mph and kph shortcuts #180 (Robert Roth)
    * Use shell copy to clipboard action #178 (Robert Roth)
    * Fixed preferences of angle units !56 (Delton Ding)

Overview of changes in gnome-calculator 3.38.0

Overview of changes in gnome-calculator 3.37.92

Overview of changes in gnome-calculator 3.37.90
    * Add tooltips for bits in programming mode !46 (Olliver Schinagl)
    * snap packaging updates (Ken VanDine)
    * Added link to website in About #155 (Robert Roth)
    * Added speed conversions !49 (Mathieu Heurtevin)
    * History view follows preferences #105, #159, #168 (Robert Roth)
    * Added month as time unit #158 (Robert Roth)
    * Better help for variables example usage #154 (Robert Roth)
    * Defined pi variable, added pi button in programming mode #153 (Robert Roth)
    * CI build fixes (Robert Roth)
    * Updated app icon !47 (Jakub Steiner)
    * Fixed bug returning empty string as result #152 (Robert Roth)
    * Support latex-style multiplication #164 (Robert Roth)
    * Added support for tau constant #46 (Robert Roth)
    * Unify constant handling (Robert Roth)
    * Separate UI files from sources (Robert Roth)
    * Moved number format selection to separate menu #24 (Robert Roth)
    * Replaces mode selector shortcuts with Ctrl+Alt (Robert Roth)
    * Clear answer if editing right before it #59, #161 (Robert Roth)
    * Moved preferences dialog to UI file (Robert Roth)
    * Refresh bits panel after calculation #38 (Robert Roth)
    * Removed past author addresses #174 (Robert Roth)

Overview of changes in gnome-calculator 3.36.0

Overview of changes in gnome-calculator 3.35.92
    * doc: Don't pass --fatal-warnings to valadoc (Rico Tzschichholz)
    * Removed obsolete keyboard shortcut #148 (Robert Roth)
    * help: Update icon for 3.36 (Andre Klapper)

Overview of changes in gnome-calculator 3.35.90
    * Drop padding around the display !40 (Adrien Plazas)
    * Updated Keyboard Shortcuts (Sabri Ünal)
    * Handle Escape and Enter correctly with completion #144 (Robert Roth)
    * Added F10 for primary menu shortcut #148 (Robert Roth)
    * Updated app icon !43 (Tobias Bernard)
    * Added Rack Units to the conversions !37 (Léo Gillot-Lamure)
    * Fixed freeze on calculating atan(+/-i) #139 (Robert Roth)
    * Fixed mode shortcuts by removing blocking mnemonics #138 (Robert Roth)
    * Implemented result history browsing using alt left/right #129 (Robert Roth)
    * Added translator comments for possible modes as command line arguments !38 (Rafael Fontenelle)

Overview of changes in gnome-calculator 3.35.3
    * Help updates (Andre Klapper)

Overview of changes in gnome-calculator 3.35.2
    * List possible modes in commandline help #112 (Robert Roth)
    * Add square feet unit #132 (Robert Roth)
    * Base conversion display selectable #123 (Robert Roth)
    * Created nightly icon (Jakub Steiner)
    * Snap build updates (Heather Ellsworth)
    * GCalc library code fixes (Rico Tzschichholz, Daniel Espinoza Ortiz)
    * Update required meson version (Diego Escalante Urrelo)
    * Adapt code to changed gtk+-3.0 bindings (Rico Tzschichholz)
    * Added GCi libary and tests for controllers for widgets (Daniel Espinoza Ortiz)
    * Solve on = key if input isq not a variable name #22 (Alberto González Palomo)

Overview of changes in gnome-calculator 3.33.92
    * README updates (Roger)

Overview of changes in gnome-calculator 3.33.90
    * Flatpak build cleanup (Jordan Petridis)
    * Debug messages cleanup (Daniel Espinosa Ortiz)

Overview of changes in gnome-calculator 3.33.3
    * calculator library build fixes (Daniel Espinosa Ortiz)
    * CI build fixes (Ken VanDine)
    * Added mnemonics for primary menu items #113 (Robert Roth)
    * Dropped leading zeros octal prefix #114, #109, #110 (Robert Roth)

Overview of changes in gnome-calculator 3.33.2
    * Separated calculator library !19 (Daniel Espinosa Ortiz)
    * Ensure icon is available for shell (Ken VanDine)
    * Support entering left/right shift with keyboard #98 (Robert Roth)
    * Fixed CFA conversion rate #102 (Robert Roth)
    * Remove copy icon from search provider results #103 (Robert Roth)
    * Do not assume octal base for binary numbers #101 (Robert Roth)
    * Show thousands separator in unit converter #102 (Robert Roth)
    * Use currency name instead of display name for conversion #106 (Robert Roth)
    * Quit warns and closes all windows #51 (Robert Roth)
    * Avoid normalizing the equation twice in search #104 (Pascal Nowack)
    * Ignore keypresses while calculating results #47 (Robert Roth)
    * Only allow one decimal point in numbers #5 (Robert Roth)
    * Application icon updated in help (Andre Klapper)
jperkin pushed a commit that referenced this issue Nov 9, 2023
[1.0.0] - 2023-11-07

A quick note to any packages. The generated shell completions and man page are
now in the gen directory of the repo. They're also included in the pre-built
release artifacts on the releases page.

Improvements
 #115 Do not replace symlink with output file (@SimplyDanny)
      Fixes an issue where a symlink would be replaced with a regular file
 #124 Fix tests (@Linus789)
      Removed displaying the file path when passing the --preview flag and fixed how text coloring was handled in tests

Breaking
 #192 Rename --string-mode to --fixed-strings (@CosmicHorrorDev)
      Renamed -s --string-mode to -f --fixed-strings to better match similar
      tools
      -s and --string-mode will still continue to work for backwards
      compatibility, but are no longer documented
 #258 Error on $<num><non_num> capture replacement names (@CosmicHorrorDev)
      Previously when you tried to use a numbered capture group right before
      some letters in the replacement text (e.g. $1foo) then it would be
      considered the impossible-to-use 1foo capture. The correct way to pass
      the numbered capture group in this case would be to surround the number
      with curly braces like so ${1}foo. The error just detects this case and
      informs the user of the issue

Docs
 #93 Add note about in-place file modification to --help output (@jchook)
 #148 Doc: nitpick -- has no special meaning to shells (@hexagonrecursion)
 #181 Fix man page -f flag help text (@ulope)
      Fixed copy-pasted text in the man page's -f flag's help text
 #186 Improve error message for failed replacements (@CosmicHorrorDev)
 #187 Freshen up README (@CosmicHorrorDev)
      Added a repology badge to document different installation methods
      Improved the formatting of the benchmarks
 #207 Documenting $ escape (@yahkbar)
      Adds a section in the README that covers that $$ is a literal $ in the
      replacement text
 #227 Improve README readability (@vassudanagunta)
      Various formatting improvements
 #231 Use clap_mangen and roff to generate manpage (@nc7s)
      This change ensures the man page contents stay in sync with the CLI
      automatically, and fixes some broken rendering of the existing manpage
 #243 Exclude unsupported packages from the repology badge (@CosmicHorrorDev)

Pre-built Releases
 (11295fb) Add ARM target (@chmln)
           Added the arm-unknown-linux-gnueabihf target to CI and releases
 #114 Adding aarch64-apple-darwin target (@yahkbar)
 #143 Fix paths to release binary in "publish" action (@skrattaren)
 #179 Build Adjustments (@yahkbar)
      striped release binaries and added the aarch64-ubuntu-linux-musl target
 #204 Adding armv7-unknown-linux-gnueabihf target (@yahkbar)
      Added the armv7-unknown-linux-gnueabihf target to the list of targets to
      build in CI and for each release
 #205 Resolving broken aarch64-apple-darwin tests (@yahkbar)
      Switched aarch64-apple-darwin to only try building the executable without
      running the tests since there seems to be no easy way to test for ARM
      Apple targets
 #206 Adding Windows builds back (@yahkbar)
      Added the x86_64-pc-windows-gnu and x86_64-windows-musl targets back to
      the list of targets to build in CI and for each release

Internal
 #118 Fix master (@SimplyDanny)
      Fixes several cross-compilation issues that effected different targets
      in CI
 #182 cargo update (@CosmicHorrorDev)
      Bumps dependencies to their latest compatible versions
 #183 Switch memmap -> memmap2 (@CosmicHorrorDev)
      Switches away from an unmaintained crate
 #184 Add editor config file matching rustfmt config (@CosmicHorrorDev)
      Adds an .editorconfig file matching the settings listed in the
      .rustfmt.toml file
 #185 Fix warnings and clippy lints (@CosmicHorrorDev)
 #188 Switch atty for is-terminal (@CosmicHorrorDev)
      Switches away from an unmaintained crate
 #189 Replace structopt with clap v4 (@CosmicHorrorDev)
      Switches away from a defacto deprecated crate
 #190 Change how all shell variants are expressed (@CosmicHorrorDev)
      Tiny tidying up PR
 #196 Move generating static assets to a cargo-xtask task (@CosmicHorrorDev)
      Moves the generation of the man page and shell completions from a build
      script to a cargo-xtask task
 #197 Add a release checklist (@CosmicHorrorDev)
 #209 Dependency updates (@yahkbar)
 #235 Update generated assets (@CosmicHorrorDev)
 #236 Tone down dependabot (@CosmicHorrorDev)
 #245 Update sd to 2021 edition (@CosmicHorrorDev)
      Updates sd to the Rust 2021 edition
 #248 Misc Cargo.toml tweaks (@CosmicHorrorDev)
      Switches to use workspace edition and dependencies where appropriate
 #249 Resolve CI warnings (@CosmicHorrorDev)
      Switched from actions-rs actions to dtolnay@rust-toolchain
      Switched from using ::set-output to $GITHUB_ENV
 #251 Update dependencies (@CosmicHorrorDev)
 A lot of sad CI tweaking:
      #252 Fix build target usage in CI (@CosmicHorrorDev)
      #253 Improve publishing CI job (@CosmicHorrorDev)
      #256 More CI tweaks (@CosmicHorrorDev)
      #257 Fix publish action (@CosmicHorrorDev)
 #267 Rework the replacements flag (@CosmicHorrorDev)
 #269 Make modified text blue instead of green (@CosmicHorrorDev)
 #271 Fix release checklist indentation (@CosmicHorrorDev)
 #272 Remove outdated release checklist step (@CosmicHorrorDev)
 #274 Prepare 1.0.0-beta.0 release (@CosmicHorrorDev)
 #275 Update sd version in lockfile (@CosmicHorrorDev)
jperkin pushed a commit that referenced this issue Dec 14, 2023
1.62.0 (2023-12-01)

Features

    Add auto_populated_fields field of MethodSettings in google/api/client_pb2 (#194) (4b0c73a)
    Add support for Python 3.12 (#192) (336cdf3)

Bug Fixes

    Migrate to native namespace packages (#187) (713e388)
jperkin pushed a commit that referenced this issue Dec 17, 2023
2.4.0 (2023-10-14)

* Refer to github, not Rubyforge [ci skip]
* Support Rack 3 (#187)
* Rack::JSONBodyParser: rescue all parser exceptions (#184)
* Prefer to use version constant for release management.
* Don't bother testing on Ruby 2.2 as it's failing and way EOL.
jperkin pushed a commit that referenced this issue Dec 18, 2023
15.0.0 (2022-01-04)

Added
* [Ruby,JavaScript,Go] Add bigdecimal, biginteger parameter types (#42)
* [.NET] Implementation of Cucumber Expressions by porting the Java parser
  (#1743)
* [Python] Added Python Cucumber Expressions (#65)

Changed
* [Go] Parameters of type {float} are now parsed as float32 (previously it
  was float64). Use {double} if you need float64. (#42)

15.0.1 (2022-01-04)

Fixed
* Fixed release scripts

15.0.2 (2022-03-15)

Fixed
* Add missing name field in CommonJS package file (#87)

15.1.0 (2022-04-21)

Added
* [JavaScript] Add CucumberExpression.ast and expose the AST types.

15.1.1 (2022-04-21)

Fixed
* [JavaScript] Make CucumberExpression.ast public (it was accidentally
  private in 15.1.0)

15.2.0 (2022-05-24)

Added
* [JavaScript] Add ParameterInfo (#124)

Fixed
* [.NET] Fix casing in "word" parameter type constant

16.0.0 (2022-06-12)

Changed
* [JavaScript] The ParameterType constructor's regexps parameter has a new
  type: type Regexps = StringOrRegExp | readonly StringOrRegExp[]; type
  StringOrRegExp = string | RegExp.

16.0.1 (2022-11-06)

Fixed
* [JavaScript] The ParameterType constructor's transform, useForSnippets and
  preferForRegexpMatch should be optional. (#178)

16.1.0 - 2022-11-28

Added
* [Java] Enabled reproducible builds
* [JavaScript] Added ParameterType.builtin. This is to allow JSON
  serialization of only the non-builtin parameter types.

16.1.1 - 2022-12-08

Fixed
* [Java] Improve expression creation performance (#187, #189)

16.1.2 (2023-01-17)

Fixed
* [Java] Improve cucumber expression creation performance (#202)

17.0.0 (2023-10-06)

Changed
* [JavaScript] Added TypeScript source to the package (#211)
* [Ruby] Minimum supported ruby is now 2.5+ (#232)
* [Ruby] Large suite wide refactor for basic rubocop compliance (#233 #235)
* [Ruby] Expose ParameterType#transformer as a new public reader (#234)
* [Ruby] Remove ParameterType#prefer_for_regexp_match? and
  ParameterType#use_for_snippets? -> Use their standard reader equivalents
  instead (Remove the ?) (#234)

17.0.1 (2023-11-24)

Fixed
* [JavaScript] Fix import paths lacking file suffix (#243)
* [Ruby] Fixed up Layout rubocop autofixes
jperkin pushed a commit that referenced this issue Feb 23, 2024
v0.4.1
Fixes
    Fix an issue where fonts can fail to be detected on some systems (#250)

Docs
    Update the repo link to our newly minted organization (#251)

v0.4.0
I'd like to start with a huge thanks to all of our contributors. This release
wouldn't have happened nearly as soon, nor would it have had as many fixes and
features without everyone's help ❤️
Breaking Changes
    Completions are now generated ahead of time and provided with the release
    assets instead of the old --gen-completions <SHELL> flag
    The default light theme code-highlighter was changed from the
    inpsired-github to the new github syntax highlighter
    We have a new wayland feature that is enabled by default for clipboard
    support. If you don't use wayland and you run into wayland related build
    errors then consider building with the --no-default-features with the
    optional --features x11 if you're using Xorg still
    The default zoom-out keybind is now <Ctrl+=> instead of <Ctrl++> and
    zoom-reset is now unbound by default instead of <Ctrl+=>

Features
    Font fallback is now supported 🎉 (less tofu --> more emojis)
    A lot more embedded syntax highlighting themes (#219)
        The full list is always in the inlyne.default.toml file
    Add clipboard support for wayland (#243)
    Add support for color-scheme specific <picture>s (#236)
    Underlines are now supported in syntax highlighting (#221 and #225)
    extra keybindings now override base (#224)
    Use human-panic for more user-friendly panic messages (#172)
    Support table column alignment (#136)
    Use taffy for laying out tables (#129)

Fixes
    Inherit alignment for headers (#241)
    Allow for px suffix on pixel length (#238)
    Mimic GitHub's anchorizer for creating headers' anchor links (#227)
    Correctly reset table column alignment (#218)
    Reset scroll on markdown navigation (#213)
    Debounce file watcher events (#200)
    More gracefully handle failures in image loading (#187)
    Switch the TLS library from openssl to rustls (#179)
        Fixes some issues with window's failing some image requests

Documentation
    Document fontconfig dependency (#220)

Internal
    The usual swarm of non-user-facing changes
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 10, 2024
Note that the Asterisk 19.* series is EOL and this package will be
scheduled for deletion in one to two quarters.

pkgsrc changes:
- MKPIE_SUPPORTED=NO -- eol, so not worth effort to fix
- various new/obsoleted config files / docs
- new/obsoleted features
  + app_sf
  + func_evalexten
  + func_export
  + func_json
  + res_ari_mailboxes
  + res_geolocation
  + res_mwi_external
  + res_mwi_external_ami
  + res_pjsip_geolocation
  + res_pjsip_rfc3329
  + res_speech_aeap
  + res_stasis_playback


Change Log for Release 19.8.1
========================================

Summary:
----------------------------------------

- apply_patches: Use globbing instead of file/sort.
- bundled_pjproject: Backport 2 SSL patches from upstream
- bundled_pjproject: Backport security fixes from pjproject 2.13.1
- apply_patches: Sort patch list before applying

Closed Issues:
----------------------------------------

  - #188: [improvement]:  pjsip: Upgrade bundled version to pjproject 2.13.1 #187
  - #193: [bug]: third-party/apply-patches doesn't sort the patch file list before applying
  - #194: [bug]: Segfault/double-free in bundled pjproject using TLS transport

Commits By Author:
----------------------------------------

- ### George Joseph (3):
  - apply_patches: Sort patch list before applying
  - bundled_pjproject: Backport security fixes from pjproject 2.13.1
  - bundled_pjproject: Backport 2 SSL patches from upstream

- ### Sean Bright (1):
  - apply_patches: Use globbing instead of file/sort.


-----


------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.7.0 to Asterisk 19.8.0 ------------
------------------------------------------------------------------------------

cdr
------------------
 * Two new options have been added which allow
   bridging and dial state changes to be ignored
   in CDRs, which can be useful if a single CDR
   is desired for a channel.

res_pjsip
------------------
 * Added options "security_negotiation" and "security_mechanisms" to pjsip
   endpoints and registrations. "security_negotiation" can be set to "no" (default)
   or "mediasec", and "security_mechanisms" can be a list of comma-separated
   security_mechanisms in the form defined by RFC 3329 section 2.2.

 * A new option named "all_codecs_on_empty_reinvite" has been added to the
   global section. When this option is enabled, on reception of a re-INVITE
   without SDP, Asterisk will send an SDP offer in the 200 OK response containing
   all configured codecs on the endpoint, instead of simply those that have
   already been negotiated. RFC 3261 specifies this as a SHOULD requirement.
   The default value is "off".

res_pjsip_logger
------------------
 * SIP messages can now be filtered by SIP request method
   (INVITE, CANCEL, ACK, BYE, REGISTER, OPTION,
   SUBSCRIBE, NOTIFY, PUBLISH, INFO, and MESSAGE),
   allowing for more granular debugging to be done
   in the CLI. This applies to requests but not responses.

res_pjsip_notify
------------------
 * Allows using the config options in pjsip_notify.conf
   from AMI actions as with the existing CLI commands.

res_tonedetect
------------------
 * The TONE_DETECT function now supports
   detection of audible ringback tone
   using the p option.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.6.0 to Asterisk 19.7.0 ------------
------------------------------------------------------------------------------

New EXPORT function
------------------
 * A new function, EXPORT, allows writing variables
   and functions on other channels, the complement
   of the IMPORT function.

app_amd
------------------
 * An audio file to play during AMD processing can
   now be specified to the AMD application or configured
   in the amd.conf configuration file.

app_bridgewait
------------------
 * Adds the n option to not answer the channel when
   the BridgeWait application is called.

features
------------------
 * The Bridge application now has the n "no answer" option
   that can be used to prevent the channel from being
   automatically answered prior to bridging.

func_strings
------------------
 * Three new functions, TRIM, LTRIM, and RTRIM, are
   now available for trimming leading and trailing
   whitespace.

res_pjsip
------------------
 * A new option named "peer_supported" has been added to the endpoint option
   100rel. When set to this option, Asterisk sends provisional responses
   reliably if the peer supports it. If the peer does not support reliable
   provisional responses, Asterisk sends them normally.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.6.0 to Asterisk 19.7.0 ------------
------------------------------------------------------------------------------

Transfer feature
------------------
 * The following capabilities have been added to the
   transfer feature:

   - The transfer initiation announcement prompt can
   now be customized in features.conf.

   - The TRANSFER_EXTEN variable now can be set on the
   transferer's channel in order to allow the transfer
   function to automatically attempt to go to the extension
   contained in this variable, if it exists. The transfer
   context behavior is not changed (TRANSFER_CONTEXT is used
   if it exists; otherwise the default context is used).

app_confbridge
------------------
 * Adds the end_marked_any option which can be used
   to kick users from a conference after any
   marked user leaves (including marked users).

locks
------------------
 * A new AMI event, DeadlockStart, is now available
   when Asterisk is compiled with DETECT_DEADLOCKS,
   and can indicate that a deadlock has occured.

res_geolocation
------------------
 * Added 4 built-in profiles:
     "<prefer_config>"
     "<discard_config>"
     "<prefer_incoming>"
     "<discard_incoming>"
   The profiles are empty except for having their precedence
   set.

   Added profile parameter "suppress_empty_ca_elements" that
   will cause Civic Address elements that are empty to be
   suppressed from the outgoing PIDF-LO document.

   You can now specify the location object's format, location_info,
   method, location_source and confidence parameters directly on
   a profile object for simple scenarios where the location
   information isn't common with any other profiles.  This is
   mutually exclusive with setting location_reference on the
   profile.

   Added an 'a' option to the GEOLOC_PROFILE function to allow
   variable lists like location_info_refinement to be appended
   to instead of replacing the entire list.

   Added an 'r' option to the GEOLOC_PROFILE function to resolve all
   variables before a read operation and after a Set operation.

res_musiconhold_answeredonly
------------------
 * This change adds an option, answeredonly, that will prevent music
   on hold on channels that are not answered.

res_pjsip
------------------
 * TLS transports in res_pjsip can now reload their TLS certificate
   and private key files, provided the filename of them has not
   changed.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.5.0 to Asterisk 19.6.0 ------------
------------------------------------------------------------------------------

res_geolocation
------------------
 * * Added processing for the 'confidence' element.
   * Added documentation to some APIs.
   * removed a lot of complex code related to the very-off-nominal
     case of needing to process multiple location info sources.
   * Create a new 'ast_geoloc_eprofile_to_pidf' API that just takes
     one eprofile instead of a datastore of multiples.
   * Plugged a huge leak in XML processing that arose from
     insufficient documentation by the libxml/libxslt authors.
   * Refactored stylesheets to be more efficient.
   * Renamed 'profile_action' to 'profile_precedence' to better
     reflect it's purpose.
   * Added the config option for 'allow_routing_use' which
     sets the value of the 'Geolocation-Routing' header.
   * Removed the GeolocProfileCreate and GeolocProfileDelete
     dialplan apps.
   * Changed the GEOLOC_PROFILE dialplan function as follows:
     * Removed the 'profile' argument.
     * Automatically create a profile if it doesn't exist.
     * Delete a profile if 'inheritable' is set to no.
   * Fixed various bugs and leaks
   * Updated Asterisk WiKi documentation.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.5.0 to Asterisk 19.6.0 ------------
------------------------------------------------------------------------------

chan_dahdi
------------------
 * A POLARITY function is now available that allows
   getting or setting the polarity on a channel
   from the dialplan.

db
------------------
 * The DBPrefixGet AMI action now allows retrieving
   all of the DB keys beginning with a particular
   prefix.

res_cliexec
------------------
 * A new CLI command, dialplan exec application, has
   been added which allows dialplan applications to be
   executed at the CLI, useful for some quick testing
   without needing to write dialplan.

res_geolocation
------------------
 * Added res_geolocation which creates the core capabilities
   to manipulate Geolocation information on SIP INVITEs.

res_pjsip
------------------
 * A new transport option 'allow_wildcard_certs' has been added that when it
   and 'verify_server' are both set to 'yes', enables verification against
   wildcards, i.e. '*.' in certs for common, and subject alt names of type DNS
   for TLS transport types. Names must start with the wildcard. Partial wildcards,
   e.g. 'f*.example.com' and 'foo.*.com' are not allowed. As well, names only
   match against a single level meaning '*.example.com' matches 'foo.example.com',
   but not 'foo.bar.example.com'.

res_pjsip_geolocation
------------------
 * Added res_pjsip_geolocation which gives chan_pjsip
   the ability to use the core geolocation capabilities.

res_pjsip_header_funcs
------------------
 * Add function PJSIP_RESPONSE_HEADERS() to get list of header names from 200 response, in the same way as PJSIP_HEADERS() from the request.

   Add function PJSIP_RESPONSE_HEADER() to read header from 200 response, in the same way as PJSIP_HEADER() from the request.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.4.0 to Asterisk 19.5.0 ------------
------------------------------------------------------------------------------

app_confbridge
------------------
 * Added the hear_own_join_sound option to the confbridge user profile to
   control who hears the sound_join audio file. When set to 'yes' the user
   entering the conference and the participants already in the conference
   will hear the sound_join audio file. When set to 'no' the user entering
   the conference will not hear the sound_join audio file, but the
   participants already in the conference will hear the sound_join audio file.

 * Adds the CONFBRIDGE_CHANNELS function which can
   be used to retrieve a list of channels in a ConfBridge,
   optionally filtered by a particular category. This
   list can then be used with functions like SHIFT, POP,
   UNSHIFT, etc.

app_queue
------------------
 * The m option now allows an override music on hold
   class to be specified for the Queue application
   within the dialplan.

app_voicemail
------------------
 * The r option has been added, which prevents deletion
   of messages from VoiceMailMain, which can be
   useful for shared mailboxes.

ari
------------------
 * Expose channel driver's unique id (which is the Call-ID for SIP/PJSIP)
   to ARI channel resources as 'protocol_id'.

   ASTERISK-30027

chan_dahdi
------------------
 * Previously, cadences were appended on dahdi restart,
   rather than reloaded. This prevented cadences from
   being updated and maxed out the available cadences
   if reloaded multiple times. This behavior is fixed
   so that reloading cadences is idempotent and cadences
   can actually be reloaded.

chan_pjsip
------------------
 * added global config option "allow_sending_180_after_183"

   Allow Asterisk to send 180 Ringing to an endpoint
   after 183 Session Progress has been send.
   If disabled Asterisk will instead send only a
   183 Session Progress to the endpoint.

 * Hook flash events can now be sent on a PJSIP channel
   if requested to do so.

chan_sip
------------------
 * Session timers get removed on UPDATE
   Fix if Asterisk receives a SIP REFER with Session-Timers UAC
   that Asterisk maintains Session-Timers when sending UPDATE request

cli
------------------
 * A new CLI command 'dialplan eval function' has been
   added which allows users to test the behavior of
   dialplan function calls directly from the CLI.

func_db
------------------
 * The function DB_KEYCOUNT has been added, which
   returns the cardinality of the keys at a specified
   prefix in AstDB, i.e. the number of keys at a
   given prefix.

func_evalexten
------------------
 * This adds the EVAL_EXTEN function which may be
   used to evaluate data at dialplan extensions.

res_agi
------------------
 * Agi command 'exec' can now be enabled
   to evaluate dialplan functions and variables
   by setting the variable AGIEXECFULL to yes.

res_parking
------------------
 * An m option to Park and ParkAndAnnounce now allows
   specifying a music on hold class override.

stasis_channels
------------------
 * Expose channel driver's unique id (which is the Call-ID for SIP/PJSIP)
   to ARI channel resources as 'protocol_id'.

   ASTERISK-30027

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.3.1 to Asterisk 19.3.2 ------------
------------------------------------------------------------------------------

func_odbc
------------------
 * A SQL_ESC_BACKSLASHES dialplan function has been added which
   escapes backslashes. Usage of this is dependent on whether the
   database in use can use backslashes to escape ticks or not. If
   it can, then usage of this prevents a broken SQL query depending
   on how the SQL query is constructed.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.2.0 to Asterisk 19.3.0 ------------
------------------------------------------------------------------------------

ami
------------------
 * AMI events can now be globally disabled using
   the disabledevents [general] setting.

app_mf
------------------
 * Adds an option to ReceiveMF to cap the
   number of digits read at a user-specified
   maximum.

app_queue
------------------
 * Load queues and members from Realtime for
   AMI actions: QueuePause, QueueStatus and QueueSummary,
   Applications: PauseQueueMember and UnpauseQueueMember.

 * Added a new AMI action: QueueWithdrawCaller
   This AMI action makes it possible to withdraw a caller from a queue
   back to the dialplan. The call will be signaled to leave the queue
   whenever it can, hence, it not guaranteed that the call will leave
   the queue.

   Optional custom data can be passed in the request, in the WithdrawInfo
   parameter. If the call successfully withdrawn the queue,
   it can be retrieved using the QUEUE_WITHDRAW_INFO variable.

   This can be useful for certain uses, such as dispatching the call
   to a specific extension.

channel_internal_api
------------------
 * CHANNEL(lastcontext) and CHANNEL(lastexten)
   are now available for use in the dialplan.

res_pjsip_pubsub
------------------
 * A new resource_list option, resource_display_name, indicates
   whether display name of resource or the resource name being
   provided for RLS entries.
   If this option is enabled, the Display Name will be provided.
   This option is disabled by default to remain the previous behavior.
   If the 'event' set to 'presence' or 'dialog' the non-empty HINT name
   will be set as the Display Name.
   The 'message-summary' is not supported yet.

 * The Resource List Subscriptions (RLS) is dynamic now.
   The asterisk now updates current subscriptions to reflect the changes
   to the list on subscription refresh. If list items are added,
   removed, updated or do not exist anymore, the asterisk regenerates
   the resource list.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 19.1.0 to Asterisk 19.2.0 ------------
------------------------------------------------------------------------------

Applications
------------------
 * added support for Danish syntax, playing the correct plural sound file
   dependen on where you have 1 or multipe messages
   based on the existing SE/NO code

 * added that we set DIALEDPEERNUMBER on the outgoing channels
   so it is avalible in b(content^extension^line)
   this add the same behaviour as Dial

Core
------------------
 * Bundled PJProject Build

   The build process has been updated to make pjproject troubleshooting
   and development easier. See third-party/pjproject/README-hacking.md or
   https://wiki.asterisk.org/wiki/display/AST/Bundled+PJProject
   for more info.

ami
------------------
 * An AMI event now exists for "Wink".

app_mf
------------------
 * Adds MF receiver and sender applications to support
   the R1 MF signaling protocol, including integration
   with the Dial application.

app_queue
------------------
 * added that we set DIALEDPEERNUMBER on the outgoing channels
   so it is avalible in b(content^extension^line)
   this add the same behaviour as Dial

app_queues
------------------
 * adding support for playing the correct en/et for nordic languages

 * Don't play sound_thanks if there is no leading hold_time message
   When the only announcement is hold time, and there is no hold time (0 min, 0 sec), asterisk will say "thank you for your patience"

app_sendtext
------------------
 * A ReceiveText application has been added that can be
   used in conjunction with the SendText application.

app_voicemail
------------------
 * added support for Danish syntax, playing the correct plural sound file
   dependen on where you have 1 or multipe messages
   based on the existing SE/NO code

cdr
------------------
 * A new CDR option, channeldefaultenabled, allows controlling
   whether CDR is enabled or disabled by default on
   newly created channels. The default behavior remains
   unchanged from previous versions of Asterisk (new
   channels will have CDR enabled, as long as CDR is
   enabled globally).

chan_sip.c
------------------
 * resolve issue with pickup on device that uses "183" and not "180"

cli
------------------
 * The "module refresh" command has been added,
   which allows unloading and then loading a
   module with a single command.

func_json
------------------
 * The JSON_DECODE dialplan function can now be used
   to parse JSON strings, such as in conjunction with
   CURL for using API responses.

res_fax_spandsp
------------------
 * Adds support for spandsp 3.0.0.
jperkin pushed a commit that referenced this issue Aug 28, 2024
3.3.6
Improvements

    Removed duplicated entity expansions for performance.
        GH-194
        Patch by Viktor Ivarsson.

    Improved namespace conflicted attribute check performance. It was
    too slow for deep elements.
        Reported by l33thaxor.

Fixes

    Fixed a bug that default entity expansions are counted for
    security check. Default entity expansions should not be counted
    because they don't have a security risk.
        GH-198
        GH-199
        Patch Viktor Ivarsson

    Fixed a parser bug that parameter entity references in internal
    subsets are expanded. It's not allowed in the XML specification.
        GH-191
        Patch by NAITOH Jun.

    Fixed a stream parser bug that user-defined entity references in
    text aren't expanded.
        GH-200
        Patch by NAITOH Jun.

REXML 3.3.5 - 2024-08-12
Fixes

    Fixed a bug that REXML::Security.entity_expansion_text_limit
    check has wrong text size calculation in SAX and pull parsers.
        GH-193
        GH-195
        Reported by Viktor Ivarsson.
        Patch by NAITOH Jun.


REXML 3.3.4 - 2024-08-01
Fixes

    Fixed a bug that REXML::Security isn't defined when
    REXML::Parsers::StreamParser is used and
    rexml/parsers/streamparser is only required.
        GH-189
        Patch by takuya kodama.


REXML 3.3.3 - 2024-08-01
Improvements

    Added support for detecting invalid XML that has unsupported
    content before root element
        GH-184
        Patch by NAITOH Jun.

    Added support for REXML::Security.entity_expansion_limit= and
    REXML::Security.entity_expansion_text_limit= in SAX2 and pull
    parsers
        GH-187
        Patch by NAITOH Jun.

    Added more tests for invalid XMLs.
        GH-183
        Patch by Watson.

    Added more performance tests.
        Patch by Watson.

    Improved parse performance.
        GH-186
        Patch by tomoya ishida.
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