aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/release.sh
Commit message (Collapse)AuthorAgeFilesLines
* contrib: use sed -E for shell scriptsMaarten Aertsen2024-02-291-1/+1
| | | | | | | | | The + character is not part of the 'basic regular expressions' in BSD grep. Use -E to enable extended (modern) regular expressions. Also remove escaping. This makes the commit msg hook work on macOS 14.2. Signed-off-by: Maarten Aertsen <maarten@nlnetlabs.nl> Signed-off-by: Robin Jarry <robin@jarry.cc>
* release: improve generated emailRobin Jarry2024-02-261-34/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not hard wrap changelog entries. * Add changes to go.mod to help downstream packagers * Improve dry run to show the generated email instead of just printing the changelog. Example output for 0.17.0: From: Robin Jarry <robin@jarry.cc> To: aerc-annouce <~rjarry/aerc-announce@lists.sr.ht> Cc: aerc-devel <~rjarry/aerc-devel@lists.sr.ht> Bcc: aerc <~sircmpwn/aerc@lists.sr.ht>, Robin Jarry <robin@jarry.cc> Reply-To: aerc-devel <~rjarry/aerc-devel@lists.sr.ht> Subject: aerc 0.17.0 User-Agent: aerc/0.17.0 Message-ID: <20240201091423.4YZK4ZQ3XVKJ@ringo> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 MIME-Version: 1.0 Hi all, I am glad to announce the release of aerc 0.17.0. https://git.sr.ht/~rjarry/aerc/refs/0.17.0 Release highlights: # Added - New `flagged` criteria for `:sort`. - New `:send-keys` command to control embedded terminals. - Account aliases now support fnmatch-style wildcards. - New `:suspend` command bound to `<C-z>` by default. - Disable parent context bindings by declaring them empty. - Toggle folding with `:fold -t`. - `mail-deleted` hook that triggers when a message is removed/moved from a folder. - `mail-added` hook that triggers when a message is added to a folder. - Customize key to trigger completion with `$complete` in `binds.conf`. - Setting `complete-min-chars=manual` in `aerc.conf` now disables automatic completion, leaving only manually triggered completion. - `.ThreadUnread` is now available in templates. - Allow binding commands to `Alt+<number>` keys. - `AERC_ACCOUNT` and `AERC_ADDRESS_BOOK_CMD` are now defined in the editor's environment when composing a message. - Reply with a different account than the current one with `:reply -A <account>`. - New `[ui].tab-title-viewer` setting to configure the message viewer tab title. - The `{{.Subject}}` template is evaluated to the new option `[ui].empty-subject` if the subject is empty. - Change to a folder of another account with `:cf -a <account> <folder>`. - Patch management with `:patch`. - Add filepath to messages in templates as .Filename(s) - New `:menu` command to invoke other aerc commands based on a shell command output. - CLI flags to override paths to config files. - Automatically attach signing key with `pgp-attach-key` in `accounts.conf`. - Copy messages across accounts with `:cp -a <account> <folder>`. - Move messages across accounts with `:mv -a <account> <folder>`. - Support the `draft` flag. - Thread arrow prefixes are now fully configurable. # Fixed - `colorize` support for wildcards `?` and `*`. - Selection of headers in composer after `:compose -e` followed by `:edit -E`. - Don't lose child messages of non-queried parents in notmuch threads - Notmuch folders defined by the query `*` handle search, filter, and unread counts correctly. # Changed - `:open` commands are now executed with `sh -c`. - `:pipe` commands are now executed with `sh -c`. - Improved command completion. - Message viewer tab titles will now show `(no subject)` if there is no subject in the viewed email. - Signature placement is now controlled via the `{{.Signature}}` template variable and not hardcoded. # Changed dependencies for downstream packagers diff --git a/go.mod b/go.mod index 9b712a340a41..a94a7afa11e0 100644 --- a/go.mod +++ b/go.mod @@ -5,0 +6 @@ require ( + git.sr.ht/~rjarry/go-opt v1.3.0 @@ -7,2 +8 @@ require ( - git.sr.ht/~rockorager/tcell-term v0.8.0 - git.sr.ht/~sircmpwn/getopt v1.0.0 + git.sr.ht/~rockorager/tcell-term v0.10.0 @@ -14 +14 @@ require ( - github.com/emersion/go-maildir v0.3.0 + github.com/emersion/go-maildir v0.4.1 @@ -26 +25,0 @@ require ( - github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 @@ -33 +32 @@ require ( - github.com/stretchr/testify v1.8.2 + github.com/stretchr/testify v1.8.4 @@ -54,0 +54 @@ require ( + golang.org/x/mod v0.8.0 // indirect Thanks to all contributors! ~$ contrib/git-stats.sh 0.16.0..0.17.0 Author Commits Changed Files Insertions Deletions Robin Jarry 61 650 +4908 -5576 Koni Marti 45 120 +4250 -729 Bence Ferdinandy 15 44 +452 -139 Jason Cox 14 59 +490 -232 Moritz Poldrack 11 19 +170 -568 Vitaly Ovchinnikov 11 27 +379 -38 Inwit 9 32 +497 -103 Johannes Thyssen Tishman 5 8 +292 -63 Sebastien Binet 3 5 +36 -25 Michal Siedlaczek 2 5 +66 -43 Erik Terpstra 1 2 +30 +0 George Honeywood 1 2 +3 -3 Jens Grassel 1 1 +8 +0 Karel Balej 1 1 +1 -1 Max Schillinger 1 1 +0 -1 Nojus Gudinavičius 1 5 +64 +0 Thomas Böhler 1 1 +0 -2 delitako 1 5 +30 -18 Reviewer/Tester Commits Robin Jarry 121 Inwit 31 Moritz Poldrack 28 Koni Marti 22 Bence Ferdinandy 13 Johannes Thyssen Tishman 8 Jason Cox 4 Karel Balej 3 Thomas Böhler 3 Tim Culverhouse 3 Vitaly Ovchinnikov 2 Callum Andrew 1 Ciarán Ainsworth 1 Maarten van Gompel 1 Tristan Partin 1 Signed-off-by: Robin Jarry <robin@jarry.cc>
* release.sh: add --dry-run flagRobin Jarry2024-01-261-15/+23
| | | | | | | This allows checking what the changelog will look like when actually releasing. Signed-off-by: Robin Jarry <robin@jarry.cc>
* changelog: get unreleased entries from commit trailersRobin Jarry2023-10-231-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Asking contributors to update the CHANGELOG.md file is causing lots of merge conflicts. Introduce a new workflow where contributors can attach changelog entries in patches via git trailers. Changelog-added: For new features. Changelog-fixed: For bug fixes. Changelog-changed: For behaviour or config format changes. Changelog-deprecated: For deprecation or removal of functionality. If a complete trailer is longer than 72 characters, it can be continued by indenting extra lines with a single space. The trailer text must be valid markdown. Update CONTRIBUTING.md with new guidelines. Update contrib/release.sh to extract these trailers before tagging and create a new section in CHANGELOG.md. Extract unreleased entries in this commit to follow the new workflow. Changelog-added: New `flagged` criteria for `:sort`. Changelog-added: New `:send-keys` command to control embedded terminals. Changelog-added: Account aliases now support fnmatch-style wildcards. Changelog-fixed: `colorize` support for wildcards `?` and `*`. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* release.sh: fix typoRobin Jarry2023-10-211-2/+2
| | | | | | | It is GNUmakefile, not GNUMakefile. Fixes: d179485eefe5 ("release.sh: update version in GNUMakefile") Signed-off-by: Robin Jarry <robin@jarry.cc>
* release.sh: fix email encodingRobin Jarry2023-10-131-0/+4
| | | | | | | | | | | | | | | | | | The release emails are sent without any Content-Transfer-Encoding nor Content-Type headers. This causes non-ASCII characters to be rendered as garbage by email clients. Here are two examples from the latest release: Mat��j Cepl Nojus Gudinavi��ius Everything is UTF-8 locally, state it explicitly in the email. Use 8bit as transfer encoding since we are not quoting anything. Add a From: header since some sendmail implementations do not add a default value when it is missing. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* release.sh: update version in GNUMakefileRobin Jarry2023-10-111-2/+2
| | | | | | | | | | | | The version is no longer present in Makefile which has been preserved for explicit error reporting with non-GNU make versions. Update the version in GNUMakefile instead. Fixes: d725defa07b5 ("mk: deprecate BSD make in favor of GNU make") Reported-by: Anton Mosich <anton@mosich.at> Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* contrib: add git-stats.shRobin Jarry2022-10-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git shortlog -sn is nice but it does not display the number of changed files and the amount of changed lines. $ git shortlog -sn 0.12.0.. 46 Tim Culverhouse 28 Robin Jarry 14 Koni Marti 9 Moritz Poldrack 2 Ben Cohen 2 Bence Ferdinandy 2 Julian Pidancet 2 inwit 1 Jason Cox 1 Jason Stewart 1 John Gebbie 1 Tobias Wölfel 1 kt programs Add a simple bash script that adds extra information: $ ./contrib/git-stats.sh 0.12.0.. Author Commits Changed Files Insertions Deletions Tim Culverhouse 46 134 +973 -1090 Robin Jarry 28 70 +671 -358 Koni Marti 14 47 +437 -205 Moritz Poldrack 9 18 +178 -44 Ben Cohen 2 2 +16 -2 Bence Ferdinandy 2 6 +104 +0 Julian Pidancet 2 9 +149 -2 inwit 2 3 +11 -1 Jason Cox 1 7 +106 -6 Jason Stewart 1 1 +4 -2 John Gebbie 1 3 +118 -1 Tobias Wölfel 1 3 +3 -3 kt programs 1 3 +37 -6 Use the script to generate the release tag and email. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-on-irc-by: Tim Culverhouse <tim@timculverhouse.com>
* Add changelogRobin Jarry2022-07-261-5/+9
| | | | | | | | | | | | Git history is not for everyone. Let's introduce a user-oriented change log. Ideally, this file should be updated incrementally when adding a new feature. I have added contributors guidelines in README.md. Update release.sh to automatically generate the release tag message with the unreleased changes from the changelog. Link: https://keepachangelog.com/en/1.0.0/ Signed-off-by: Robin Jarry <robin@jarry.cc>
* release.sh: fine tuningRobin Jarry2022-07-231-3/+5
| | | | | | | | | | | | | | | | | | Shuffle the To/Cc/Bcc headers to avoid people from doing reply all to ~sircmpwn/aerc@lists.sr.ht. Also add Cc: aerc-devel so that the lists archives all have the base message. Unfortunately, there is no way to prevent people from doing reply all and trying to send emails to aerc-announce. Putting aerc-announce in Bcc sounds very ugly. Include the person doing the release as Bcc. sendmail -t does not have a copy-to=Sent option. Use base32 and a shorter suffix for Message-ID. base64 is ugly. Use 'vi' if $EDITOR is unset. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* contrib: update script to release new versionRobin Jarry2022-06-271-0/+54
Signed-off-by: Robin Jarry <robin@jarry.cc>