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

Adds ap-auth-openidc and cjose #222

Closed
wants to merge 10,000 commits into from

Conversation

goekesmi
Copy link

This packages the ap-auth-openidc apache mod which implements an open id connect client for apache. It also includes one of the dependencies which that needs, cjose.

The build has been tested on pkgsrc/trunk, installing on a base-64-lts 18.4.0 image upgraded to trunk packages in the dependency tree, on apache 2.4.

alarixnia and others added 30 commits August 31, 2019 13:17
Upstream changes:
6.06      2019-08-29 14:23:17Z
  - Delimit IPv6 numeric address with brackets and URI-quote an IPv6 zone
    separator in url() method output (GH#32) (Petr Pisar)
  - Handle undef and empty LocalAddr value in new() constructor as an
    unspecified address (GH#24, RT#123069) (Petr Pisar)
  - Use IO::Socket::IP for IPv6 support. (GH#31) (Chase Whitener)

6.05      2019-07-26 20:41:05Z
  - Added the .perltidyrc from the libwww-perl distribution
  - Tidied the test suite with perltidy
  - Tidied Daemon.pm
  - Turned on EOL and tab tests
  - Removed obvious indirect object syntax in test suite
  - Added IPv6 support. (GH#24) Thanks, @ppisar and @intrigeri
  - Added IO::Socket::IP as a prerequisite rather than IO::Socket::INET
Changes since 1.5.2:

    Disable EGL on macOS
    Fix build on macOS [TritonDataCenter#176, Emmanuele Bassi]
    Add macOS tests
    Fix build with uClibc [TritonDataCenter#181, Emmanuele Bassi]
    Fix GLES3 symbol lookup [Adam Jackson]
    Fix conditional compilation [TritonDataCenter#184, Zhao Zhili]
    Require Meson 0.47
    Fix Autotools build with EGL-X11 support [TritonDataCenter#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 TritonDataCenter#169: Fix build on FreeBSD [Ting-Wei Lan]
    Consistently use abort() instead of exit() for internal state checks
    Issue TritonDataCenter#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, TritonDataCenter#156]
    Generalise checks for dlvsym [Ross Burton, TritonDataCenter#158]
    Add an option for disabling building the test suite [Ross Burton]
    Typo fixes in the comments and documentation [luz.paz, TritonDataCenter#159]
    Simplify the Meson configuration logic for EGL and GLX [Eric
    Engestrom, TritonDataCenter#162]
    Use assert when no context is found [Adam Jackson, TritonDataCenter#166]
    Remove a test superceded by GLVND [TritonDataCenter#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

    TritonDataCenter#128 - Fix macOS linker flags [Tom Schoonjans]
    TritonDataCenter#129 - Use GLVND if available [Adam Jackson]
    TritonDataCenter#134 - Add fallback definition for EGL_CAST [Daniel Stone]
    TritonDataCenter#133 - Try even harder to not load GLX [Adam Jackson]
    TritonDataCenter#138 - Fix the libOpenGL soname [Adam Jackson]
    TritonDataCenter#137 - Update differences with GLEW [Nigel Stewart]
    TritonDataCenter#131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    TritonDataCenter#140 - Fix pointer mismatch on Windows 10 [danem]
    TritonDataCenter#141 - Define visibility flags for static builds [Dylan Baker]
    TritonDataCenter#136 - Expose epoxy_extension_in_string() [Lyude Paul]
    TritonDataCenter#151 - Use correct guard for Android builds [Robert Bragg]
    TritonDataCenter#154 - Fix dlwrap for glvnd [Adam Jackson]
    TritonDataCenter#155 - Respect DLOPEN_LIBS [Michał Górny]
    TritonDataCenter#143 - Fix printf family usage [Ikey Doherty]
    TritonDataCenter#152 - Do not use OPENGL_LIB on Android
    TritonDataCenter#145 - Add epoxy_glsl_version()
Upstream changes:
4.09  2019-08-22 10:39:03 CEST
  - Fixing set option in script/oai_pmh.pl [stain]
Changes:
    WB coefficients check was too strong, weakened
    Fixed possible buffer underrun in modern Samsung loader
libmpg123:

    Fix an out-of-bounds read of maximal two bytes for truncated RVA2 frames (oss-fuzz-bug 15975). The earlier fix around the same location needed one thought more. Actually, another though was needed, oss-fuzz-bug 16009 documents the incomplete fix.
    Fix an invalid write of one zero byte for empty ID3v2 frames that demand de-unsyncing (oss-fuzz-bug 16050).
    Correct preprocessor syntax in mangle.h, no #error in a #define line. (bug 273, thanks to nmlgc).
Changes:

 * Fixed bug with fore&back colors caused by changes in rev.5...
 * Merged with translations branch
 * Update translation template
 * Remove previously added set_style_css function.
 * Reorganize the big mess of code: order functions and callb...
 * Bug #1828091 fixed: sakura keeps blinking after BEL is rec...
 * Added helper function to set CSS style
 * Bug #1485360 fixed: bright colors broken
 * Bug #1833845 fixed: make 'configuration modified' dialog o...
 * Bug #1810332 fixed: unable to set 100% opacity
 * Bug #1839505 fixed: block cursor doesn't reverse text colo...
 * Changed default font size
 * Make tango palette default again
 * Bug #1792380: Solarized light doesn't work as expected. Us...
 * Removed unused variable in sakura_eof
 * Bug #1790317 fixed: Crash with vte 0.54
* Prevent warnings on Python3.8
* Fix proxy support
* Fix --single to ensure threads are not started until a position in the queue is available
This changes the upstream and adds GTK3 support.
/ easy-to-write structured text format into HTML. Markdown's text
format is most similar to that of plain text email, and supports
features such as headers, *emphasis*, code blocks, blockquotes,
and links.

This module implements the MultiMarkdown markdown syntax
extensions from <http://fletcherpenney.net/multimarkdown/>.
iochan is a Go library for treating io readers and writers like
channels. This is useful when sometimes you wish to use io.Reader
and such in select statements.
jperkin added a commit that referenced this pull request Aug 26, 2020
Version 2.11 - 9 Jul 2020

-   Introduction of the barman-cli-cloud package that contains all cloud
    related utilities.

-   Add barman-cloud-wal-restore to restore a WAL file previously
    archived with barman-cloud-wal-archive from an object store

-   Add barman-cloud-restore to restore a backup previously taken with
    barman-cloud-backup from an object store

-   Add barman-cloud-backup-list to list backups taken with
    barman-cloud-backup in an object store

-   Add support for arbitrary archive size for barman-cloud-backup

-   Add support for --endpoint-url option to cloud utilities

-   Remove strict superuser requirement for PG 10+ (by Kaarel Moppel)

-   Add --log-level runtime option for barman to override default log
    level for a specific command

-   Support for PostgreSQL 13

-   Bug fixes:

    -   Suppress messages and warning with SSH connections in barman-cli
        (GH-257)
    -   Fix a race condition when retrieving uploaded parts in
        barman-cloud-backup (GH-259)
    -   Close the PostgreSQL connection after a backup (GH-258)
    -   Check for uninitialized replication slots in receive-wal --reset
        (GH-260)
    -   Ensure that begin_wal is valorised before acting on it (GH-262)
    -   Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287)
    -   Fix rsync compatibility error with recent rsync
    -   Fix PostgreSQLClient version parsing
    -   Fix PostgreSQL exception handling with non ASCII messages
    -   Ensure each postgres connection has an empty search_path
    -   Avoid connecting to PostgreSQL while reading a backup.info file

If you are using already barman-cloud-wal-archive or barman-cloud-backup
installed via RPM/Apt package and you are upgrading your system, you
must install the barman-cli-cloud package. All cloud related tools are
now part of the barman-cli-cloud package, including
barman-cloud-wal-archive and barman-cloud-backup that were previosly
shipped with barman-cli. The reason is complex dependency management of
the boto3 library, which is a requirement for the cloud utilities.

Version 2.10 - 5 Dec 2019

-   Pull .partial WAL files with get-wal and barman-wal-restore,
    allowing restore_command in a recovery scenario to fetch a partial
    WAL file's content from the Barman server. This feature simplifies
    and enhances RPO=0 recovery operations.

-   Store the PostgreSQL system identifier in the server directory and
    inside the backup information file. Improve check command to verify
    the consistency of the system identifier with active connections
    (standard and replication) and data on disk.

-   A new script called barman-cloud-wal-archive has been added to the
    barman-cli package to directly ship WAL files from PostgreSQL (using
    archive_command) to cloud object storage services that are
    compatible with AWS S3. It supports encryption and compression.

-   A new script called barman-cloud-backup has been added to the
    barman-cli package to directly ship base backups from a local
    PostgreSQL server to cloud object storage services that are
    compatible with AWS S3. It supports encryption, parallel upload,
    compression.

-   Automated creation of replication slots through the server/global
    option create_slot. When set to auto, Barman creates the replication
    slot, in case streaming_archiver is enabled and slot_name is
    defined. The default value is manual for back-compatibility.

-   Add '-w/--wait' option to backup command, making Barman wait for all
    required WAL files to be archived before considering the backup
    completed. Add also the --wait-timeout option (default 0, no
    timeout).

-   Redact passwords from Barman output, in particular from
    barman diagnose (InfoSec)

-   Improve robustness of receive-wal --reset command, by verifying that
    the last partial file is aligned with the current location or, if
    present, with replication slot's.

-   Documentation improvements

-   Bug fixes:

    -   Wrong string matching operation when excluding tablespaces
        inside PGDATA (GH-245)
    -   Minor fixes in WAL delete hook scripts (GH-240)
    -   Fix PostgreSQL connection aliveness check (GH-239)

Version 2.9 - 1 Aug 2019

-   Transparently support PostgreSQL 12, by supporting the new way of
    managing recovery and standby settings through GUC options and
    signal files (recovery.signal and standby.signal)

-   Add --bwlimit command line option to set bandwidth limitation for
    backup and recover commands

-   Ignore WAL archive failure for check command in case the latest
    backup is WAITING_FOR_WALS

-   Add --target-lsn option to set recovery target Log Sequence Number
    for recover command with PostgreSQL 10 or higher

-   Add --spool-dir option to barman-wal-restore so that users can
    change the spool directory location from the default, avoiding
    conflicts in case of multiple PostgreSQL instances on the same
    server (thanks to Drazen Kacar).

-   Rename barman_xlog directory to barman_wal

-   JSON output writer to export command output as JSON objects and
    facilitate integration with external tools and systems (thanks to
    Marcin Onufry Hlybin). Experimental in this release.

Bug fixes:

-   replication-status doesn’t show streamers with no slot (GH-222)

-   When checking that a connection is alive (“SELECT 1” query),
    preserve the status of the PostgreSQL connection (GH-149). This
    fixes those cases of connections that were terminated due to
    idle-in-transaction timeout, causing concurrent backups to fail.

Version 2.8 - 17 May 2019

-   Add support for reuse_backup in geo-redundancy for incremental
    backup copy in passive nodes

-   Improve performance of rsync based copy by using strptime instead of
    the more generic dateutil.parser (#210)

-   Add ‘--test’ option to barman-wal-archive and barman-wal-restore to
    verify the connection with the Barman server

-   Complain if backup_options is not explicitly set, as the future
    default value will change from exclusive_backup to concurrent_backup
    when PostgreSQL 9.5 will be declared EOL by the PGDG

-   Display additional settings in the show-server and diagnose
    commands: archive_timeout, data_checksums, hot_standby,
    max_wal_senders, max_replication_slots and wal_compression.

-   Merge the barman-cli project in Barman

-   Bug fixes:

    -   Fix encoding error in get-wal on Python 3 (Jeff Janes, #221)
    -   Fix exclude_and_protect_filter (Jeff Janes, #217)
    -   Remove spurious message when resetting WAL (Jeff Janes, #215)
    -   Fix sync-wals error if primary has WALs older than the first
        backup
    -   Support for double quotes in synchronous_standby_names setting

-   Minor changes:

    -   Improve messaging of check --nagios for inactive servers
    -   Log remote SSH command with recover command
    -   Hide logical decoding connections in replication-status command

This release officially supports Python 3 and deprecates Python 2 (which
might be discontinued in future releases).

PostgreSQL 9.3 and older is deprecated from this release of Barman.
Support for backup from standby is now limited to PostgreSQL 9.4 or
higher and to WAL shipping from the standby (please refer to the
documentation for details).

Version 2.7 - 21 Mar 2019

-   Fix error handling during the parallel backup. Previously an
    unrecoverable error during the copy could have corrupted the barman
    internal state, requiring a manual kill of barman process with
    SIGTERM and a manual cleanup of the running backup in PostgreSQL.
    (GH#199)

-   Fix support of UTF-8 characters in input and output (GH#194 and
    GH#196)

-   Ignore history/backup/partial files for first sync of geo-redundancy
    (GH#198)

-   Fix network failure with geo-redundancy causing cron to break
    (GH#202)

-   Fix backup validation in PostgreSQL older than 9.2

-   Various documentation fixes

Version 2.6 - 4 Feb 2019

-   Add support for Geographical redundancy, introducing 3 new commands:
    sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman
    server to use another Barman server as data source instead of a
    PostgreSQL server.

-   Add put-wal command that allows Barman to safely receive WAL files
    via PostgreSQL's archive_command using the barman-wal-archive script
    included in barman-cli

-   Add ANSI colour support to check command

-   Minor fixes:

    -   Fix switch-wal on standby with an empty WAL directory
    -   Honour archiver locking in wait_for_wal method
    -   Fix WAL compression detection algorithm
    -   Fix current_action in concurrent stop backup errors
    -   Do not treat lock file busy as an error when validating a backup
jperkin pushed a commit that referenced this pull request Sep 30, 2020
Release rpyc 3.4.4
- Fix refcount leakage when unboxing from cache (#196)
- Fix TypeError when dispatching exceptions on py2 (unicode)
- Respect ``rpyc_protocol_config`` for default Service getattr (#202)
- Support unix domain sockets (#100,#208)
- Use first accessible server in ``connect_by_service`` (#220)
- Fix deadlock problem with logging (#207,#212)

Release rpyc 3.4.3
- Add missing endpoints config in ThreadPoolServer (#222)
- Fix jython support (#156,#171)
- Improve documentation (#158,#185,#189,#198 and more)
jperkin pushed a commit that referenced this pull request Nov 24, 2020
This release addresses the following:

    New Features:
        Add support for infostore in EnvIsSet Test case #240 (ThomasAdam)
        Add variable/parameter which indicates the state of the FVWM3 logging #239 (NsCDE)
        Support for setting default mouse cursor on all FvwmScript widgets #222 (NsCDE)
        Add support for triangle indicator in/out sub options #221 (NsCDE)
        Add WindowName option to FvwmButtons #219 (NsCDE)

    Build problems:
        compilation fails on openbsd-current due to safemalloc.h (va_list) #231
        "version of go" misinterpreted by configure script? #202
        Unable to build 1.0, bson.h not found [FreeBSD 12.1] #200

    Bug-fixes:
        _NET_WM_STATE was not updated for maximized windows #203
        EwmhBaseStruts calculations don't use monitor's #241
        DesktopConfiguration global inherits behaviour from per-monitor mode #236
        FvwmEvent: missing monitor\_focus event #228
        perllib: doesn't understand MX_MONITOR_* events #226
        FvwmButtons subpanels not popped out on primary monitor when desk is > 0 #224
        PositionPlacement Center: fix to use current screen #211
        EwmhBaseStruts missing screen info from manpage #208
        EwmhBaseStrut: fix calculations for per-monitor #242 (ThomasAdam)
        Fix window locations in Global mode #237 (ThomasAdam)
jperkin pushed a commit that referenced this pull request Dec 14, 2020
# processx 3.4.5

* New options in `pty_options` to set the initial size of the pseudo
  terminal.

* Reading the standard output or error now does not crash occasionally
  when a `\n` character is at the beginning of the input buffer (#281).

# processx 3.4.4

* processx now works correctly for non-ASCII commands and arguments passed
  in the native encoding, on Windows (#261, #262, #263, #264).

* Providing multiple environment variables now works on windows (#267).

# processx 3.4.3

* The supervisor (activated with `supervise = TRUE`) does not crash
  on the Windows Subsystem on Linux (WSL) now (#222).

* Fix ABI compatibility for pre and post R 4.0.1 versions. Now CRAN
  builds (with R 4.0.2 and later 4.0.x) work well on R 4.0.0.

* Now processx can run commands on UNC paths specified with
  forward slashes: `//hostname/...` UNC paths with the usual
  back-slashes were always fine (#249).

* The `$as_ps_handle()` method works now better; previously it
  sometimes created an invalid `ps::ps_handle` object, if the system
  clock has changed (#258).

# processx 3.4.2

* `run()` now does a better job with displaying the spinner on terminals
  that buffer the output (#223).

* Error messages are now fully printed after an error. In non-interactive
  sessions, the stack trace is printed as well.

* Further improved error messages. Errors from C code now include the
  name of the C function, and errors that belong to a process include the
  system command (#197).

* processx does not crash now if the process receives a SIGPIPE signal when
  trying to write to a pipe, of which the other end has already exited.

* processx now to works better with fork clusters from the parallel
  package. See 'Mixing processx and the parallel base R package' in the
  README file (#236).

* processx now does no block SIGCHLD by default in the subprocess,
  blocking potentially causes zombie sub-subprocesses (#240).

* The `process$wait()` method now does not leak file descriptors on
  Unix when interrupted (#141).
jperkin pushed a commit that referenced this pull request Jan 27, 2021
Most work done by leot@ and sjmulder@ in pkgsrc-wip.

tig-2.5.1
---------

Improvements:

 - bash/zsh completion: reimplement and decrease runtime by factor 1863. (#795)
 - Add binding to reflog view to toggle reference display.
 - Fail if tig is given an invalid or ambiguous ref. (#980)
 - Make tig process-group leader an option. (#986, #951)
 - Handle GIT_WORK_TREE environment variable.
 - The blame view requires a working tree.
 - Fix use of deprecated vwprintw() function.
 - Update utf8proc to v2.5.0.
 - Add --word-diff=plain colorizing support. (#221)

Bug fixes:

 - Fix segmentation fault. (#971)
 - Fix cursor position after "Move to parent" in blame view. (#973)
 - Fix crash on adding a line to a view. (#523)
 - Fix memory leak in diff unit.
 - Fix loop after refresh or change in refs/main split view. (#991)
 - Fix occasional crash on custom key bindings. (#1001)

tig-2.5.0
---------

Improvements:

 - Single file view enters blame mode on "b". (#804)
 - Show untracked files in the default view. (#762)
 - Disable graph if log.follow is enabled and there is only one pathspec.
   (#881)
 - Disable graph for author searches.
 - git_colors: interpret 'ul' as 'underline'.
 - Add refname variable. (#900)
 - Add -C option to specify the working directory. (#570)
 - Improve behaviour of auto and periodic refresh modes. (#389, #441, #482,
   #794, #888, #932)
 - Add support for repos created with git --work-tree. (#872)
 - Add diff-highlight to pager mode.
 - Show annotated commits in main view. (#819)
 - Introduce reflog view. (#538)
 - Add option to start with cursor on HEAD commit. (#755)
 - Support combined diffs with more than 2 parents.
 - Improve how a toggle option value is shown on the status line. (#879)
 - Add options to filter refs output. (#694)
 - Update utf8proc to v2.4.0. (#961)

Bug fixes:

 - Fix garbled cursor line with older ncurses versions.
 - Fix diff highlighting of removed lines starting with -- and added lines
   starting with ++. (#871, #875)
 - Fix loop when displaying search result if regex matches an empty string.
   (#866)
 - Add synchronous command description in tigrc.
 - Fix parsing of git rev-parse output. (#884)
 - Propagate --first-parent to diff arguments. (#861)
 - Use proper type for hash table size. (#858)
 - Fix incorrect cppcheck warning about realloc() use.
 - Don't shift signed int by 31 bits.
 - Fix Vim going background after running Tig outside of a git repository.
   (#906)
 - make-builtin-config: use "read -r". (#912)
 - Fix segfaults with readline 8.0. (#893)
 - Reset state before closing stage view automatically.
 - Don't use a child view as previous view.
 - Force reload of VIEW_FLEX_WIDTH views only when needed.
 - Combined diff uses @@@ as hunk marker.
 - Fix memory leak induced by 'tig grep'.
 - Fix memory leak in main view.
 - Exit gracefully if refs view was defined without ref column. (#897)
 - Fix pager view not moving up when child view is open.
 - make-builtin-config: Fix unportable sed usage in read_tigrc().
 - Properly detect combined diffs. (#942)

tig-2.4.1
---------

Bug fixes:

 - Add `CURSES_CFLAGS` to `CPPFLAGS`. (#856, Linuxbrew/homebrew-core#8440)

tig-2.4.0
---------

Improvements:

 - Add 'send-child-enter' option to control interaction with child views.
   (#791)
 - Update make config defaults for Cygwin to ncurses6. (#792)
 - Build against netbsd-curses. (#789)
 - Change the blame view to render more like `git blame`. (#812)
 - Improve worktree and submodule support. (#459, #781, #783)
 - Support running Tig via a Git alias. (#763)
 - Use ISO-8601 letters for short relative dates. (#759, #760)
 - Change date formatting to show time zones by default. (#428, #811)
 - Use utf8proc to handle Unicode characters. (#827)

Bug fixes:

 - Fix `file(1)` argument on Linux used for resolving encodings. (#788)
 - Fix underflow in the file search. (#800, #801)
 - Fix line numbers in grep view when scrolled. (#813)
 - Pass command line args through to the stage view. (#569, #823)
 - Fix resource leak. (#780)
 - Fix various compiler warnings and pointer arithmetic. (#799, #803)
 - Workaround potential null pointer dereferences. (#824)
 - Bind to single and double quotes by using the *<SingleQuote>* and
   *<DoubleQuote>* key mappings. (#821)
 - Make Tig the process-group leader and clean child processes. (#828, #837)
 - Fix sh compatibility in `contrib/tig-pick`. (#832)
 - Fix incorrect behaviour of up and down keys in diff view when opened from
   diff preview. (#802, #835)
 - Open the stage view when maximizing a split diff view of (un)staged changes.
   (#836)
 - Use fully qualified reference name for tags when conflicting with branch
   name. (#746, #787, #849)
 - Fix resize not working after entering command. (#845) (#846)
 - Use stack allocated memory to handle `TIG_LS_REMOTE`. (#839)
 - Fix deleted file mode line remains highlighted after hovering in diff or
   stage view. (#851)
 - Fix `TIG_LS_REMOTE` not working with git-ls-remote(1). (#853, #854)

tig-2.3.3
---------

Bug fixes:

 - Revert "Handle \n like \r (#758)". (GH #769)
 - Fix GH #164 by catching SIGHUP.
 - Change `refs_tags` type to `size_t`.

tig-2.3.2
---------

Bug fixes:

 - Fix busy loop detection to handle large repos. (GH #164)

tig-2.3.1
---------

Improvements:

 - Restore TTY attributes. (GH #725)
 - Handle `\n` like `\r`. (GH #758)

Bug fixes:

 - Add workaround that detects busy loops when Tig loses the TTY. This may
   happen if Tig does not receive the HUP signal (e.g. when started with
   `nohup`). (GH #164)
 - Fix compatibility with ncurses-5.4 which caused copy-pasting to not work
   in the prompt. (GH #767)
 - tig(1): document correct environment variable. (GH #752)

tig-2.3.0
---------

Incompatibilities:

 - The `width` setting on the `status`, `text` and `commit-title` columns was
   never applied and has been removed. (GH #617)

Improvements:

 - Improve load performance by throttling screen updates. (GH #622, #629)
 - Speed up graph rendering. (GH #638)
 - Enable scroll optimizations for Terminal.app and iTerm2. (GH #637)
 - Improve the test suite portability to not depend on GNU sed. (GH #609, #614)
 - Make build reproducible. (https://reproducible-builds.org/) (GH #613)
 - Enable binding to more symbolic keys and keys with control modifier:
   `F13`-`F19`, `ShiftLeft`, `ShiftRight`, `ShiftDel`, `ShiftHome`, `ShiftEnd`,
   `ShiftTab`, `Ctrl-C`, `Ctrl-V`, `Ctrl-S`, and `Ctrl-@`. (GH #314, #619,
   #642)
 - Persist readline history to `~/.tig_history` or `$XDG_DATA_HOME/tig/history`.
   Use `history-size` to control the number of entries to save. (GH #620, #713,
   #714, #718)
 - Preload last search from persistent history. (GH #630)
 - Add `view-close-no-quit` action, unbound by default. (GH #607)
 - Add `mouse-wheel-cursor` option (off by default) when set to true causes
   wheel actions to prefer moving the cursor instead of scrolling. (GH #608)
 - Add `truncation-delimiter` option, set to `~` by default. (GH #646)
 - Add `-q` parameter to `source` for "source-if-present". (GH #612)
 - Add `:echo` prompt command to display text in the status bar. (GH #626, #636)
 - Make `diff-highlight` colors configurable. (GH #625, #633)
 - Let Ctrl-C exit Y/N dialog, menu prompts and the file finder. (GH #632, #648)
 - Hide cursor unless at textual prompt. (GH #643)
 - Expand tilde ('~') in `:script` paths. (GH #674)
 - Show single-line output of external command in status bar. (GH #200, #557,
   #678)
 - Disable the graph when `--no-merges` is passed. (GH #687)
 - Print backtraces on segfault in debug mode.
 - Ignore script lines starting with `#` (comment). (GH #705)
 - Complete `repo:*` variables when readline is enabled. (GH #702)
 - Incorporate XTerm's `wcwidth.c` to find Unicode widths. (GH #691)

Bug fixes:

 - Fix graph display issues. (GH #419, #638)
 - Fix and improve rendering of Unicode characters. (GH #330, #621, #644, #682)
 - Handle hyphenated directory names when listing content. (GH #602)
 - Do not jump to next match when cancelling the search prompt. (GH #627)
 - Fix clearing of the status line after `Ctrl-C`. (GH #623, #649)
 - Fix handling of width on line-number and trimmed width of 1. (GH #617)
 - Set cursor position when not updating prompt contents. (GH #647)
 - Erase status line at exit time for users without altscreen-capable terminals.
   (GH #589)
 - Fix unexpected keys when restoring from suspend (`Ctrl-Z`). (GH #232)
 - contrib/vim.tigrc: Also bind G in the main as a workaround for limitations of
   the `none` action. (GH #594, #599)
 - Only override `blame-options` when commands are given and fix parsing of
   `-C`. (GH #597)
 - Fix diff name discovery to better handle prefixes.
 - Interpret button5 as wheel-down. (GH #321, #606)
 - Fix `back` / `parent` in tree view. (GH #641)
 - Fix memory corruption in `concat_argv` and file finder. (GH #634, #655)
 - Fix reading from stdin for `tig show`.
 - Document problem of outdated system-wide `tigrc` files in Homebrew. (GH #598)
 - Repaint the display when toggling `line-graphics`. (GH #527)
 - Fix custom date formatting support longer strings. (GH #522)
 - Don't segfault on ":exec" irregular args. (GH #686)
 - Fix segfault when calling htab_empty. (GH #663, #745)

tig-2.2.2
---------

Upgrade instructions:

 - The `status-untracked-dirs` option was renamed to
   `status-show-untracked-dirs` to match the new `status-show-untracked-files`
   option.

Improvements:

 - Use `diff-options` when preparing the diff in the stage view to make the diff
   state configurable. (GH #545)
 - Add 'status-show-untracked-files' option mirroring Git's
   'status.showUntrackedFiles' to toggle display of untracked files.  in the
   status view. On by default. (GH #562)
 - Update `ax_with_curses.m4` and use `pkg-config` to detect. (GH #546)
 - Add `tig-pick` script for using Tig as a commit picker. (GH #575, #580)
 - Add "smart case" option ('set ignore-case = smart-case') to ignore case when
   the search string is lower-case only. (GH #320, #579)

Bug fixes:

 - Fix author ident cache being keyed by email only. (GH #424, #526, #547)
 - Fix periodic refresh mode to properly detect ref changes. (GH #430, #591)
 - Add workaround for detecting failure to start the diff-highlight process.
 - Show diffs in the stash view when `set mailmap = true`. (GH #556)
 - Fix parsing of git-log revision arguments, such as `--exclude=...` in
   conjunction with `--all`. (GH #555)
 - Fix diff stat parsing for binary copies.
 - Fix crash when resizing terminal while search is in progress. (GH #515, #550)
 - Fix argument filtering to pass more arguments through to Git.
 - Check for termcap support in split tinfo libs. (GH #568, #585)

tig-2.2.1
---------

Improvements:

 - Support Git's 'diff-highlight' program when `diff-highlight` is set to either
   true or the path of the script to use for post-processing.
 - Add navigation between merge commits. (GH #525)
 - Add 'A' as a binding to apply a stash without dropping it.
 - Bind 'Ctrl-D' and 'Ctrl-U' to half-page movements by default.
 - manual: Mention how to change default Up/Down behavior in diff view.

Bug fixes:

 - Reorganize checking of libraries for termcap functions.
 - Fix `:goto <id>` error message.

tig-2.2
-------

Incompatibilities:

 - Note that all user-defined commands are now executed at the repository root
   instead of whatever subdirectory Tig was started in. (GH #412)
 - Remove `cmdline-args` option to avoid problems where setting it in `~/.tigrc`
   potentially breaks other views due to its "context-sensitive" nature, where
   a `git-log` option maybe cause `git-grep` to fail. (GH #431)

Improvements:

 - Use .mailmap to show canonical name and email addresses, off by default.
   Add `set mailmap = yes` to `~/.tigrc` to enable. (GH #411)
 - Highlight search results, configurable via `search-result` color. (GH #493)
 - Wrap around when searching, configurable via `wrap-search` setting.
 - Populate `%(file)` with file names from diff stat. (GH #404)
 - `tig --merge` implies `--boundary` similar to gitk.
 - Expose repository variables to external commands, e.g. `%(repo:head)` gives
   the branch name of the current HEAD and `%(repo:cdup)` for the repo root
   path.
 - Add `make uninstall`. (GH #417)
 - Add ZSH completion file (based on Bash completion) (GH #433)
 - Expose the text of the currently selected line as the %(text) (GH #457)
 - Allow users to specify rev arguments to blame (GH #439)
 - Update OSX make config to find brew installed ncurses
 - Add sample git-flow keybinding (GH #421)
 - Add chocolate theme (GH #432)
 - Show stash diffs. (GH #328)
 - Make user tigrc location configurable. (GH #479)
 - Compact relative date display mode. (GH #331)
 - Add date column option controlling whether to show local date.
 - Move to parent commit in the main view. (GH #388)
 - Add `:goto <rev>` prompt command to go to a `git-rev-parse`d revision, e.g.
   `:goto some/branch` or `:goto %(commit)^2`.
 - Respect the XDG standard for configuration files. (GH #513)
 - Show tracking information in `tig status` (GH #504)
 - Resolve diff paths when `diff.noprefix` is true. (GH #487, #488)
 - Support for custom `strftime(3)` date formats, e.g.:

	set main-view-date = custom
	set main-view-date-format = "%Y-%m-%d"

Bug fixes:

 - Prevent staged rename from displaying unstaged changes (GH #472, #491)
 - Fix corrupt chunk header during staging of single lines. (GH #410)
 - Fix out of bounds read in graph-v2 module. (GH #402)
 - Add currently checked out branch to `%(branch)`. (GH #416)
 - Size diff stats correctly for split views.
 - Fix `git-worktree` support by using `git-show-ref`. (GH #437)
 - Add currently checked out branch to `%(branch)` (GH #416)
 - Fix segfault when hitting return in empty file search (GH #464)
 - Remove separator on horizontal split when switching from vertical split
 - Do not expand `--all` when parsing `%(revargs)` (GH #442, #462)
 - Fix exit when the main view is reloaded due to option toggling. (GH #470)
 - Expand all whitespace and control characters to spaces. (GH #485)
 - Restore ability to unbind a default keybinding with `none`. (GH #483)
 - Fix blob view to honor the `wrap-lines` setting.

tig-2.1.1
---------

Improvements:

 - Add support for key combos. (GH #67)
 - See `contrib/vim.tigrc` for Vim-like keybindings. (GH #273, #351)
 - Add GitHub inspired file finder to search for and open any file. (GH #342)
 - Add `search` keymap for navigating file finder search results.

Bug fixes:

 - Fix display of multiple references per commit. (GH #390, #391)
 - Sync the prompt's cursor position with readline's internal position.
   (GH #396)
 - Keep unstaged changes view open after an staging command. (GH #399)

tig-2.1
-------

Improvements:

 - Improve C99 compliance so Tig compiles with the native compilers on
   Solaris (SunStudio cc) and AIX (xlc). (GH #380)
 - Add move-half-page-up and move-half-page-down actions. (GH #323)
 - Preserve the cursor position when changing the diff context.
 - Show 'Unstaged changes' above 'Staged changes' in the main view. (GH #383)
 - Add `:exec <flags><args...>` prompt command to execute commands.
 - Add shorthand for changing the view settings of a single column,
   eg. `set main-view-author = short`. (GH #318)
 - Show better diff context info in the stage view.
 - Add `%(lineno)` state variable. (GH #304)
 - Use hash table to speed up refs lookup. (GH #350)
 - Show the file path in the blob view when available.
 - Use `set commit-order = default` to use Git's default commit order, even when
   the commit graph is enabled. The option will turn off automatic enabling of
   `--topo-order` when the graph is shown in the main view. (GH #310, #324)
 - Speed up the diff view in large repos by loading git-describe info after the
   diff content has been read. (GH #324)
 - Add the old graph rendering as an option. (GH #310, #324)
 - Add `main-options` setting for specifying default main view options.
   Example: `set main-options = --max-count=1000`. (GH #368)
 - See `contrib/large-repo.tigrc` for settings that will help to speed up Tig in
   large repos. (GH #368)
 - Add `:save-options <file>` prompt command to save config to file. (GH #315)

Bug fixes:

 - Update manual to reflect default keybinding changes. (GH #325)
 - Fix graph support for `--first-parent`. (GH #326)
 - Fix off-by-one error when opening editor from the grep view.
 - Fix status on-branch information.
 - Fix main view to handle the case when git-log doesn't find any commits.
 - Fix corner case when parsing diff chunk when lines information is missing.
 - Ensure main view changes commits are shown right before the current HEAD.
 - Fix rendering of boundary commits.
 - Fix compilation with GNU Make 3.80 by removing `$(abspath)`. (GH #362)
 - Fix config parsing to support shell-like quoting in user-defined command,
   e.g. `bind generic <Ctrl-f> :!git log -G"%(prompt Prompt: )"` (GH #371)
 - Make diff meta information colors more consistent with Git. (GH #375)
 - Fix segfault when updating changes in a maximized stage view opened via the
   main view. (GH #376)
 - Handle line number configs where the interval is not specified. (GH #378)
 - Fix display of error messages during startup. (GH #385)
 - Show untracked files outside the current directory like git-status. (GH #230)

tig-2.0.3
---------

Improvements:

 - Add `:save-display <file>` prompt command to save the current display.
 - Add `:script <file>` prompt command for scripting the Tig UI.
 - Add test framework and convert existing tests to use it.
 - Add command-line option for starting in refs view: `tig refs`. (GH #309)
 - Make blame commit ID colors stable across reloads. (GH #303)
 - Increase blame ID and graph rendering color palette to 14 colors.
 - New setting 'split-view-width' controls the width for vertical splits. It
   takes the width of the right-most view either as a number or a percentage.
 - Expose settings holding command line argument lists: `file-args`, `rev-args`,
   and `cmdline-args`. They are mainly intended for testing purposes but also
   allows to change the filtering arguments dynamically. (GH #306)
 - Add `log-options` setting for specifying default log view options.
   Example: `set log-options = --pretty=fuller`.
 - Use option specific view flags to reload view after `:set` commands.

Bug fixes:

 - Refresh the current view when returning from an external command and
   `refresh-mode=after-command`. (GH #289)
 - Fix readline completion.
 - Fix '/' to `find-next` when readline support is enabled. (GH #302)
 - Fix readline prompt to correctly handle UTF-8 characters.
 - Add warnings for more obsolete actions and colors.
 - Fix passing of commit IDS via stdin to the main view.
 - Fix commit title overflow drawing for multibyte text. (GH #307)
 - Fix installation directory permissions.
 - Handle binary files matches reported by git-grep.
 - Toggling of "args"-typed options without any arguments will clear the current
   arguments. Example: `:toggle blame-options`.
 - Detect custom `pretty.format` settings that break the log view and fallback
   to use the `medium` format. (GH #225)
 - Fix invocation of git-diff for the blame view's line tracking. (GH #316)
 - Fix blame completion of directory names. (GH #317)
 - Fix display of conflicts in the main view when 'show-changes' is enabled.
 - Fix off-by-one error when displaying line numbers in the grep view.
 - When showing the commit graph ensure that either topo, date or author-date
   commit order is used. (Debian #757692) (GH #238)

tig-2.0.2
---------

Improvements:

 - Use git-status for diffing the index.
 - Group toggle options together in the help view.

Bug fixes:

 - Fix refs, main and grep loading when 'gui.encoding' is set. (GH #287)
 - Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'.
 - Add work-around for missing strndup() on Mac OS X v10.6. (GH #286)
 - Fix spurious abbreviation of author names. (GH #288)
 - Don't show empty action groups in the help view.

tig-2.0.1
---------

Bug fixes:

 - Fix compilation in watch.c.
 - Fix parsing of key bindings mapped to '^' and '<'. (GH #280, #282)

tig-2.0
-------

Incompatibilities:

 - In preparation for key combo support, key mappings for symbolic keys (e.g.
   `Up` and `Down`) must now start with `<` and end with `>`, e.g. `<Up>` and
   `<Down>`. Furthermore, escape key combos must now use `<Esc>key` instead of
   `^[key`, and control key mappings must now use `<Ctrl-key>` instead of
   `^key`.
 - Only use 'diff-options' for the diff view and introduce '%(cmdlineargs)' to
   hold non-file and non-revision flags passed on the command line. Affects all
   user-defined commands that expect '%(diffargs)' to hold both 'diff-options'
   arguments and those passed on the command line. (GH #228)
 - Remove built-in keybinding for `git gc`. Add the following line to `~/.tigrc`
   to restore it: `bind generic G ?git gc`.
 - To support view specific colors, '.' can no longer be used interchangeably
   with '-' and '_' in settings names and in particular color names.
 - Replace 'stage-next' action with prompt command using a predefined search
   (see below) and add binding (`@` by default) to also work in the diff view.
 - Most view display options must now be set via the new `*-view` options in
   tigrc. Existing options are no longer recognized, but a warning is shown.
 - Remap default bindings to have more consistent convention: use lower-case
   keys primarily for view switching and non-destructive actions, use upper-case
   keys for view-specific actions including user-defined commands. To preserve
   old default key bindings see `contrib/bindings-v1.x.tigrc`. (GH #257)

Improvements:

 - Add mouse support: scroll view, click line to move cursor, double click line
   (or click again) to "Enter" cursor line, e.g. open commit diff. Disabled by
   default, since it makes text selection less intuitive. If you enable this
   remember to hold down Shift (or Option on Mac) when selecting text.
 - Rewrite and improve the rendering of the commit graph. (GH #144, #46)
 - Add completion and history support to the prompt via readline. (GH #185)
 - Options can be configured and toggled individually for each view. Use the new
   view settings to configure the order and display options for each view
   columns. See system tigrc and tigrc(5) for examples. (GH #89, #222)
 - Add grep view as a front-end to git-grep(1): `tig grep -p strchr`. From
   within Tig, the key for switching or grepping is bound to 'g' by default.
 - Rename 'branch' view to 'refs' view and show tags. (GH #134)
 - Add main view pager mode that reads git-log's '--pretty=raw' data
   from stdin, e.g. `git reflog --pretty=raw | tig --pretty=raw`.
 - Add support for `--graph` and highlight diff stats in the log view.
 - Add default command bindings: `!` to delete branch, `!` to drop stash.
 - Add 'stage-split-chunk' action for splitting chunks in the stage view.
   Bound to '\' by default. (GH #107)
 - Add 'back' action bound to '<' by default, which will return the blame view
   to the previous revision and line after moving e.g. to the parent. (GH #124)
 - Auto-refresh views based on watched repository changes. Configure by setting
   `refresh-mode` to 'manual', 'auto', 'after-command', or 'periodic'. (GH #190)
 - All default settings are in well-documented system `tigrc`.
 - Add `:toggle` prompt command to manipulate options using keybindings. For
   example: `bind diff D :toggle diff-options --patience --notes`. (GH #69)
 - Add a new "auto" value for the 'vertical-split' option to let Tig choose the
   split orientation (this is the new default behavior). Can be toggled.
 - Make it possible to toggle the display of files in untracked directories.
 - Allow Tig to be started with no default configuration by specifying an
   alternative system `tigrc` file, e.g.: `TIGRC_SYSTEM=~/.tigrc.safe tig`. Set
   `TIGRC_SYSTEM` to the empty string to use built-in configuration instead of
 - Key mappings can contain UTF-8 multibyte unicode keys.
 - Warn about conflicting keybindings using Ctrl, e.g. `<Ctrl-f>` and
   `<Ctrl-F>`. (GH #218)
 - Extend key bindings for prompt commands (ie. `bind <keymap> <key> :<prompt>`)
   to support predefined searches, eg.: `bind stage 2 :?^@@`.
 - Git color mappings can be configured in tigrc.
 - More informative configuration error messages.
 - Make reference label formatting configurable, for example:
   `set reference-format = (branch) <tags> remote`. (GH #201)
 - Adjust author width and other view columns automatically. (GH #49)
 - Support view specific colors: `color stage.diff-add yellow default`.
 - Copy `-S`, `-G` and `--grep=` pattern to search buffer so 'find-next' and
   'find-prev' work as expected.
 - Optionally specify custom prompt for `%(prompt)` in shell commands, e.g.
   `bind main B ?git checkout -b "%(prompt Enter new branch name: )"`.
 - Add `%(remote)` and `%(tag)` symbols to complement `%(branch)`.
 - User-defined commands can now be prefixed with any of the supported flags,
   e.g. `?git checkout -b %(branch)`.
 - Open editor at line number for combined diffs e.g. diffs of unmerged files.
 - Add build configuration for Cygwin (OS name: CYGWIN_NT-6.1). (GH #92)
 - Document the Git commands supported by the pager mode.  (GH #1)
   system `tigrc` configuration. (GH #235)

Bug fixes:

 - Fix stash diff display when reloading the stash view after a deleting.
 - Set the commit reference when opening the blame view from the blob view.
 - Correctly identify and highlight the remote branch tracked by HEAD.
 - Pass --no-color after user defined arguments to ensure that colors do not
   break the output parsing. (GH #191)
 - Close stdin when pager mode is not supported.
 - Show newly created branches in the main view. (GH #196)
 - File with 0 changes breaks diffstat highlighting (GH #215)
 - Update %(branch) variable in the main view. (GH #223)
 - Disable graph rendering when either of `--reverse`, `-S`, `-G`, and `--grep`
   are passed to the main view. (GH #127)
 - Only refresh views that support it.
 - Fix author and date annotation of renamed entries in the tree view.
 - Fix use of unsafe methods in the signal handler. (GH #245)
 - Fix rendering in non-UTF8 terminals.
 - Fix stage-update-line by rewriting the diff chunk containing the line instead
   of using `--unidiff-zero` and a diff context of zero. (GH #130)
 - Fix status-update to work for untracked directories. (GH #236)
 - Don't pass log parameters given on the command line to the diff view.
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 added a commit that referenced this pull request Mar 11, 2021
pkgsrc changes:

  * Stop pretending that share/bash-completion.d is supported, it isn't.
    Packages that are installing files there should install them into
    share/bash-completion/completions instead.

  * Stop installing profile.d script, only really makes sense under /etc,
    and it wasn't correctly handled as a configuration file anyway.

bash-completion (2.11)

  [ Alexander Meshcheryakov ]
  * _known_hosts_real: check that ruptime is present before calling
    (#390)

  [ Andrew Gaul ]
  * totem: reuse kaffeine completions (#372)

  [ Damien Nadé ]
  * __reassemble_comp_words_by_ref: avoid triggering nounset on
    indirect references

  [ Felix Lechner ]
  * lintian: complete paths for Ubuntu's .ddeb and Debian's buildinfo
    files (#397)

  [ Felix Yan ]
  * ip: complete route add table arg
  * ip: style fixes similar to ip-netns
  * ip: add more completions for ip-rule
  * ip: add support for netns (#391)
  * ip: improve completion of route subcommands (#326)

  [ Hans-Christoph Steiner ]
  * unzip, zipinfo: complete *.aar (#428)

  [ Jakub Jelen ]
  * ssh: add new -Q completions in OpenSSH 8.2p1 (#400)

  [ Kevin Locke ]
  * python: support executables with minor version (#389)

  [ Michal Suchánek ]
  * insmod, modinfo, modprobe: support xz compressed modules (#401)

  [ Phan Duc Nhat Minh ]
  * tshark: complete -r arg with all filenames (#422)

  [ Sebastian Jakubiak ]
  * openssl: update -starttls completions (#403)
  * _filedir*: update link to bug-bash discussion on -X (#404)
  * test/python: add testcase for submodule completion

  [ Ville Skyttä ]
  * Release 2.11
  * extra/make-changelog: check and output usage message
  * pre-commit: anchor exclude patterns
  * pytest: rewrite in bash, support toplevel funcs, avoid nondef ones
    and classes
  * test/xfreerdp: skip --help failure cases
  * test/tshark: fix multiple -O completion with no http2 support
  * test/ant: avoid complete-ant-cmd.pl interference with ANT_ARGS
  * _xinetd_services: avoid nounset error on bash 4.2
  * pre-commit: upgrade isort to 5.1.4
  * pre-commit: upgrade pyupgrade to 2.7.2
  * pre-commit: add pyupgrade, run it
  * test/ant: gitignore all target cache files
  * _known_hosts_real: exclude Host negations
  * pre-commit: upgrade isort to 5.0.7
  * pre-commit: update shellcheck-py URL
  * test/inputrc: do not set print-completions-horizontally
  * test/inputrc: comment typo fix
  * pytest: complete async test class methods
  * __get_cword_at_cursor_by_ref: fix regression on bash 4.2
  * test: upgrade markdownlint-cli to 0.23.2
  * _known_hosts_real: avoid errors in nounset mode on Ubuntu 14 and
    16
  * _longopt: exclude too many dashes, allow underscores, require ends
    with alnum
  * _included_ssh_config_files: support globs
  * _known_hosts_real: prevent unwanted pathname expansion on host
    entries
  * test/shfmt: upgrade to 3.1.2, reformat with it
  * test/_known_hosts_real: add explicit no globbing test case
  * test: upgrade mypy to 0.782
  * CONTRIBUTING.md: add posix and nounset mode item
  * test: upgrade mypy to 0.781
  * test: upgrade perltidy to 20200619
  * _known_hosts_real: fix completion of Host entries after a wildcard
    etc
  * _known_hosts_real: fix # handling in ssh configs
  * test: upgrade flake8 to 3.8.3
  * test/xhost: multiple expected result handling fixes
  * test/slapt-src: single expected result handling fixes
  * test: partial hostname completion fixes
  * test: simplify completion parsing
  * test/dpkg-query: mark as xfail on non-Debian based systems
  * .gitignore: clean up some no longer needed ignores
  * test/lspci: skip -A arg test if lspci fails -A help, e.g. busybox
    lspci
  * test: regex escape our magic mark for completeness
  * test: upgrade mypy to 0.780
  * test/_known_hosts_real: don't modify class scoped base expected
    list
  * test/_known_hosts_real: reset COMP_KNOWN_HOSTS_WITH_HOSTFILE
    between tests
  * test/_known_hosts_real: tolerate duplicates
  * bash_completion: trivial cleanups
  * gcc: avoid errors in nounset mode
  * pytest: fix test class method completion with BSD awk
  * man, mutt: avoid errors in nounset mode on Ubuntu 14 and 16
  * java, make: avoid errors in nounset mode on Ubuntu 14 and 16
  * README: document GNU make build requirement
  * pytest: add test class method completion
  * _known_hosts: avoid errors in nounset mode and no arguments
  * bash_completion: fix array set checks with empty elements in them
  * *: avoid more errors in nounset mode
  * cfrun: fix $hostfile leak
  * _command_offset, route: cleanups
  * *: avoid more errors in nounset mode
  * qemu: add -machine arg completion
  * qemu, sbopkg: avoid unintentional globbing on option arg
    completions
  * test: enable shellcheck SC2035
  * *: drop support for bash 4.1
  * _init_completion: fix unassigned redirect completion in nounset
    mode
  * ip: route shfmt, arithmetic evaluation
  * _filedir: avoid unbound variable error on Ubuntu 14 and 16
  * _pids, _pgids, _pnames: improve shfmt formatting
  * scp, sftp, ssh: fix completion on options bundled with -4/-6
  * modprobe, tshark, _included_ssh_config_files: use [[ ]] instead of
    [ ]
  * test/runLint: warn about [ ] instead of [[ ]] use
  * test: skip various tests if we don't get a useful usage message
  * *: mark nounset mode as supported, issues with it are bugs now
  * *: avoid more errors in nounset mode
  * *: avoid more errors in nounset mode
  * *: avoid more errors in nounset mode
  * test/inputrc: comment and whitespace tweaks
  * *: avoid more errors in nounset mode
  * test/unit: sort files included in dist
  * test/unit: include test_unit_known_hosts_real.py in dist
  * bash_completion: line wrapping tweaks, NFC
  * 7z: fix -o/-w attached arg completion
  * postfix: try to arrange a fake tty so we can tickle the usage
    message out
  * _bashcomp_try_faketty: new function to try running command with a
    fake tty
  * mr: avoid herestrings, simplify command parsing
  * test/mr: handle missing "clean" with skipif
  * test: mark known non-ASCII issues with test suite as xfail
  * dpkg-deb: add --raw-extract and -X arg completions
  * test: add some dpkg-query test cases
  * dpkg-deb: fix --show/-W completion
  * test: upgrade markdownlint-cli to 0.23.1
  * *: use more arithmetic evaluation
  * test: try harder to restore environment and cwd on failures
  * *: use $ifs for storing/restoring $IFS
  * test/irb: xfail options test if --help is not available
  * test: upgrade flake8 to 3.8.1
  * test: pre-commit config cleanups, ordering
  * test: upgrade pre-commit to 2.4.0+, drop shfmt kludge
  * test: sync shfmt and shellcheck configs
  * test: shfmt bashrc
  * test: remove unused run-shellcheck, shellcheck is in pre-commit
    now
  * test: remove old test suite code no longer used \o/
  * test/_known_hosts_real: port remaining test cases to
    pytest+pexpect
  * test: remove more no longer needed old test suite code
  * test/_known_hosts_real: port more test cases to pytest+pexpect
  * test/_get_cword: port remaining test case to pytest+pexpect
  * test: replace some echos with printfs
  * test/_filedir: fix shutil.rmtree on Python < 3.6
  * test/_expand: port remaining test cases to pytest+pexpect
  * test: drop some no longer needed old test suite code
  * test/_filedir: port remaining test cases to pytest+pexpect
  * test: run all Travis jobs on dist: bionic
  * test: drop not needed sudo on Travis
  * test/_filedir: port more test cases to pytest+pexpect
  * test/__expand_tilde_by_ref: port remaining test cases to
    pytest+pexpect
  * test/_get_comp_words_by_ref: convert remaining test cases to
    pytest+pexpect
  * test: run pytest --verbose in docker
  * lftp: use "bookmark list" command to list bookmarks
  * test: drop some no longer needed old test suite code
  * test/slapt-src: convert remaining test case to pytest+pexpect
  * _xfunc: simplify
  * apt-cache: avoid nonzero exit code from _apt_cache_packages
  * test/slapt-get: convert remaining test case to pytest+pexpect
  * test/secret-tool: add to test command list
  * test/scp: port remaining test case to pytest+pexpect
  * test/umount: convert remaining test case to pytest+pexpect
  * secret-tool: new completion
  * apt-get: complete build-dep with dirs
  * travis: use golang 1.14 for shfmt
  * *: run all shell code through shfmt -s
  * pre-commit etc: add shfmt
  * test: fix incorrect fixtures/shared/default xfails/expectations
  * test: upgrade markdownlint to 0.23.0
  * nmap: simplify help scraping a bit, don't try to emit unnecessary
    newlines
  * test: prefix fake test commands with underscore
  * test: port most umount test cases to pytest+pexpect
  * test: add note about unescaped assert_complete single return
    values
  * editorconfig: apply yaml settings to .yaml too
  * pre-commit: use local perlcritic hook
  * *: doc and comment link updates
  * pre-commit, *.md: add markdownlint, address findings
  * README: clarify loading automatically on demand
  * ssh-keygen: -O arg updates and improvements
  * ssh-keygen: add -b arg completions according to specified -t
  * ssh-keygen: option and arg completion updates for new versions
  * _command: improve commentary
  * reportbug, scp, sftp, svn: use compgen -c instead of _command
  * find: fix -exec etc argument and its completion
  * extra: trigger docker builds only on test-cmd-list.txt changes
  * test: add script to maintain list of executables for full test
    coverage
  * test: run lint tests on Travis in a quickish separate first stage
  * test/make: mark more cases as requiring command
  * make: add bmake alias
  * test: run pre-commit on host instead of docker
  * test: add perlcritic to pre-commit, run on all perl
  * *: remove some unused variables, thanks to shellcheck SC2034
  * *: various loop iteration improvements
  * crontab: fix loop over already given args
  * apt-cache: fix command mode handling
  * doc: add loop variable naming guideline
  * test: make at-point completion tests easier
  * ssh, xsltproc: address shellcheck SC2006
  * scp: work around shellcheck SC1003
  * mutt: address shellchec SC2236
  * wget: address shellcheck SC2116
  * pytest: address shellcheck SC2002
  * bash_completion, java, tipc: for loop whitespace consistency
    tweaks
  * *: more arithmetic evaluation cleanups, thanks to shellcheck
    SC2004
  * __reassemble_comp_words_by_ref, java: address and work around
    shellcheck SC2102
  * test: enable parallel pre-commit shellcheck
  * test: remove shellcheck severity filter, add explicit disables
    instead
  * doc: recommend arithmetic evaluation
  * *: array subscript cleanups
  * ssh-keygen: -s and -n completion improvements
  * *: enable and address shellcheck SC2053
  * bash_completion, invoke-rc.d, svcadm: trivial cleanups
  * *: replace various conditional expressions with arithmetic
    evaluation
  * carton: fix command parsing with BSD sed
  * nmap: fix option parsing with BSD sed
  * test/alias: port remaining test case to pytest+pexpect
  * test: generalize complete at point test
  * test/cd: fix test_dir_at_point for setups that repeat "trailer"
  * pytest: add some option arg (non-)completions
  * pytest: complete test classes
  * pgrep, pkill: add --ns and --nslist arg completions
  * test: run skipif and xfail commands without caring if they output
    or not
  * test: make it possible to not care whether command did output or
    not
  * test/xfreerdp: skip xfreerdp kbd test if kbd-list returns empty
  * test: tolerate duplicates from compgen actions
  * test: bump shellcheck severity to warning + some disables
  * *: address shellcheck SC2046
  * test/lib/library.sh: address shellcheck SC2125
  * java, pkgadd, sysbench: address shellchec SC2124
  * scp: address shellcheck SC2089 and SC2090
  * _filedir_xspec: address shellcheck SC2140
  * rpm, ssh, umount.linux: address shellcheck SC2120
  * cvs, modprobe, sh: address shellcheck SC2209
  * mutt: address shellcheck SC2088
  * _upvar, _upvars, _variables, rpm: address shellcheck SC1083
  * test/run: address shellcheck SC2164
  * renice: address shellcheck SC2254
  * tipc: comment grammar and spelling fixes
  * man, perl, route, tipc: address shellcheck SC2053
  * info, java: address shellcheck SC2153
  * quote_readline: fix $ret leak
  * test: upgrade shellcheck to 0.7.1
  * test/printenv: xfail if --help doesn't contain options (e.g.
    busybox)
  * test/aptitude: require command where necessary
  * _known_hosts_real, op: address shellcheck SC2184
  * test: don't run shellcheck on completions/.gitignore
  * protoc: complete all --*_out without more specific handling with
    dirs
  * sysbench: add --test= deprecation TODO
  * pkgadd: indentation fix
  * chronyc, wvdial: address shellcheck SC2178
  * java, pkgadd, sysbench: address shellcheck SC2124
  * mplayer: address shellcheck SC1078 false positive
  * smartctl: hush shellcheck SC2054 false positives
  * *: address shellcheck SC2221 and SC2222
  * bash_completion: address shellcheck SC2220
  * crontab, wodim: silence shellcheck SC2191 and SC2192
  * aptitude: add some option arg (non)completions
  * aptitude: parse options list from --help, hardcode less
  * test/aptitude: add some test cases
  * *: argument interation improvements
  * *: whitespace tweaks
  * apt-get etc: use _apt_cache_packages from apt-cache
  * pre-commit: run most python checks on helpers/python too
  * test/ldd: xfail if --help is not implemented
  * test/printenv: require command for arg completion test
  * printenv: indentation fixes
  * test: upgrade mypy to 0.770
  * test: split dependencies requiring Python 3.6.1+ to requirements-
    dev.txt
  * git: trigger docker rebuild on pre-commit config change
  * test: require openssl command for option argument tests
  * test: move perltidy to pre-commit, run with --converge
  * test: move shellcheck to pre-commit
  * test: ignore flake8 messages that are in black's domain
  * _xinetd_services: look up from $BASHCOMP_XINETDDIR, add some unit
    tests
  * printenv: new completion
  * copyright: add 2020
  * test: fix CompletionResult.__eq__ UnboundLocalError
  * test: run pre-commit in tools container
  * test: shellcheck tweaks
  * test: add isort to pre-commit, run it
  * test: add flake8-bugbear
  * test: install black for Python 3.6 too
  * pre-commit: add config with black, flake8, and mypy
  * test: drop redundant black args from docker runs
  * *: python type hint fixes and improvements
  * extra/make-changelog: run through black
  * test/totem: add basic test case
  * test/cd: remove unused import
  * openssl: complete -writerand with filenames
  * openssl: parse available options from $command -help
  * openssl: support getting digest list from more recent openssl
    versions
  * nmap: handle options split on equals sign
  * nmap: parse options from -h output
  * test/cd: make dir_at_point produce better debuggable failures
  * test/cd: convert remaining test case to pytest+pexpect
  * test: remove some no longer needed old test suite code
  * test/chown,sudo: parametrize special case test, improve xfail
    targeting
  * test/tsig-keygen: require command for test_options
  * test/upgradepkg: port remaining test case to pytest+pexpect
  * tsig-keygen: new completion
  * test: host helper lint and usage fixes
  * test: port some _known_hosts_real unit tests to pytest+pexpect
  * test: remove some no longer needed tcl/expect code
  * test: fix spurious hosts fixture failure without avahi-browse
    installed
  * test: port some scp test cases to pytest+pexpect
  * test: port remaining finger, sftp, ssh, and xhost cases to
    pytest+pexpect
  * lilo: work around shellcheck false positive
  * test/ipcalc: fix tests with busybox ipcalc
  * chromium-browser, firefox: complete on *.txt (#379)
  * README.md: add introduction
  * ipcalc: new completion
  * *: complete commands when prefixed with a backslash
  * test/wol: don't fail MAC test if test system has /etc/ethers
    entries
  * test/dnssec-keygen: allow more alternatives in algorithm
    completion
  * lilo: don't complete on commented out labels
  * lilo: honor -C when completing labels
  * lilo: add -B and -E completions

  [ beantaxi ]
  * Source user completion only if it's a file (#409)

  [ hugoziviani ]
  * jarsigner: complete on *.apk too (#386)
  * cryptsetup: add luksChangeKey arg completion (#380)

 -- Ville Skyttä <ville.skytta@iki.fi>  Sat, 25 Jul 2020 11:25:09 +0300

bash-completion (2.10)

  [ Felix Lechner ]
  * perltidy: associate *.t (#338)

  [ Gabriel F. T. Gomes ]
  * perl: fix completion with space between option and argument

  [ Grisha Levit ]
  * _variables: add TERM and LC_* completion (#353)

  [ Iñigo Martínez ]
  * autotools: Replace pkgdatadir with datadir
  * pkg-config: Relative paths
  * pkg-config: generate Name from autotools PACKAGE

  [ Jakub Jelen ]
  * ssh: option and argument completion updates (#332)

  [ Michał Górny ]
  * test_arp: Skip if ARP tables are empty
  * test_chromium_browser: Skip test_2 if 'chromium-browser --help'
    fails
  * test_rpm2tgz: Fix expected output

  [ Sebastian ]
  * cppcheck: Add new standards to --std option. (#356)

  [ Tomasz N ]
  * apt-get: fix pkg version completion if it contains a colon (#351)

  [ Ville Skyttä ]
  * test: bump black to >=19.10b0
  * ssh, scp, sftp, ssh-copy-id, curl: improve identity file
    completion
  * update-rc.d: indentation fix
  * update-rc.d: remove dead code
  * screen: add serial device basic arg (non)completion
  * screen: add //telnet completion
  * test: add some trivial perl -E/-e cases
  * perl: indentation fixes
  * curl: make @filename completion do the right thing with dirs
  * _filedir: avoid duplicate dirs internally, and a compgen -d call
    for files
  * _filedir: remove unused $x
  * bash_completion.sh: shellcheck SC2086 fixes
  * test: shellcheck config cleanups
  * shellcheck: add some option arg (non)completions
  * test: fix cpio users test in presence of usernames with whitespace
  * test: python typing fixes
  * test: add minimal mypy config
  * .gitignore: mypy cache
  * makepkg: fix option completion
  * test: mark dcop and mr testcases requiring the cmd as such
  * CONTRIBUTING: disable e-mail bug gateway due to spam
  * carton: new completion
  * op: direct command parsing stderr to /dev/null
  * test: adjust java expectations based on whether jars can be listed
  * valgrind: look tool names from lib/*-linux-gnu dirs too
  * test: xfail locale-gen option completion if --help is not
    available
  * _sysvdirs: always return 0
  * java: don't assume jar is installed
  * travis: test with Debian 10
  * wine: install for wine-development and wine-stable too
  * travis: generate dist tarball on alpine
  * dmypy: new completion
  * test: add require_longopt xfail helper, use it
  * test: mark more tests that parse command output as requiring
    command
  * sysctl: invoke completed sysctl instead of one from path to get
    variables
  * screen, smartctl, update-alternatives: _parse_help, drop hardcoded
    option list
  * lintian-info: _parse_help, add more option arg (non)completions
  * gprof: _parse_usage, drop hardcoded option list
  * test: fix retrieving command to test from request
  * travis: pass NETWORK as env var, so we can actually use it
  * test: xfail MAC address completion without networking
  * test: ignore _makepkg_bootstrap in makepkg test env
  * test: hush flake8-bugbear B010
  * test: don't sort expected completion lists under the hood
  * test: add bunch of basic option parsing test cases
  * test: always run tests which don't require tested command
  * test: explodepkg and upgradepkg test fixes
  * test: mark sbcl-mt xfail due to whitespace split issues
  * _terms: search directly from various terminfo dirs
  * _terms: combine and simplify somewhat
  * pkg-get: fix $i leak
  * pkgutil: fix $i leak
  * test: portinstall/upgrade test case and setup fixes
  * lvm pv*, vg*: parse help instead of hardcoding option list
  * ipv6calc: parse help instead of hardcoding option list
  * test: avoid some sed -r/-E runLint false positives
  * test: use sh +* as ccache command test case
  * java: make jar/zip listing work with unzip
  * test: installpkg test fixes
  * test: fix acroread fixture dir
  * test: remove unnecessary returns after pytest.skip
  * test: avoid gnome-mplayer core dump on Ubuntu 14
  * xvfb-run: new completion
  * test: skip gssdp-discover --message-type when option not available
  * test: expect failures for bc without --help useful with _longopt
  * test: don't expect a .tox dir in fixture
  * test: drop sourcing our no longer existing profile.d script
  * tox: include -- in option completions
  * tox: complete defaults after a --
  * gssdp-discover: new completion
  * test: register our pytest markers to hush warnings from 4.5+
  * test: fix required pytest version
  * ip: invoke the tool as $1
  * README: drop distro badges, link to Repology instead
  * chromium-browser: add --proxy-server arg completion
  * test: source our profile.d test env script in docker
  * influx: new completion
  * README: badge title tweaks
  * tox: do simple parse on tox.ini if --listenvs* yields nothing
  * test: add basic tox fixture
  * man: fall back to _parse_usage for _parse_help
  * test_wsimport: xfail options test on unparseable -help
  * test: don't try to install black on Python < 3.6
  * pgrep: fix fallback to _parse_usage
  * test: xfail unparseable mock and munin-node-configure --help cases
  * test_pwdx: xfail more unparseable help cases
  * build: make pytest executable configurable, look for pytest-3 too
  * test: enforce minimum pytest version
  * test: zopflipng flake8 fix
  * test: xfail getent and pwdx option completions with unparseable
    --help
  * test: add more basic _parse_help use test cases
  * test: add bunch of basic _parse_help use test cases
  * .gitignore: add configure.lineno
  * badblocks: fix $i leak
  * postfix: option completion is expected to fail at the moment
  * cal: try _parse_help before _parse_usage
  * test: add bunch of basic _parse_usage use test cases
  * chsh, pwck: try _parse_help before _parse_usage
  * test: add basic autossh test
  * test: convert more _filedir unit tests to pytest+pexpect
  * test: flake8 fix
  * test: convert bunch of _filedir unit tests to pytest+pexpect
  * test: convert finger partial test case to pytest+pexpect
  * README: add some badges, tweak existing
  * test: port _variables unit tests to pytest+pexpect
  * test: port compgen and quote tests to pytest+pexpect
  * iconv, lz4, tipc, xsltproc: replace some seds with compgen -X
  * test: disallow Alpine failure on Travis
  * _pnames: adapt for busybox ps, rewrite in pure bash
  * test: run our docker script in test containers by default
  * test: use one Dockerfile for all dists
  * test_ifup: accept short option completions too
  * timeout: fallback to _parse_usage from _parse_help
  * test_wget: test --s instead of --h
  * test_lsusb: xfail with unparseable --help
  * test: expect failures for various completions without useful
    --help
  * test: support xfail in our markers like skipif, use it a lot
  * test: add Alpine Linux container, allow failures for now
  * iconv: weed out ... from encoding completions
  * test_iconv: add basic file completion test
  * test_iconv: skip option completion if --help fails
  * test_getconf: skip if -a doesn't output any POSIX_V*
  * test_feh, test_makepkg: invoke grep as "command grep"
  * test: generalize check whether we're being run in a container
  * tar: simplify locating tarball from command line
  * pkg_delete: don't limit to FreeBSD
  * test: reformat test_chromium_browser.py source
  * test: set up BASH_COMPLETION_COMPAT_DIR in bashrc (only)
  * test: more thorough system location interference avoidance
  * test: bashrc comment and whitespace tweaks
  * build: makefile whitespace tweaks
  * build: really reset return value before completions check
  * build: simplify symlink setup
  * tar: add missing bsdtar, gtar, and star symlinks
  * README: use light gray badges for unknown versions
  * README: link to cygwin package

  [ Wolf ]
  * ri: hush some warnings

  [ andreabravetti ]
  * unrar: complete on *.exe (#337)

  [ ezr ]
  * chromium-browser: Add support for .mhtml files

  [ jerkey ]
  * screen: complete first arg with serial devices

  [ marxin ]
  * gcc: support new --completion option (#222)

  [ pcc ]
  * unzip, zipinfo: complete *.aab (#340)

  [ versat ]
  * cppcheck: Remove deprecated option 'posix'  for '--std='

 -- Ville Skyttä <ville.skytta@iki.fi>  Thu, 05 Dec 2019 17:04:26 +0200

bash-completion (2.9)

  [ Antonio Terceiro ]
  * dpkg-source: Add --before-build --after-build --commit, and
    --print-format

  [ Gabriel F. T. Gomes ]
  * xm: Deprecate completion for obsolete command (#284)
  * _filedir_xspec: Fallback to suggesting all files if requested
    (#260)
  * tar: Support completions for zstd compression extensions (#255)
  * dpkg: List held packages (#250)
  * cvs: Add completion for the log command

  [ Guillaume Mella ]
  * unzip, zipinfo: Associate with *.xar (eXist-db application
    package) (#257)

  [ Igor Susman ]
  * mplayer: Associate with *.w64

  [ Jaak Ristioja ]
  * okular: Added support for xz-compressed files.

  [ John Swinbank ]
  * _xspecs: Declare as global on bash >= 4.2

  [ Kevin Locke ]
  * test: Increase expect pty to 160 columns
  * test: avoid interrupting magic mark output

  [ Per Lundberg ]
  * 7z: add .msi support

  [ Peter Wu ]
  * tshark: speed up tshark -O completion
  * tshark: fix completion of -Xlua_script option
  * tshark: Support preferences (-o) completion with memoization
  * test: fix misinterpretation of completion output in tests
  * test: fix flake8 complaints about unused imports
  * conftest: fix RemovedInPytest4Warning due to use of
    node.get_marker
  * chromium-browser: consider chrome and chromium as aliases
  * tshark: support .gz and .cap files for -r expansion
  * tshark: prevent a single-character file from breaking -G
    completion
  * tshark: update -T and -t completions

  [ Russell Davis ]
  * man: Fix completion when failglob option is enabled (#225)

  [ Timo Taipalus ]
  * mplayer: Add common supported module music formats

  [ Tomasz N ]
  * _longopt: pick first long option on a line, not last

  [ Ville Skyttä ]
  * *: avoid shellcheck SC1007 and SC1010
  * 7z: add some TODO notes on parsing "i" output for extensions
  * ssh: make -o protocol completion less hardcoded
  * ssh: make option completion case insensitive
  * ssh: fix suboption completion with combined -*o
  * xvnc4viewer: code cleanups
  * doc/testing: remove lots of legacy info, add some new
  * CONTRIBUTING: add upstream vs bash-completion considerations
  * CONTRIBUTING: note runLint and run-shellcheck
  * __parse_options, 7z: avoid herestrings
  * arp, ccze, ifstat, inotifywait, makepkg: invoke sed with "command"
  * shellcheck: disable bunch of warnings when in "-S warning" mode
  * test: move default shell option from run-shellcheck to
    .shellcheckrc
  * test: make runLint search for herestrings
  * tar, valgrind: avoid some herestrings
  * travis: run shellcheck on bash_completion.sh.in too
  * travis: fail on shellcheck errors
  * make: quote eval array definitions to work around shellcheck
    SC1036 bug
  * test: add make -C test case
  * *: shellcheck error fixes
  * _included_ssh_config_files: store found included files in an array
  * _included_ssh_config_files: doc grammar fixes
  * test: add invoke-rc.d test case for not repeating already given
    options
  * ebtables: improve existing table arg parsing
  * test: add script to run shellcheck, run it in Travis, allowing
    failure for now
  * iptables: improve existing table arg parsing
  * test: shorten long gdb test core file name so tar doesn't croak on
    it
  * AUTHORS: remove unrelated project association from my entry
  * apt-get: protect source against regex specials
  * mypy, mysql, xmms: don't complete unknown split long option args
  * synclient: remove unused local variable "split"
  * test: adjust _get_comp_words_by_ref test to changed error output
  * apt-cache: protect showsrc against regex specials
  * test: improve tshark -O arg completion test
  * tshark: ignore stderr when parsing -G, -L, and -h output
  * *: error output consistency, use bash_completion prefix
  * _upvar: deprecate in favor of _upvars
  * *: add missing "ex: filetype=sh"
  * phing: fix getting just a tab for options on CentOS 6
  * phing: don't complete -l with files
  * various: apply file vs dir special cases also when invoked with
    full path
  * *: whitespace tweaks
  * ssh: don't offer protocol v1 specific options if it's not
    supported
  * test: add some gdb non-core files
  * _parse_help: look for long options somewhat more eagerly
  * gdb: relax core filename pattern
  * test/tools: fix exit status incrementation
  * *: arithmetic expression related cleanups
  * test/tools: run all tools, don't stop at first failure
  * test: check for perltidy errors and warnings
  * *: format Perl code with perltidy
  * *: format Python code with black
  * .dir-locals.el: use flycheck-sh-bash-args
  * valgrind: look up tools from libexec dirs too
  * *: make _parse_usage fallbacks more concise
  * svn, svk, wget: use _iconv_charsets
  * *: spelling fixes
  * msynctool: code cleanups
  * *: remove whitespace after redirections
  * *: remove spaces immediately within $()
  * bzip2: recognize *.tbz2 as bzipped
  * modprobe: module parameter boolean values
  * ping, tracepath: parse options primarily with _parse_help
  * ulimit: new completion
  * shellcheck: new completion
  * dnssec-keygen: new completion
  * modprobe: append = to module parameter completions
  * test: include test_unit_longopt.py in dist
  * test: add some _longopt unit tests
  * _longopt: simplify regex, use printf instead of echo, drop
    unnecessary sort
  * nsupdate: new completion
  * _longopt: don't complete --no-* with file/dirname arg
  * copyright: add 2019
  * pytest: complete --pythonwarnings/-W arg
  * python: make warning action list reusable
  * test: use pytest-xdist
  * extra: add git pre-push hook for triggering Docker Hub builds
  * post-commit: trigger on test/requirements.txt too
  * pytest: complete pytest-xdist --dist, --numprocesses, and
    --rsyncdir
  * test: remove no longer needed completion/*.exp
  * xfreerdp: reinstate support for old versions with dash option
    syntax
  * test: rewrite "generate" in Python, fix trailing backslash in
    EXTRA_DIST
  * test: sort t/Makefile.am EXTRA_DIST in C locale
  * ssh: support RemoteCommand and SyslogFacility options
  * test: Expect failure for chown all users test as non-root
  * test: Fix declare test case with bash 5.0
  * adb: Deprecate in favor of one shipped with the Android SDK
  * xfreerdp: Update for more modern xfreerdp
  * jsonschema: New completion
  * test: Remove unnecessary ri xfail
  * test: Clean up man tmp dir
  * .gitignore: Add .python-version (for pyenv)
  * test: Remove unnecessary autouse=True from fixtures
  * ifstat: Make work with iproute2 version
  * iperf, iperf3: Add some option arg (non-)completions
  * test: Fix test generation wrt results checking improvements
  * ifstat: New completion
  * __parse_options: Avoid non-zero exit status
  * test: Refactor/improve completion results checking
  * test: Match Python's default locale unaware sort in bash setup
  * test: Rename completion.line to .output
  * test: Add man failglob test case
  * test: Add pre_cmds support for completion fixture
  * inotifywatch: New completion, common with inotifywait
  * inotifywait: Fix -e completion with BSD sed
  * inotifywait: Avoid some false positive event names
  * test: extend _ip_addresses unit tests some
  * _ip_addresses: Avoid completing ipv4 ones with -6
  * inotifywait: New completion
  * test: Mark some xfails based on if in docker instead of in CI
  * test: Skip ifup options test if it doesn't grok --help, not in CI
  * test: Clean up and docker-ignore __pycache__ dirs
  * build: Include test/t in dist tarball
  * test/t: Avoid trailing backslash in Makefile.am's to appease
    automake
  * test: Remove some no longer used old test suite code
  * _xspecs: Simplify bash version check
  * chmod: Fix "-" completion
  * sysctl: Treat -f as alias for -p/--load
  * .gitignore: Add pytestdebug.log
  * chmod: Fix file completion after modes starting with a dash
  * _count_args: Add 3rd arg for treating option-like things as args
  * test: Fix _count_args test_7 to test intended case
  * pydocstyle: New completion
  * Travis: Remove unused PYTEST env var
  * doc: Note email issues gateway
  * tcpdump: Various option and their arg completion updates
  * test: Fix arp CI (non)expectations, remove redundant test case
  * test: Be more consistent with "CI" env var examination and xfails
  * arp: New completion, somewhat incomplete
  * test: Expect failure in gkrellm if there's no X display
  * doc: Update docs on generating simple tests
  * doc: Some test dependency doc updates
  * test: Add requirements.txt for installing dependencies
  * grpck: Parse options with _parse_help, falling back to
    _parse_usage
  * grpck: Add --root/-R arg completion
  * test suite: Ignore _scp_path_esc in env for ssh-copy-id
  * ssh-copy-id: Add -i and -o arg (non-)completions
  * tar: Clean up some redundant code
  * cancel: Split long line
  * cancel: Add some option arg (non-)completions
  * locale-gen: New completion
  * makepkg: Don't apply to other than Slackware makepkg
  * test: Allow unknowns options in makepkg option completion
  * makepkg: Use _parse_help instead of hardcoding option list
  * mypy: New completion
  * op: New completion
  * hunspell: New completion
  * xmllint: Improve --encode, --pretty, and --xpath arg
    (non-)completions
  * test: Remove leftover completion/ls.exp
  * gcc: Add g++, gcc, gccgo, and gfortran *-[568] aliases
  * perlcritic: New completion
  * gnome-screenshot: New completion
  * isort: New completion
  * freeciv: Option and arg completion updates
  * freeciv-gtk2: Install for freeciv and freeciv-gtk3, rename to
    freeciv
  * mplayer etc: Complete on *.crdownload partial downloads in
    addition to *.part
  * chromium-browser, google-chrome*: New non-xspec completion
  * firefox etc: New non-xspec completion
  * Merge branch 'master' into wip-pexpect
  * nc: Add some more option (non-)completions
  * test: Mark MANPATH without leading/trailing colons test an xfail
    on CI CentOS 6
  * test: Remove kill, killall remnants
  * test: Make case specific env entries shell code, not escaped
  * Merge branch 'master' into wip-pexpect
  * unzip, zipinfo: Associate with *.whl
  * __load_completion: Avoid unnecessary lookups from nonexistent dirs
  * Merge branch 'master' into wip-pexpect
  * gcc: Add g++, gcc, gccgo, and gfortran *-7 aliases
  * test: Use test_unit_* prefix for unit tests, to avoid name clashes
  * test: Support setting cmd=None to require no command, for unit
    tests
  * test: Misc test suite fixes
  * test: Fix jq and scrub skipif commands
  * test: Don't require complete marker on test methods
  * test: Add support for per-test env modifications
  * test: Use more conventional Python file names for tests
  * test: Sort completion results in Python for ease of use in Python
    tests
  * test: Allow __load_completion to fail
  * test: chdir to fixtures dir in Python as well
  * test: Mark xfreerdp as expected failure for now
  * test: Replace + with Plus in test class names
  * test: Implement load_completion_for using assert_bash_exec
  * test: Add ability to selectively ignore diffs in environment
  * test: Fixture reorganization
  * test: Pass through $HOME and $DISPLAY to test bash
  * test: Log pexpect interaction to $BASHCOMP_TEST_LOGFILE if set
  * test: Rename BASHCOMP_* test env variables to BASHCOMP_TEST_*
  * test: Add python3 test case
  * test: Add class level skipif based on bash exec result
  * test: Include command name in test class name, use numbered test
    method names
  * test: Fix some regressions introduced in recent test conversions
  * test: Add support for running test case in a specified dir
  * test: Add support for skipping individual tests based on shell
    command status
  * test: Make test base work with Python 3.3+
  * test: Add some iperf, iperf3 and xmodmap test cases
  * xmodmap: Use _parse_help instead of hardcoded option list
  * iperf: Improve client/server specific option parsing
  * iperf: Install for iperf3 too
  * iperf: Add g/G to --format completions
  * xmodmap: Use _parse_help instead of hardcoded option list
  * iperf: Improve client/server specific option parsing
  * iperf: Install for iperf3 too
  * iperf: Add g/G to --format completions
  * test: Use /root/.local/bin/pytest on ubuntu14 by default
  * test: Add generated test files to t/Makefile.am automatically
  * test: Add new test files to EXTRA_DIST
  * test: Use /root/.local/bin/pytest on centos6 by default
  * test: Use make pytest docker executable env-configurable, default
    pytest-3
  * test: Update generate for pytest+pexpect
  * test: Convert majority of test cases to pytest+pexpect
  * tox: Fall back to --listenvs for env list if --listenvs-all fails
  * git-post-commit: Avoid some error trash when HEAD is not a
    symbolic ref
  * test: Add pylint-3 test case
  * test: Limit number of pylint option completions
  * pydoc, pylint: Determine python2/3 based on command basename only
  * pylint: Bring -f/--format arg completion up to date with pylint
    1.9.2
  * pylint: Implement comma separated --confidence arg completion
  * test: Fix buffer size option listing in run --help
  * test: Bump expect's match_max to 20000 by default
  * test: Run docker tests with --verbose
  * _services: Try systemctl list-unit-files if systemctl list-units
    fails
  * extra/git-post-commit.sh: Add git post-commit Docker Hub trigger
    hook
  * gpgv: New completion
  * pydoc, pylint: Skip module completion if current looks like a path
  * travis: Run ubuntu14/bsd with no network
  * travis: Split long lines in script
  * test: Limit number of wget option completions to avoid unresolved
    result
  * test: Mark flake8 untested if it seems broken
  * pylint: Option arg completion improvements
  * tshark: Get available interfaces from -D output
  * ngrep: Add "any" to -d arg completions
  * fio: New completion
  * test: Fix iwspy test case
  * uscan: Use _parse_help instead of hardcoded option list
  * urlsnarf: Add -p arg completion
  * tracepath: Add -m and -p arg non-completions
  * tracepath: Actually use our separate completion instead of
    _known_hosts
  * test: Skip jq option completion test if its --help doesn't list
    them
  * xdg-settings: Make help parsing work on BSD
  * test: Support running with local BSD binaries, do it w/ ubuntu14
    in CI
  * jq, sqlite3: Protect against negative array subscripts
  * sudo: Improve long option arg handling
  * sysctl: Recognize --pattern/-r and --load options
  * test: Add sysctl option parsing test case
  * sudo: Parse options from help/usage output, add some long option
    support
  * strace: Use _parse_help instead of hardcoded option list
  * sshow: Add -p arg completion
  * sqlite3: Add some option arg (non-)completions
  * tune2fs: Update -o/-O argument lists
  * jq: New completion
  * reportbug: Run _parse_help and apt-cache more selectively
  * querybts: Use _parse_help, not hardcoded option list, misc
    improvements
  * pyvenv: Support versioned 3.6-3.8 executables
  * passwd: Try _parse_help before _parse_usage to parse options
  * profile.d: Avoid tested variable values being confused as [ ]
    operators
  * cryptsetup: Add some option arg (non-)completions
  * cryptsetup, nc, sh: Skip option args when counting arguments
  * modinfo: Fall back to _parse_usage if _parse_help yields no
    results
  * mysql, mysqladmin: Complete --ssl-{ca,cert,key} option arg
  * mysqladmin: Reuse --default-character-set completion from mysql
  * modinfo: Use _parse_help instead of hardcoded option list
  * minicom: Use _parse_help instead of hardcoded option list
  * mplayer: Associate with *.S[3T]M, *.med, *.MED
  * completions/Makefile.am: Use install-data-hook, not install-data-
    local
  * ifup etc: Add option and option argument completion
  * _count_args: Add support for not counting specified option args
  * ifquery: New ifup alias completion
  * ngrep, tshark: Complete on *.pcapng too
  * rpm: Complete --licensefiles with -q
  * pytest: Rename from py.test to follow upstream recommended name
  * README: Add instructions for overriding completions system wide
  * README: Note $BASH_COMPLETION_USER_DIR
  * test: Mark psql etc test cases untested if --help doesn't work
  * aclocal, automake: Support versioned 1.16 executables
  * __load_completion: Avoid bad array subscript on "commands" ending
    with slash
  * lzma: Use _parse_help instead of hardcoded option list
  * test: Run perlcritic and flake8 on perl and python helpers in
    Travis
  * build: Improve cleanup of test/log and test/tmp dirs
  * pkg-config: Complete on *.pc files
  * build: Use AC_PROG_SED to locate sed
  * build: Do cmake, pc, and profile variable replacements in Makefile
  * README: Add Q/A on overriding a completion, modernize local
    install answer
  * json_xs: New completion
  * chmod: New completion
  * iperf, nc: Include IPv6 addresses in bind address completions
  * links: Major rework, parse options from --help, add option arg
    completion
  * _ip_addresses: Add option to complete all/v4/v6 addresses, add
    unit test
  * wget: Remove nonexistent arg to _ip_addresses
  * _filedir: Drop unnecessary evals
  * iconv: Split charset completion to _iconv_charsets, add test case
  * links: Install completion for links2 too
  * xgamma: Comment spelling fix
  * lftp: handle -s
  * test: Skip scrub -p test when its --help doesn't list available
    patterns
  * ecryptfs-migrate-home: New completion
  * scrub: New completion
  * ether-wake: Install for etherwake as well
  * *: Support completing arg of last bundled short option
  * dselect: Parse options with _parse_help
  * dhclient: Add some option arg (non-)completions
  * dhclient: Parse options with _parse_usage
  * chage, chpasswd: Add -R/--root arg completion
  * reportbug: Add bunch of option arg (non-)completions
  * .dir-locals.el: Set -O extglob for flycheck bash checks
  * mount, umount: Deprecate on Linux in favor of util-linux >= 2.28
    ones
  * _known_hosts_real: Reimplement known hosts file parsing in pure
    bash
  * test: Add comment line to fixtures/_known_hosts_real/known_hosts
  * ssh: Complete all *File option args with _filedir
  * README: Point Debian and openSUSE badges towards unstable and
    Tumbleweed
  * README: Link to various distro packages
  * apt-get: Add -h/-v/-o non-completions
  * apt-get: Sync option list with apt 1.5.1
  * apt-get: Simplify -t and friends completion, support Ubuntu
  * apt-get: Add indextargets to list of suggested commands
  * apt-get: Complete install package=versions
  * ssh: Sync config option lists with OpenSSH 7.5p1, add some value
    completions
  * ssh: Sync query type list with OpenSSH 7.5p1
  * ssh: Order various switch cases closer to alphabetical
  * completions/Makefile: Fix check-local in VPATH builds

  [ dmerge ]
  * _filedir: Refactor to remove heredoc-dependent loop

  [ marxin ]
  * gccgo: Add as a GCC completion target (#227)

  [ ovf ]
  * xrandr: match the output name exactly for --mode

 -- Ville Skyttä <ville.skytta@iki.fi>  Sat, 27 Apr 2019 11:50:12 +0300
jperkin pushed a commit that referenced this pull request May 4, 2021
1.90 2021-01-21
	- New stable release incorporating all changes from developer releases
	  1.89_01 to 1.89_05.
	- Summary of major changes since version 1.88:
	  - Formalised libssl version support policy: all stable versions of OpenSSL
	    in the 0.9.8 - 1.1.1 branches (with the exception of 0.9.8 - 0.9.8b) and
	    all stable releases of LibreSSL in the 2.0 - 3.1 series are supported.
	    The LibreSSL 3.2 series is not yet fully supported because its TLSv1.3
	    implementation is not currently libssl-compatible.
	  - Added support for LibreSSL on Windows when built with Visual C++.
	  - Exposed P_X509_CRL_add_extensions, several SSL_CIPHER functions, and
	    several stack functions.
	  - Fixed crashes in the callback functions CTX_set_next_proto_select_cb and
	    CTX_set_alpn_select_cb.
	  - The test suite is now compatible with OpenSSL 1.1.1e onwards, as well as
	    OpenSSL security level 2 (the default on many Linux distributions).

1.89_05 2021-01-21
	- Expose SSL_get_ciphers. Thanks to github user dylc5190.
	- Expose SSL_CIPHER_get_version and fix SSL_CIPHER_description
	  and SSL_CIPHER_get_bits. Also fixed and enhanced
	  documentation for these and related SSL_CIPHER functions.
	- Clarify libssl version support policy: all stable versions of OpenSSL in
	  the 0.9.8 - 1.1.1 branches (with the exception of 0.9.8 - 0.9.8b) and all
	  stable releases of LibreSSL in the 2.0 - 3.1 series are supported.
	- Direct bug reports to the GitHub repository, since rt.cpan.org will shut
	  down on 2021-03-01.

1.89_04 2021-01-13
	- Fix crashes in the callback functions CTX_set_next_proto_select_cb() and
	  CTX_set_alpn_select_cb() caused by the use of a pointer returned by
	  SSL_select_next_proto() which may already have been freed under certain
	  circumstances. Fixes GH-222. Thanks to dylc5190 for the report.
	- Remove the dependency on the AES128-SHA cipher suite in the test script
	  64_ticket_sharing.t. Fixes GH-231.
	- Remove checks and warnings in Makefile.PL relating to the use of RSAref,
	  which was removed from OpenSSL in version 0.9.7.

1.89_03 2020-12-12
	- Expose the following functions:
	  - X509_STORE_CTX_get0_cert, X509_STORE_CTX_get1_chain
	  - sk_X509_pop, sk_X509_shift, sk_X509_unshift,
	  - sk_X509_insert, sk_X509_delete, sk_x509_value, sk_X509_num
	  Thanks to Dan Freed.
	- Correct the minimum OpenSSL version required for the following functions
	  to be made available (previously they were all declared to be present in
	  1.1.0-pre1, which caused Net::SSLeay to crash at run-time when built
	  against OpenSSL versions between 1.1.0-pre1 and 1.1.0-pre3):
	  - CTX_set_max_proto_version (added in 1.1.0-pre2)
	  - CTX_set_min_proto_version (added in 1.1.0-pre2)
	  - SESSION_up_ref (added in 1.1.0-pre4)
	  - set_max_proto_version (added in 1.1.0-pre2)
	  - set_min_proto_version (added in 1.1.0-pre2)
	- Correct the minimum OpenSSL version required for get_SSL_CTX and SSL_ctrl
	  to be made available (previously they were declared to be present from
	  0.9.8f onwards, when in reality they are available in all 0.9.8 versions).
	- Replace the PKI used by the test suite with one generated by the
	  generate-test-pki helper script. All entities in the new PKI have 2048-bit
	  RSA private keys and CSRs, certificates and CRLs with SHA-256 digests,
	  allowing the test suite to execute under OpenSSL security level 2 (now the
	  default security level for OpenSSL in many Linux distributions).
	- Initialise libssl consistently in the test suite.
	- Don't rely on the availability of specific SSL/TLS protocol versions or
	  cipher suites in the test suite; instead, dynamically select from any of
	  the available protocol versions and cipher suites permitted by libssl.
	  Fixes RT#132425. Thanks to Graham Ollis for the initial report of the test
	  suite failing on Ubuntu 20.04 with the Ubuntu-packaged OpenSSL, whose
	  configuration forbids the use of TLSv1.1 and below at run-time by default.

1.89_02 2020-08-07
	- Add support for the P_X509_CRL_add_extensions function. Thanks to
	  Manuel Mausz for the patch.
	- X509_get_subjectAltNames now knows how to return
	  GEN_RID. The returned value is an ASN OID in text format
	  with current maximum length of 2500 characters. Updated
	  t/local/33_x509_create_cert.t to use GEN_RID and all other
	  supported types with certificate request and signed
	  certificate. These relate to GitHub issue GH-149 opened by
	  s482dcaw.
	- Support for 64-bit Windows versions of OpenSSL from 1.0.0-beta1
	  through to 1.0.0b has been withdrawn due to malfunctions occurring in
	  Perl programs that use fork(). This mainly affects users of Strawberry
	  Perl x64 5.12.3.20180709, which ships with OpenSSL 1.0.0-beta4.
	  Affected users should build Net-SSLeay against OpenSSL 1.0.0c or
	  above; users of Strawberry Perl x64 5.12.3.20180709 may instead find
	  it easier to upgrade to Strawberry Perl x64 5.14.4.1 or above. See
	  radiator-software/p5-net-ssleay#189 for more
	  information.

1.89_01 2020-03-22
	- Fix the repository URL in Makefile.PL (git:// rather than git@),
	  which was preventing it from being added to META.json. Thanks to
	  Dan Book.
	- When building Net-SSLeay, exit if an OpenSSL executable cannot be
	  found in PATH. Fixes RT#131060. Thanks to Nigel Horne for the report.
	- Remove non-OCSP external tests, many of which unnecessarily duplicate
	  local tests or fail for reasons outside of our control. Fixes
	  RT#129542. Thanks to Andreas Vögele for the bug report that
	  ultimately led to this change.
	- Add support for LibreSSL on Windows when built with Visual C++.
	  Thanks to Graham Ollis for the patch.
	- In SSL_CTX_free() and SSL_free(), clean callback-related data from
	  the global hash after freeing ctx, not before. This allows callbacks
	  to be executed during freeing. Thanks to Steffen Ullrich for the
	  patch.
	- t/local/07_sslecho.t started failing with OpenSSL 1.1.1e. Updated
	  the test file with missing calls to Net::SSLeay::shutdown(). Also
	  added one call in SSLeay.pm sslcat() function. Enabling SSLeay trace
	  level 3 showed 'unexpected eof while reading' errors which were added
	  to OpenSSL with commit db943f43. This fixes GitHub issue GH-160
	  reported by Brett T. Warden.
	- t/local/01_pod.t now requires Test::Pod 1.41 to work with Pod syntax
	  used with Net::SSLeay 1.88 and later. This fixes GitHub issue GH-147
	  reported by Ulrik Haugen.
jperkin pushed a commit that referenced this pull request Jun 15, 2021
Changes with Apache 2.4.48

  *) mod_proxy_wstunnel: Add ProxyWebsocketFallbackToProxyHttp to opt-out the
     fallback to mod_proxy_http for WebSocket upgrade and tunneling.
     [Yann Ylavic]

  *) mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling.
     BZ 65294.  [Yann Ylavic]

  *) core: Fix a regression that stripped the ETag header from 304 responses.
     PR 61820 [Ruediger Pluem, Roy T. Fielding]

  *) core: Adding SSL related inquiry functions to the server API.
     These function are always available, even when no module providing
     SSL is loaded. They provide their own "shadowing" implementation for
     the optional functions of similar name that mod_ssl and impersonators
     of mod_ssl provide.
     This enables loading of several SSL providing modules when all but
     one of them registers itself into the new hooks. Two old-style SSL
     modules will not work, as they replace the others optional functions
     with their own.
     Modules using the old-style optional functions will continue to work
     as core supplies its own versions of those.
     The following has been added so far:
     - ap_ssl_conn_is_ssl() to query if a connection is using SSL.
     - ap_ssl_var_lookup() to query SSL related variables for a
       server/connection/request.
     - Hooks for 'ssl_conn_is_ssl' and 'ssl_var_lookup' where modules
       providing SSL can install their own value supplying functions.
     - ap_ssl_add_cert_files() to enable other modules like mod_md to provide
       certificate and keys for an SSL module like mod_ssl.
     - ap_ssl_add_fallback_cert_files() to enable other modules like mod_md to
       provide a fallback certificate in case no 'proper' certificate is
       available for an SSL module like mod_ssl.
     - ap_ssl_answer_challenge() to enable other modules like mod_md to
       provide a certificate as used in the RFC 8555 'tls-alpn-01' challenge
       for the ACME protocol for an SSL module like mod_ssl. The function
       and its hook provide PEM encoded data instead of file names.
     - Hooks for 'ssl_add_cert_files', 'ssl_add_fallback_cert_files' and
       'ssl_answer_challenge' where modules like mod_md can provide providers
       to the above mentioned functions.
     - These functions reside in the new 'http_ssl.h' header file.
     [Stefan Eissing]

  *) core/mod_ssl/mod_md: adding OCSP response provisioning as core feature. This
     allows modules to access and provide OCSP response data without being tied
     of each other. The data is exchanged in standard, portable formats (PEM encoded
     certificates and DER encoded responses), so that the actual SSL/crypto
     implementations used by the modules are independant of each other.
     Registration and retrieval happen in the context of a server (server_rec)
     which modules may use to decide if they are configured for this or not.
     The area of changes:
     1. core: defines 2 functions in include/http_ssl.h, so that modules may
        register a certificate, together with its issuer certificate for OCSP
        response provisioning and ask for current response data (DER bytes) later.
        Also, 2 hooks are defined that allow modules to implement this OCSP
        provisioning.
     2. mod_ssl uses the new functions, in addition to what it did already, to
        register its certificates this way. If no one is interested in providing
        OCSP, it falls back to its own (if configured) stapling implementation.
     3. mod_md registers itself at the core hooks for OCSP provisioning. Depending
        on configuration, it will accept registrations of its own certificates only,
        all certificates or none.
     [Stefan Eissing]

 *) mod_md: v2.4.0 with improvements and bugfixes
     - MDPrivateKeys allows the specification of several types. Beside "RSA" plus
     optional key lengths elliptic curves can be configured. This means you can
     have multiple certificates for a Managed Domain with different key types.
     With ```MDPrivateKeys secp384r1 rsa2048``` you get one ECDSA  and one RSA
     certificate and all modern client will use the shorter ECDSA, while older
     client will get the RSA certificate.
     Many thanks to @tlhackque who pushed and helped on this.
     - Support added for MDomains consisting of a wildcard. Configuring
     ```MDomain *.host.net``` will match all virtual hosts matching that pattern
     and obtain one certificate for it (assuming you have 'dns-01' challenge
     support configured). Addresses #239.
     - Removed support for ACMEv1 servers. The only known installation used to
     be Let's Encrypt which has disabled that version more than a year ago for
     new accounts.
     - Andreas Ulm (<https://github.com/root360-AndreasUlm>) implemented the
     ```renewing``` call to ```MDMessageCmd``` that can deny a certificate
     renewal attempt. This is useful in clustered installations, as
     discussed in #233).
     - New event ```challenge-setup:<type>:<domain>```, triggered when the
     challenge data for a domain has been created. This is invoked before the
     ACME server is told to check for it. The type is one of the ACME challenge
     types. This is invoked for every DNS name in a MDomain.
     - The max delay for retries has been raised to daily (this is like all
     retries jittered somewhat to avoid repeats at fixed time of day).
     - Certain error codes reported by the ACME server that indicate a problem
     with the configured data now immediately switch to daily retries. For
     example: if the ACME server rejects a contact email or a domain name,
     frequent retries will most likely not solve the problem. But daily retries
     still make sense as there might be an error at the server and un-supervised
     certificate renewal is the goal. Refs #222.
     - Test case and work around for domain names > 64 octets. Fixes #227.
     When the first DNS name of an MD is longer than 63 octets, the certificate
     request will not contain a CN field, but leave it up to the CA to choose one.
     Currently, Lets Encrypt looks for a shorter name in the SAN list given and
     fails the request if none is found. But it is really up to the CA (and what
     browsers/libs accept here) and may change over the years. That is why
     the decision is best made at the CA.
     - Retry delays now have a random +/-[0-50]% modification applied to let
     retries from several servers spread out more, should they have been
     restarted at the same time of day.
     - Fixed several places where the 'badNonce' return code from an ACME server
     was not handled correctly. The test server 'pebble' simulates this behaviour
     by default and helps nicely in verifying this behaviour. Thanks, pebble!
     - Set the default `MDActivationDelay` to 0. This was confusing to users that
     new certificates were deemed not usably before a day of delay. When clocks are
     correct, using a new certificate right away should not pose a problem.
     - When handling ACME authorization resources, the module no longer requires
     the server to return a "Location" header, as was necessary in ACMEv1.
     Fixes #216.
     - Fixed a theoretical uninitialized read when testing for JSON error responses
     from the ACME CA. Reported at <https://bz.apache.org/bugzilla/show_bug.cgi?id=64297>.
     - ACME problem reports from CAs that include parameters in the Content-Type
     header are handled correctly. (Previously, the problem text would not be
     reported and retries could exceed CA limits.)
     - Account Update transactions to V2 CAs now use the correct POST-AS-GET method.
     Previously, an empty JSON object was sent - which apparently LE accepted,
     but others reject.
     [Stefan Eissing, @tlhackque, Andreas Ulm]

Changes with Apache 2.4.47

  *) mod_dav_fs: Improve logging output when failing to open files for
     writing.  PR 64413.  [Bingyu Shen <ahshenbingyu gmail.com>]

  *) mod_http2: Fixed a race condition that could lead to streams being
     aborted (RST to the client), although a response had been produced.
     [Stefan Eissing]

  *) mod_lua: Add support to Lua 5.4  [Joe Orton, Giovanni Bechis, Ruediger Pluem]

  *) MPM event/worker: Fix possible crash in child process on early signal
     delivery.  PR 64533.  [Ruediger Pluem]

  *) mod_http2: sync with github standalone version 1.15.17
     - Log requests and sent the configured error response in case of early detected
       errors like too many or too long headers. [Ruediger Pluem]
     - new option 'H2OutputBuffering on/off' which controls the buffering of stream output.
       The default is on, which is the behaviour of older mod-h2 versions. When off, all
       bytes are made available immediately to the main connection for sending them
       out to the client. This fixes interop issues with certain flavours of gRPC, see
       also <icing/mod_h2#207>.
       [Stefan Eissing]

  *) mod_unique_id: Fix potential duplicated ID generation under heavy load.
     PR 65159
     [Jonas Müntener <jonas.muentener ergon.ch>, Christophe Jaillet]

  *) "[mod_dav_fs etag handling] should really honor the FileETag setting".
     - It now does.
     - Add "Digest" to FileETag directive, allowing a strong ETag to be
       generated using a file digest.
     - Add ap_make_etag_ex() and ap_set_etag_fd() to allow full control over
       ETag generation.
     - Add concept of "binary notes" to request_rec, allowing packed bit flags
       to be added to a request.
     - First binary note - AP_REQUEST_STRONG_ETAG - allows modules to force
       the ETag to a strong ETag to comply with RFC requirements, such as those
       mandated by various WebDAV extensions.
     [Graham Leggett]

  *) mod_proxy_http: Fix a possibly crash when the origin connection gets
     interrupted before completion.  PR 64234.
     [Barnim Dzwillo <dzwillo strato.de>, Ruediger Pluem]

  *) mod_ssl: Do not keep connections to OCSP responders alive when doing
     OCSP requests.  PR 64135.  [Ruediger Pluem]

  *) mod_ssl: Improve the coalescing filter to buffer into larger TLS
     records, and avoid revealing the HTTP header size via TLS record
     boundaries (for common response generators).
     [Joe Orton, Ruediger Pluem]

  *) mod_proxy_hcheck: Don't pile up health checks if the previous one did
     not finish before hcinterval.  PR 63010.  [Yann Ylavic]

  *) mod_session: Improve session parsing.  [Yann Yalvic]

  *) mod_authnz_ldap: Prevent authentications with empty passwords for the
     initial bind to fail with status 500. [Ruediger Pluem]

  *) mod_auth_digest: Fast validation of the nonce's base64 to fail early if
     the format can't match anyway.  [Yann Ylavic]

  *) mod_proxy_fcgi: Honor "SetEnv proxy-sendcl" to forward a chunked
     Transfer-Encoding from the client, spooling the request body when needed
     to provide a Content-Length to the backend.  PR 57087.  [Yann Ylavic]

  *) mod_proxy: Put mod_proxy_{connect,wstunnel} tunneling code in common in
     proxy_util.  [Yann Ylavic]

  *) mod_proxy: Improve tunneling loop to support half closed connections and
     pending data draining (for protocols like rsync). PR 61616. [Yann Ylavic]

  *) mod_proxy_http: handle Upgrade request, 101 (Switching Protocol) response
     and switched protocol forwarding.  [Yann Ylavic]

  *) mod_proxy_wstunnel: Leave Upgrade requests handling to mod_proxy_http,
     allowing for (non-)Upgrade negotiation with the origin server.
     [Yann Ylavic]

  *) mod_proxy: Allow ProxyErrorOverride to be restricted to specific status
     codes.  PR63628. [Martin Drößler <mail martindroessler.de>]

  *) core: Add ReadBufferSize, FlushMaxThreshold and FlushMaxPipelined
     directives.  [Yann Ylavic]

  *) core: Ensure that aborted connections are logged as such. PR 62823
     [Arnaud Grandville <contact@grandville.net>]

  *) http: Allow unknown response status' lines returned in the form of
     "HTTP/x.x xxx Status xxx".  [Yann Ylavic]

  *) mod_proxy_http: Fix 100-continue deadlock for spooled request bodies,
     leading to Request Timeout (408).  PR 63855.  [Yann Ylavic]

  *) core: Remove headers on 304 Not Modified as specified by RFC7234, as
     opposed to passing an explicit subset of headers. PR 61820.
     [Giovanni Bechis]

  *) mpm_event: Don't reset connections after lingering close, restoring prior
     to 2.4.28 behaviour.  [Yann Ylavic]

  *) mpm_event: Kill connections in keepalive state only when there is no more
     workers available, not when the maximum number of connections is reached,
     restoring prior to 2.4.30 behaviour.  [Yann Ylavic]

  *) mod_unique_id: Use base64url encoding for UNIQUE_ID variable,
     avoiding the use of '@'.  PR 57044.
     [Michael Kaufmann <apache-bugzilla michael-kaufmann.ch>]

  *) mod_rewrite: Extend the [CO] (cookie) flag of RewriteRule to accept a
     SameSite attribute. [Eric Covener]

  *) mod_proxy: Add proxy check_trans hook.  This allows proxy
     modules to decline request handling at early stage.

  *) mod_proxy_wstunnel: Decline requests without an Upgrade
     header so ws/wss can be enabled overlapping with later
     http/https.

  *) mod_http2: Log requests and sent the configured error response in case of
     early detected errors like too many or too long headers.
     [Ruediger Pluem, Stefan Eissing]

  *) mod_md: Lowered the required minimal libcurl version from 7.50 to 7.29
     as proposed by <alexander.gerasimov codeit.pro>. [Stefan Eissing]

  *) mod_ssl: Fix request body buffering with PHA in TLSv1.3.  [Joe Orton]

  *) mod_proxy_uwsgi: Fix a crash when sending environment variables with no
     value. PR 64598 [Ruediger Pluem]

  *) mod_proxy: Recognize parameters from ProxyPassMatch workers with dollar
     substitution, such that they apply to the backend connection.  Note that
     connection reuse is disabled by default to avoid compatibility issues.
     [Takashi Sato, Jan Kaluza, Eric Covener, Yann Ylavic, Jean-Frederic Clere]
@goekesmi goekesmi closed this Jul 21, 2021
@goekesmi goekesmi deleted the ap-auth-openidc branch July 21, 2021 15:23
jperkin pushed a commit that referenced this pull request Sep 6, 2021
# htmltools 0.5.2

## Breaking Changes

* Closed #205: When calling `tagGetAttribute(x)` on an object with a
  non-atomic attribute, a list of untouched values will be
  returned. It is still recommended to only store character values
  inside attributes. (#212)

## New Features & Improvements

* `{htmltools}` now has its own `{pkgdown}` site hosted at
  <https://rstudio.github.io/htmltools/>.

* The new `tagQuery()` function provides a
  [jQuery](https://jquery.com/) inspired interface to query and/or
  modify HTML `tag()` (e.g., `div()`) or `tagList()` objects. To learn
  more, see the [{pkgdown}
  article](https://rstudio.github.io/htmltools/articles/tagQuery.html). (#208)

* Added `tagAddRenderHook()` for delaying modification of a tag object
  until it is rendered. A list of render-time hooks may also be added
  via the new `.renderHook` argument added to all `tag()`
  functions. (#215)

* Closed #243: Added `withTags(.noWS)` to change the default
  whitespace behavior for all tags within the call to
  `withTags()`. (#245)

* Closed #251: Added `.cssSelector` parameters to tag modifying
  functions such as `tagAppendChildren()` or
  `tagAppendChildren()`. The `.cssSelector` allows you to target
  particular (inner) tags of interest. See `tagAppendChildren()` for
  examples. (#224)

* Closed #225: Added `tagInsertChildren()` to be able to insert child
  tag objects at a particular location. (#224)

## Bug Fixes

* When retrieving a tag attribute using `tagGetAttribute(tag, attr)`,
  `NA` values will be removed before combining remaining attribute
  values. If all attribute values are `NA`, then a single `NA` value
  will be returned. (#212)

* Closed #197: Fixed rendering of boolean attributes in `<script>`
  tags rendered via `renderDependencies()` (#197, thanks @atusy).

* Closed #222: Unnamed attributes are no longer allowed to be appended
  via `tagAppendAttribs()`. When trying to print unnamed tag attribs,
  a better error message is provided. (#229)
jperkin pushed a commit that referenced this pull request Nov 28, 2021
Changes with Apache 2.4.48

  *) mod_proxy_wstunnel: Add ProxyWebsocketFallbackToProxyHttp to opt-out the
     fallback to mod_proxy_http for WebSocket upgrade and tunneling.
     [Yann Ylavic]

  *) mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling.
     BZ 65294.  [Yann Ylavic]

  *) core: Fix a regression that stripped the ETag header from 304 responses.
     PR 61820 [Ruediger Pluem, Roy T. Fielding]

  *) core: Adding SSL related inquiry functions to the server API.
     These function are always available, even when no module providing
     SSL is loaded. They provide their own "shadowing" implementation for
     the optional functions of similar name that mod_ssl and impersonators
     of mod_ssl provide.
     This enables loading of several SSL providing modules when all but
     one of them registers itself into the new hooks. Two old-style SSL
     modules will not work, as they replace the others optional functions
     with their own.
     Modules using the old-style optional functions will continue to work
     as core supplies its own versions of those.
     The following has been added so far:
     - ap_ssl_conn_is_ssl() to query if a connection is using SSL.
     - ap_ssl_var_lookup() to query SSL related variables for a
       server/connection/request.
     - Hooks for 'ssl_conn_is_ssl' and 'ssl_var_lookup' where modules
       providing SSL can install their own value supplying functions.
     - ap_ssl_add_cert_files() to enable other modules like mod_md to provide
       certificate and keys for an SSL module like mod_ssl.
     - ap_ssl_add_fallback_cert_files() to enable other modules like mod_md to
       provide a fallback certificate in case no 'proper' certificate is
       available for an SSL module like mod_ssl.
     - ap_ssl_answer_challenge() to enable other modules like mod_md to
       provide a certificate as used in the RFC 8555 'tls-alpn-01' challenge
       for the ACME protocol for an SSL module like mod_ssl. The function
       and its hook provide PEM encoded data instead of file names.
     - Hooks for 'ssl_add_cert_files', 'ssl_add_fallback_cert_files' and
       'ssl_answer_challenge' where modules like mod_md can provide providers
       to the above mentioned functions.
     - These functions reside in the new 'http_ssl.h' header file.
     [Stefan Eissing]

  *) core/mod_ssl/mod_md: adding OCSP response provisioning as core feature. This
     allows modules to access and provide OCSP response data without being tied
     of each other. The data is exchanged in standard, portable formats (PEM encoded
     certificates and DER encoded responses), so that the actual SSL/crypto
     implementations used by the modules are independant of each other.
     Registration and retrieval happen in the context of a server (server_rec)
     which modules may use to decide if they are configured for this or not.
     The area of changes:
     1. core: defines 2 functions in include/http_ssl.h, so that modules may
        register a certificate, together with its issuer certificate for OCSP
        response provisioning and ask for current response data (DER bytes) later.
        Also, 2 hooks are defined that allow modules to implement this OCSP
        provisioning.
     2. mod_ssl uses the new functions, in addition to what it did already, to
        register its certificates this way. If no one is interested in providing
        OCSP, it falls back to its own (if configured) stapling implementation.
     3. mod_md registers itself at the core hooks for OCSP provisioning. Depending
        on configuration, it will accept registrations of its own certificates only,
        all certificates or none.
     [Stefan Eissing]

 *) mod_md: v2.4.0 with improvements and bugfixes
     - MDPrivateKeys allows the specification of several types. Beside "RSA" plus
     optional key lengths elliptic curves can be configured. This means you can
     have multiple certificates for a Managed Domain with different key types.
     With ```MDPrivateKeys secp384r1 rsa2048``` you get one ECDSA  and one RSA
     certificate and all modern client will use the shorter ECDSA, while older
     client will get the RSA certificate.
     Many thanks to @tlhackque who pushed and helped on this.
     - Support added for MDomains consisting of a wildcard. Configuring
     ```MDomain *.host.net``` will match all virtual hosts matching that pattern
     and obtain one certificate for it (assuming you have 'dns-01' challenge
     support configured). Addresses #239.
     - Removed support for ACMEv1 servers. The only known installation used to
     be Let's Encrypt which has disabled that version more than a year ago for
     new accounts.
     - Andreas Ulm (<https://github.com/root360-AndreasUlm>) implemented the
     ```renewing``` call to ```MDMessageCmd``` that can deny a certificate
     renewal attempt. This is useful in clustered installations, as
     discussed in #233).
     - New event ```challenge-setup:<type>:<domain>```, triggered when the
     challenge data for a domain has been created. This is invoked before the
     ACME server is told to check for it. The type is one of the ACME challenge
     types. This is invoked for every DNS name in a MDomain.
     - The max delay for retries has been raised to daily (this is like all
     retries jittered somewhat to avoid repeats at fixed time of day).
     - Certain error codes reported by the ACME server that indicate a problem
     with the configured data now immediately switch to daily retries. For
     example: if the ACME server rejects a contact email or a domain name,
     frequent retries will most likely not solve the problem. But daily retries
     still make sense as there might be an error at the server and un-supervised
     certificate renewal is the goal. Refs #222.
     - Test case and work around for domain names > 64 octets. Fixes #227.
     When the first DNS name of an MD is longer than 63 octets, the certificate
     request will not contain a CN field, but leave it up to the CA to choose one.
     Currently, Lets Encrypt looks for a shorter name in the SAN list given and
     fails the request if none is found. But it is really up to the CA (and what
     browsers/libs accept here) and may change over the years. That is why
     the decision is best made at the CA.
     - Retry delays now have a random +/-[0-50]% modification applied to let
     retries from several servers spread out more, should they have been
     restarted at the same time of day.
     - Fixed several places where the 'badNonce' return code from an ACME server
     was not handled correctly. The test server 'pebble' simulates this behaviour
     by default and helps nicely in verifying this behaviour. Thanks, pebble!
     - Set the default `MDActivationDelay` to 0. This was confusing to users that
     new certificates were deemed not usably before a day of delay. When clocks are
     correct, using a new certificate right away should not pose a problem.
     - When handling ACME authorization resources, the module no longer requires
     the server to return a "Location" header, as was necessary in ACMEv1.
     Fixes #216.
     - Fixed a theoretical uninitialized read when testing for JSON error responses
     from the ACME CA. Reported at <https://bz.apache.org/bugzilla/show_bug.cgi?id=64297>.
     - ACME problem reports from CAs that include parameters in the Content-Type
     header are handled correctly. (Previously, the problem text would not be
     reported and retries could exceed CA limits.)
     - Account Update transactions to V2 CAs now use the correct POST-AS-GET method.
     Previously, an empty JSON object was sent - which apparently LE accepted,
     but others reject.
     [Stefan Eissing, @tlhackque, Andreas Ulm]

Changes with Apache 2.4.47

  *) mod_dav_fs: Improve logging output when failing to open files for
     writing.  PR 64413.  [Bingyu Shen <ahshenbingyu gmail.com>]

  *) mod_http2: Fixed a race condition that could lead to streams being
     aborted (RST to the client), although a response had been produced.
     [Stefan Eissing]

  *) mod_lua: Add support to Lua 5.4  [Joe Orton, Giovanni Bechis, Ruediger Pluem]

  *) MPM event/worker: Fix possible crash in child process on early signal
     delivery.  PR 64533.  [Ruediger Pluem]

  *) mod_http2: sync with github standalone version 1.15.17
     - Log requests and sent the configured error response in case of early detected
       errors like too many or too long headers. [Ruediger Pluem]
     - new option 'H2OutputBuffering on/off' which controls the buffering of stream output.
       The default is on, which is the behaviour of older mod-h2 versions. When off, all
       bytes are made available immediately to the main connection for sending them
       out to the client. This fixes interop issues with certain flavours of gRPC, see
       also <icing/mod_h2#207>.
       [Stefan Eissing]

  *) mod_unique_id: Fix potential duplicated ID generation under heavy load.
     PR 65159
     [Jonas Müntener <jonas.muentener ergon.ch>, Christophe Jaillet]

  *) "[mod_dav_fs etag handling] should really honor the FileETag setting".
     - It now does.
     - Add "Digest" to FileETag directive, allowing a strong ETag to be
       generated using a file digest.
     - Add ap_make_etag_ex() and ap_set_etag_fd() to allow full control over
       ETag generation.
     - Add concept of "binary notes" to request_rec, allowing packed bit flags
       to be added to a request.
     - First binary note - AP_REQUEST_STRONG_ETAG - allows modules to force
       the ETag to a strong ETag to comply with RFC requirements, such as those
       mandated by various WebDAV extensions.
     [Graham Leggett]

  *) mod_proxy_http: Fix a possibly crash when the origin connection gets
     interrupted before completion.  PR 64234.
     [Barnim Dzwillo <dzwillo strato.de>, Ruediger Pluem]

  *) mod_ssl: Do not keep connections to OCSP responders alive when doing
     OCSP requests.  PR 64135.  [Ruediger Pluem]

  *) mod_ssl: Improve the coalescing filter to buffer into larger TLS
     records, and avoid revealing the HTTP header size via TLS record
     boundaries (for common response generators).
     [Joe Orton, Ruediger Pluem]

  *) mod_proxy_hcheck: Don't pile up health checks if the previous one did
     not finish before hcinterval.  PR 63010.  [Yann Ylavic]

  *) mod_session: Improve session parsing.  [Yann Yalvic]

  *) mod_authnz_ldap: Prevent authentications with empty passwords for the
     initial bind to fail with status 500. [Ruediger Pluem]

  *) mod_auth_digest: Fast validation of the nonce's base64 to fail early if
     the format can't match anyway.  [Yann Ylavic]

  *) mod_proxy_fcgi: Honor "SetEnv proxy-sendcl" to forward a chunked
     Transfer-Encoding from the client, spooling the request body when needed
     to provide a Content-Length to the backend.  PR 57087.  [Yann Ylavic]

  *) mod_proxy: Put mod_proxy_{connect,wstunnel} tunneling code in common in
     proxy_util.  [Yann Ylavic]

  *) mod_proxy: Improve tunneling loop to support half closed connections and
     pending data draining (for protocols like rsync). PR 61616. [Yann Ylavic]

  *) mod_proxy_http: handle Upgrade request, 101 (Switching Protocol) response
     and switched protocol forwarding.  [Yann Ylavic]

  *) mod_proxy_wstunnel: Leave Upgrade requests handling to mod_proxy_http,
     allowing for (non-)Upgrade negotiation with the origin server.
     [Yann Ylavic]

  *) mod_proxy: Allow ProxyErrorOverride to be restricted to specific status
     codes.  PR63628. [Martin Drößler <mail martindroessler.de>]

  *) core: Add ReadBufferSize, FlushMaxThreshold and FlushMaxPipelined
     directives.  [Yann Ylavic]

  *) core: Ensure that aborted connections are logged as such. PR 62823
     [Arnaud Grandville <contact@grandville.net>]

  *) http: Allow unknown response status' lines returned in the form of
     "HTTP/x.x xxx Status xxx".  [Yann Ylavic]

  *) mod_proxy_http: Fix 100-continue deadlock for spooled request bodies,
     leading to Request Timeout (408).  PR 63855.  [Yann Ylavic]

  *) core: Remove headers on 304 Not Modified as specified by RFC7234, as
     opposed to passing an explicit subset of headers. PR 61820.
     [Giovanni Bechis]

  *) mpm_event: Don't reset connections after lingering close, restoring prior
     to 2.4.28 behaviour.  [Yann Ylavic]

  *) mpm_event: Kill connections in keepalive state only when there is no more
     workers available, not when the maximum number of connections is reached,
     restoring prior to 2.4.30 behaviour.  [Yann Ylavic]

  *) mod_unique_id: Use base64url encoding for UNIQUE_ID variable,
     avoiding the use of '@'.  PR 57044.
     [Michael Kaufmann <apache-bugzilla michael-kaufmann.ch>]

  *) mod_rewrite: Extend the [CO] (cookie) flag of RewriteRule to accept a
     SameSite attribute. [Eric Covener]

  *) mod_proxy: Add proxy check_trans hook.  This allows proxy
     modules to decline request handling at early stage.

  *) mod_proxy_wstunnel: Decline requests without an Upgrade
     header so ws/wss can be enabled overlapping with later
     http/https.

  *) mod_http2: Log requests and sent the configured error response in case of
     early detected errors like too many or too long headers.
     [Ruediger Pluem, Stefan Eissing]

  *) mod_md: Lowered the required minimal libcurl version from 7.50 to 7.29
     as proposed by <alexander.gerasimov codeit.pro>. [Stefan Eissing]

  *) mod_ssl: Fix request body buffering with PHA in TLSv1.3.  [Joe Orton]

  *) mod_proxy_uwsgi: Fix a crash when sending environment variables with no
     value. PR 64598 [Ruediger Pluem]

  *) mod_proxy: Recognize parameters from ProxyPassMatch workers with dollar
     substitution, such that they apply to the backend connection.  Note that
     connection reuse is disabled by default to avoid compatibility issues.
     [Takashi Sato, Jan Kaluza, Eric Covener, Yann Ylavic, Jean-Frederic Clere]
jperkin pushed a commit that referenced this pull request Feb 21, 2022
### Added

* CLI: The `--fix` flag has been added, allowing users to attempt to
  automatically upgrade any vulnerable dependencies to the first safe version
  available ([#212](pypa/pip-audit#212),
  [#222](pypa/pip-audit#222))

* CLI: The combination of `--fix` and `--dry-run` is now supported, causing
  `pip-audit` to perform the auditing step but not any resulting fix steps
  ([#223](pypa/pip-audit#223))

* CLI: The `--require-hashes` flag has been added which can be used in
  conjunction with `-r` to check that all requirements in the file have an
  associated hash ([#229](pypa/pip-audit#229))

* CLI: The `--index-url` flag has been added, allowing users to use custom
  package indices when running with the `-r` flag
  ([#238](pypa/pip-audit#238))

* CLI: The `--extra-index-url` flag has been added, allowing users to use
  multiple package indices when running with the `-r` flag
  ([#238](pypa/pip-audit#238))

### Changed

* `pip-audit`'s minimum Python version is now 3.7.

* CLI: The default output format is now correctly pluralized
  ([#221](pypa/pip-audit#221))

* Output formats: The SBOM output formats (`--format=cyclonedx-xml` and
  `--format=cyclonedx-json`) now use CycloneDX
  [Schema 1.4](https://cyclonedx.org/docs/1.4/xml/)
  ([#216](pypa/pip-audit#216))

* Vulnerability sources: When using PyPI as a vulnerability service, any hashes
  provided in a requirements file are checked against those reported by PyPI
  ([#229](pypa/pip-audit#229))

* Vulnerability sources: `pip-audit` now uniques each result based on its
  alias set, reducing the amount of duplicate information in the default
  columnar output format
  ([#232](pypa/pip-audit#232))

* CLI: `pip-audit` now prints its output more frequently, including when
  there are no discovered vulnerabilities but packages were skipped.
  Similarly, "manifest" output formats (JSON, CycloneDX) are now emitted
  unconditionally
  ([#240](pypa/pip-audit#240))

### Fixed

* CLI: A regression causing excess output during `pip audit -r`
  was fixed ([#226](pypa/pip-audit#226))
jperkin pushed a commit that referenced this pull request Jun 7, 2022
1.5.0 (2022/04/06)

* Adapters - internally, most (all?) adapters now inherit from a base
  Adapter class

* Adapters - adapter configuration is now accessed via a config method on

* each adapter - see the code for examples. This shouldn't affect

* users unless they were directly modifying adapters' attributes.

* Redis - fix deprecation warnings for Redis 4.6+ multi/pipelined handling
  (#215)

* Mongo - slight improvement to error handling

1.5.1 (2022/04/13)

* Adapters::File - fix an implicit hash issue in Ruby 3 (#222)
jperkin pushed a commit that referenced this pull request Jun 21, 2022
5.1.0 (Aug 08, 2021)
--------------------

- Allow forcing colored output on/off, thanks @msabramo: #218
- Synchronize trove classifiers with tested versions, thanks @D3X: #222

5.0.1 (Jun 08, 2021)
--------------------

- Drop support for flake8 < 3.x (removes `flake8-polyfill` dependency), by
  @joxl: #219
jperkin pushed a commit that referenced this pull request Mar 17, 2023
- added support for Hare
- fixed `--no-trailing-nl` option for LaTeX output (#216)
- fixed typos in rnc.lang, spn.lang and znn.lang (#139)
- fixed missing ngerman package for `--replace-quotes` option (#222)
- fixed quotes highlighting in XML (#226)
- updated file extension lists (#227)
- updated astyle lib to version 3.2
jperkin pushed a commit that referenced this pull request Apr 12, 2023
2.5.0 Latest (2023-03-19)

What's Changed

* Improved state handling by @ioquatix in #222
jperkin pushed a commit that referenced this pull request May 10, 2023
v2.1.0 (2023-03-28)
-------------------

Deprecations and Removals
^^^^^^^^^^^^^^^^^^^^^^^^^

- Support for documenting languages other than Python is deprecated. (#248)
- Removed the option to have autoapi generate toctree entries for domain objects.
  Domain objects are now added to the toctree by Sphinx.
  Dropped support for sphinx < 5.2.0. (#369)


Misc
^^^^

- Added basic type checking.
- Integrated towncrier into the release workflow.


v2.0.1 (2023-01-16)
-------------------

Features
^^^^^^^^
- Can turn off the addition of documented objects to the TOC tree.
- Added support for Python 3.11.

Bug Fixes
^^^^^^^^^
- `#330 <https://github.com/readthedocs/sphinx-autoapi/issues/330>`: (Python)
  Render tuple values as tuples, not lists.
- `#341 <https://github.com/readthedocs/sphinx-autoapi/issues/341>`: (Python)
  Fix module level assignments to class attributes being documented as
  module level attributes.
- (Python) Fix "bysource" sort order showing items in alphabetical order.
- (Python) Use the correct directives for a variable type and value.

Trivial/Internal Changes
^^^^^^^^^^^^^^^^^^^^^^^^
- Removed some autogenerated test data from the repository.


v2.0.0 (2022-09-27)
-------------------

Breaking Changes
^^^^^^^^^^^^^^^^

- Dropped support for Sphinx <4.
- `#352 <https://github.com/readthedocs/sphinx-autoapi/issues/352>`: (Python)
  Properties are rendered with the ``property`` directive,
  fixing support for Sphinx 5.2.
  A new ``PythonPythonMapper`` object (``PythonProperty``) has been created
  to support this change. This object can be passed to templates, filters,
  and hooks.
  A new ``property.rst`` template has also been created to support this change.

Trivial/Internal Changes
^^^^^^^^^^^^^^^^^^^^^^^^
- Use https links where possible in documentation.
- Pass correct argument types to ``status_iterator``.


V1.9.0 (2022-07-25)
-------------------

Breaking Changes
^^^^^^^^^^^^^^^^

- Dropped support for Python 3.6.

Features
^^^^^^^^

- Added support for Python 3.10.
- `#222 <https://github.com/readthedocs/sphinx-autoapi/issues/222>`:
  Marked extension as parallel read safe.

Bug Fixes
^^^^^^^^^
- `#324 <https://github.com/readthedocs/sphinx-autoapi/issues/324>`: (Python)
  Fail elegantly when no source files are found.
- (Python) Stop calling ``autodoc-process-docstring`` when docstring is empty.
  Works around sphinx-doc/sphinx#10701.
- `#318 <https://github.com/readthedocs/sphinx-autoapi/issues/318>`: (Python)
  Fixed misaligned argument types on methods/classmethods when using type comments.
- `#278 <https://github.com/readthedocs/sphinx-autoapi/issues/278>`: (Python)
  Limit signatures to 60 characters in summaries.
- Fix keyerror when using markdown sources.
- `#328 <https://github.com/readthedocs/sphinx-autoapi/issues/328>`: (Python)
  Fix kw-only marker getting ignored if first in the signature.

Trivial/Internal Changes
^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed tests in Sphinx 5.
- Fixed many typos throughout the documentation.
jperkin pushed a commit that referenced this pull request May 25, 2023
Changelog (taken from https://github.com/eudev-project/eudev/releases/tag/v3.2.12):

Release 3.2.12

What's Changed

    rules/50-udev-default.rules: add PTP entry for Hyper-V/Azure by @dermotbradley in #218
    Add the BUILD instructions for Gentoo by @lu-zero in #224
    Fix warnings by @bbonev in #222
    udev: add udev_dir as synonym of udevdir by @oreo639 in #225
    build: Remove dead g-i-r configuration by @akiernan in #231
    Hwdb.7 by @bbonev in #221
    Precompiled hwdb by @bbonev in #223
    Merge suitable rules changes from systemd by @bbonev in #220
    Merge hwdb from systemd by @bbonev in #219
    Fix problems detected by fortified builds by @bbonev in #232
    Avoid warning on 32bit by @bbonev in #233
    Systemd PR 24353 by @bbonev in #239
    Do not free a static string by @bbonev in #238
    man: udev.7, mention /usr/lib with split-usr by @omnivagant in #246
    Missing tools by @bbonev in #240
    Fix compile-time issue on very old kernels by @cockroach in #247
jperkin pushed a commit that referenced this pull request Jun 2, 2023
################################################################################
Changed in xts 0.13.1:

o Ignore attribute order in `all.equal()`. Attribute order shouldn't matter.
  That can be checked with `identical()`.

o Only call `tzone()` and `tclass()` once in `check.TZ()`. Calling these
  functions multiple times throws multiple warnings for xts objects created
  before the tclass and tzone were attached to the index instead of the xts
  object. (#306)

o Add instructions to update old objects. Old xts objects do not have tclass
  and tzone attributes on the index. Add a function to update the object
  attributes and add a note to the warning to show how to use it. (#306)

o Return 'POSIXct' if object has no 'tclass'. An empty string is not a valid
  'tclass', so it can cause an error.

o Add notes on `plot.xts()` nomenclature and structure. Also add ASCII art to
  illustrate definitions and layout. (#103)

o Remove 'tis' support. The implementation was not even a bare minimum, and
  it's not clear it even worked correctly. (#398)

o Register missing S3 methods and update signatures. With R-devel (83995-ish),
  `R CMD check` notes these S3 methods are not registered. It also notes that
  the signatures for `as.POSIXct.tis()` and `str.replot_xts()` do not match
  the respective generics.

  It also thinks `time.frequency()` is a S3 method because `time()` is a
  generic. The function isn't exported, so renaming won't break any external
  code. Thanks to Kurt Hornik for the report. (#398)

o Format each column individually before printing. The top/bottom rows could
  have a different number of decimal places and there are often multiple
  variying spaces between columns. For example:

                                close      volume          ma         bsi
      2022-01-03 09:31:00     476.470  803961.000          NA   54191.000
      2022-01-03 09:32:00     476.700  179476.000          NA   53444.791
      2022-01-03 09:33:00     476.540  197919.000          NA  -16334.994
                      ...
      2023-03-16 14:52:00    394.6000  46728.0000    392.8636  28319.4691
      2023-03-16 14:53:00    394.6500  64648.0000    392.8755  15137.6857
      2023-03-16 14:54:00    394.6500  69900.0000    392.8873  -1167.9368

  There are 4 spaces between the index and the 'close' column, 2 between
  'close' and 'volume', 4 between 'volume' and 'ma', and 2 between 'ma' and
  'bsi'. There should be a consistent number of spaces between the columns. Most
  other classes of objects print with 1 space between the columns.

  The top rows have 3 decimals and the bottom rows have 4. These should also be
  the same. (#321)

o Only convert printed index values to character. Converting the entire index
  to character is time-consuming for xts objects with many observations. It can
  take more than a second to print an xts object with 1mm observations.

o Make column names based on number of columns. The original code was a lot
  more complicated because it tried to account for truncating the number of
  printed columns. That functionality was removed because of how complicated
  it was. So now we can simply create printed column names from the number of
  columns. (#395)

o Fix `xts()` for zero-row data.frame. The `xts()` constructor would create an
  object with a list for coredata when 'x' is a data.frame with no rows. It
  needs to convert 'x' to a matrix and throw an error if 'x' is a list. (#394)

o Reduce instances when `dplyr::lag()` warning is shown. The warning was shown
  whenever it detected dplyr is installed, even if the user wasn't actively
  using dplyr. That caused an excessive amount of noise when other packages
  attached xts (e.g. quantmod). Thanks to Duncan Murdoch for the report and
  suggested fix! (#393)

o Keep colname when only one non-time-based column. The subset `x[, -which.col]`
  would return a vector when the data frame has a time-based column and only
  one additional column. Do not drop dimensions, so 'x' will still be a
  data.frame in this case. (#391)

o Treat NA the same as NULL for start or end values. NULL represents an
  undefined index value. NA represents an unknown or missing index value. xts
  does not allow NA as index values. Subsetting an xts or zoo object by NA
  returns a zero-length object. So a NA (unknown) index value is essentially
  the same as an undefined index value. (#383, #345)

o Warn and remove NA when `periodicity()` called on date-time with NA.
  Otherwise the uninformative error below will be thrown. (#289)

      Error in try.xts(x, error = "'x' needs to be timeBased or xtsible") :
        'x' needs to be timeBased or xtsible

o Account for TZ when making names for `split.xts()`. `as.yearmon.POSIXct()`
  always sets `tz = "GMT"` when calling `as.POSIXlt()`, regardless of the xts'
  index tzone.  That can cause the `as.yearmon()` results to be different days
  for GMT and the index's timezone.

  Use `format.POSIXct()` for "months" because it checks for a 'tzone' attribute
  before converting to POSIXlt and calling `format.POSIXlt()`.  The conversion
  to POSIXlt is important because it checks and uses the 'tzone' attribute
  before considering the 'tz' argument. So it effectively ignores the
  `tz = "GMT"` setting in `as.yearmon()`. This is also the reason for calling
  `as.POSIXlt()` before calling `as.yearqtr()`. (#392)


################################################################################
Changed in xts 0.13.0:

### New Features

o Added a xts method for `na.fill()` to significantly increase performance when
  'fill' is a scalar. (#259)

o `as.xts()` will look for a time-based column in a data.frame if it cannot
  create an index from the row names. (#381)

o Change `print()` xts method to only show the first and last 'show.rows' rows
  if number of rows is > 'max.rows'. (#321)

o Made `str()` output more descriptive for xts objects. It now differentiates
  between xts objects that are empty, zero-width, or zero-length, and defines
  each type of object. It also adds column names to the output. (#168, #378)

o Add startup warning that `dplyr::lag()` breaks method dispatch, which means
  calls to `lag(my_xts)` won't work any more.

o Added open-ended time of day subsetting ranges. This allows users to subset
  by time of day from the start/end of the day without providing the start/end
  times (00:00:00.000/23:59:59.999).

  For example:
      x["/T1800"]  # between the start of the day and 5pm
      x["T0500/"]  # between 5am and the end of the day

  Thanks to Chris Katsulis for the suggestion! (#243)

o Updated `to.period()` to accept custom 'endpoints' via the 'period' argument.
  Now you can aggregate on something other than the times that 'endpoints()'
  supports. Thanks to Ethan B. Smith for the suggestion! (#302)

### Fixes

o Fixed typo and expand `period.apply()` documentation. (#205)
    The original description has:
      * "the data from INDEX[k] to INDEX[k+1]"
    But that's not consistent with the code. It should be:
      * "the data from INDEX[k]+1 to INDEX[k+1]"

o Calls to `merge.xts()` on zero-width objects now match `merge.zoo()`.
  Previously, `merge.xts()` would return empty xts objects if called on two or
  more zero-width xts objects. `merge.zoo()` would return a zero-width object
  with the correct index. (#227, #379)

o Fixed `Ops.xts()` so it always returned an object with the same class as the
  first (left-hand side) argument. It previously returned an xts object even
  if the first argument was a subclass of xts. (#49)

### Other

o Migrated unit tests from RUnit to tinytest. Thanks Mark van der Loo!

o Updated the `endpoints()` documentation to make it clearer that the result
  is based on the UNIX epoch (midnight 1970, UTC). Thanks to GitHub user
  Eluvias for the suggestion! (#299)

o Fixed `reclass()` to ensure it always adds index attributes from the
  'match.to' argument. It was not copying `tclass`, `tzone`, or `tformat` from
  'match.to' to the result object. (#43)

o Removed an unnecessary check in `na.locf()` (which is not user-facing).
  Thanks to GitHub user @cgiachalis for the suggestion! (#307)

o Updated C entry points so they're not able to accidentally be found via
  dynamic lookup (i.e. `.Call("foo", ...)`). This makes each call to the C
  code a few microseconds faster, which is nice. (#260)

o Made `merge.xts()` results consistent with `merge.zoo()` for zero-length xts
  objects with columns. The result of `merge.xts()` did not include the
  columns of any objects that had one or more columns, but zero rows. A join
  should include all the columns of the joined objects, regardless of the
  number of rows in the object. This is consistent with `merge.zoo()`. Thanks
  to Ethan B. Smith for the report and testing! (#222)
jperkin pushed a commit that referenced this pull request Jun 5, 2023
# shinyjs 2.1.0 (2021-12-20)
- New feature: you can now reset all inputs on the page by calling
  `reset()` with no arguments (#222)
- New feature: Add a `removeEvent()` function which removes events
  added to HTML elements with `onclick()` or `onevent()` (#244)
- Fix bug: `disable()` did not work on nested download buttons (#223)
- Fix bug: Don't automatically namespace ID arguments in custom
  extendShinyjs functions (#229)
- Fix bug: ensure that `extendShinyjs()` functions don't overwrite
  native {shinyjs} functions (#230)
jperkin pushed a commit that referenced this pull request Aug 8, 2023
What's Changed
 - fix typo in config example variable by @hyperpuncher in #209
 - Add Void Linux as install option by @f1nbar in #210
 - Implement timeout mechanism for getting authentication token by
   @aome510 in #212
 - Fix a typo for homebrew install instructions by @toh995 in #216
 - Add tracks_playback_limit config option by @aome510 in #219
 - Use ttl cache instead of lru by @aome510 in #220
 - Create app.toml with default values if it doesn't exist by @cobbinma in #221
 - Tokyonight Theme 🎨 by @cobbinma in #225
 - Improve queue popup by @m-torhan in #226
 - fix: constant module name typo by @nuugen in #227
 - Allow removing a keybind by @Kuba314 in #223
 - move items in a playlist by @cobbinma in #224
 - Improve TTL caching and handling by @aome510 in #230
 - Playlist CLI Editing - New, Delete, Import, Fork, Update by
   @justjokiing in #222
jperkin pushed a commit that referenced this pull request Sep 1, 2023
Change log:

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

    Update LSP spec to latest by @karthiknadig in #230
    Add --output-dir switch to code generator by @karthiknadig in #239

Dotnet

    Dotnet: Code generation for LSP methods by @karthiknadig in #222
    Generate request, notification and options classes by @karthiknadig in #224
    dotnet: Add test case generation by @karthiknadig in #226
    Add devcontainer support to repo by @timheuer in #234
    Add dotnet test and format check to GHA by @karthiknadig in #240
    Add response types and improve test suite by @karthiknadig in #243
    Generate dotnet project package. by @karthiknadig in #252
    Format Generated Code by @karthiknadig in #257
    Use record instead of class for LSP types. by @karthiknadig in #258
    Use ImmutableArray and ImmutableDictionary by @karthiknadig in #256

Bug Fixes

    Fix bug with structuring LSPObject type by @karthiknadig in #229
    dotnet: Fix issues with OrType serialization by @karthiknadig in #232
    Improve documentation tags in generated code by @karthiknadig in #250
    Fix warning with generated converter code by @karthiknadig in #251
    Fix for missing notebook selector hook by @karthiknadig in #260
jperkin pushed a commit that referenced this pull request Sep 19, 2023
 - tweak scroll and zoom
 - translat brush last
 - update deps
 - Fix: update libwebp-sys to fix security vulnerability (fixes #222)
 - Fix: Lazy loop enabled on windows
jperkin pushed a commit that referenced this pull request Jan 25, 2024
## Version 0.5.1

Changes:

 * LaTeX math extension (`MD_FLAG_LATEXMATHSPANS`) now requires that opener
   mark is not immediately preceded with alpha-numeric character and similarly
   that closer mark is not immediately followed with alpha-numeric character.

   So for example `foo$ x + y = z $` is not recognized as LaTeX equation
   anymore because there is no space between `foo` and the opening `$`.

 * Table extension (`MD_FLAG_TABLES`) now recognizes only tables with no more
   than 128 columns. This limit has been imposed to prevent a pathological
   case of quadratic output size explosion which could be used as DoS attack
   vector.

 * We are now more strict with `MD_FLAG_PERMISSIVExxxAUTOLINKS` family of
   extensions with respect to non-alphanumeric characters, with the aim to
   mitigate false positive detections.

   Only relatively few selected non-alphanumeric are now allowed in permissive
   e-mail auto-links (`MD_FLAG_PERMISSIVEEMAILAUTOLINKS`):
     - `.`, `-`, `_`, `+` in user name part of e-mail address; and
     - `.`, `-`, `_` in host part of the e-mail address.

   Similarly for URL and e-mail auto-links (`MD_FLAG_PERMISSIVEURLAUTOLINKS` and
   `MD_FLAG_PERMISSIVEWWWAUTOLINKS`):
     - `.`, `-`, `_` in host part of the URL;
     - `/`, `.`, `-`, `_` in path part of the URL;
     - `&`, `.`, `-`, `+`, `_`, `=`, `(`, `)` in the query part of the URL
       (additionally, if present, `(` and `)` must form balanced pairs); and
     - `.`, `-`, `+`, `_` in the fragment part of the URL.

   Furthermore these characters (with some exceptions like where they serve as
   delimiter characters, e.g. `/` for paths) are generally accepted only when
   an alphanumeric character both precedes and follows them (i.e. these cannot
   be "stacked" together).

Fixes:

 * Fix several bugs where we haven't properly respected already resolved spans
   of higher precedence level in handling of permissive auto-links extensions
   (family of `MD_FLAG_PERMISSIVExxxAUTOLINKS` flags), LaTeX math extension
   (`MD_FLAG_LATEXMATHSPANS`) and wiki-links extension (`MD_FLAG_WIKILINKS`)
   of the form `[[label|text]]` (with pipe `|`). In some complex cases this
   could lead to invalid internal parser state and memory corruption.

   Identified with [OSS-Fuzz](https://github.com/google/oss-fuzz).

 * [#222](mity/md4c#222):
   Fix strike-through extension (`MD_FLAG_STRIKETHROUGH`) which did not respect
   same rules for pairing opener and closer marks as other emphasis spans.

 * [#223](mity/md4c#223):
   Fix incorrect handling of new-line character just at the beginning and/or
   end of a code span where we were not following CommonMark specification
   requirements correctly.


## Version 0.5.0

Changes:

 * Changes mandated by CommonMark specification 0.30.

   Actually there are only very minor changes to recognition of HTML blocks:

   - The tag `<textarea>` now triggers HTML block (of type 1 as per the
     specification).

   - HTML declaration (HTML block type 4) is not required to begin with an
     upper-case ASCII character after the `<!`. Any ASCII character is now
     allowed. Also it now doesn't require a whitespace before the closing `>`.

   Other than that, the newest specification mainly improves test coverage and
   clarifies its wording in some cases, without affecting the implementation.

   Refer to [CommonMark
   0.30 notes](https://github.com/commonmark/commonmark-spec/releases/tag/0.30)
   for more info.

 * Make Unicode-specific code compliant to Unicode 15.1.

 * Update list of entities known to the HTML renderer from
   https://html.spec.whatwg.org/entities.json.

New Features:

 * Add extension allowing to treat all soft break as hard ones. It has to be
   explicitly enabled with `MD_FLAG_HARD_SOFT_BREAKS`.

   Contributed by [l-m](https://github.com/l1mey112).

 * Structure `MD_SPAN_A_DETAIL` now has a new member `is_autolink`.

   Contributed by [Jens Alfke](https://github.com/snej).

 * `md2html` utility now supports command line options `--html-title` and
   `--html-css`.

   Contributed by [Andreas Baumann](https://github.com/andreasbaumann).

Fixes:

 * [#163](mity/md4c#163):
   Make HTML renderer to emit `'\n'` after the root tag when in the XHTML mode.

 * [#165](mity/md4c#165):
   Make HTML renderer not to percent-encode `'~'` in URLs. Although it does
   work, it's not needed, and it can actually be confusing with URLs such as
   `http://www.example.com/~johndoe/`.

 * [#167](mity/md4c#167),
   [#168](mity/md4c#168):
   Fix multiple instances of various buffer overflow bugs, found mostly using
   a fuzz testing. Contributed by [dtldarek](https://github.com/dtldarek) and
   [Thierry Coppey](https://github.com/TCKnet).

 * [#169](mity/md4c#169):
   Table underline now does not require 3 characters per table column anymore.
   One dash (optionally with a leading or tailing `:` appended or prepended)
   is now sufficient. This improves compatibility with the GFM.

 * [#172](mity/md4c#172):
   Fix quadratic time behavior caused by unnecessary lookup for link reference
   definition even if the potential label contains nested brackets.

 * [#173](mity/md4c#173),
   [#174](mity/md4c#174),
   [#212](mity/md4c#212),
   [#213](mity/md4c#213):
   Multiple bugs identified with [OSS-Fuzz](https://github.com/google/oss-fuzz)
   were fixed.

 * [#190](mity/md4c#190),
   [#200](mity/md4c#200),
   [#201](mity/md4c#201):
   Multiple fixes of incorrect interactions of indented code block with a
   preceding block.

 * [#202](mity/md4c#202):
   We were not correctly calling `enter_block()` and `leave_block()` callbacks
   if multiple HTML blocks followed one after another; instead previously
   such blocks were merged into one.

   (This may likely impact only applications interested in Markdown's AST,
   and not just converting Markdown to other formats like HTML.)

 * [#210](mity/md4c#210):
   The `md2html` utility now handles nested images with optional titles
   correctly.

 * [#214](mity/md4c#214):
   Tags `<h2>` ... `<h6>` incorrectly did not trigger HTML block.

 * [#215](mity/md4c#215):
   The parser incorrectly did not accept optional tabs after setext header
   underline.

 * [#217](mity/md4c#217):
   The parser incorrectly resolved emphasis in some situations, if the emphasis
   marks were enclosed by punctuation characters.
jperkin pushed a commit that referenced this pull request Feb 9, 2024
1.1.2 (2024-02-05)
=====
- Update copyright year
- Update tooltip when hovering over a hyperlink
- build: Align CFLAGS with LDADD
- prefs-dialog: Add missing strings to translate (#222)
- dropdown: Default dropdown-toggle-focus to false
- Add runtime guard for XfceSMClient
- build: Restrict XfceSMClient to X11
- Determine cwd on FreeBSD in a native way instead of using linprocfs
- window: Remove weak ref on prefs dialog in finalize()
- build: Get rid of #ifdef G_ENABLE_DEBUG
- Do not reconnect accels when closing last tab
- build: Lower xfce4-dev-tools requirements to stable version
- search-dialog: Use xfce_titled_dialog_set_default_response()
- Translation Updates:
  Albanian, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan),
  Croatian, Danish, Dutch, Estonian, French, German, Greek, Italian,
  Japanese, Lithuanian, Norwegian Bokmål, Polish, Portuguese,
  Portuguese (Brazil), Russian, Serbian, Slovenian, Spanish, Swedish,
  Turkish, Ukrainian
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 Apr 3, 2024
Features / Improvements ✨
    Links should be "openable" (#43)
    Add support for previewing images in room scrollback (#108)
    Enable sending strikethrough text (#141)
    Support composing messages in an external editor (#155)
    Add support for logging in with SSO (#160)
    Add new command for logging out of iamb session (#162)
    Support custom sorting for room and user lists (#170)
    feat: desktop file for GUI environment launchers (#178)
    Add a new :chats window that lists both DMs and Rooms (#184)
    Add support for desktop notifications (#192)
    Support coloring entire message with the user color (#193)
    Indicate and sort on rooms with unread messages (#205)
    Support following the .well-known entries for a username's domain (#209)
    Add support for threads (#216)
    Add support for custom key macros (#217)
    Support displaying shortcodes instead of Emojis in messages (#222)
    Support configuring user gutter width (#223)
    Enable autolinking when rendering Markdown (#226)
    Support notifications via terminal bell (#227)
    Support loading a TOML configuration (#229)
    Add commands for importing and exporting room keys (#233)

Documentation / README updates 📚
    Fix example config (#140)
    Add more documentation (#166)
    Update README.md to add openSUSE Tumbleweed (#191)
    Add snap install instructions (#210)
    Add example of mapping "V" to toggle message selection mode (#195)
    Update manual pages to use mdoc(7) and list commands (#230)
    Add an icon for iamb (#232)

Bug Fixes 🐞
    Fix not showing display names in already synced rooms (#171)
    Fix image preview offset (#179)
    Update to ratatui-image@0.4.3 to use native sixel lib (#181)
    Fix truncation/padding for non-ASCII sender names (#182)
    Fix crash on small image preview (#198)
    Download rooms keys from backups if they exist (#211)
    Ignore key releases on platforms that support it (#220)
    Provide better error message for M_UNKNOWN_TOKEN (#101)
    Fix entering thread view when there's no messages yet (#224)
    Fix image previews in replies (#225)
    Reset message bar when ! is passed with :cancel (#231)
    Wait to log in before starting background tasks (#234)

Performance ⏱️
    Reduce CPU usage by instead fetching read receipts after related sync events (#168)
    Load receipts for room before acquiring lock (#213)

Building / Housekeeping 🧹
    Update Cargo.lock file (#157)
    Update modalkit for newer ratatui and crossterm
    Fix CI workflow (#164)
    Use mozilla-actions/sccache-action for caching builds (#169)
    Enable direnv for Nix flakes (#183)
    Update to matrix-sdk@0.7.1 (#200)
    Rename Nix flake build input from pkgconfig to pkg-config (#203)
    Update modalkit dependencies (#204)
    Move LTO into its own "release-lto" profile (#207)
    Fix Nix flake hashes (#206)
    Pull in modalkit repository with a Cargo.lock (#208)
    Nix flake updates (#214)
    Update to ratatui-image@0.8.1 (#215)
    Support linking against system OpenSSL (#218)
    GitHub workflow should use --locked to avoid broken Cargo.lock (#219)
    Fix odd Windows-only compile error (#221)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet