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

Bump rspamd to 2.5 #60

Closed
wants to merge 1 commit into from
Closed

Bump rspamd to 2.5 #60

wants to merge 1 commit into from

Conversation

sjorge
Copy link

@sjorge sjorge commented May 10, 2020

No description provided.

@sjorge
Copy link
Author

sjorge commented May 10, 2020

package seems to work fine on illumos, also compiled on netbsd but did not do a full setup.

@alarixnia
Copy link
Member

CMake Error at CMakeLists.txt:419 (MESSAGE):
  Your system does not support getaddrinfo call, please consider upgrading it
  to run rspamd
gcc: error: unrecognized command line option '-fuse-ld=lld'; did you mean '-fuse-ld=bfd'?
*** Error code 1

Stop.
make[1]: stopped in /home/nia/pkgsrc/mail/rspamd/work/rspamd-2.5/CMakeFiles/CMakeTmp
gmake: *** [Makefile:121: cmTC_cd509/fast] Error 1

@alarixnia
Copy link
Member

Thanks for the PR, but please include a changelog next time.

I'm committing it with this extra patch to fix the build on systems with lld installed.

$NetBSD$

Avoid specifying a custom linker:
gcc: error: unrecognized command line option '-fuse-ld=lld'; did you mean '-fuse-ld=bfd'?

--- cmake/Toolset.cmake.orig	2020-04-01 13:57:55.000000000 +0000
+++ cmake/Toolset.cmake
@@ -41,8 +41,8 @@ endif ()
 
 option(LINKER_NAME "Linker name or full path")
 
-find_program(LLD_PATH NAMES "ld.lld" "lld")
-find_program(GOLD_PATH NAMES "ld.gold" "gold")
+#find_program(LLD_PATH NAMES "ld.lld" "lld")
+#find_program(GOLD_PATH NAMES "ld.gold" "gold")
 
 if(NOT LINKER_NAME)
     if(LLD_PATH)

@sjorge
Copy link
Author

sjorge commented May 18, 2020

@Niacat where do I update the changelog?

Odd, I didn't need the extra patch when i tested in netbsd... is lld not installed by default?

@alarixnia
Copy link
Member

LLD's not installed by default, unless you build the system in a certain way. I've got the package installed, though...

