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

radiusd: Create rundir via SMF method script. #58

Closed
wants to merge 4 commits into from
Closed

radiusd: Create rundir via SMF method script. #58

wants to merge 4 commits into from

Conversation

sjorge
Copy link

@sjorge sjorge commented Apr 11, 2020

No description provided.

@sjorge
Copy link
Author

sjorge commented Apr 11, 2020

All looking good:

=> Creating /home/pbulk/build/net/freeradius/work/.smf_manifest.xml
/opt/local/bin/bsdinstall -c -o root -g root -m 644 /home/pbulk/build/net/freeradius/work/.smf_manifest.xml /home/pbulk/build/net/freeradius/work/.destdir/opt/local/lib/svc/manifest/freeradius.xml
=> Creating /home/pbulk/build/net/freeradius/work/.smf_radiusd
/usr/bin/rm -f /home/pbulk/build/net/freeradius/work/.destdir/opt/local/lib/*.a /home/pbulk/build/net/freeradius/work/.destdir/opt/local/lib/*.la
=> Generating CTF data
=> Automatic stripping of debug information
=> Automatic manual page handling
=> Generating post-install file lists
=> Checking file-check results for freeradius-3.0.20nb1
=> Checking for non-existent script interpreters in freeradius-3.0.20nb1
=> Checking file permissions in freeradius-3.0.20nb1
=> Checking for missing run-time search paths in freeradius-3.0.20nb1
=> Checking for SSP in freeradius-3.0.20nb1
=> Checking for work-directory references in freeradius-3.0.20nb1
=> Creating binary package /home/pbulk/build/net/freeradius/work/.packages/freeradius-3.0.20nb1.tgz
=> Copying CTF data
=> Copying CTF failures
===> Building binary package for freeradius-3.0.20nb1
=> Creating binary package /data/packages/SmartOS/trunk/x86_64/All/freeradius-3.0.20nb1.tgz

@sjorge
Copy link
Author

sjorge commented Apr 11, 2020

Had a type on the var name so it did not get replaced, rebuilding

@sjorge
Copy link
Author

sjorge commented Apr 11, 2020

Script looks good now but freeradius still fails to start, because it runs as radiusd user via smf:

mkdir: "/var/run/radiusd": Permission denied
chmod: WARNING: can't access /var/run/radiusd
chown: /var/run/radiusd: No such file or directory
    <method_context>
      <method_credential user='@RADIUS_USER@' group='@RADIUS_GROUP@' />
    </method_context>

freeradius can drop privilages if configured to do so (It does not by default)

security {
        user = radiusd
        group = radiusd
}

Looking at the netbsd rc scripts, it looks like the run radiusd as root:root, perhaps we should just do the same and let it up to the user to configure the security options. The way we do it now via smf does no allow the user to change the user in the via radiusd.conf as it will fail to change uid/gid while starting.

FreeRADIUS already support dropping privilages via radisud.conf
Currently this is not working because smf will start with as non root.

Making smf start freeradius as root will allow the user control over
this. It will also allow our svc script to create /var/run/radiusd
@sjorge
Copy link
Author

sjorge commented Apr 11, 2020

Build went smooth, freeradius now starts as root and the svc script creates /var/run/radiusd after a reboot.

Settings (or some other user)

security {
        user = radiusd
        group = radiusd
}

Now also works and radiusd drops privilages to the configured user/group combo.

@sjorge
Copy link
Author

sjorge commented Apr 15, 2020

feedback from jperkin on IRC:

  • patch default config to use RADIUS_{USER,GROUP} (see mosquitto for example)

@sjorge
Copy link
Author

sjorge commented Apr 15, 2020

nbb$ sudo egrep '(user|group) =' /usr/pkg/etc/raddb/radiusd.conf
        #  'group = shadow' for the server to be able to read the
        user = radiusd
        group = radiusd

(I removed the eap config, as I did not want to spend time setting up a ca/server/client certs)

nbb$ sudo /usr/pkg/share/examples/rc.d/radiusd start
Starting radiusd.
nbb$ ps aux | grep rad
radiusd 14429  0.0  1.9 223792 80460 ?     Ssl  12:34PM 0:00.11 /usr/pkg/sbin/radiusd

netbsd-srcmastr pushed a commit that referenced this pull request Apr 16, 2020
Ensures the user/group are correctly substituted into the config file so that
the daemon can run as root then drop privileges appropriately, as well as
creating the rundir as necessary.

Submitted by Jorge Schrauwen in #58.  Bump PKGREVISION.
@jperkin jperkin self-assigned this Apr 16, 2020
@jperkin
Copy link
Collaborator

jperkin commented Apr 16, 2020

Merged, thanks!

@jperkin jperkin closed this Apr 16, 2020
@sjorge sjorge deleted the freeradius_smf branch May 10, 2020 11:47
netbsd-srcmastr pushed a commit that referenced this pull request Jun 7, 2020
Update ruby-jekyll-archives to 2.2.1.


2.2.1 (2019-03-23)

Minor Enhancements

* Make Archive subclass of Page (#67)
* Don't limit slugs/title to strings (#41)
* Enable incremental operation (#58)
* Remove deprecated defs (#89)

Development Fixes

* Target Ruby 2.3
* Allow testing and using with Jekyll 4.x (#133)
* Update Travis config and Gemfile for Ruby < 2.2.2 support (#68)
* Consolidate History file to work with jekyllbot (#80)
* Remove Travis test for Ruby 1.9 (#87)
* Inherit Jekyll's rubocop config for consistency (#65)
* Bump travis ruby versions (#91)
* Fix Travis build error (#93)
* Define path with dir (#105)
* Appease Rubocop (#104)
* update Rubocop and Travis config (#110)
* Update .travis.yml (#111)
* Modernize tests & linting (#114)
* Test against Ruby 2.5 (#118)
* Lint with rubocop-jekyll (#128)

Documentation

* Update Installation Guide (#116)
* docs/configuration: GitHub table display was messed up (#96)
* Small updates for consistency across document (#130)
netbsd-srcmastr pushed a commit that referenced this pull request Jul 13, 2020
### All Platforms
- Allow the RPC server to listen on an IPv6 address ([#161](transmission/transmission#161))
- Change `TR_CURL_SSL_VERIFY` to `TR_CURL_SSL_NO_VERIFY` and enable verification by default ([#334](transmission/transmission#334))
- Go back to using hash as base name for resume and torrent files (those stored in configuration directory) ([#122](transmission/transmission#122))
- Handle "fields" argument in "session-get" RPC request; if "fields" array is present in arguments, only return session fields specified; otherwise return all the fields as before
- Limit the number of incorrect authentication attempts in embedded web server to 100 to prevent brute-force attacks ([#371](transmission/transmission#371))
- Set idle seed limit range to 1..40320 (4 weeks tops) in all clients ([#212](transmission/transmission#212))
- Add Peer ID for Xfplay, PicoTorrent, Free Download Manager, Folx, Baidu Netdisk torrent clients ([#256](transmission/transmission#256), [#285](transmission/transmission#285), [#355](transmission/transmission#355), [#363](transmission/transmission#363), [#386](transmission/transmission#386))
- Announce `INT64_MAX` as size left if the value is unknown (helps with e.g. Amazon S3 trackers) ([#250](transmission/transmission#250))
- Add `TCP_FASTOPEN` support (should result in slight speedup) ([#184](transmission/transmission#184))
- Improve ToS handling on IPv6 connections ([#128](transmission/transmission#128), [#341](transmission/transmission#341), [#360](transmission/transmission#360), [#692](transmission/transmission#692), [#737](transmission/transmission#737))
- Abort handshake if establishing DH shared secret fails (leads to crash) ([#27](transmission/transmission#27))
- Don't switch trackers while announcing (leads to crash) ([#297](transmission/transmission#297))
- Improve completion scripts execution and error handling; add support for .cmd and .bat files on Windows ([#405](transmission/transmission#405))
- Maintain a "session ID" file (in temporary directory) to better detect whether session is local or remote; return the ID as part of "session-get" response (TRAC-5348, [#861](transmission/transmission#861))
- Change torrent location even if no data move is needed ([#35](transmission/transmission#35))
- Support CIDR-notated blocklists ([#230](transmission/transmission#230), [#741](transmission/transmission#741))
- Update the resume file before running scripts ([#825](transmission/transmission#825))
- Make multiscrape limits adaptive ([#837](transmission/transmission#837))
- Add labels support to libtransmission and transmission-remote ([#822](transmission/transmission#822))
- Parse `session-id` header case-insensitively ([#765](transmission/transmission#765))
- Sanitize suspicious path components instead of rejecting them ([#62](transmission/transmission#62), [#294](transmission/transmission#294))
- Load CA certs from system store on Windows / OpenSSL ([#446](transmission/transmission#446))
- Add support for mbedtls (formely polarssl) and wolfssl (formely cyassl), LibreSSL ([#115](transmission/transmission#115), [#116](transmission/transmission#116), [#284](transmission/transmission#284), [#486](transmission/transmission#486), [#524](transmission/transmission#524), [#570](transmission/transmission#570))
- Fix building against OpenSSL 1.1.0+ ([#24](transmission/transmission#24))
- Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD ([#42](transmission/transmission#42), [#58](transmission/transmission#58), [#312](transmission/transmission#312))
- Fix a number of memory leaks (magnet loading, session shutdown, bencoded data parsing) ([#56](transmission/transmission#56))
- Bump miniupnpc version to 2.0.20170509 ([#347](transmission/transmission#347))
- CMake-related improvements (Ninja generator, libappindicator, systemd, Solaris and macOS) ([#72](transmission/transmission#72), [#96](transmission/transmission#96), [#117](transmission/transmission#117), [#118](transmission/transmission#118), [#133](transmission/transmission#133), [#191](transmission/transmission#191))
- Switch to submodules to manage (most of) third-party dependencies
- Fail installation on Windows if UCRT is not installed

### Mac Client
- Bump minimum macOS version to 10.10
- Dark Mode support ([#644](transmission/transmission#644), [#722](transmission/transmission#722), [#757](transmission/transmission#757), [#779](transmission/transmission#779), [#788](transmission/transmission#788))
- Remove Growl support, notification center is always used ([#387](transmission/transmission#387))
- Fix autoupdate on High Sierra and up by bumping the Sparkle version ([#121](transmission/transmission#121), [#600](transmission/transmission#600))
- Transition to ARC ([#336](transmission/transmission#336))
- Use proper UTF-8 encoding (with macOS-specific normalization) when setting download/incomplete directory and completion script paths ([#11](transmission/transmission#11))
- Fix uncaught exception when dragging multiple items between groups ([#51](transmission/transmission#51))
- Add flat variants of status icons for message log ([#134](transmission/transmission#134))
- Optimize image resources size ([#304](transmission/transmission#304), [#429](transmission/transmission#429))
- Update file icon when file name changes ([#37](transmission/transmission#37))
- Update translations

### GTK+ Client
- Add queue up/down hotkeys ([#158](transmission/transmission#158))
- Modernize the .desktop file ([#162](transmission/transmission#162))
- Add AppData file ([#224](transmission/transmission#224))
- Add symbolic icon variant for the Gnome top bar and when the high contrast theme is in use ([#414](transmission/transmission#414), [#449](transmission/transmission#449))
- Update file icon when its name changes ([#37](transmission/transmission#37))
- Switch from intltool to gettext for translations ([#584](transmission/transmission#584), [#647](transmission/transmission#647))
- Update translations, add new translations for Portuguese (Portugal)

### Qt Client
- Bump minimum Qt version to 5.2
- Fix dropping .torrent files into main window on Windows ([#269](transmission/transmission#269))
- Fix prepending of drive letter to various user-selected paths on Windows ([#236](transmission/transmission#236), [#307](transmission/transmission#307), [#404](transmission/transmission#404), [#437](transmission/transmission#437), [#699](transmission/transmission#699), [#723](transmission/transmission#723), [#877](transmission/transmission#877))
- Fix sorting by progress in presence of magnet transfers ([#234](transmission/transmission#234))
- Fix .torrent file trashing upon addition ([#262](transmission/transmission#262))
- Add queue up/down hotkeys ([#158](transmission/transmission#158))
- Reduce torrent properties (file tree) memory usage
- Display tooltips in torrent properties (file tree) in case the names don't fit ([#411](transmission/transmission#411))
- Improve UI look on hi-dpi displays (YMMV)
- Use session ID (if available) to check if session is local or not ([#861](transmission/transmission#861))
- Use default (instead of system) locale to be more flexible ([#130](transmission/transmission#130))
- Modernize the .desktop file ([#162](transmission/transmission#162))
- Update translations, add new translations for Afrikaans, Catalan, Danish, Greek, Norwegian Bokmål, Slovenian

### Daemon
- Use libsystemd instead of libsystemd-daemon (TRAC-5921)
- Harden transmission-daemon.service by disallowing privileges elevation ([#795](transmission/transmission#795))
- Fix exit code to be zero when dumping settings ([#487](transmission/transmission#487))

### Web Client
- Fix tracker error XSS in inspector (CVE-?)
- Fix performance issues due to improper use of `setInterval()` for UI refresh (TRAC-6031)
- Fix recognition of `https://` links in comments field ([#41](transmission/transmission#41), [#180](transmission/transmission#180))
- Fix torrent list style in Google Chrome 59+ ([#384](transmission/transmission#384))
- Show ETA in compact view on non-mobile devices ([#146](transmission/transmission#146))
- Show upload file button on mobile devices ([#320](transmission/transmission#320), [#431](transmission/transmission#431), [#956](transmission/transmission#956))
- Add keyboard hotkeys for web interface ([#351](transmission/transmission#351))
- Disable autocompletion in torrent URL field ([#367](transmission/transmission#367))

### Utils
- Prevent crash in transmission-show displaying torrents with invalid creation date ([#609](transmission/transmission#609))
- Handle IPv6 RPC addresses in transmission-remote ([#247](transmission/transmission#247))
- Add `--unsorted` option to transmission-show ([#767](transmission/transmission#767))
- Widen the torrent-id column in transmission-remote for cleaner formatting ([#840](transmission/transmission#840))
netbsd-srcmastr pushed a commit that referenced this pull request Aug 3, 2020
net/transmission-gtk: security update
net/transmission-qt: security update
net/transmission: security update

Revisions pulled up:
- net/transmission-gtk/Makefile                                 1.46
- net/transmission-gtk/PLIST                                    1.2
- net/transmission-qt/Makefile                                  1.54
- net/transmission/Makefile                                     1.27
- net/transmission/Makefile.common                              1.10
- net/transmission/PLIST                                        1.4
- net/transmission/distinfo                                     1.16
- net/transmission/patches/patch-qt_qtr.pro                     1.7

-------------------------------------------------------------------
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Mon Jul 13 13:01:02 UTC 2020

   Modified Files:
   	pkgsrc/net/transmission: Makefile Makefile.common PLIST distinfo
   	pkgsrc/net/transmission-gtk: Makefile PLIST
   	pkgsrc/net/transmission-qt: Makefile
   	pkgsrc/net/transmission/patches: patch-qt_qtr.pro

   Log Message:
   transmission*: update to 3.00

   ### All Platforms
   - Allow the RPC server to listen on an IPv6 address ([#161](transmission/transmission#161))
   - Change `TR_CURL_SSL_VERIFY` to `TR_CURL_SSL_NO_VERIFY` and enable verification by default ([#334](transmission/transmission#334))
   - Go back to using hash as base name for resume and torrent files (those stored in configuration directory) ([#122](transmission/transmission#122))
   - Handle "fields" argument in "session-get" RPC request; if "fields" array is present in arguments, only return session fields specified; otherwise return all the fields as before
   - Limit the number of incorrect authentication attempts in embedded web server to 100 to prevent brute-force attacks ([#371](transmission/transmission#371))
   - Set idle seed limit range to 1..40320 (4 weeks tops) in all clients ([#212](transmission/transmission#212))
   - Add Peer ID for Xfplay, PicoTorrent, Free Download Manager, Folx, Baidu Netdisk torrent clients ([#256](transmission/transmission#256), [#285](transmission/transmission#285), [#355](transmission/transmission#355), [#363](transmission/transmission#363), [#386](transmission/transmission#386))
   - Announce `INT64_MAX` as size left if the value is unknown (helps with e.g. Amazon S3 trackers) ([#250](transmission/transmission#250))
   - Add `TCP_FASTOPEN` support (should result in slight speedup) ([#184](transmission/transmission#184))
   - Improve ToS handling on IPv6 connections ([#128](transmission/transmission#128), [#341](transmission/transmission#341), [#360](transmission/transmission#360), [#692](transmission/transmission#692), [#737](transmission/transmission#737))
   - Abort handshake if establishing DH shared secret fails (leads to crash) ([#27](transmission/transmission#27))
   - Don't switch trackers while announcing (leads to crash) ([#297](transmission/transmission#297))
   - Improve completion scripts execution and error handling; add support for .cmd and .bat files on Windows ([#405](transmission/transmission#405))
   - Maintain a "session ID" file (in temporary directory) to better detect whether session is local or remote; return the ID as part of "session-get" response (TRAC-5348, [#861](transmission/transmission#861))
   - Change torrent location even if no data move is needed ([#35](transmission/transmission#35))
   - Support CIDR-notated blocklists ([#230](transmission/transmission#230), [#741](transmission/transmission#741))
   - Update the resume file before running scripts ([#825](transmission/transmission#825))
   - Make multiscrape limits adaptive ([#837](transmission/transmission#837))
   - Add labels support to libtransmission and transmission-remote ([#822](transmission/transmission#822))
   - Parse `session-id` header case-insensitively ([#765](transmission/transmission#765))
   - Sanitize suspicious path components instead of rejecting them ([#62](transmission/transmission#62), [#294](transmission/transmission#294))
   - Load CA certs from system store on Windows / OpenSSL ([#446](transmission/transmission#446))
   - Add support for mbedtls (formely polarssl) and wolfssl (formely cyassl), LibreSSL ([#115](transmission/transmission#115), [#116](transmission/transmission#116), [#284](transmission/transmission#284), [#486](transmission/transmission#486), [#524](transmission/transmission#524), [#570](transmission/transmission#570))
   - Fix building against OpenSSL 1.1.0+ ([#24](transmission/transmission#24))
   - Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD ([#42](transmission/transmission#42), [#58](transmission/transmission#58), [#312](transmission/transmission#312))
   - Fix a number of memory leaks (magnet loading, session shutdown, bencoded data parsing) ([#56](transmission/transmission#56))
   - Bump miniupnpc version to 2.0.20170509 ([#347](transmission/transmission#347))
   - CMake-related improvements (Ninja generator, libappindicator, systemd, Solaris and macOS) ([#72](transmission/transmission#72), [#96](transmission/transmission#96), [#117](transmission/transmission#117), [#118](transmission/transmission#118), [#133](transmission/transmission#133), [#191](transmission/transmission#191))
   - Switch to submodules to manage (most of) third-party dependencies
   - Fail installation on Windows if UCRT is not installed

   ### Mac Client
   - Bump minimum macOS version to 10.10
   - Dark Mode support ([#644](transmission/transmission#644), [#722](transmission/transmission#722), [#757](transmission/transmission#757), [#779](transmission/transmission#779), [#788](transmission/transmission#788))
   - Remove Growl support, notification center is always used ([#387](transmission/transmission#387))
   - Fix autoupdate on High Sierra and up by bumping the Sparkle version ([#121](transmission/transmission#121), [#600](transmission/transmission#600))
   - Transition to ARC ([#336](transmission/transmission#336))
   - Use proper UTF-8 encoding (with macOS-specific normalization) when setting download/incomplete directory and completion script paths ([#11](transmission/transmission#11))
   - Fix uncaught exception when dragging multiple items between groups ([#51](transmission/transmission#51))
   - Add flat variants of status icons for message log ([#134](transmission/transmission#134))
   - Optimize image resources size ([#304](transmission/transmission#304), [#429](transmission/transmission#429))
   - Update file icon when file name changes ([#37](transmission/transmission#37))
   - Update translations

   ### GTK+ Client
   - Add queue up/down hotkeys ([#158](transmission/transmission#158))
   - Modernize the .desktop file ([#162](transmission/transmission#162))
   - Add AppData file ([#224](transmission/transmission#224))
   - Add symbolic icon variant for the Gnome top bar and when the high contrast theme is in use ([#414](transmission/transmission#414), [#449](transmission/transmission#449))
   - Update file icon when its name changes ([#37](transmission/transmission#37))
   - Switch from intltool to gettext for translations ([#584](transmission/transmission#584), [#647](transmission/transmission#647))
   - Update translations, add new translations for Portuguese (Portugal)

   ### Qt Client
   - Bump minimum Qt version to 5.2
   - Fix dropping .torrent files into main window on Windows ([#269](transmission/transmission#269))
   - Fix prepending of drive letter to various user-selected paths on Windows ([#236](transmission/transmission#236), [#307](transmission/transmission#307), [#404](transmission/transmission#404), [#437](transmission/transmission#437), [#699](transmission/transmission#699), [#723](transmission/transmission#723), [#877](transmission/transmission#877))
   - Fix sorting by progress in presence of magnet transfers ([#234](transmission/transmission#234))
   - Fix .torrent file trashing upon addition ([#262](transmission/transmission#262))
   - Add queue up/down hotkeys ([#158](transmission/transmission#158))
   - Reduce torrent properties (file tree) memory usage
   - Display tooltips in torrent properties (file tree) in case the names don't fit ([#411](transmission/transmission#411))
   - Improve UI look on hi-dpi displays (YMMV)
   - Use session ID (if available) to check if session is local or not ([#861](transmission/transmission#861))
   - Use default (instead of system) locale to be more flexible ([#130](transmission/transmission#130))
   - Modernize the .desktop file ([#162](transmission/transmission#162))
   - Update translations, add new translations for Afrikaans, Catalan, Danish, Greek, Norwegian Bokmål, Slovenian

   ### Daemon
   - Use libsystemd instead of libsystemd-daemon (TRAC-5921)
   - Harden transmission-daemon.service by disallowing privileges elevation ([#795](transmission/transmission#795))
   - Fix exit code to be zero when dumping settings ([#487](transmission/transmission#487))

   ### Web Client
   - Fix tracker error XSS in inspector (CVE-?)
   - Fix performance issues due to improper use of `setInterval()` for UI refresh (TRAC-6031)
   - Fix recognition of `https://` links in comments field ([#41](transmission/transmission#41), [#180](transmission/transmission#180))
   - Fix torrent list style in Google Chrome 59+ ([#384](transmission/transmission#384))
   - Show ETA in compact view on non-mobile devices ([#146](transmission/transmission#146))
   - Show upload file button on mobile devices ([#320](transmission/transmission#320), [#431](transmission/transmission#431), [#956](transmission/transmission#956))
   - Add keyboard hotkeys for web interface ([#351](transmission/transmission#351))
   - Disable autocompletion in torrent URL field ([#367](transmission/transmission#367))

   ### Utils
   - Prevent crash in transmission-show displaying torrents with invalid creation date ([#609](transmission/transmission#609))
   - Handle IPv6 RPC addresses in transmission-remote ([#247](transmission/transmission#247))
   - Add `--unsorted` option to transmission-show ([#767](transmission/transmission#767))
   - Widen the torrent-id column in transmission-remote for cleaner formatting ([#840](transmission/transmission#840))


   To generate a diff of this commit:
   cvs rdiff -u -r1.26 -r1.27 pkgsrc/net/transmission/Makefile
   cvs rdiff -u -r1.9 -r1.10 pkgsrc/net/transmission/Makefile.common
   cvs rdiff -u -r1.3 -r1.4 pkgsrc/net/transmission/PLIST
   cvs rdiff -u -r1.15 -r1.16 pkgsrc/net/transmission/distinfo
   cvs rdiff -u -r1.45 -r1.46 pkgsrc/net/transmission-gtk/Makefile
   cvs rdiff -u -r1.1 -r1.2 pkgsrc/net/transmission-gtk/PLIST
   cvs rdiff -u -r1.52 -r1.53 pkgsrc/net/transmission-qt/Makefile
   cvs rdiff -u -r1.6 -r1.7 pkgsrc/net/transmission/patches/patch-qt_qtr.pro
-------------------------------------------------------------------
   Module Name:    pkgsrc
   Committed By:   wiz
   Date:           Sat Jul 25 20:20:05 UTC 2020

   Modified Files:
           pkgsrc/net/transmission-qt: Makefile

   Log Message:
   transmission-qt: needs gcc 7.x (for <optional>)

   Reported and tested by spz.


   To generate a diff of this commit:
   cvs rdiff -u -r1.53 -r1.54 pkgsrc/net/transmission-qt/Makefile
netbsd-srcmastr pushed a commit that referenced this pull request Sep 6, 2020
Version 3.14.2  (released August 13, 2020)

 - Fix ENV typo in the test suite
   [Gregor Herrmann]

 - Renamed and enhanced test helper script: dbdpg_test_postgres_versions.pl
   [Greg Sabino Mullane]


Version 3.14.1  (released August 12, 2020)

 - Force the version string so undefined errors in the "driver" sub go away.
   [Greg Sabino Mullane]
   (RT ticket #83057)


Version 3.14.0  (released July 19, 2020)

 - The $dbh->primary_key_info and $dbh->foreign_key_info methods will now always return
     a statement handle, even with no matches. Previously, they returned undef directly.
   Callers can check if the returned handle contains any rows.
   [Greg Sabino Mullane]

 - The $dbh->tables method will always return a list, even if it is empty.
   [Greg Sabino Mullane]

 - Add pg_lo_tell64, pg_lo_seek64, and pg_lo_truncate64, for anyone dealing
     with really, really, really large 'large objects'. Requires Postgres 9.3 or better.
   [Greg Sabino Mullane]
   (RT ticket #123561)

 - Allow test to run again when using a non-superuser to connect
   [Greg Sabino Mullane]
   (RT ticket #132865)

 - Adjust tests to force loading proper version of DBD::Pg every time.
   [Greg Sabino Mullane]

 - Removed the long-deprecated _pg_use_catalog method.
   [Greg Sabino Mullane]

 - Many improvements and changes to the test suite.
   [Greg Sabino Mullane]


Version 3.13.0  (released June 17, 2020)

 - Redo the "last_result" internals in dbdimp.c, which
     fixes a memory leak.
   [Greg Sabino Mullane]
   (RT ticket #132812)

 - Fix regression in Perl length() for returned query results
   [Jon Jensen]
   (Github issue #72)

 - Make $sth->finish() do a little less. Notably, even
     after calling finish(), pg_error_field will still work
     on the last action performed.
   [Greg Sabino Mullane]

 - Tweak tests so Windows boxes pass
   [Greg Sabino Mullane]


Version 3.12.3  (released June 5, 2020)

 - Prevent DBI from flipping AutoCommit to 'on' after a failed commit
   [Greg Sabino Mullane]
   (Github issue #71)


Version 3.12.2  (released June 4, 2020)

 - Revert overly aggressive testing shortcut as it can cause installs to fail
   [Greg Sabino Mullane, with apologies]


Version 3.12.1  (released June 3, 2020)

 - Remove test that assumed '(12,34)' is an invalid entry for type "circle",
     as the Postgres source code changed this behavior on April 7, 2020
   [Greg Sabino Mullane]
   (RT ticket #132740)


Version 3.12.0  (released May 7, 2020)

 - Add CONTRIBUTING.md file

 - Return the table info row last in statistics_info.
   This fixes statistics_info on pre-8.3 servers.
   [Dagfinn Ilmari Mannsåker]

 - Fix ASC_OR_DESC field in statistics_info
   [Dagfinn Ilmari Mannsåker]

 - Indicate NULL ordering in statistics_info
   [Dagfinn Ilmari Mannsåker]


Version 3.11.1  (released April 28, 2020)

 - Adjust Makefile to fix failing 'fulltest' target on BSD systems
   [Slaven Rezić]
   (RT ticket #132412)


Version 3.11.0  (released April 23, 2020)

 - Indicate non-key index columns (INCLUDE) in statistics_info
   [Dagfinn Ilmari Mannsåker]

 - Return an empty result set instead of undef from statistics_info
     when the requested table doesn't exist and $unique_only is false.
   [Dagfinn Ilmari Mannsåker]

 - Fix segfault during st destroy
   [Gregory Oschwald]
   (Github pull request #66)
   (Github issue #57)

 - Improve testing for table_info()
   [Greg Sabino Mullane]
   (Github issue #67)

 - Improve UTF-8 wording in docs
   [Felipe Gasper]
   (Github pull request #65)


Version 3.10.5  (released March 23, 2020)

 - Minor adjustment for Windows build
   (RT ticket #131752)

 - Allow test suite to work on an EnterpriseDB server
   [H.Merijn Brand]
   (RT ticket #132203)

 - Add small warning regarding ShowErrorStatement
   (RT ticket #120268)


Version 3.10.4  (released February 3, 2020)

 - Allow localtime from Time::Piece to be used directly as a bind value again.
   This applies to all "magical" arrays.
   [Greg Sabino Mullane]
   (Github issue #63)

 - Force tests to NOT run in parallel.
   [Greg Sabino Mullane]
   (RT ticket #130834)


Version 3.10.3  (released January 20, 2020)

 - Set things cleared via PQclear to NULL as soon as possible, to remove race conditions
   [Greg Sabino Mullane]
   (RT ticket #131522)


Version 3.10.2  (released January 17, 2020)

 - Adjust tests to pass on 32-bit machines
   [Greg Sabino Mullane]
   (RT ticket #131482)


Version 3.10.1  (released January 13, 2020)

 - Prevent double-free memory errors
   [Greg Sabino Mullane]
   (RT ticket #130681)

 - Fix crash when pg_error_field is called
   [Greg Sabino Mullane]
   (RT ticket #130721)

 - Update the list of Postgres reserved words in quote.c


Version 3.10.0  (released September 3, 2019)

 - Prevent memory leak related to pg_error_field
   [Greg Sabino Mullane]
   (RT ticket #130430)

 - Fix for bug by making sure pg_error_field works properly when switching between
     do-with-params and do-without-params.
   [Greg Sabino Mullane]
   (Github issue #57)

 - If a commit or rollback fails, do not set BegunWork
   [Greg Sabino Mullane]
   (Github issue #40)

 - Treat partitioned tables same as regular tables for column_info, table_info,
     and foreign_key_info (i.e. support pg_class.relkind = 'p')
   [Octavian R. Corlade]
   (Github pull request #55)

 - Allow last_insert_id() to work against inherited tables
   [Greg Sabino Mullane]
   (RT ticket #52441)

 - Add DBI SQL_BLOB, SQL_BINARY and SQL_LONGVARBINARY types as alias for PG_BYTEA
   [Pali]
   (Github pull request #58)
netbsd-srcmastr pushed a commit that referenced this pull request Sep 14, 2020
Update ruby-diff-lcs to 1.4.4.


## 1.4.4 / 2020-07-01

- Fixed an issue reported by Jun Aruga in the Diff::LCS::Ldiff binary text
  detection. [#44][]
- Fixed a theoretical issue reported by Jun Aruga in Diff::LCS::Hunk to raise
  a more useful exception. [#43][]
- Added documentation that should address custom object issues as reported in
  [#35][].

- Fixed more diff errors, in part reported in [#65][].

  - The use of `Numeric#abs` is incorrect in `Diff::LCS::Block#diff_size`.
    The diff size _must_ be accurate for correct change placement.
  - When selecting @max_diff_size in Diff::LCS::Hunk, choose it based on
    `block.diff_size.abs`.
  - Made a number of changes that will, unfortunately, increase allocations
    at the cost of being safe with frozen strings.
  - Add some knowledge that when `Diff::LCS::Hunk#diff` is called, that we
    are processing the _last_ hunk, so some changes will be made to how the
    output is generated.

    - `old`, `ed`, and `reverse_ed` formats have no differences.
    - `unified` format will report `\ No newline at end of file` given the
      correct conditions, at most once. Unified range reporting also
      differs for the last hunk such that the `length` of the range is
      reduced by one.
    - `context` format will report `\No newline at end of file` given the
      correct conditions, up to once per "file". Context range reporting also
      differs for the last hunk such that the `end` part of the range is
      reduced by one to a minimum of one.

- Added a bunch more tests for the cases above, and fixed `hunk_spec.rb` so
  that the phrase being compared isn't nonsense French.

- Updated formatting.
- Added a Rake task to assist with manual testing on Ruby 1.8.

## 1.4.3 / 2020-06-29

- Fixed several issues with the 1.4 on Rubies older than 2.0. Some of this was
  providing useful shim functions to Hoe 3.x (which dropped these older
  Rubies a while ago). Specifically:

  - Removed Array#lazy from a method in Diff::LCS::Hunk.
  - Changed some unit tests to use old-style Symbol-keyed hashes.
  - Changed some unit test helper functions to no longer use keyword
    parameters, but only a trailing options hash.
  - Made the use of `psych` dependent on `RUBY_VERSION >= 1.9`.

  Resolves [#63][].

## 1.4.2 / 2020-06-23

- Camille Drapier fixed a small issue with RuboCop configuration. [#59][]
- Applied another fix (and unit test) to fix an issue for the Chef team.
  [#60][], [#61][]

## 1.4.1 / 2020-06-23

- Fix an issue where diff sizes could be negative, and they should be. [#57][],
  [#58][]

## 1.4 / 2020-06-23

- Ruby versions lower than 2.4 are soft-deprecated and will not be run as
  part of the CI process any longer.
- Akinora MUSHA (knu) added the ability for Diff::LCS::Change objects to be
  implicitly treated arrays. Originally provided as pull request [#47][],
  but it introduced a number of test failures as documented in [#48][], and
  remediation of Diff::LCS itself was introduced in [#49][].
- Resolved [#5][] with some tests comparing output from `system` calls to
  `bin/ldiff` with some pre-generated output. Resolved [#6][] with these
  tests.
- Resolved a previously undetected `bin/ldiff` issue with `--context` output
  not matching `diff --context` output.
- Resolved an issue with later versions of Ruby not working with an `OptParse`
  specification of `Numeric`; this has been changed to `Integer`.
- Brandon Fish added truffleruby in [#52][].
- Fixed two missing classes as reported in [#53]
netbsd-srcmastr pushed a commit that referenced this pull request Jan 3, 2021
Update php-http3 to 3.2.1.

pkgsrc change:
* Update supported PHP versions.
* Add a few dependency.

3.2.1, 2019-06-07

* Fixed gh-issue #88: Unable to run test suite (Remi Collet)
* Fixed gh-issue #86: test failure with curl 7.64
* Fixed gh-issue #85: [-Wformat-extra-args] build warnings
* Fixed gh-issue #84: segfault and build failure since curl 7.62
* Fixed gh-issue #82: Test harness improvements (Chris Wright)
* Fixed gh-issue #64: compress and connecttimeout interfere with
  low_speed_limit (@rcanavan)
* Fixed http\QueryString::getGlobalInstance()
* Fixed missing 2nd reflection argument info of http\Client::notify()
* Fixed PHP-7.4 compatibility

3.2.0, 2018-07-19

* PHP-7.2 compatibility
* Fixed gh-issue #73: build fails with libidn and libidn2
* Added brotli compression support
* Implemented gh-issue #58: Notify observers before any request is built

3.2.0RC1, 2018-04-09

* PHP-7.2 compatibility
* Fixed gh-issue #73: build fails with libidn and libidn2
* Added brotli compression support
* Implemented gh-issue #58: Notify observers before any request is built

3.1.0, 2016-12-12

* Added http\Client\Curl\User interface for userland event loops
* Added http\Url::IGNORE_ERRORS, http\Url::SILENT_ERRORS and http\Url::STDFLAGS
* Added http\Client::setDebug(callable $debug)
* Added http\Client\Curl\FEATURES constants and namespace
* Added http\Client\Curl\VERSIONS constants and namespace
* Added share_cookies and share_ssl (libcurl >= 7.23.0) options to
  http\Client::configure()
* http\Client uses curl_share handles to properly share cookies and SSL/TLS
  sessions between requests
* Improved configure checks for default CA bundles
* Improved negotiation precision
* Fixed regression introduced by http\Params::PARSE_RFC5987: negotiation
  using the params parser would receive param keys without the trailing
  asterisk, stripped by http\Params::PARSE_RFC5987.
* Fix gh-issue #50: http\Client::dequeue() within http\Client::setDebug()
  causes segfault (Mike, Maik Wagner)
* Fix gh-issue #47: http\Url: Null pointer deref in sanitize_value() (Mike,
  @rc0r)
* Fix gh-issue #45: HTTP/2 response message parsing broken with libcurl >=
  7.49.1 (Mike)
* Fix gh-issue #43: Joining query with empty original variable in query
  (Mike, Sander Backus)
* Fix gh-issue #42: fatal error when using punycode in URLs (Mike, Sebastian
  Thielen)
* Fix gh-issue #41: Use curl_version_info_data.features when initializing
  options (Mike)
* Fix gh-issue #40: determinde the SSL backend used by curl at runtime
  (Mike, @rcanavan)
* Fix gh-issue #39: Notice: http\Client::enqueue(): Could not set option
  proxy_service_name (Mike, @rcanavan)
* Fix gh-issue #38: Persistent curl handles: error code not properly reset
  (Mike, @afflerbach)
* Fix gh-issue #36: Unexpected cookies sent if persistent_handle_id is used
  (Mike, @rcanavan, @afflerbach)
* Fix gh-issue #34: allow setting multiple headers with the same name (Mike,
  @rcanavan)
* Fix gh-issue #33: allow setting prodyhost request option to NULL (Mike,
  @rcanavan)
* Fix gh-issue #31: add/improve configure checks for default CA bundle/path
  (Mike, @rcanavan)
netbsd-srcmastr pushed a commit that referenced this pull request Jan 14, 2021
1.3.5 (Jan 13, 2021)

* Special thanks to Jochen Seeber (@jochenseeber):
  - Fix remaining delegation on Ruby 2.7 (PR #62)

* Remove support for Ruby 1.8.7 and REE, because they are no longer
  runnable on Travis CI

* Announce that continued support for any EOL Ruby versions (that is,
  versions prior to Ruby 2.5 as of Jan 13 2021) will be decided on Feb 1,
  2021 based on comments to issue #58
netbsd-srcmastr pushed a commit that referenced this pull request Feb 13, 2021
1.1.4 (2021-02-10)

(unknown)

1.1.3 (2021-02-10)

* Remove encoding comment we don't need #51 (tas50)
* Remove Dir.chdir calls from libarchive extraction #54 (lamont-granquist)
* Remove the pry-stack_explorer dep failing Ruby 2.4 builds #55 (tas50)
* Add a note about ffi-libarchive to the readme #58 (tas50)
* Update Chefstyle to 1.6.2 #57 (tas50)
netbsd-srcmastr pushed a commit that referenced this pull request Mar 7, 2021
1.0.29 (2021-02-22)

Merged Pull Requests
* Gate another require and simplify expand_path #44 (tas50)
* Update chefstyle requirement from 1.2.1 to 1.3.2 #45
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.3.2 to 1.4.2 #47
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.2 to 1.4.3 #48
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.3 to 1.4.4 #49
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.4 to 1.4.5 #50
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.5 to 1.5.0 #51
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.0 to 1.5.2 #53
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.2 to 1.5.8 #57
  (dependabot-preview[bot])
* Pin chef-utils on older ruby releases in test #58 (tas50)
* Update chefstyle requirement from 1.5.8 to 1.5.9 #59
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.9 to 1.6.1 #60
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.6.1 to 1.6.2 #61
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.6.2 to 1.7.1 #62
  (dependabot-preview[bot])
* Remove unused ffi-yajl dep #63 (tas50)
netbsd-srcmastr pushed a commit that referenced this pull request Apr 2, 2021
Patchlevel 8 (Dec 2020)

NEW FEATURES:

o Use deflate to embed image data into eps output, often substantially
  reducing file size.
o Embed pdf files into ps output by converting the pdf to eps.
o Allow negative arrow widths. This might be useful for asymmetric arrow
  tips, which can thus be mirrored around the corresponding line.

BUGS FIXED:

Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
o Reject negative text font sizes. Fixes ticket #86.
o Allow fig files ending without previous eol character. Fixes #83, #84.
o Accept text and ellipse angles only within -2*pi to 2*pi. Fixes #76.
o Allow -1 as default TeX font, not only 0. Fixes #71, #75, #81.
o Do not allow ASCII NUL anywhere in input. Fixes #65, #68, #73, #80.
o Use getline() to improve input scanning.
  Fixes tickets #58, #59, #61, #62, #67, #78, #79, #82.
o Correctly scan embedded pdfs for /MediaBox value.
o Convert polygons having too few points to polylines. Ticket #56.
o Reject huge arrow types causing integer overflow. Ticket #57.
o Allow Fig v2 text strings ending with multiple ^A. Ticket #55.
o Embed images in pdfs with their original compression type, i.e., leave
  the gs switch "-dAutoFilterColorImages" at its default value "true".
netbsd-srcmastr pushed a commit that referenced this pull request Apr 23, 2021
0.2.2.1
* Fix test suite compilation issue stackage#5528

0.2.2.0
* Remove AI_ADDRCONFIG #58
netbsd-srcmastr pushed a commit that referenced this pull request Apr 24, 2021
1.7.9, released 2020-12-19
    #72, add pureIf
    #73, make takeEnd, dropEnd, splitAtEnd: return immediately if i <= 0
    #71, add compareLength and comparingLength
1.7.8, released 2020-09-12
    #68, make sure Data.Foldable.Extra is exposed
1.7.7, released 2020-08-25
    #67, defer to System.IO readFile', hGetContents' in GHC 9.0
1.7.6, released 2020-08-21
    #66, add lots of functions to Data.Foldable.Extra (anyM etc)
1.7.5, released 2020-08-12
    #65, add Data.Foldable.Extra
    #65, add sum', product', sumOn' and productOn'
1.7.4, released 2020-07-15
    #59, add whileJustM and untilJustM
    #61, optimise nubOrd (10% or so)
    Add first3, second3, third3
1.7.3, released 2020-05-30
    #58, add disjointOrd and disjointOrdBy
1.7.2, released 2020-05-25
    #56, add zipWithLongest
    #57, make duration in MonadIO
    Simplify and optimise Barrier
    Mark modules that are empty as DEPRECATED
    Remove support for GHC 7.10
1.7.1, released 2020-03-10
    Add NOINLINE to errorIO to work around a GHC 8.4 bug
1.7, released 2020-03-05
*   #40, delete deprecated function for
*   zipFrom now truncates lists, rather than error, just like zip
1.6.21, released 2020-03-02
    #54, deprecate nubOn since its O(n^2). Use nubOrdOn
    #53, add some nub functions to NonEmpty
1.6.20, released 2020-02-16
    Add firstM, secondM
1.6.19, released 2020-02-11
    #50, add headDef, lastDef, and dropEnd1
netbsd-srcmastr pushed a commit that referenced this pull request May 30, 2021
Quote from commit logs:

4.0.2 (2021-05-05)

* Land #60, Add ruby 3.0 tests

4.0.1 (2021-04-29)

* Land #59, Remove bundle cache

4.0.0 (2021-04-28)

* Land #57, update to Rails 6.x compatible
* update schema comment for automation

3.1.4 (2021-04-28)

* and #58, Replaces travis with GH actions for testing
netbsd-srcmastr pushed a commit that referenced this pull request Jun 1, 2021
glibmm is a C++ interface for the devel/glib2 library.

This package follows the 2.68 API.

Changes compared to devel/glibmm:

2.68.0 (stable):
This is the first stable release in the glibmm-2.68 ABI series.
It is parallel-installable with the glibmm-2.4 ABI.

The tarball for 2.68.0 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read the relevant
part of the README file.

Glib:
* PropertyProxyConnectionNode::connect_changed():
  Fix using without property name
  (Daniel Boles) Issue #74 (wswfc), merge request !35
* Remove BalancedTree
  (Kjell Ahlstedt)

Gio:
* ListStore: Accept interfaces
  (Andreas Persson) Merge request !38
* MenuModel: Make MenuAttribute and MenuLink enum class
  (Kjell Ahlstedt)
* Add TlsClientConnectionImpl and TlsServerConnectionImpl
  (Kjell Ahlstedt)
* SocketClient::signal_event(): Fix wrapping of 'connection' parameter
  (Kjell Ahlstedt) Issue #73 (smilingthax)

gmmproc:
* Add optional decl_prefix parameter to _WRAP_GERROR and _WRAP_ENUM
  Used for adding GLIBMM_API or similar for MS Visual C++
  (Chun-wei Fan) Merge request !32
* Allow decorating comparison operators (for Visual Studio builds)
  (Chun-wei Fan) Merge request !33
* _CLASS_BOXEDTYPE, _CLASS_OPAQUE_COPYABLE: Fix move assignment
  (Kjell Ahlstedt) Issue #76 (misos1)
* Decorate private generated classes with __declspec when building
  with Visual Studio
  (Chun-wei Fan) Merge request !39, !41
* generate_wrap_init.pl.in: Use g_type_ensure(SomeClass::get_type())
  to ensure that get_type() is called
  (Kjell Ahlstedt)

Build:
* Use __declspec(dllexport) consistently when building glibmm with
  Visual Studio
  (Chun-wei Fan) Merge request !32
* Meson build: Set default value of the 'warnings' option to 'min'
  (Kjell Ahlstedt)
* Improve NMake support
  (Chun-wei Fan)
* Improve Visual Studio support
  (Chun-wei Fan) Merge request !37
* docs/reference/: Update for Doxygen >= 1.8.16
  (Kjell Ahlstedt)
* Meson build: Fix versioning on macOS
  (Kjell Ahlstedt) Pull request libsigcplusplus#65 (Tom Schoonjans)
* Meson build: Fix detection of macOS
  (Tom Schoonjans) Merge request !43
* Change the ABI to glibmm-2.68
  (Kjell Ahlstedt)

Documentation:
* Meson build: Add missing Glib::Value and Variant documentation
  (Kjell Ahlstedt)


2.65.3: (unstable):
Distro packagers should probably not package this yet.

Tests:
* glibmm_buildfilename: Add some tests
  (Kjell Ahlstedt) Issue #71 (Kalev Lember)

Build:
* Meson build: Install generate_extra_defs.h
  (Kjell Ahlstedt) Issue #70 (Jan Alexander Steffens)


2.65.2: (unstable):
Distro packagers should probably not package this yet.

Glib:
* Add missing #includes
  (Kjell Ahlstedt) Issue #69 (Kalev Lember)


2.65.1: (unstable):
Distro packagers should probably not package this yet.

Glib:
* Add get_user_runtime_dir()
  (scx) Issue #57, merge request !14
* Add get_host_name()
  (scx) Issue #58, merge request !15
* MainContext: Add push/pop/get_thread_default()
  (Kjell Ahlstedt) Issue #56 (Yackie-Yang)
* Add StdStringView and UStringView
  Use them in build_filename() and other functions
  (Thomas Holder, Kjell Ahlstedt) Issue #34
  (Thomas Holder) Issue #64, #65
* Regex::match(): Avoid using string after deletion
  (Thomas Holder) Issue #66, merge request !25
* Add Glib::canonicalize_filename()
  (Kjell Ahlstedt) Issue #59 (Patrick Storz)
* Binding: get_source() and get_target() return ObjectBase*
  (Kjell Ahlstedt) Issue #63 (Daniel Boles)
* ustring: Fix insert(iterator, In, In)
  (Thomas Holder) Merge request !19
* Value: Adding static_assert() for template parameter
  (Pavlo Solntsev) Merge request !23
* Error: Derive from std::exception, remove Glib::Exception
  (Kjell Ahlstedt) Issue #23 (Daniel Boles)
* Binding: Keep a binding alive even without a RefPtr
  (Kjell Ahlstedt) Issue #62 (Daniel Boles)

Gio:
* DBus::Connection: Make the wrap() function thread-safe
  (Kjell Ahlstedt) Issue #56 (Yackie-Yang)
* SettingsSchemaSource: Add list_schemas()
  Add a create(), wrapping new_from_directory()
  (Daniel Boles) Issue #19, merge request !20
* DBus::Message::get_unix_fd_list(): Add refreturn
  (Kjell Ahlstedt) Issue #68 (kr.woaini)

Tests:
* Add glibmm_ustring_compare test
  (Thomas Holder) Issue #65
* Add glibmm_regex test
  (Thomas Holder) Issue #66, merge request !25
* Add glibmm_binding test
  (Daniel Boles) Merge request !18

gmmproc:
* Add optional decl_prefix parameter to _CLASS_BOXEDTYPE,
  _CLASS_BOXEDTYPE_STATIC, _CLASS_GOBJECT, _CLASS_INTERFACE,
  _CLASS_OPAQUE_COPYABLE, _CLASS_OPAQUE_REFCOUNTED, _WRAP_GERROR
  Used for adding GLIBMM_API or similar for MS Visual C++
  (Chun-wei Fan)

Build:
* Change the ABI to glibmm-2.66
  (Kjell Ahlstedt)
* Add Meson support
  (Chun-wei Fan, Kjell Ahlstedt) Merge request !27
* Drop gendef from Windows builds
  (Chun-wei Fan) Issue #12 (Mikhail Titov), merge request !29

Documentation:
* Correct spelling of spawn_async_with_pipes()
  (Mike Fleetwood) Merge request !16
* Glib::Binding: Several doc improvements
  (Daniel Boles) Merge request !18
* Glib::Binding: Explain why SlotTransform takes GValue*
  (Kjell Ahlstedt) Issue #61 (Daniel Boles)
* Gio::AsyncResult: Improve the class description
  (Kjell Ahlstedt) Issue #27 (Alberto Mardegan)
netbsd-srcmastr pushed a commit that referenced this pull request Jun 5, 2021
shiny 1.6.0
================

This release focuses on improvements in three main areas:

1. Better theming (and Bootstrap 4) support:

  * The `theme` argument of `fluidPage()`, `navbarPage()`, and
    `bootstrapPage()` all now understand `bslib::bs_theme()` objects,
    which can be used to opt-into Bootstrap 4, use any Bootswatch
    theme, and/or implement custom themes without writing any CSS.

  * The `session` object now includes `$setCurrentTheme()` and
    `$getCurrentTheme()` methods to dynamically update (or obtain) the
    page's `theme` after initial load, which is useful for things such
    as [adding a dark mode switch to an
    app](https://rstudio.github.io/bslib/articles/theming.html#dynamic-shiny)
    or some other "real-time" theming tool like `bslib::bs_themer()`.

  * For more details, see [`{bslib}`'s
    website](https://rstudio.github.io/bslib/)

2. Caching of `reactive()` and `render*()` (e.g. `renderText()`,
   `renderTable()`, etc) expressions.

   * Such expressions automatically cache their _most recent value_,
     which helps to avoid redund ant computation within a single "flush" of
     reactivity. The new `bindCache()` function can be used to cache _all
     previous values_ (as long as they fit in the cache). This cache may be
     optionally scoped within and/or across user sessions, possibly leading
     to huge performance gains, especially when deployed at scale across
     user sessions.

  * For more details, see `help(bindCache, package = "shiny")`

3. Various improvements to accessibility for screen-reader and keyboard users.
  * For more details, see the accessibility section below.

## Full changelog

### Breaking changes

* Closed #3074: Shiny no longer supports file uploads for Internet Explorer 8 or 9. (#3075)

* Subtle changes, and some soft-deprecations, have come to
  `freezeReactiveValue` and `freezeReactiveVal` (#3055). These functions
  have been fragile at best in previous releases (issues #1791, #2463,
  #2946). In this release, we've solved all the problems we know about with
  `freezeReactiveValue(input, "x")`, by 1) invalidating `input$x` and set
  it to `NULL` whenever we freeze, and 2) ensuring that, after a freeze,
  even if the effect of `renderUI` or `updateXXXInput` is to set `input$x`
  to the same value it already has, this will result in an invalidation
  (whereas by default, Shiny filters out such spurious assignments).

  Similar problems may exist when using `freezeReactiveVal`, and when using
  `freezeReactiveValue` with non-`input` reactive values objects. But
  support for those was added mostly for symmetry with
  `freezeReactiveValue(input)`, and given the above issues, it's not clear
  to us how you could have used these successfully in the past, or why you
  would even want to. For this release, we're soft-deprecating both of
  those uses, but we're more than willing to un-deprecate if it turns out
  people are using these; if that includes you, please join the
  conversation at rstudio/shiny#3063. In the
  meantime, you can squelch the deprecation messages for these functions
  specifically, by setting `options(shiny.deprecation.messages.freeze =
  FALSE)`.

### Accessibility

* Added [bootstrap accessibility
  plugin](https://github.com/paypal/bootstrap-accessibility-plugin) under
  the hood to improve accessibility of shiny apps for screen-reader and
  keyboard users: the enhancements include better navigations for alert,
  tooltip, popover, modal dialog, dropdown, tab Panel, collapse, and
  carousel elements. (#2911)

* Closed #2987: Improved accessibility of "live regions" -- namely,
  `*Output()` bindings and `update*Input()`. (#3042)

* Added appropriate labels to `icon()` element to provide screen-reader
  users with alternative descriptions for the `fontawesome` and
  `glyphicon`: `aria-label` is automatically applied based on the
  fontawesome name. For example, `icon("calendar")` will be announced as
  "calendar icon" to screen readers. "presentation" aria role has also been
  attached to `icon()` to remove redundant semantic info for screen
  readers. (#2917)

* Closed #2929: Fixed keyboard accessibility for file picker button:
  keyboard users can now tab to focus on `fileInput()` widget. (#2937)

* Fixed #2951: screen readers correctly announce labels and date formats
  for `dateInput()` and `dateRangeInput()` widgets. (#2978)

* Closed #2847: `selectInput()` is reasonably accessible for screen readers
  even when `selectize` option is set to TRUE. To improve `selectize.js`
  accessibility, we have added
  [selectize-plugin-a11y](https://github.com/SLMNBJ/selectize-plugin-a11y)
  by default. (#2993)

* Closed #612: Added `alt` argument to `renderPlot()` and
  `renderCachedPlot()` to specify descriptive texts for `plotOutput()`
  objects, which is essential for screen readers. By default, alt text is
  set to the static text, "Plot object," but even dynamic text can be made
  with reactive function. (#3006, thanks @trafficonese and @leonawicz for
  the original PR and discussion via #2494)

* Added semantic landmarks for `mainPanel()` and `sidebarPanel()` so that
  assistive technologies can recognize them as "main" and "complementary"
  region respectively. (#3009)

* Closed #2844: Added `lang` argument to ui `*Page()` functions (e.g.,
  `fluidPage`, `bootstrapPage`) that specifies document-level language
  within the app for the accessibility of screen readers and search-engine
  parsers. By default, it is set to empty string which is commonly
  recognized as a browser's default locale. (#2920)

* Improved accessibility for `radioButtons()` and `checkboxGroupInput()`:
  All options are now grouped together semantically for assistive
  technologies. (thanks @jooyoungseo, #3187).

### Minor new features and improvements

* Added support for Shiny Developer Mode. Developer Mode enables a number
  of `options()` to make a developer's life easier, like enabling
  non-minified JS and printing messages about deprecated functions and
  options. See `?devmode()` for more details. (#3174)

* New `reactiveConsole()` makes it easier to interactively experiment with
  reactivity at the console (#2518).

* When UI is specified as a function (e.g. `ui <- function(req) { ... }`),
  the response can now be an HTTP response as returned from the (newly
  exported) `httpResponse()` function. (#2970)

* `selectInput` and `selectizeInput` now warn about performance
  implications when thousands of choices are used, and recommend
  [server-side
  selectize](https://shiny.rstudio.com/articles/selectize.html) be used
  instead. (#2959)

* Closed #2980: `addResourcePath()` now allows paths with a leading `.`
  (thanks to @ColinFay). (#2981)

* Closed #2972: `runExample()` now supports the `shiny.port` option (thanks
  to @ColinFay). (#2982)

* Closed #2692: `downloadButton()` icon can now be changed via the `icon`
  parameter (thanks to @ColinFay). (#3010)

* Closed #2984: improved documentation for `renderCachedPlot()` (thanks to
  @aalucaci). (#3016)

* `reactiveValuesToList()` will save its `reactlog` label as
  `reactiveValuesToList(<ID>)` vs `as.list(<ID>)` (#3017)

* Removed unused (and non-exported) `cacheContext` class.

* `testServer()` can accept a single server function as input (#2965).

* `shinyOptions()` now has session-level scoping, in addition to global and
  application-level scoping. (#3080)

* `runApp()` now warns when running an application in an R package
  directory. (#3114)

* Shiny now uses `cache_mem` from the cachem package, instead of
  `memoryCache` and `diskCache`. (#3118)

* Closed #3140: Added support for `...` argument in `icon()`. (#3143)

* Closed #629: All `update*` functions now have a default value for
  `session`, and issue an informative warning if it is missing. (#3195,
  #3199)

* Improved error messages when reading reactive values outside of a
  reactive domain (e.g., `reactiveVal()()`). (#3007)

### Bug fixes

* Fixed #1942: Calling `runApp("app.R")` no longer ignores options passed
  into `shinyApp()`. This makes it possible for Shiny apps to specify what
  port/host should be used by default. (#2969)

* Fixed #3033: When a `DiskCache` was created with both `max_n` and
  `max_size`, too many items could get pruned when `prune()` was
  called. (#3034)

* Fixed #2703: Fixed numerous issues with some combinations of
  `min`/`value`/`max` causing issues with `date[Range]Input()` and
  `updateDate[Range]Input()`. (#3038, #3201)

* Fixed #2936: `dateYMD` was giving a warning when passed a vector of dates
  from `dateInput` which was greater than length 1. The length check was
  removed because it was not needed. (#3061)

* Fixed #2266, #2688: `radioButtons` and `updateRadioButtons` now accept
  `character(0)` to indicate that none of the options should be selected
  (thanks to @ColinFay). (#3043)

* Fixed a bug that `textAreaInput()` doesn't work as expected for relative
  `width` (thanks to @shrektan). (#2049)

* Fixed #2859: `renderPlot()` wasn't correctly setting
  `showtext::showtext_opts()`'s `dpi` setting with the correct resolution
  on high resolution displays; which means, if the font was rendered by
  showtext, font sizes would look smaller than they should on such
  displays. (#2941)

* Closed #2910, #2909, #1552: `sliderInput()` warns if the `value` is
  outside of `min` and `max`, and errors if `value` is `NULL` or
  `NA`. (#3194)

### Library updates

* Removed html5shiv and respond.js, which were used for IE 8 and IE 9
  compatibility. (#2973)

* Removed es5-shim library, which was internally used within
  `selectInput()` for ECMAScript 5 compatibility. (#2993)


shiny 1.5.0
===========

## Full changelog

### Breaking changes

* Fixed #2869: Until this release, `renderImage()` had a dangerous default
  of `deleteFile = TRUE`. (Sorry!) Going forward, calls to `renderImage()`
  will need an explicit `deleteFile` argument; for now, failing to provide
  one will result in a warning message, and the file will be deleted if it
  appears to be within the `tempdir()`. (#2881)

### New features

* The new `shinyAppTemplate()` function creates a new template Shiny
  application, where components are optional, such as helper files in an R/
  subdirectory, a module, and various kinds of tests. (#2704)

* `runTests()` is a new function that behaves much like R CMD
  check. `runTests()` invokes all of the top-level R files in the tests/
  directory inside an application, in that application's
  environment. (#2585)

* `testServer()` is a new function for testing reactive behavior inside
  server functions and
  modules. ([#2682](rstudio/shiny#2682),
  [#2764](rstudio/shiny#2764),
  [#2807](rstudio/shiny#2807))

* The new `moduleServer` function provides a simpler interface for creating
  and using modules. (#2773)

* Resolved #2732: `markdown()` is a new function for writing Markdown with
  Github extensions directly in Shiny UIs. Markdown rendering is performed
  by the [commonmark](https://github.com/jeroen/commonmark)
  package. (#2737)

* The `getCurrentOutputInfo()` function can now return the background color
  (`bg`), foreground color (`fg`), `accent` (i.e., hyperlink) color, and
  `font` information of the output's HTML container. This information is
  reported by `plotOutput()`, `imageOutput()`, and any other output
  bindings containing a class of `.shiny-report-theme`. This feature allows
  developers to style an output's contents based on the container's CSS
  styling.  (#2740)

### Minor new features and improvements

* Fixed #2042, #2628: In a `dateInput` and `dateRangeInput`, disabled
  months and years are now a lighter gray, to make it easier to see that
  they are disabled. (#2690)

* `getCurrentOutputInfo()` previously threw an error when called from
  outside of an output; now it returns `NULL`. (#2707 and #2858)

* Added a label to observer that auto-reloads `R/` directory to avoid
  confusion when using `reactlog`. (#58)

* `getDefaultReactiveDomain()` can now be called inside a
  `session$onSessionEnded` callback and will return the calling `session`
  information. (#2757)

* Added a `'function'` class to `reactive()` and `reactiveVal()`
  objects. (#2793)

* Added a new option (`type = "hidden"`) to `tabsetPanel()`, making it
  easier to set the active tab via other input controls (e.g.,
  `radioButtons()`) rather than tabs or pills. Use this option in
  conjunction with `updateTabsetPanel()` and the new `tabsetPanelBody()`
  function (see `help(tabsetPanel)` for an example and more details).
  (#2814)

* Added function `updateActionLink()` to update an `actionLink()` label
  and/or icon value. (#2811)

* Fixed #2856: Bumped jQuery 3 from 3.4.1 to 3.5.1. (#2857)

### Bug fixes

* Fixed #2606: `debounce()` would not work properly if the code in the
  reactive expression threw an error on the first run. (#2652)

* Fixed #2653: The `dataTableOutput()` could have incorrect output if
  certain characters were in the column names. (#2658)

### Documentation Updates

### Library updates

* Updated from Font-Awesome 5.3.1 to 5.13.0, which includes icons related
  to COVID-19. For upgrade notes, see
  https://github.com/FortAwesome/Font-Awesome/blob/master/UPGRADING.md. (#2891)


shiny 1.4.0.2
===========

Minor patch release: fixed some timing-dependent tests failed
intermittently on CRAN build machines.


shiny 1.4.0.1
===========

Minor patch release to account for changes to the grid package that will be
upcoming in the R 4.0 release (#2776).


shiny 1.4.0
===========

## Full changelog

### Breaking changes

* Resolved #2554: Upgraded jQuery from v.1.12.4 to v3.4.1 and bootstrap
  from v3.3.7 to v3.4.1. (#2557). Since the jQuery upgrade may introduce
  breaking changes to user code, there is an option to switch back to the
  old version by setting `options(shiny.jquery.version = 1)`. If you've
  hard-coded `shared/jquery[.min].js` in the HTML of your Shiny app, in
  order to downgrade, you'll have to change that filepath to
  `shared/legacy/jquery[.min].js`.

### Improvements

* Resolved #1433: `plotOutput()`'s coordmap info now includes discrete axis
  limits for **ggplot2** plots. As a result, any **shinytest** tests that
  contain **ggplot2** plots with discrete axes (that were recorded before
  this change) will now report differences that can safely be updated. This
  new coordmap info was added to correctly infer what data points are
  within an input brush and/or near input click/hover in scenarios where a
  non-trivial discrete axis scale is involved (e.g., whenever
  `scale_[x/y]_discrete(limits = ...)` and/or free scales across multiple
  discrete axes are used). (#2410)

* Resolved #2402: An informative warning is now thrown for mis-specified
  (date) strings in `dateInput()`, `updateDateInput()`, `dateRangeInput()`,
  and `updateDateRangeInput()`. (#2403)

* If the `shiny.autoload.r` option is set to `TRUE`, all files ending in
  `.r` or `.R` contained in a directory named `R/` adjacent to your
  application are sourced when your app is started. This will become the
  default Shiny behavior in a future release (#2547)

* Resolved #2442: The `shiny:inputchanged` JavaScript event now triggers on
  the related input element instead of `document`. Existing event listeners
  bound to `document` will still detect the event due to event
  bubbling. (#2446)

* Fixed #1393, #2223: For plots with any interactions enabled, the image is
  no longer draggable. (#2460)

* Resolved #2469: `renderText` now takes a `sep` argument that is passed to `cat`. (#2497)

* Added `resourcePaths()` and `removeResourcePaths()` functions. (#2459)

* Resolved #2433: An informative warning is now thrown if subdirectories of
  the app's `www/` directory are masked by other resource prefixes and/or
  the same resource prefix is mapped to different local file paths. (#2434)

* Resolved #2478: `cmd + shift + f3` and `ctrl + shift + f3` can now be
  used to add a reactlog mark. If reactlog keybindings are used and the
  reactlog is not enabled, an error page is displayed showing how to enable
  reactlog recordings. (#2560)

### Bug fixes

* Partially resolved #2423: Reactivity in Shiny leaked some memory, because
  R can leak memory whenever a new symbols is interned, which happens
  whenever a new name/key is used in an environment. R now uses the fastmap
  package, which avoids this problem. (#2429)

* Fixed #2267: Fixed a memory leak with `invalidateLater`. (#2555)

* Fixed #1548: The `reactivePoll` function leaked an observer; that is the
  observer would continue to exist even if the `reactivePoll` object was no
  longer accessible. #2522

* Fixed #2116: Fixed an issue where dynamic tabs could not be added when on
  a hosted platform. (#2545)

* Resolved #2515: `selectInput()` and `selectizeInput()` now deal
  appropriately with named factors. Note that `updateSelectInput()` and
  `updateSelectizeInput()` **do not** yet handle factors; their behavior is
  unchanged. (#2524, #2540, #2625)

* Resolved #2471: Large file uploads to a Windows computer were
  slow. (#2579)

* Fixed #2387: Updating a `sliderInput()`'s type from numeric to date no
  longer changes the rate policy from debounced to immediate. More
  generally, updating an input binding with a new type should (no longer)
  incorrectly alter the input rate policy. (#2404)

* Fixed #868: If an input is initialized with a `NULL` label, it can now be
  updated with a string. Moreover, if an input label is initialized with a
  string, it can now be removed by updating with `label=character(0)`
  (similar to how `choices` and `selected` can be cleared in
  `updateSelectInput()`). (#2406)

* Fixed #2250: `updateSliderInput()` now works with un-specified (or
  zero-length) `min`, `max`, and `value`. (#2416)

* Fixed #2396: `selectInput("myID", ...)` resulting in an extra
  `myID-selectized` input (introduced in v1.2.0). (#2418)

* Fixed #2233: `verbatimTextOutput()` produced wrapped text on Safari, but
  the text should not be wrapped. (#2353)

* Fixed #2335: When `dateInput()`'s `value` was unspecified, and `max`
  and/or `min` was set to `Sys.Date()`, the value was not being set
  properly. (#2526)

* Fixed #2591: Providing malformed date-strings to `min` or `max` no longer
  results in JS errors for `dateInput()` and `dateRangeInput()`. (#2592)

* Fixed
  [rstudio/reactlog#36](rstudio/reactlog#36):
  Changes to reactive values not displaying accurately in reactlog. (#2424)

* Fixed #2598: Showcase files don't appear with a wide window. (#2582)

* Fixed #2329, #1817: These bugs were reported as fixed in Shiny 1.3.0 but
  were not actually fixed because some JavaScript changes were accidentally
  not included in the release. The fix resolves issues that occur when
  `withProgressBar()` or bookmarking are combined with the
  [networkD3](https://christophergandrud.github.io/networkD3/) package's
  Sankey plot.
netbsd-srcmastr pushed a commit that referenced this pull request Nov 9, 2021
pkgsrc change: add newline to the DESCR file.

1.0.2 (2021-09-20)

* Include Apache license in gem release. (a525d5b)
* Prefer audio/x-wav for WAV audio files. (#45)
* Prefer application/x-x509-ca-cert for Privacy-Enhanced Mail
  certificates. (#46)
* Prefer audio/flac for FLAC audio files. (#47)
* Prefer audio/aac for Advanced Audio Coding audio files. (#49)
* Prefer application/vnd.ms-access for Microsodt Access DB files. (#50)
* Support text/x-scss and text/x-sass stylesheets. (#52)
* Support encrypted Microsoft Access DB files. (#53)
* Prefer application/x-ole-storage for Microsoft Office files. (#54)
* Prefer text/markdown for Markdown files. (#55)
* Prefer audio/mpc for Musepack audio files. (#56)
* Support audio/webm audio files. (#58)
* Support image/avif images files. (#63)
netbsd-srcmastr pushed a commit that referenced this pull request Jan 5, 2022
What's Changed
-Rewrite theme structs in #54
-Tweak application UI in #55
-[#51] add font highlight for CommentView and StoryView in #56
-Add story tag navigation commands in #57
-Add font highlighting for ArticleView in #58
-Update documentation and configuration structures in #59
-Integrate comfy_table in #60
-Pre-release v0.9.0 in #61

Breaking changes
-There are a lot of breaking changes regarding the config options and the
 corresponding default values. It's highly recommended to read the config
 documentation or the example config file to migrate from the old versions.
netbsd-srcmastr pushed a commit that referenced this pull request Feb 21, 2022
Bug Fixes
- Only drop previous releases if skipped (#44)
- Run clippy from nightly toolchain
- Update tests about optional config values
- Set the previous release when using `--unreleased` (#47)
- Lower the priority of global configuration file (#51)
- Update the download link of latest grcov release
- Use the correct tar command for extracting grcov archive
- Update grcov download command
- Update custom error tests

Documentation
- Update template contexts about link_parsers
- Add minimal example
- Update copyright years

Features
- Add `link_parsers` for parsing/extracting links (#42)
- Make the `git` section optional (#45)
- Make the `changelog` section optional (#45)
- [**breaking**] Use conventional commit body to check against commit parsers
- [**breaking**] Replace --topo-order by --date-order (#58)

Miscellaneous Tasks
- Update arg parsing to clap v3 (#49)
- Upgrade dependencies
- Bump the Rust version in Dockerfile
- Run cargo-audit for checking vulnerabilities
- Update the runner to macos-11

Refactor
- Apply clippy suggestions
- [**breaking**] Change the default value of `trim` to `true`
- Unify serde and serde_derive using derive feature (#57)

Styling
- Update the styling
- Comply with MD022 and fix minor typos (#61)
netbsd-srcmastr pushed a commit that referenced this pull request Jun 28, 2022
What's Changed
 -Cleanup compilation warnings in #56
 -Remove user:{user} part when parsing URIs in #58
netbsd-srcmastr pushed a commit that referenced this pull request Aug 1, 2022
Breaking Changes
    Move Parser Configuration into a Feature Option by @Builditluc in #63

Exciting New Features
    Add option to change the keybindings via configuration by @Builditluc in #38
    Add AUR install option by @ThomasFrans in #42
    Add a desktop-entry for packaging by @ThomasFrans in #44
    Add checksums for the release assets by @Builditluc in #59

Bug Fixes
    Fix Header Selection by @Builditluc in #41
    Fix Keybinding Crash by @Builditluc in #46
    Add missing element after line split by @ThomasFrans in #48
    Disable stdout logging for release builds by @ThomasFrans in #47
    Fix publish action in the cd workflow by @Builditluc in #60
    Fix toc not having scrollbars by @Builditluc in #64

Other Changes
    Update Bug Report Issue Template by @Builditluc in #40
    Add label requirement to ci workflow by @Builditluc in #52
    Add documentation job to ci workflow by @Builditluc in #55
    Fix typo in search.rs by @eltociear in #56
    Add yashinghcodes/wik project to similar projects by @Builditluc in #58
    Increase Stale Days to 365 by @Builditluc in #61
netbsd-srcmastr pushed a commit that referenced this pull request Aug 2, 2022
[v0.8.1] - 2022-08-01
Added
   add --watch and --json to an overall much enhanced poll subcommand.

[v0.8.0] - 2022-07-31
Added
   poll subcommand - when executed, will return whether it is day, night or
    twilight (#54).

Fixed
   More time zone errors... more tests added to prove correctness (#53).
   Errors when running integration tests using rust-cross (#58)

Changed
   Switched from pseudo-decimal degrees (e.g. "5.1N") to actual decimal
    degrees (e.g. 5.1) for coordinates (#56).
   Refactored Github Actions workflows

[v0.7.0] - 2022-06-12
Fixed
   Fixed handling of time zones so that they are now implemented properly (#41).

Changed
   Migrated from old version of structopt to clap for command line argument
    parsing.

Removed
   --date-format flag has been removed as it adds additional complexity when
    validating command line args for no real benefit.

[v0.6.1] - 2022-06-11

Cut a new release specifically for crates.io to bump tokio-walltime to v0.1.2.
Previous versions of tokio-walltime failed to compile on the Raspberry Pi
architectures. v0.6.0 of heliocron has been yanked from crates.io.
netbsd-srcmastr pushed a commit that referenced this pull request Dec 18, 2022
0.2.46 (2022-10-31)

* Land #58, Adding support for Rust formatted shellcode generation

0.2.47 (2022-12-12)

* Land #59, Fix slow hexifying
netbsd-srcmastr pushed a commit that referenced this pull request Jan 19, 2023
2022-04-03: Gaupol 1.11
=======================

* Add IBM858, ISO-8859-11 and ISO-8859-16 encodings
* Fix displayed line lengths being incorrect for subtitles with special
  characters such as apostrophes

2021-10-06: Gaupol 1.10.1
=========================

* Fix playing selection (#188)

2021-09-30: Gaupol 1.10
=======================

* Fix subtitle display when seeking to selection start (#181)
* Fix search dialog result sometimes not being selected
* Fix rare RecursionError with spell-check

2020-12-31: Gaupol 1.9
======================

* Add framerates 30, 50, 59.94 and 60 fps (#164)
* Add selecting next/previous from video position (#154)
* Allow shifting positions of all open projects (#66)
* Fix error dialog when video playback fails (#153)
* Fix the order of audio tracks in the menu (#129, qnga)
* Fix spell-check split words correction task to not hang (#171)
* Add Dutch translation (Heimen Stoffels)

2020-04-10: Gaupol 1.8
======================

* Add action set start from video position (#148)
* Add and fix English spell-check special cases
* Add and fix OCR spell-check special cases
* Add Interlingue translation (OIS)
* Add Portuguese translation (Hugo Carvalho)
* Update translations

2019-08-04: Gaupol 1.7
======================

* New app icon, as full-color and symbolic SVGs (#119)
* Better initial preview experience (#136)
* Disable loading of problematic gstreamer-vaapi (#79)
* Use gspell for spell-check instead of PyEnchant and GtkSpell (#12)
* Use the reverse domain name "io.otsaloma.gaupol" for desktop file,
  appdata file and icons

2019-06-08: Gaupol 1.6
======================

* Add text correction pattern to unpack ligatures
* Don't show video files in recent file menus (#130)
* Update translations

2019-02-03: Gaupol 1.5
======================

* Add support for building a Flatpak
* Highlight changed parts in "Correct Texts" (#34)
* Add keybinding Ctrl+I for toggling italic (#118)
* Add keybinding Ctrl+I for toggling italic while editing (#118)
* Change keybinding for Invert Selection to Ctrl+J
* When opening multiple files, skip ones already open
* Adapt to various GTK deprecations
* Add 64x64 and 128x128 icons
* Update AppData XML file
* Bump iso-codes dependency to >= 3.67
* Update translations

2018-07-07: Gaupol 1.4.1
========================

* Fix TypeErrors due to video player pipeline queries failing (#78)
* Make 'setup.py --record' include compiled extensios as well (#91)

2018-05-01: Gaupol 1.4
======================

* Update the `--video-file` argument to not just select the video
  file, but also load it in the internal video player (#75)
* Fix subtitles with special characters not being displayed by
  the internal video player (#74)
* Fix seeking to selection start if at less than one second (#76)
* Fix pasting texts from outside Gaupol, e.g. from a text editor
* Update checks for required GStreamer elements (#73)
* Update translations

2017-11-12: Gaupol 1.3.1
========================

* Fix pattern file syntax to not be corrupted by msgfmt (#70)

2017-11-11: Gaupol 1.3
======================

* Use gtksink instead of autovideosink with the integrated video
  player, making it work on Wayland too (#60)
* Add a hidden preference to disable autoplay (#57)
* Allow loading video by drag-and-drop (#59)
* Fix missing icon in GNOME shell on Wayland (#62)
* Fix unhandled exception when adding recent menu items
* Fix video player actions being sensitive when playback
  initialization fails (#52)
* Fix Gaupol freezing after changing audio track (#58)
* Fix error quitting if a file is still being loaded (#54)
* Fix duplicate tags when decoding MPL2 (devcompl, #68)
* Install appdata XML file under /usr/share/metainfo
* Prefer iso-codes JSON files over XML files (#10)
* Bump GStreamer dependency ≥ 1.6
* Drop build dependency on intltool (use gettext instead, #13)
* Add donate button to about dialog
* Update translations

2017-04-23: Gaupol 1.2
======================

* Add support for the WebVTT file format (#46)
* Add support for the LRC file format (#39)

2017-03-18: Gaupol 1.1
======================

* Fix error when using the Save All As dialog to save all time-based
  format documents as frame-based or vice versa
* Fix unhandled exception when trying to write non-numeric data into
  integer or float cells
* Add Icelandic translation (Sveinn í Felli)
* Remove severely incomplete Catalan, Polish and Swedish translations
* Update translations

2016-10-29: Gaupol 1.0
======================

* Fix size of custom font with GTK 3.22 (#40)
* Show an error dialog if the integrated video player fails
  to initialize playback due to e.g. missing codecs
* Fix error trying to undo more actions than exist when holding down
  Ctrl+Z (#38)

2016-08-20: Gaupol 0.92
=======================

* Fix error saving document from a time-based format to a
  frame-based or vice versa ([#28][])
* Fix error clicking undo or redo button dropdown arrow when no
  document is yet open ([#29][])
* Fix action states after subtitle cell editing cancelled ([#30][])
* Fix recent file menu states to update correctly ([#31][])
* Fix save as dialog to always add filename extension ([#32][])
* Update AppData file
* Update translations

[#28]: otsaloma/gaupol#28
[#29]: otsaloma/gaupol#29
[#30]: otsaloma/gaupol#30
[#31]: otsaloma/gaupol#31
[#32]: otsaloma/gaupol#32

2016-07-16: Gaupol 0.91
=======================

* Use header bars for dialogs
* Migrate from deprecated `Gtk.UIManager`, `Gtk.Action` etc.
  to `Gtk.Application`, `Gio.Action` etc.
* Add mpv for preview with precise seek (`--hr-seek=yes`)
* Make mpv the default preview video player on non-Windows systems
  and set the default preview offset to one second
* Make seek length configurable in the preferences dialog
* Add find and replace to the toolbar
* Have both Ctrl+F and Ctrl+H open the find and replace dialog
* Have both Ctrl++, Ctrl+- and numpad equivalents control volume
* Remove external video player output window (if you want to see
  that output, start Gaupol from a terminal)
* Use a monospace editing font by default
* Add support for IBM273, IBM1125, KOI8-T and KZ1048 character
  encodings (whether these are actually available depends on your
  version of Python)
* Drop the bookmarks extension
* Fix Cancel button behaviour when quitting Gaupol by closing the
  main window and having unsaved changes ([#14][])
* Fix line length measure em to be narrower ([#763589][])
* Have the text view right-click spell-check language menu
  set the language permanently
* Don't show the "Use Shift+Return for line-break" help message
  if it's likely to overlap with the text being edited
* Only force theme variant if `dark_theme` in config file is
  `true`, thus respecting any global settings ([#753315][])
* Make `GTK_THEME=Adwaita:dark gaupol` work correctly
* Move web pages to <http://otsaloma.io/gaupol/>
* Move releases to <https://github.com/otsaloma/gaupol/releases>
* Move bug tracker to <https://github.com/otsaloma/gaupol/issues>
* Move documentation to <https://github.com/otsaloma/gaupol/tree/master/doc>
* Close mailing lists, use Gitter instead: <https://gitter.im/otsaloma/gaupol>
* Use Transifex for translations: <http://www.transifex.com/otsaloma/gaupol/>
* Update AppData file
* Bump GTK dependency to ≥ 3.12
* Bump PyGObject dependency to ≥ 3.12
* Drop optional dependencies on PT fonts
* Add Serbian translation (Miroslav Nikolić)
* Update French translation (Jean van Kasteel)

[#14]: otsaloma/gaupol#14
[#753315]: https://bugzilla.gnome.org/show_bug.cgi?id=753315
[#763589]: https://bugzilla.gnome.org/show_bug.cgi?id=763589
netbsd-srcmastr pushed a commit that referenced this pull request Jan 24, 2023
What's Changed
    fix(deps): update rust crate argh to 0.1.10 by @renovate in #53
    Week numbers by @elliotwutingfeng in #54
    Refactoring and fix current date by @elliotwutingfeng in #55
    chore: tests and updates by @arthurhenrique in #57
    chore: tests and updates by @arthurhenrique in #58
netbsd-srcmastr pushed a commit that referenced this pull request Feb 6, 2023
1.7.0 (2022-11-17)

What's Changed

* Extract creation of Net::HTTP in httpproxy by @wishdev in #41
* Fix httpd error in CJK directory by @jeremyevans in #42
* Use GitHub Actions instead of Travis CI (retry) by @deivid-rodriguez in
  #40
* Skip env-locale-sensitive CGI test on the "java" platform by @headius in
  #46
* Make readpartial limit chunk to appropriate size by @wishdev in #45
* Do not use ensure in a block without begin by @jeremyevans in #49
* Allow empty POST and PUT requests without content length by @jeremyevans
  in #50
* Only run test_big_bodies test on Ruby 2.5+ by @jeremyevans in #51
* Fix test when run with US-ASCII encoding by @jeremyevans in #52
* Allow shutdown_pipe to be passed in via @config by @wishdev in #44
* Ensure server port numbers are numeric and ensure they are stored as
  ... by @wishdev in #55
* Fix shutdown_pipe test issue by @wishdev in #54
* Allow EPROTOTYPE error when writing junk to a socket by @jeremyevans in
  #56
* Use ruby/setup-ruby instead of actions/setup-ruby by @hsbt in #58
* Refix test_shutdown_pipe by @wishdev in #59
* add mime type of extention mjs by @paulownia in #60
* Make it more strict to interpret some headers by @mame in #61


1.8.0 (2023-01-27)

What's Changed

* Use frozen strings by @kirs in #65
* Use test-unit by @hsbt in #66
* More rubies on CI, deprecating ruby 2.3 due to test failure by
  @mathieujobin in #68
* Adds common mime types by @gotoken in #75
* add mime type for .webmanifest extension by @olleolleolle in #76
* CI: use bundler-cache: true by @olleolleolle in #79
* Typo by @printfinn in #78
* s/RubyVM::JIT/RubyVM::MJIT/g by @k0kubun in #82
* Fix invalid use of IP addresses in SNI by @jeremyevans in #83
* Bump actions/checkout from 2 to 3 by @dependabot in #91
* remove unneeded bin/console and bin/setup files from gemspec by
  @Benjamin-L in #94
* Accept put requests by @bharjr01 in #70
* Move the host request parsing to a separate method. by @wishdev in #85
* Only output prime information to $stderr if $VERBOSE by @jeremyevans in
  #88
* Better support for connection upgrade and bi-directional streaming. by
  @ioquatix in #101

1.8.1 (2023-01-27)

What's Changed

* Body should be non-frozen by default. by @ioquatix in #103
* Join test thread. by @ioquatix in #104
* Fix several regexp warnings. by @ioquatix in #105
netbsd-srcmastr pushed a commit that referenced this pull request Feb 25, 2023
v0.8.2
 - fix performance regression when translating en to en #63

v0.8.1
 - Critical hot fix for app failing to launch when requesting weekly forecast
   since 0.8.0 due to necessary file not being included in the release build

v0.8.0
 - extend language support #58
 - add geocodig fallback #59
 - update translation handling #60
netbsd-srcmastr pushed a commit that referenced this pull request Mar 15, 2023
1.21.0 (2023-02-13)

* Support for Ruby 3.0.0, 3.1.0, 3.2.0. (Drop support for Ruby 2.2 and
  earlier.) #66

* Support Rails 6 and Rails 7. (Drop support for Rails 3.x, 4.x) #66, #72

* Fix RMagick 5.0 compatible. #66

* Infinite loop has been resolved. #68, #74

* Fixed a bug that caused the x position to shift when an <img> tag was
  behind a <li> tag in HTML. #74

* fix: Incorrect characters when copying out of a generated PDF with Unicode
  fonts. #71

* Suppresses output for Circle(), Ellipse(), PieSector(), and PieSectorXY()
  when the radius is 0. #67

* Don't change an object while iterating over it #59 (by thegcat)

* fix : bidi bug #56 (by ahorek)

* Avoid rdoc stack level too deep (SystemStackError) in gem install. #76

* PDF example output option OUTPUT=true added #70

* Make the image file path acquisition process extensible #58 (by yui-har)
netbsd-srcmastr pushed a commit that referenced this pull request Mar 23, 2023
This release will include the following changes:

 - Fetch scrollback history independently of main loop #39
 - Add NetBSD install instructions #51
 - Create release profile with LTO #52
 - Support configuring client request timeout #54
 - Link to iamb space in README #55
 - Fix empty message check when sending #56
 - Show events that couldn't be decrypted #57
 - Allow log level to be configured #58
 - Indicate when an encrypted room event has been redacted #59
 - Lazy load room state events on initial sync #62
 - HTML self-closing tags are getting parsed incorrectly #63
 - Emote messages should always show sender #65
 - Update README.md to include Arch Linux package #66
 - Redacted messages need to have their HTML removed #67

I'm also going to update to [email protected] to pull in two useful bug fixes:
 - List widget should only use focus for rendering item modalkit#102
 - Vim keybinding D has wrong Count modalkit#103
netbsd-srcmastr pushed a commit that referenced this pull request Apr 30, 2023
0.1.49 (2023-03-23)

* Land #58, add has_read_data? for SSL sockets
netbsd-srcmastr pushed a commit that referenced this pull request Apr 30, 2023
v6.0.0
======

* #49: Dropped workaround for older setuptools versions.
* Require Python 3.7.

v5.3.2
======

* #58: Fixed syntax issue in changelog.

v5.3.1
======

* Refreshed package metadata.

v5.3.0
======

* Require Python 3.6 or later.
* Refreshed package metadata.
netbsd-srcmastr pushed a commit that referenced this pull request Jun 26, 2023
What's Changed
 - Fixed: Release GitHub action by @AmmarAbouZor in #53
 - Added: Tags (Categories) for journal + Filter Function
   by @AmmarAbouZor in #56
 - Changed: Keep journals list in focus after closing the external editor
   by @AmmarAbouZor in #58
 - Added: Select-Tags Popup in Create/Edit Journals Prompt
   by @AmmarAbouZor in #62
 - Changed: Add Filter Keybindings To Footer by @AmmarAbouZor in #64
 - Added: Search Functions in Filter by @AmmarAbouZor in #66
 - Added: Create Cleanup Cache GitHub Action by @AmmarAbouZor in #73
 - Added: Wiki Documentation by @AmmarAbouZor in #76
 - Added: automatic version increment and CFF self-maintenance
   by @kevinmatthes in #79
 - Allow Release Action To Start Manually by @AmmarAbouZor in #83
netbsd-srcmastr pushed a commit that referenced this pull request Jul 3, 2023
What's Changed

    Bump deps and tools by @gaborbernat in #56
    Add pyproject-fmt by @gaborbernat in #57
    Bump pypa/gh-action-pypi-publish from 1.6.5 to 1.7.1 by @dependabot in #60
    docs: remove (dynamic) years from copyright by @paravoid in #58
    Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 by @dependabot in #61
    Bump deps and tools by @gaborbernat in #62
    Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by @dependabot in #63
    Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.5 by @dependabot in #66
    Bump deps and tools by @gaborbernat in #67
    Bump deps and tools by @gaborbernat in #70
    Drop 2.7 test by @gaborbernat in #72
    Add trusted-publish by @gaborbernat in #73
    Add 3.12 support by @gaborbernat in #74
    Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by @dependabot in #76
    git ls-files -z -- .github/workflows/check.yml | xargs -0 sed -i 's|3.12.0-alpha.7|3.12.0-beta.1|g' by @gaborbernat in #80
    Add ruff by @gaborbernat in #81
netbsd-srcmastr pushed a commit that referenced this pull request Aug 25, 2023
Switch to GH Actions CI. by @patrickt in #41
Add the same PR template as for tree-sitter-javascript by @mjambon in #43
Update package.json to include the repository key by @msftenhanceprovenance in #50
Loosen Rust crate's tree-sitter dependency by @dcreager in #52
adding make support by @mattmassicotte in #56
feat: treat iota as predeclared identifier by @kawaemon in #58
feat: add support to parse of type parameters by @kawaemon in #57
feat: allow to put type arguments in calling expressions by @kawaemon in #59
Update C code by @aryx in #66
Document reason for statements at top level by @adonovan in #67
Make method bodies non-optional by @adonovan in #68
Fix node naming in {param,field}_declaration by @adonovan in #65
Structure Query by @mattmassicotte in #70
Remove field_identifier from keyed_element by @adonovan in #71
Generic Makefile by @mattmassicotte in #72
Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #78
Swift Package by @mattmassicotte in #79
Made body optional for method_declaration by @lmaruvada in #90
Allow GenericType to accept QualifiedType by @kawaemon in #92
feat(queries/highlight): highlight built-in functions as @function.builtin by @jimeh in #96
feat(grammar): capture comment directives by @matoous in #97
Revert "Merge pull request #97 from matoous/md/comment-directives" by @matoous in #98
feat(ci): run build & test action on PRs by @matoous in #99
fix: fix string literal rule by @SuperBo in #91
Add more types and struct/parameter fix by @amaanq in #118
Param fix by @amaanq in #119
Update identifiers and top level declarations by @amaanq in #120
Fix single import spec list without terminator by @amaanq in #122
Materialize expression_statement nodes by @josharian in #124
Formatting & CI fixes by @amaanq in #126
netbsd-srcmastr pushed a commit that referenced this pull request Aug 31, 2023
Switch to GH Actions CI. by @patrickt in #41
Add the same PR template as for tree-sitter-javascript by @mjambon in #43
Update package.json to include the repository key by @msftenhanceprovenance in #50
Loosen Rust crate's tree-sitter dependency by @dcreager in #52
adding make support by @mattmassicotte in #56
feat: treat iota as predeclared identifier by @kawaemon in #58
feat: add support to parse of type parameters by @kawaemon in #57
feat: allow to put type arguments in calling expressions by @kawaemon in #59
Update C code by @aryx in #66
Document reason for statements at top level by @adonovan in #67
Make method bodies non-optional by @adonovan in #68
Fix node naming in {param,field}_declaration by @adonovan in #65
Structure Query by @mattmassicotte in #70
Remove field_identifier from keyed_element by @adonovan in #71
Generic Makefile by @mattmassicotte in #72
Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #78
Swift Package by @mattmassicotte in #79
Made body optional for method_declaration by @lmaruvada in #90
Allow GenericType to accept QualifiedType by @kawaemon in #92
feat(queries/highlight): highlight built-in functions as @function.builtin by @jimeh in #96
feat(grammar): capture comment directives by @matoous in #97
Revert "Merge pull request #97 from matoous/md/comment-directives" by @matoous in #98
feat(ci): run build & test action on PRs by @matoous in #99
fix: fix string literal rule by @SuperBo in #91
Add more types and struct/parameter fix by @amaanq in #118
Param fix by @amaanq in #119
Update identifiers and top level declarations by @amaanq in #120
Fix single import spec list without terminator by @amaanq in #122
Materialize expression_statement nodes by @josharian in #124
Formatting & CI fixes by @amaanq in #126
netbsd-srcmastr pushed a commit that referenced this pull request Sep 11, 2023
v0.1.7
What's Changed
 - Feature: + supported in ORIGIN by @Dajamante in #70
 - Add changelog enforcer by @Urhengulas in #71
 - CI: Install Rust manually by @Urhengulas in #72
 - Update CI by @Urhengulas in #74
 - End of year refactoring by @Urhengulas in #75
 - Goodbye bors by @Urhengulas in #77
 - Summer cleanup by @Urhengulas in #79
 - Release v0.1.7 by @Urhengulas in #80

v0.1.6
What's Changed
 - Print a message when linking normally fails by @jonas-schievink in #58
 - Add entry to change log by @justahero in #59
 - Update to Rust 2021 🎉 by @Urhengulas in #60
 - Update CHANGELOG.md by @Urhengulas in #61
 - search linker scripts in cwd first by @spookyvision in #63
 - ci: cache cargo registry & build artifacts by @japaric in #64
 - v0.1.6 by @japaric in #68
netbsd-srcmastr pushed a commit that referenced this pull request Dec 19, 2023
1.059  2023-07-20

- correctly propagate the exit value of a packed executable

  Get the exit value from perl_destruct() instead of perl_run().
  These may be different, e.g. if the value of $? is set in an END block.

- clean up tests a bit
- set up GitHub CI and add cpanfile (for CI only)
- check more return codes in myldr/*.c

1.058  2023-06-12

- patch DynaLoader.pm to make intercepting DynaLoader::bootstrap work again
  for Perl >= 5.35 on Windows (see #74)

  $do_expand was changed in perl 5.36 from an (implicit) "local" variable
  to "my". This breaks how PAR::Heavy intercepts calls to
  DynaLoader::bootstrap: monkey-patching DynaLoader::bootstrap,
  DynaLoader::dl_findfile and DynaLoader::bootstrap while setting
  "local $DynaLoader::do_expand = 1".

- reorganize modules etc used in tests
- add test to run an XS module from a .par file
- add a test for loading XS "glue" DLLs

- remove unused code for packed DLLs ("pp --link ...")
  - nobody packs (non-XS) DLLs as embedded "FILE"s
  - nobody uses a $Config{version) sub directory when packing DLLs below
    "shlib/" in the zip

1.057  2022-11-29

- use a different method to mark executable built from "pp --clean ..."

  - scripts/par.pl: don't patch the string "__PASS_PAR_CLEAN__               \0" in the
    "boot" section of the executable and ...
  - myldr/boot.c: ... stop looking for the patched string
  - scripts/par.pl: add "\0CLEAN" in lieu of "\0CACHE" (and drop the 40-byte
    cache name below that) in the "trailer" section when generating a packed
    executable when META.yml indicates "--clean" was specified)
  - myldr/mktmpdir.c: allow "\0CLEAN" as an alternative to "\0CACHE"
    and set PAR_CLEAN=1 in that case
  - myldr/mktmpdir.c: implement find_par_magic() akin the one in script/par.pl

- better CLT detection in MacOS (#70) [plk <[email protected]>]

- use Getopt::ArgvFile with resolveEnvVars=1
  suggested by Johan Vromans (@sciurius on GitHub)

1.056  2022-09-05

- Fix #66: patch myldr/boot for "pp --clean ..." without side effects

  - make sure myldr/boot contains exactly one string of the form
    "__PASS_PAR_CLEAN__               \0" so that there are no
    duplicates that may get split on chunk boundaries
    (myldr/boot_embedded_files.c)
  - simplify patching of this string (in $loader) to
    "__PASS_PAR_CLEAN__=1             \0" in script/par.pl
  - add a test for #66 (check for ephemeral vs persistent cache directory)

- Revert "Fixes #62: rs6000_71 (AIX) "An offset in the .loader section header is too large.""

  PAR_CLEAN is set too late: at this point PAR_TEMP has already
  been set (and populated) to a persistent cache directory
  (/tmp/par-USER/cache-SHA1) instead of an ephemeral one (/tmp/par-USER/temp-PID).

- Some code cleanup
  - replace some magic numbers with constants
  - use string interpolation (instead of concatenation)
  - clean up some convoluted C code

1.055  2022-07-03

- Fix #62: rs6000_71 (AIX) "An offset in the .loader section header is too large."

  Communicate pp option "--clean" to the generated executable in a
  different way. Previously this was done by patching "__ENV_PAR_..." strings
  **in the executable being built** and interpreting these strings in
  par.pl **at runtime**. Though hacky, this seemingly worked on any OS
  (without rendering the executable invalid).
  But the only information ever passed was the value of PAR_CLEAN and this was
  gleaned at build time from the value of JSONPath $par.clean from META.yml
  in the zip (set by pp by option "--clean").
  Instead read and interpret "META.yml" in par.pl **at runtime**.

- Fix: merge PR #58 from [email protected]:

  Adding support for running MacOS Universal binaries created via 'lipo'
  from already pp'ed and signed thin binaries

- Make writing stuff more robust: check return value of print()
  and close() in some places.

1.054  2022-01-27

- Temporarily disable t/90-gh41.t (system("\\\\?\\some-absolute-path") fails)

1.053  2022-01-25

- Fix: merge PR #56 from from Philip Kime <[email protected]>:
  Updating OSX codesign fix util with fix for automatically added ad-hoc signatures on OSX 12+

- Fix: merge PR #42 from Andrew-Kulpa/master:
  Get exe size from file handle instead of path

- Fix: prevent TABs in literal makefile fragments from being expanded

- Cleanups:
  - par_findprog(): pass a copy of argument `path´ to strtok()
  - simplify searching for PAR magic
  - consolidate die()s
  - add a test for GitHub #41
  - add error message when exec'ing the custom perl fails in myldr/boot
  - untangle %require_list and %ModuleCache
netbsd-srcmastr pushed a commit that referenced this pull request Mar 27, 2024
Added
 - add harmonized_colors to --json flag (#53)
 - add to_upper and to_lower filters
 - add replace filter
 - add set_lightness filter
 - add colors_to_harmonize
 - (config) change custom_keywords configuration syntax

Fixed
 - move aur publish into aur.yml
 - remove aur action in main.yml
 - format harmonized_colors in dump_json (#53)

Other
 - (readme) update features
 - (readme) add arch install guide
 - Merge pull request #58 from Ehllay/main
 - Merge pull request #57 from InioX/dev
 - remove error message when compiling template
 - run clippy fix
netbsd-srcmastr pushed a commit that referenced this pull request May 6, 2024
1.23.7 (2024-04-20)

* The exception backtrace should be split into at most 3 pieces.


1.24.0 (2024-04-22)

* Add compatible shim for Exception#detailed_message. (#58)
* Better output formatting of options.


1.25.0 (2024-05-03)

* Separation of output formatting from log generation/schema. (#60)
* Use Console::CapturedOutput everywhere.
* Improve getting started guide.
* Remove test file.
* Add guidelines for custom events.
* Set minimum version of fiber-local gem.
* Compatibility with previous event argument.


1.25.1 (2024-05-03)

* Add tests for Console::Event::Spawn.


1.25.2 (2024-05-04)

* Apply subject/level filtering in Filter#call.
netbsd-srcmastr pushed a commit that referenced this pull request Jul 19, 2024
Based on PR 58426 by jonathan buschmann.

## 2.4.7 2024-05-05

### Fixed
- docs(pop): clarify --spill behavior (#445)
- fix(branch): disallow branch before subcommand (#447)

### Changed
- refactor: get gix-command via gix with command feature
- Update gix to version 0.62


## 2.4.6 2024-04-07

### Fixed
- fix(bash): fix completion for "committish"

### Changed
- docs: Update copyright year
- chore: update gix to 0.61.1
- ci: update to wix 4.0.5


## 2.4.5 2024-02-18

### Fixed
- fix: stdout from hooks (#418)

### Changed
- chore: add category and keywords to Cargo.toml
- build: exclude some paths from crate
- docs(readme): enumerate more package repositories
- chore: update dependencies


## 2.4.4 2024-02-11

### Fixed
- fix: pass stdio for interactive editing (#415)
- fix: update gix-tempfile and gix-lock to 13.1.0 (#413)

### Changed
- chore: update dependencies


## 2.4.3 2024-02-04

### Added
- feat(branch): allow delete of current branch

### Fixed
- fix(branch): delete branch config with branch
- fix: use gix-command for interactive edit (#407)
- fix: improved interactive editor diagnostics
- chore: update gix to 0.58.0 (#407)
- docs: fix dates in changelog

### Changed
- refactor(branch): use gix to rename config section
- refactor: use gix to remove stgit branch config
- refactor: use gix-command for hooks
- refactor: use non-deprecated indexmap methods
- ci: update cargo-generate-rpm to 0.14.0
- ci: update to upload-artifact@v4
- ci: restore use of IO::Pty in MacOS build


## 2.4.2 2023-12-26

### Changed
- feat(pop): allow unescaped negative patch offsets
- feat(show): allow unescaped negative patch offsets
- chore: update dependencies


## 2.4.1 2023-12-10

### Fixed
- fix(zsh): short -r opt for `stg series`

### Changed
- chore: update gix to 0.56.0
- chore: update transient dependencies


## 2.4.0 2023-10-08

### Added
- feat(delete): --all -A -U -H options
- feat(sink): -T/--above option
- feat(branch): short opts for clone and delete


## 2.3.3 2023-10-04

### Fixed
- fix(zsh): -S option for float, import, and sync
- build: avoid non-portable install options
- test: improved test script portability

### Changed
- update dependencies


## [2.3.2] 2023-08-19

### Fixed
- fix!(uncommit): check for HEAD/top mismatch (#360)
- docs: docstring spelling and formatting fixes

### Changed
- feat(uncommit): print uncommited patches
- pin serde to avoid using precompiled binary
- update dependencies


## [2.3.1] 2023-07-25

### Fixed
- fix(zsh): typo in completion help for stg commit --all
- fix: use canonical Message-ID spelling
- fix(stgit.el): recognize new empty patch marker
- fix(import): Keep first line break in body

### Changed
- update dependencies


## [2.3.0] 2023-05-25

### Removed
- import-compressed is always enabled, no longer a feature

### Added
- unofficial deb and rpm packages
- msi package for Windows

### Fixed
- fix(import): would panic without import-url feature
- fix(import): patch numbers not stripped from name

### Changed
- use bzip2-rs instead of bzip2 crate
- update dependencies


## [2.2.4] 2023-05-15

### Added
- feat: Upgrade from ancient stack state formats (#235)

### Fixed
- fix(branch): create based on remote branch (#317)
- fix(import): lost subject lines resembling header (#321)
- fix(import): subject line may be discarded

### Changed
- chore: update dependencies


## [2.2.3] 2023-04-26

### Fixed
- fix: error using on Windows (#273)
- fix: path handling for Windows compatibility
- fix: commit-msg hook run from work root
- fix: avoid "stg.exe" in usage on Windows
- fix: use gitattributes to force LF endings on Windows
- fix: wrap hooks with sh on Windows

### Changed
- chore: update to gix 0.44.0
- chore: update other dependencies


## [2.2.2] 2023-04-01

### Fixed
- fix: rebase with '@' in ref names (#306)
- fix: improved error messages for unrecognized commands


## [2.2.1] 2023-03-29

### Changed
- chore: update to clap 4.2.0
- chore: update to gix 0.43.0
- chore: pin clap minor version

### Fixed
- fix(branch): allow reuse of partially deleted branch names (#290)
- fix(branch): branch list alignment
- fix: running hooks from worktree subdir (#295)
- fix: running from linked worktree (#297)
- fix(float): correct -S in usage string
- fix: correctly show bold command/subcommand in overidden usage


## [2.2.0] 2023-02-24

### Removed
- feat!: remove short -s option for --submodules
- fix!: patch name cannot be {base} or @

### Added
- feat: patch locator syntax
- feat: locate branches using @{-N} syntax
- feat(series): Add --reverse option
- feat(series): options for patch offsets and indices
- feat(series): --no-xxx options to override display options
- feat(series): optional value for --short
- feat!: short -s option for --signoff (#245)
- feat(init): add -b/--branch option

### Changed
- fix!: use -S as short opt for --series
- feat!: constrain refresh -p to visible patches
- feat(series)!: empty patch prefix changed to *
- feat!: spell errors in lowercase
- refactor: use gitoxide instead of git2
- refactor: use time crate instead of chrono
- feat!: update to clap 4.1
- chore: update to latest dependencies

### Fixed
- fix: Error if author or committer is not configured
- fix: Use correct base directory for core.hooksPaths
- fix(rename): colliding patch names
- fix(rebase): repair rebasing to a tag (#265)
- fix(branch): switch branch with detached head
- docs: Repair docstrings being confused as html
- docs: normalized spelling for --branch value


## [2.1.0] 2022-12-12

### Added
- feat: Configurable push conflict policy (#60)
- feat: Add --committer-date-is-author-date option (#47)
- feat(import): Add --3way option (#36)
- feat(import): Add --directory option (#36)

### Changed
- feat!: Relaxed stack initialization (#238)
- feat!: Only sign stack based on stgit.gpgsign (#238)
- fix!: Allow "---" separator in messages (#243)
- feat: More descriptive push conflict message (#60)
- feat: Avoid post-edit commits when no change
- chore: Update dependencies to latest versions

### Fixed
- fix: Improved error message for uninitialized stack
- fix: Improve error for re-initialization attempt
- fix(prev): Different error message for empty stack
- fix: Accept full ref name for branches
- fix(zsh): Complete --edit and --diff for stg new


## [2.0.4] 2022-11-30

### Changed
- docs: Document configuration variables
- refactor: Use is-terminal instead of atty
- chore: Update Cargo.lock with latest dependencies.

### Fixed
- fix: Don't generate new patch name until after edit (#239)
- fix: Run shell aliases from top-level of work tree
- fix: Use GIT_PREFIX in built-in aliases


## [2.0.3] 2022-11-21

### Changed
- chore: Update Cargo.lock with latest dependencies.

### Fixed
- fix: improved git version parsing on MacOS
- fix: StGit-specific branch config handling
- docs: fixed many typos


## [2.0.2] 2022-11-17

### Changed
- chore: Update Cargo.lock with latest dependencies.
- docs(init): Add long help for `stg init`.

### Added
- feat: Enable basic support for `extensions.worktreeconfig` to unblock
  sparse checkout with partial clone (#195).

### Fixed
- docs: More inter-command links
- docs: Normalize quoting


## [2.0.1] 2022-11-07

### Changed
- chore: Update to clap 4.0.22

### Fixed
- docs(readme): Clarify static versus dynamic linking (#230)
- build: Improve Documentation build performance (#229)


## [2.0.0] 2022-11-06

### Removed
- `stg clone` is removed. Use `git clone` and `stg init` instead.
- `stg mail` is replaced with `stg email format` and `stg email send`.
- `stg refresh --spill` is replaced with dedicated `stg spill` command.
- `stg edit` no longer accepts `-O/--diff-opts`. Custom diff options is
  in conflict with editable diffs since many (most?) diff options cause
  the diff to no long be applicable.
- `stg files` no longer accepts `-O/--diff-opts`. This option was of
  marginal value since it only had a possible side effect when `--stat`
  was being used.

### Added
- `stg id` now accepts the `-b/--branch` option.
- `stg completion` command provides runtime support for shell
  completions.
- `stg completion bash` generates bash shell completion script.
- `stg completion fish` generates fish shell completion script.
- `stg completion zsh` outputs zsh shell completion script.
- `stg completion list` shows StGit commands and aliases and is used at
  completion-time by shell completion scripts.
- `stg completion man` generates man pages in asciidoc format.
- `stg email format` wraps `git format-patch` and provides a mechanism
  to generate patch emails and optional cover letter in mbox format.
- `stg email send` wraps `git send-email` and allows sending patch
  emails, either from files generated by `stg email format` or by
  specifying patches directly.
- `stg new --refresh` allows a new patch to be refreshed with changes in
  one step. The `-i/--index`, `-F/--force`, `-s/--submodules`, and
  `--no-submodules` options from `stg refresh` are also available to
  `stg new` when using `-r/--refresh`.
- `stg series` gains the `-i/--commit-id` option to display patches'
  commit ids.
- `stg show` diff output can now be limited to certain paths by
  specifying path limits on the command line.
- `stg spill` replaces `stg refresh --spill`.
- `stg version` gains `-s/--short` flag to show shortened version info.
- Added documentation for patch range syntax to stg(1) man page.
- Added `install-all` target to top-level Makefile that installs the
  executable, man pages, html pages, and shell completions.

### Changed
- StGit is now implemented entirely in Rust instead of Python.
- StGit is generally much faster; many commands are up to 4x faster.
  There was an emphasis on making informational commands such as `stg
  id`, `stg series`, and `stg top` as fast as possible to make their use
  in interactive contexts (shell prompts, IDE extensions) more
  comfortable.
- StGit error messages have been updated; many have different, and
  hopefully better, wording. Error messages are also use color (when
  color is enabled). Scripts relying on exact error messages from StGit
  will need to be updated.
- StGit output to stdout is generally more terse. Commands that change
  the stack such as `push`, `pop`, and `commit`, use sigils to denote
  the changes made to the stack. E.g. `stg commit p0..p3` will output `$
  p0..p3` where the "$" sigil means that a patch, or patch range, has
  been committed. These are all the currently used stack change sigils:
  - `+` patch was pushed
  - `-` patch was popped
  - `>` patch became the current topmost patch
  - `&` patch was updated
  - `$` patch was committed
  - `#` patch was deleted
  - `@` patch was rolled-back
  - `!` patch was hidden
- StGit aliases are now more like Git aliases. Normal aliases refer to
  StGit subcommands, but aliases prefixed with '!' are shell aliases
  that may run arbitrary commands. An example normal alias would be `git
  config stgit.alias.list 'series --description --empty'`. An example
  shell alias would be `git config stgit.alias.st '!git status
  --short'`.
- Commands such as `stg goto`, `stg push`, and `stg pop` now require
  full/correct patch names on the command line and no longer accept
  unambiguous patch name prefixes. When an inexact patch name is
  provided on the command line, the error message will now suggest
  similar valid patch names.
- Additional template search paths were added. In addition to looking
  for template files in .git/, also look in
  `$XDG_CONFIG_HOME/stgit/templates/` and `$HOME/.stgit/templates`. This
  search strategy is consistent with how git looks for the global config
  file.
- The new `--signoff` patch edit option supersedes the deprecated
  `--sign` and `--sign-by` options. `--signoff` without its optional
  value does the same thing as `--sign`, while `--signoff=<value>` does
  the same thing as `--sign-by=<value>`.
- The `--ack` and `--review` patch edit options now optionally take a
  value. The `--ack-by` and `--review-by` options are deprecated.
- `stg branch` output is now generally less verbose.
- `stg branch --describe` replaces `stg branch --description`. The
  `--description` subcommand remains supported as a hidden alias to
  `--describe`, but the description string must now be provided as its
  own argument; i.e. `--description="description string"` is no longer
  supported.
- `stg branch --list` now produces colorized output. The `--color`
  option or `NO_COLOR` environment variable may be used to affect this
  behavior.
- `stg branch --rename` now supports renaming regular git branches in
  addition to StGit-enabled branches.
- `stg clean` now uses `-A` and `-U` short options for `--applied` and
  `--unapplied` instead of `-a` and `-u`. This is done for consistency
  with `stg series` and `stg show`.
- `stg import` now only recognizes compressed patches by their file
  extension (`.bz2` or `.gz`) and no longer proactively attempts to
  decompress using all known decompressors.
- `stg import` support for compressed input files is selectable at
  compile time using the `import-compressed` feature.
- `stg import` support for importing from a URL is selectable at compile
  time using the `import-url` feature. **N.B.** there is a measurable
  runtime performance impact of building with `import-url` due to the
  unconditional, pre-main initialization of `curl` which affects **all**
  `stg` commands.
- `stg log` now colorizes output by default. The `--color` option or
  `NO_COLOR` environment variable may be used to affect this behavior.
- `stgit.new.verbose` changed to `stgit.edit.verbose` and now also
  affects edit behavior for `edit`, `refresh`, and `squash` along with
  `new`.
- `stg new` now accepts `-e/--edit` and `-d/--diff` instead of
  `-v/--verbose`
- `stg pick` now allows a mix of commits and patches to be picked
  whereas previously only a single commit xor multiple patches could be
  picked.
- `stg pick` now performs a single stack transaction for all the picked
  patches/commits instead of one transaction per pick.
- `stg push` now attempts to perform three-way merges, which may improve
  conflict resolution in some cases. This feature is enabled by default
  when git >= 2.32.0 is detected.
- `stg rebase --interactive` the "squash" and "fixup" instructions may
  no longer be applied to the first patch in the instruction list. The
  stated semantics of both "squash" and "fixup" is that they squash the
  labeled patch with the preceding patch, which is not possible/valid
  when there is no preceding patch.
- `stg refresh` no longer has a `--spill` flag. Use `stg spill` instead.
- `stg series` has updated colorized output.
- `stg series` now requires patch range arguments to be both in-order
  and contiguous. Constraining patch ranges in this manner ensures that
  the output from `stg series` is always a valid/correct view of a
  subset of the series.
- `stg show` diff output respects the `--color` option.
- `stg squash` now allows the full suite of patch edit options,
  including `-d/--diff`. Previously only a few message-related options
  were available.
- `stg version` now displays copyright and license statements.

### Fixed

- `stg branch --create` inherits the current branch's remote branch
  configuration, if available. The Python implementation had an apparent
  bug that prevented inheriting the remote branch configuration when
  creating from the current branch.
- Avoid case insensitive patch name collisions. On operating systems
  with case-insensitive paths, patch names that only differ by case lead
  to patch reference collisions. StGit now ensures that patch names are
  distinct under case insensitive comparisons.
- `stg pull` and `stg rebase` record updated stack state instead of
  deferring until the next stack-modifying command to do so.

### Changed since 2.0.0-rc.2

#### Changed
- chore: Update Cargo.lock

#### Fixed
- fix(zsh): Repair broken completion of --git-opt
- fix(zsh): Add missing `stg email send --branch`
- fix(email): Send using --branch option
- fix: Avoid duplicate signoff with stgit.autosign
- fix: Do not use 3way for merged checks


## [2.0.0-rc.2] 2022-10-23

### Changed
- The `--diff-opts` option is renamed to `--diff-opt`. `--diff-opts`
  remains available as an alias.
- The `--diff-opt` option no longer allows multiple git options per
  occurrence. This allows git diff options with spaces in their values.
- The `--git-opts` option for `stg email format` and `stg email send` is
  renamed `--git-opt`.
- The `--git-opt` option no longer allows multiple git options per
  occurrence. This allows git options with spaces in their values.
- Zsh completion for `--diff-opt` and `--git-opt` leverage the
  full-featured git completion capability.

### Fixed
- Repair check for modifications to stack by external tools.
- `stg pull` and `stg rebase` record updated stack state instead of
  deferring until the next stack-modifying command to do so.
- Improve patch application with `git apply --3way` when pushing` (#225)
- Zsh completion for `--diff-opt` accommodates multiple occurrences


## [2.0.0-rc.1] 2022-09-30

### Added
- Added `--annotate` flag to `stg email send`.
- Added `-p`/`--patch` option to `stg show` as alternative way to select patch
  ranges (#216).
- Added `-n`/`--name` option to `stg new` as alternative way to specify new
  patch name (#216).

### Changed
- Update `git2` to 0.15.0, which may further help compatibility with
  sparse checkouts and multiple worktrees (#195).
- Update to `clap` 4.0, which changes the help formatting and coloring.
- Update other dependencies to latest versions in Cargo.lock.
- No longer depend on `lazy_static` crate.
- Use `std::thread::scope` instead of custom mechanism. This brings the
  total number of uses of `unsafe` in StGit to zero.
- Minimum rustc requirement is set to 1.63.0.
- The '$' sigil used for committed patches is now yellow instead of
  white.
- Patch names beginning with a hyphen '-' may be disambiguated from command
  line options by escaping the leading '-' with a backslash.
- `stg email format` and `stg email send` now use `-G`/`--git-opts` to pass
  additional options to `git format-patch` and `git send-email`.
- Patch name arguments to `stg email format` and `stg email-send` can now be
  placed after a `--` separator (#216).
- Update top-level usage help for `stg`.

### Fixed
- Various errors that may occur when executing a stack transaction are
  now handled more robustly such that the changes from the transaction
  are rolled-back so that the stack, repository, and worktree are all in
  a consistent state (#205).
- The `stg uncommit -h` usage indentation is repaired.
- The `stg float` usage now shows the two distinct usage modes.
- `stg squash --name` allows patch names with leading '-'.
- `stg diff --range` allows patch names and ranges with leading '-'.
- Fix some pre-indented paragraphs in help/about strings.
- Zsh completion for `stg edit` incorrectly included -O/--diff-opts.
- Zsh completion for `stg files` incorrectly included -O/--diff-opts.


## [2.0.0-beta.3] 2022-08-28

### Added
- Add install targets for `contrib/` directory.

### Changed
- Use `git` executable instead of `libgit2` for all status and index
  operations to improve compatibility with sparse index checkouts
  (#195).
- Show commit hash in `stg version` output when not built from tag.
- Use `cargo --locked` consistently in Makefiles.
- Use "patch" extension in temp file name when editing a patch with a
  diff.
- Updated transient dependencies in Cargo.lock.

### Fixed
- Repair `stg branch --describe` panic when run without arguments
- Repair zsh completions for `git branch`
- Repair `stgit.el` to use compatible `stg show` commands (#202).
- Repair `stg uncommit --to` to work with annotated tags (#203).
- Repair `make install` to not install cargo tracking files.


## [2.0.0-beta.2] 2022-08-05

### Changed
- Improved error when push conflicts with untracked files (#193)
- Removed a few transitive dependencies by turning-off features in bstr
  and chrono.
- Update Cargo.lock with latest dependencies
- Update to clap 3.2 and only use non-deprecated interfaces

### Fixed
- Repair `stg spill` when spilling newly added files and using path
  limits.


## [2.0.0-beta.1] 2022-07-28

### Removed
- Removed Python implementation of StGit.

### Added
- Man page generation in asciidoc format with `stg completion man`. This
  was needed for feature parity with the Python implementation.
- Added documentation for patch range syntax to stg(1) man page.
- Added `install-all` target to top-level Makefile that installs the
  executable, man pages, html pages, and shell completions.

### Changed
- Additional template search paths were added. In addition to looking
  for template files in .git/, also look in
  `$XDG_CONFIG_HOME/stgit/templates/` and `$HOME/.stgit/templates`. This
  search strategy is consistent with how git looks for the global config
  file.
- Makefile targets are updated such that they are all applicable to the
  Rust implementation.
- Argument value names are now all lowercase in help and man pages.
- Updated Cargo.lock with latest versions of dependencies.
- Release checklist is updated for Rust implementation.

### Fixed
- Minor typo fixes in help strings
- Improved documentation for top-level `stg` options.
- Improve error message in edge case of attempting to push a hidden
  patch by name when there are no unapplied patches.


## [2.0.0-alpha.2] 2022-07-07

### Added
- `stg email format` wraps `git format-patch` and provides a mechanism
  to generate patch emails and optional cover letter in mbox format.
- `stg email send` wraps `git send-email` and allows sending patch
  emails, either from files generated by `stg email format` or by
  specifying patches directly.

### Changed
- Bash completions for shell aliases now fallback to filename
  completions (#191).
- Help options listings now ensure --color and --help are shown last.
- Various zsh completion improvements:
  - Add descriptions for --color values
  - Complete -O/--diff-opts values (using `git diff-tree --git-completion-helper`)
  - Comprehend `stg -C <dir>` options
  - Improved/corrected alias expansion
  - Improved error messages when completion is attempted outside git
    repo and/or StGit-initialized branch
  - Patch name completions now look and feel like output from `stg
    series`
  - Complete patch range syntax ('patch0..patchN') for all relevant
    commands
  - Completion for `stg squash` no longer allows duplicate patch name
    arguments
  - Removed completions for removed `stg mail` command
  - Completion for `stg sink` no longer offers hidden patches
  - Completion for `stg rename` comprehends second, new patch name
    argument
  - Completion for `stg diff --range` now works

### Fixed
- Compatibility with git versions prior to 2.35.0 is repaired by
  avoiding using `git apply --allow-empty` (#192).
- Fish completions for -O/--diff-opts are repaired


## [2.0.0-alpha.1] 2022-06-17

### Added
- `stg series` gains the `-i/--commit-id` option to display patches'
  commit ids.
- `stg series` colorized output is modified. The main change is that
  patch descriptions are no longer yellow.
- `stg version` now displays copyright and license statements.
- `stg version` gains `-s/--short` flag to show shortened version info.
- The `stgit.diff-opts` configuration variable is now respected as it
  was in the Python implementation.
- `stg completion` command provides runtime support for shell completions.
- `stg completion bash` generates bash shell completion script.
- `stg completion fish` generates fish shell completion script.
- `stg completion zsh` outputs zsh shell completion script.
- `stg completion list` shows StGit commands and aliases and is used at
  completion-time by shell completion scripts.

### Changed
- The `-O/--diff-opts` flag now allows both multiple space separated
  opts in one value as well as multiple occurrences of `-O/--diff-opts`
  on the same command line. This behavior is compatible with the Python
  implementation.
- `stg series` help output splits options into a few sections.
- Dependencies are updated to more recent versions in Cargo.lock.

### Fixed
- `stg edit --set-tree` no longer causes the interactive editor to be
  implicitly invoked.
- Repair build for non-Linux unix targets (including MacOS) and Windows
  targets.
- Avoid case insensitive patch name collisions. On operating systems
  with case-insensitive paths, patch names that only differ by case lead
  to patch reference collisions. StGit now ensures that patch names are
  distinct under case insensitive comparisons.
- Add missing `-t` short option for `--set-tree` for `stg edit`.
- Add missing `-k` short option for `--keep`.


## [2.0.0-alpha.0] 2022-05-17

### Removed
- `stg edit` no longer accepts `-O/--diff-opts`. Custom diff options is
  in conflict with editable diffs since many (most?) diff options cause
  the diff to no long be applicable.
- `stg files` no longer accepts `-O/--diff-opts`. This option was of
  marginal value since it only had a possible side effect when `--stat`
  was being used.
- `stg clone` is removed (at least for the time being). Use `git clone`
  and `stg init` instead.
- `stg mail` is removed, but will be re-added or replaced prior to the
  2.0.0 release.

### Added
- `stg new --refresh` allows a new patch to be refreshed with changes in
  one step. The `-i/--index`, `-F/--force`, `-s/--submodules`, and
  `--no-submodules` options from `stg refresh` are also available to
  `stg new`.
- `stg id` now accepts the `-b/--branch` option.
- `stg spill` replaces `stg refresh --spill`.

### Changed
- StGit aliases are now more like Git aliases. Normal aliases refer to
  StGit subcommands, but aliases prefixed with '!' are shell aliases
  that may run arbitrary commands. An example normal alias would be
  `git config stgit.alias.list 'series --description --empty'`. An
  example shell alias would be `git config stgit.alias.st '!git status
  --short'`.
- The `--ack` and `--review` options now optionally take a value. The
  `--ack-by` and `--review-by` options are deprecated.
- Commands such as `stg goto`, `stg push`, and `stg pop` now require
  full/correct patch names on the command line and no longer accept
  unambiguous patch name prefixes. When an inexact patch name is
  provided on the command line, the error message will now indicate
  similar valid patch names.
- `stg branch` output is now generally less verbose.
- `stg branch --describe` replaces `stg branch --description`. The
  `--description` subcommand remains supported as a hidden alias to
  `--describe`, but the description string must now be provided as its
  own argument; i.e. `--description="description string"` is no longer
  supported.
- `stg branch --list` now produces colorized output. The `--color`
  option or `NO_COLOR` environment variable may be used to affect this
  behavior.
- `stg branch --rename` now supports renaming regular git branches in
  addition to StGit-enabled branches.
- `stg clean` now uses `-A` and `-U` short options for `--applied` and
  `--unapplied` instead of `-a` and `-u`. This is done for consistency
  with `stg series` and `stg show`.
- `stg import` now only recognizes compressed patches by their file
  extension (`.bz2` or `.gz`) and no longer attempts to decompress using
  all known decompressors.
- `stg import` support for compressed input files is selectable at
   compile time using the `import-compressed` feature.
- `stg import` support for importing from a URL is selectable at compile
  time using the `import-url` feature.
- `stg log` now colorizes output by default. The `--color` option or
  `NO_COLOR` environment variable may be used to affect this behavior.
- `stgit.new.verbose` changed to `stgit.edit.verbose` and now affects edit
  behavior for `edit`, `refresh`, and `squash` along with `new`.
- `stg new` now accepts `-e/--edit` and `-d/--diff` instead of `-v/--verbose`
- `stg pick` now allows a mix of commits and patches to be picked
  whereas previously only a single commit xor multiple patches could be
  picked.
- `stg pick` now performs a single stack transaction for all the picked
  patches/commits instead of one transaction per pick.
- `stg rebase --interactive` the "squash" and "fixup" instructions may
  no longer be applied to the first patch in the instruction list. The
  stated semantics of both "squash" and "fixup" is that they squash the
  labeled patch with the preceding patch, which is not possible/valid
  when there is no preceding patch.
- `stg refresh` no longer has the `--spill` flag. Use `stg spill`
  instead.
- Updated colorized output for `stg series`.
- `stg series` now requires patch range arguments to be both in-order
  and contiguous. Constraining patch ranges in this manner ensures that
  the output from `stg series` is always a valid/correct view of a
  subset of the series.
- `stg show` diff can now be limited to certain paths by specifying path
  limits on the command line.
- `stg show` diff output respects the `--color` option.
- The new `--signoff` patch edit option supersedes the deprecated
  `--sign` and `--sign-by` options. `--signoff` without its optional
  value does the same thing as `--sign`, while `--signoff=<value>` does
  the same thing as `--sign-by=<value>`.
- `stg squash` now allows the full suite of patch edit options,
  including `-d/--diff`. Previously only a few message-related options
  were available.

### Fixed
- `stg branch --create` inherits the current branch's remote branch
  configuration, if available. The Python implementation had an apparent
  bug that prevented inheriting the remote branch configuration when
  creating from the current branch.


## [1.5] 2022-01-28

### Removed
### Added
- Add Makefile targets for installing shell completions
- `stg rebase --interactive` learns 'hide' instruction

### Changed
- Picked patch names are preserved when possible (#175)
- Replace `--unapplied` option with `--noapply` for `stg pick` (#174)
- `stg pick --noapply` no longer reverses patch order (#174)
- Use `stg version` uses `sys.executable` to get Python version.

### Fixed
- Repair `stg repair` with amended first patch (#163)
- Repair corner cases where invalid patchnames could be generated by
  `stg new`, `stg uncommit`, etc. (#176)
- `stg mail` could crash due to a misspelled reference (#178)
- Zsh completion for `stg refresh -p` now completes against all patches
  (not just applied patches).
- Zsh gains missing completion for `stg push --noapply`
- Minor repair to help for `stg float --noapply` and `stg push
  --noapply`
- Restore `stg sink --nopush` capability.


## [1.4] 2021-10-27

### Removed
- Python 3.5, which became EOL 2020-09-13, support is deprecated and
  will be removed in a future StGit release
- Python 3.6, which will be EOL 2021-12-23, support is deprecated and
  will be removed in a future StGit release

### Added
- The new `stg import --message-id` option causes the Message-ID from
  imported emails to be included as the Message-Id trailer in the patch
  description (#42)
- The new 'stgit.import.message-id' config option also enables the
  Message-Id trailer (#42)

### Changed
- `stg import` no longer creates "Message-Id" trailer by default when
  importing patches from email (#42)
- StGit works with Python 3.10
- `stg version` prints a more abbreviated Python version
- `stg commit` will no longer commit empty patches by default; the
  `--allow-empty` option may be used to override this behavior (#158)
- The `stgit.main.main()` function now takes an argv parameter and
  returns an int return code in most cases instead of calling
  sys.exit(), thus making main() a bit easier to use as an API.

### Fixed
- Repair stack upgrade with `stg branch --list` (#155)
- Repair crash in `stg squash` with out of order patches and no name
  specified (#157)
- Zsh completions learn `stg float --noapply` option
- Zsh completion for `stg sink` now allows multiple patches


## [1.3] 2021-09-26

### Removed

### Added

### Changed

### Fixed
- Repair crash regression when using `stgit.autosign`

## [1.2] 2021-09-26

### Removed

### Deprecated
- Python 3.5, which became EOL 2020-09-13, support is deprecated and
  will be removed in a future StGit release
- Python 3.6, which will be EOL 2021-12-23, support is deprecated and
  will be removed in a future StGit release

### Added
- `stg rebase ` learns `--interactive`; easily re-order, edit, squash,
  fixup, or delete patches via your editor
- `stg rebase` learns `--autostash`; stash changes before the rebase and
  apply them after. Also configurable with the `stgit.autostash`
  configuration option
- `stg edit` can now rename patches (#119)
- `stg edit` gains helpful instructions (#138)
- `stg new` learns `--verbose`, which includes a diff in the editor
  window (similar to `git commit --verbose`). This behavior is also
  configurable with the `stgit.new.verbose` configuration option
- `stg push` and `stg float` learn `--noapply` option; allows patches
  to be reordered without updating worktree and deferring merge conflict
  resolution (#144)
- `stg edit`, `stg refresh`, and `stg new` learn the `--sign-by`,
  `--ack-by`, and `--review-by` options which allow those respective
  trailers' values to be specified by the user on the command line (#92)

### Changed
- Stack metadata version 5; stack metadata is moved from
  `refs/heads/<branch>.stgit` to `refs/stacks/<branch>` and the stack
  metadata file now uses a JSON format instead of the prior custom
  format; the stack metadata will be upgraded to v5 on first use of
  this version of StGit; like all stack metadata upgrades, **this is a
  one-way auto-upgrade for existing stacks** (#65)
- Use setuptools instead of distutils for packaging
- No git or python version checks in setup.py
- Use different dynamic versioning system
- Install `stg` executable as console_script entry point
- More sophisticated search for bash.exe on Windows when running hooks
- The editor window text for `stg squash` has been modified to mirror
  git's behavior -- the squash edit message now includes all commits
  (#71)
- Binary diffs are no longer shown when with `stg edit -d`
- Multiple trailers can now be added at once; this is now allowed, for
  example: `stg edit --sign --review --ack`
- Update zsh completion for `stg rebase` to show local and remote heads
  (#102)
- Zsh completions for commands with patch arguments now comprehend the
  effect of `-b/--branch` and `-B/--ref-branch`
- Zsh completions now guard patch names--one less TAB press to complete
  patch names in certain contexts
- `stg import` now extracts the `Message-ID` email header into the patch
  message (#42)

### Fixed
- Repair crash when attempting to export empty patch (#112)
- Exact command name matches are unambiguous (#110)
- Exiting with an empty `stg edit` editor will now abort the edit;
  previously it would delete your commit message. (#138)
- Repair completions when stg.series.description is enabled in config
- Workaround child process reaping race on Windows (#78)
- Repair crash with `stg float --series` when bad patch name in series
- Repair zsh completion for `stg float` to accept multiple patch names
- Repair zsh completion for changed files, affecting `stg refresh` and
  `stg diff`

### Internal
- Add link to coverage.io project to CONTRIBUTING.md
- Set smart `exclude_lines` default for 'coverage'
- Expanded test suite for `stg edit`
- Add pkgtest.py script to help test StGit packaging
- Cleanup .gitignore files


## [1.1] 2021-04-30

### Removed

### Added
- StGit GPG-signs patches when `commit.gpgsign` is set (#12)
- Support `core.hooksPath` in git config
- Add `-C` option for `stg import` and `stg fold` (#18)

### Changed
- Allow importing mail and series from urls (#94)
- `stg refresh --edit` may also use `--diff` and `--diff-opts` (#98)
- `stg goto` allows sha1 of a patch instead of patch name (#93)

### Fixed
- Repair hang in `stg pull -m`, `stg goto -m`, and `stg push -m`
- Repair `stg mail` to show diffstat of whole series (#104)
- Repair MANIFEST.in to include AUTHORS.md and README.md files


## [1.0] 2021-02-07

### Removed
- Drop support for Python < 3.5
- Remove previously deprecated `stg publish` command
- Removed contrib scripts: `stg-swallow`, `stg-fold-files-from`,
  `stg-dispatch`, `stg-whatchanged`, and `stg-show-old`

### Added
- The pre-commit hook is now run for `stg refresh`
- New `--spill` option for `stg refresh`
- Add stgit.series.description config option (#88)
- Official support for Python versions up to 3.9

### Changed
- Stack metadata format 4. All metadata now kept in Git objects; no more
  stack state files in .git/patches. **A one-way auto-upgrade to format
  version 4 will occur when StGit commands are run on an existing StGit
  branch.**
- Use `python3` in shebangs instead of `python`
- `contrib/stgbashprompt.sh` is no longer executable
- Internal docstrings now use reStructuredText instead of Epytext

### Fixed
- Importing large patches is much, much faster (#66)
- Other performance improvements when dealing with large patches
- Repair diffstat when outside work tree root (#62)
- Use encoded (string) environment variables on Windows (#79)
- Fix `stg pull` when no upstream is configured (#83)
- Fix `refresh` crash with path limiting and files added to index (#85)
- Repair `new` with patchdescr.template crash (#87)
- Repair `log` from worktree subdir with patches specified
- Repair `import` allowing/generating duplicate patch names (#64)
- Repair `mail --auto` to strip comments after addrs (#91)


## [0.23] 2020-06-12

### Removed
- Drop support for Python 3.3; Python 2 (2.6 and 2.7) remain
  deprecated, but supported for one last release
- Tutorial is removed; it now exists as part of the website

### Deprecated
- Python 2.x support is deprecated and will be removed in a future
  release

### Added
- Support html5 output of docs from asciidoc
- Add `--expose` option for `stg pick` to allow picked commit message to
  be customized

### Changed
- Limit mail diffstat to 72 columns
- Added pyproject.toml file for black configuration
- Minimum Git version is 2.2.0
- Quote stg and subcommand in man page synopsis
- Replaced RELEASENOTES with this CHANGELOG.md
- Replaces Documentation/SubmittingPatches with CONTRIBUTING.md

### Fixed
- Repair MANIFEST.in and generated source dist
- Repair importing mail with ": " (colon space) in subject
- Fix mail cover letter shortlog
- Fix mail cover letter diffstat
- `stg series` now only outputs colors when `isatty()`
- Repair mail SSL check (#57)
- Repair `stg mail` with both `-a` and `-e` options (#58)
- Remove empty short-opt for `--no-submodules` of `stg refresh`
- Repair build.py for Python 2 with explicit `flush()`
- `stgit.refreshsubmodules` added to sample gitconfig

### Internal
- Update docs build system from upstream Git docs
- Use coverage contexts to map commands to covered lines
- Improve mail tests
- Use GitHub Actions instead of TravisCI
- Format StGit source using black formatter

## [0.22] - 2020-03-02

### Removed
- Remove debian packaging; downstream Debian uses its own anyway

### Deprecated
- Python 2.x support is deprecated and will be removed in the next StGit
  release
- `stg publish` is deprecated and will be removed in the next StGit
  release

### Added
- `stg import` has new --keep-cr option, like `git mailsplit`

### Changed
- `stg new` now includes patch name in log message
- `stg branch --rename` can now rename the current branch
- `stg branch --create` now works even if the workspace is dirty,
  consistent with `git checkout`
- `stg branch --description` now works on both regular and stgit
  branches
- `stg edit --diff` now implies `--edit`
- `stg refresh` and `stg edit` now reset the committer information,
  consistent with `stg push`
- git notes are now preserved when patches are modified
- Tutorial improvements
- Many additional tests and test improvements
- All stgit commands now use "new" git library infrastructure

### Fixed
- `stg branch --create` inherits remote correctly from parent committish
- Patch names are checked earlier to avoid inconsistent stack states
- Improved commit data parsing and handling of non-UTF8 encodings
- Repair git error messages when checking stgit version from outside a
  git repo


## [0.21] - 2019-10-28

### Changed
- Faster handling of large patches (#44)

### Fixed
- Build reproducibility repairs (Thanks reproducible-builds.org team!)
- Python can now be run with optimizations (`python -O`)
- `stg log` now prints trailing newline
- Improved command line option parsing for `stg log`


## [0.20] - 2019-10-04

### Added
- `stg patches -d` can now output colored diffs.
- `stg publish --overwrite` allows branch to be overwritten instead of
  creating new commits.
- `stg log --clear` deletes the stack's log history. Use with caution.
- Fish shell completions for stg.
- Zsh completions for stg.
- `stg mail --domain` option overrides the host's domain in the message
  ID.

### Changed
- Branch protection metadata now captured in config instead of
  .git/patches/<branch>protect file. This updates stgit's metadata
  format from v2 to v3.
- `stg diff` no longer shows binary diffs by default. Use `-O--binary`
  or add `--binary` to stgit.diff-opts in config.
- Diagnostic output is now routed to stderr instead of stdout.
  Diagnostic output is also now sent to stderr unconditionally, i.e. no
  more isatty() test (#35).
- Converted to "new" lib infrastructure: `show`, `patches`, `diff`,
  `pick`, `pull`, `rebase`, and `fold`.

### Fixed
- `stg show` detects conflicting --applied and --unapplied options.
- `stg show --stat` now shows commit headers.
- `stg patches --diff` now shows proper diff instead of `b'...'` repr of
  diff.
- `stg diff --range` detects some invalid values (e.g. `-r ..`).
- Date parsing is now more portable, only use platform specific `date`
  as last parsing option. Affects, e.g., `stg refresh --authdate`.
- Repaired search path for templates to avoid looking in Python
  site-packages directory.
- Ensure stdout and stderr are flushed. Rarely affected `stg diff`.
- `stg repair` will now fail if extra command line arguments are
  provided.
- Bash completions are now generated in a reproducible manner.
- `stg edit --diff` on an empty patch no longer crashes.
- `stg pick` no longer fails when picked commit has empty message (#39).
- `stg rebase` no longer crashes when there are conflicts (#34).
- `stg pick` no longer crashes if --name is not provided when picking a
  regular commit object.
- Improved test coverage for: branch, diff, pick, sync,
- New tests for: files, patches, fold, series
- Portable use of iconv, sort, and sed in tests.
- Linting using flake8 and isort.
- All Python code now conforms to PEP-8.
- Updated test infrastructure from git 2.20.
- Parallel tests with coverage (`make -j4 coverage`) now works.
- Documentation build is not included in code coverage.
- Repaired log end messages when using `STGIT_SUBPROCESS_LOG=debug`.
- Renamed "dunder" instance attributes to improve debugging.
- Fail faster when patch name has slash ('/') (#24).


## [0.19] 2018-11-05

### Changed
- Python 3 support. StGit supports Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6,
  and 3.7. PyPy interpreters are also supported.
- Submodules are now ignored when checking if working tree is clean.
  Submodules are also not included by default when refreshing a patch.
- Config booleans are now parsed similarly to git-config.
- `contrib/stgit.el` is now licenced with GPLv2.
- Add continuous integration (travis-ci) and code coverage (coveralls)
  support.
- Many new test cases were added.

### Fixed
- Repair handling of emails with utf-8 bodies containing latin-1
  characters. Also correctly decode email headers containing quoted
  encoded words.
- StGit's version is now correct/available in the release archive.


## [0.18] 2017-08-14

### Added
- `commit-msg` hook support for easier integration with Gerrit, allowing
  a Change-Id line to be inserted in the commit message
- `stg mail` improvements for 'Suggested-by:' tag and auto generation of
  Cc for the cover letter based on all tags in the series
- `stg mail` bash completion for the --to, --cc and --bcc options based
  on the content of the [mail "alias"] section of Git configuration
- `stg edit --review` option to add a 'Reviewed-by:' tag
- `stg pop --spill` functionality to allow popping a patch from the
  stack while keeping its modification in the tree

### Changed
- Project page details updated (gna.org has been shut down)

### Fixed
- Various fixes and test coverage improvements
netbsd-srcmastr pushed a commit that referenced this pull request Jul 29, 2024
Allow tzinfo objects for Timezone by @Viicos in #56
add URLs to pyproject.toml by @samuelcolvin in #58
suggested fix on typo by @PelicanQ in #60
Correct misstatement in README by @Zac-HD in #62
Fix IsDigit -> IsDigits by @toriningen in #63
Add Unit type by @tlambert03 in #65
Improve handling of GroupedMetadata (First try) by @cksleigen in #69
Prepare for 0.7.0 release by @adriangb in #70
netbsd-srcmastr pushed a commit that referenced this pull request Aug 12, 2024
Zenity 4.0.1
  Changes and fixes since 4.0.0:
  - Bump webkit2gtk requirement in README (Logan Rathbone)
  - about: The licence is LGPL2.1+, not GPL (Logan Rathbone)
  - entry: Calculate number of --entry-text's properly (Logan Rathbone) (#75)
  - test: Add entry test in response to issue #75 (Logan Rathbone)
  - question: fix option --default-cancel (kvark)
  - calendar: Fix off-by-one in day (Logan Rathbone)
  - test: Add test for --calendar (Logan Rathbone)

  Translation updates:
  - Artur S0 (ru)
  - Jürgen Benvenuti (de)
  - Yuri Chornoivan (uk)

Zenity 4.0.0
  1st stable release of Zenity based on libadwaita/gtk4.

  Several command-line options have been deprecated since 3.x.  These
  deprecations will either activate an alternate action, or do nothing.  In
  either case, a deprecation warning will be printed to STDERR. This is to
  ensure as smooth a transition from scripts targeting Zenity 3.x as possible.

  TAKE NOTICE that in Zenity 4.4.0, estimated to be released in about twelve
  (12) months from 4.0.0, these options will be fully removed and scripts using
  these options may fail to run. So if you are receiving deprecation warnings,
  kindly take the time to update your scripts accordingly.

  Changes and bugfixes since 3.99.91 (Logan Rathbone):
  - Add rudimentary test suite
  - progress: --auto-close and --percentage=100 don't co-mingle
  - about: Port to libadwaita; update copyright info
  - forms: Remove unused variable
  - forms: Port GtkComboBox to GtkDropDown
  - tree/colview: Implement missing --hide-header option
  - progress: OK should be clickable if --percentage=100 at the outset
  - NEWS: fix typo

  Translation updates:
  - Yaron Shahrabani (he)

Zenity 3.99.91
  2nd release candidate of the upcoming zenity 4.0, based on libadwaita/gtk4.

  Changes and bugfixes since 3.99.90 (Logan Rathbone):
  - password: Remove spurious "Warning" heading
  - password: Only fetch username buffer if username option specified
  - build: Add implicit fallthrough warnings
  - password/msg: Handle ZENITY_TIMEOUT to be in line with other
    libadwaita-based dialogs
  - filesel: Fix exit statuses for cancel and timeout
  - Cleanup 'timeout' and make it work properly for all dialogs
  - util: Maintain default timeout exit status as 5 for backwards compat;
    various cleanups
  - text: webkit2gtk-6.0 fixes
  - msg: Code cleanups
  - Translation updates:
      Artur S0 (ru)

Zenity 3.99.90
  1st release candidate of the upcoming zenity 4.x, based on libadwaita/gtk4.
  - build: Make building manpage dependent upon manpage option (Guillermo
    Joandet)
  - text: Handle long inputs properly (#65) (Lukáš Tyrychtr)
  - colview: Use g_signal_connect_object (Logan Rathbone)
  - tree: Fix reading input from a named pipe (#71) (Lukáš Tyrychtr)
  - tree/colview: Return correct value when filtered using search; code
    cleanups (Logan Rathbone)
  - colview: Add missing declaration to header (Logan Rathbone)
  - build: Make implicit declarations an error (Logan Rathbone)
  - build: Make zenity4 compile against gtk 4.12 without deprecation warnings
    (Logan Rathbone)
  - tree: --checklist or --radiolist with < 2 cols should be an error (Logan
    Rathbone)
  - tree: Fix output for non-check/radio multiple selections (Logan Rathbone)
  - util: Replace gtk_window_destroy() with gtk_application_remove_window()
    (#72)
  - Translation updates:
      Daniel Rusek (cs)
      Luming Zh (zh_CN)
      Sabri Ünal (tr)
      Yuri Chornoivan (uk)

Zenity 3.99.2
  3rd beta release of the upcoming zenity 4.x, based on libadwaita/gtk4.
  - Minor code cleanups (Logan Rathbone)
  - option: Don't try to access stack-based argv within a glib2 mainloop
    (likely fixes RH bugs 2216049 and 2214000) (Logan Rathbone)
  - option: Allow --version and --help to work without a display server running
    (Logan Rathbone)
  - data: Reinstate help2man manpage autogeneration (Logan Rathbone)
  - build: Make manpage/help2man requirement more explicit (Logan Rathbone)
  - ci: Add help2man as 'build_fedora' target build dep (Logan Rathbone)
  - Translation updates:
      Anders Jonsson (sv)
      Asier Sarasua Garmendia (eu)
      Balázs Úr (hu)
      Boyuan Yang (zh_CN)
      Jordi Mas i Hernandez (ca)
      Kukuh Syafaat (id)
      Martin (sl)
      Sabri Ünal (tr)
      Sergej A (ru)

Zenity 3.99.1
  2nd beta release of the upcoming zenity 4.x, based on libadwaita/gtk4.
    - question: do not hardcode "Yes" and "No" buttons (kelvinvoon)
    - Set the default response explicitly for all AdwMessageDialog's (Lukáš
      Tyrychtr)
    - column-view: Widget should go directly in GtkScrolledWindow (Logan
      Rathbone)
    - msg: Make --ok-label and --cancel-label work for --question dialogs
      (Logan Rathbone)
    - Add separate case for ZENITY_ESC; don't print junk or crash with extra
      buttons (Logan Rathbone)
    - Fix --extra-button and delete events for legacy (non-libadwaita) dialogs
      (Logan Rathbone)
    - filesel: Fix --filename for zenity 4.x (Logan Rathbone)
    - Translation updates:
        Balázs Úr (hu)
        Ekaterine Papava (ka)
        Piotr Drąg (pl)
        Yuri Chornoivan (uk)

Zenity 3.99.0
  1st beta release of the upcoming zenity 4.x, based on libadwaita/gtk4.

  I would consider this release feature-complete for 4.0, but there are still
  some bug reports flowing in, particularly for STDIN-related operations, that
  need some further tweaking before a stable 4.0 release.

    - option: Add various non-fatal deprecation warnings that were previously
      missing, and fix a misleading deprecation message for `--window-icon`
      (Logan Rathbone)
    - main: Add G_APPLICATION_FLAGS_NON_UNIQUE to GApplication flags (fixes
      #58) (Logan Rathbone)
    - util: remove fatal assert on exit if window invalid GtkWindow (Logan
      Rathbone)
    - progress: Cleanup unnecessary static objects and remove spurious builder
      unref (Logan Rathbone)
    - util: Ignore superfluous quit requests (Logan Rathbone)
    - util: Remove superfluous GtkWindow cast check (Logan Rathbone)
    - data: Manpage generation changes; don't automatically generate the
      manpage from help2man for now (this will preferably be reinstated
      post-4.0 once the issues are worked out) (Logan Rathbone)
    - a11y: Label the widgets in a forms UI properly (Lukáš Tyrychtr)
    - Translation updates:
        Anders Jonsson (sv)
        Ekaterine Papava (ka)
        Jordi Mas i Hernandez (ca)
        Kukuh Syafaat (id)
        Piotr Drąg (pl)
        Sabri Ünal (tr)
        Sergej A (ru)
        Yuri Chornoivan (uk)

Zenity 3.92.0
  3rd alpha release of the upcoming zenity 4.x, based on libadwaita/gtk4.
    - progress: don't update responses that aren't there (see: !25 and
      https://bugzilla.redhat.com/show_bug.cgi?id=2177287) (Adam Williamson)
    - Set dialog 'heading', not 'title' for the --title option (see: !26) (Adam
      Williamson)
    - tree: fix handling of multi-row stdin input (#54) (Adam Williamson)
    - tree-column-view: don't steal children (see: !28) (Adam Williamson)
    - Port to webkitgtk 6.0 (Adam Williamson)
    - webkit: Fix leak by removing unnecessary ref sink (Logan Rathbone)
    - option: Add non-fatal deprecation warning for --confirm-overwrite (#55)
      (Logan Rathbone)
    - help: Fix typo in Basque help translation (Andre Klapper)
    - Translation updates:
        Andika Triwidada (id)
        Asier Sarasua Garmendia (eu)
        Balázs Úr (hu)
        Ekaterine Papava (ka)
        Piotr Drąg (pl)
        Sergej A (ru)
        Yuri Chornoivan (uk)

Zenity 3.91.0
    - tree: Port to GtkColumnView (Logan Rathbone)
    - desktop file: Remove spurious translation comment (Logan Rathbone)
    - i18n: rename POTFILES to POTFILES.in (Piotr Drąg)
    - help: Fix invalid markup in German help translation (Andre Klapper)
    - help: Freedesktop.org spec fixes (Anders Jonsson)
    - Translation updates:
        Anders Jonsson (sv)
        Yuri Chornoivan (uk)
        Jürgen Benvenuti (de)
        Ekaterine Papava (ka)
        Kukuh Syafaat (id)
        Martin (sl)
        Aurimas Černius (lt)
        Aleksandr Melman (ru)
        Sergej A (ru)
        Sabri Ünal (tr)
        Anders Jonsson (sv)

Zenity 3.90.0
    - Initial alpha release based on libadwaita and GTK4 (Logan Rathbone)

Zenity 3.44.0
    - scale: set a page increment so mouse wheel can be used on widget (Hg)
    - build: Use GNOME module post_install() (Matt Turner)
    - docs: Fix incorrect markup (Andre Klapper)
    - build: Replace deprecated functions (Logan Rathbone)
    - Translation updates:
        Alexander Shopov (bg)
        Jiri Grönroos (fi)
        Nart Tlisha (ab)
        Sabri Ünal (tr)
        Sergej A (ru)

Zenity 3.43.0
    - Documentation updates (Logan Rathbone)
    - Bump WebkitGTK dependency to API 4.1, for GNOME 43 (Logan Rathbone)
    - Translation updates:
        Zurab Kargareteli (ka)

Zenity 3.42.1
    - scale: Make OK button default (allows pressing Enter to accept selected
      value) (hydrargyrum)
    - Fix maximum width of message dialogs to 60 characters, and make message
      dialogs non-resizable (fixes regression from 3b64d05e) (David King)

Zenity 3.42.0
    - tree: Clicking row checks radio/checkboxes (Logan Rathbone)
    - Fix search column selection with --imagelist (Janne Pulkkinen)
    - Translation updates:
        Asier Sarasua Garmendia (eu)
        Efstathios Iosifidis (el)
        Goran Vidović (hr)
        Quentin PAGÈS (oc)
        Alan Mortensen (da)
        Daniel Mustieles (es)
netbsd-srcmastr pushed a commit that referenced this pull request Sep 15, 2024
0.10 (2022-03-26)

* nevesenin fixed an issue with long filename handling. Merged as PR #40.

0.11 (2022-12-31)

* symlink support is complete. Merged as PR #42, rebased and built on top of
  PR #12 by fetep.

* kymmt90 fixed a documentation error on Minitar.pack in PR #43.

* This version is a soft-deprecation of all versions before Ruby 2.7, as
  they will no longer be tested in CI.

0.12 (2024-08-06)

* Properly handle very long GNU filenames, resolving #46.

* Handle very long GNU filenames that are 512 or more bytes, resolving #45.
  Originally implemented in #47 by Vijay, but accidentally closed.


0.12.1 (2024-08-21)

* Reverted @adbbb9b596 to restore compatibility with Ruby < 2.0. Resolves
  [#63][#63] reported by Robert Schulze.

1.0.0 (2024-08-07)

Breaking Changes:

* Minimum Ruby version is 3.1.

* The Archive::Tar::Minitar namespace has been completely removed and
  Minitar is a class instead of a module.

Enhancements:

* Added Minitar.pack_as_file, originally proposed by John Prince back in
  2011 #7.

1.0.1 (2024-08-08)

Bugfix:

* Resolve a constant lookup issue.  The accepted fix has been provided by
  Aram Price in #58.

1.0.2 (2024-08-23)

Bugfix:

* Minitar 1.0.1 was released with an unchanged gemspec. Reported by
  Debashish Biswas in #65.
netbsd-srcmastr pushed a commit that referenced this pull request Dec 10, 2024
net/transmission-gtk: security update
net/transmission-qt: security update
net/transmission: security update

Revisions pulled up:
- net/transmission-gtk/Makefile                                 1.46
- net/transmission-gtk/PLIST                                    1.2
- net/transmission-qt/Makefile                                  1.54
- net/transmission/Makefile                                     1.27
- net/transmission/Makefile.common                              1.10
- net/transmission/PLIST                                        1.4
- net/transmission/distinfo                                     1.16
- net/transmission/patches/patch-qt_qtr.pro                     1.7

-------------------------------------------------------------------
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Mon Jul 13 13:01:02 UTC 2020

   Modified Files:
   	pkgsrc/net/transmission: Makefile Makefile.common PLIST distinfo
   	pkgsrc/net/transmission-gtk: Makefile PLIST
   	pkgsrc/net/transmission-qt: Makefile
   	pkgsrc/net/transmission/patches: patch-qt_qtr.pro

   Log Message:
   transmission*: update to 3.00

   ### All Platforms
   - Allow the RPC server to listen on an IPv6 address ([#161](transmission/transmission#161))
   - Change `TR_CURL_SSL_VERIFY` to `TR_CURL_SSL_NO_VERIFY` and enable verification by default ([#334](transmission/transmission#334))
   - Go back to using hash as base name for resume and torrent files (those stored in configuration directory) ([#122](transmission/transmission#122))
   - Handle "fields" argument in "session-get" RPC request; if "fields" array is present in arguments, only return session fields specified; otherwise return all the fields as before
   - Limit the number of incorrect authentication attempts in embedded web server to 100 to prevent brute-force attacks ([#371](transmission/transmission#371))
   - Set idle seed limit range to 1..40320 (4 weeks tops) in all clients ([#212](transmission/transmission#212))
   - Add Peer ID for Xfplay, PicoTorrent, Free Download Manager, Folx, Baidu Netdisk torrent clients ([#256](transmission/transmission#256), [#285](transmission/transmission#285), [#355](transmission/transmission#355), [#363](transmission/transmission#363), [#386](transmission/transmission#386))
   - Announce `INT64_MAX` as size left if the value is unknown (helps with e.g. Amazon S3 trackers) ([#250](transmission/transmission#250))
   - Add `TCP_FASTOPEN` support (should result in slight speedup) ([#184](transmission/transmission#184))
   - Improve ToS handling on IPv6 connections ([#128](transmission/transmission#128), [#341](transmission/transmission#341), [#360](transmission/transmission#360), [#692](transmission/transmission#692), [#737](transmission/transmission#737))
   - Abort handshake if establishing DH shared secret fails (leads to crash) ([#27](transmission/transmission#27))
   - Don't switch trackers while announcing (leads to crash) ([#297](transmission/transmission#297))
   - Improve completion scripts execution and error handling; add support for .cmd and .bat files on Windows ([#405](transmission/transmission#405))
   - Maintain a "session ID" file (in temporary directory) to better detect whether session is local or remote; return the ID as part of "session-get" response (TRAC-5348, [#861](transmission/transmission#861))
   - Change torrent location even if no data move is needed ([#35](transmission/transmission#35))
   - Support CIDR-notated blocklists ([#230](transmission/transmission#230), [#741](transmission/transmission#741))
   - Update the resume file before running scripts ([#825](transmission/transmission#825))
   - Make multiscrape limits adaptive ([#837](transmission/transmission#837))
   - Add labels support to libtransmission and transmission-remote ([#822](transmission/transmission#822))
   - Parse `session-id` header case-insensitively ([#765](transmission/transmission#765))
   - Sanitize suspicious path components instead of rejecting them ([#62](transmission/transmission#62), [#294](transmission/transmission#294))
   - Load CA certs from system store on Windows / OpenSSL ([#446](transmission/transmission#446))
   - Add support for mbedtls (formely polarssl) and wolfssl (formely cyassl), LibreSSL ([#115](transmission/transmission#115), [#116](transmission/transmission#116), [#284](transmission/transmission#284), [#486](transmission/transmission#486), [#524](transmission/transmission#524), [#570](transmission/transmission#570))
   - Fix building against OpenSSL 1.1.0+ ([#24](transmission/transmission#24))
   - Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD ([#42](transmission/transmission#42), [#58](transmission/transmission#58), [#312](transmission/transmission#312))
   - Fix a number of memory leaks (magnet loading, session shutdown, bencoded data parsing) ([#56](transmission/transmission#56))
   - Bump miniupnpc version to 2.0.20170509 ([#347](transmission/transmission#347))
   - CMake-related improvements (Ninja generator, libappindicator, systemd, Solaris and macOS) ([#72](transmission/transmission#72), [#96](transmission/transmission#96), [#117](transmission/transmission#117), [#118](transmission/transmission#118), [#133](transmission/transmission#133), [#191](transmission/transmission#191))
   - Switch to submodules to manage (most of) third-party dependencies
   - Fail installation on Windows if UCRT is not installed

   ### Mac Client
   - Bump minimum macOS version to 10.10
   - Dark Mode support ([#644](transmission/transmission#644), [#722](transmission/transmission#722), [#757](transmission/transmission#757), [#779](transmission/transmission#779), [#788](transmission/transmission#788))
   - Remove Growl support, notification center is always used ([#387](transmission/transmission#387))
   - Fix autoupdate on High Sierra and up by bumping the Sparkle version ([#121](transmission/transmission#121), [#600](transmission/transmission#600))
   - Transition to ARC ([#336](transmission/transmission#336))
   - Use proper UTF-8 encoding (with macOS-specific normalization) when setting download/incomplete directory and completion script paths ([#11](transmission/transmission#11))
   - Fix uncaught exception when dragging multiple items between groups ([#51](transmission/transmission#51))
   - Add flat variants of status icons for message log ([#134](transmission/transmission#134))
   - Optimize image resources size ([#304](transmission/transmission#304), [#429](transmission/transmission#429))
   - Update file icon when file name changes ([#37](transmission/transmission#37))
   - Update translations

   ### GTK+ Client
   - Add queue up/down hotkeys ([#158](transmission/transmission#158))
   - Modernize the .desktop file ([#162](transmission/transmission#162))
   - Add AppData file ([#224](transmission/transmission#224))
   - Add symbolic icon variant for the Gnome top bar and when the high contrast theme is in use ([#414](transmission/transmission#414), [#449](transmission/transmission#449))
   - Update file icon when its name changes ([#37](transmission/transmission#37))
   - Switch from intltool to gettext for translations ([#584](transmission/transmission#584), [#647](transmission/transmission#647))
   - Update translations, add new translations for Portuguese (Portugal)

   ### Qt Client
   - Bump minimum Qt version to 5.2
   - Fix dropping .torrent files into main window on Windows ([#269](transmission/transmission#269))
   - Fix prepending of drive letter to various user-selected paths on Windows ([#236](transmission/transmission#236), [#307](transmission/transmission#307), [#404](transmission/transmission#404), [#437](transmission/transmission#437), [#699](transmission/transmission#699), [#723](transmission/transmission#723), [#877](transmission/transmission#877))
   - Fix sorting by progress in presence of magnet transfers ([#234](transmission/transmission#234))
   - Fix .torrent file trashing upon addition ([#262](transmission/transmission#262))
   - Add queue up/down hotkeys ([#158](transmission/transmission#158))
   - Reduce torrent properties (file tree) memory usage
   - Display tooltips in torrent properties (file tree) in case the names don't fit ([#411](transmission/transmission#411))
   - Improve UI look on hi-dpi displays (YMMV)
   - Use session ID (if available) to check if session is local or not ([#861](transmission/transmission#861))
   - Use default (instead of system) locale to be more flexible ([#130](transmission/transmission#130))
   - Modernize the .desktop file ([#162](transmission/transmission#162))
   - Update translations, add new translations for Afrikaans, Catalan, Danish, Greek, Norwegian Bokmål, Slovenian

   ### Daemon
   - Use libsystemd instead of libsystemd-daemon (TRAC-5921)
   - Harden transmission-daemon.service by disallowing privileges elevation ([#795](transmission/transmission#795))
   - Fix exit code to be zero when dumping settings ([#487](transmission/transmission#487))

   ### Web Client
   - Fix tracker error XSS in inspector (CVE-?)
   - Fix performance issues due to improper use of `setInterval()` for UI refresh (TRAC-6031)
   - Fix recognition of `https://` links in comments field ([#41](transmission/transmission#41), [#180](transmission/transmission#180))
   - Fix torrent list style in Google Chrome 59+ ([#384](transmission/transmission#384))
   - Show ETA in compact view on non-mobile devices ([#146](transmission/transmission#146))
   - Show upload file button on mobile devices ([#320](transmission/transmission#320), [#431](transmission/transmission#431), [#956](transmission/transmission#956))
   - Add keyboard hotkeys for web interface ([#351](transmission/transmission#351))
   - Disable autocompletion in torrent URL field ([#367](transmission/transmission#367))

   ### Utils
   - Prevent crash in transmission-show displaying torrents with invalid creation date ([#609](transmission/transmission#609))
   - Handle IPv6 RPC addresses in transmission-remote ([#247](transmission/transmission#247))
   - Add `--unsorted` option to transmission-show ([#767](transmission/transmission#767))
   - Widen the torrent-id column in transmission-remote for cleaner formatting ([#840](transmission/transmission#840))


   To generate a diff of this commit:
   cvs rdiff -u -r1.26 -r1.27 pkgsrc/net/transmission/Makefile
   cvs rdiff -u -r1.9 -r1.10 pkgsrc/net/transmission/Makefile.common
   cvs rdiff -u -r1.3 -r1.4 pkgsrc/net/transmission/PLIST
   cvs rdiff -u -r1.15 -r1.16 pkgsrc/net/transmission/distinfo
   cvs rdiff -u -r1.45 -r1.46 pkgsrc/net/transmission-gtk/Makefile
   cvs rdiff -u -r1.1 -r1.2 pkgsrc/net/transmission-gtk/PLIST
   cvs rdiff -u -r1.52 -r1.53 pkgsrc/net/transmission-qt/Makefile
   cvs rdiff -u -r1.6 -r1.7 pkgsrc/net/transmission/patches/patch-qt_qtr.pro
-------------------------------------------------------------------
   Module Name:    pkgsrc
   Committed By:   wiz
   Date:           Sat Jul 25 20:20:05 UTC 2020

   Modified Files:
           pkgsrc/net/transmission-qt: Makefile

   Log Message:
   transmission-qt: needs gcc 7.x (for <optional>)

   Reported and tested by spz.


   To generate a diff of this commit:
   cvs rdiff -u -r1.53 -r1.54 pkgsrc/net/transmission-qt/Makefile
netbsd-srcmastr pushed a commit that referenced this pull request Dec 10, 2024
pkgsrc change: do not restrict Ruby's version.

0.4.0 (2023-09-20)

What's Changed

* Adds Ruby 3.1 and 3.2 to the CI matrix. by @petergoldstein in #50
* Revert "Replace Timeout.timeout with socket timeout" by @hsbt in #51
* add Net::SMTP::Authenticator class and auth_* methods are separated from
  the Net::SMTP class. by @tmtm in #53
* fix typo by @tmtm in #54
* Add SMTPUTF8 support by @arnt in #49
* Fix: send_message() with recipients as array by @tmtm in #55
* Fixed issue sending emails to unaffected recipients on 53x error by @tmtm
  in #56
* Removed unnecessary Subversion keywords by @tmtm in #57
* refactor test code by @tmtm in #58
* The mailfrom method's arguments restored. by @tmtm in #59
* Bump actions/checkout from 3 to 4 by @dependabot in #60
* remove SMTPUTF8RequiredError by @tmtm in #61
* v0.4.0 by @tmtm in #62

New Contributors

* @petergoldstein made their first contribution in #50
* @arnt made their first contribution in #49

0.4.0.1 (2024-01-05)

* Renew test certificates

0.5.0 (2024-03-27)

What's Changed

* Allow case-insensitive strings for SASL mechanism by @nevans in #64
* Remove unused private auth_method by @nevans in #67
* Delegate checking auth args to the authenticator by @nevans in #73
* Make #auth_capable? public by @nevans in #63
* Updated docs, especially TLS and SASL-related by @nevans in #66
* Renew test certificates by @sorah in #75
* Fix version extraction to work with non ASCII characters with any LANG by
  @kateinoigakukun in #76
* Replace non-ASCII EM DASH (U+2014) with ASCII hyphen (U+002D) by
  @kateinoigakukun in #78
* Use reusing workflow for Ruby versions by @m-nakamura145 in #79
* Add XOAUTH2 authenticator by @mantas in #80
* Make the test suite compatible with --enable-frozen-string-literal by
  @casperisfine in #81
* version 0.5.0 by @tmtm in #82

New Contributors

* @sorah made their first contribution in #75
* @kateinoigakukun made their first contribution in #76
* @m-nakamura145 made their first contribution in #79
* @mantas made their first contribution in #80
* @casperisfine made their first contribution in #81
netbsd-srcmastr pushed a commit that referenced this pull request Dec 11, 2024
## [1.0.0] - 2024-12-09

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

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

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

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

### Added

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

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

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

### Changed

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Fixed

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

### Removed

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

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

### Added

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

### Changed

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

### Fixed

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

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

### Added

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

### Changed

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

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

### Fixed

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

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

### Added

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

### Changed

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

### Fixed

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

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

Few major concepts changed:

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

### Added

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

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

### Changed

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

### Removed

- Disabled temporarily the `notmuch` backend because it needs to be refactored using the backend features system (it should be reimplemented soon).
- Disabled temporarily the `search` and `sort` command because they need to be refactored, see [#39].
- Removed the `notify` command (replaced by the new `watch` command).
- Removed all global options except for `display-name`, `signature`, `signature-delim` and `downloads-dir`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants