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

Manifest file for zabbix services #188

Closed
wants to merge 2 commits into from

Conversation

senilio
Copy link

@senilio senilio commented Apr 5, 2019

No description provided.

@senilio senilio changed the title Manifest file containing all 3 zabbix services Manifest file for zabbix services Apr 5, 2019
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Apr 5, 2019
Provided by Emil Petersson in TritonDataCenter#188.
@jperkin jperkin self-assigned this Apr 5, 2019
@jperkin jperkin closed this Apr 5, 2019
@senilio senilio deleted the zabbix-smf branch April 5, 2019 15:54
jperkin pushed a commit that referenced this pull request Apr 17, 2019
ripgrep 0.10.0:

This is a new minor version release of ripgrep that contains some major new
features, a huge number of bug fixes, and is the first release based on
libripgrep. The entirety of ripgrep's core search and printing code has been
rewritten and generalized so that anyone can make use of it.

Major new features include PCRE2 support, multi-line search and a JSON output
format.

BREAKING CHANGES:

    The minimum version required to compile Rust has now changed to track the
    latest stable version of Rust. Patch releases will continue to compile with
    the same version of Rust as the previous patch release, but new minor
    versions will use the current stable version of the Rust compile as its
    minimum supported version.
    The match semantics of -w/--word-regexp have changed slightly. They used
    to be \b(?:<your pattern>)\b, but now it's
    (?:^|\W)(?:<your pattern>)(?:$|\W). This matches the behavior of GNU grep
    and is believed to be closer to the intended semantics of the flag. See
    #389 for more details.

Feature enhancements:

    FEATURE #162:
    libripgrep is now a thing. The primary crate is
    grep.
    FEATURE #176:
    Add -U/--multiline flag that permits matching over multiple lines.
    FEATURE #188:
    Add -P/--pcre2 flag that gives support for look-around and backreferences.
    FEATURE #244:
    Add --json flag that prints results in a JSON Lines format.
    FEATURE #321:
    Add --one-file-system flag to skip directories on different file systems.
    FEATURE #404:
    Add --sort and --sortr flag for more sorting. Deprecate --sort-files.
    FEATURE #416:
    Add --crlf flag to permit $ to work with carriage returns on Windows.
    FEATURE #917:
    The --trim flag strips prefix whitespace from all lines printed.
    FEATURE #993:
    Add --null-data flag, which makes ripgrep use NUL as a line terminator.
    FEATURE #997:
    The --passthru flag now works with the --replace flag.
    FEATURE #1038-1:
    Add --line-buffered and --block-buffered for forcing a buffer strategy.
    FEATURE #1038-2:
    Add --pre-glob for filtering files through the --pre flag.

Bug fixes:

    BUG #2:
    Searching with non-zero context can now use memory maps if appropriate.
    BUG #200:
    ripgrep will now stop correctly when its output pipe is closed.
    BUG #389:
    The -w/--word-regexp flag now works more intuitively.
    BUG #643:
    Detection of readable stdin has improved on Windows.
    BUG #441,
    BUG #690,
    BUG #980:
    Matching empty lines now works correctly in several corner cases.
    BUG #764:
    Color escape sequences now coalesce, which reduces output size.
    BUG #842:
    Add man page to binary Debian package.
    BUG #922:
    ripgrep is now more robust with respect to memory maps failing.
    BUG #937:
    Color escape sequences are no longer emitted for empty matches.
    BUG #940:
    Context from the --passthru flag should not impact process exit status.
    BUG #984:
    Fixes bug in ignore crate where first path was always treated as a symlink.
    BUG #990:
    Read stderr asynchronously when running a process.
    BUG #1013:
    Add compile time and runtime CPU features to --version output.
    BUG #1028:
    Don't complete bare pattern after -f in zsh.


ripgrep 0.9.0:

BREAKING CHANGES:

    When --count and --only-matching are provided simultaneously, the
    behavior of ripgrep is as if the --count-matches flag was given. That is,
    the total number of matches is reported, where there may be multiple matches
    per line. Previously, the behavior of ripgrep was to report the total number
    of matching lines. (Note that this behavior diverges from the behavior of
    GNU grep.)
    Octal syntax is no longer supported. ripgrep previously accepted expressions
    like \1 as syntax for matching U+0001, but ripgrep will now report an
    error instead.
    The --line-number-width flag has been removed. Its functionality was not
    carefully considered with all ripgrep output formats.
    See #795 for more
    details.

Feature enhancements:

    Added or improved file type filtering for Android, Bazel, Fuschia, Haskell,
    Java and Puppet.
    FEATURE #411:
    Add a --stats flag, which emits aggregate statistics after search results.
    FEATURE #646:
    Add a --no-ignore-messages flag, which suppresses parse errors from reading
    .ignore and .gitignore files.
    FEATURE #702:
    Support \u{..} Unicode escape sequences.
    FEATURE #812:
    Add -b/--byte-offset flag that shows the byte offset of each matching line.
    FEATURE #814:
    Add --count-matches flag, which is like --count, but for each match.
    FEATURE #880:
    Add a --no-column flag, which disables column numbers in the output.
    FEATURE #898:
    Add support for lz4 when using the -z/--search-zip flag.
    FEATURE #924:
    termcolor has moved to its own repository:
    https://github.com/BurntSushi/termcolor
    FEATURE #934:
    Add a new flag, --no-ignore-global, that permits disabling global
    gitignores.
    FEATURE #967:
    Rename --maxdepth to --max-depth for consistency. Keep --maxdepth for
    backwards compatibility.
    FEATURE #978:
    Add a --pre option to filter inputs with an arbitrary program.
    FEATURE fca9709d:
    Improve zsh completion.

Bug fixes:

    BUG #135:
    Release portable binaries that conditionally use SSSE3, AVX2, etc., at
    runtime.
    BUG #268:
    Print descriptive error message when trying to use look-around or
    backreferences.
    BUG #395:
    Show comprehensible error messages for regexes like \s*{.
    BUG #526:
    Support backslash escapes in globs.
    BUG #795:
    Fix problems with --line-number-width by removing it.
    BUG #832:
    Clarify usage instructions for -f/--file flag.
    BUG #835:
    Fix small performance regression while crawling very large directory trees.
    BUG #851:
    Fix -S/--smart-case detection once and for all.
    BUG #852:
    Be robust with respect to ENOMEM errors returned by mmap.
    BUG #853:
    Upgrade grep crate to regex-syntax 0.6.0.
    BUG #893:
    Improve support for git submodules.
    BUG #900:
    When no patterns are given, ripgrep should never match anything.
    BUG #907:
    ripgrep will now stop traversing after the first file when --quiet --files
    is used.
    BUG #918:
    Don't skip tar archives when -z/--search-zip is used.
    BUG #934:
    Don't respect gitignore files when searching outside git repositories.
    BUG #948:
    Use exit code 2 to indicate error, and use exit code 1 to indicate no
    matches.
    BUG #951:
    Add stdin example to ripgrep usage documentation.
    BUG #955:
    Use buffered writing when not printing to a tty, which fixes a performance
    regression.
    BUG #957:
    Improve the error message shown for --path separator / in some Windows
    shells.
    BUG #964:
    Add a --no-fixed-strings flag to disable -F/--fixed-strings.
    BUG #988:
    Fix a bug in the ignore crate that prevented the use of explicit ignore
    files after disabling all other ignore rules.
    BUG #995:
    Respect $XDG_CONFIG_DIR/git/config for detecting core.excludesFile.
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 19, 2019
Provided by Emil Petersson in TritonDataCenter#188.
jperkin pushed a commit that referenced this pull request Sep 2, 2019
Changes since 1.5.2:

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

Changes since 1.5.1:

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

Changes since 1.5.0:

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


Changes from Epoxy 1.4.3

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

Issues fixed

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

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Fixed bugs:**

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

**Closed issues:**

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

**Merged pull requests:**

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

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Merged pull requests:**

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

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

**Merged pull requests:**

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

# Changelog

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


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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Merged pull requests:**

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

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

**Closed issues:**

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

**Merged pull requests:**

- \(packaging\) Update version to 1.6.3 [\#143](puppetlabs/puppet-resource_api#143) ([branan](https://github.com/branan))
- Move parameter and property logic to separate classes [\#140](puppetlabs/puppet-resource_api#140) ([bpietraga](https://github.com/bpietraga))
- \(maint\) Predeclare Puppet module before ResourceApi [\#139](puppetlabs/puppet-resource_api#139) ([caseywilliams](https://github.com/caseywilliams))
- \(maint\) minor fix to make data\_type\_handling change work [\#138](puppetlabs/puppet-resource_api#138) ([DavidS](https://github.com/DavidS))
- \(maint\) extract data type handling code [\#137](puppetlabs/puppet-resource_api#137) ([bpietraga](https://github.com/bpietraga))
- Release prep for v1.6.2 [\#135](puppetlabs/puppet-resource_api#135) ([DavidS](https://github.com/DavidS))
jperkin pushed a commit that referenced this pull request May 3, 2020
pkgsrc changes:
 - Remove patches/patch-configure: applied uptsream
 - Convert the CHECK_PORTABILITY_SKIP to a REPLACE_BASH: it is more consistent
   with other REPLACE_BASHes (there are several files that are not installed
   then) and complaining about `==' test(1) operator in a bash script is
   not correct.

Changes:
1.27.4
------
- libcupsfilters, cups-browsed: Fix memory issues in
  ppdgenerator and cups-browsed (Pull request #226).
- pdftops: Mention cups-filters README, CUPS README in debug
  log (Pull request #225).
- pdftopdf, gstoraster, foomatic-rip: Use "-dSAFER"
  Ghostscript option, instead of the deprecated
  "-dPARANOIDSAFER" (Pull request #224).
- Build System: Replace '==' in configure.ac test with '=', as
  the former is a bashism (Pull request #222).

1.27.3
------
- cups-browsed: Allow sharing local queues pointing to remote
  CUPS queues and re-sharing printers discovered via
  BrowsePoll by default, using
  AllowResharingRemoteCUPSPrinters and
  NewBrowsePollQueuesShared directives in cups-browsed.conf
  (Issue #101, Pull request #218).
- driverless: Correctly unlink temporary file when generating
  PPD file (Pull request #220).
- cups-browsed: Fixed memory leaks (Pull request #219).
- foomatic-rip: PDF page count side-loads the PDF file to
  count the pages in, so it cannot be run in -dSAFER mode. Run
  even in -dNOSAFER mode to override the -dSAFER default of
  newer Ghostscript versions. This should not cause a security
  problem as we do not take an input file which could do
  arbitrary side-loads but we run hard-coded PostScript
  commands instead (Issue #216).
- libfontembed: Add checks to the test programs to not
  segfault if the test font file is not found (Pull request
  #214).
- Build System: Let ./configure fail if the supplied test font
  file path (or the default) does not exist (Pull request
  #214), also use the "find" command to find the test font
  file DejaVuSans.ttf under /usr/share/fonts, as every
  distribution has it somewhere else.

1.27.2
------
- foomatic-rip: In some PostScript input files it was possible
  that option settings did not get inserted or lines inserted
  on the wron place (Issue #208, Pull request #210).
- foomatic-rip: For the PDF page count call Ghostscript in
  sandbox mode and fix pointer arithmetics (Pull request
  #212).
- foomatic-rip: Zero-page-job handling changes made the last
  page of PostScript files not printed, also turning one-page
  jobs into zero-page jobs (Issue #200, Issue #206, Issue
  #208, Pull request #209, Pull request #210, Pull request
  #211).
- cups-browsed: check_printer_with_option() function:
  Initialize the value, add further checks, freeing memory and
  stop allocating magic numbers (Pull request #204).
- cups-browsed: Additional checks against crashes in the
  is_local_hostname() function (Ubuntu bug #1863716)

1.27.1
------
- libcupsfilters: Let the PPD generator not put any dashes
  into the PPD option and choice names when translating them
  from IPP attribute names, to avoid that on the
  back-translation by CUPS no double-dashes are
  generated. This broke paper tray selections with tray names
  like "tray-1", "tray-2", ... (Issue #192, Issue #201, Debian
  bug #949315).
- foomatic-rip: Fixed segfault when PRINTER environment
  variable is not supplied.
- pdftopdf, pdftops, gstoraster, gstopdf, gstopxl,
  rastertoescpx, rastertopclx, foomatic-rip: Handle zero-page
  jobs (Issue #117, Pull request #196, Pull request #197, Pull
  request #198, Pull request #200).
- texttopdf: Added support for CJK (double-width) fonts (Issue
  #135, Pull request #199).
- cups-browsed: Switched default for "CreateIPPPrinterQueues"
  from "local-only" to "All". The configure script options
  "--enable-auto-setup-local-only" and
  "--enable-auto-setup-driverless-only" can be used to change
  this default (Debian bug #921252).
- rastertoescpx: Fixed wrong freeing of a buffer.
- pdftops: Added options "crop-to-fit" and "fill" to the
  pdftopdf options which the pstops called by pdftops should
  not apply a second time.
- pdftops: Added missing "-sstdout=%stderr" to Ghostscript
  command line, to assure that all messages are redirected to
  stderr and do not mix up with the output data.

1.27.0
------
- cups-browsed: Eliminate the use of the local CUPS daemon's
  (the CUPS we are attached to) port number completely, so
  that for attaching to an arbitrary local CUPS daemon
  listening on an arbitrary port (or even not listening on
  localhost at all) it is enough to tell cups-browsed the
  domain socket the CUPS daemon is listening on.
- cups-browsed, libcupsfilters: Identify DNS-SD-reported
  printers as of the local CUPS daemon via UUID and not via
  the port on which the local CUPS is listening, as we do not
  always have this port available.
- cups-browsed: Leave the port for legacy CUPS browsing and
  broadcasting on 631, do not use a possible alternative port
  of the CUPS we are attached to. The legacy CUPS servers we
  communicate with are always remote ones.
- libcupsfilters: in the PPD generator prioritize
  print-color-mode-supported against
  pwg-raster-document-type-supported (Issue #186, Pull request
  #188)
- rastertopdf, rastertops, texttopdf, pdftoraster,
  mupdftoraster: Handle zero-page jobs, corrections on
  zero-page job handling (Issue #117)
- cups-browsed: When restarting after a crash make sure that
  local queue names have same upper/lower case as before.
- cups-browsed: Small code improvements to reduce crash
  probability.

1.26.2
------
- cups-browsed: Added crash guards to avoid crashes in case
  the dummy printer entry for a deleted master entry is used.
- cups-browsed: Set the port of the local CUPS daemon to be
  used according to the IPP_PORT environment variable.
- cups-browsed: Eliminated the use of the cupsGetPPD2()
  function of libcups completely, also the remaining calls
  in the record_printer_options() and update_cups_queues()
  functions, the former causing incomplete recording of
  option settings and the latter use of CUPS-generated
  PPDs not working when CUPS is running on a non-standard
  port.
- cups-browsed: Eliminated the use of the cupsGetPPD2()
  function of libcups in queue_overwritten(). The function
  actually loads the queue's PPD file if the queue is on a
  local CUPS on port 631. Due to a bug the function fails if
  an alternative port is used. This lets queue_overwritten()
  always assume that the PPD got removed and therefore the
  queue got overwritten. So queues got released from
  cups-browsed if it was printed on them or if they were
  supposed to be removed on shutdown.
- foomatic-rip: Fixed compilation with -fno-common. Starting
  from the upcoming GCC 10, the default of the -fcommon option
  will change to -fno-common. This causes compilation errors
  in foomatic-rip due to missing "external" declarations.
  (Pull request #184).
jperkin pushed a commit that referenced this pull request May 20, 2020
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------

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


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

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

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

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


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

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

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

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


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

Fix
~~~
- Docs and pep8.

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


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

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

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

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

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

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


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

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

Other
~~~~~
- Test with py38


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

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


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

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

Fix
~~~
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <[email protected]>


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

Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <[email protected]>

Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
  <[email protected]>
- Requirements.txt: pathlib is only needed for older python versions
  (#284) <[email protected]>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.


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

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

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

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

Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
  the issue #219] (#220) <[email protected]>


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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <[email protected]>
- Update pytest-runner to 3.0 (#108) <[email protected]>
- Update sphinx to 1.6.5 (#106) <[email protected]>
- Update flake8 to 3.5.0 (#107) <[email protected]>


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

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

Other
~~~~~
- Make the classic output span the actual width of the tty so you can
  see the actual path with a long file name. (#92) <[email protected]>


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

New
~~~
- Pypy and pypy3 support.

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

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


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

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

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


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

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

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

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

Other
~~~~~
- Moved to pytest, although unittest not yet purged.
jperkin pushed a commit that referenced this pull request Jun 19, 2020
Update ruby-loofah to 2.6.0.


2.6.0 / 2020-06-16

Features

* Allow CSS border-style keywords. [#188] (Thanks, @tarcisiozf!)
jperkin pushed a commit that referenced this pull request Jul 8, 2020
v1.4.1

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


v1.4.0

macOS Catalina compatibility, URL and email SANs, and more

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

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

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

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

The certificate subject now includes the full user name, like
[email protected] (Filippo Valsorda).

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

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

v1.3.0

New advanced options:

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

Also, in other news:

  • Add "Firefox Nightly.app" support on macOS
  • Set the CommonName when generating PKCS#12 files for IIS
jperkin pushed a commit that referenced this pull request Aug 19, 2020
- 2016.3.4: Version 2016.3.4 of pefile now runs under Python 2.7 and
  Python 3 in addition to addressing a few of the long standing issues.

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

- 2017.5.26: Maintenance release.

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

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

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

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

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

- 2019.4.18: This release incorporates the merged PRs and issues fixed
  since the last release.  These should speed up parsing of files with
  many ordinals or exports.
jperkin pushed a commit that referenced this pull request Sep 16, 2020
Update ruby-logging package to 2.3.0.


== 2.3.0 / 2020-07-04

Enhancements

- all appender output is now synchronized [PR #219]
- renamed the `LogEvent#method` to no longer conflict with `Kernel#method`
  [PR #218]
- @bhuga (not the Fortnite star) added a `raise_errors` method for debugging
  [PR #203]
- thanks to @olleolleolle for keeping on top of Travis and Ruby versions

Bug Fixes
- conosle appenders can be reopened [PR #220]
- fixed a race condition in the rolling file appender [PR #216]
- fixed a race condition when opening log file destinations [PR #208 #217]
- @MikaelSmith fixed a race condition in Logger creation [PR #201]
- documentation bug fixes [PR #184 #185 #188 #194 #209]
jperkin pushed a commit that referenced this pull request Dec 28, 2020
Change since 1.3.1 from RELEASE_NOTES

1.4.0           2018/06/??
        Add ARC support.  Extensive work contributed by ValiMail.
        Add "DomainWhitelist" and "DomainWhitelistFile" config options.
        Extract client IP address for ARC reports when provided via
                Authentication-Results.
        Update SQL schema to support new reporting functionality for DKIM
                selectors and ARC local policy overrides (refer to the example
                schema.mysql file).
        Add experimental support for reporting of ARC local policy overrides.
        Add support for recording and reporting of DKIM selectors.
        Override a DMARC "fail" if an ARC "pass" is recorded in conjunction with
                an ARC policy pass.
        Fix bug #137: Handle base64 inside AR tokens that are values.
                Problem reported by Joseph Coffland.
        LIBOPENDMARC: Fix bug #203: Reject DMARC records that have duplicate
                tags in them.  Reported by Dirk Stoecker.
        REPORTS: Feature request #146: Add option to pull input from a file.
        REPORTS: Fix bug #153: Suppress duplicate results from the same
                domain.  Patch from Tomki Camp.

1.3.2           2017/03/04
        Feature request #86: Change meaning of "RequiredHeaders" such that
                header validity is always checked, but messages are only
                rejected on that basis when the flag is set.  Based
                on a patch from Andreas Schulze.
        Feature request #127: Log SPF results when rejecting.  Requested
                by Patrick Wagner; patch from Andreas Schulze, follow-up
                patch from Juri Haberland.
        Feature request #138: Inculde policy and disposition information
                in an Authentication-Results comment.  Based on a patch
                from Juri Haberland.
        Feature request #139: Include the client host name if known
                in failure reports.  Suggested by Roland Turner;
                patch by Andreas Schulze.
        Fix bug #95: Assume IPv6 for SPF operations.  Patch from Juri Haberland.
        Fix bug #120: Fix control logic around the SPF result.
                Reported by Christophe Wolfhugel; patch from Andreas Schulze.
        Fix bug #122: Don't skip the HELO milter phase when SPF is enabled.
                Reported by Christophe Wolfhugel.
        Fix bug #157: Fix logging of implicit authserv-ids.  Reported
                by Andreas Schulze; patch from Juri Haberland.
        Fix bug #158: Log ignored connections.  Patch from Andreas Schulze.
        Fix bug #160: Fix "SyslogFacility" handling.  Patch from
                Juri Haberland.
        Fix bug #163: Use a larger buffer for the raw MAIL FROM value.
                Based on a patch from Andreas Schulze.
        Fix bug #174: Trim "!" suffixes from reporting addresses.  Problem
                noted by Juri Haberland.
        Fix bug #186: When reloading the configuration file, the public
                suffix list was read in with the wrong comment indicator.
                Patch from Federico Omoto.
        Fix bug #194: Fix inappropriate DMARC status when "p=none" is
                discovered.  Patch from Juri Haberland.
        Fix bug #195: When parsing Received-SPF, use the correct constants
                in the history file entries.  Patch from Juri Haberland.
        LIBOPENDMARC: Fix bug #115: Fix type mismatch.  Patch from
                Sebastian A. Siewior via Scott Kitterman.
        LIBOPENDMARC: Fix bug #121: Fix IPv6 CIDR matching in SPF code.
                Patch from Christophe Wolfhugel.
        LIBOPENDMARC: Fix bug #125: Compile time IPv6 fix.  Reported by
                Christophe Wolfhugel.
        LIBOPENDMARC: Fix bug #131: Fix alignment bug.  Patch from
                Andreas Schulze.
        LIBOPENDMARC: Fix bug #147: Fix stripping of whitespace from
                DMARC DNS records.  Based on a patch from Job Noorman.
        LIBOPENDMARC: Fix bug #149: Apply "sp" setting, if present and
                applicable.  Patch from Petr Novak.
        LIBOPENDMARC: Fix bug #154: Fix "rf" and "fo" processing logic.
        LIBOPENDMARC: Fix bug #156: Fix variable name.  Patch by
                Andreas Schulze.
        LIBOPENDMARC: Fix bug #165: Fix logic in checking which SPF
                identifier was used.  Patches from Marco Favero and
                Juri Haberland.
        LIBOPENDMARC: Fix bug #167: Don't return "fail" when we should
                return "none".  Patch from Marco Favero.
        REPORTS: Fix bug #134: Handle SMTP errors correctly.  Patch from
                Andreas Schulze.
        REPORTS: Fix bug #141: Set the HELO parameter correctly.
                Reported by Alan Smith; patch from Andreas Schulze.
        REPORTS: Fix bug #143: Fix logic in table truncation.
                Reported by Wayne Andersen; patch from Juri Haberland.
        REPORTS: Fix bug #162: Always report "sp" in aggregate reports.
                Patch from Juri Haberland.
        REPORTS: Fix bug #166: Fix report start/end time logic.
                Patch from Juri Haberland.
        REPORTS: Fix bug #188: Don't delete inputs too early in
                opendmarc-reports.  Patch from Juri Haberland.
        TOOLS: Fix bug #161: "Forensic" reports were renamed "Failure"
                reports.  Patch from Andreas Schulze.
        TOOLS: Fix bug #164: Handle IPv6 test addresses.  Reported by
                Andreas Schulze; patch from Juri Haberland.
        DOCS: Patch #189: Replace the DMARC RFC with an HTML page
                referencing the relevant specs, since Debian doesn't
                consider RFCs to be "free".  Patch from Scott Kitterman
                via Juri Haberland.
jperkin pushed a commit that referenced this pull request Feb 23, 2021
Changelog:
## [1.7.2](rime/librime@1.7.1...1.7.2) (2021-02-07)


### Bug Fixes

* **chord_composer:** should clear raw input after committing text ([79b34ab](rime/librime@79b34ab))



## [1.7.1](rime/librime@1.7.0...1.7.1) (2021-02-06)


### Bug Fixes

* **chord_composer:** press Return key to commit raw key sequence ([2b25861](rime/librime@2b25861))



# [1.7.0](rime/librime@1.6.1...1.7.0) (2021-01-17)


### Bug Fixes

* **chord_composer:** more safely handle the placeholder ZWSP ([025d9fb](rime/librime@025d9fb))
* **cmake:** use full paths defined by GNUInstallDirs ([bb8c263](rime/librime@bb8c263)), closes [#424](rime/librime#424)
* **opencc:** update submodule to fix [#425](rime/librime#425) ([3fa1571](rime/librime@3fa1571))
* **script_translator:** always_show_comments also applies to phrases ([440a97c](rime/librime@440a97c)), closes [#272](rime/librime#272) [#419](rime/librime#419)
* **table_translator:** index out of bound access in string ([ff7acdc](rime/librime@ff7acdc))


### Features

* **chareset_filter:** add CJK Compatibility Ideographs in is_extended_cjk() ([3cb1128](rime/librime@3cb1128)), closes [#305](rime/librime#305)
* **setup:** find and load external RIME plugins as shared libs [#431](rime/librime#431) ([b2abd09](rime/librime@b2abd09))



## [1.6.1](rime/librime@1.6.0...1.6.1) (2020-09-21)


### Bug Fixes

* **rime_api.cc:** dangling pointer returned from RimeGetSharedDataDir ([78abaa8](rime/librime@78abaa8))



# [1.6.0](rime/librime@1.5.3...1.6.0) (2020-09-20)


### Bug Fixes

* **ascii_composer:** do not comsume Shift key release ([debc2c0](rime/librime@debc2c0))
* **ascii_composer:** first read ascii_composer/good_old_caps_lock from schema config ([3fc56c4](rime/librime@3fc56c4))
* **chord_composer:** commit raw input with uppercase letters ([cc983d5](rime/librime@cc983d5))
* **CMakeLists.txt:** ensure paths in pkgconfig file are absolute ([0e96e51](rime/librime@0e96e51))
* **CMakeLists.txt:** would not use signals v1 due to a typo ([6662a28](rime/librime@6662a28)), closes [#225](rime/librime#225)
* **custom_settings:** accept "*.schema" as config id ([604da0b](rime/librime@604da0b))
* **dict:** issues with user db recovery ([0f3d0df](rime/librime@0f3d0df))
* **dict_compiler:** build prism with loaded syllabary when not rebuilding primary table ([93fe827](rime/librime@93fe827))
* **plugins/CMakeLists.txt:** avoid rime_library linking to itself via rime_plugins_deps ([fe744db](rime/librime@fe744db))
* **rime_api.cc:** check struct has member of non-pointer type ([090dfa4](rime/librime@090dfa4))
* **rime_api.cc:** using unchecked fields introduced an ABI breakage ([62bbead](rime/librime@62bbead)), closes [/github.com/rime/librime/pull/328#pullrequestreview-335125464](https://github.com//github.com/rime/librime/pull/328/issues/pullrequestreview-335125464)
* **rime_test:** set data directories to working directory using rime::SetupDeployer API ([7c08a90](rime/librime@7c08a90))
* **simplifier:** opencc::DictEntry::Values() type change in opencc 1.1.0 ([beae5b1](rime/librime@beae5b1)), closes [#367](rime/librime#367)
* **user_db:** pointer cast error caused by multiple inheritance ([2ed780b](rime/librime@2ed780b))
* use official emoji 12.0 data ([#304](rime/librime#304)) ([75a60dc](rime/librime@75a60dc))


### Features

* **api:** implement capnproto api ([873f648](rime/librime@873f648))
* **api:** include candidate labels in proto message ([aae7a0c](rime/librime@aae7a0c))
* **charset_filter:** support charset options with emoji ([#293](rime/librime#293)) ([943c95b](rime/librime@943c95b))
* **charset_filter:** support CJK Unified Ideographs Extension G ([#393](rime/librime#393)) ([0a1573d](rime/librime@0a1573d))
* **chord_composer:** support chording with Shift keys ([94cf479](rime/librime@94cf479))
* **chord_composer:** use Control, Alt, Shift to input chord ([f3a2ad0](rime/librime@f3a2ad0))
* **dictionary:** packs extends the dictionary with extra binary table files ([930074c](rime/librime@930074c))
* **key_binder:** bind key to a key sequence ([3b5dbf6](rime/librime@3b5dbf6)), closes [#301](rime/librime#301)
* **logging:** setup min log level, log dir and set file mode to log files ([90839b0](rime/librime@90839b0))
* **selector:** support 4 combinations of horizontal/vertical text orientation and stacked/linear candidate list layout ([c498f71](rime/librime@c498f71))
* **selector:** support vertical UI ([dbb35c6](rime/librime@dbb35c6))
* **switcher:** enable schema in cases where conditions are met ([217c72b](rime/librime@217c72b))
* **tools/rime_proto_console:** demo for proto api ([d88ef9f](rime/librime@d88ef9f))


### Performance Improvements

* **poet:** optimize for performance in making sentences (~40% faster) ([0853465](rime/librime@0853465))



## [1.5.3](rime/librime@1.5.2...1.5.3) (2019-06-22)


### Bug Fixes

* **cmake, xcode.mk:** find optional dependency icu, while building xcode/release-with-icu target  [skip appveyor] ([17a80f8](rime/librime@17a80f8))
* **single_char_filter:** broken in librime 1.5.2 ([6948a62](rime/librime@6948a62))


### Features

* **appveyor:** build variant "rime-with-plugins" for tagged commits  [skip travis] ([eef8c30](rime/librime@eef8c30))
* **travis-ci:** build variant "rime-with-plugins" for tagged commits  [skip appveyor] ([cf11c27](rime/librime@cf11c27))
* **travis-ci:** deploy artifacts for macOS to GitHub releases  [skip appveyor] ([3f03784](rime/librime@3f03784))



## [1.5.2](rime/librime@1.5.1...1.5.2) (2019-06-17)


### Bug Fixes

* **user_dictionary, contextual_translation:** fix user phrase quality; order contextual suggestions by type ([69d5c32](rime/librime@69d5c32))



## [1.5.1](rime/librime@1.5.0...1.5.1) (2019-06-16)


### Bug Fixes

* **user_dictionary:** make user phrases comparable in weight to system words ([982f69d](rime/librime@982f69d))



# [1.5.0](rime/librime@1.4.0...1.5.0) (2019-06-06)


### Bug Fixes

* **ci:** update build script ([84a1a1b](rime/librime@84a1a1b))
* **ci:** use submodules in AppVeyor CI build script ([7b515b4](rime/librime@7b515b4))
* **cmake:** libboost Windows XP compatibility fix ([#270](rime/librime#270)) ([fecfe39](rime/librime@fecfe39)), closes [rime/weasel#337](rime/weasel#337)
* **CMakeLists.txt:** install header files in all platforms ([821d563](rime/librime@821d563))
* **CMakeLists.txt:** set "-std=c++11" in CMAKE_CXX_FLAGS ([5d8a836](rime/librime@5d8a836))
* **config/plugins.h:** memory leak caused by non-virtual destructor ([316a659](rime/librime@316a659)), closes [#259](rime/librime#259)
* **deploy:** treat schema dependencies as optional; do not report errors if missing ([ff3d5e9](rime/librime@ff3d5e9))
* **engine:** schema doesn't match the one used by switcher ([e41bb63](rime/librime@e41bb63)), closes [#269](rime/librime#269)
* **rime_levers_api.h:** customize_bool() misused `bool` type ([42bacc5](rime/librime@42bacc5))
* **syllabifier:** enable_completion not working ([2714131](rime/librime@2714131)), closes [#343](rime/librime#343)
* **table_translator:** null pointer exception when dict entries are filtered ([77438a9](rime/librime@77438a9))
* **test:** compile error in unit test ([7076d9e](rime/librime@7076d9e))
* **travis-install.sh:** working directory ([97220ce](rime/librime@97220ce))


### Features

* **appveyor:** install RIME_PLUGINS  [skip travis] ([c7ce66f](rime/librime@c7ce66f))
* **CMakeList.txt:** add plugin build support ([#257](rime/librime#257)) ([dfa341b](rime/librime@dfa341b))
* **contextual_translation:** weight and re-order phrases by context ([2390da3](rime/librime@2390da3))
* **dict:** specify vocabulary db name in dict settings ([dcdc301](rime/librime@dcdc301))
* **grammar:** compare homophones/homographs in sentence ([9248a6b](rime/librime@9248a6b))
* **install-plugins.sh:** git-clone or update plugins ([70483b4](rime/librime@70483b4))
* **poet:** find best sentence candidates ([b3f4005](rime/librime@b3f4005))
* **rime_api:** get candidate list from index ([c587900](rime/librime@c587900))
* **translator:** contextual suggestions in partially selected sentence ([12a7501](rime/librime@12a7501))
* **translator:** look at preceding text when making sentence ([6ae34de](rime/librime@6ae34de))
* **travis-ci:** install plugins specified in envvar RIME_PLUGINS ([c857639](rime/librime@c857639))


### Performance Improvements

* **dictionary:** refactor DictEntryIterator and do partial sort ([0258c7f](rime/librime@0258c7f))


### BREAKING CHANGES

* **rime_levers_api.h:** in signature of C API function `customize_bool()`,
change type `bool` to `Bool` (alias of `int`).

Impact: the changed function is not in use by any first party code,
known to be in use by osfans/trime.



# [1.4.0](rime/librime@1.3.2...1.4.0) (2019-01-16)


### Bug Fixes

* **config:** user_config should not fall back to shared data ([68c8a34](rime/librime@68c8a34)), closes [#271](rime/librime#271)
* **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([5ad333d](rime/librime@5ad333d)), closes [#241](rime/librime#241)
* **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([f8e4ebf](rime/librime@f8e4ebf)), closes [#241](rime/librime#241)


### Features

* spelling correction ([#228](rime/librime#228)) ([ad3638a](rime/librime@ad3638a))
* **Dockerfile:** for build ([#246](rime/librime#246)) ([cafd0d5](rime/librime@cafd0d5))



## [1.3.2](rime/librime@1.3.1...1.3.2) (2018-11-12)


### Bug Fixes

* **CMakeLists.txt:** do not link binaries when building static library ([99573e3](rime/librime@99573e3))
* **CMakeLists.txt:** do not require boost::signals, which will be deprecated in Boost 1.69 ([8a9ef3b](rime/librime@8a9ef3b)), closes [#225](rime/librime#225)
* **config_compiler:** ambiguous operator overload with cmake option ENABLE_LOGGING=OFF ([b86b647](rime/librime@b86b647)), closes [#211](rime/librime#211)
* **config_compiler:** support creating list in-place by __patch and __merge ([0784eb0](rime/librime@0784eb0))
* **table_translator:** enable encoding uniquified commit history ([74e31bc](rime/librime@74e31bc))


### Features

* **language:** shared user dictionary per language (Closes [#184](rime/librime#184)) ([#214](rime/librime#214)) ([9f774e7](rime/librime@9f774e7))
* always_show_comments option ([#220](rime/librime#220)) ([19cea07](rime/librime@19cea07))



## [1.3.1](rime/librime@1.3.0...1.3.1) (2018-04-01)


### Bug Fixes

* **config_file_update:** clean up deprecated user copy ([#193](rime/librime#193)) ([8d8d2e6](rime/librime@8d8d2e6))
* **thirdparty/src/leveldb:** do not link to snappy library ([6f6056a](rime/librime@6f6056a))



# 1.3.0 (2018-03-09)


### Bug Fixes

* **CMakeLists.txt, build.bat:** install header files (public API) ([06c9e86](rime/librime@06c9e86))
* **config_compiler:** "/" mistaken as path separator in merged map key ([#192](rime/librime#192)) ([831ffba](rime/librime@831ffba)), closes [#190](rime/librime#190)
* **ConfigFileUpdate:** no need to create user build if shared build is up-to-date ([cafd5c4](rime/librime@cafd5c4))
* **SchemaUpdate:** read compiled schema from shared build if there is no user build ([45a04dd](rime/librime@45a04dd))
* **simplifier:** fix typo ([9e1114e](rime/librime@9e1114e)), closes [#183](rime/librime#183)
* **user_db:** unwanted implicit instantiation of UserDbFormat template ([3cbc9cb](rime/librime@3cbc9cb)), closes [#188](rime/librime#188)


### Chores

* **release tag:** deprecating tag name prefix 'rime-' in favor of semver 'X.Y.Z'


### BREAKING CHANGES

* **release tag:** After 1.3.0 release, we'll no longer be creating tags in the format 'rime-X.Y.Z'. Downstream packagers please change automated scripts accordingly.



## 1.2.10 (2018-02-21)


### Bug Fixes

* **config_compiler:** linking failure on blocking root node of a dependency resource ([ecf3397](rime/librime@ecf3397))
* table_translator not making sentence if table entry is hidden by charset filter. ([77eb12e](rime/librime@77eb12e))
* **appveyor.install.bat:** switch to a more stable download server for libboost ([bcc4d10](rime/librime@bcc4d10))
* **appveyor.yml:** archive header files ([c8b1e67](rime/librime@c8b1e67))
* **ascii_composer:** support key binding Shift+space in ascii mode ([7077389](rime/librime@7077389))
* **build.bat:** fix build errors with VS2015 build tools ([ec940c6](rime/librime@ec940c6))
* **calculus, recognizer:** memory leak due to unchecked regex error ([19ddc1e](rime/librime@19ddc1e)), closes [#171](rime/librime#171)
* **chord_composer:** allow editor to define BackSpace key behavior ([7f41f65](rime/librime@7f41f65))
* **chord_composer:** letters with modifier keys should not be committed by a following enter key ([aab5eb8](rime/librime@aab5eb8))
* **ci:** call cmake under /usr/local with sudo by passing $PATH environment variable ([a0e6d2f](rime/librime@a0e6d2f))
* **cmake:** fix build break for mingw ([939893c](rime/librime@939893c))
* **config:** auto save modified config data; fixes [#144](rime/librime#144) ([2736f4b](rime/librime@2736f4b))
* **config:** treat "@" as map key rather than list index ([a1df9c5](rime/librime@a1df9c5))
* **config_compiler:** duplicate PendingChild dependencies happen from multiple commands on the same node ([25c28f8](rime/librime@25c28f8))
* **config_compiler:** enforce dependency priorities ([69a6f3e](rime/librime@69a6f3e))
* **config_compiler:** null value should not overwrite a normal key in a merged tree ([4ecae44](rime/librime@4ecae44))
* **config_compiler:** template operator overload had compile error with NDK ([71817a0](rime/librime@71817a0))
* **config/build_info_plugin:** referenced but unavailable resources should also be recorded ([cd46f7a](rime/librime@cd46f7a))
* **ConfigFileUpdate:** should succeed if shared copy does not exist ([8a3e25c](rime/librime@8a3e25c))
* **custom_settings:** fall back to $shared_data_dir/build when loading config ([caf8ebb](rime/librime@caf8ebb))
* **custom_settings:** load built settings from $user_data_dir/build directory ([463dc09](rime/librime@463dc09))
* **deployment_tasks:** symbols.yaml is no longer a build target ([f920e4f](rime/librime@f920e4f))
* **dict_compiler:** prism should load compiled schema ([c2fd0cf](rime/librime@c2fd0cf)), closes [#176](rime/librime#176)
* **key_event:** KeySequence::repr() prefer unescaped punctuation characters ([aa43e5e](rime/librime@aa43e5e))
* **levers:** update deployment tasks for copy-free resource resolution ([1f86413](rime/librime@1f86413))
* **Makefile:** make install-debug; do return error code on mac ([1177142](rime/librime@1177142))
* **rime_api:** use user_config_open() to access user.yaml ([4e4a491](rime/librime@4e4a491))
* **rime_console:** not showing switcher's context ([632cf4b](rime/librime@632cf4b))
* **schema:** create a "schema" component that opens Config by schema_id ([555f990](rime/librime@555f990))
* **simplifier:** fix crash if no opencc file ([091cb9d](rime/librime@091cb9d))
* **simplifier:** tips option for show_in_comment simplifier ([e7bb757](rime/librime@e7bb757))
* **uniquifier:** half of the duplicate candidates remain after dedup [Closes [#114](rime/librime#114)] ([2ab76bc](rime/librime@2ab76bc))


### Features

* **build.bat:** customize build settings via environment variables ([#178](rime/librime#178)) ([1678b75](rime/librime@1678b75))
* **chord_composer:** accept escaped chording keys ([79a32b2](rime/librime@79a32b2))
* **chord_composer:** support chording with function keys ([48424d3](rime/librime@48424d3))
* **config:** add config compiler plugin that includes default:/menu into schema ([b51dda8](rime/librime@b51dda8))
* **config:** best effort resolution for circurlar dependencies ([2e52d54](rime/librime@2e52d54))
* **config:** build config files if source files changed ([0d79712](rime/librime@0d79712))
* **config:** config compiler plugins that port legacy features to the new YAML syntax ([a7d253e](rime/librime@a7d253e))
* **config:** config_builder saves output to $rime_user_dir/build/ ([e596155](rime/librime@e596155))
* **config:** references to optional config resources, ending with "?" ([14ec858](rime/librime@14ec858))
* **config:** save __build_info in compiled config ([45a7337](rime/librime@45a7337))
* **config:** separate out config_builder and user_config components ([9e9493b](rime/librime@9e9493b))
* **config:** support append and merge syntax ([04dcf42](rime/librime@04dcf42))
* **customizer:** disable saving patched config files ([88f5a0c](rime/librime@88f5a0c))
* **detect_modifications:** quick test based on last write time of files ([285fbcc](rime/librime@285fbcc))
* **dict:** no conditional compilation on arm ([85b945f](rime/librime@85b945f))
* **dict:** relocate binary files to $user_data_dir/build ([bc66a47](rime/librime@bc66a47))
* **dict:** use resource resolver to find dictionary files ([8ea08b3](rime/librime@8ea08b3))
* add property notifier ([fa7b5a5](rime/librime@fa7b5a5))
* **resource_resolver:** add class and unit test ([03ee8b4](rime/librime@03ee8b4))
* **resource_resolver:** fallback root path ([02151da](rime/librime@02151da))
* **translator:** add history_translator ([#115](rime/librime#115)) ([ae13354](rime/librime@ae13354))



## 1.2.9 (2014-12-14)

* **rime_api.h:** add `RIME_MODULE_LIST`, `RIME_REGISTER_MODULE_GROUP`.
* **Makefile:** add make targets `thirdparty/*` to build individual libraries.
* **legacy/src/legacy_module.cc:** plugin module `rime-legacy` for GPL code,
  providing component `legacy_userdb` for user dictionary upgrade.
* **src/setup.cc:** define module groups `"default"` and `"deployer"`, to avoid
	naming a list of built-bin modules in `RimeTraits::modules`.
* **test/table_test.cc:** fix random segment faults when run shuffled.
* **thirdparty/src/leveldb:** new dependency LevelDB, replacing Kyoto Cabinet.
* **dict/level_db:** userdb implementation based on LevelDB, replacing treeDb.
* **dict/tree_db:** moved to `legacy/src/`.
* **dict/user_db:** refactored and modularized to ease adding implementations.
* **gear/cjk_minifier:** support CJK Extension E.
* **gear/memory:** save cached phrases as soon as the next composition begins.
* **gear/recognizer:** match space iff set `recognizer/use_space: true`.
* **gear/simplifier:** catch and log OpenCC exceptions when loading.
* **gear/single_char_filter:** bring single character candidates to the front.
* **gear/simplifier:** adapt to OpenCC 1.0 API.
* **thirdparty/src/opencc:** update OpenCC to v1.0.2 (incompatible with v0.4).
* **lever/deployment_tasks:** update and rename task `user_dict_upgrade`.



## 1.2 (2014-07-15)

* **rime_api:** add API functions to access complex structures in config;
  add API to get the raw input and cursor position, or to select a candidate.
* **config:** support references to list elements in key paths.
  eg. `schema_list/@0/schema` is the id of the first schema in schema list.
* **switcher:** enable folding IME options in the switcher menu.
* **dict_compiler:** also detect changes in essay when updating a dictionary;
  support updating prism without the source file of the dictionary.
* **preset_vocabulary:** load `essay.txt` instead of `essay.kct`.
* **reverse_lookup_dictionary:** adopt a new file format with 50% space saving.
* **table:** add support for a new binary format with 20% space saving;
  fix alignment on ARM.
* **ascii_composer:** do not toggle IME states when long pressing `Shift` key;
  support discarding unfinished input when switching to ASCII mode.
* **affix_segmentor:** fix issues with selecting a partial-match candidate.
* **chord_composer:** commit raw input composed with original key strokes.
* **cjk_minifier:** a filter to hide characters in CJK extension set, works
  with `script_translator`.
* **navigator:** do not use `BackSpace` to revert selecting a candidate but to
  edit the input after moving the cursor left or right.
* **punctuator:** support `ascii_punct` option for switching between Chinese and
  Western (ASCII) punctuations.
* **speller:** auto-select candidates by pattern matching against the code;
  fix issues to cooperate with punctuator.
* **CMakeLists.txt:** add options `ENABLE_LOGGING` and `BOOST_USE_CXX11`;
  introduce a new dependency: `libmarisa`.
* **cmake/FindYamlCpp.cmake:** check the availability of the new (v0.5) API.
* **sample:** the directory containing a sample plug-in module.
* **tools/rime_patch.cc:** a command line tool to create patches.
* **thirdparty:** include source code of third-party libraries to ease
  building librime on Windows and Mac.



## 1.1 (2013-12-26)

* **new build dependency:** compiler with C++11 support.
  tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013).
* **encoder:** disable warnings for phrase encode failures in log output;
  limit the number of results in encoding a phrase with multiple solutions.
* **punctuator:** fixed a bug in matching nested "pairs of 'symbols'".
* **speller:** better support for auto-committing, allowing users of table
  based input schema to omit explicitly selecting candidates in many cases.
* **schema_list_translator:** option for static schema list order.
* **table_translator:** fixed the range of CJK-D in charset filter.
jperkin pushed a commit that referenced this pull request Feb 23, 2021
Changelog:
What's New in libchewing 0.5.1 (May 18, 2016)
---------------------------------------------------------
* Bug fixed:
  - Fix wrong CHEWING_DATADIR definition in CMake build #222.
  - Fix j, k selection when symbol in between #149 #221.


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

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

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

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

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

* Successful stories:
  - Rime Input Method Engine (RIME) takes partial dictionary from
    libchewing.
  - PIME (writing input methods for Windows easily with Python) supports
    Chewing IM by default.
jperkin pushed a commit that referenced this pull request Jun 15, 2021
htmltools 0.5.1.1
--------------------------------------------------------------------------------

* Added shiny as a suggested package.


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

## New Features & Improvements

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

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

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

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

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

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

## Breaking Changes

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

## Bug fixes

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Stopped extra carriage returns from being inserted by `save_html` on Windows.
  (#137)
jperkin pushed a commit that referenced this pull request Nov 15, 2021
2.5.1 (20 October 2021)

* Restores support for namespaces that are not hashable. For example
  namespaces that override the hash method with a different arity as shown
  in #188.

2.5.0 (20 October 2021)

Breaking changes

* Requires Ruby 2.5.
* Deletes the long time deprecated preload API. Instead of:

	loader.preload("app/models/user.rb")

  just reference the constant on setup:

	loader.on_setup { User }

  If you want to eager load a namespace, use the constants API:

	loader.on_setup do
	  Admin.constants(false).each { |cname| Admin.const_get(cname) }
	end

Bug fixes

* Fixes a bug in which a certain valid combination of overlapping trees
  managed by different loaders and ignored directories was mistakenly
  reported as having conflicting directories.
* Detects external namespaces defined with Module#autoload. If your project
  reopens a 3rd party namespace, Zeitwerk already detected it and did not
  consider the namespace to be managed by the loader (automatically
  descends, ignored for reloads, etc.). However, the loader did not do that
  if the namespace had only an autoload in the 3rd party code yet to be
  executed. Now it does.

Callbacks

* Implements Zeitwerk::Loader#on_setup, which allows you to configure blocks
  of code to be executed on setup and on each reload. When the callback is
  fired, the loader is ready, you can refer to project constants in the
  block.
  See the documentation for further details.

* There is a new catch-all Zeitwerk::Loader#on_load that takes no argument
  and is triggered for all loaded objects:

	loader.on_load do |cpath, value, abspath|
	  # ...
	end

  Please, remember that if you want to trace the activity of a loader,
  Zeitwerk::Loader#log! logs plenty of information.
  See the documentation for further details.

* The block of the existing Zeitwerk::Loader#on_load receives also the value
  stored in the constant, and the absolute path to its corresponding file or
  directory:

	loader.on_load("Service::NotificationsGateway") do |klass, abspath|
	  # ...
	end

  Remember that blocks can be defined to take less arguments than passed. So
  this change is backwards compatible. If you had

	loader.on_load("Service::NotificationsGateway") do
	  Service::NotificationsGateway.endpoint = ...
	end

  That works.

* Implements Zeitwerk::Loader#on_unload, which allows you to configure
  blocks of code to be executed before a certain class or module gets
  unloaded:

	loader.on_unload("Country") do |klass, _abspath|
	  klass.clear_cache
	end

  These callbacks are invoked during unloading, which happens in an
  unspecified order. Therefore, they should not refer to reloadable
  constants.

  You can also be called for all unloaded objects:

	loader.on_unload do |cpath, value, abspath|
	  # ...
	end

  Please, remember that if you want to trace the activity of a loader,
  Zeitwerk::Loader#log! logs plenty of information.
  See the documentation for further details.

Assorted

* Performance improvements.
* Documentation improvements.
* The method Zeitwerk::Loader#eager_load accepts a force flag:

	loader.eager_load(force: true)

* If passed, eager load exclusions configured with do_not_eager_load are not
  honoured (but ignored files and directories are).
* This may be handy for test suites that eager load in order to ensure all
  files define the expected constant.
* Eliminates internal use of File.realpath. One visible consequence is that
  in logs root dirs are shown as configured if they contain symlinks.
* When an autoloaded file does not define the expected constant, Ruby clears
  state differently starting with Ruby 3.1. Unloading has been revised to be
  compatible with both behaviours.
* Logging prints a few new traces.
jperkin pushed a commit that referenced this pull request Apr 26, 2022
Change log:

4.16.4 (2022-04-16)
======
- Update copyright year and standardize formatting
- Update and sort author list by name
- panel: Fix regression "intellihide does not hide when leaving slowly" (#388)
- panel: Fix regression "'Span Monitor' has no effect" (#405)
- panel: Keep a reference on item during drag and drop
- Fix `core.UndefinedBinaryOperatorResult` warning from `scan-build` (#142)
- panel: Fix broken drag and drop between panels (#561)
- panel: Disconnect from screen signals when window is destroyed
- systray: Do not connect to proxy signal if async method failed
- panel: Mitigate a memory leak when removing items (!46)
- windowmenu: Emit "deactivate" signal when hiding the menu (#22, !68)
- systray: Fix wrong sanity check
- systray: Properly initialize systray item
- systray: Trust the status to update the attention icon (#392, !64)
- Fixed some window buttons not appearing in the panel (#188, !66)
- launcher: Only activate under mouse (Fixes #519)
- libxfce4panel: Review memory management for context menu (#452, !46)
- actions: Block panel autohide (Fixes #431, !62)
- launcher: Clear action menu when destroyed (Fixes #540, !61)
- Translation Updates:
  Arabic, Armenian (Armenia), Catalan, Malay, Occitan (post 1500),
  Polish, Romanian, Russian, Slovenian, Spanish, Swedish, Thai
jperkin pushed a commit that referenced this pull request 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 pull request Jul 4, 2022
2022-06-18 meld 3.21.2
======================

  Features:

   * Folder comparison now supports compare differently-named files across
     panes, by marking files for comparison (Helly Guo)
   * Synchronization points are now significantly easier to use and more
     robust, and have new user documentation (Roberto Vidal)
   * Added option to ignore Unicode normalisation form differences when
     comparing paths (Dan B)
   * The files or folders being compared can now be swapped in two pane mode,
     using the new View -> Swap left and right panes menu item (Helly Guo)
   * Folder comparisons now show a "(scanning...)" indication in tree view
     rows as an additional visual cue that the comparison is still running
     (Kai Willadsen)
   * Folder comparisons have a new optional ISO-format time column (Kai
     Willadsen)

  Fixes:

   * Update icon usage to support stock icon removal from new Adwaita versions
     (Jan Tojnar)
   * Build fix for Meson 0.61.0 (Silvio Fricke)
   * The new pathlabel widgets now support user-provided custom labels (Kai
     Willadsen)
   * Fix file selectors in folder comparisons to always open in the current
     folder (Kai Willadsen)
   * Using a custom save path (i.e., the --output flag) now sets a buffer as
     modified, so that unchanged merges can be saved (Kai Willadsen)
   * Comparing new or deleted rows in folder comparison now opens a two-pane
     file comparisons for consistency (Kai Willadsen)
   * Destructive dialog actions now have appropriate styling (Kai Willadsen)
   * Invalid user settings for folder comparison columns are now handled more
     gracefully (Kai Willadsen)
   * The nightly flatpak build now includes Git to make version control
     comparisons somewhat functional (Kai Willadsen)
   * Issues fixed: #11, #85, #188, #319, #381, #475, #492, #581, #620, #638,
     #645, #660, #662, #672
jperkin pushed a commit that referenced this pull request Jul 24, 2022
## Version 4.9 - release 2022-07-20

- Remove debug logging from `rsa/key.py`
  ([#194](sybrenstuvel/python-rsa#194)).
- Remove overlapping slots in `PrivateKey` and `PublicKey`.
  ([#189](sybrenstuvel/python-rsa#189)).
- Do not include CHANGELOG/LICENSE/README.md in wheel
  ([#191](sybrenstuvel/python-rsa#191)).
- Fixed Key Generation Unittest: Public and Private keys are assigned the wrong way around
  ([#188](sybrenstuvel/python-rsa#188)).
jperkin pushed a commit that referenced this pull request Aug 30, 2022
Change log:

4.16.1 (2022-08-20)
======
- Resolve deadlock on background change (Issue #188)
- Allocate memory after error processing
- Remove unused function call (Issue #157)
- autoconf: Remove AC_HEADER_STDC
- Do not delete property not set
- Set a pixmap XID, not the XID of the root window (#62)
- Fix next background (!16)
- build: Fix intltool lock file problem during make distcheck
- Increase opacity of xfce-verticals bg (Fixes #125)
- Fix Applications Menu memory leak (Bug #102)
- Fix gettext extraction from settings/xfce-backdrop-settings.desktop.in.in
- Translation Updates:
  Albanian, Amharic, Arabic, Armenian (Armenia), Asturian, Azerbaijani,
  Basque, Belarusian, Belarusian (Tarask), Bulgarian, Catalan, Chinese
  (China), Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech,
  Danish, Dutch, Eastern Armenian, English (Australia), English
  (Canada), English (United Kingdom), Estonian, Finnish, French,
  Galician, Georgian, German, Greek, Hebrew, Hungarian, Icelandic,
  Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean,
  Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan
  (post 1500), Persian (Iran), Polish, Portuguese, Portuguese (Brazil),
  Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish,
  Thai, Turkish, Ukrainian, Uyghur, Uzbek
jperkin pushed a commit that referenced this pull request Sep 17, 2022
Switch to building using meson.

2022-09-04 meld 3.22.0
======================

  Fixes:

   * Fix text filter changes on existing comparisons (Kai Willadsen)
   * Build fixes (Kai Willadsen)
   * Documentation updates (Kai Willadsen)

2022-08-14 meld 3.21.3
======================

  Features:

   * Add shortcut for open externally action (Kai Willadsen)
   * Add improved tooltips for tab labels (Kai Willadsen)

  Fixes:

   * Move horizontal-icon menu section to regular menu items (Kai Willadsen)
   * Fix chunk navigation actions sometimes not working after chunk push/pull
     actions (Kai Willadsen)
   * Show more parent context in path label display (Kai Willadsen)
   * Update meson build to strip env from shebang line (Kai Willadsen)
   * Fix left-click chunk actions under certain window managers (Dmytro Bagrii)
   * Fix version control showing console windows on Windows (Kai Willadsen)
   * Fix path label display for very long filenames (Kai Willadsen)
   * CI fixes (Bartłomiej Piotrowski, Kai Willadsen)
   * Issues fixed: #141, #496, #646, #658, #682, #692, #694, #697

2022-06-18 meld 3.21.2
======================

  Features:

   * Folder comparison now supports compare differently-named files across
     panes, by marking files for comparison (Helly Guo)
   * Synchronization points are now significantly easier to use and more
     robust, and have new user documentation (Roberto Vidal)
   * Added option to ignore Unicode normalisation form differences when
     comparing paths (Dan B)
   * The files or folders being compared can now be swapped in two pane mode,
     using the new View -> Swap left and right panes menu item (Helly Guo)
   * Folder comparisons now show a "(scanning...)" indication in tree view
     rows as an additional visual cue that the comparison is still running
     (Kai Willadsen)
   * Folder comparisons have a new optional ISO-format time column (Kai
     Willadsen)

  Fixes:

   * Update icon usage to support stock icon removal from new Adwaita versions
     (Jan Tojnar)
   * Build fix for Meson 0.61.0 (Silvio Fricke)
   * The new pathlabel widgets now support user-provided custom labels (Kai
     Willadsen)
   * Fix file selectors in folder comparisons to always open in the current
     folder (Kai Willadsen)
   * Using a custom save path (i.e., the --output flag) now sets a buffer as
     modified, so that unchanged merges can be saved (Kai Willadsen)
   * Comparing new or deleted rows in folder comparison now opens a two-pane
     file comparisons for consistency (Kai Willadsen)
   * Destructive dialog actions now have appropriate styling (Kai Willadsen)
   * Invalid user settings for folder comparison columns are now handled more
     gracefully (Kai Willadsen)
   * The nightly flatpak build now includes Git to make version control
     comparisons somewhat functional (Kai Willadsen)
   * Issues fixed: #11, #85, #188, #319, #381, #475, #492, #581, #620, #638,
     #645, #660, #662, #672

2022-01-07 meld 3.21.1
======================

  UI changes:

   * A new custom per-pane location display widget replaces the standard GTK+
     file chooser button and our existing placeholder path display, including
     actions for opening containing folder and copying file paths (Kai
     Willadsen)
   * Version control comparison has had its action bar modernised in line with
     file and folder comparison (Kai Willadsen)


  Features:

   * The find bar now remembers the previous search across panes (Jack)
   * We show a warning to the user if they're trying to compare a file or
     folder to itself (Jack)
   * Meld no longer uses custom file chooser dialogs, improving portability
     and flatpak behaviour (Mario Aichinger)
   * Two pane comparisons now allow Alt+Right/Left to work in either pane
     (Anatoli Babenia)
   * Certain header bar actions (e.g., conflict navigation, filters) are now
     only shown in their appropriate comparison types (Kai Willadsen)
   * The application title no longer includes the per-comparison label (Kai
     Willadsen)
   * Add a preference for GTK's dark theme support (Kai Willadsen)
   * Retain clipboard contents after exiting Meld (Kai Willadsen)


  Fixes:

   * Fix incorrect detection of FUSE directory comparisons as remote (mscdex)
   * Fix "Open Externally" on Windows for paths with spaces (adam0antium)
   * Fix syntax highlighting in version control by using the correct file
     extension (Alan Suran)
   * Move application icons into the resource bundle (Vasily Galkin)
   * Improved error reporting for invalid change actions (Anatoli Babenia)
   * Fix too-large minimum window size from status bar buttons (Kai Willadsen)
   * Fix Subversion comparsion on Python 3.9 (Kai Willadsen)
   * Fix bad translation source strings with multiple arguments (Kai Willadsen)
   * Fix performance regression in file comparison line splitting logic (Kai
     Willadsen)
   * Fix folder comparison sensitivity breaking when cancelling a scan (Kai
     Willadsen)
   * Fix occasional traceback when closing comparisons (Kai Willadsen)
   * Fix orphaned comparison helper process when quitting (Kai Willadsen)
   * Minor UI fixes:
     * Fix About dialog URL (TotalCaesar659)
     * Update About dialog copyright (Kai Willadsen)
     * The new comparison page now better distinguishes the "Compare" and
       "Blank Comparison" actions (Kai Willadsen)
     * The comparison overview map is now more responsive when dragging (Kai
       Willadsen)
     * The find bar now waits briefly before searching to improve
       responsiveness (Kai Willadsen)
     * The find bar no longer hides when it loses focus (Kai Willadsen)
     * Allow preferences dialog to be resized (Kai Willadsen)
     * Main menu can now be activated with F10
     * Find next/previous can now be activated with F3/Shift+F3 (Kai Willadsen)
   * Windows fixes:
     * Add a MeldConsole.exe executable for running Meld from the console (Kai
       Willadsen)
     * Update Windows build to force all-users installation (Kai Willadsen)
     * Improve default monospace font on Windows (Kai Willadsen)
     * Fix empty line height and fallback fonts by changing the Pango font
       backend to fontconfig on Windows (Kai Willadsen)
     * Add Meld's install directory to the Windows PATH (Kai Willadsen)
     * Add a basic GTK settings.ini for Windows builds (Kai Willadsen)
     * Add the Meld icon to the Windows add/remove programs UI (Kai Willadsen)
     * Fix file comparison holding a directory handle after close (Kai
       Willadsen)
   * Issues fixed: 25, 91, 143, 354, 433, 445, 453, 459, 477, 482, 488, 491,
     499, 502, 526, 530, 539, 541, 557, 561, 564, 565, 571, 579, 590, 603


  Internal changes:

   * Modernise and improve the new Meson build rules (Iñigo Martínez)
   * CI + build improvements (Jason Edson, Jordan Petridis, Vasily Galkin, Kai
     Willadsen)
   * Nightly Meld builds now use the standard nightly icon styling (Kai
     Willadsen)
   * Clarify licensing in appdata (Kai Willadsen)
   * Windows build fixes (Kai Willadsen)
   * Add documentation on hosting infrastructure (Kai Willadsen)


2020-04-19 meld 3.21.0
======================

  UI changes:

   * Move to a modern GTK headerbar-based design, including:
     * More extensive action support in the header bar
     * New comparison overview map widget that provides a clearer overview for
       multiple panes at once, and allows for more natural scrollbar
       positioning (Kai Willadsen)
     * Text, filename and version filters are now all accessible from the
       toolbar (Kai Willadsen)
     * Refreshed find bar that more closely matches other applications (Kai
       Willadsen)
     * Remove application menu in line with Initiatives#4 (Kai Willadsen)
     * New recent comparison selection widget (Kai Willadsen)
     * Change tab style to be full-width and hidden for single tab windows (Kai
       Willadsen)
   * Make file comparison change navigation more intuitive by changing how it
     decides where to scroll from (Heikki Ketoharju)
   * Completely refreshed Meld application icon (Alex Monday)
   * File comparison now has overscroll at the bottom of file comparisons,
     making it easier to see end-of-file differences and improving scroll
     syncing (Kai Willadsen)
   * Text wrapping, whitespace, line numbers and line highlight can now all be
     toggled from the file comparison status bar (Kai Willadsen)


  Features:

   * Add support for CVS in version control comparisons (gitqlt)
   * Copy selected file paths in folder comparison (WenGuoyao)
   * Improve dark theme detection so custom Meld highlighting better matches
     the user's theme (Kai Willadsen)
   * Meld's built-in GtkSourceView schemes now support syntax highlighting
     (Kai Willadsen)
   * Moving past the first or last change using our change navigation now
     alerts with the standard error bell (Kai Willadsen)
   * Support nightly Flatpak builds of Meld using GNOME's CI (Kai Willadsen)
   * Support development using GNOME Builder's workflow


  Fixes:

   * CI and build system fixes (Michael Behrisch, Frank Dana, Piotr Drąg, Vasily Galkin)
   * Fix running uninstalled from non-project-base folder (Vasily Galkin)
   * Fix file comparison closing after file save (Vasily Galkin)
   * Fix file comparison handling of certain line breaks (Kai Willadsen)
   * Fix folder comparison display of large file sizes (andre)
   * Fix folder comparisons with pre-epoch timestamps (Kai Willadsen)
   * Fix folder comparisons not handling ignore blank lines + text filters (Kai
     Willadsen)
   * Handle file deletion better on NFS mounts (Kai Willadsen)
   * Fix handling of bad filter regular expressions (Kai Willadsen)
   * Fix push action on missing changes in three way comparison (Kai Willadsen)
   * Default file chooser encoding to autodetect (Kai Willadsen)
   * Minor UI fixes:
     * Statusbar now correctly sets default encoding & file type for empty
       files (Kai Willadsen)
     * Statusbar tries to keep a constant width for the cursor label (Kai
       Willadsen)
     * Folder comparisons set sensitivity correctly for empty rows (Kai
       Willadsen)
     * Give commit dialog message area a reasonable height (Kai Willadsen)
     * Fix long file name wrapping in info bar notifications (Kai Willadsen)
     * Fix long file name ellipsization in file comparisons (Kai Willadsen)
   * Windows fixes:
     * Fix crash when started with unexpected environment (Vasily Galkin)
     * Fix dbus support for single-instance behaviour (Vasily Galkin)
     * Fix internationalisation building from source (ThunderEX)
     * Fix SVG icon display (Kai Willadsen)
     * Support logging to a file on Windows for debugging (Kai Willadsen)
     * Default file encoding to UTF-8 to avoid Windows-specific locale issues
       (Kai Willadsen)
   * Typo fixes (luzpaz)
   * Localisation fixes (Piotr Drąg)


  Internal changes:

   * Add Meson build system support; setuptools is still supported for Windows
     and Mac OS builds, but Linux distributions should switch to building with
     Meson (Bilal Elmoussaoui, Kai Willadsen)
   * Move from GtkUIManager to GAction-based actions
   * Move all UI-file-constructed widgets from custom Python wrapper classes
     to using real GtkWidget templates
   * Move UI templates, menus, custom icons and CSS to be resource-loaded
   * Move to pre-commit using flake8 and isort for CI linting
   * Move to new GtkSourceView 4 API
   * Modernised Python GObject API usage, including signal and property usage
   * Fix some deprecated GTK API usage
   * Support Python 3.8
   * Updated dependencies:
     * Python 3.6
     * GTK+ 3.20
     * GLib 2.48
     * GtkSourceView 4.0
     * pygobject 3.30
     * pycairo 1.15

   * Issues fixed: 62, 78, 119, 170, 240, 265, 265, 267, 279, 290, 313, 314,
     316, 321, 322, 337, 341, 342, 344, 344, 350, 351, 359, 419, 432, 439, 442,
     451
jperkin pushed a commit that referenced this pull request Sep 17, 2022
Patches privately shared by <pin> and RVP, thanks!

Changes:
608
---
* Add the --header option (github #43).
* Add the --no-number-headers option (github #178).
* Add the --status-line option.
* Add the --redraw-on-quit option (github #36).
* Add the --search-options option (github #213).
* Add the --exit-follow-on-close option (github #244).
* Add 'H' color type to set color of header lines.
* Add #version conditional to lesskey.
* Add += syntax to variable section in lesskey files.
* Allow option name in -- command to end with '=' in addition to '\n'.
* Add $HOME/.config to possible locations of lesskey file (github #153).
* Add $XDG_STATE_HOME and $HOME/.local/state to possible locations
  of history file (github #223).
* Don't read or write history file in secure mode (github #201).
* Fix display of multibyte and double-width chars in prompt.
* Fix ESC-BACKSPACE command when BACKSPACE key does not send 0x08
  (github #188).
* Add more \k codes to lesskey format.
* Fix bug when empty file is modified while viewing it.
* Fix bug when parsing a malformed lesskey file (githb #234).
* Fix bug scrolling history when --incsearch is set (github #214).
* Fix buffer overflow when invoking lessecho with more than 63 -m/-n
  options (github #198).
* Fix buffer overflow in bin_file (github #271).
* Fix bug restoring color at end of highlighted text.
* Fix bug in parsing lesskey file.
* Defer moving cursor to lower left in some more cases.
* Suppress TAB filename expansion in some cases where it doesn't make sense.
* Fix termlib detection when compiler doesn't accept
  calls to undeclared functions.
* Fix bug in input of non-ASCII characters on Windows (github #247)
* Escape filenames when invoking LESSCLOSE.
* Fix bug using multibyte UTF-8 char in search string
  with --incsearch (github #273).

590
---
* Make less able to read lesskey source files (deprecating lesskey).
* If XDG_CONFIG_HOME is set, find lesskey source file
  in $XDG_CONFIG_HOME/lesskey rather than $HOME/.lesskey.
* If XDG_DATA_HOME is set, find and store history file
  in $XDG_DATA_HOME/lesshst rather than $HOME/.lesshst.
* Add the --lesskey-src option.
* Add the --file-size option.
* With -F, if screen is resized to make file fit on one screen, don't exit.
* Fix bug which could leave terminal in mouse-reporting mode
  after exiting less.
* Fix bug which caused failure to respond to window resize.
* Fix backslash bug searching in tag file.

581
---
* Change ESC-u command to toggle, not disable, highlighting per man page.
* Add ESC-U command.
* Add ctrl-W search modifier for wrapping search.
* F command can be interrupted by ^X.
* Support OSC 8 hyperlinks when -R is in effect.
* g command with no number will ignore -j and put first line at top of screen.
* Multiple + or -p command line options are handled better.
* Add the --incsearch option.
* Add the --line-num-width option.
* Add the --status-col-width option.
* Add the --use-color and --color options.
* Display -w highlight even if highlighted line is empty.
* If search result is in a long line, scroll to ensure it is visible.
* Editing the same file under different names now creates only
  one entry in the file list.
* Make visual bell more visible on some terminals.
* Ring end-of-file bell no more than once per second.
* Build can use either Python or Perl for Makefile.aut operations.
* Fix crash when using the @ search modifier.
* Fix crash in the 's' command due to duplicate free.
* Fix realpath crash on Darwin.
jperkin pushed a commit that referenced this pull request Dec 6, 2022
2.3.0 (2022-12-03)

What's Changed

* Convert tests to sus. by @ioquatix in #188
* Use a linked list for the barrier implementation. by @ioquatix in #192
* Add a concurrency primitive for waiting for a specific number of tasks to
  complete. by @ioquatix in #189
* Better support for Fiber.set_scheduler. by @ioquatix in #194
* Rename Async::LimitedBarrier to Async::Waiter based on feedback. by
  @ioquatix in #196
* Relax io-event dependency. by @ioquatix in #200
* Implement semaphore using linked list. by @ioquatix in #203
jperkin pushed a commit that referenced this pull request Feb 10, 2023
Fixes GitHub issue #188

Patch from upstream
jperkin pushed a commit that referenced this pull request Feb 20, 2023
CHANGES

 * Fix Python version detection which would fail in some cases (thanks K)
 * Fix toot --help not working (thanks Norman Walsh)
 * TUI: Add option to save status JSON data from source window (thanks
   Dan Schwarz)
 * TUI: Add `--relative-datetimes` option to show relative datetimes
   (thanks Dan Schwarz)
 * TUI: Don't focus newly created post (#188, thanks Dan Schwarz)
 * TUI: Add ability to scroll long status messages (#166, thanks Dan
   Schwarz)
 * TUI: Add action to view account details (thanks Dan Schwarz)
jperkin pushed a commit that referenced this pull request Mar 2, 2023
Changes in 2.2.8
================
* NEW: asip-status.pl: IPv6 support; show GSS-UAM SPNEGO blob;
       improved layout of output. (3.1 backport)
* NEW: apple_dump: support for EA meta data. (3.1 backport)
* NEW: Import netatalk-doc into the main repo, and overhaul
       scripts, man pages and html manual sources.
* UPD: Display the Netatalk Daemon icon with the '-icon' afpd.conf
       option for all platforms. GH #214
* UPD: Remove OpenSSL 1.0 backwards compatibility header.
       Please use OpenSSL 1.1 or later.
* UPD: configure: Enable DDP, timelord, and a2boot by default. GH #215
* UPD: configure: Disable Quota by default. GH #198
* FIX: afpd: Create tmp files in /tmp rather than / and clean up
       after use. Regression in 2.2.7. GH #188
* FIX: Provide MNTTYPE_NFS for Solaris descendents to enable
       compiling with Quota. GH #117
* FIX: afpd: reading from file may fail. SF Bug #619 (3.1 backport)
* FIX: timelord: Fall back to timezone when tm_gmtoff is unavailable.
       Makes it work on Solaris descendents. GH #194
* FIX: fix largefile-check macro for largefile with clang 16.
* FIX: Typo fixes in user facing strings.
jperkin pushed a commit that referenced this pull request Mar 12, 2023
# rgl 1.0.1

## Major changes

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

## Minor changes

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

# rgl 0.111.6

## Minor changes

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

## Bug fixes

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

# rgl 0.110.2

## Major changes

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

## Minor changes

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

## Bug fixes

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

# rgl  0.109.6

## Minor changes

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

## Bug fixes

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

# rgl  0.109.2

## Major changes

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

## Minor changes

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

## Bug fixes

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


# rgl  0.108.3.2

## Bug fixes

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

# rgl  0.108.3

## Major changes

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

## Minor changes

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

## Bug fixes

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

## v3.3.0

#### Fixes:

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

#### Additions:

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

#### Removals:

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

#### Build system:

-   re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy)
-   increased the minimum required meson version to `0.61.0`
jperkin pushed a commit that referenced this pull request May 21, 2023
v0.19.1
What's Changed
 - Bump h2 from 0.3.16 to 0.3.17 by @dependabot in #188
 - Fix handling of binary input by @rcoh in #191

v0.19.0
What's Changed
 - Use Cow to remove need for cloning input by @rcoh in #163
 - Switch to tikv-jemallocator from jemallocator by @piggynl in #165
 - Upgrade everything to clear out various security vulnerabilities by
   @rcoh in #175
 - Maintain ordering of columns when emitting aggregation JSON. by
   @asutherland in #177
 - Include aliases for NGINX Ingress Controller by @Ziul in #180
 - Include aliases for NGINX by @Ziul in #179
 - upgrade dependencies by @rcoh in #183
 - Fix --output for aggregates @rcoh in #184
jperkin pushed a commit that referenced this pull request Jul 13, 2023
v0.8.0 (Fri Jul 07 2023)
🎉 This release contains work from a new contributor! 🎉

Thank you, Enoumy (@Enoumy), for all your work!

Release Notes
Correctly handle non-existent pages (#186)

When you now try to open a link leading to a page that doesn't exist yet, a
warning will now pop up informing you about the missing page.

Vim movements (ctrl+d, ctrl+u, gg, G) (#180)

The Vim keybindings ctrl+d, ctrl+u, gg, and G have been implemented!

Exciting New Features 🎉
 - Correctly handle non-existent pages #186 (@Builditluc)
 - Vim movements (ctrl+d, ctrl+u, gg, G) #180 (@Enoumy)

Bug Fixes 🐛
 - Fix url encoded links #181 (@Builditluc)

CI Pipeline and Dependency Updates
 - Bump select to v0.6 #189 (@Builditluc)

Documentation Changes
 - Update and Improve the Documentation #188 (@Builditluc)

Structure and Style Changes
 - Change default keybindings to vim #185 (@Builditluc)
jperkin pushed a commit that referenced this pull request Sep 1, 2023
## BumpVer 2023.1126

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

## BumpVer 2023.1125

- Add [#188][gh_i188]: Add `--tag-scope=<SCOPE>` to support separate versioning for branches.
- Add [#185][gh_i185]: Add `--tag-message=<TMPL>` parameter and `tag_message` configuration option.
- Fix [#209][gh_i209]: Make `--no-tag-commit` ommit `--follow-tags`.
jperkin pushed a commit that referenced this pull request Nov 6, 2023
What's Changed

    Bump GitHub Actions versions and fix warnings in the process by @Jackenmen in #184
    Bump versions of used GitHub Actions by @Jackenmen in #189
    Add support for 3.12, drop EOL 3.7 by @Jackenmen in #188
jperkin pushed a commit that referenced this pull request 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 pull request Feb 14, 2024
v0.20.1

What's Changed

    Switch to GitHub Actions CI. by @patrickt in #166
    Add the same PR template as for tree-sitter-javascript by @mjambon in #169
    Fixed CRLF behavior for tests by @ahelwer in #188
    Fix CRLF behavior mismatch during error recovery by @ahelwer in #189
    Endless methods by @aibaars in #190
    Add forwarded parameters/arguments by @aibaars in #191
    Disable C++ exceptions when compile for wasm32-wasi by @glebpom in #192
    Pattern matching by @aibaars in #193
    Improve grammar after the introduction of case-in pattern matching by @aibaars in #197
    Add parenthesized_pattern by @aibaars in #198
    Ruby 3.1 features by @aibaars in #201
    Update to Node 16 by @mattmassicotte in #206
    C bindings by @mattmassicotte in #199
    Parser improvements by @aibaars in #207
    CI: use windows-2019 for now by @aibaars in #209
    Add named rules for the various call operators by @aibaars in #211
    Update Makefile by @mattmassicotte in #213
    Allow newer tree-sitter upstream library. by @patrickt in #215
    Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #214
    Fix parse error in 'foo! if condition' by @aibaars in #216
    Parser improvements: != operator and key: [line_break] by @aibaars in #220
    Some improvements to the parser by @aibaars in #222
    Wrap class, module, method, and block bodies in a named node by @npezza93 in #224
    Parser improvments: quoted heredocs and short-hand interpolations by @aibaars in #225
    Add body field for end-less methods by @aibaars in #226
    Swift bindings by @mattmassicotte in #227
    fix: rename reserved word “arguments” by @drwpow in #229
    Bump versions in #208
    Anonymous (hash) splat arguments by @aibaars in #233
    One-line pattern matching by @aibaars in #194
    Scanner: do not skip LINE_BREAKs before .. and ... by @aibaars in #238
    Fix non-termination in parser by @aibaars in #239
    Fix scanning of division vs regex before line ending by @aibaars in #246
    Fix 'case' with newlines before expression by @aibaars in #247
jperkin pushed a commit that referenced this pull request Feb 20, 2024
0.0.33

What's Changed

    fix release workflow, corrective release by @woodruffw in #210

0.0.32

What's Changed

    github: add dependabot config for GHA by @woodruffw in #203
    tox: add pip2400 by @woodruffw in #204
    Bump the actions group with 5 updates by @dependabot in #205
    pip_api: don't pass escaped path into _parse_local_package_name by @woodruffw in #208
    prep 0.0.32 by @woodruffw in #209

0.0.31

What's Changed

    Test against pip==22.2 by @di in #152
    Test against pip==22.2.1 by @di in #158
    Test against pip==22.2.2 by @di in #160
    Test against pip==22.3 by @di in #163
    Test against Python 3.11 by @di in #154
    workflows/release: bump gh-action-sigstore-python, update slug by @woodruffw in #161
    Test against pip==22.3.1 by @di in #165
    Add alls-greens configuration by @di in #166
    Contributions from @webknjaz by @di in #172
    Use sdist as a testing source in CI by @webknjaz in #174
    Test against pip==23.0 by @di in #176
    Test against pip==23.0.1 by @di in #178
    Test against pip==23.1 by @di in #180
    Test against pip==23.1.1 by @di in #183
    Test against pip==23.1.2 by @di in #185
    Test against pip==23.2 by @di in #188
    Test against pip==23.2.1 by @di in #190
    Test against pip==23.3 by @di in #192
    Test against pip==23.3.1 by @di in #194
    Test against pip==23.3.2 by @di in #198
    Handle editable projects with pyproject.toml by @di in #200
    Version 0.0.31 by @di in #201
jperkin pushed a commit that referenced this pull request May 8, 2024
This release does not contain new "ABI features". The ABI (Application
Binary Interface) is 100% compatible with releases 1.3.5 - 1.3.8.

CHANGES IN FLTK 1.3.9                              RELEASED: Dec 09 2023

FLTK 1.3.9 is a maintenance release with some fixes and enhancements.

Highlights in this release:

  - Support macOS up to macOS 14 "Sonoma".

Details:

  Albrecht Schlosser:
    Backport X11 INCR protocol fixes from 1.4.0 (issue #451)
    X11: Suppress compiler warnings when using gcc or clang
    Fix crash if a program exits before it opens a window (STR 3484).
    Fix compilation error with current Visual Studio 2022
    Windows: #define WIN32 if not defined by user
    Backport warning fixes from 1.4.0 in src/fl_draw.cxx (#693)
    Fix compiler warning as pointed out in PR #693
    Fix another compiler warning (#693)
    Remove unused variable, fix "type issue" (#445, part 2)
    Fix stack buffer overflow found by address sanitizer
    Fix "gtk+ rendering" (GitHub Issue #443)
    Fix doxygen warnings
    Bump version numbers, prepare release 1.3.9
    Fix several compiler warnings
    Update bundled image libraries and zlib to current versions
    Update README, README.CMake.txt, and some support files
    Fix compiler warnings: backported from 1.4 (git 'master')
    CMake/MSVC: remove confusing recommendation to rerun CMake
    Documentation: remove dark color on title page
    Raise CMake minimum required version to 3.15 and more

  ManoloFLTK:
    macOS platform: Issue #325
      "Disabling IM disables Greek and Cyrillic layouts"
    Fix fullscreen window level corner cases on macOS
    Fix issue #373 apparent with macOS platform and SDK ? 10.13
    Issue #452: Fl::get_font_name failure on OS-X.
    Issue #454: crash in Fl::get_font_name().
    Issue #469: Fl_Sys_Menu_Bar menu item shortcuts using Esc or Tab
      don't work on Mac
    Fix "Focus is lost leaving full screen on macOS 13" (#608)
    Add support of macOS Ventura 13.0 and macOS Sonoma 14.0
    macOS: remove configure option --enable-x11 and
      CMake OPTION_APPLE_X11; this functionality remains in FLTK 1.4.
    configure.ac: make sure local-png and local-zlib always run together
    Remove the -mwindows argument from CFLAGS and CXXFLAGS

Matthias Melcher:
    Issue #188: Fix reference counts and search for Fl_Shared_Image
      original

  YX:
    Fix IME problem (issue #270)
jperkin pushed a commit that referenced this pull request 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.
github-actions bot pushed a commit that referenced this pull request Oct 17, 2024
### 1.8.0 (2024-10-17)
 * All: Drop support for Python 2 and <3.6, removing compatibility code.
 * All: Use stdlib unittest.mock instead of mock package.
 * All: Removed usage of path.py and path in favour of pathlib. #174 #224
 * pytest-devpi-server: Run devpi-init for initialisation. #179
 * pytest-server-fixtures: BREAKING CHANGE: Removed RethinkDB support, as the project is no longer maintained.
 * pytest-server-fixtures: Allowed passing through HTTP headers to the server. #149
 * pytest-server-fixtures: Fixed threading log debug messages. #146
 * pytest-server-fixtures: Removed usage of deprecated Thread.setDaemon. #202
 * pytest-server-fixtures: Explicitly close initial Mongo client. #198
 * pytest-server-fixtures: Don't use context manager for CREATE DATABASE #186
 * pytest-shutil: Removed contextlib2 requirement. #144
 * pytest-shutil: Fixed forcing color through termcolor. #217
 * pytest-shutil: Replaced deprecated imp module #219
 * pytest-profiling: Added support to hide/show the full path of file. #95
 * pytest-profiling: Fixed SVG file generation on Windows. #93
 * pytest-profiling: Remove pinning of more-itertools. #194
 * pytest-profiling: Add support to define element number for print_stats() #96
 * pytest-profiling: Fix mock in test_writes_summary #223
 * pytest-virtualenv: Modernised package. #188 #185 #182 #163
 * pytest-virtualenv: Fixed virtualenv creation on Windows. #142
 * pytest-virtualenv: Added delete_workspace parameter to VirtualEnv. #195
 * pytest-virtualenv: Removed extras_require. #240
 * ci: Remove usage of deprecated distutils. #189
 * ci: Disabled jenkins server tests on CircleCI to improve build time.
 * ci: Fixed `collections` import for py 3.11 compatibility #222


### 1.7.1 (2019-05-28)
* pytest-profiling: Fix pytest-profiling to profile fixtures. #48
* pytest-devpi-server: Fixed Python 3.4 support updating "ruamel.yaml" requirements. #138
* ci: Added  PYTEST_DONT_REWRITE in order to suppress module already imported. #123
github-actions bot pushed a commit that referenced this pull request 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.
github-actions bot pushed a commit that referenced this pull request Dec 11, 2024
## [1.0.0] - 2024-12-09

The Himalaya CLI scope has changed. It does not include anymore the synchronization, nor the envelope watching. These scopes have moved to dedicated projects:

- [Neverest CLI](https://github.com/pimalaya/neverest), CLI to synchronize, backup and restore emails
- [Mirador CLI](https://github.com/pimalaya/mirador), CLI to watch mailbox changes

Due to the long time difference with the previous `v1.0.0-beta.4` release, this changelog may be incomplete. The simplest way to upgrade is to reconfigure Himalaya CLI from scratch, using the wizard or the [`config.sample.toml`](./config.sample.toml).

Himalaya CLI will now try to adopt the [conventional commits specification](https://github.com/conventional-commits/conventionalcommits.org). Tools like [`git-cliff`](https://git-cliff.org/) may help us generating more accurate changelogs in the future.

### Added

- Added `message edit` command to edit a message. To edit on place (replace a message), use `--on-place`.
- Added `account.list.table.preset` global config option, `accounts.<name>.folder.list.table.preset` and `accounts.<name>.envelope.list.table.preset` account config options.

  These options customize the shape of tables, see examples at [`comfy_table::presets`](https://docs.rs/comfy-table/latest/comfy_table/presets/index.html). Defaults to `"||  |-|||           "`, which corresponds to [`comfy_table::presets::ASCII_MARKDOWN`](https://docs.rs/comfy-table/latest/comfy_table/presets/constant.ASCII_MARKDOWN.html).

- Added `account.list.table.name-color` config option to customize the color used for the accounts' `NAME` column (defaults to `green`).
- Added `account.list.table.backends-color` config option to customize the color used for the folders' `BACKENDS` column (defaults to `blue`).
- Added `account.list.table.default-color` config option to customize the color used for the folders' `DEFAULT` column (defaults to `reset`).
- Added `accounts.<name>.folder.list.table.name-color` account config option to customize the color used for the folders' `NAME` column (defaults to `blue`).
- Added `accounts.<name>.folder.list.table.desc-color` account config option to customize the color used for the folders' `DESC` column (defaults to `green`).
- Added `accounts.<name>.envelope.list.table.id-color` account config option to customize the color used for the envelopes' `ID` column (defaults to `red`).
- Added `accounts.<name>.envelope.list.table.flags-color` account config option to customize the color used for the envelopes' `FLAGS` column (defaults to `reset`).
- Added `accounts.<name>.envelope.list.table.subject-color` account config option to customize the color used for the envelopes' `SUBJECT` column (defaults to `green`).
- Added `accounts.<name>.envelope.list.table.sender-color` account config option to customize the color used for the envelopes' `FROM` column (defaults to `blue`).
- Added `accounts.<name>.envelope.list.table.date-color` account config option to customize the color used for the envelopes' `DATE` column (defaults to `dark_yellow`).
- Added `accounts.<name>.envelope.list.table.unseen-char` account config option to customize the char used for unseen envelopes (defaults to `*`).
- Added `accounts.<name>.envelope.list.table.replied-char` account config option to customize the char used for replied envelopes (defaults to `R`).
- Added `accounts.<name>.envelope.list.table.flagged-char` account config option to customize the char used for flagged envelopes (defaults to `!`).
- Added `accounts.<name>.envelope.list.table.attachment-char` account config option to customize the char used for envelopes with at least one attachment (defaults to `@`).

### Changed

- Refactored the `account configure` command: this command stands now for creating or editing account configurations from the wizard. The command requires the `wizard` cargo feature.
- Improved the `account doctor` command: it now checks the state of the config, and the new `--fix` argument allows you to configure keyring, OAuth 2.0 etc.
- Improved long version `--version`. [#496]
- Improved error messages when missing cargo features. For example, if a TOML configuration uses the IMAP backend without the `imap` cargo features, the error `missing "imap" feature` is displayed. [#20](pimalaya/core#20)
- Normalized enum-based configurations, using the [internally tagged representation](https://serde.rs/enum-representations.html#internally-tagged) `type =`. It should reduce issues due to misconfiguration, and improve othe error messages. Yet it is not perfect, see [#802](toml-rs/toml#802):

  - `imap.*`, `maildir.*` and `notmuch.*` moved to `backend.*`:

	```toml
	# before
	imap.host = "localhost"
	imap.port = 143

	# after
	backend.type = "imap"
	backend.host = "localhost"
	backend.port = 143
	```

  - `smtp.*` and `sendmail.*` moved to `message.send.backend.*`:

	```toml
	# before
	smtp.host = "localhost"
	smtp.port = 25

	# after
	message.send.backend.type = "smtp"
	message.send.backend.host = "localhost"
	message.send.backend.port = 25
	```

  - `pgp.backend` renamed `pgp.type`:

	```toml
	# before
	pgp.backend = "commands"
	pgp.encrypt-cmd = "gpg --encrypt --quiet --armor <recipients>"

	# after
	pgp.type = "commands"
	pgp.encrypt-cmd = "gpg --encrypt --quiet --armor <recipients>"
	```

  - `{imap,smtp}.auth` moved as well:

    ```toml
    # before
    imap.password.cmd = "pass show example"
    smtp.oauth2.method = "xoauth2"

    # after
    backend.auth.type = "password"
    backend.auth.cmd = "pass show example"
    message.send.backend.auth.type = "oauth2"
    message.send.backend.auth.method = "xoauth2"
    ```

- Moved IMAP and SMTP `encryption` to `encryption.type`.

  This change prepares the config to accept different TLS providers with their options. The `true` and `false` variant have been removed as well:

	```toml
	# before
	backend.encryption = "none" # or false
	backend.encryption = "start-tls"
	message.send.backend.encryption = "tls" # or true

	# after
	backend.encryption.type = "none"
	backend.encryption.type = "start-tls"
	message.send.backend.encryption.type = "tls"
	```

### Fixed

- Fixed pre-release archives issue. [#492]
- Fixed mailto parsing issue. [core#10]
- Fixed `Answered` flag not set when replying to a message. [#508]

### Removed

- Removed systemd service from `assets/` folder, as Himalaya CLI scope does not include synchronization nor watching anymore.

## [1.0.0-beta.4] - 2024-04-16

### Added

- Added systemd service in `assets/` folder.
- Added configuration option `message.delete.style` that can be either `folder` (deleted messages are moved to the Trash folder, default style) or `flag` (deleted messages receive the Deleted flag).
- Added `--debug` as an alias for `RUST_LOG=debug`.
- Added `--trace` as an alias for `RUST_LOG=trace` and `RUST_BACKTRACE=1`.
- Added notes about `--debug` and `--trace` when error occurs.

### Changed

- **Added back the search feature**: you can now give an optional filter and sort query at the end of the `envelope list` command. See `envelope list --help` or [pimalaya.org](https://pimalaya.org/himalaya/cli/master/usage/advanced/envelope/list.html#query) for more detail on the search API.
- Changed the `envelope list` folder argument due to the search query: it became a flag `--folder|-f`.
- Made the global `--config|-c` option repeatable: the first option is considered the path to the main config, and successive options are considered partial overrides [#184].
- Refactored error management: error should be more clear, colored and can now contain spantrace and backtrace.
- Made `--help` content wrapping properly thanks to the `clap` cargo feature `wrap_help`.
- Improved `template {new,reply,forward}` command JSON output: they return now a JSON object with 3 properties:
  - `content`: the content of the template
  - `cursor.row`: the row at which the cursor should be placed by the interface using the template
  - `cursor.col`: the column at which the cursor should be placed by the interface using the template

### Fixed

- Fixed watch IMAP envelopes when folder was empty [#179].
- Prevented parsing of undefined config options [#188].
- Fixed `In-Reply-To` header being skipped from mailto URLs [#194].
- Fixed error page out of bounds when filtering envelopes returned an empty result [#195].

## [1.0.0-beta.3] - 2024-02-25

### Added

- Added `account check-up` command.
- Added wizard warning about google passwords [#41].

### Changed

- Removed account configurations flatten level in order to improve diagnostic errors, due to a [bug](toml-rs/toml#589 (comment)) in clap. **This means that accounts need to be prefixed by `accounts`: `[my-account]` becomes `[accounts.my-account]`**. It also opens doors for interface-specific configurations.
- Rolled back cargo feature additions from the previous release. It was a mistake: the amount of features was too big, the code (both CLI and lib) was too hard to maintain. Cargo features kept: `imap`, `maildir`, `notmuch`, `smtp`, `sendmail`, `account-sync`, `account-discovery`, `pgp-gpg`, `pgp-commands` and `pgp-native`.
- Moved `sync.strategy` to `folder.sync.filter`.
- Changed location of the synchronization data from `$XDG_DATA_HOME/himalaya/<account-name>` to `$XDG_DATA_HOME/pimalaya/email/sync/<account-name>-cache`.
- Changed location of the synchronization cache from `sync.dir` to `$XDG_CACHE_HOME/pimalaya/email/sync/<hash>/`.
- Replaced id mapping database `SQLite` by `sled`, a pure key-val store written in Rust to improve portability of the tool. **Therefore, id aliases are reset**.
- Improved pre and post edit choices interaction [#58].
- Improved account synchronization performances, making it 50% faster than `mbsync` and 370% faster than `OfflineIMAP`.
- Changed `envelope.watch.{event}.{hook}`: hooks can now be cumulated. For example it is possible to send a system notification and execute a shell command when receiving a new envelope:

  ```toml
  envelope.watch.received.notify.summary = "New message from {sender}"
  envelope.watch.received.notify.body = "{subject}"
  envelope.watch.received.cmd = "echo {id} >> /tmp/new-email-counter"
  ```

### Fixed

- Fixed bug that was preventing watch placeholders to be replaced when using shell command hook.
- Fixed watch IMAP envelopes issue preventing events to be triggered.
- Fixed DNS account discovery priority issues.
- Fixed SMTP messages not properly sent to all recipients [#172].
- Fixed backend feature badly linked, leading to reply and forward message errors [#173].

## [1.0.0-beta.2] - 2024-01-27

### Added

- Added cargo feature `wizard`, enabled by default.
- Added one cargo feature per backend feature:
  - `account` including `account-configure`, `account-list`, `account-sync` and the `account-subcmd`
  - `folder` including `folder-add`, `folder-list`, `folder-expunge`, `folder-purge`, `folder-delete` and the `folder-subcmd`
  - `envelope` including `envelope-list`, `envelope-watch`, `envelope-get` and the `envelope-subcmd`
  - `flag` including `flag-add`, `flag-set`, `flag-remove` and the `flag-subcmd`
  - `message` including `message-read`, `message-write`, `message-mailto`, `message-reply`, `message-forward`, `message-copy`, `message-move`, `message-delete`, `message-save`, `message-send` and the `message-subcmd`
  - `attachment` including `attachment-download` and the `attachment-subcmd`
  - `template` including `template-write`, `template-reply`, `template-forward`, `template-save`, `template-send` and the `template-subcmd`
- Added wizard capability to autodetect IMAP and SMTP configurations, based on the [Thunderbird Autoconfiguration](https://wiki.mozilla.org/Thunderbird:Autoconfiguration) standard.
- Added back Notmuch backend features.

### Changed

- Renamed `folder create` to `folder add` in order to better match types. An alias has been set up, so both `create` and `add` still work.

### Fixed

- Fixed default command: running `himalaya` without argument lists envelopes, as it used to be in previous versions.
- Fixed bug when listing envelopes with `backend = "imap"`, `sync.enable = true` and `envelope.watch.backend = "imap"` led to unwanted IMAP connection creation (which slowed down the listing).
- Fixed builds related to enabled cargo features.

## [1.0.0-beta] - 2024-01-01

Few major concepts changed:

- The concept of *Backend* and *Sender* changed. The Sender does not exist anymore (it is now a backend feature). A Backend is now a set of features like add folders, list envelopes or send raw message. The backend of every single feature can be customized in the configuration file, which gives users more flexibility. Here the list of backend features that can be customized:
  - `backend` ***(required)***: the backend used by default by all backend features (`maildir`, `imap` or `notmuch`)
  - `folder.add.backend`: override the backend used for creating folders (`maildir`, `imap` or `notmuch`)
  - `folder.list.backend`: override the backend used for listing folders (`maildir`, `imap` or `notmuch`)
  - `folder.expunge.backend`: override the backend used for expunging folders (`maildir`, `imap` or `notmuch`)
  - `folder.purge.backend`: override the backend used for purging folders (`maildir`, `imap` or `notmuch`)
  - `folder.delete.backend`: override the backend used for deleting folders (`maildir`, `imap` or `notmuch`)
  - `envelope.list.backend`: override the backend used for listing envelopes (`maildir`, `imap` or `notmuch`)
  - `envelope.get.backend`: override the backend used for getting envelopes (`maildir`, `imap` or `notmuch`)
  - `envelope.watch.backend`: override the backend used for watching envelopes (`maildir`, `imap` or `notmuch`)
  - `flag.add.backend`: override the backend used for adding flags (`maildir`, `imap` or `notmuch`)
  - `flag.set.backend`: override the backend used for setting flags (`maildir`, `imap` or `notmuch`)
  - `flag.remove.backend`: override the backend used for removing flags (`maildir`, `imap` or `notmuch`)
  - `message.send.backend` ***(required)***: override the backend used for sending messages (`sendmail` or `smtp`)
  - `message.read.backend`: override the backend used for reading messages (`maildir`, `imap` or `notmuch`)
  - `message.write.backend`: override the backend used for adding flags (`maildir`, `imap` or `notmuch`)
  - `message.copy.backend`: override the backend used for copying messages (`maildir`, `imap` or `notmuch`)
  - `message.move.backend`: override the backend used for moving messages (`maildir`, `imap` or `notmuch`)
- The CLI API changed: every command is now prefixed by its domain following the format `himalaya <domain> <action>`. List of domain available by running `himalaya -h` and list of actions for a domain by running `himalaya <domain> -h`.
- TOML configuration file options use now the dot notation rather than the dash notation. For example, `folder-listing-page-size` became `folder.list.page-size`. See the [changed](#changed) section below for more details.

### Added

- Added cargo feature `maildir` (not plugged yet).
- Added cargo feature `sendmail` (not plugged yet).
- Added watch hooks `envelope.watch.received` (when a new envelope is received) and `envelope.watch.any` (for any other event related to envelopes). A watch hook can be:
  - A shell command: `envelope.watch.any.cmd = "mbsync -a"`
  - A system notification:
    - `envelope.watch.received.notify.summary = "📬 New message from {sender}"`: customize the notification summary (title)
    - `envelope.watch.received.notify.body = "{subject}"`: customize the notification body (content)

	*Available placeholders: id, subject, sender, sender.name, sender.address, recipient, recipient.name, recipient.address.*
- Added watch support for Maildir backend features.

### Changed

- Renamed cargo feature `imap-backend` → `imap`.
- Renamed cargo feature `notmuch-backend` → `notmuch`.
- Renamed cargo feature `smtp-sender` → `smtp`.
- Changed the goal of the config option `backend`: it is now the default backend used for all backend features. Valid backends: `imap`, `maildir`, `notmuch`.
- Moved `folder-aliases` config option to `folder.alias(es)`.
- Moved `folder-listing-page-size` config option to `folder.list.page-size`.
- Moved `email-listing-page-size` config option to `envelope.list.page-size`.
- Moved `email-listing-datetime-fmt` config option to `envelope.list.datetime-fmt`.
- Moved `email-listing-datetime-local-tz` config option to `envelope.list.datetime-local-tz`.
- Moved `email-reading-headers` config option to `message.read.headers`.
- Moved `email-reading-format` config option to `message.read.format`.
- Moved `email-writing-headers` config option to `message.write.headers`.
- Move `email-sending-save-copy` config option to `message.send.save-copy`.
- Move `email-hooks.pre-send` config option to `message.send.pre-hook`.
- Moved `sync` config option to `sync.enable`.
- Moved `sync-dir` config option to `sync.dir`.
- Moved `sync-folders-strategy` config option to `sync.strategy`.
- Moved `maildir-*` config options to `maildir.*`.
- Moved `imap-*` config options to `imap.*`.
- Moved `notmuch-*` config options to `notmuch.*`.
- Moved `sendmail-*` config options to `sendmail.*`.
- Moved `smtp-*` config options to `smtp.*`.
- Replaced options `imap-ssl`, `imap-starttls` and `imap-insecure` by `imap.encryption`:
  - `imap.encryption = "tls" | true`: use required encryption (SSL/TLS)
  - `imap.encryption = "start-tls"`: use opportunistic encryption (StartTLS)
  - `imap.encryption = "none" | false`: do not use any encryption
- Replaced options `smtp-ssl`, `smtp-starttls` and `smtp-insecure` by `smtp.encryption`:
  - `smtp.encryption = "tls" | true`: use required encryption (SSL/TLS)
  - `smtp.encryption = "start-tls"`: use opportunistic encryption (StartTLS)
  - `smtp.encryption = "none" | false`: do not use any encryption

### Removed

- Disabled temporarily the `notmuch` backend because it needs to be refactored using the backend features system (it should be reimplemented soon).
- Disabled temporarily the `search` and `sort` command because they need to be refactored, see [#39].
- Removed the `notify` command (replaced by the new `watch` command).
- Removed all global options except for `display-name`, `signature`, `signature-delim` and `downloads-dir`.
github-actions bot pushed a commit that referenced this pull request Dec 11, 2024
1.6.1 (2024-12-02)

This is a performance and security release which addresses several possible
XSS vulnerabilities.

* The dependency on Nokogiri is updated to v1.15.7 or >=1.16.8.

  This change addresses CVE-2024-53985 (GHSA-w8gc-x259-rc7x).

  Mike Dalessio

* Disallowed tags will be pruned when they appear in foreign content
  (i.e. SVG or MathML content), regardless of the prune: option
  value. Previously, disallowed tags were "stripped" unless the gem was
  configured with the prune: true option.

  The CVEs addressed by this change are:

        - CVE-2024-53986 (GHSA-638j-pmjw-jq48)
        - CVE-2024-53987 (GHSA-2x5m-9ch4-qgrr)

  Mike Dalessio

* The tags "noscript", "mglyph", and "malignmark" will not be allowed, even
  if explicitly added to the allowlist. If applications try to allow any of
  these tags, a warning is emitted and the tags are removed from the
  allow-list.

  The CVEs addressed by this change are:

        - CVE-2024-53988 (GHSA-cfjx-w229-hgx5)
        - CVE-2024-53989 (GHSA-rxv5-gxqc-xx8g)

  Please note that we may restore support for allowing "noscript" in a
  future release. We do not expect to ever allow "mglyph" or "malignmark",
  though, especially since browser support is minimal for these tags.

  Mike Dalessio

* Improve performance by eliminating needless operations on attributes that
  are being removed. #188

  Mike Dalessio
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants