From 45e6e89b2440575a24d912250aaeb5391f640593 Mon Sep 17 00:00:00 2001 From: Robin Jarry Date: Tue, 12 Jul 2022 12:40:07 +0200 Subject: [PATCH] Add changelog 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 --- CHANGELOG.md | 228 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 6 ++ contrib/release.sh | 14 ++- 3 files changed, 243 insertions(+), 5 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c219e7d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,228 @@ +# ChangeLog for the aerc project + +All notable changes to this project will be documented in this file. +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + +## [Unreleased](https://git.sr.ht/~rjarry/aerc/log/master) + +### Added + +- Read-only mbox backend support. +- Import/Export mbox files with `:import-mbox` and `:export-mbox`. +- `address-book-cmd` can now also be specified in `accounts.conf`. + +### Changed + +- Aerc will no longer exit while a send is in progress. +- When scrolling through large folders, client side threading is now debounced + to avoid lagging. +- The provided awk filters are now POSIX compliant and should work on MacOS and + BSD. + +### Fixed + +- Transient crashes when closing tabs. +- Binding a command to `` and ``. +- Reselection after delete and scroll when client side threading is enabled. +- `check-mail` now works when the default folder is empty on startup. + +## [0.11.0](https://git.sr.ht/~rjarry/aerc/refs/0.11.0) - 2022-07-11 + +### Added + +- Deal with calendar invites with `:accept`, `:accept-tentative` and `:decline`. +- IMAP cache support. +- Maildir++ support. +- Background mail count polling for all folders. +- Authentication-Results display (DKIM, SPF & DMARC). +- Folder-specific key bindings. +- Customizable PGP icons. +- Open URLs from messages with `:open-link`. +- Forward all individual attachments with `:forward -A`. + +### Changed + +- Messages are now deselected after performing a command. Use `:remark` to + reselect the previously selected messages and chain other commands. +- Pressing `` in the default postpone folder now runs `:recall` instead + of `:view`. +- PGP signed/encrypted indicators have been reworked. +- The `threading-enabled` option now affects if message threading should be + enabled at startup. This option no longer conflicts with `:toggle-threads`. + +### Fixed + +- `:pipe`, `:save` and `:open` for signed and/or encrypted PGP messages. +- Messages that have failed `gpg` encryption/signing are no longer sent. +- Recalling attachments from drafts. + +## [0.10.0](https://git.sr.ht/~rjarry/aerc/refs/0.10.0) - 2022-05-07 + +### Added + +- Format specifier for compact folder names in dirlist. +- Customizable, per-folder status line. +- Allow binding commands to `<` and `>` keys. +- Optional filter to parse ICS files (uses `python3` vobject library). +- Save all attachments with `:save -a`. +- Native `gpg` support. +- PGP `auto-sign` and `opportunistic-encrypt` options. +- Attach your PGP public key to a message with `:attach-key`. + +### Fixed + +- Stack overflow with faulty `References` headers when `:toggle-threads` is + enabled. + +## [0.9.0](https://git.sr.ht/~rjarry/aerc/refs/0.9.0) - 2022-03-21 + +### Added + +- Allow `:pipe` on multiple selected messages. +- Client side on-the-fly message threading with `:toggle-threads` (conflicts + with existing `threading-enabled` option). +- Per-account, better status line. +- Consecutive, incremental `:search` and `:filter` support. +- Foldable tree for directory list. +- `Bcc` and `Body` in `mailto:` handler. +- Fuzzy tab completion for commands and folders. +- Key pass though mode for the message viewer to allow searching with `less`. + +### Changed + +- Use terminfo for setting terminal title. + +## [0.8.2](https://git.sr.ht/~rjarry/aerc/refs/0.8.2) - 2022-02-19 + +### Added + +- New `colorize` filter with diff, multi-level quotes and URL coloring. +- XDG desktop entry to use as default `mailto:` handler. +- IMAP automatic reconnect. +- Recover drafts after crash with `:recover`. +- Show possible actions with user configured bindings when reviewing a message. +- Allow setting any header in email templates. +- Improved `:change-folder` responsiveness. +- New `:compose` option to never include your own address when replying. + +### Changed + +- Templates and style sets are now searched from multiple directories. Not from + a single hard-coded folder set at build time. In addition of the configured + `PREFIX/share/aerc/*` folders at build time, aerc now also looks into + `~/.config/aerc/*`, `~/.local/share/aerc/*`, `/usr/local/share/aerc/*` and + `/usr/share/aerc/*` +- A warning is displayed when trying to configure account specific bindings + for a non-existent account. + +### Fixed + +- `Ctrl-h` binding not working. +- Open files leaks for maildir and notmuch. + +## 0.8.1 - 2022-02-20 [YANKED] + +## 0.8.0 - 2022-02-19 [YANKED] + +## [0.7.1](https://git.sr.ht/~rjarry/aerc/refs/0.7.1) - 2022-01-15 + +### Added + +- IMAP low level TCP settings. +- Experimental IMAP server-side and notmuch threading. +- `:recall` now works from any folder. +- PGP/MIME signing and encryption. +- Account specific bindings. + +### Fixed + +- Address book completion for multiple addresses. +- Maildir external mailbox changes monitoring. + +## 0.7.0 - 2022-01-14 [YANKED] + +## [0.6.0](https://git.sr.ht/~rjarry/aerc/refs/0.6.0) - 2021-11-09 + +*The project was forked to https://git.sr.ht/~rjarry/aerc.* + +### Added + +- Allow more modifiers for key bindings. +- Dynamic dates in message list. +- Match any header in filters specifiers. + +### Fixed + +- Don't read entire messages into memory. + +## [0.5.0](https://git.sr.ht/~sircmpwn/aerc/refs/0.5.0) - 2020-11-10 + +### Added + +- Remove folder with `:rmdir`. +- Configurable style sets. +- UI context aware options and styling. +- oauthbearer support for SMTP. +- IMAP sort support. + +## [0.4.0](https://git.sr.ht/~sircmpwn/aerc/refs/0.4.0) - 2020-05-20 + +### Added + +- Address book completion. +- Initial PGP support using an internal key store. +- Messages can now be selected with `:mark`. +- Drafts handing with `:postpone` and `:recall`. +- Tab management with `:move-tab` and `:pin-tab`. +- Add arbitrary headers in the compose window with `:header`. +- Interactive prompt with `:choose`. +- Notmuch labels improvements. +- Support setting some headers in message templates. + +### Changed + +- `aerc.conf` ini parser only uses `=` as delimiter. `:` is now ignored. + +## [0.3.0](https://git.sr.ht/~sircmpwn/aerc/refs/0.3.0) - 2019-11-21 + +### Added + +- A new notmuch backend is available. See `aerc-notmuch(5)` for details. +- Message templates now let you change the default reply and forwarded message + templates, as well as add new templates of your own. See `aerc-templates(7)` + for details. +- Mouse input is now optionally available and has been rigged up throughout the + UI, set `[ui]mouse-enabled=true` in `aerc.conf` to enable. +- `:cc` and `:bcc` commands are available in the message composer. +- Users may now configure arbitrary message headers for editing in the message + composer. + +## [0.2.0](https://git.sr.ht/~sircmpwn/aerc/refs/0.2.0) - 2019-07-29 + +### Added + +- Maildir & sendmail transport support +- Search and filtering are supported (via `/` and `\` by default) +- `aerc mailto:...` now opens the composer in running aerc instance +- Initial tab completion support has been added +- Improved headers and addressing in the composer and message view +- Message attachments may now be added in the composer +- Commands can now be run in the background with `:exec` or `:pipe -b` +- A new triggers system allows running aerc commands when new emails arrive, + which may (for example) be used to send desktop notifications or move new + emails to a folder + +### Changed + +- The filters have been rewritten in awk, dropping the Python dependencies. + `w3m` and `dante` are both still required for HTML email, but the HTML filter + has been commented out in the default config file. +- The default keybindings and configuration options have changed considerably, + and users are encouraged to pull the latest versions out of `/usr/share` and + re-apply their modifications to them, or to at least review the diff with + their current configurations. aerc may not behave properly without taking + this into account. + +## [0.1.0](https://git.sr.ht/~sircmpwn/aerc/refs/0.1.0) - 2019-06-03 + +Initial release. diff --git a/README.md b/README.md index 06db966..12aa6ac 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,10 @@ you did not break anything. - If applicable, update unit tests. - If adding a new feature, please consider adding new tests. - Do not forget to update the docs. +- If your commit brings visible changes for end-users, add an entry in the + *Unreleased* section of the + [CHANGELOG.md](https://git.sr.ht/~rjarry/aerc/tree/master/item/CHANGELOG.md) + file. Once you are happy with your work, you can create a commit (or several commits). Follow these general rules: @@ -199,3 +203,5 @@ Submit *confirmed* bug reports and *confirmed* feature requests on [https://todo.sr.ht/~rjarry/aerc](https://todo.sr.ht/~rjarry/aerc). [License](https://git.sr.ht/~rjarry/aerc/tree/master/item/LICENSE). + +[Change log](https://git.sr.ht/~rjarry/aerc/tree/master/item/CHANGELOG.md). diff --git a/contrib/release.sh b/contrib/release.sh index 12a0c5f..65f5d7b 100755 --- a/contrib/release.sh +++ b/contrib/release.sh @@ -9,16 +9,20 @@ read -rp "next tag ($next_tag)? " n if [ -n "$n" ]; then next_tag="$n" fi +tag_url="https://git.sr.ht/~rjarry/aerc/refs/$next_tag" -echo "======= Updating version in Makefile..." +echo "======= Creating release commit..." sed -i Makefile -e "s/$prev_tag/$next_tag/g" -git add Makefile +sed -i CHANGELOG.md -e "s|^## \[Unreleased\].*|&\n\n## [$next_tag]($tag_url) - $(date +%Y-%m-%d)|" +git add Makefile CHANGELOG.md git commit -sm "Release version $next_tag" echo "======= Creating tag..." -git tag --edit --sign \ +changes=$(sed -n "/^## \[$next_tag\].*/,/^## \[$prev_tag\].*/{//!p;}" \ + CHANGELOG.md | sed '1d;$d;s/^#\+/#/' ) +git -c core.commentchar='%' tag --edit --sign \ -m "Release $next_tag highlights:" \ - -m "$(git log --format='- %s' $prev_tag..)" \ + -m "$changes" \ -m "Thanks to all contributors!" \ -m "~\$ git shortlog -sn $prev_tag..$next_tag $(git shortlog -sn $prev_tag..)" \ @@ -46,7 +50,7 @@ Hi all, I am glad to announce the release of aerc $next_tag. -https://git.sr.ht/~rjarry/aerc/refs/$next_tag +$tag_url $(git tag -l --format='%(contents)' "$next_tag" | sed -n '/BEGIN PGP SIGNATURE/q;p') EOF