update the makefile version
Document pin-tab and unpin-tab commands
The `pin-tab` and `unpin-tab` global commands were added in 3156d48
but were not previously documented. This documents them in aerc.1.
I added them with the other tab commands, which appeared to be grouped
as a logical unit.
aerc 0.4.0
Amir Yalon (2):
Fix crash on mouse scrolling between message parts
Ignore missing message part in getDecodedPart
Andreas Rammhold (1):
Ensure we aren't selecting negative directories
Anirudh Oppiliappan (1):
Bump ProtonMail/crypto to fix build on OpenBSD
Ariel Popper (1):
Add missing man pages to uninstall target in Makefile
Ben Burwell (11):
Update go-maildir to latest
Use timestamp-format in msgviewer
Add popovers
Show textinput completions in popovers
Don't use current input as a possible completion
Add address book completion in composer
Handle MIME encoded addresses in address book
Don't select completions until tab has been pressed
Strip trailing newline from address book entries without names
Add docs for reply -T
Fix handling of multiple template-dirs
Ben Cohen (1):
Changing aerc.conf delimiter parsing to use only =, and not : as well
Ben Fiedler (5):
Switch back to upstream pty library
Use aerc.PushError where appropriate
Ensure documented defaults match given defaults
imap/fetch.go: report error when fetching headers fails
store.FetchFull: Change callback type to expose entire message
Daniel Martí (1):
lib: fix an out of bounds panic in the server
Drew DeVault (16):
Revert "Parse headers from template"
Composer: fix EOF errors
Reword aerc-tutorial with revised constraints
Initial support for PGP decryption & signatures
compose: add space between headers and editor
Simplify PGP messaging
Yet another revision to PGP UI
Reduce size of the password prompt UI
Refactoring: remove store from PartInfo
msgviewer: do not interpret header as format string
gofmt fixes
Fix headers in built-in templates
libui: don't require beeper for main content
Revert "Dont detach process under vterm"
gofmt
Add contrib/_incr_version
Erazem Kokot (2):
Fix typo in message view section
Remove unecessary <Enter> from aerc.conf.in
Galen Abell (4):
Ensure new directory exists before unwatching old
Mark sent messages as "seen" in maildir
Mark sent messages as "seen" in maildir
Try to open attachments with correct extension
Grégoire Delattre (1):
Allow maildir subdirectories
Guillaume J. Charmes (2):
Dont detach process under vterm
Use stdout as controlling terminal
Jeffas (13):
Add missing notmuch build tags
Make search more lenient
Update DirectoryInfo handling for maildir
Don't set the store on an update to it
Cleanup sorting logic
Set the store on the message list if it is nil
Don't show empty message while sorting
Only show spinner while sorting if no uids
Add move-tab command
Count recent messages in maildir exists total too
Add pinned tabs
Add postpone command
Add recall command
Jonathan Halmen (1):
fix function keys in terminal widget
Kevin Kuehler (1):
widgets/terminal: Reap more zombies
Kiril Vladimiroff (1):
Break early when delete happens in outdated state
Leszek Cimała (11):
fix make install directiories permissions
use correct headers for message part
decode(RFC 2047) imap headers to fix encoding in subject & filenames
failback to Content-Type filename when encoded Content-Disposition is used
remove garbage headers in reply message
create OriginalMail struct
remove Original* check
add .OriginalMIMEType variable to reply template
template: remove last \n to fix additional new lines after quote
template: add exec and wrap
template: man cosmetic changes
Luke Drummond (1):
Display the mimetype when offering to pipe or save
Michele Finotto (1):
Add custom sorting for folders
Nicolai Dagestad (1):
Make the http handler of the unsubscribe command async
Noah Kleiner (1):
Add link to scdoc
Peter Lamby (2):
Document smtp-starttls
Correct the khard example so that it works with aerc
Rafael Castillo (1):
Initialize an empty message map in the message store on initialization
Ray Ganardi (4):
fix: Close unused MessageView when swapping view
fix binding for delete message
Add :choose command
Implement :header command
Reto Brunner (80):
add ProvidesMessages interface
widgets: add msgInfoFromUids helper
AccountView: implement ProvidesMessages
msgviewer: implement ProvidesMessages interface
msgstore: add marking functionality
add command helpers
add mark command
archive: adapt to ProvidesMessages
copy: adapt to ProvidesMessages
delete: adapt to ProvidesMessages
move: adapt to ProvidesMessages
modify-labels: adapt to ProvidesMessages
msglist: highlight marked messages
binds.conf: mark bindings
docs: mark command
add LabelList event
notmuch: emit LabelList event
modify-labels: add completion
read: adapt to ProvidesMessages
fix invalid format string
Add labels to index format (%g)
msgviewer: Add Labels as a virtual header
msgviewer: do not anchor ansi escape to start of line
msgviewer: bypass filter for headers
msgviewer: decode headers prior to displaying them
models: add BodyStructure.PartAtIndex
FetchBodyParts: decode source in the workers
imap: decode reader prior to returning them
maildir/notmuch: don't re-encode readers
Correct spelling
worker/imap: don't decode in FetchFullMessage.
msgview/save: Adapt to already decoded reader
msgview/open: remove manual decoding
imap: emit messageinfo when changing read state.
config: Strongly type context type
dirlist: remove not needed sort function
dirlist: adapt to dynamic UIconfig
notmuch: avoid stale DBs
imap: fix double closing idleStop
Only fetch the directory contents when we are switching directories
dirlist: actually honor the DirInfo
Request DirInfo whenever the unread count may have changed
notmuch: emit DirInfo upon request
notmuch: add internal event loop
notmuch: refresh dirlist in background
msg/reply: fix address comparison
msg/reply: simplify string comparison
Revert "Only fetch the directory contents when we are switching directories"
fix missing import
widgets/dirlist: Fix total message count
lib/msgstore: debounce directoryUpdateRequests
msg/delete: remove redundant err check
notmuch: align dirInfo logic to the maildir worker
remove the dirInfoUpdateRequest functionality
notmuch: emit dirinfo upon label change
go.sum: re-add notmuch
go mod tidy, updated go.sum
README: include demo and update required go version
msg/archive: complete the possible options
Readme: add config location of MacOS
templates/quoted_reply: fix incorrect timezone identifier
Remove ability to specify headers in the editor
remove mention of header addition via the editor from tutorial
aerc-config: remove bold modifier within text
add template structure to aerc-templates(7)
msg/reply: Deduplicate TO: and CC:
lib/messageview: mark messages as read
docs: extract template function to their own section
templates: add version func
creak/pty got force pushed: fix version
notmuch: remove read handling from FetchMessageBodyPart
maildir: remove read handling from FetchMessageBodyPart
msg/read: don't copy waitgroup
commands/helper: remove duplicated method
Change MarkedMessages to return uids
imap: Remove FetchMessageBodyPart.{Encoding,Charset}
FetchBodyPart doesn't need the parent body structure
msg/reply: fix encoding issues for quoted reply.
Move findPlaintext / findFirstNonMultipart to utils
msg/forward: fix body part selection
Robert Günzler (2):
Parse headers from template
Parse headers from template
Simon Ser (3):
worker/imap: rely on go-imap for charset handling
Update dependencies
Requires Go 1.13
Srivathsan Murali (2):
Fix double >\n when quoting empty line
Contextual UI Configuration
Thorben Günther (1):
Fix crash if there is no to address for %F
Timmy Douglas (2):
compose: don't call ti.tabcomplete when it is nil
worker/lib/parse: be more tolerant with parsing email addresses
Wiktor Kwapisiewicz (2):
Fix crash when no message is selected
Fix crash on mouse scrolling before messages load
Zoltan Kalmar (1):
Add quotes to the default pinned-tab-marker
burrowing-owl (1):
Fix array out of bounds error
elumbella (2):
Guess date from received if not present
Show 'Message sent' only for ten seconds instead of permanently
ernierasta (1):
fix non-utf8 encoding in msgviewer
sqwishy (2):
toLocal template function
note in aerc-templates.7.scd for toLocal function
aerc 0.3.0
aerc 0.3.0 is the latest pre-release of aerc. Notable improvements in
this release include:
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.
...as well as many bug fixes and usability improvements. Thank you to
the 27 contributors who helped to make this release possible! The
complete changelog follows.
Aditya Srivastava (2):
select next message when deleting from message viewer
add close command at global level
Art Wild (1):
Fix `unread` command
Ben Burwell (5):
Clean maildirs when opened
Include body MIME terminator in multipart messages
Fix sending attachments with less than 512 bytes
Fix directory completion case sensitivity
maildir: Preserve flags when copying messages
Ben Cohen (2):
Fixing #231 (alternative preferred mimetypes)
Joining the args in cf for folders with spaces
Christopher Vittal (3):
Add delete forward <C-k> and backward <C-u>
Add support for <C-j> as '<Enter>' in ExLine
Add :prompt command
Daniel Bridges (4):
Add cc and bcc commands
Allow cc/bcc command to receive no arguments
Let user edit arbitrary headers in composer
Add optional body argument to compose command
Daniel Xu (3):
Support regex filters for folders
Only compile regex portion of folder filter
Strip carriage returns (^M) when filtering emails
Devon Johnson (1):
Fix segfault on delete
Drew DeVault (11):
aerc-tutorial(7): add searching and expand viewer
Update tcell
Prevent drawing terminal with nil cmd
Revert "add close command at global level"
folder filter: only assume regex if filter is ~fmt
aerc.go: remove unused variable
aerc.go: simplify completions
Revert "Fix out-of-order messages by sorting as we display"
Revert "Show spinner when fetching contents"
Add some defaults for template options
Correct capitalization in quoted_reply
Frode Aannevik (1):
Fix: oauthbearer runtime error
Galen Abell (2):
Add CompletePath method
Add filesystem completions for :attach and :cd
Greg Anders (3):
Check for terminal before forwarding mouse event
Add UI options to save/pipe messages with unsupported mimetypes
Allow fields in compose widget to be clicked
Heiko Carrasco (1):
Print success to socket if no error was thrown
Jeffas (22):
Add initial command to end of completions
Add Mouseable
Ensure mimetype parts are converted to lower case
Check the subject line for lowercase re
Add new search behaviour for imap
Add display of unread messages in dirlist
Add signatures
Add completion for copy
Add basic searching to the maildir backend
Add search documentation for maildir backend
Focus new tab after remove
Add directory info messages
Add sorting functionality
Add documentation for sort
Make commands join args with spaces
Change search flags
Sort path completions
Fix selected account to return for messageviewer
Show spinner when fetching contents
Preserve sorting order in search results
Fix pushing invalid tabs to history
Fix tab refocus on remove
Jelle Besseling (7):
Implement next-folder using NextPrev with amount
Implement next-message in msgview using account
Don't print imap errors to ui
Ignore scroll command when msgstore is nil
Move forward command to it's own file
Add addresses argument to forward command
Add forwarding as attachment feature
Jonas Mueller (1):
Pass os stdin to credential command
Kevin Kuehler (6):
cc/bcc: Append to existing headers if called twice
Cleanup pager processes after closing a msgviewer
widgets/msgview: Reap the filter command
widgets/msgviewer: Don't crash if pager is nil
worker/imap: Fix seqMap race condition
commands/account: Disable :view for deleted msgs
Luke Drummond (1):
Add support for AUTH LOGIN submission
Matt Snider (1):
notmuch: ignore comments and blank lines when processing query-map file
Nicolai Dagestad (1):
Remove aerc specific code from the ui
Paul Spooren (1):
Allow custom spinner via config file
Reto Brunner (20):
msglist: add initialization state
ChangeFolder: do not depend on the msgstore
Extract message parsing to common worker module
add github.com/zenhack/go.notmuch
Add notmuch backend
Add notmuch docs
Close backends prior to shutdown
bump go-message, fixes address list parsing failure
upgrade go-message
Notmuch: use adhoc write connection.
extract search criteria parsing into the backends
notmuch: add search / filter capabilities
Add modify-labels command
notmuch: extract all notmuch db operations.
notmuch: sync maildir flags
notmuch: implement ModifyLabels
notmuch: add sort functionality
Open mailto links in a new aerc instance if needed.
lib/msgstore: fix invalid callback invocation
Notmuch: be resilient to config errors
Ronan Pigott (1):
doc: Fix missing '\' in aerc-tutorial man page.
Srivathsan Murali (5):
Config for deleting message from message viewer
Add Templates with Parsing
Complete the F rune.
Parse Reply-To header while parsing envelope
Install aerc-templates
Stephen Brennan (1):
Fix out-of-order messages by sorting as we display
Wagner Riffel (9):
imap worker: do not copy mailbox status mutex
all: purge redundant underscores
all: use fmt.Errorf for fomartting errors
all: rewrite references to strings.Index to strings.Contains
commands: move ParseNextPrevMessage error value to its last return value
widgets: remove redundant key check, delete is no-op if key is empty
widgets: rewrite references to os.SET_SEEK to io.SeekStart
widgets: gofmt
widgets: remove duplicate import
a3v (1):
Use sort.Stable for sorting displayed messages
aerc 0.2.1
Drew DeVault (2):
Fix test failures
Change how VERSION is set in Makefile
aerc 0.2.0
aerc 0.2.0 contains 184 commits from 34 contributors. The highlights
include:
- 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
Many bugs have been fixed as well, and more were probably introduced.
Package maintainers: 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.
Important:
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.
Aditya Mahajan (1):
Ensure that flags are set properly
Asger Hautop Drewsen (1):
Show usage on getopt.Getopts error
Ben Burwell (16):
Use "open" instead of "xdg-open" on Darwin systems
Add unsubscribe command
Document message index format specifiers
Use go-message implementation of GenerateMessageID
Factor UI models out of the worker message package
Use []uint32 instead of imap.SeqSet
Factor IMAP-specific structs out of UI models
Create UIDStore package
Add maildir backend worker
Handle the invalid "utf8" encoding
Implement maildir copy
Add maildir docs
Fix header decoding
maildir: Watch for new messages
Use latest go-maildir
Ring bell when new messages arrive
Chris Kinniburgh (1):
config: sort account folders
Clayton Craft (3):
Select user's preferred mimetype in MessageViewer
Update reply to use getopt posix optind format
Support directories in path to :save
Daniel Bridges (5):
Fix crashes when operating on empty folder (#216)
#190 Handle gmail duplicate folder
Display user specified headers in viewer if present
Discard stdout if not redirected to file
Support configurable header layout in compose widget
Daniel Lublin (2):
account-wizard: look up imap and smtp server by SRV records (#100)
Set the required go version for this module, aerc
Drew DeVault (66):
Use SetAddressList for From header
Add binding to toggle headers
Execute the editor with the shell
Ignore encoding errors in filters
Remove unnecessary branch
Disable HTML filter by default
Add image/* filter, commented out by default
Move ANSI stripping from filters to Go
Rewrite Python filters in awk
Update docs per filters rewrite
Update filter names in Makefile
plaintext filter: Match against start of line
Truncate long subject lines
Use #!/usr/bin/env -S awk -f for awk scripts
Fix hldiff regex for short stats
commands/msg/copy: remove unnecessary code
Update our message flags when server updates them
Add :read and :unread commands
aerc(1): add :read and :unread command to docs
Fix :move command's arg parsing
Fix :copy arg handling
Fix :new-account getopts
Implement :mkdir command
Add :next/:prev binds for [viewer]
Fix automatic scrolling when messages arrive/leave
Make awk filters more portable
imap: block until directory list is fully received
Update tcell
Add aerc -v to print the installed version
Fix reply bindings in [view]
Fix Cc & Bcc handling in replies
worker/imap: implement search
worker/imap: rig up search directory handler
Implement :search, :next-result, :prev-result
Fix jumping around in search
Move contrib -> filters
Revert "Remove dirs field and references to it"
Correct default filter order in aerc.conf.in
Update binds.conf
Sort out dirstore once and for all
Remove unused caps string
Make :pipe command more generic
Add .build.yml
Add :exec and :pipe -b(ackground)
aerc(1): correct error with :pipe documentation
:exec, :pipe: show exit status on completion
Fix re-opening of expired pipe tabs
Fix :pipe -b actually writing to stdin
Don't initialize an invalid pty size
Fix missing format fields in maildir/container.go
Update README.md
Revert "Ensure new partswitcher doesn't start on multipart"
Add :cp alias for :copy
Change default attach keybinding
aerc(1): Fix fallback ex key documentation
aerc(1): document missing commands
aerc(1): fix scdoc syntax error
Add Unix socket for communicating with aerc
Forward mailto links to server via ./aerc <mailto>
Add [a]ttach to the review message prompts
Fix alternatives config
Fix panic when tabs.popHistory is nonexistent
Fix invalid tab state when deselecting removed tab
Implement sendmail support
Update tcell
Add missing fallthrough
EdOverflow (1):
Escape plus symbol in hldiff filter.
Eyal Sawady (1):
Don't bind $noinherit
Frode Aannevik (1):
Support imaps with oauthbearer authentication (Gmail)
Galen Abell (4):
Add :attach command for compose
Add command history and cycling
Fix review message not filling entire space
Add :detach command
Gregory Mullen (3):
Implement basic tab completion support
Add new lib/dirstore to source completions from
Add IMAP folder tab completion
Issam Maghni (1):
aerc-config: [viewer] should be [compose]
JanUlrich (1):
Introduce :new-account -t
Jeffas (24):
Add backtab to tutorial navigation
Add clickable tabs
Fix read reply flag formatting
Update status message to include destination
Ensure new partswitcher doesn't start on multipart
When reviewing an email don't pass characters on
Add MouseEnabled config setting
Fix grid widths when using weighted widths
Add show-headers to aerc-config
Show currently pressed keys in statusline
Ensure new partswitcher doesn't start on multipart
Remove passing of showHeaders explicitly
Add option to always show mimetype in viewer
Add change tab command
Fix grid creating too large subcontexts
Add space which was missing
Fix :close on terminal panic
Show the directory being selected in gray
Add new-email trigger
Move msgstore map to dirstore
Add change-tab docs
Add tab completion to textinputs
Fix tabstrip over-drawing when not enough space
Add index option to change-tab
Kacper Kołodziej (1):
Makefile: Use GO variable to specify compiler path
Kevin Kuehler (8):
commands/msg/archive: Work with msgviwer
Move select functionality from msglist to msgstore
lib/ui/tab: Add Replace method
commands/msgview: Add next/prev commands
commands: Don't crash when store is nil
Implement :filter, :clear
Make :next-result :prev-result relative to cursor
lib/msgstore: Fix Select, Next, Prev with filter
Lucas F. Souza (1):
Skip rendering dirlist if sidebar width is 0
Lyle Hanson (2):
Add uninstall target to Makefile
Document collecting log output
Martin Hafskjold Thoresen (1):
Insert nil check before handling prev/next message
Nicolai Dagestad (2):
Add an option to toggle between read and unread
Fix error handling in maildir worker
Noah Loomans (1):
account-wizard: automatically replace imap.* with smtp.*
Pedro L. Ramos (1):
71: Allow user to change config options at runtime
Reto Brunner (12):
imap: respect the folder config option
Set empty message in dirlist if no folder exist.
Makefile: fix -ldflags -X invocation
add DefaultSavePath config
msgview/save: Use defaultSavePath if no path is provided
dirlist: sync dirstore in filterDirsByFoldersConfig
dirlist: remove the additional filtering in Draw()
dirlist: simplify nextPrev() considerably
lowercase all key bindings
Register worker in init.
Sendmail: allow for arbitrary parameters
Print errors from config load issues.
Robert Günzler (2):
Add archive command
Remove dirs field and references to it
Réouven Assouly (2):
Make part encoding checks case insensitive
commands/msgview: add open command
Simon Ser (1):
Update dependencies
Stefan Rakel (1):
Reopening mailcontent file to fix #166
Tadeo Kondrak (1):
Allow no arguments to :cd
Tuomas Siipola (1):
Fix text input cursor position with non-ASCII text
Yash Srivastav (6):
implements ability to view headers in message view
Message list: implement index-format option
Fetch headers w/peek to leave emails unread
msglist: use distinct style for unread emails
Mark sent emails as read
Override $ex in compose view
Zach Sisco (2):
panic: runtime error: index out of range in handleFetchMessages (#127)
Crash on delete in empty folder (#213)
ngenisis (1):
Mention aerc-tutorial(7) in aerc(1)
aerc 0.1.4
Drew DeVault (2):
Upgrade getopt package to master
Update aerc to 0.1.4
aerc 0.1.3
Drew DeVault (1):
Add aerc -v to print the installed version
aerc 0.1.2
Drew DeVault (1):
Update tcell