Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
v0.8.10 - 2024-12-06
Highlights:
- added
pipe-attachment
command - added sample scripts for using
meli
as amailto
scheme handler incontrib/
- fixed GPG encryption with libgpgme
Contributors in alphabetical order:
- Manos Pitsidianakis
- Matthias Geiger
Added
5e77821f
mail/view: add pipe-attachment command
in PR#540
“mail/view: add pipe-attachment command”fa896f6b
contrib: add mailto: scheme handler scripts
00ce9660
melib/backends: add as_any/as_any_mut methods to BackendMailbox
fd243fa5
maildir: add mailbox creation tests
de65eec3
meli/accounts: add mailbox_by_path() tests
in PR#535
“Rework maildir mailbox path logic, add tests”6b363601
melib/gpgme: impl Display for gpgme::Key
Bug Fixes
60c90d75
melib/attachments: ensure MIME boundary prefixed with CRLF
3433c5c3
compose/pgp: rewrite key selection logic
in PR#541
“More gpgme/PGP fixes again”12de82e7
melib/conf: fix mutt_alias_file not being validated
in PR#550
“Remove sealed_test dependency”c8e055a7
Fix version migrations being triggered backwards
in PR#557
“Fix version migrations being triggered backwards”efab99fd
terminal: check for NO_COLOR env var without unicode validation
36a63e88
melib/maildir: rewrite create_mailbox()
fcab855f
view: ensure envelope headers are always populated
in PR#538
“view: ensure envelope headers are always populated”84564f44
mailcap: don't drop File before opening it
in PR#552
“mailcap: don’t drop File before opening it”
Changes
ed85da51
Remove sealed_test dependency
Refactoring
03df2ac1
meli/utilities: add print utilities for tests
18e9d5c1
conf.rs: impl From<melib::AccountSettings> for AccountConf
1f2fec19
Fix 1.83.0 lints
in PR#536
“CI: Add action to check for DCO signoffs in PRs”192ecea2
compose/gpg.rs: Fix msrv regression
Documentation
4a61a4b8
melib: include README.md as preamble of crate rustdocs
80e53471
BUILD.md: move melib specific stuff to melib/README.md
91a17ece
melib/README.md: mention sqlite3-static feature
b77a691b
meli/README.md: Add cargo features section
in PR#549
“Document cargo features in READMEs”91dc271d
contrib: add a README.md file
2e900be6
contrib/README.md: add section about oauth2.py
07812d2c
contrib/README.md: elaborate a bit about mailto
in PR#545
“Add external mailto: handler support via scripts in contrib”e784e8d2
scripts: add markdown_doc_lints.py
Miscellaneous Tasks
Continuous Integration
77629851
CI: Add action to check for DCO signoffs in PRs
f944ebed
CI: Add error msg when cargo-derivefmt check fails
d49344f9
CI: Move MSRV checks from manifest to lints
in PR#553
“ci-workflow-fixes”ece6bfc2
CI: non-zero exit if cargo-derivefmt-* targets fail
2257b91b
CI: add actions/cache steps
in PR#554
“CI: add actions/cache steps”a1c9524f
CI: fix check_dco.sh not working with other repos
in PR#555
“CI: fix check_dco.sh not working with other repos”
v0.8.9 - 2024-11-27
This is mostly a fixups release.
Added
cf16bf65
meli/sqlite3: add tests for reindexing
a389772d
accounts: suggest tips on mailbox_by_path error
Bug Fixes
25f0a3f8
conf/terminal: fix serde of ProgressSpinnerSequence
c375b48e
terminal: fix Synchronized Output response parsed as input
in PR#523
“terminal: fix Synchronized Output response parsed as input”b7e215f9
melib/utils: fix test_fd_locks() on platforms without OFD support
in PR#524
“melib/utils: fix test_fd_locks() on platforms without OFD support”25c32a6b
meli/docs/meli.conf.examples.5: fix .Dt macro arguments
18ae5848
meli: fix reindex of previously indexed account with sqlite3 backend
13e917d9
Fix some compilation errors with cfg feature attrs
in PR#531
“accounts: suggest tips on mailbox_by_path error”8c176d38
contacts/editor: fix crash on saving contact
in PR#532
“contacts/editor: fix crash on saving contact”fb5a88c2
melib/collection: ensure mailbox exists when inserting new envelopes
in PR#529
“Small account stuff fixes”
Changes
7f8f1cf6
melib/gpgme bindings renewal
in PR#533
“melib/gpgme bindings renewal”9b7825bc
Update futures-util dep, remove stderrlog dep
4be69360
Remove obsolete "encoding" dependency
in PR#530
“Remove/update obsolete dependencies”
Refactoring
5af6e059
meli/accounts: use Arc<str> for account name
567270e1
melib: use Vec instead of SmallVec for search results
2bd8d7ba
conf/tests.rs: Rename test functions to follow path convention
Documentation
97242482
meli/docs: add meli.conf.examples to CLI and tests
0f096338
README.md: Update ways to install, add gitlab mirror link
in PR#528
“Integratemeli.conf.examples.5
into CLI and build, also update README with installation instructions”
Continuous Integration
630df308
CI: Add arm64 runners in job matrices
in PR#527
“CI: Add arm64 runners in job matrices”49ecbb56
CI: .gitea/Makefile.lint: check if nightly exists
v0.8.8 - 2024-11-19
WARNING: This release contains a breaking change in the configuration file: a global composing option is not required anymore. Now, composing options are per account.
Added
f3d59ebf
accounts: add force: bool arg to load()
33836a32
melib/error: add WrapResultIntoError helper trait
3216324c
melib/mbox: impl FromStr for MboxFormat
94f345d7
Implement mailbox renaming command
8d45ecc1
melib/error: add related_path field
bf3a4c5d
error: add ErrorChainDisplay struct for better output
6be5fd26
themes: add inheritance, and use themes when initializing grids
0ee7fc4d
Print clickable path links with subcommands
aed7a60f
samples: add ibm-modern theme
in PR#469
“conf-refactor”4bbf446b
utils: add unix file locks module
6fbf569f
search: add Message-ID, and other header search support
26d33ce5
address: add separator argument to display_slice()
32e3be8b
sqlite3: add optional directory field in DatabaseDescription
dbbb1529
Add missing ComponentUnrealize handlers
87d2cec9
Add sealed_test dependency
604ae111
Impl From<&[u8]> for u64-based hash newtypes
8205c7f5
melib: add JsContact module
in PR#479
“view-filters”2af5c8b6
terminal: add QuerySynchronizedOutputSupport WIP
5c4faea5
Add transpose shortcut and tests for text field
e9b87b2e
melib/maildr: add rename_regex config option
8f0e1d66
Add human-readable identifiers in temp draft files
601e3711
Add vCard exports
719e2eb2
listing: add customizable view divider like sidebar's
in PR#485
“listing: add customizable view divider like sidebar’s”ba3ad8ed
listing: always show mail_view_divider
in PR#486
“listing: always show mail_view_divider”46b2c3b1
Add listing.thread_layout config flag
in PR#487
“Add listing.thread_layout config flag”aaea3a5a
nntp: add timeout conf flag
d4636bcc
nntp: interpret IMPLEMENTATION cap as metadata
5f120309
nntp: add select_group_by_name() method
9a9cd03d
nntp: add NntpType::article_message_id() method
7cfcbb7a
Add patch_retrieve module
in PR#489
“Addpatch_retrieve
module”c82341f3
File: try trimming filename if ENAMETOOLONG
23395491
compose/pgp: add encrypt_for_self flag
0b6988b7
gpgme: add always trust flag to encrypt op
be3b3ef8
melib/utils: add fnmatch(3) interface
32f7e50f
Add version migration support
a6c7621c
jscontact: add {created,updated} fields
39592ad0
jmap: implement changing mailbox subscription
ca7eb792
jmap: Implement deleting email
b8e841bb
jmap: implement mailbox deletion
77e7c3df
Add support for signatures
in PR#500
“Add support for signatures”dba5b68b
components: add prelude module
f656aff0
composer: add discard-draft command
789a88b2
shortcuts: add select_motion equivalent to select_entry
cb2dd5de
listing/threaded: impl missing select functionality
in PR#514
“listing/threaded: impl missing filter functionality”c1901c96
melib/email/compose: add Content-Type header for utf8 text plain attachments
0e77bd5b
melib/email/compose/tests: add multipart mixed attachment test
in PR#515
“Fix incorrect multipart/mixed rendering when sending text with attachments under certain circumstances”7b1be139
melib: make mbox backend build by default
7ff1db14
manage-mailboxes: add delete option
in PR#520
“manage-mailboxes: add delete option”
Bug Fixes
6b05279a
Update time dep to fix 1.80.0 breakage
2084ce93
Fix invalid cfg feature combinations for macos
in PR#471
“Fix invalid cfg feature combinations for macos”4707ec9f
text/line_break: fix ReflowState::{No,All} break
86e25bc0
sqlite: fix database reset sequence
4d4e189c
imap: code style fixups
335cca88
listing: fix highlight_self flag off by one error
in PR#477
“listing: fix highlight_self flag off by one error”80915832
mailto: rewrite parsing
in PR#480
“mailto-rewrite”65b32e77
subcommands: Fix wrong help info in imap-shell prompt
d0c81749
conf::data_types: minor style and error msg fixups
7dbee81d
view: fix nested filter jobs never being completed
f78884ce
melib/nntp: fix an ancient FIXME
e0cfe8e4
Fix compilation for 32-bit architectures
in PR#492
“Fix compilation for 32-bit architectures”1b708a99
melib: attempt FromSql from Blob for u64 hash
in PR#506
“melib: attempt FromSql from Blob for u64 hash”6c315580
compose: fix add-attachment-file-picker
c6e9e424
listing/threaded: impl missing filter functionality
e7a164de
Configure some gpgme stuff under gpgme feature
Changes
8e300c46
melib/jmap: call req text(). asap
374ea8ba
accounts: extract tests to tests.rs file
7020cd66
meli: derive PartialEq/Eq for some types
69065859
accounts: split mailbox to enum out of JobRequest
14f2d911
melib/backends: change RefreshEvent field decl order
56b1bf28
meli/accounts: batch process refresh events
6513c188
melib/imap: on sync only update exists/unseen if loaded
a8dad317
melib/imap: renamed cache module to sync
9e9c04a3
Update indexmap dep to 2.3.0
2b3828d8
Update futures dependency to 0.3.30
84812941
melib/jmap: do not serialize server-set fields in Set create
eda6620c
jmap: detect supported Auth schemes on connect
in PR#467
“jmap: detect supported Auth schemes on connect”35f12b15
embedded: prevent double-close of pty fd
in PR#468
“embedded: prevent double-close of pty fd”0bed37b5
melib: use IndexMap in conf fields
f3ad824d
meli: use itoa to format offset indices in listings
1cfb0b15
Update nix dependency to 0.29.0
9c1b4424
jobs: make cancel flag an AtomicBool
f06a9072
jmap: fetch mailbox with receivedAt descending sort
53b0d035
accounts: cancel any previous mailbox fetches
60833ee5
accounts: make mailbox available as soon as possible
28f45805
mail/view: try cancel env fetch on Drop
2bb9b20d
mail/view: do not highlight reply subjects in thread
a4f344b3
Use create_new to avoid overwriting files
d6197e8b
listing: clear count modifier on Home/End
b798ca4a
imap: return cached response in {select,examine}_mailbox()
151fcebe
imap: use BTreeMap for message sequence number store
e48fcc33
imap/protocol_parser: also populate other_headers
1e11c29c
imap: resync cache first when fetching a mailbox
1779ad5d
imap: interpret empty server response as BYE
2d320688
mail/listing: pre-lookup conf values
4e967280
nntp: don't needlessly select group before ARTICLE
in PR#473
“Various”67b88d24
Update polling dependency from "2.8" to "3"
14d74f36
Update smol dependency from "1" to "2"
b950fcea
melib: Use IndexMap in VCard
32acc347
view: show signature verification properly
ac1349b8
command: alias pwd to cwd
7c056e4b
Retry loading mailbox on recoverable error
in PR#481
“Retry loading mailbox on recoverable error”cbafdcf7
terminal: color report WIP
4a26cfa1
logging: disable tracing from output
90974e7c
imap: cache miss if row env hash != row hash
4c44c440
melib: #[ignore] shellexpand tests
dc9e91df
contacts/editor: Use FormButtonAction in form
c0511901
Update debian/meli.{docs,examples} and Cargo exclude
592ce159
mbox: use Uuid::nil() as default envelope from
6eeb4571
nntp: make all fields public
b27bac7f
nntp: use DEFLATE when available by default
128b959f
nntp: prepend Newsgroups header if missing on NntpType::submit()
a69122f8
pgp: use default sign/encrypt keys when no keys are selected
e6fa7093
view/envelope: trim headers values to 3 lines maximum
7f0157a9
compose: make dialogs bigger in height
in PR#490
“pgp: use default sign/encrypt keys when no keys are selected”e032acfa
view: pass filtered body to Composer as reply text
in PR#493
“view: pass filtered body to Composer as reply text”49dcbc5e
terminal: Extend Ask default actions, prompts
cd2e4bf3
melib/utils: vendor urn crate
5915f125
backends: use IsSubscribedFn in method signatures
4f927bbe
nntp: properly return all nntp mailboxes
b930cb49
maildir: do not use rename_regex when only updating flags
27486f29
Accept newer versions of base64 dependency
c3cac77d
Update imap-codec dependency to 2.0.0-alpha.4
05f404ba
jobs: do not use AtomicU64
in PR#505
“jobs: do not use AtomicU64”46916895
melib/gpgme: s/NULL/NUL when referring to NUL byte
81ace71b
terminal/embedded: lift error checking earlier
24114811
manage: parse scroll_{left,right} actions
d2559e42
imap: return all mailboxes, not just subscribed ones
in PR#509
“compose: fix add-attachment-file-picker”320fddad
melib/gpgme: disable layout tests on non-x86_64 hosts
in PR#511
“melib/gpgme: disable layout tests on non-x86_64 hosts”bcbcb012
melib/email/compose: ensure boundary always prefixed with CRLF
d21c686d
melib/attachments: Make AttachmentBuilder::set_raw generic
d5d34579
melib/email/compose/tests: normalise test fn names
e9ec6761
melib: make base64 dep mandatory
30405216
melib: make notmuch feature depend on maildir feature
35fa8e94
melib/imap: gracefully retry without DEFLATE on BYE
in PR#517
“Fix some unrelated bugs I found while debugging build failure on armhf”
Refactoring
20d73292
melib: replace async-stream dep with async-fn-stream
201081b6
meli/command: move tests to tests.rs
84cfa358
conf: remove need for global send_mail setting
7be8912c
Cargo.tomls: make formatting more consistent
e6877e89
melib/jmap: refactor some parser imports
f7ec6d6b
melib/jmap: implement mailbox rename
15d24ab0
meli/jobs: refactor spawn_{blocking,specialized} to spawn()
6ee148c0
Fix 1.80.0 clippy lints
de72bc6a
melib/error.rs: move network stuff to submodule
a214a35c
conf: refactor into submodules
978cefbb
Replace Escape ascii char with hex literal
4b959f5c
Remove pcre feature/dependency
036586a2
Update serde dependency to 1.0.205
191725b5
Fix some borrow checker error/warnings from upcoming 2024 edition
11798be8
Replace Envelope::message_id_display() with Display impls
394236ba
email/address: Refactor References struct
a7c73fc8
gpgme: refactor Rust interface, add tests
41e1fdd5
Fix cargo-derivefmt lints
a44486d9
imap: fix minor clippy lint
0c0f8210
Add a "move to Trash" shortcut
d20a9d0a
Fix new clippy lints
e9a72072
Remove unused/obsolete plugins code and mentions
2ddd28ee
main.rs: always send a JobFinished event to all components
571ae390
pager.rs: don't set self dirty after filter selector
in PR#488
“view: fix nested filter jobs never being completed”6bc0caf4
melib: remove redundant get_path_hash macro
fc3308e4
melib: Add Mail::as_mbox() method
b1f24cbe
view/filters: forward events on child filters
1b201bf6
Remove GlobMatch trait, replace usage with Fnmatch
8af003ab
Rename addressbook stuff to "contacts"
2069b4da
errors: impl From<xdg::BaseDirectoriesError>
7dee32ae
contacts: refactor Card to its own module
6d0d9680
jmap: move EmailObject state to Store
0c590bbc
contact-editor: remove empty space
in PR#495
“Add version migration support”b2200ec3
Remove unused smtp tests
in PR#501
“Apply patches from upstream debian package”ae294945
remove unused module file
3558db51
Move jobs and mailbox management Components together
3a931035
command: move Composer actions under TabActions
441fda56
terminal: move TextPresentation trait to melib
ee897942
lints: deny clippy::or_fun_call
0d088962
lints: Address clippy::too_long_first_doc_paragraph
ecc9b482
Small repo cleanups
Documentation
a83b4176
meli.1: small fixes
72dea6f3
Manpage fixes
a55f65e1
meli.conf.5: Fix wrong default value type in default_header_values
57b45a9c
docs/historical-manpages: add DEP5 copyright file
00236b86
docs: add meli.conf.examples(5) WIP
b88dc441
Comment out svgfeature; no need to ship it
in PR#482
“milestone/0.8.8”b048c95a
BUILD.md: add instructions for Android build
593ed22b
pgp: perform gpgme's sign+encrypt manually
in PR#494
“pgp: perform gpgme’s sign+encrypt manually”50922d97
melib/README.md: update and fix feature table
b912aabc
docs: add examples of file picker usage
in PR#516
“docs: add examples of file picker usage”
Packaging
b55edd47
debian: update meli.docs and add meli.manpages
Miscellaneous Tasks
1232e16a
scripts/make_html_manual_page.py: don't prettify
6d520605
Vendor vobject crate
b33433e4
Don't create backends as Box<dyn MailBackend>, but as Box<Self>
2001b4dd
Make subscribed_mailboxes conf val optional
6cfe4da0
Enable rusqlite feature "modern_sqlite" always
707a129e
Coalesce repeating TUI notification messages
f036f95e
scripts: add generate_release_changelog_entry.sh
Continuous Integration
4684b601
CI: remove env vars from action names
in PR#458
“Minor QoL fixes”7419b465
CI: unpin rust version after updating time dependency
in PR#460
“Updatetime
dep to fix 1.80.0 breakage”77da86eb
CI: Update cargo-derivefmt version
1b3f2732
CI: Move build.yaml actions to Makefile.build
598a70f9
CI: move lints.yaml actions to Makefile.lint
7e800a8f
CI: move manifest_lints.yaml actions to Makefile.manifest-lints
98652110
CI: prepend printf commands with @
ad79bf84
.gitea/Makefile.lint: attempt cargo-fmt with +nightly
v0.8.7 - 2024-07-30
Contributors in alphabetical order:
- Andrei Zisu
- Damian Poddebniak
- Herby Gillot
- Manos Pitsidianakis
Added
9fcb0a04
Add cargo-deny configuration file deny.toml
7e8d19af
Add Envelope::sender_any
9ab404c5
Add pgp signed attachment support
b4579075
Allow XOAUTH2 string passed as string
0ffe7fa5
Add text/plain or text/html arg for text decoding
e107d613
Add prelude module for import cleanup
7200589a
Add ErrorKind::NotFound
8c880dc7
Add {Error,ErrorKind}::is_recoverable()
eb27773b
Add pager.named_filters setting
84d93d65
Add support for ID extension (opt-in)
af6838c2
Add metadata field to MailBackendCapabilities
d1499242
Add From<Infallible> impl
814af0e9
Add --gzipped flag to man subcommand
475860c9
Accept - for stdio in {create,test}_config
86f9b213
Add timeout conf field in validate()
dd525bd9
Use Error::is_recoverable
6e1fea80
Show suggestions on Unauthorized error
38620866
Detect DNS lookup std::io::Error
a330ff96
Retry on DNS failure
2429f17b
On invalid conf value, print what value is expected
6379fbe8
Add support for Undercurl attribute
a13bf13f
Add stub Undercurl support
f5f1e068
Add UIDPLUS support
afccebf3
Add AUTH=PLAIN support
9fb5bc41
Impl AUTH=ANONYMOUS (RFC4505)
Bug Fixes
ff3fe077
Fix new 1.79.0 clippy lints
430cbdfd
Fix python errors
e3c1656e
Fix LOGINDISABLED support
a82d1e1e
Fix RowsState::rename_env stale data
8dc4465c
Fix toml value ser after update of toml dependency
39e903b1
Fix issues with ShellExpandTrait
608301dc
Expand save-to paths asap
100fa8b3
Fix edge case in ShellExpandTrait
a85b3a08
Allow default_mailbox to be any mailbox
0dc24623
Fix one by off error on menu unread count
073aef86
Fix lints/errors when compiling specific feature combos
12695a00
Fix MSRV breakage
27ac3061
Fix tag support not being printed
97af00cd
Respect timeout value from user configuration
824de287
Fix make_address! use
f2e9cac3
Use suggested minimum for maxObjectsInGet
41d07fbc
NewState in EmailImportResponse cannot be null
197132cc
Support fetching with BODY[] for buggy servers
91fdef98
Return NotFound on cache miss
96cc02a0
Do not use ErrorKind::Configuration
e96e9789
Don't discard pre-auth capabilities
122a2a4d
Drain event_queue when mailbox made available
Changes
27c4876f
Prevent log flooding when drawing listing entries
7bdc8f52
Highlight_self also when self is sender
c4f7b77a
Rework attachment rendering logic with filters
1cce8c11
Accept invalid "+" CRLF cont req
c04b593b
Use BODY instead of RFC822
084a222a
Remove subscribed mailboxes list
5b6c1aa8
Don't show all background jobs
f9a3b333
Return NotFound on empty FETCH
15f3a3fb
Retry fetch envelope only if err.is_recoverable()
15eeac51
Enable dns_cache, tcp_keepalive & tcp_nodelay
06437e60
Set not_yet_seen to 0 when inserting existing
0b113cdb
Use MELI_FEATURES in all cargo invocations
Refactoring
7856ea33
Transition more to imap-codec
6f61176a
Remove unecessary mut modifier
3251e7bd
Scrub skip_serializing_if from attributes
ebc1fa3b
Move module to self dir
5110813e
Refactor MaildirOp and watch()
a9122c6e
Draw with x range argument
3ebf5510
Pass entire screen area when drawing overlay
2dc1721a
Move signal handling stuff to submodule
738f7c46
Execute Opt subcommand in Opt::execute()
46df4b57
Remove unused function stub
52c75e92
Use HeaderName constants
6da4e2ec
Replace stringify! in Debug impls with type checked macro
85a55ed6
Add some missing ErrorKinds to errors
8b568f6e
Add if_in_state argument in Set::new()
1e2e3da0
Treat color input "; ;" as "; 0 ;"
7c47f702
Extract test and parser modules to files
d40ee692
Extract tests mod from protocol_parser
1e50911c
Add utils module to protocol_parser
d3a45b34
Make default shared lib name a const
a9e9d952
Change termination_string arg to Option
fd76df78
Use MELI_CONFIG env var in mock tests
8552e499
Replace std::mem::{replace,take}
Documentation
dfc2bb43
Add link to MacPorts page for meli
97aa6a8e
Replace obsolete .Tn macro with .Em
a8e82a30
Add missing entries from JMAP
Miscellaneous Tasks
bbe2cffa
Add rust-bindgen's friends.sh to scripts/
a8956baf
Update to imap-codec v2.0.0-alpha.1
c99633e1
Update futures dependency 0.3.28 -> 0.3.30
fe604bf0
Update "openssl" dependency to 0.10.64
9daf9437
Add test_cli_subcommands.rs
9f783d9a
Pin assert_cmd ver to 2.0.13
b7da1d0f
Check all targets in cargo-msrv verify test
8a74920d
Pin rust version to 1.79.0
v0.8.6 - 2024-06-08
Contributors in alphabetical order:
- euxane
- Manos Pitsidianakis
Added
735b44f2
Add 'highlight_self' theme attribute
e187bb3f
Add tools subcommand with smtp shell for debugging
571bd984
Add proper imap-shell in tools subcommand for debugging
0e1e5b9e
Add support for Alternate Scroll Mode (xterm)
fe08d52a
Add force_text_emoji_presentation option
Bug Fixes
3de4908d
man.7 Fix typo for toggle_expand_headers
a8c7582f
Fix ENVELOPE parsing in untagged responses
c65635ef
Fix compilation for macos
06ec2790
Fix str slice index panic
f2b59a76
Add RequestUrlTemplate type
7eed944a
Fix screwed up rfc8620 module split
74a3539f
Fix degenerate OOB cell access
e8e76970
Fix edge case with strings/linebreaking
81955187
Fix decryption error not shown
Refactoring
a9c3b151
Impl highlight_self in all index styles
57e3e643
Remove excessive right padding in flags
a4ebe3b7
Add ErrorKind::Platform
4bdfb3a3
Disable Nagle's algorithm by default
4148aee5
Refactor smtp,draft errors and email tests
ed5a6b04
Add a symbols range to is_emoji check
fc1122a2
Rename to backend_mailbox.rs
50ecade7
Merge rfc8620/tests.rs to tests.rs
a78f3f26
Move submodules to jmap/
f7838b1d
Split to methods.rs and objects.rs
74f0d12a
Remove obsolete imapshell.rs and smtp_conn.rs
dce3852f
Add capabilities module
7ba7dc70
Imports cleanup in all modules
45bfcf87
Minor refactors
77867aee
Unwrap object module
33999fc6
Re-add Submission to USING
6be25ac3
Don't use client field for get/posts
Documentation
4722d7cc
Also mention server_password_command for jmap
Miscellaneous Tasks
2bfe6086
Hide self from "add contacts" options
9ca34a68
Update MSRV to 1.70.0
50ff16c4
Add LIGHT, DARK constant theme keys
1abce964
Add Envelope::recipient_any method
671d35e2
Update mailin-embedded dependency to 0.8.2
39fbb164
Change info_message_{next,prev} shortcuts to <, >
58d73271
Change new mail text content
f0d1b9cf
Add ayllu mirror link
3bab5324
Improve Debug impl for ContentType etc
e9dd6bec
Comment out content
8dd87c1a
Add ContentType::is_text_plain()
01bc62e0
Add new_plaintext method
v0.8.5 - 2024-05-05
Contributors in alphabetical order:
- Andrei Zisu
- Ethra
- Geert Stappers
- Guillaume Ranquet
- Manos Pitsidianakis
Added
0e3a0c4b
Add safe UI widget area drawing API
0114e695
Add next_search_result and previous_search_result shortcuts
0b468d88
Improve Error messages
5af2e1ee
Add subcommand to print config file location
62aee464
Add subcommand to print log file location
e2cdebe8
Add option to highlight self in mailing list threads
cd448924
Add clear-selection command
3a5306e9
View manpages in pager inside meli
a37d5fc1
Implement a key to command mapping
ce4ba06c
Add a flag set/unset command
148f0433
Implement flag set/unset action in UI
417b24cd
Print invalid command on error
4e941a9e
Add default_mailbox setting
974502c6
Impl Hash for Card
ba7a97e9
Add x axis scroll support
ccf6f9a2
Remember previous set [index_style] preferences
Bug Fixes
bcec745c
Fix command and status bar drawing
62b8465f
Fix ThreadView for new TUI API
28fa66cc
Fix ThreadedListing for new TUI API
2c6f180d
Fix macos compilation
24971d19
Fix compilation with 1.70.0 cargo
34a2d52e
Fix rustdoc::redundant_explicit_links
f63774fa
Fix new clippy lints (1.75)
33408146
Fix feature permutation mis-compilations found with cargo-hack
e3351d27
Fix set unseen updating all mboxes
8185f2cf
Add deny clippy lints and fix them
7861fb04
Fix typos found with typos tool
64e60cb0
Fix select modifier regression
60f26f9d
Fix some old pre-intradoc rustdoc links
1fe36192
Make conf validation recognize AccountSettings extra keys
c332c2f5
Fix new clippy lints (mostly clippy::blocks_in_conditions)
070930e6
Fix auto index build when missing
26928e3a
Fix compilation for macos
3884c0da
Small typographic fixups
b820bd6d
Remove unused imap_trace! and fix comp
a88b8c5e
Debian/changelog warning fix
4ce616ae
Fix lints.yaml rustup install step
264782d2
Various unimportant minor style/doc fixups
475609fe
Make {prev,next}_entry shortcut behavior consistent
a69c674c
Fix new 1.77 clippy lints
48cb9ee2
Fix compilation for macos
8a16cf6d
Fix wrong column index crash
bc1b6531
Fix constant redrawing
29cc1bce
Remove obsolete file melib/src/text/tables.rs.gz
ab041898
Fix new warnings for 1.78.0
46e40856
Fix UIConfirmationDialog highlight printing
3b93fa8e
Don't draw messages above embedded terminal
684fae3e
Copy old content to new buf when resizing
5d915baa
Use Screen::resize instead of CellBuffer::resize
6a66afe9
Make add contact dialog scrollable on overflow
aa5737a0
Prevent drawing pager on embedded mode
07072e2e
Prevent panic if envelope is deleted
8ddd673d
Update all mailboxes
3691cd29
Send EnvelopeUpdate event after self.collection.update_flags()
1fcb1d59
Remove rerun when build.rs changes
933bf157
Ack \ as an atom
a1cbb198
Return Results instead of panicking
b5ddc397
Remove unwrap() from get_events() loop
Changes
61a0c3c2
Do not clear selection after action
9af284b8
Don't hide unread count for mailboxes that are partly truncated
35408b16
Run pager filter asynchronously
e80ea9c9
Changed default manpage install path
742f038f
Move sent_mailbox to settings
86bbf1ea
Refresh NotmuchMailbox counts when setting flags
f0866a39
Make config error more user-friendly
11f3077b
Add more possible values for manpage names
1eca34b3
Set lowest priority to shortcut command UIEvents
484712b0
Check for unrecoverable errors in is_online
8ec6f220
Use ShellExpandTrait::expand in more user-provided paths
Refactoring
0500e451
Add missing EnvelopeRemove event handler
ab14f819
Make write_string_to_grid a CellBuffer method
e0adcdfe
Move rest of methods under CellBuffer
0a74c7d0
Overhaul refactor
3b4acc15
Add tests
7eedd860
Remove address_list! macro
f3e85738
Move build.rs scripts to build directory
77325486
Remove on-push hooks for actions w/ run on-pr
08518e1c
Remove obsolete position.rs module
ddab3179
Move tests to tests module
79520068
Remove doctests, add tests module
4e7b6656
Sqlite caching refactor
b5fd3f57
Make self.view an Option
a3aaec38
Remove unused imports
11a0586d
Remove num_cpus dependency
8f3dee9b
Extract mod manpages to standalone file
89c7972e
Add suggestions to BadValue variant
35a9f33a
Extract common FlagString logic
1b0bdd0a
Split queries and mailbox into submodules
506ae9f5
Add ErrorKind::LinkedLibrary variant
ebe1b3da
Wrap *mut struct fields in NonNull<_>
ca7d7bb9
Use message freeze/thaw for flag changes
4026e254
Add some doc comments
808aa494
Rename text_processing to text for the whole brevity thing
bebb473d
Derive extra traits for enums
ab1b946f
Don't print details if it's an empty string.
f685726e
Add backtrace field to ParsingError
73d5b24e
Merge integration tests in one crate
31401fa3
Add LazyCountSet::contains method
0270db01
From<&[u8]> -> From<B: AsRef<[u9]>>
873a67d0
Replace erroneous use of set_err_kind with set_kind
51e3f163
Use Url instead of String in deserializing
8014af25
Reduce debug prints
f31b5c40
Don't print raw bytes as escaped unicode
41e965b8
Split mbox/job stuff in submodules
ec01a441
Turn some sync connections to unsync
3e914465
Store children process metadata
c53a32de
Re-enables horizontal thread view
36b7c00b
Put doc text type names and co. in backtics
634bd191
Convert log prints to traces
1048ce68
Add hostname() utility function
7645ff1b
Rename write_string{to_grid,}
c2ae19d1
Return Option from current_pos
b61fc3ab
Add HelpView struct for shortcuts widget
3495ffd6
Change UIEvent::Notification structure
23c15261
Abstract envelope view filters away
031d0f7d
Add area.is_empty() checks in cell iterators
e37997d6
Store Link URL value in Link type
b6f769b2
Add field names to row_attr! bool values
0da97dd8
Check row_updates in is_dirty()
6506fffb
Rewrite email flag modifications
23507932
Update cache on set_flags
470cae6b
Update thread cache on email flag modifications
84f3641e
Re-add on-screen message display
54d21f25
Re-add contact list and editor support
458258e1
Re-enable compact listing style
1c1be7d6
Add display_name(), display_slice(), display_name_slice() methods
5dd71ef1
Upgrade JobsView component to new TUI API
b5cc2a09
Upgrade MailboxManager component to new TUI API
ed8a5de2
Re-enable EditAttachments component
77a8d9e2
Make ModSequence publicly accessible
64898a05
Make UIDStore constructor pub
Documentation
e4818803
Various manpage touchups and URL updates
38bca8f8
Mention use_oauth2=true for gmail oauth2
660022ce
Add mailaddr.7 manpage
c5e9e676
Add historical-manpages dir
5afc0785
Update README.md, DEVELOPMENT.md and create BUILD.md
d018f07a
Retouch manual pages
3adba40e
Add macos manpage mirror url
Packaging
cd2ba80f
Update metadata
5f8d7c80
Update deb-dist target command with author metadata
59c99fdc
Update debian package metadata
97eb6363
Add dpkg --print-architecture to deb filename
7412c238
Bump meli version to 0.8.5-rc.3
500fe7f7
Update CHANGELOG.md
5ff4e8ae
Run builds.yaml when any manifest file changes
0a617410
Split test.yaml to test.yaml and lints.yaml
3ba1603a
Add manifest file only lints workflow
1617212c
Add scripts/check_debian_changelog.sh lint
c41f35fd
Use actions/checkout@v3
876616d4
Use actions/upload-artifact@v3
2419f4bd
Add debian package build workflow
10c3b0ea
Bump version to 0.8.5-rc.1
d16afc7d
Bump version to 0.8.5-rc.2
da251455
Bump meli version to 0.8.5-rc.2
Miscellaneous Tasks
c4344529
Add .git-blame-ignore-revs file
f70496f1
Add codemeta.json
b3079715
Disable flakey test_smtp()
8a95febb
Set debuginfo=0 in test/lint builds
81d1c053
Add mandoc_lint.sh
8de8addd
Add cfg for musl builds
70fc2b45
Update nix dependency to 0.27
fd64fe0b
Update codeberg.org URL
30a3205e
Add clippy::doc_markdown
c7aee725
Add clippy::doc_markdown
b8b24282
Update all instances of old domains with meli-email.org
ae96038f
Make unicode-segmentation a hard dependency
255e9376
Update linkify dep from 0.8.1 to 0.10.0
dedee908
Update notify dep from 4.0.17 to 6.1.1
c1c41c91
Update README.md and add Codeberg mirror
71f3ffe7
Update Makefile
63a63253
Use type alias for c_char
c751b2e8
Re-enable conversations listing style
3a709794
Update minimum rust version from 1.65.0 to 1.68.2
f900dbea
Use cargo-derivefmt to sort derives alphabetically
e19f3e57
Cargo-sort all Cargo.toml files
v0.8.4 - 2023-11-22
Fixed
ef30228e
Fix failing test
Miscellaneous Tasks
f81a1e23
Bump version to 0.8.4
v0.8.3 - 2023-11-22
Added
3105a037
Add quit command
Fixed
d3cbf184
Add extra_submission_headers fields in composer form and autocomplete for Newsgroups
7aec5b8e
Fix SMTP example doc
f702dc22
Fix new clippy lints.
688e39a6
Fix clippy lints
Changed
Refactoring
e1b55340
Show error description when TIOCGWINSZ ioctl fails
e95c275d
Remove duplicate end sequence
8a21be21
Replace splice with truncate
2db021fa
Remove regexp from default features
fa33a946
Move managesieve-client binary to tools/
Miscellaneous Tasks
e88957ae
Add extra_submission_headers field in MailBackendCapabilities struct
606f487f
Add IRC channel badge
0e60bdf2
Add "iterator" feature to signal-hook
ac2a5dcd
Add display() method for Address
43bfd413
Update ahash dependency
af241d25
Bump version to 0.8.3
7387b67e
Enable "static" build for C library dependencies by default
bfc78a08
Replace CRLF with LF when editing
111a1160
Bump version to 0.8.3
v0.8.2 - 2023-09-22
Fixed
Changed
22525d40
Go to end when pressing next/page down for the second time
71474436
Revert 22525d40 behavior when sidebar not focused
Miscellaneous Tasks
v0.8.1 - 2023-09-13
Added
6476985c
Add Cross.toml for aarch64-unknown-linux-gnu builds
45d4f611
Add install-man cli subcommand to install manpages on your system
a4f0dbac
Add current working directory tracking to Context
Fixed
49a38a23
Fix invalid Type link references
85af5244
Fix invalid mailto() results when body field exists
c7825c76
Handle dialog Esc in the parent component
dd4d0b79
Fix typo
c43aeb0e
Fix invalid address parse on folded values
7e3e9386
Fix out-of-bounds draw when terminal is small
7e4ed2fa
Fix some out of bounds drawing.
Changed
1b3bebe3
Open earliest unread email instead of first in thread
49c36009
Don't initialize entire thread at once
0a9c89b6
Add toggle_layout shortcut
64ba0459
Init cursor at To: header field
81974311
Show current number command buffer
Refactoring
a337e226
Refactor module structure
b4f2f335
Remove deflate feature; make it a hard dependency
2dc29405
Add feature to use cache instead of downloading unicode data
0132677f
Introduce CommandError with context
3344a8db
Remove unnecessary Clone derives
b673af02
Move to crate root
54862f86
Add hide_sidebar_on_launch option
Miscellaneous Tasks
a615b470
Embed xdg-utils crate
f0075b86
Show descriptive tab names for composer and threads
6d5ebb5b
Split code into submodules, add better error reporting
63abf1e8
Update README.md
bb4d2000
Unify toggle_* parsers
9b9c38f7
Don't flood user with sqlite3 errors if db is corrupted
747e39bf
Add print-used-paths subcommand
39e99770
Use Context::current_dir() when saving files to relative paths
fe0a96f0
Update to 2021 edition
3944e4e6
Update to 2021 edition
7eed8278
Bump version to 0.8.1
v0.8.0 - 2023-08-29
Added
36e29cb6
Add configurable mailbox sort order
81184b18
Add extra_identities configuration flag
b716e438
Add collapse option for mailboxes in sidebar menu
3d92b410
Add cli-docs feature to the default set
104352e5
Add table UI widget
7d9cabb0
Add mailbox manager tab
660bacb9
Add mailto command to open composer with initial values from mailto template
3adf72ae
Add support for utf-7 encoding
d9c07def
Add command to select charset encoding for email
8c671935
Add compose (pre-submission) hooks for validation/linting
96537e48
Add {Timer,Component}Id wrapper types over Uuid
b5f205b7
Add availability to use server_password_command in the nntp backend like in the IMAP backend
a5770c89
Add Woodpecker-CI check pipeline
d4e605c0
Add tagref source code annotations
cf9a04a5
Add metadata to Jobs, and add JobManager tab
bb7e119a
Add gitea CI workflows
1c79786e
Add scripts/make_html_manual_page.py
65e82d88
Add meli/README.md symbolic link
Fixed
ce2068d3
Fix background watch using JSON paths incorrectly
e9aaa7b0
Use *const c_char instead of *const i8 for portability
aa3524dd
Fix tag not being removed in set_flags()
daa900ec
Fix embed terminal in macos
7fca5f01
Fix jmap build with isahc 1.7.2
ed3dbc85
Fix crashes when listing is empty
824f614a
Fix HtmlView not being redrawn when parent is dirty
97ff3e78
Only add toml files to the themes
9cb66ef8
Fix all clippy warnings in meli crate
0c0bee44
Add missing .PHONY targets, fix missing tab indentation
a73885ac
Improve embed terminal
da9c80cc
Enhance SubjectPrefix with strip_prefixes_from_list() method
aa99b0d7
Implement configurable subject prefix stripping when replying
cbe593cf
Add configurable header preample suffix and prefix for editing
2de69d17
Fix erroneous placement of newlnes for wrap_header_preamble suffix
94bd84b4
Fix clippy lints for meli crate
b138d9bc
Fix some clippy lints
c6bdda03
Fix notmuch error shown on any missing backend
16646976
Fix reply subject prefixes stripping original prefix
88a1f0d4
Fix FETCH response parsing bug
59b95f83
Fix docs
282af86e
Fix NAME sections manual pages for correct whatis(1) parsing
bd22f986
Fix clippy lints
5ba7b2cd
Fix clippy lints for meli binary
7924aa8b
Fix compilation
b9030a68
Fix selection not appearing immediately and invalid motions
4f45b109
Fix tag updates not showing up right away
abc56eae
Fix SEEN flag update hiding mail view momentarily
40c6647d
Fix multipart/related with main text/html part not displayed correctly
11140b4a
Fix test output
3a10953f
Update fix-prefix-for-debian.patch
939dc15e
Fix melib tests
39d9c2af
Fix test smtp server logic
34bb532e
Mention w3m dependency
b1a71887
Clippy fixes
1f8ac228
Fix ftplugin location and add example mail.vim file
1eea8bab
Fix test_imap_fetch_response.
daf42fd4
Fix build error with quote 1.0.28
6388bea9
Fix &[u8] index in HeaderMap
c5ecacea
Fix some search criteria in Query type
27a4dcb9
Fix some rustdoc lints
fdc0861a
Fix expanded_hash argument off by one error
0c0a678c
Fix overlay widgets not being reaped after Unrealize event
65179d48
Fix cursor/widget focus scrolling logic
e64923ee
Fix debug_assert condition
5f29faa6
Clippy lint fixes
0b258a1f
Clippy lint fixes
ba7f5dce
Fix display of threaded conversations tree structure
1dc1d868
Fix infinite loop bug
e8e49e74
Fix wrong per message offset
e3dfeaad
Fix compilation error when building without gpgme feature
7998e1e7
Add missing LC libc constants for openbsd target_os
b5657201
Fix doctest compilation errors
c2ed3e28
Fix Source::* view showing only envelope body
d93ee413
Add timestamp_to_string_utc
6086a378
Fix libgpgme segfault error and re-enable gpg
ab418c1d
Refresh documentation, fix encryption/signing
0219dc87
Respect max_objects_in_get when fetching email
6280bc75
Fix blob download URL formatting
2df73547
Fix overflow substracts
8e698cab
Fix unreachable-pub and disjoint-capture lint errors
40d4ecef
Accept invalid (non-ascii) address comment text
4e654d2d
Limit LIST ACTIVE command length to 512 octets
84081f4e
Minor style fix
97d36868
Use Happy Eyeballs algorithm Ꙭ
96f0b3e6
Fix shortcut section order
64982b4c
Fix page{up,down} event bubbling up
8551e1ba
Fix new 1.72 default clippy lints
Changed
8563bccd
Don't cache CellBuffer, only row info
0f6f3e30
Add IMAP config in config parse test
ce269c64
Don't fail on server_password_command
9dc4d405
Add focus_{left,right} shortcuts to switch focus
4b96bd59
Add ColorCache constructor to deduplicate code
c06c3f58
Draw gap between list and mail view
c9d26bb4
Add configurable custom hooks with shell commands
02e86d1f
Check for subject overflow on draw
8cab9d9d
Add option to hide consecutive identical From values inside a thread
363f4930
Add {previous,next}_entry shortcuts to quickly open other mail entries
342df091
Don't set all thread to seen when opening a thread entry
74e15316
Open message/rfc822 attachments in subview instead of new tab
369c1dbd
Show open command in status bar
519257b0
Add relative_menu_indices setting for menubar
8abc9358
Add newline after Version: 1 header
561ba9c8
Add relative_list_indices setting for thread listing
52874f9a
Cancel previous jobs on MailView drop/update
9037f084
Replace hardcoded Key::{Home,End} values with shortcut values
31aa9ad2
Autogen mbox filename when exporting mail to directories
Refactoring
330a2b20
Flush stdout in Ask() after printing
340d6451
Add config setting for sidebar ratio
d0de0485
Add {in,de}crease_sidebar shortcuts
f5dc25ae
Check that all conf flags are recognized in validation
d3e62e3d
Use conf shortcuts for scroll {up, down}
23c23556
Fill and align shortcut table columns
5823178c
Add test that looks in source code for invalid theme key references
9205f3b8
Handle a per account mail order parameter
d921b3c3
Use mail sorting parameters from config
f4e0970d
Add ability to kill embed process
bde87af3
Refactor filter() method in Listing trait
a42a6ca8
Show notifications in terminal if no alternative
eb5949dc
Switch summary<->details identifiers
8c7b001a
Add thread_subject_pack command to pack different inner thread subjects in entry title
388d4e35
Add in-progress messages while connecting in IMAP
787c64c2
Remove expect()s from create_config_file()
b87d54ea
Impl Into<BTreeSet<EnvelopeHash>> for EnvelopeHashBatch
e450ad0f
Remove unused struct
c54a31f7
Break line for error messages
7935e49a
Check properly if mailbox request is an error
117d7fbe
Make private fields public
ffb12c6d
Make all public struct fields public
46a038dc
Remove interactive messages when #[cfg(test)]
803d3414
Implement some rfc5804 commands
b776409d
Add thread, env hash index fields
cc439b23
Add RowsState struct
db227dea
Add error messages if mandoc,man binaries are missing
ee9d458b
Implement mailbox {un,}sub actions
7af89359
Replace use of Self::DESCRIPTION with Shortcuts struct consts
eaecc5ea
Remove hardcoded major .so version for non linux/macos target_os
f63ce388
Move ManageMailboxes to Tab Actions
3c847ad2
Add beginning of sieve parser
5443b7e8
Remove literal_map() parse combinator
12cb717b
Add server_password_command to jmap
428f752b
Remove obsolete crate::components::mail::get_display_name()
91557c2c
Prevent list blank when refreshing account
d332e457
Add proper Display impl for HeaderName
f537c249
Move text field to its own module
d33f9d54
Remove unreachable!() in Key::serialize
330887c4
Introduce imap-codec.
4da53669
Remove bincode dep, use serde_json for sqlite3 values
155fb41b
Remove unused Component::set_id method
575509f1
Move mail view to listing parent component
6858ee1f
Move subcommand handling to its own module
b0e867eb
Move src to meli/src
48a10f72
Remove unused BackendOp::fetch_flags() method
073d43b9
Move data files to data subdir
1e084c1d
Move backends out of the backends module
a5446975
Move braille and screen to their own module files
005bf388
Move components/utilities -> utilities
64ab65dd
Move components/contacts -> contacts
7c9a4b4b
Move components/mail -> mail
df638cce
Remove stale failing doc code example
da8e8104
Remove leftover debug prints
a1e70061
Move Sort{Order,Field} to utils mod
66c21ab1
Move StandardHeader to its own module
946309c6
Do some small parser refactoring
b95f7783
Move JmapSession to its own module
Documentation
a866b294
Update valid shortcut entries from src/conf/shortcuts.rs
f76f4ea3
Add meli.7, a general tutorial document
5fa4b626
Add more screenshots
7c711542
Complete guide document
30cc5d3d
Add edit-config in manpages
24103f33
Add external-tools.md document
b6c93e49
Add use_tls option in IMAP connection settings
34a54d3c
Add some TODO
(#222)s.
Packaging
671ce9f6
Add missing build dependencies
Miscellaneous Tasks
25805229
Log vcard parsing failures
5f003a31
Parse vCards with just LF instead of CRLF line endings
d8e9a005
Add quoted REFERENCES field in parsing of responses
81d12656
Escape IMAP passwords properly
0d8bedd2
Make is_online() await for connection
d4b690d5
Send password as byte literal on LOGIN
2eb22a29
Stop hardcoding certain component colors
2c23ca34
Update most Cargo dependencies
721891c2
Update nom dependency
4fdc90b3
Use open instead of xdg-open in macos
9558b2ae
Parse Cp1253 as windows1253 encoding
6a843d49
Export list_mail_in_maildir_fs() function
d6355a30
Impl Debug for ParsingError
dc5afa13
Use osascript/applescript for notifications on macos
e6d6e1f5
Don't unwrap if pseudoterminal creation fails
ca84906d
Escape all quotes in applescript on macos
4a79b202
Update dependency versions
e29041f7
Rename src/bin.rs to src/main.rs
7650805c
Bring stripped binary size down to 7MiB
ca488968
Add strip option to profile.release
10497952
Wrap stdout in BufWriter
29042aba
Add mbox date format parse
480000eb
Show error if account directory does not contain ".notmuch" subdirectory
a484b397
Show informative error messages if libloading fails
4a20fc42
Update CHANGELOG.md
a72c96a2
Add 8BITMIME support to smtp client
3c0f5d82
Add BINARYMIME support to smtp client
36883692
Add smtp test
9cbbf71e
Add DecodeOptions struct for decoding
0df46a63
Show error if sqlite3 search backend is set but doesn't exist
a7a50d30
Box<_> some large fields in biggest types
d8d43a16
Add html_open config setting
0ed10711
Add new_mail_script option
c3fdafde
Documentation touchups
347be543
Add NetworkErrorKind enum
0c08cb73
Mark mailboxes as subscribed on personal accounts
129573e0
Rename root_path to root_mailbox
7e09b180
Replace _Ref deref unwraps with expect()
55ed9624
Use server_url instead of server_hostname + server_port in config
0ef4dde9
Wrap serde_json deserialize errors in human readable errors
dd0baa82
Spawn user-given command strings with sh -c ".."
3697b7d9
Don't use LC_ category in place of LC_ masks in libc calls
6d20abdd
Add #[allow(deref_nullptr)] in bindgen tests
17b42b1a
Add json deserialization tests
64346dd3
Add map_res, quoted_slice, is_a, alt, take, take_literal
56fc43bc
Add As{Ref,Mut} impls for RwRef{,Mut}
63179841
Add --bin flag to meli cargo build target
ded9adde
More descriptive "Unimplemented" messages
2224a710
Reset imap cache on init error
252d2bdf
Replace hardcoded /bin/false with 'false'
2427b097
Make tag_default background lighter on light theme
7382e301
Convert EnvelopeHash from typedef to wrapper struct
259aeb00
Convert {Account,Mailbox}Hash from typedef to wrapper struct
5634f955
Rename MeliError struct to Error
7606317f
Add support for virtual mailbox hierarchy
2878bbb8
Add parser for mutt alias file
de2f46fe
Rustfmt changes
f9ac9b60
Temporarily disable libgpgme functions because of a bug
256a3e25
Update minimum supported rust version
fbc1007f
Deserialize null to empty vec for messageId
d7ec97f0
Small rustfmt change
2447a2cb
Avoid relying on hardcoded hash values
d679a744
Implement Bearer token authentication
47e6d5d9
Add edit-config CLI subcommand that opens config files on EDITOR
3a02b6fb
Mention how to override w3m with html_filter
85d4316a
Replace old logging module with the log create
1f1ea307
On draw() set dirty on return
77020e0c
Update CHANGELOG.md
682ea554
Add .idea (CLion) to .gitignore.
f63f6445
Improve error message when m4 executable is missing.
cc27639f
Use Envelope attachments when editing and don't add already existing headers
30866f75
Bypass rustfmt bug.
235fceaf
Add standard heeder constants in email::headers
aebff3d3
Implement mailto RFC properly
954329d8
Set file extensions to temp files, use open in macos
58889bca
Add show_extra_headers option
23d95973
Add search.rs module
6bf1756d
Implement more search criteria in Query type
299c8e0f
Restructure pub use melib::* imports
f8623d4b
Implement more ResponseCode cases
b92a80a2
Resync even if UIDVALIDITY is missing from cache
bf615e7d
Check for case when envelope has its own message id in References and In-Reply-To
e0257c9d
Run cargo-sort
d7e6b40b
Auto re-index sqlite3 database if it's missing
cd85d833
Replace timestamp with Date value in message/rfc822 Display
579372b4
Improve readability of Envelope.
6c6d9f4b
Improve ordering of flag_impl!s.
8f14a237
Put imap-codec logic under the imap_backend feature
fd0faade
Add connection instance id string for debugging in logs
5c9b3fb0
Impl Component for Box<dyn Component>
45bac6eb
Tidy up use of debug!
5699baec
Add utils::{futures, random}
b05d9299
Impl exponential backoff when retrying connection
f5cfbd32
On set_flags, update {un,}seen sets in all mailboxes
f0d88005
Change message/rfc822 Display repr
f98e36ce
Replace old-style /*! module doc comments with //!
1bcc0bbe
Add mbox parsing test
619fbef1
Recursively calculate update_show_subject()
957abf4e
Update cargo dependencies
9d51b6bd
Update imap-codec.
7c33f899
Use published imap-codec 0.10.0.
3803d788
If auth is false checks if config has password entry
866166eb
Don't print parsing error for empty bytes
5b5869a2
Re-enable print to stderr ifdef MELI_DEBUG_STDERR
13fe64a0
Cache pgp signature verification results
5ceddf41
Update CHANGELOG.md
4e55fbc9
Add SEEN flag to all envs, since NNTP has no flags
e9cd800f
Add support for storing read status locally
53cba4be
Update README.md relative file paths
c4c245ee
Respect danger_accept_invalid_certs setting
29b43e2c
Replace mktime with timegm
4874e30f
Add smtp-trace feature
51e9fbe8
Add account_name identifier to sqlite3 index database name
129f1091
Rename imap_backend feature to imap
fe027fa3
Rename maildir_backend feature to maildir
fe7dcc50
Rename notmuch_backend feature to notmuch
e9f09a15
Rename mbox_backend feature to mbox
7db930ca
Rename jmap_backend feature to jmap
89c90f22
Add nntp feature
b65934fa
Add nntp-trace feature
8ecdb6df
Add imap-trace feature
9216e7bc
Add opt id string for tracing
ae25ffba
Don't do plain EHLO before starting Tls connection
8cb2a515
Use localhost in lieu of 127.0.0.1 for CI
0ee1b6e0
Start background watch job in init
448e0635
Log error when command length exceeds 512 octets
bf543855
Add PartialEq<str> for MessageID
7c7f6e19
Don't increase Thread length for duplicates
5c2b0471
Normalize std::fmt::* imports
0f60009e
Add RUSTFLAGS with -D warnings
6578a566
Update cargo install directions
4f6081b6
Update to imap-codec 1.0.0-beta.
dc2b0044
Run rustfmt and cargo-sort
b3858de2
Impl From<io::ErrorKind> for ErrorKind
f93adb68
Replace change_color uses with change_theme
f193bdf6
Add column headers and sorting
095d24f9
Add PULL_REQUEST_TEMPLATE.md
ab57e942
Add delete_contact shortcut
3963103d
Prevent duplicate contact creation
f162239f
Change on: conditions for test.yaml
974b3a53
Update bitflags, rusqlite dependencies
4d22b669
Update dependencies
ffba203a
Add support for Home and End key navigation
3433f7c4
Update PULL_REQUEST_TEMPLATE.md
f7a4741b
Add jmap-trace feature
c875dda4
Add last_method_response field to Connection
37a787e6
Use IndexMap instead of HashMap
6ebdc7f9
Add Id<_>::empty() contructor
4f9b9773
Rename EmailImport to EmailImportObject
11432ba2
Make null fields into Option<_>s
d9467d5f
Save all core capabilities to session store
31982931
Use Argument<OBJ> (value or resultreference) where appropriate
29fd8522
Implement Backend::create_mailbox()
5d8f07c8
Rename some objects better
38bc1369
Add an Identity type.
59513b26
Implement Backend::submit(), server-side submission
5459a84f
Update to imap-codec 1.0.0 (w/o -beta)
290cfb86
Add a highlighted_selected theme key
46636d87
Bump version to 0.8.0
Continuous Integration
1d0405ed
Add env vars
6e27edcb
Use cargo-nextest
67d2da0f
Disable smtp::test::test_smtp in test.yaml
alpha-0.7.2 - 2021-10-15
Added
- Add forward mail option
- Add
url_launcher
config setting - Add
add_addresses_to_contacts
command - Add
show_date_in_my_timezone
pager config flag - docs: add pager filter documentation
- mail/view: respect per-folder/account pager filter override
- pager: add
filter
command,Esc
to clear filter - Show compile time features in with command argument
Fixed
- melib/email/address: quote
display_name
if it contains “,” - melib/smtp: fix
Cc
andBcc
ignored when sending mail - melib/email/address: quote
display_name
if it contains “.”
alpha-0.7.1 - 2021-09-08
Added
- Change all
Down/Up
shortcuts toj/k
- add
GB18030
charset - melib/nntp: implement refresh
- melib/nntp: update total/new counters on new articles
- melib/nntp: implement NNTP posting
- configs: throw error on extra unused conf flags in some imap/nntp
- configs: throw error on missing
composing
section with explanation
Fixed
- Fix compilation for netbsd-9.2
- conf: fixed some boolean flag values requiring to be string e.g. “true”
alpha-0.7.0 - 2021-09-03
Added
Notable changes:
- add import command to import email from files into accounts
- add
add-attachment-file-picker
command andfile_picker_command
setting to use external commands to choose files when composing new mail - ask confirm for delete
- add
export-mbox
command - add
export-mail
command - add TLS support with nntp
- add JMAP watch with polling
- add
reload-config
command - add
import-mail
command - imap: implement gmail
XOAUTH2
authentication method - imap: implement
OAUTH2
authentication - compose: treat inline
message/rfc822
as attachments - add gpg support via
libgpgme
Fixed
- Loading notmuch library on macos
- Limit dbus dependency to
target_os = "linux"
- IMAP, notmuch, mbox backends: various performance fixes
alpha-0.6.2 - 2020-09-24
Added
- Add customizable mailbox tree in sidebar
- Make dbus dependency opt-out (feature is
dbus-notifications
) - Implemented JMAP async, search, tagging, syncing
- Preserve account order from configuration file
- Implemented IMAP
CONDSTORE
support for IMAP cache - Add timeout setting for IMAP
- Implement TCP keepalive for IMAP
- Rewrote email address parsers.
- Implement
copy_messages
for maildir - Implement selection with motions
Fixed
- Fixed various problems with IMAP cache
- Fixed various problems with IMAP message counts
- Fixed various problems with IMAP connection hanging
- Fixed IMAP not reconnecting on dropped IDLE connections
- Fixed various problems with notmuch backend
alpha-0.6.1 - 2020-08-02
Added
- added experimental NNTP backend
- added server extension support and use in account status tab
Fixed
- imap: fixed IDLE connection getting stuck when using DEFLATE
alpha-0.6.0 - 2020-07-29
Added
-
Add select command to select threads that match search query
-
Add support for mass copying/deleting/flagging/moving of messages
-
IMAP: add support for
COMPRESS=DEFLATE
and others Extension use can be configured with individual flags such asuse_deflate
-
Rename
EXECUTE
mode toCOMMAND
-
add async IMAP backend
-
add in-app SMTP support
-
ui: Show decoded source by default when viewing an Envelope’s source
-
ui: Add search in pagers
-
Add managesieve REPL binary for managesieve script management
-
imap:
add server_password_command
-
configuration: Add per-folder and per-account configuration overrides. e.g.
accounts."imap.domain.tld".mailboxes."INBOX".index_style = "plain"
The selection is done for a specific field as follows:
if per-folder override is defined, return per-folder override else if per-account override is defined, return per-account override else return global setting field value. -
themes: Add Italics, Blink, Dim and Hidden text attributes
-
ui: recognize readline shortcuts in Execute mode
-
ui: hopefully smarter auto-completion in Execute mode
-
demo NNTP python plugin
-
ui: add
auto_choose_multipart_alternative
: Choosetext/html
alternative iftext/plain
is empty inmultipart/alternative
attachments. -
ui: custom date format strings
-
ui: manual refresh for mailbox view
-
ui: create mailbox command
-
fs autocomplete
-
ui: add support for
NO_COLOR
-
enhanced, portable Makefile
-
added Debian packaging
-
added
default_header_values
: default header values used when creating a new draft -
ui: switch between sidebar and mailbox view with
{left,right}
keys for more intuitive navigation -
ui: add optional filter query for each mailbox view to view only the matching subset of messages (for example, you can hide all seen envelopes with
filter = "not flags:seen"
Changed
- Replace any use of ‘folder’ with ‘mailbox’ in user configuration
- Load libnotmuch dynamically
- Launch all user shell commands with
sh -c "..."
Fixed
- notmuch: add support for multiple accounts on same notmuch db
alpha-0.5.1 - 2020-02-09
Added
- Added in-terminal floating notifications with history
- Added mailbox creation/deletion commands in IMAP accounts
- Added
cli-docs
compile time feature: Optionally build manpages to text withmandoc
and print them from the command line. - Added new theme keys