The next time you send an update you can add the recent contents of work/rspamd-2.5/ChangeLog to the commit message. It's just required as part of the pkgsrc commit message policy - if I commit a package update without including the release's changes I get nagging emails from people (:

@sjorge
Copy link
Author

sjorge commented May 18, 2020 via email

netbsd-srcmastr pushed a commit that referenced this pull request Jul 14, 2020
Changes:
 - Allow truncated XLS files #55 #60 #76 tidyverse/readxl#619
 - Fix long-standing "extra column" bug #73
 - Support for RSTRING records (rich-text cells in older BIFF5 files)
   tidyverse/readxl#611

Minimum version updated in bl3 due to header changes.
netbsd-srcmastr pushed a commit that referenced this pull request Jul 23, 2020
Upstream changes:
Changes in version 1.4-1 (2020-xx-yy)

    warn on NULL projargs in CRS(); edzer/sp#74

Changes in version 1.4-0 (2020-02-21)

    prepare for new (>= 1.5.1) rgdal, which creates and listens to a comments() field of a CRS object carrying a WKT representation of a CRS rather than the proj4string; @rsb, edzer/sp#67 and edzer/sp#69 ; for more info see e.g. edzer/sp#68 and r-spatial/discuss#28

Changes in version 1.3-2 (2019-11-07)

    fix length > 1 in coercion to logical error; #54, #60

    add is.na method for CRS objects
netbsd-srcmastr pushed a commit that referenced this pull request Sep 7, 2020
0.069   2020-08-25
        - fix #64 ECC: segfault on invalid input
        - fix #63 ltc Licensing could be clearer (added src/{ltc,ltm}/LICENSE)
        - fix #62 documentation only (Crypt::CBC related)
        - bundled libtomcrypt update branch:develop (commit:d8d7a83b 2020-07-14)

0.068   2020-03-10
        - fix #60 Test failues on macOS Catalina

0.067   2020-02-01
        - new: Crypt::PK::Ed25519
        - new: Crypt::PK::X25519
        - bundled libtomcrypt update branch:develop (commit:1937f412 2019-11-22)

0.066   2019-10-20
        - fix #57 Build fails on i686
        - bundled libtomcrypt update branch:develop (commit:354c9051 2019-10-20)
        - no perl module code change

0.065   2019-10-19
        - fix #56 Math::BigInt 1.999817 breaks the tests of CryptX
        - bundled libtomcrypt update branch:develop (commit:25410c75 2019-10-17)
        - no perl module code change, just tests
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 Sep 14, 2020
Update ruby-mixlib-log package to 3.0.9.


3.0.9 (2020-08-21)

* Optimize our requires #60 (tas50)
netbsd-srcmastr pushed a commit that referenced this pull request Nov 6, 2020
Changelog, taken from NEWS file and https://github.com/immerrr/lua-mode/releases:

v20201010
* minimum Emacs version requirement is now 24.3

* fix multiline literals propertization not to break subsequent syntax

* lua--fill-paragraph: fix to not move point away

* lua-default-application: ensure it is possible to use (HOST . PORT) to
connect to remote lua process

* lua-kill-process: clean up process-related variables

* lua-indent-nested-block-content-align, lua-indent-close-paren-align: new
variables to control placement of nested blocks and their respective closers.

With lua-indent-nested-block-content-align and lua-indent-close-paren-align set
to nil, it is now possible to auto-indent code like this:

foo = bar(baz, {
      qux,
      quux,
}, {
      xyzzy
})

* lua-rx: fix compatibility with new-style rx macros introduced in Emacs 27

* lua-start-process: ensure comint-prompt-regexp is set locally in inferior
process buffer

* make "git archive" revision format reproduceable by not including the date of
the archiving operation

* imenu: add "require" lines to the index

* lua-backward-up-list: new navigation command that puts point before the
current parenthetic construction/block

* lua-indent-line: improve auto-indentation of implicitly continued statements,
add some performance optimizations

* font-lock: stop highlighting syntax errors in assignment statements

* font-lock: add highlighting of function parameters and "for" loop variables

* font-lock: fix couple of corner cases of highlighting of keywords inside
strings and comments

* Release v20151025
** allow setting lua-indent-level as file local variable (issue #108)

** add luadoc keyword fontification (issue #71)

** fix comments being spilled into the code (issue #25)

** add `run-lua' alias for `lua-start-process' (issue #97)

** skip shebang line when sending to inferior buffer (issue #61)

** add builtin functions and modules for Lua 5.3 (issue #90)

** fix lua-beginning-of-proc matching (issue #85)

** add `lua-documentation-function' to customize the way the documentation is
   shown, rename `lua-search-url-prefix' to `lua-documentation-url',
   auto-detect lua documentation installed in /usr/share/doc/lua (issue #82)

** fix some errors with `lua-kill-process' (issue #69)

** improve `next-error' integration in Lua subprocess buffer: "stdin:N:"
   entries are no longer highlighted and no longer prompt for "stdin" files

* release v20140514

** add support for Lua 5.2 goto statements

** when indenting, don't anchor to block-open tokens
   somefunc({
            ^
            don't indent next line relative to this brace

** fix several `indent-new-comment-line'-related bugs

** add support for local functions in imenu (issue #65)

** fix font lock of functions with underscores (issue #63)

** don't send shebang when sending lua buffer to subprocess (issue #61)

** fix interaction with electric-pair-mode (issue #54)

** rewrite lua-send-region to use "loadstring" rather than "dofile"
   - sending code to processes on remote hosts is now supported
   - stack traces for errors occurred in sent code point to proper lines in files
   - script path is preserved when sending code (issue #55)
   - no more hang ups when waiting for input (issue #48) or after sending code
     with no output (issue #60)

** increase consistency with Emacs ecosystem to improve user experience
   - fix character syntax hacks: '.' is now punctuation and '_' is now symbol
   - remove number highlighting
   - font-lock "nil", "true" and "false" as constants rather than keywords

** make builtin font-locking more stable, enable it after ".." operator

** add missing modulo operator (%) to line-continuation tokens

** fix interaction with electric-pair-mode (issue #54)

** when unindenting block-close tokens consider all of them, not just the first one
     x = foobar('arg1', function ()
                  print('foobar')
     end)
     ^ this line starts with two block-close tokens and is unindented
     accordingly
netbsd-srcmastr pushed a commit that referenced this pull request Dec 21, 2020
# 2.1.1

This version has no user visible changes.

# 2.1.0

* `unzip_process()` now does not fail randomly on Windows (#60).

* Now all functions handle Unicode paths correctly, on Windows
  as well (#42, #53).

* `unzip_process()` now works when R library is on different drive
  than `exdir` on Windows (#45)

* zip functions now have a `mode` argument to choose how files and
  directories are assembled into the archive. See the docs for
  details.

* zip functions now have a `root` argument, zip changes the working
  directory to this before creating the archive, so all files are
  relative to `root`.

* `zip()` and `zip_append()` are not deprecated any more, as it was
  hard to achieve the same functionality with the other zip functions.
netbsd-srcmastr pushed a commit that referenced this pull request Feb 28, 2021
1.1.7 (2021-02-18)

Merged Pull Requests

* Convert destination to a String #61 (lamont-granquist)

1.1.6 (2021-02-17)

Merged Pull Requests
* Cache gems and test on Ruby 3 #59 (tas50)
* Fix creating archives on windows with a CRLF #60 (lamont-granquist)
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 Mar 14, 2021
CUPS 2.3.3op2 is the latest OpenPrinting CUPS security and bug fix
release. Changes include:

    Security: Fixed a buffer (read) overflow in the ippReadIO function
    (CVE-2020-10001)
    Clarified the documentation for the "Listen" directive (Issue #53)
    Fixed duplicate ColorModel entries for AirPrint printers (Issue 59)
    Fixed directory/permission defaults for Debian kfreebsd-based systems
    (Issue #60, Issue #61)
    Fixed crash bug in ppdOpen (Issue #64, Issue #78)
    Fixed regression in snprintf emulation function (Issue #67)
    The scheduler's systemd service file now waits for the nslcd service to start
    (Issue #69)
    The libusb-based USB backend now uses a simpler read timer implementation to
    avoid a regression in a previous change (Issue #72)
    The PPD caching code now only tracks the APPrinterIconPath value on macOS
    (Issue #73)
    Fixed segfault in help.cgi when searching in man pages (Issue #81)
    Root certificates were incorrectly stored in "~/.cups/ssl".
netbsd-srcmastr pushed a commit that referenced this pull request Apr 23, 2021
v1.0
Released on 2020-07-18, Nelson Mandela International Day.

Added
* intercalate for DList (#43, Jacob Leach)
* Traversable instance for DList (#45, Veronika Romashkina)
* Data.DList.Internal for the DList implementation, Data.DList.Unsafe
  for exporting the DList constructor UnsafeDList and record label
  unsafeApplyDList (#55, #59)
* Data.DList.DNonEmpty (#60)
* GitHub Action for uploading a release (#74)
* dlist-bench, a benchmark package (#71)

Changed
* stimes for DList defined with stimesMonoid (#46, Janek Spaderna)
* Type of tail: DList a -> DList a to DList a -> [a] (#69)
* GitHub Action for continuous integration testing to replace Travis-CI (#47, #50)
* GHC warning and error improvements (#72, #73)
* Improved documentation (#55, #70, #76, #77)

Removed
* list :: b -> (a -> DList a -> b) -> DList a -> b (#69)


v0.8.0.8
Released on 2020-04-02, World Autism Awareness Day.

Added
* toList in the Foldable instance for DList (#36, Ryan Scott)

Changed
* QuickCheck upper bound: 2.14 to 2.15 (a7ea60d)

Fixed
* Documented time complexity of head for DList (#35, Simon Jakobi)
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 29, 2021
Incremental 21.3.0 (2021-03-01)
===============================

Bugfixes
--------

- The output of incremental is now compatible with Black (#56, #60)
- Incremental now properly supports PEP 440-compliant dev, rc, post suffixes (#62)
- Incremental now properly supports PEP 440-compliant post releases (#37)
netbsd-srcmastr pushed a commit that referenced this pull request Jul 12, 2021
Version 1.9.11 (2020-11-08)

  SECURITY HINT: make sure you have allow_xslt = False (or just do not use
  allow_xslt at all in your wiki configs, False is the internal default).
  Allowing XSLT/4suite is very dangerous, see HelpOnConfiguration wiki page.

  Fixes:
  * security fix for CVE-2020-25074:
    fix remote code execution via cache action
    changeset with fix: d1e5fc7d
  * security fix for CVE-2020-15275:
    fix malicious SVG attachment causing stored XSS vulnerability
    changeset with fix: 64e16037
  * make setup.py and .cfg ascii-only, #40
  * fix SubProcess' os.setsid usage, #44
  * fix interwiki test fails that crept into 1.9.10 release
  * highlight parser: use language as code_type rather than "highlight"
  * catch indexer error for too long names, #57
  * improved indexer logging so logging never crashes due to
    encoding issues for non-ascii page or attachment names.
  * fix mailheader parsing, add tests for mailimport, #53
  * workaround werkzeug errors='fallback:...' regression, #37
  * mailimport: fix AttributeError, #55
  * surge protection / hosts_deny: fix broken html, #60

  Other changes:
  * upgrade werkzeug 0.14.1 -> 1.0.1, adapt imports
    HINT: if you use the ProxyFix code, the required import has changed to:
          from werkzeug.middleware.proxy_fix import ProxyFix
  * add secure-cookie 0.1.0 (code was formerly part of werkzeug.contrib), adapt imports
  * update pygments 2.1.3 -> 2.5.2
  * update passlib 1.7.1 -> 1.7.2
  * update parsedatetime 2.4 -> 2.6
netbsd-srcmastr pushed a commit that referenced this pull request Sep 18, 2021
1.1.3 (2021-09-16)

* Update chefstyle requirement from 1.6.2 to 1.7.1 #52
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.7.1 to 1.7.2 #53
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.7.2 to 1.7.5 #55
  (dependabot-preview[bot])
* Upgrade to GitHub-native Dependabot #56 (dependabot-preview[bot])
* Remove support for EOL Ruby 2.4 #59 (tas50)
* Update chefstyle requirement from 1.7.5 to 2.0.8 #60 (dependabot[bot])
* Update chefstyle requirement from 2.0.8 to 2.0.9 #61 (dependabot[bot])
* Add strip components support #58 (jasonwbarnett)
netbsd-srcmastr pushed a commit that referenced this pull request Nov 30, 2021
Change log:

0.5.7
======
- Bug Fixes:
  - Update Appdata file and use the same description everywhere
  - Prevent warning when saving a deleted file via a symlink (#135)
  - Conform to Freedesktop.org standard for file naming
  - Properly disconnect signal handlers
  - Be sure not to disable highlighting when disabling regex search
  - Check for realpath()
  - Check for `errno.h` required by CI
  - Fix a nasty memory leak
  - Fix "Save As" procedure when it recurses
  - Allow drag and drop on selections in the textview
  - Code cleanup: Remove a useless dnd signal forwarding
  - Code cleanup: Simplify `mousepad_file_save()`
  - Fix a small memory leak
  - Improve trash can management
  - Update read-only status on file location change/validation
  - Monitor also the target of broken links
  - Fix monitoring of files opened through a symlink
  - Allow drag and drop of broken links
  - Follow symlinks if necessary when checking if a file exists
  - Replace `g_realloc()` with `g_renew()`
  - Replace `g_malloc*()` with `g_new*()` (!113)
  - Make sure that `gtk_selection_data_get_uris()` returned non-NULL (!113)
  - Initialize `contents` and use it to guard `g_file_replace_contents` (!113)
  - Fix an unlikely memory leak
  - Make CSD consistent with other Xfce windows (#145)
- Translation Updates:
  Estonian, Greek, Kazakh, Polish, Serbian, Slovenian, Swedish,
  Ukrainian

0.5.6
======
- New Features:
  - Add session backup and restore
    - Remember windows and tabs (#21, !108)
    - Handle unsaved documents (#32, !109)
    - DE session support (#3, !110)
  - Extend the use of recent history (!107)
  - Add use of `GtkSourceView:smart-backspace` (!101)
  - Add a "Move Words" action (!100)

- Appearance Changes:
  - Add a setting to control tab expansion (#100)
  - Prefs dialog: Substitute CSD for status bar visibility
  - Add a "File" tab to the prefs dialog (!108)
  - Make search input fields less flickery (!104)
  - Allow saving non-existent, empty but named file (#120, !103)
  - Enable "Save" action for read-only documents (#126, !103)
  - Make "Find as you type" an option (!102)
  - Reveal hidden setting "indent-on-tab" (!101)

- Code Refactoring:
  - A review of duplicated view-related actions (#127)

- Tests:
  - Add a test plugin to monitor application state (!105)
  - Add a test script for Mousepad (!99)

- Bug Fixes:
  - Filter notebook click events also on y-coordinate (#144)
  - Allow to open files from the trash can (#141, !112)
  - Monitor file deletion (#140, !111)
  - Printing: Create config file if it does not exist
  - Check all windows for the file to be opened
  - Fix wrong externally modified document in some situations
  - Plugin support: Properly handle plugin settings (#136)
  - Direct monitoring of symlink targets
  - Set the state of submenu actions
  - print-dialog: Fix some memory leaks
  - Fix a type inconsistency in the "encoding-changed" signal
  - Always check if the user has explicitly set a filetype
  - Fix monitoring events to listen to
  - Ensure statefull actions exist until their state is recovered
  - Fix GVariant-related memory leaks
  - Do not warn if the plugin directory does not exist
  - Add a sanity check on the window for "Externally Modified"
  - Do not set the style scheme id as translatable
  - Properly update recent menu in case of file deletion
  - CSD: Set the decoration layout for all windows
  - Add a sanity check on file location for monitoring
  - Add "preferences" action to `mousepad.desktop` (#130)

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

0.5.5
======
- New Features:
  - Add a `.desktop` file to make Mousepad appear in Xfce settings (!94)
  - Add a command line option to open the prefs dialog (!94)
  - Plugin support (!92)
  - Add gspell plugin (#1, !92)
  - Disable and wipe recent history if recent-menu-items is set to 0 (#112, !89)
  - Support -ve line and column values for "Go to" location (#113, !84)

- Appearance Changes:
  - Switch to client-side decorations (!97)

- Code Refactoring:
  - Remove Xfconf dependency (#60, #122, !98)
  - A general review of sanity checks
  - A review of window lifetime management
  - A review of document lifetime management
  - Automate and sanitize memory management of sources
  - A small review of GSettings use
  - Do not use `== (TRUE|FALSE)` for boolean conditions

- Bug Fixes:
  - Fix actions to show/hide bars in fullscreen mode (#129)
  - Fix broken "Revert" action
  - Fix and extend "Move Lines" action (#87, #116, !96)
  - Support for drag and drop of tabs when search is active
  - Do a silent search when changing tabs with the search bar enabled
  - Use get/set_real_line_offset () functions for "Paste as Column" (#114, !91)
  - Restore cursor position after transpose (#115, !88)
  - Fix "Delete Line" action (#117, !86)
  - Fix recent_sort function (!90)
  - Reset line and column number if not given on command line (#121, !87)
  - menu: "Spaces to Tabs" converter converts leading spaces (#118, !85)
  - Make window require attention when opening new tabs (2) (#119)

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

4.16.2
======
- keyboard: Mark system defaults switch as active (Fixes #310)
- keyboard: Correctly initialize setting (Fixes #310)
- keyboard: Fix icon name in settings dialog
- keyboard: Make buttons translatable (Fixes #306)
- xfsettingsd: Fix setting float array properties
- Translation Updates:
  Arabic, Basque, Bulgarian, Estonian, Hebrew, Norwegian Bokmål,
  Slovenian, Spanish, Swedish, Thai, Ukrainian

4.16.1
======
- display: Fix scale by rounding (Fixes #258)
- Drop preferences-desktop-default-applications icon name
- Also allocate terminating element
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Asturian, Basque, Belarusian,
  Belarusian (Tarask), Bengali, Bulgarian, Catalan, Chinese (China),
  Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (Canada),
  English (United Kingdom), Estonian, Finnish, French, Galician,
  German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue,
  Italian, Japanese, Kabyle, Kazakh, Korean, Lithuanian, Malay,
  Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish,
  Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak,
  Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian

4.16.0
======
- Drop subtitles from settings dialogs (Fixes #239)
- display: Fix icon name in settings dialog
- settings-manager: Fix visibility of filterbar
- settings-manager: Correctly show/hide the filterbar
- settings-manager: Switch to GtkSearchEntry
- settings-manager: Put filter in separate bar (Fixes #226)
- appearance: Add 'Add' button to install themes (Fixes #193)
- color: Tweak colors  of icon
- mime: Accept Thunar's old id name (Fixes #247)
- settings-editor: Enable tooltips and ellipsizing for `Value` column
- settings-editor: Fix scrollbar for channels
- settings-editor: Point to correct docs URL (#245)
- bump glib (and gio, gthread, etc) minimum to 2.50.0
- Remove GSourceFunc casts
- Indentation fixes
- Translation Updates:
  Basque, Bulgarian, Estonian, French, German, Hebrew, Indonesian,
  Italian, Japanese, Norwegian Bokmål, Norwegian Nynorsk, Portuguese,
  Portuguese (Brazil), Russian, Serbian, Slovenian, Swedish, Turkish,
  Ukrainian

4.15.3
======
- Disable UPower support by default
- Add 24px and 32px icons
- xfsettingsd: avoid default double fork
- mime: Add 'Open with...' button
- mime: Add new generic launcher icons
- color: Adjust padding of dialog
- color: Add labels to toolbar
- keyboard: Make 'system defaults' a GtkSwitch
- keyboard: Adjust width of shortcut column (Fixes #223)
- keyboard: Update dialog UI
- keyboard: Make all table columns sortable
- keyboard: Improve inline toolbar alignment
- display: Center minimal dialog on monitor where cursor is
- settings-editor: Add labels to toolbar items
- Update README file
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Belarusian
  (Tarask), Bengali, Bulgarian, Catalan, Chinese (China), Chinese (Hong
  Kong), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Eastern
  Armenian, English (Australia), English (Canada), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Norwegian
  Nynorsk, Occitan (post 1500), Polish, Portuguese, Portuguese
  (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish,
  Swedish, Thai, Turkish, Ukrainian, Uyghur

4.15.2
======
- appearance: Fix width of DPI spinbutton (Bug #16125)
- appearence: Sync theme, icon, font names to gsettings
- appearance: Fix list refresh on DnD (Fixes #213)
- appearance: Drop toolbar style setting (Bug #16665)
- display: Initial fractional scaling support (Fixes #162)
- display: Custom scale changes are display changes
- display: Improve layout in settings dialog
- display: Resize display widget according to scale
- display: Move scaling presets to glade
- display: Set minimum scale to 0.1
- display: Improve state machine for scaling option
- xfsettingsd: Correctly get current xrandr scale
- mime-settings: Rename dialog and icon to 'Default Applications'
- mime-settings: Fix window icon name
- mime-settings: Fix double free
- mime-helpers: Fix Nautilus icon name
- mime-helpers: Rename Thunar to thunar
- Rename Thunar to thunar in make and potfiles
- Expand desktop entry field codes
- keyboard-settings: Support libxfce4ui XfceTitledDialog new API
- keyboard: Show shortcuts with keycap class
- settings-manager: Ensure searchbox has initial focus (Bug #16890)
- settings-manager: Simplify redrawing of search results (Fixes #141)
- settings-manager: Hide filter entry in plugged dialogs
- Convert xfce4-compose-mail to Python
- Add dependency to Python3
- Use just binary name (instead of full path) as argument
- Don't crash when upowerd isnt present (bug #60)
- Always install shiny new icons
- Drop libxfce4ui 4.15.1 ifdefs
- Fix xfconf-related memory leaks
- Update .gitignore
- Fix typo
- Translation Updates:
  Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese
  (Taiwan), Croatian, Danish, Dutch, English (Canada), Estonian, Finnish,
  French, German, Hebrew, Hungarian, Indonesian, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Norwegian Bokmål, Serbian, Swedish,
  Turkish

4.15.1
======
This release transitions several exo components to xfce-settings.
Please use with exo 4.15.1 or later for best results.
- exo-compose-email -> xfce4-compose-email
- exo-helper -> xfce4-mime-helper
- mime-settings now includes preferred applications

Other Updates:
- Switch to new app icons and rDNS icon names
- Increase mouse cursor upper bound for HiDPI (Bug #16042)
- Fix a memory leak
- Fix typo
- Add basic GitLab pipeline
- Make "Profiles matching" sentence translatable (Bug #16679)
- settings-manager: Use symbolic find/clear icons
- Move from exo-csource to xdt-csource (Bug #16717)
- Handle failure to get Xkl engine for display (Bug #16017)
- settings-manager: Make sure content determines size
- Fix cast warnings
- Fix GTimeVal deprecation (Bug #16645)
- Fix keywords and mark them  as translateable
- Use proper fallback configuration on "apply" and "toggle off" (Bug #16476)
- keyboard-settings: Fix log flood (Bug #16521)
- keyboard: Fix crash when editing shortcut (Bug #15958)
- Add keywords to .desktop files (Bug #10694)
- settings-manager: Improve search by including keywords (Bug #10694)
- xfsettingsd: Add --disable-wm-check flag (Bug #16128)
- Fix typecasting
- Set "gtk-titlebar-middle-click" to "lower" by default
- display: Allow resizing of minimal dialog (Bug #15450)
- settings-manager: Show min and max buttons
- dialogs: Ensure dialogs have min and max buttons
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Belarusian
  (Tarask), Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong),
  Chinese (Taiwan), Croatian, Czech, Danish, Dutch, English (Australia),
  English (Canada), English (United Kingdom), Estonian, Finnish, French,
  Galician, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian,
  Interlingue, Italian, Japanese, Kazakh, Korean, Lithuanian, Malay,
  Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish,
  Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak,
  Slovenian, Spanish, Swedish, Thai, Turkish, Uighur, Ukrainian

4.15.0
======
- xsettings: Use CSD for GtkDialogs by default
- settings-manager: Fix XfceTitledDialog layout with CSD
- settings-manager: Drop setting the old header style
- display: Show ratio next to display resolution
- display: Mark preferred mode with an asterisk
- display: Add init function for aspect ratios
- display: Right-align the display ratio
- display: Fixed warning and removed ratio
- display: Improve look of ratio
- display: Fix icon name for primary indicator
- display: Initialize crtc->scalex/y (Bug #15971)
- settings-editor: Add consistent inline-toolbar
- appearance: Only show themes that support Gtk3 (Bug #15849)
- color: Fix crash in add-profiles dialog (Bug #15876)
- color: Conditionally hide info button in add-profile dialog
- color: Add tooltip to profile info buttons
- display: Fix profile matching in xfsettingsd
- display: Assure correct gchar** (Bug #15816)
- keyboard: Improve layout of add-command dialog
- keyboard: Add mnemonics to add-command dialog (Bug #10495)
- Switch to symbolic window-close icon
- Bump libxfce4ui dependency to 4.15.1
- Improve string for session managers
- Ensure the newly labeled 'Xfce Settings Daemon' is translated
- Do not show translation info on --help output
- Translation Updates:
  Albanian, Arabic, Basque, Belarusian, Bulgarian, Catalan, Chinese
  (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, English
  (United Kingdom), Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Indonesian, Interlingue, Italian, Japanese, Korean,
  Lithuanian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese
  (Brazil), Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai,
  Turkish
netbsd-srcmastr pushed a commit that referenced this pull request Dec 11, 2021
Change log:

0.12.1 (2021-11-26)
======
- Dependency Changes:
  - GLib >= 2.44.0

- Performance Improvement:
  - Optimize sorting by content type
  - Load images asynchronously (#16, #29, #32, !34)
  - Increase image loading buffer size (!34)

- Appearance Changes:
  - Allow to display all files in the open dialog (!33)

- Code Refactoring:
  - Rework the file opening procedure (!33)

- Bug Fixes:
  - Fix a memory leak when closing the window directly
  - Refactoring: Clarify thumbnailer queue management
  - Thumbnailer: Do not empty an unprocessed file list
  - Update window title on image deletion or insertion
  - Perform content-based filtering wherever necessary
  - Set device scale for animated images
  - Properly recognize SVG compressed image files
  - Use the generic pixbuf loader for RAW image files
  - Fix pointer behavior in fullscreen mode
  - Icon bar: Properly highlight item under the cursor
  - Icon bar: Center on the active item for any size change
  - Fix regression: Exif orientation is not respected (#69)
  - Do not try to load images whose pixbuf is not available (!34)
  - Fix memory management of image loading objects (!34)
  - Use URIs instead of filenames in the `.desktop` file (#49)
  - Directory loading: Allow to load a directory via the cli
  - Flatpak: Access remote locations with GVfs
  - Directory loading: Fix improper use of GFileEnumerator APIs (#68)

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

0.12.0 (2021-10-11)
======
- Dependency Changes:
  - libxfce4ui >= 4.16.0
  - libxfce4util >= 4.16.0

- New Features:
  - Allow to choose the default scale (!29)
  - Keep the scale in memory for each loaded image (#7, #17, !28)
  - Toggle fullscreen mode by double clicking on the image

- Performance Improvement:
  - Optimize directory loading (#20, #22, #32, #37, !31)
  - Optimize image viewer redraw: Disable overlay scrolling (#64)
  - Optimize image viewer redraw: Reuse source surface (#64, !26)
  - Avoid using Cairo Xlib backend to create surfaces (#60, #61, #62, !25)
  - Optimize image viewer redraw: Animation (#64)
  - Optimize image viewer redraw: Background color (#64)
  - Optimize image viewer redraw: Clock (#64)
  - Optimize image viewer redraw: Selection box (#64)
  - Don't redraw the main window when it loses focus (#64)
  - Remove the shadow of the toolbar buttons (#51, #64)

- Appearance Changes:
  - Hide thumbnail scrollbar when unused (!24)
  - Use the same background for the image and the thumbnails (#36, !23)
  - Drop preferences-desktop-default-applications icon

- Code Refactoring:
  - Flatpak build (!32)
  - Refactoring: Use only one file filter for the app
  - Refactoring: Icon bar adjustments
  - Cleanup: `icon_bar.c`
  - Cleanup: Pass orientation directly from file to viewer
  - Code refactoring: Image viewer adjustments, scale and drawing (!27)
  - Use integers for the image rendering rectangle
  - Code cleanup: Build sanitation, obsolete code removal, spacing, normalization (!22)
  - Transfer contents from dispose() to finalize()
  - Add debugging macros

- Bug Fixes:
  - Protect asynchronous jobs from an application exit
  - Fix position of the active item in the icon bar when vertical (#34)
  - Take into account the device scale (#47, !30)
  - Properly load images via drag and drop (#67)
  - Delay GdkPixbufLoader "closed" signal handler
  - Use the same scale factor to zoom via action and scrolling
  - Fix a lack of centering when zooming via the menu action
  - Fix some memory leak (several commits of this kind)
  - Fix file creation monitoring
  - Try to display the image on `GDK_PIXBUF_ERROR_CORRUPT_IMAGE` (#39)
  - Always set adjustment upper bounds greater than page sizes (#35)
  - Scaling/zoom corrections (#30, !8)
  - Fix animated GIF display
  - Automate and sanitize memory management of sources (#65)
  - Fix `rstto_icon_bar_rows_reordered()` (#48)
  - Chain up to parent in dispose() and finalize()

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

0.11.0 (2021-06-11)
======
- Update copyright years and appdata infos
- Enable `HAVE_MAGIC_H`-delimited code
- Fix compilation warnings
- autoconf: Some updates
- Update `.gitignore`
- Add option to copy image to clipboard (!20)
- Allow dragging window when CSD is used (#52)
- Remove GSourceFunc casts
- Added new stock icons with reverse DNS format
- Updates README.md
- Include string.h
- Codebase cleanup (!7)
- Make build less verbose
- Update .gitignore
- Make sure that argument passed to strncmp is non-NULL (!1)
- privacy_dialog.c: Remove dead initialization (!2)
- image_list.c: Remove dead assignment (!2)
- Add basic GitLab pipeline
- Switch to README.md and foreign automake mode
- Bug #16717: Move from exo-csource to xdt-csource
- Resolve couple "cast between incompatible function types" warnings
- Fix memory leaks in Privacy Dialog
- Resolve deprecation warnings
- Resolve some deprecation warnings
- Clean up unused functions
- Rename vars and funcs: show -> hide
- Add inactivity timeout setting to Preferences
- Hide the cursor while inactive in fullscreen mode
- Fix 'Status bar appears upon leaving fullscreen'
- Update .gitignore
- Do not show translation info on --help output
- Fix "window-state-event" handler
- Update credits
- Add support for old gtk2-style bg color settings
- Add missing LDFLAGS (fixes build on *bsd)
- In fullscreen mode, show toolbar when the mouse pointer is moved to
the top
- Return to git versioning
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post
  1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Telugu, Thai, Turkish,
  Ukrainian, Uyghur
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 Jun 10, 2022
-Support And() and Or() in render_criteria/render_anti-criteria. See wiki (#62).
-Support supplying a name for AppName render criteria (#62).
-Support moving notifications depending on "active" monitor. See focus_follows
 and associated issue (#60).
-Support loading and using SVGs (#53).
-Fixed a bug where notifications would spawn at the top left of the screen for
 a frame or so when parented somewhere else (#71).
-Updated dependencies to resolve some "security vulnerabilities".
-Probably some other misc fixes.
netbsd-srcmastr pushed a commit that referenced this pull request Jul 10, 2022
What's Changed
    Add session configs in #60
    Add browse page in #61
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 Oct 31, 2022
0.6.20 (2022-10-30)
Bug Fixes
 - Support bad Gif data gracefully (fixes #60) (c0acfa69)
 - Build script generates app icon on windows (548b9749)
netbsd-srcmastr pushed a commit that referenced this pull request Dec 15, 2022
goffice 0.10.53:

Morten:
        * Fix problem rendering "...E-xx" numbers.  [#60]
        * Hack around introspection issue.  [Part of #59]
        * Fix crash in plot [Gnumeric #667]

goffice 0.10.52:

Morten:
        * Improve GOComboBox css styling.
        * Reimplement GOActionComboStack using GtkComboBox.
        * Introspection fixes.
        * Documentation fixes.
        * Fix go_{add,sub}_epsilon{,l} confusion in fallback code for win32.
B.S:
        * Fix long double problem with go_dtoa.  [#57]

goffice 0.10.51:

Jean:
        * Do not clip markers in scatter plots. [#584]
        * Draw background and outline for data labels. [#592]
John Denker:
        * Fix go_fake_{ceil,floor} confusion.  [#56]
Morten:
        * Introspection updates.
        * Improve go_pow10 accuracy by avoiding pow as much as possible.
        * Take evasive action re g_memdup.

goffice 0.10.50:

Jean:
        * Fix data update in matrix plots, see Debian #988397.
        * Fix rendering on high resolution monitors when scale is not 1. [#578]
Morten:
        * Simplify regression equation code.
        * Use only 3 decimals for R^2 for regression lines.
        * Eliminate empty Special category from format selector.  [#29]
        * Improve regression line equation for date axes.  [#41]

goffice 0.10.49:

Morten:
        * Fix ods format problem.  [Gnumeric #518]
        * Fix axis line crash.  [Gnumeric #524]
        * Add state and saved-state to GODoc.
netbsd-srcmastr pushed a commit that referenced this pull request Dec 18, 2022
# lintr 3.0.2

* Fix test to avoid leaving behind cache files in the global cache directory.

# lintr 3.0.1

* Skip multi-byte tests in non UTF-8 locales (#1504)

* `modify_defaults()` no longer uses the mistaken `"lintr_function"` S3 class, instead applying the
  `"linter"` class also common to `Linter()`. `Linter()` also includes `"function"` in the S3
  class of its output to facilitate S3 dispatch to `function` methods where appropriate (#1392, @MichaelChirico).

## Changes to defaults

* `brace_linter()` allows opening curly braces on a new line when there is
  a comment ending the preceding line (#1433 and #1434, @IndrajeetPatil).

* `seq_linter()` produces lint for `seq(...)`, since it also cannot properly
  handle empty edge cases (#1468, @IndrajeetPatil).

* `seq_linter()` additionally lints on `1:n()` (from {dplyr})
  and `1:.N` (from {data.table}) (#1396, @IndrajeetPatil).

* `literal_coercion_linter()` lints {rlang}'s atomic vector constructors
  (i.e., `int()`, `chr()`, `lgl()`, and `dbl()`) if the argument is a scalar
  (#1437, @IndrajeetPatil).

* `redundant_ifelse_linter()`'s lint message correctly suggests negation when
  the `yes` condition is `0` (#1432, @IndrajeetPatil).

* `seq_linter()` provides more specific replacement code in lint message
  (#1475, @IndrajeetPatil).

## New and improved features

* `unreachable_code_linter()` ignores trailing comments if they match a closing nolint block (#1347, @AshesITR).

* New `function_argument_linter()` to enforce that arguments with defaults appear last in function declarations,
  see the [Tidyverse design guide](https://design.tidyverse.org/args-data-details.html) (#450, @AshesITR).

* New `allow_trailing` argument added to `assignment_linter()` to check when assignment operators are at the
  end of a line, and the value is on the following line (#1491, @ashbaldry)

## New features

* `commented_code_linter()` now lints commented argument code, containing a trailing comma, as well (#386, @AshesITR).
  For example a comment containing `#  na.rm = TRUE,` now triggers a lint.

## Bug fixes

* `object_length_linter()` does not fail in case there are dependencies with no exports (e.g. data-only packages) (#1509, @IndrajeetPatil).
* `get_source_expressions()` no longer fails on R files that match a knitr pattern (#743, #879, #1406, @AshesITR).
* Parse error lints now appear with the linter name `"error"` instead of `NA` (#1405, @AshesITR).
  Also, linting no longer runs if the `source_expressions` contain invalid string data that would cause error messages
  in other linters.
* Prevent `lint()` from hanging on Rmd files with some syntax errors (#1443, @MichaelChirico).
* `get_source_expressions()` no longer omits trailing non-code lines from knitr files (#1400, #1415, @AshesITR).
  This fixes the location information for `trailing_blank_lines_linter()` in RMarkdown documents without terminal
  newlines.
* The `vignette("lintr")` incorrectly cited `exclude` as the key for setting file exclusions in `.lintr` when it is
  actually `exclusions`. (#1401, @AshesITR)
* Fixed file exclusion detection in `lint_dir()` so it no longer errors if there are multiple exclusions or no global
  exclusions configured for a single file (#1413, #1442, @AshesITR).

## Other changes

* The minimum needed version for soft dependency `{withr}` has been bumped to `2.5.0`
  (#1404, @IndrajeetPatil).
* Changed the deprecation warning for `with_defaults()` to also mention `modify_defaults()` (#1438, @AshesITR).

# lintr 3.0.0

## Breaking changes

* All linters are now function factories (i.e., functions that return functions) for consistency. Previously, only
  linters with customizable parameters were factories (#245, @fangly, @AshesITR, and @MichaelChirico).

  This means that usage such as `lint("file.R", seq_linter)` should be updated to `lint("file.R", seq_linter())`, and
  the following update for custom linters:

  ```r
  my_custom_linter <- function(source_expression) { ... }

  # becomes
  my_custom_linter <- function() Linter(function(source_expression) { ... })
  ```
* Exclusions specified in the `.lintr` file are now relative to the location of that file
  and support excluding entire directories (#158, #438, @AshesITR).
* Removed long-deprecated linters (they've been marked as deprecated since v1.0.1 in 2017):
   + `absolute_paths_linter()`
   + `camel_case_linter()`
   + `multiple_dots_linter()`
   + `snake_case_linter()`
   + `trailing_semicolons_linter()`
* Removed `return()` from `all_undesirable_functions` because early returns (which often improve
  readability and reduce code complexity) require explicit use of `return()`. Follow #1100 for
  an upcoming `return_linter()` to lint unnecessary `return()` statements (#1146, @AshesITR).

  Note that you can replicate old behavior by supplying `return` as a custom undesirable function:
  `undesirable_function_linter(c(all_undesirable_functions, list(return = NA)))`

## Deprecations

* Lints are now marked with the name of the `linter` that caused them instead of the name of their implementation
  function. Deprecated the obsolete `linter` argument of `Lint()` (#664, #673, #746, @AshesITR). Downstream custom
  linters should follow suit.
* Renamed `semicolon_terminator_linter()` to `semicolon_linter()` for better consistency.
  `semicolon_terminator_linter()` survives but is marked for deprecation. The new linter also has a new signature,
  taking arguments `allow_compound` and `allow_trailing` to replace the old single argument `semicolon`, again for
  signature consistency with other linters.
* The following linters were subsumed into `brace_linter()` and are now deprecated; see the item on `brace_linter()`
  below:
   + `closed_curly_linter()`
   + `open_curly_linter()`
   + `paren_brace_linter()`
* The `...` argument for `lint()`, `lint_dir()`, and `lint_package()` has been promoted to an earlier position to
  better match the [Tidyverse design principle](https://design.tidyverse.org/args-data-details.html) of
  data->descriptor->details. This change enables passing objects to `...` without needing to specify non-required
  arguments, e.g. `lint_dir("/path/to/dir", linter())` now works without the need to specify `relative_path`.
  This affects some code that uses positional arguments (#935, @MichaelChirico).
   + For `lint()`, `...` is now the 3rd argument, where earlier this was `cache`.
   + For `lint_dir()` and `lint_package()`, `...` is now the 2nd argument, where earlier this was `relative_path`.
* Deprecated argument `source_file` to exported functions `with_id()` and `ids_with_token()`. It has been renamed to
  `source_expression` to better reflect that this argument is typically the output of `get_source_expressions()`.
  For now, the old argument `source_file` can still be used (with warning). The now-private functional versions of many
  linters also underwent the same renaming (`source_file` -> `source_expression`). This has no direct effect on
  packages importing lintr, but is mentioned in case custom linters imitating `lintr` style had also adopted the
  `source_file` naming and want to adapt to keep in sync.
* Deprecated `with_defaults()` in favor of `linters_with_defaults()`, and add `modify_defaults()` which is intended to
  be used more generally to modify (i.e., extend, trim, and/or update) a list of defaults. Note that the argument
  corresponding to `with_defaults()`'s `default=` is called `defaults=` (i.e., pluralized) in both of these, and that
  usage like `with_defaults(default = NULL, ...)` should be converted to `linters_with_defaults(defaults = list(), ...)`
  (#1029, #1336, #1361, @AshesITR and @MichaelChirico).
* Deprecated the `find_line()` and `find_column()` helpers from the item-level `expressions` returned with
  `get_source_expressions()`. These helpers were typically associated with regex-based logic for building linters,
  which is rarely needed and prone to false positives; now that lintr almost exclusively uses XPath-based
  logic for linters, these are no longer necessary (#1373, @MichaelChirico).

## Other changes to defaults

### Updates to `default_linters`

* New `brace_linter()` which combines several curly brace related linters, deprecating the following predecessors
  (#1041, @AshesITR):
   + `closed_curly_linter()`; both now also allow `}]` in addition to `})` and `},` as exceptions, i.e., `}` doesn't
     need to be on its own line if paired with a closing square bracket, a closing parenthesis, or a comma. Also
     improved lint metadata so that source markers land at the closing brace instead of the closing parenthesis to
     improve the experience of fixing the lint (#583, @AshesITR).
   + `open_curly_linter()`; both also no longer lint unnecessary trailing whitespace (use `trailing_whitespace_linter()`
     for this) and also allow `(`, `,`, and `%>%` on preceding lines as exceptions, i.e., `{` can be alone on a line if
     the previous line is terminated with an opening parenthesis, a comma, or a pipe (`%>%`) (#487, #1028, @AshesITR).
   + `paren_brace_linter()`; `brace_linter()` also lints `if`/`else` and `repeat` with missing whitespace.
   + `brace_linter()` also newly enforces the following rules surrounding curly braces (originally Google linters, see
     below):
      - Require `else` to come on the same line as the preceding `}`, if present (#884, @MichaelChirico).
      - Require functions spanning multiple lines to use curly braces (#987, @MichaelChirico).
      - Require balanced usage of `{}` in `if`/`else` conditions, i.e., if the `if` branch uses braces,
       then so must the `else` branch, and _vice versa_ (#983, @MichaelChirico).
* New `paren_body_linter()` checks that there is a space between a right parenthesis and a body expression (#809,
  @kpagacz).
* Added `semicolon_linter()` as a default because it enforces a tidyverse style guide rule (#683, @AshesITR).
* `assignment_linter()` (#915, @MichaelChirico):
  + Right assignments are now linted by default (`->` and `->>`).
  + New argument `allow_cascading_assign` (`TRUE` by default) toggles whether to lint `<<-` and `->>`.
  + New argument `allow_right_assign` (`FALSE` by default) toggles whether to lint `->` and `->>`.
* `commented_code_linter()`: use the parse tree to find comments, eliminating some false positives (#451, @AshesITR).
* `equals_na_linter()` (#545, @MichaelChirico):
   + Extended to lint `x != NA` (before, only `==` was caught) and `NA == x` (before, only `NA` on RHS was caught).
   + Extended to skip usages in comments like `is.na(x) # use is.na(x), not x == NA`.
* `function_left_parentheses_linter()`: improved location information (#1266, #1267, @AshesITR).
* `infix_spaces_linter()`:
   + Added argument `allow_multiple_spaces` (`TRUE` by default) which toggles
     whether to generate a lint for operators used with multiple spaces, e.g. `x   +   2`.
     The default setting allows extra spacing to be used to increase
     line-to-line alignment (#940, @f-ritter and @MichaelChirico).
   + Extended so that usages like `a~b` and `function(a=1) { ... }` are linted (#930, #michaelchirico).
   + Added argument `exclude_operators` to disable lints on selected infix operators.
     By default, all "low-precedence" operators throw lints; see `?infix_spaces_linter` for an enumeration of these.
     (#914, @MichaelChirico).
   + Add an exception for `/` usage in `box::use()` declarations (#1087, @klmr).
* `line_length_linter()`: place the source marker at the margin of the affected line to improve user experience
  during de-linting -- just press <kbd>Return</kbd> (#735, @AshesITR).*
* `no_tab_linter()`: use more reliable matching (e.g., excluding matches found in comments; #441, @russHyde).
* `object_length_linter()`: correctly detect generics and only count the implementation class towards the length.
  This prevents false positive lints in the case of long generic names, e.g.
  `very_very_very_long_generic_name.short_class` no longer produces a lint (#871, @AshesITR).
* `object_name_linter()`:
   + Improved generic detection -- in user-defined method `my_method.upstream.class`,
     `upstream.class` no longer throws a lint because the generic (`my_method`)
     properly uses `snake_case` (#737, @AshesITR).
   + Exclude special R namespace hook functions such as `.onLoad()` (#500, #614, @AshesITR and @MichaelChirico).
   + Correctly detect imported functions when linting packages (#642, @AshesITR).
   + Correctly detect assignment generics like `names<-.class_name` (#843, @jonkeane).
   + Added new styles `"symbols"` and `"SNAKE_CASE"` (#494, #495, #615, #670, @MichaelChirico and @AshesITR).
      - `"symbols"` is a new default style which won't lint all-symbol object names. In particular, that means
        operator names like `%+%` are allowed.
   + No longer lints names used in `$` extractions (#582, @AshesITR).
* `object_usage_linter()`:
   + Detect global variables if there are top-level dollar-assignments (#666, @AshesITR).
   + Report usage warnings spanning multiple lines (#507, @AshesITR).
   + Detect usages inside `glue::glue()` constructs (#942, @AshesITR).
   + Extended to include functions assigned with `=` instead of `<-` (#1081, @MichaelChirico).
   + Detect functions exported by packages that are explicitly attached using `library()` or
     `require()` calls (#1127, @AshesITR).
   + Improved location information in some cases where the previous regex-based approach didn't work, e.g. unicode
     characters in variable names (#1285, @AshesITR).
   + Correctly detect functions declared within `assign()` and `setMethod()` (#1322, @AshesITR).
* `spaces_inside_linter()`: ignore spaces preceding trailing comments (#636, @MichaelChirico).
* `T_and_F_symbol_linter()`:
   + Added as a default because it enforces a tidyverse style guide rule (#517, @AshesITR).
   + No longer lint occurrences of `T` and `F` when used for subsetting, and give a better
     message when used as variable names (#657, @AshesITR).
* `trailing_blank_lines_linter()`:
   + Extended to lint files without a terminal newline (#675, @AshesITR).
   + Also, running `lint()` on a file without a terminal newline no longer throws a `warning()`.
* `trailing_whitespace_linter()`:
   + Extended to also lint completely blank lines by default (#1044, @AshesITR).
   + Added argument `allow_empty_lines` (`FALSE` by default) to toggle this behavior.
   + Improved so that trailing whitespace inside string literals does not trigger a lint (#1045, @AshesITR).
   + Added argument `allow_in_strings` (`TRUE` by default) to toggle this behavior.
* `undesirable_function_linter()`:
   + Added new functions to `default_undesirable_functions` related to debugging (#876, @MichaelChirico):
      - `browser()`
      - `debug()`
      - `debugcall()`
      - `debugonce()`
      - `trace()`
      - `untrace()`
   + No longer lints `library()` and `require()` calls attaching a package with an undesired name,
     e.g. `library(foo)` (#814, @kpagacz and @MichaelChirico).
   + No longer lints undesirable symbols if they are used as names in `$` extractions (#1050, @AshesITR).
   + Added more explanation why certain functions might be undesirable and what alternatives to use;
     ditto for `undesirable_operator_linter()` (#1133, #1146, #1159, @AshesITR).

### Other noteworthy changes

* `cyclocomp_linter()`: set the default `complexity_limit` to 15. This brings the default into sync with what
  is enforced via `default_linters` (#693, @AshesITR).
* `lint_package()` now lints files in the `demo` directory by default (#703, @dmurdoch).
* Moved the default lintr cache directory from `~/.R/lintr_cache` (which was a violation of
  CRAN policy) to `R_user_dir("lintr", "cache")`. Note that 3.0.0 is a major version update and invalidates
  the old cache anyway, so it can be safely deleted (#1062, @AshesITR).

## New and improved features

### New linters

* `backport_linter()` for detecting mismatched R version dependencies (#506, #1316, #1318, #1319, @MichaelChirico and
  @AshesITR).
* `duplicate_argument_linter()` similarly checks that there are no duplicate arguments supplied to function calls (#850,
  @renkun-ken).
* `missing_argument_linter()` to check for empty (missing) arguments in function calls (#563, #1152, @renkun-ken and
  @AshesITR).
* `missing_package_linter()` to check if packages in calls to `library()` and friends
  are missing (#536, #1037, @renkun-ken and @MichaelChirico).
* `namespace_linter()` to check for common mistakes in `pkg::symbol` usages (#548, @renkun-ken).
* `package_hooks_linter()` to run a series of checks also done by `R CMD check` on the `.onLoad()`, `.onAttach()`,
  `.Last.lib()` and `.onDetach()` hooks (#882, @MichaelChirico).
* `pipe_call_linter()` to enforce that all steps of `magrittr` pipelines use explicit calls instead of symbols,
  e.g. `x %>% mean()` instead of `x %>% mean` (#801, @MichaelChirico).
* `sprintf_linter()` to check for common mistakes in `sprintf()` usage (#544, #624, @renkun-ken and @AshesITR).
* `unused_import_linter()` to detect unnecessary `library()` calls in R scripts (#239, @jimhester, @AshesITR).

#### Google linters

Google is a heavy user of lintr internally, and has developed a large set of linters improving code consistency
and correcting common R usage mistakes. This release includes many of these linters that are
of general interest to the broader R community. More will be included in future releases. See, e.g.
#884, #979, #998, #1011, #1016, #1036, #1051, #1066, and #1067; special thanks to @MichaelChirico and @michaelquinn32.

* `any_duplicated_linter()` Require usage of `anyDuplicated(x) > 0L` over `any(duplicated(x))` and similar.
* `any_is_na_linter()` Require usage of `anyNA(x)` over `any(is.na(x))`.
* `class_equals_linter()` Prevent comparing `class(x)` with `==`, `!=`, or `%in%`, where `inherits()` is typically
  preferred.
* `condition_message_linter()` Prevent condition messages from being constructed like `stop(paste(...))`
  (where just `stop(...)` is preferable).
* `conjunct_test_linter()` Require usage of `expect_true(x); expect_true(y)` over `expect_true(x && y)` and similar.
* `consecutive_stopifnot_linter()` Require consecutive calls to `stopifnot()` to be unified into one.
* `expect_comparison_linter()` Require usage of `expect_gt(x, y)` over `expect_true(x > y)` and similar.
* `expect_identical_linter()` Require usage of `expect_identical()` by default, and `expect_equal()` only by exception.
* `expect_length_linter()` Require usage of `expect_length(x, n)` over `expect_equal(length(x), n)` and similar.
* `expect_named_linter()` Require usage of `expect_named(x, n)` over `expect_equal(names(x), n)` and similar.
* `expect_not_linter()` Require usage of `expect_false(x)` over `expect_true(!x)`, and _vice versa_.
* `expect_null_linter()` Require usage of `expect_null(x)` over `expect_equal(x, NULL)` and similar.
* `expect_s3_class_linter()` Require usage of `expect_s3_class(x, k)` over `expect_equal(class(x), k)` and similar.
* `expect_s4_class_linter()` Require usage of `expect_s4_class(x, k)` over `expect_true(methods::is(x, k))`.
* `expect_true_false_linter()` Require usage of `expect_true(x)` over `expect_equal(x, TRUE)` and similar.
* `expect_type_linter()` Require usage of `expect_type(x, t)` over `expect_equal(typeof(x), t)` and similar.
* `fixed_regex_linter()` Require `fixed = TRUE` or `stringr::fixed()` for regular expressions that can be
  expressed statically, e.g. `strsplit(x, "[.]")` can be `strsplit(x, ".", fixed = TRUE)`.
   + Added parameter `allow_grepl` (default `FALSE`) to toggle whether `grepl()` usages should be linted.
     These might be treated separately because `grepl("^x", NA)` is `FALSE`; the `startsWith()` equivalent to
     get `FALSE` for missing input is clunkier, but more explicit: `!is.na(x) & startsWith(x, string)` (#1376, @MichaelChirico).
* `ifelse_censor_linter()` Require usage of `pmax()` / `pmin()` where appropriate, e.g. `ifelse(x > y, x, y)` is
  `pmax(x, y)`.
* `inner_combine_linter()` Require inputs to known-vectorized functions to be combined first rather than later,
  e.g. `as.Date(c(x, y))` over `c(as.Date(x), as.Date(y))`.
* `literal_coercion_linter()` Require using correctly-typed literals instead of direct coercion, e.g. `1L` instead of
  `as.numeric(1)`.
* `nested_ifelse_linter()` Prevent nested calls to `ifelse()` like `ifelse(A, x, ifelse(B, y, z))`, and similar.
* `numeric_leading_zero_linter()` Require a leading `0` in fractional numeric constants, e.g. `0.1` instead of `.1`.
* `outer_negation_linter()` Require usage of `!any(x)` over `all(!x)` and `!all(x)` over `any(!x)`.
* `paste_linter()` lint for common mis-use of `paste()` and `paste0()`:
   + `paste0()` encouraged instead of `paste(sep = "")`.
   + `toString()` or `glue::glue_collapse()` encouraged instead of `paste(x, collapse = ", ")`.
   + Lint `sep=` passed to `paste0()` -- typically a mistake.
* `redundant_ifelse_linter()` Prevent usage like `ifelse(A & B, TRUE, FALSE)` or `ifelse(C, 0, 1)`
  (the latter is `as.numeric(!C)`).
* `regex_subset_linter()` Require usage of `grep(ptn, x, value = TRUE)` over `x[grep(ptn, x)]` and similar.
* `string_boundary_linter()` Require usage of `startsWith(x, ptn)` over `grepl("^ptn", x)` or `substr(x, 1, 3) == ptn`
  and similar.
* `strings_as_factors_linter()` Check for code designed to work before and after the `stringsAsFactors = FALSE` default
  change in R 4.0 by examining code for `data.frame()` usages susceptible to assumptions about the default value
  of `stringsAsFactors=`.
* `system_file_linter()` Prevent usage like `file.path(system.file("A", package = "pkg"), "B")` where simply
  `system.file("A", "B", package = "pkg")` is more concise and readable.
* `unreachable_code_linter()` Prevent code after `return()` and `stop()` statements that will never be reached
  (extended for #1051 thanks to early user testing, thanks @bersbersbers!).
* `vector_logic_linter()` Require use of scalar logical operators (`&&` and `||`) inside `if()` conditions and similar.
* `yoda_test_linter()` Require usage of `expect_identical(x, 1L)` over `expect_equal(1L, x)` and similar.

### Other features and improvements

* **Documentation**: Reorganize linter documentation into new tag-based Rd pages (#888, #1015, @AshesITR).
   + Each linter has its own help page.
   + `?linters` also links to tag help pages, collecting linters with a similar goal.
   + Each linter can have multiple tags.
   + `available_linters()`: new function to list available linters and their tags.
     This feature is extensible by package authors providing add-on linters for {lintr}.
   + `available_tags()`: new function to list available tags.
   + `linters_with_tags()`: new function to help build a list of linters using tags.
* **Encodings**: lintr now supports non-system character Encodings. The correct the correct encoding
  is auto-detected from .Rproj or DESCRIPTION files in your project.
  Override the default in the `encoding` setting of lintr (#752, #782, @AshesITR).
* **Jenkins CI**: Support for writing comments to GitHub repo when running in Jenkins CI (#488, @fdlk).
* **Performance**: Optimized performance-critical functions in lintr, such as `get_source_expressions()` resulting in
  about 2x speedup in our test suite and even more for complex files (#1169, #1197, #1200, #1201, #1214, @MichaelChirico
  and @AshesITR). Average `lint_package()` execution time is down about 30% and the median package sees about 40%
  improvement.
* **Raw strings**: Several linters tightened internal logic to allow for raw strings like `R"( a\string )"`
  (#1034, #1285, @MichaelChirico and @AshesITR).
* **Selective exclusion syntax**: New syntax to exclude only selected linters from certain lines or passages.
  Use `# nolint: linter_name, linter2_name.` or `# nolint start: linter_name, linter2_name.`
  in source files or named lists of line numbers in `.lintr`. Note the terminal `.` is required.
  Also allows for partial matching as long as the supplied prefix is unique, e.g.
  `# nolint: infix_spaces.` works to exclude `infix_spaces_linter` (#605, #872, @AshesITR).
   + Added the linter name to lintrs output to facilitate discovery of the correct name (#1357, @AshesITR).
* Improved S3 generic detection for non-standard S3 generics where `UseMethod()` is called after several
  preceding expressions (#846, @jonkeane).
* New `sarif_output()` function to output lints to SARIF output (#1424, @shaopeng-gh)
* `extraction_operator_linter()`: no longer lint `x[NULL]` (#1273, @AshesITR).
* `is_lint_level()`: new exported helper for readably explaining which type of expression is required for a custom
  linter. Some linters are written to require the full file's parse tree (for example, `single_quotes_linter()`).
  Others only need single expressions, which is more cache-friendly (most linters are written this way to leverage
  caching) (#921, @MichaelChirico).
* `lint_dir()` excludes the `renv` and `packrat` directories by default (#697, @AshesITR).
* `lint()`: new optional argument `text` for supplying a line or lines directly, e.g. if the file is already
  in memory or linting is being done _ad hoc_ (#503, @renkun-ken).
* `seq_linter()`: improve lint message to be clearer about the reason for linting (#522, @MichaelChirico).
* `unneeded_concatenation_linter()`:
   + Correctly considers arguments in pipelines (`%>%` or `|>`; #573, #1270, @michaelquinn32 and @AshesITR).
   + New argument `allow_single_expression`, default `TRUE`, toggling whether `c(x)` should be linted, i.e.,
     a call to `c()` with only one entry which is not a constant. In some such cases, `c()` can simply be dropped,
     e.g. `c(a:b)`; in others, the parentheses are still needed, e.g. `-c(a:b)` should be `-(a:b)`;
     and in still others, `c()` is used for the side-effect of stripping attributes, e.g.
     `c(factor(letters))` or `c(matrix(1:10, 5, 2))`. In this last case, `c()` can (and should) in most cases
     be replaced by `as.vector()` or `as.integer()` for readability. In fact, we suspect it is _always_
     preferable to do so, and may change the default to `allow_single_expression = FALSE` in the future. Please
     report your use case if `as.vector()` does not suit your needs (#1344, @MichaelChirico).
* `use_lintr()`: new exported helper for creating a minimal `.lintr` configuration (#902, @AshesITR).
* `xml_nodes_to_lints()`: new exported helper for converting `xml_node` objects obtained using linter logic
  expressed in XPath into `Lint` objects (#1124, #1216, #1234, @MichaelChirico and @AshesITR).

## Bug fixes

* **RStudio**: Source markers are cleared when there are no lints (#520, @AshesITR).
* Error message for mismatched starts and ends of exclusion ranges is now more helpful.
  (#571, #860, @AshesITR and @danielinteractive).
* Improved location information for R parse errors (#894, #892, @renkun-ken and @AshesITR).
* `get_source_expressions()`:
   + Fix possible error on invalid XML produced by `xmlparsedata::xml_parse_data()` (#559, @renkun-ken).
   + Fix handling zero-length variable name error (#566, @renkun-ken).
   + Malformed Rmd files now cause a lint instead of an error (#571, @AshesITR).
   + No longer fails if `getParseData()` returns a truncated (invalid) Unicode character as parsed text (#815,
     @leogama).
   + Fixes the `text` value for `STR_CONST` nodes involving 1- or 2-width octal escapes
     (e.g. `"\1"`) to account for an R parser bug (https://bugs.r-project.org/show_bug.cgi?id=18323; #1056,
     @MichaelChirico).
   + Handle Rmd inputs containing unevaluated code blocks with named format specifiers (#472, @russHyde).
* `line_length_linter()`: fix a bug causing duplicate lints for lines containing multiple expressions (#681, @AshesITR).
* `lint_package()`:
   + Warns and returns `NULL` if no package is found (instead of giving a peculiar error message; #776,
     @MichaelChirico).
   + Stricter about what is considered to be a package -- folders named `DESCRIPTION` are ignored (#702,
     @MichaelChirico).
* `linters_with_defaults()` (formerly `with_defaults()`):
   + No longer duplicates the `lintr_function` class when it is already present (#511, @AshesITR).
   + Warns if a named argument is `NULL` but its name is not in `defaults` (#1049, @AshesITR).
* `linters_with_defaults()` handles automatic naming of very long arguments correctly (#774, @MichaelChirico).
* `save_cache()` will now recursively create the cache directory; this avoids errors that could arise if any parent
  directories do not exist (#60, @dankessler).
* `spaces_left_parentheses_linter()`: fix a bug causing warnings like "In `parent == parent[before_operator_idx]`
  longer object length is not a multiple of shorter object length" in nested expressions (#654, @AshesITR).

## Internals

* Added a new, more restrictive test workflow - `test-package` - that fails on warnings emitted by tests
  (#1263, #1272, @AshesITR).
* Added a secondary, more restrictive lint workflow - `lint-changed-files` - for newly written / modified code
  (#641, @dragosmg).
* Several optional `Imported` packages have become `Suggested` dependencies: `httr`, `testthat`, and `rstudioapi`.
  This should allow snappier CI builds for usages not relying on some more "peripheral" features of the package.
* Special thanks to @bersbersbers for early testing on the 3.0.0 changes.
* Switched CI from Travis to GitHub Actions, using the full tidyverse recommended `R CMD check`. Code coverage and
  linting are implemented using separate GitHub Actions workflows (#572, @dragosmg).
* Updated R CMD GitHub Actions workflow to check for R 3.6 on Ubuntu, instead of R 3.3, and for R 4.0 on Windows,
  instead of R 3.6 (#803, @ dragosmg).
* `lintr` now uses the 3rd edition of `testthat` (@MichaelChirico, @AshesITR, #910, #967).
netbsd-srcmastr pushed a commit that referenced this pull request Jan 10, 2023
Change log:

4.18.1 (2023-01-05)
======
- XfceFileNameInput - wrap error message (Issue #60)
- xfce4-about: Removed excess square brackets
- Revert "XfceShortcutsGrabber: Detect auto-repeat key press"
- Translation Updates:
  Hebrew, Russian, Swedish
netbsd-srcmastr pushed a commit that referenced this pull request Jan 18, 2023
Change log:

4.18.1 (2023-01-05)
======
- XfceFileNameInput - wrap error message (Issue #60)
- xfce4-about: Removed excess square brackets
- Revert "XfceShortcutsGrabber: Detect auto-repeat key press"
- Translation Updates:
  Hebrew, Russian, Swedish
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 25, 2023
zip-archive 0.4.2.2

  * Use `command -v` before trying `which` in the test suite (#62).
    `command` is a bash builtin, but for busybox we'll need `which`.

zip-archive 0.4.2.1

  * Fix Windows build regression (#61).

zip-archive 0.4.2

  * Fix problem with files with colon (#89).
  * Remove build-tools.  This was used to indicate that the 'unzip'
    executable was needed for testing, but it was never intended to be used
    this way and now the field is deprecated.  The current test suite
    simply skips the test using the unzip executable (with a warning) if
    'unzip' is not in the path.
  * Remove existing symlinks when extracting zip files with symlinks (#60,
    Vikrem).  Previously, writeEntry would raise an error if it tried to
    create a symlink and a symlink already existed at that path.  This
    behavior was inconsistent with its behavior for regular files, which
    it overwrote without comment.  This commit causes symlinks to be replaced
    by writeEntry instead of an error being raised.
  * Remove binary < 0.6 CPP.  It's no longer needed because we don't support
    binary < 0.6.  Also use manySig instead of many, to get better error
    messages.
  * Add type annotation for printf.
  * Better checking for unsafe paths (#55).  This method allows things like
    `foo/bar/../../baz`.
  * Require base >= 4.5 (#56)
  * Add GitHub CI.
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 15, 2023
0.2.48 (2023-01-31)

* Land #60, Add support for Ruby 3.2

0.2.49 (2023-02-02)

* Land #49, Adds support to remove column decoration and headers
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 May 21, 2023
0.1.51 (2023-05-17)

* Land #60, Fix crash when running socks proxy4a comm
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 Jul 30, 2023
pkgsrc change: remove redundant RUBY_VERSIONS_ACCEPTED definition.

1.2.3 (2023-07-26)

* Add test for zero length write. (#60)
* Fix pipe test on BSD systems. (#62)
* Fix Select selector backend per-IO waiter queue handling (#63)
* Add some comments regarding the new implementation.
* Modernize gem.
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 14, 2023
devel/ruby-redmine51 require net-imap gem version 0.3.4 but ruby31 bundles
0.2.3.  So, it add latest version of net-imap gem 0.3.x as ruby-net-imap.

Ruby client api for Internet Message Access Protocol.


Changes from 0.2.3:

0.3.0 (2022-11-17)

What's Changed

* Added dependabot.yml for actions by @hsbt in #59
* Bump actions/checkout from 2 to 3 by @dependabot in #60
* Adding RFC licenses by @nevans in #57
* Warn when using deprecated SASL mechanisms by @nevans in #62

New Contributors

* @dependabot made their first contribution in #60

0.3.1 (2022-11-17)

What's Changed

* Add XOAUTH2 authenticator by @ssunday in #63

New Contributors

* @ssunday made their first contribution in #63

0.3.2 (2022-12-09)

What's Changed

* Support UIDPLUS extension by @hoffi in #65
* Fixes "bundle exec rake" clash with test/unit by @nevans in #67
* Fix some UIDPLUS issues by @nevans in #69
* Fixes date-time format, and adds decode_datetime by @nevans in #66
* Add SASLprep. Code generated & tested with RFC3454 by @nevans in #64
* Add the UNSELECT command by @nevans in #72
*  Fix mailbox attrs by @nevans in #73
* RFCs and references by @nevans in #71
* Nodocs and remove warning by @nevans in #70
* ResponseParser docs by @nevans in #76
* Response Data docs by @nevans in #75

New Contributors

* @hoffi made their first contribution in #65

0.3.3 (2022-12-21)

What's Changed

* Revert "Fixes "bundle exec rake", clash with test/unit" by @znz in #88

New Contributors

* @znz made their first contribution in #88

0.3.4 (2023-01-18)

What's Changed

* Net::IMAP Client docs by @nevans in #74

0.3.5 (2023-06-12)

* Fix #response documentation error, by @nevans in 87ba74e
* Add RFC3454 data, to support offline testing, by @nevans in #137
* Adds Ruby 3.2 to the CI matrix, by @petergoldstein in #99
* Use reusing workflow, by @hsbt in #151
* Decode UTF-7 more strictly, by @nobu in #152
* ️Continue testing 0.3.x branch against ruby 2.6, by @nevans in 115d190
* Fix decode utf-7 test for ruby 2.6, by @nevans in 7a60c8f
* Fix XOAUTH2 authenticator for ruby 2.6, by @nevans in bd4faa0

0.3.6 (2023-06-12)

* Fixes file permissions regression in v0.3.5 release, reported by
  @aaronjensen in #154

0.3.7 (2023-07-26)

What's Changed

* Backport: Fix for Digest MD5 bad challenges by @nobu in #160 PR for
  backport is #161
netbsd-srcmastr pushed a commit that referenced this pull request Jan 4, 2024
New Features:

* Added cc and bcc options
* Numerous TLS debugging and verification improvements
      o Debug output contains whether a client cert was requested and
        whether one was sent
      o Add new options tls-verify-ca and tls-verify-host to
        differentiate between types of certificate verification (tls-
        verify does both)
      o Add tls-target option to allow setting of hostname to be used in
        hostname verification. This is useful in some inet debugging
        situations and required to do hostname verification with socket or
        pipe
      o Add tls-chain (#60, initial implementation by Wolfgang Karall-
        Ahlborn)
      o Add tls-get-peer-chain option (analogous to tls-get-peer-cert,
        #73)
      o Certificate debug now includes all client and peer certs, it a
        chain was used (#73)
      o Certificate debug now includes notAfter, commonName, and
        subjectAltName

Notable Changes:

* output-file, output-file-stderr, and output-file-stdout now truncate
  the specified file if it already exists
* Documentation improvements
* Extensive test harness improvements
* Add new stop-point XCLIENT-HELO to address lack of specificity when
  mixing XCLIENT usage with the HELO stop-point
* Add new stop-point PROXY
* Use IO::Socket::IP by default. Will still use IO::Socket::INET/INET6 to
  cover transition, but this is deprecated and will be removed in the
  future (#43)
* TLS session debug information is now printed even if we decide not to
  continue the session (eg for failed verification)
* Previously-deprecated functionality to allow some options to be either a
  filename or a literal string has been removed. Using the @ sigil is now
  the only was to specify file contents
* Previously-deprecated -g option removed

Notable Bugs Fixed:

* TLS certificate verification did not always work. It should now
netbsd-srcmastr pushed a commit that referenced this pull request Jan 8, 2024
v0.17.1

Fix

    Log placeholder (#60) (3cc6cad)

Documentation

    Add "documentation" url to project meta (bf864d7)
    Add "documentation" url to project meta (d3bcc42)


v0.17.0

Feature

    Logger (#47) (9269b0e)
        see usage: https://py-serializable.readthedocs.io/en/latest/examples.html#logging-and-log-access

Documentation

    Modernixe read-the-docs (7ae6aad)
    Homepage (#48) (de206d6)
    Condaforge (#46) (c0074ce)
netbsd-srcmastr pushed a commit that referenced this pull request Mar 4, 2024
Updates
    Fix negative balance getting stuck at 0.00
    Fix the search page not giving correct results when tx type is transfer and both from and to method fields are not filled up
    Fix a bug that caused unrelated transactions to show up on the home page
    On the Home page transactions with the same date can now be moved up with ',' and down with '.'
    A new option on J press to add backup locations. On q press, the latest DB will be copied there
    Added previously missing option to reset new app data location when the input is blank
    New and modified status updates for better clarity
    New offset-based scrolling when scrolling tables
    A new Activity page on 'y' press that will show activity details such as when transactions were added, deleted, edited, etc
    Popup help texts have been updated
    Dependency updates and minor performance improvements

Changes
    Fix negative balance not loading by @TheRustyPickle in #57
    Allow switching position of a tx by @TheRustyPickle in #60
    Show a new info status when switching to normal tx mode by @TheRustyPickle in #65
    Backup path by @TheRustyPickle in #66
    Update dependencies by @TheRustyPickle in #67
    Add a history page by @TheRustyPickle in #68
    Fix id swap UI bug by @TheRustyPickle in #72
    Update popup text by @TheRustyPickle in #74
netbsd-srcmastr pushed a commit that referenced this pull request Mar 12, 2024
0.11.2 (2024-03-08)
======
- Update copyright year
- Astro data downloads adapted
- Do not translate warning messages
- Fix leaks around remove_timezone_offset()
- build: Bump glib version
- Migration to Sunrise API 3.0
- Silence one more warning
- Be less verbose about network requests
- Do not warn about missing -night icon variants (Fixes #60)
- Use link color with better constrat for dark themes
- Remove dead code
- Fix remove_timezone_offset()
- Add some const qualifiers
- Fix moon_phases array
- Do not translate warning messages
- Fix a typo, everytime → every time.
- Translation Updates:
  Albanian, Arabic, Basque, Belarusian, Bulgarian, Catalan, Chinese
  (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Eastern
  Armenian, English (Australia), English (United Kingdom), Estonian,
  Finnish, French, Galician, German, Greek, Hebrew, Hungarian,
  Icelandic, Indonesian, Italian, Japanese, Korean, Lithuanian, Malay,
  Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish,
  Portuguese, Portuguese (Brazil), Russian, Serbian, Slovak, Slovenian,
  Spanish, Swedish, Thai, Turkish, Ukrainian
netbsd-srcmastr pushed a commit that referenced this pull request Mar 28, 2024
What's Changed
 - fix: ignore key release and repeat events by @joshka in #59
 - Add ASCII mode and board style by @pSnehanshu in #60
netbsd-srcmastr pushed a commit that referenced this pull request Apr 30, 2024
v20.4.0
=======

Features
--------

- Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. (#216)


v20.3.1
=======

No significant changes.


v20.3.0
=======

Features
--------

- Added support for SASL login. (#195)


Bugfixes
--------

- Better handling of escape sequences in message tags. (#205)


v20.2.0
=======

Features
--------

- Require Python 3.8 or later.


v20.1.1
=======

* #213: Pinned against jaraco.text 3.10 due to change in interface.

v20.1.0
=======

* #196: In irc.bot, avoid hanging idle when the first connection
  attempt fails.

v20.0.0
=======

* ``SingleServerIRCBot`` no longer accepts ``reconnection_interval``
  as a parameter.

* Added server support for NOTICE commands.

* Require Python 3.7 or later.

v19.0.1
=======

* #176: Fix issues with version number reporting. Restored version
  version number reporting in bot and client.

v19.0.0
=======

* ``irc.client`` no longer exposes a ``VERSION`` or ``VERSION_STRING``.
  To get the version, call ``importlib.metadata.version('irc')`` directly.

v18.0.0
=======

* Require Python 3.6 or later.

17.1
====

* Rely on
  `importlib_metadata <https://pypi.org/project/importlib_metadata/>`_
  for loading version from metadata. Removes implicit dependency on
  setuptools and pkg_resources.

* #158: The AsyncIO server now accepts a connection factory to
  enable features like SSL and IPv6 support.

* #155: ``SimpleIRCClient`` now has a ``dcc`` method for initiating
  and associating a DCCConnection object with the client.
  ``DCCConnection.listen`` now accepts a ``address`` parameter.
  Deprecated ``SimpleIRCClient.dcc_listen`` and
  ``SimpleIRCClient.dcc_connect`` in favor of the better separation
  of concerns. Clients should replace::

    client.dcc_connect(addr, port, type)
    client.dcc_listen(type)

  with::

    client.dcc(type).connect(addr, port)
    client.dcc(type).listen()


17.0
====

* Removed ``irc.buffer`` module, deprecated in 14.2.
* #153: Drop support for Python 3.3 and 2.7.

16.4
====

* Long Term Service release for Python 2.7.
* #149: ``AioConnection.connect`` moved to coroutine, added
  disconnect handling for AsyncIO.

16.3
====

* #140: Methods now use 'connection' and 'event' for parameter names.

* #135 via #144: Added AsyncIO implementation.

16.2.1
======

* Package refresh and cleanup.

16.2
====

* #133: In ``irc.server``, add support for ISON.

16.1
====

* #131: Add ``Connection.encode`` and ``Connection.transmit_encoding``
  to enable encodings other than UTF-8 to be used when transmitting
  text.

16.0
====

* Removed deprecated ``execute_*`` methods on ``Connection``
  and ``Reactor`` as introduced in 15.0.

* Fixed link in README.

15.1.1
======

* New ``send_items`` method takes star args for simplicity
  in the syntax and usage.

15.1
====

* Introduce ``ServerConnection.send_items``, consolidating
  common behavior across many methods previously calling
  ``send_raw``.

15.0.6
======

* Now publish `documentation <https://python-irc.readthedocs.io/>`_
  to Read The Docs.

15.0.5
======

* #119: Handle broken pipe exception in IRCClient _send() (server.py).

15.0.4
======

* #116: Correct invocation of execute_every.

15.0.3
======

* #115: Fix AttributeError in ``execute_at`` in scheduling
  support.

15.0.2
======

* #113: Use preferred scheduler in the bot implementation.

15.0.1
======

* Deprecated calls to Connection.execute_*
  and Reactor.execute_*. Instead, call the
  equivalently-named methods on the reactor's
  scheduler.

15.0
====

* The event scheduling functionality has been decoupled
  from the client.Reactor object. Now the reactor will
  construct a Scheduler from the scheduler_class property,
  which must be an instance of irc.schedule.IScheduler.

  The ``_on_schedule`` parameter is no longer accepted
  to the Reactor class. Implementations requiring a
  signal during scheduling should hook into the ``add``
  method of the relevant scheduler class.

* Moved the underlying scheduler implementation to
  `tempora <https://pypi.org/project/tempora>`_, allowing
  it to be re-used for other purposes.

14.2.2
======

* Issue #98: Add an ugly hack to force ``build_sphinx``
  command to have the requisite libraries to build
  module documentation.

14.2.1
======

* Issue #97: Restore ``irc.buffer`` module for
  compatibility.
* Issue #95: Update docs to remove missing or
  deprecated modules.
* Issue #96: Declare Gitter support as a badge in the
  docs.

14.2
====

* Moved buffer module to `jaraco.stream
  <https://pypi.python.org/pypi/jaraco.stream>`_ for
  use in other packages.

14.1
====

* ``SingleServerIRCBot`` now accepts a ``recon``
  parameter implementing a ReconnectStrategy. The new
  default strategy is ExponentialBackoff, implementing an
  exponential backoff with jitter.
  The ``reconnection_interval`` parameter is now deprecated
  but retained for compatibility. To customize the minimum
  time before reconnect, create a custom ExponentialBackoff
  instance or create another ReconnectStrategy object and
  pass that as the ``recon`` parameter. The
  ``reconnection_interval`` parameter will be removed in
  future versions.
* Issue #82: The ``ExponentialBackoff`` implementation
  now protects from multiple scheduled reconnects, avoiding
  the issue where reconnect attempts accumulate
  exponentially when the bot is immediately disconnected
  by the server.

14.0
====

* Dropped deprecated constructor
  ``connection.Factory.from_legacy_params``. Use the
  natural constructor instead.
* Issue #83: ``connection.Factory`` no longer attempts
  to bind before connect unless a bind address is specified.

13.3.1
======

* Now remove mode for owners, halfops, and admins when the user
  is removed from a channel.
* Refactored the Channel class implementation for cleaner, less
  repetitive code.
* Expanded tests coverage for Channel class.

13.3
====

* Issue #75: In ``irc.bot``, add support for tracking admin
  status (mode 'a') in channels. Use ``channel.is_admin``
  or ``channel.admins`` to identify admin users for a channel.

* Removed deprecated irc.logging module.

13.2
====

* Moved hosting to github.

13.1.1
======

* Issue #67: Fix infinite recursion for ``irc.strings.IRCFoldedCase``
  and ``irc.strings.lower``.

13.1
====

* Issue #64: ISUPPORT PREFIX now retains the order of
  permissions for each prefix.

13.0
====

* Updated ``schedule`` module to properly support timezone aware
  times and use them by default. Clients that rely on the timezone
  naïve datetimes may restore the old behavior by overriding the
  ``schedule.now`` and ``schedule.from_timestamp`` functions
  like so:

    schedule.from_timestamp = datetime.datetime.fromtimestamp
    schedule.now = datetime.datetime.now

  Clients that were previously patching
  ``schedule.DelayedCommand.now`` will need to instead patch
  the aforementioned module-global methods. The
  classmethod technique was a poor interface for effectively
  controlling timezone awareness, so was likely unused. Please
  file a ticket with the project for support with your client
  as needed.

12.4.2
======

* Bump to jaraco.functools 1.5 to throttler failures in Python 2.

12.4
====

* Moved ``Throttler`` class to `jaraco.functools
  <https://bitbucket.org/jaraco/jaraco.functools>`_ 1.4.

12.3
====

* Pull Request #33: Fix apparent escaping issue with IRCv3 tags.

12.2
====

* Pull Request #32: Add numeric for WHOX reply.
* Issue #62 and Pull Request #34: Add support for tags in message
  processing and ``Event`` class.

12.1.2
======

* Issue #59: Fixed broken references to irc.client members.
* Issue #60: Fix broken initialization of ``irc.server.IRCClient`` on
  Python 2.

12.1.1
======

* Issue #57: Better handling of Python 3 in testbot.py script.

12.1
====

* Remove changelog from package metadata.

12.0
====

* Remove dependency on jaraco.util. Instead depend on surgical packages.
* Deprecated ``irc.logging`` in favor of ``jaraco.logging``.
* Dropped support for Python 3.2.
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 May 6, 2024
2.2.0 (2024-04-10)

External changes

* Support multiple methods in responds_with matcher (f086b7e4, #578) -
  thanks to @vlad-pisanov for the suggestion
* Add block syntax for sequences (93fdffd, #61)
* Improve sequence failure message (0800c6ff, #60)
* Drop support for Ruby v2.0 (85848fb0, #642)
* Include the original test name in expired stub error messages (ca3ff8eb,
  #641, #642) - thanks to @casperisfine
* Avoid rubocop directive ending up in YARD docs (2a9ee81a)
* Update docs to fix those for Mock#method_missing (cee0bad6)
* Reinstate missing CNAME for GitHub Pages site (da67bb0d)
* Use Ruby v1.9 Hash syntax in docs (6de20726, #625)
* Add missing YARD tag for API#sequence name param (343c5979)
* Add missing YARD tag for API#states name param (f798df83)

Internal changes

* Tidy up Minitest vs MiniTest references (#626, #614, #615) - thanks to
  @zenspider & @Maimer for their help
* Add Ruby v3.3 to CI build matrix (ce31b544)
netbsd-srcmastr pushed a commit that referenced this pull request May 9, 2024
This package hasn't been updated in a long time. The following list of
changes was therefore curated to focus on features or recent bugfixes.

Changes in 1.7.2:

* Bug #899 Guided Remediation: Parse paths in npmrc auth fields correctly.
* Bug #908 Fix rust call analysis by explicitly disabling stripping of debug info.
* Bug #914 Fix regression for go call analysis introduced in 1.7.0.

Changes in 1.7.0:

* Feature #352 Guided Remediation
  Introducing our new experimental guided remediation feature on osv-scanner fix subcommand.
* Feature #805 Include CVSS MaxSevirity in JSON output.

Changes in 1.6.2:

* Feature #694 OSV-Scanner now has subcommands!
  The base command has been moved to scan (currently the only commands is scan). By default if you do not pass in a command, scan will be used, so CLI remains backwards compatible.
* Feature #776 Add pdm lockfile support.

Changes in 1.6.0 and 1.6.1:

* Feature #694 Add support for NuGet lock files version 2.
* Feature #655 Scan and report dependency groups (e.g. "dev dependencies") for vulnerabilities.
* Feature #702 Created an option to skip/disable upload to code scanning.
* Feature #732 Add option to not fail on vulnerability being found for GitHub Actions.
* Feature #729 Verify the spdx licenses passed in to the license allowlist.

Changes in 1.5.0:

* Feature #501 Add experimental license scanning support!
* Feature #642 Support scanning renv files for the R language ecosystem.
* Feature #513 Stabilize call analysis for Go
* Feature #676 Simplify return codes:
  Return 0 if there are no findings or errors.
  Return 1 if there are any findings (license violations or vulnerabilities).
  Return 128 if no packages are found.
* Feature #651 CVSS v4.0 support.
* Feature #60 Pre-commit hook support.

Changes in 1.4.3:

* Feature #621 Add support for scanning vendored C/C++ files.
* Feature #581 Scan submodules commit hashes.

Changes in 1.4.1:

* Feature #534 New SARIF format that separates out individual vulnerabilities
* Experimental Feature #57 Experimental Github Action

Changes in 1.4.0:

* Feature #183 Add (experimental) offline mode
* Feature #452 Add (experimental) rust call analysis, detect whether vulnerable functions are actually called in your Rust project
* Feature #505 OSV-Scanner support custom lockfile formats

Changes in 1.3.5:

* Feature #409 Adds an additional column to the table output which shows the severity if available.

Changes in 1.3.0:

* Feature #198 GoVulnCheck integration! Try it out when scanning go code by adding the --experimental-call-analysis flag.
* Feature #260 Support -r flag in requirements.txt files.
* Feature #300 Make IgnoredVulns also ignore aliases.
* Feature #304 OSV-Scanner now runs faster when there's multiple vulnerabilities.

Changes in 1.2.0:

* Feature #168 Support for scanning debian package status file, usually located in /var/lib/dpkg/status. Thanks @cmaritan
* Feature #94 Specify what parser should be used in --lockfile.
* Feature #158 Specify output format to use with the --format flag.
* Feature #165 Respect .gitignore files by default when scanning.
* Feature #156 Support markdown table output format. Thanks @deftdawg
* Feature #59 Support conan.lock lockfiles and ecosystem Thanks @SSE4
* Updated documentation! Check it out here: https://google.github.io/osv-scanner/

Changes in 1.1.0:

* Feature #98: Support for NuGet ecosystem.
* Feature #71: Now supports Pipfile.lock scanning.
* Bug #85: Even better support for narrow terminals by shortening osv.dev URLs.
* Bug #105: Fix rare cases of too many open file handles.
* Bug #131: Fix table highlighting overflow.
* Bug #101: Now supports 32 bit systems.

Tested on NetBSD/amd64.
netbsd-srcmastr pushed a commit that referenced this pull request Jun 27, 2024
### 1.8.10 - 15 June 2024

 * feature: new "`--output`" option to write to a file instead of standard output (pull request [#90](https://codeberg.org/a-j-wood/pv/pulls/90)) supplied by [xmort](https://codeberg.org/xmort)

### 1.8.9 - 21 April 2024

 * feature: new "`--si`" option to display and interpret size suffixes in multiples of 1000 rather than 1024 (pull request [#85](https://codeberg.org/a-j-wood/pv/pulls/85)) supplied by [kevinruddy](https://codeberg.org/kevinruddy)
 * fix: continue producing progress output when the output is blocking writes ([#34](https://codeberg.org/a-j-wood/pv/issues/34), [#86](https://codeberg.org/a-j-wood/pv/issues/86), [#87](https://codeberg.org/a-j-wood/pv/issues/87))
 * fix: honour the _TMPDIR_ / _TMP_ environment variables again, rather than hard-coding "`/tmp`", when using a terminal lock file (originally removed in 1.8.0) ([#88](https://codeberg.org/a-j-wood/pv/issues/88))
 * i18n: corrections and missing strings added to French translations (pull request [#83](https://codeberg.org/a-j-wood/pv/pulls/83)) supplied by [Thomas Bertels](https://codeberg.org/tbertels)

### 1.8.5 - 19 November 2023

 * fix: corrected percentage formatting so it doesn't jump from 2 to 3 characters wide at 100% ([#80](https://codeberg.org/a-j-wood/pv/issues/80))
 * fix: replaced "`--remote`" mechanism, using a temporary file instead of SysV IPC, so it can work reliably even when there are multiple PV instances
 * fix: corrected compilation failure when without IPC support
 * security: addressed all issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see "`make analyse`") ([#77](https://codeberg.org/a-j-wood/pv/issues/77))
 * cleanup: compilation warnings fixed on non-IPC and MacOS systems

### 1.8.0 - 24 September 2023

#### Features

 * feature: new "`--discard`" option to discard input as if writing to */dev/null* ([#42](https://codeberg.org/a-j-wood/pv/issues/42))
 * feature: new "`--error-skip-block`" option to make "`--skip-errors`" skip whole blocks ([#37](https://codeberg.org/a-j-wood/pv/issues/37))
 * feature: use `posix_fadvise()` like `cat`(1) does, to improve efficiency ([#39](https://codeberg.org/a-j-wood/pv/issues/39))
 * feature: new "`--enable-static`" option to "`configure`" for static builds ([#75](https://codeberg.org/a-j-wood/pv/pull/75))

#### Security

 * security: with "`--pidfile`", write to a temporary file and rename it into place, to improve security
 * security: keep self-contained copies of name and format string in PV internal state for memory safety
 * security: ignore _TMP_ / _TMPDIR_ environment variables when using a terminal lock file

#### Fixes

 * fix: only report errors about missing files when starting to transfer from them, not while calculating size, and behave more like `cat`(1) by skipping them and moving on
 * fix: auto-calculate total line count with "`--line-mode`" when all inputs are regular files
 * fix: use `clock_gettime()` in ETA calculation to cope with machine suspend/resume ([#13](https://codeberg.org/a-j-wood/pv/issues/13))
 * fix: if "`--width`" or "`--height`" were provided, do not change them when the window size changes ([#36](https://codeberg.org/a-j-wood/pv/issues/36))
 * fix: when a file descriptor position in "`--watchfd`" moves backwards, show the rate using the correct prefix ([#41](https://codeberg.org/a-j-wood/pv/issues/41))
 * fix: rewrite terminal state save/restore so state is not intermittently garbled on exit when using "`--cursor`" ([#20](https://codeberg.org/a-j-wood/pv/issues/20)), ([#24](https://codeberg.org/a-j-wood/pv/issues/24))

#### Cleanups

 * cleanup: addressed many potential issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see new target "`make analyse`")
 * cleanup: switched the build system to GNU Automake
 * cleanup: replaced the test harness with the one native to GNU Automake
 * cleanup: added a test for terminal width detection to "`make check`"
 * cleanup: added a test to "`make check`" to ensure that "`make install`" installs everything expected
 * cleanup: replaced *AC_HEADER_TIOCGWINSZ* with *AC_CHECK_HEADERS(sys/ioctl.h)* for better MacOS compatibility ([#74](https://codeberg.org/a-j-wood/pv/issues/74))
 * cleanup: with "`--sync`", call `fsync()` instead of `fdatasync()` on incapable systems ([#73](https://codeberg.org/a-j-wood/pv/issues/73))
 * cleanup: the manual is now a static file instead of needing to be built with "`configure`"

#### Dropped items

 * dropped: dropped support for "`--enable-static-nls`"
 * dropped: removed the Linux Software Map file, as the LSM project appears to be long dead
 * dropped: will no longer publish to SourceForge as it has a chequered history and is unnecessary
 * dropped: removed project from GitHub and moved to Codeberg - see "[Give Up GitHub](https://giveupgithub.org/)"

#### Other items

 * licensing change from Artistic 2.0 to GPLv3+

### 1.7.24 - 30 July 2023

 * fix: correct terminal size detection, broken in 1.7.17 by the configuration script rewrite ([#72](https://codeberg.org/a-j-wood/pv/issues/72))
 * security: removed *DEBUG* environment variable in debug mode, added "`--debug`" instead
 * cleanup: added "`make analyse`" to run "`splint`" and "`flawfinder`" on all source files
 * cleanup: corrected detection of boolean capability
 * cleanup: word wrapping of "`--help`" output is now multi-byte locale aware
 * cleanup: adjusted "`indent`" rules to line length of 120 and reformatted code

### 1.7.18 - 28 July 2023

 * fix: language file installation had been broken by the configuration script rewrite

### 1.7.17 - 27 July 2023

 * feature: new "`--sync`" option to flush cache to disk after every write (related to [#6](https://codeberg.org/a-j-wood/pv/issues/6), to improve accuracy when writing to slow disks)
 * feature: new "`--direct-io`" option to bypass cache - implements [#29 "Option to enable *O_DIRECT*"](https://codeberg.org/a-j-wood/pv/issues/29) - requested by Romain Kang, Jacek Wielemborek
 * fix: correct byte prefix size to 2 spaces in rate display, so progress display size remains constant at low transfer rates
 * cleanup: rewrote `configure.in` as per suggestions in newer "`autoconf`" manuals
 * cleanup: replaced `header.in` with one generated by "`autoheader`", moving custom logic to a separate header file "`config-aux.h`"
 * cleanup: added copyright notice to all source files as per GNU standards
 * cleanup: changed "`--version`" output to conform to GNU standards
 * cleanup: replaced backticks with `$()` in all shell scripts that did not come from elsewhere, as backticks are deprecated and harder to read
 * cleanup: improved the output formatting of "`make test`"
 * cleanup: extended the "`make test`" mechanism to allow certain tests to be skipped on platforms that cannot support them
 * cleanup: skip the "pipe" test (for *SIGPIPE*) if GNU "`head`" is not available, so that "`make test`" on stock OpenBSD 7.3 works
 * cleanup: added a lot more tests to "`make test`"
 * cleanup: replace all calls to `sprintf()` and `snprintf()` with a new wrapper function `pv_snprintf()` to improve security and compatibility
 * cleanup: replace all calls to `strcat()` with a wrapper `pv_strlcat()` to improve security and compatibility
 * cleanup: replace all `write()` calls to the terminal with a wrapper `pv_write_retry()` for consistency
 * cleanup: tidy up and fix compilation warning in "`--watchfd`" code
 * cleanup: rewrote all local shell scripts to pass analysis by [ShellCheck](https://www.shellcheck.net)

### 1.7.0 - 17 July 2023

 * dropped: support for Red Hat Enterprise Linux and its derivatives has been dropped; removed the RPM spec file, and will no longer build binaries
 * feature: the "`--size`" option now accepts "`@filename`" to use the size of another file (pull request [#57](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
 * feature: the "`--watchfd`" option is now available on OS X (pull request [#60](https://codeberg.org/a-j-wood/pv/pull/60) supplied by [christoph-zededa](https://github.com/christoph-zededa))
 * feature: new "`--bits`" option to show bit count instead of byte count (adapted from pull request [#63](https://codeberg.org/a-j-wood/pv/pull/63) supplied by [Nick Black](https://nick-black.com))
 * feature: new "`--average-rate-window`" option, to set the window over which the average rate is calculated, also used for ETA (modified from pull request [#65](https://codeberg.org/a-j-wood/pv/pull/65) supplied by [lemonsqueeze](https://github.com/lemonsqueeze))
 * feature: the "`--watchfd`" option will now show relative filenames, if they are under the current directory (pull request [#66](https://codeberg.org/a-j-wood/pv/pull/66) supplied by [ikasty](https://github.com/ikasty))
 * fix: correction to `pv_in_foreground()` to behave as its comment block says it should, when not on a terminal - corrects [#19 "No output in Arch Linux initcpio after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/19), [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31), [#55 "pv Stopped Working in the Background"](https://codeberg.org/a-j-wood/pv/issues/55) (pull request [#64](https://codeberg.org/a-j-wood/pv/pull/64) supplied by [Michael Weiß](https://github.com/quitschbo))
 * fix: workaround for OS X 11 behaviour in configure script regarding stat64 at compile time (pull request [#57](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
 * fix: workaround for macOS equivalence of stat to stat64 - patches from [Filippo Valsorda](https://github.com/FiloSottile) and [Demitri Muna](https://github.com/demitri), correcting [#33 "Fix compilation problems due to `stat64()` on Apple Silicon"](https://codeberg.org/a-j-wood/pv/issues/33)
 * fix: add burst rate limit to transfer, so rate limits are not broken by bursty traffic (pull request [#62](https://codeberg.org/a-j-wood/pv/pull/62) supplied by [Volodymyr Bychkovyak](https://github.com/vbychkoviak))
 * fix: corrected "`--force`" option so it will still output progress when not in the same process group as the owner of the terminal - corrects [#23 "No output with "`-f`" when run in background after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/23) and helps to correct [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31)
 * fix: corrected elapsed time display to show as D:HH:MM:SS after 1 day, like the ETA does - corrects [#16 "Show days in same format in ETA as in elapsed time"](https://codeberg.org/a-j-wood/pv/issues/16)
 * fix: corrected bug where percentages went down after 100% when in "`--numeric`" mode with a "`--size`" that was too small - corrects [#26 "Correct "`-n`" behaviour when going past 100% of "`-s`" size"](https://codeberg.org/a-j-wood/pv/issues/26)
 * i18n: recoded Polish translation file to UTF-8
 * i18n: removed inaccurate fuzzy translation matches
 * docs: moved all open issues into GitHub and updated the TODO list
 * docs: renamed README to README.md and altered it to Markdown format
 * docs: moved contributors from the README to docs/ACKNOWLEDGEMENTS.md
 * docs: moved TODO to TODO.md and altered it to Markdown format
 * docs: moved NEWS to NEWS.md, converted it to UTF-8, and altered it to Markdown format
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 27, 2024
Revision history for App-ClusterSSH

4.16 2020-06-20 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Further fix for 'resolve_names' error when adding hosts via the UI
- Fix missing space separator for ssh_args (thanks to Petr Vorel)

4.15 2020-05-18 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Include all utilies within each man page
- Add in 'command_pre' and 'command_post' configuration options
- Fix 'Add Host' menu error finding 'resolved_names'
- Ensure lib path is added to range tests to find the libraries
- Mark permission test as TODO as it appears to be inconsistent

4.14 2019-08-21 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Include README within the repository, not just created tar.gz files
- Add 'autoquit' setting to 'File' menu (Github issue #114)
- Correct macro_hostname to be the FQDN of the server where cssh is
  being run (Github issue #116)
- Add in user defined macros

4.13.2_02 2019-01-14 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Fix Getopt-Long minimum version
- Fix excess test output when Sort::Naturally isn't installed

4.13.2_01 2018-11-24 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Move all Tk code into its own module as-is
- Fix for 'bad pad value "3m"' error when using Tk 804.034
- Update to Perl::Tidy 20181117
- Convert to using Dist::Zilla

4.13.2 2018-03-14 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Fix for running builds in parallel
- Improvements to SUPPORT and REPORTING BUGS sections in documentation

4.13.1 2018-03-05 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Minor update to fix failing tests due to 3rd party perltidy changes

4.13 2017-12-27 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Ensure ssh_args is keep unset if it is emptied in the configuration file
- Obey configured console position (Debian bug 758215) (Github issue #100)

4.12 2017-12-23 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Fix 'undefined value' error

4.11 2017-12-22 Duncan Ferguson <duncan_ferguson@user.sf.net>

- Fix for multiple range expansion, as in 'h{a,b}{1,2}' (Github issue
  #97) (Thanks to lazyfrosch)
- Upgrade Perl::Tidy requirement to version 20171214 (Github issue
  #99) (Thanks to eserte)
- Add in 'external command pipe' to allow for some commands being
  passed in from the command line

4.10_02 2017-08-08 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Include coverage tests in the resources
- Include the version of cssh in the utility documentation and README
- Fix dashes (-) not being accepted in hostname range expansion (Github issue #89)
- Amend ranges to work on ports, FQDN's and IP addresses
- Fix bug tracker links in the main documentation (Github issue #92)
- New options to specify --rows, --columns and --fillscreen (Github
  pull request #88) (Thanks to AsharLohmar)

4.10_01 2017-04-12 Duncan Ferguson <duncan_ferguson@user.sf.net>

- Allow 'include' directives when reading SSH configuration files
  (Github issue #77) (thanks to Azenet)
- Generate README when creating the distribution from cssh man page so
  www.cpan.org and www.metacpan.org can display documentation

4.09 2017-03-11 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Add perl-5.24 Travis-CI automated testing config
- Correct a logic bug around the --debug option (Github issue #75)
- Fix 'Re-add closed windows' not using the correct username (Github issue #72)
- Update copyright year
- Make WM decorations algorithm configurable as causes problems on
  some systems (Debian bug 842965, re Github pull request #66) (thanks
  to Tony Mancill)

4.08 2016-10-18 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Add perl-5.8, 5.10 and 5.12 to Travis-CI automated testing
- Fix building and testing on perl-5.8.9
- Improve testing on systems that do not have xterm installed
- Take into account WM decorations when tiling (Github pull request
  #66) (thanks to Andrew Stevenson)
- Add option in the config file to hide the menu (Github issue #69)
- Add 'unique_servers' into the configuration file to match command
  line option (Github issue #70)

4.07 2016-04-30 Duncan Ferguson <duncan_ferguson@user.sf.net>

- Fixed tests on systems where bash is not installed in /bin/bash
  (Github issue #60)
- Include link to travis-ci site in release emails for automated build
  and test reports
- Rework hostname expansion to be pure-perl rather than relying on the
  bash shell (Github issue #53)

4.06 2016-03-26 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Failure to find the terminal binary should not be fatal
- Fix processing of '--extra_tag_file' and its configuration item
  (Github issue #51)
- Add bash shell expansion on host names containing a '{' character
  (Github issue #53)
- Fix tests when running on a server without xterm installed (such as
  Travis CI via GitHub)
- Expand $HOME and ~ correctly when looking for files (thanks to
  Andrew Stevenson)
- Typo correction in README (thanks to Ankit Vadehra)

4.05 2015-11-28 Duncan Ferguson <duncan_ferguson@user.sf.net>

- Change default key_quit from 'Control-q' to 'Alt-q' (Github issue
  #50)
- Amend tests to always use C locale as some error messages are
  hardcoded in English (Github issue #49)

4.04_01 2015-11-21 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Ensure documentation is generated using same perl as the build
  (Github issue #45)
- Pass '--action' through macro parsing (Github issue #42)
- Workaround for glitch in KDE where windows can become unmoveable
  (Github issue #46) (thanks to Brandon Perkins)
- Add in '--quiet | -Q ' option to reduce output in certian scenarios
- Add in 'csftp' command

4.04 2015-11-03 Duncan Ferguson <duncan_ferguson@user.sf.net>
- Include bash completion script in distribution (Github issue #29)
- Allow re-adding closed session (Github issue #27 - thanks to Andrew
  Stevenson)
- Allow sorting windows in natural order (Github isue #28 - thanks to
  Andrew Stevenson)
- Fix links in metadata files to trackers (Github issue #41)
- Fix ctel and ccon not working correctly (Github issue #35)
- Amend t/10host.t to use a random hostname to prevent clashes (Github
  issue #23)
- Amend coght message in README to match all other files for the
  perl license
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