This release fixes compilation under macos which was broken with theprevious release, v0.8.11.Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
All notable changes to this project will be documented in this file.
The format is based onKeep a Changelog,and this project adheres toSemantic Versioning.
This release fixes compilation under macos which was broken with the previous release,v0.8.11.
a2bc4420
Fix compilation under macos
This is mostly a fixups release.
Contributors in alphabetical order:
Highlights:
2870624d
contacts: add notmuch address book support
in PR#551
"contacts: add notmuch address book support"
The newnotmuch_address_book_query
account setting defines a query passed tonotmuch address
command to import contacts into meli.
Contacts are parsed and imported read-only.
Example query to import all contacts in the past 6 Months:
notmuch_address_book_query="--output=recipients --deduplicate=address date:6M.."
IMAP connections now use connection pools to prevent an on-going operation blocking other operations.This is because IMAP connections are stateful and we cannot re-use a single TCP connection for parallel operations.Theuse_connection_pool
account setting can be used to disable this behavior.
Add setting for UI notifications (as opposed to system notifications).
These are the notifications that appear as a floating dialog on the UI.
The newnotifications.ui_notifications
setting has three possiblevalues:
show
(default)hide
system
(show them as system notifications)Fixed invalid terminal behavior by turning line wraparound mode off.
Replying to self now sets e-mail receiver to previous recipients instead of self.
IMAP now supports overriding server subscriptions in configuration.
Composer now shows attachments after headers, making them more visible.
mbox
parsing is now more rigorous by not allowing mixed format behaviors and requiring a given format to parse.
Remote account watching has been refactored to be more fault-tolerant and hiding errors from user if retrying is successful.
2870624d
contacts: add notmuch address book support
in PR#551
"contacts: add notmuch address book support"bb4fc023
melib/imap: add ConnectionMutex struct
632a1db1
melib/imap: add conn pool to ConnectionMutex
919fd00c
melib/error: hardcode native-tls error check
5bcd62cd
widgets: don't add padding by skipping cols in FormWidget
9417f3d0
melib/error: add TLSConnectionFailed kind variant
in PR#578
"Misc fixes"c5c56b59
notifications: add DisplayMessageBox::arm()
3e5fe792
conf: add notifications.ui_notifications setting
6c1194a5
notifications: add DisplayMessageBox::deactivate()
4a03c667
notifications: add DisplayMessageBox::show_{prev,next}()
9f2e4384
notifications: make update_xbiff() a method
in PR#581
"Addnotifications.ui_notifications
setting to hide UI notifications or show them as system notifications"009c5379
melib/imap: add FIXME comment about imap-codec
26cb414d
melib/jmap: add serde(default) to Identity::id
f9fa10f8
melib/jmap: s/Id::new_uuid_v4()/Id::new_random()
48ae7687
melib/jmap: add serde(default) to Identity::may_delete
99c0f5a3
melib/jmap: Add State::new_random() method
7a1ff0d2
melib/notmuch: add FFI config types bindings
335f0229
melib/notmuch: add notmuch_database_reopen()
e8420862
melib/notmuch: add Message::msg_id_str() method
c2b648af
melib/notmuch: add Message::find_message_by_path()
5846c867
melib/notmuch: impl From<NotmuchError> for Error
648cf6ab
melib/imap: add use_connection_pool conf option
df19008d
melib/jmap: add session object to backend metadata
3565f682
melib: convert MailBackend::watch into a stream
e2ddbb7b
melib/maildir: switch backend.rs and mod.rs
18812159
melib/maildir: enhance filesystem/IO error metadata
bc99dfa9
melib/maildir: add ErrorKind::NotImplemented to unimplemented errors
6d06da21
melib/maildir: s/MaildirPathTrait/MaildirFilePathExt/
55d9bb8d
melib/maildir: Add MaildirMailboxPathExt::validate_fs_subdirs()
6c8bf721
melib/smtp: add ReplyCode::value() method
14f64167
listing: don't forward events to self.component twice
a5f9b3ec
listing/offline: don't accumulate repeated messages
28f3f5e2
melib/error: add ErrorKind::is_disconnected()
f5afcf77
melib/imap: add support for LITERAL- extension
in PR#604
"melib/imap: add support for LITERAL- extension"07603558
composer: add custom_compose_hooks only once
4a1dff4b
show error summary if not empty
in PR#586
"show error summary"09467034
themes: impl BitOr<Attr> for ThemeAttribute
c11bda5c
Break metadata json lines in account status
e6d115fa
melib/logging: manually redact http auth info
in PR#570
"melib/logging: manually redact http auth info"778c4baa
mail/listing: restore selection when refreshing same mailbox
in PR#571
"mail/listing: restore selection when refreshing same mailbox"30c599ab
Makefile: fix some minor logic/UX issues
in PR#559
"Add some doc comments inmeli
crate"1b300805
pager: fix one-by-off error when drawing scrollbar
5a02e81a
melib/imap: fix ImapLineIterator splitting literals
d2b2253a
melib/mbox: require MboxFormat for parsing
5ffeb7c1
tools: fix mboxparse binary compilation
e12412f9
melib/email: fix base36 conversion
db93e324
melib: fixup TryFrom<&[EnvelopeHash]> for EnvelopeHashBatch impl
c3a93f91
melib/jmap: Fix SetResponse struct definition
8b374cac
melib/maildir: split create_mailbox_sync()
6e09a7ef
melib/datetime: parse RFC2822 date without seconds
in PR#599
"melib/email/parser: elaborate Address parsing errors"007628e3
melib/tests/jmap: fix errata from RFC
in PR#602
"misc-fixes"7ee89450
melib/nntp: fix error message typos
1164f61d
Fix clippy::sliced_string_as_bytes
752d3908
melib: fix encoded-word encode and add tests
in PR#612
"melib: fix encoded-word encode and add tests"0cc52727
melib/mailto: fix parsing header values with '?'
in PR#613
"melib/mailto: fix parsing header values with '?'"8307a5f0
melib/tests: feature gate test_maildir_config
0e1d9f00
melib/imap: add FETCH items variants in RequiredResponses
in PR#580
"IMAP fixes"e8e52bd1
melib/imap: only process parsed untagged responses
d27e5d32
melib/jmap: don't abort refresh if Mailbox has no email_query_state
e0bac37a
accounts: don't return after exec refresh_command
in PR#597
"conf/tests: flush config file to disk"4b5ad739
terminal: disable wraparound mode
in PR#616
"terminal: disable wraparound mode"94d04023
compose: s/attachments/attachment when # is 1
1207217c
compose: s/Option<AccountHash>/AccountHash in EditAttachments
aa363be6
utilities: respect scroll_{left,right} shortcuts in Form/Button widgets
99f6b17b
melib/imap: retry IDLE with exponential backoff
629e6938
compose: don't pad EditAttachments area
269c2cdb
terminal/screen: Screen::resize*() optimization
in PR#568
"mail/status.rs: restore AccountStatus scrolling"6e0502f0
melib/imap: impl Default for ImapProtocol
1cf11d11
melib/mbox: update totals when fetching
in PR#591
"melib/mbox: update totals when fetching"73102337
melib/mbox: check for CRLF when parsing
94f4bbd2
melib/gpgme: allow unused_unsafe on std::env stuff
930296d2
melib/jmap: derive Clone for MailboxObject
fee3d758
melib/notmuch: split symbol name in call!() macro
d8f4bb7c
melib/imap: make keepalive at least 30 minutes
in PR#592
"misc-fixes"3c26c9bd
melib: impl From for BackendEvent
cb72e5cd
melib: impl TryFrom<Vec> for BackendEvent
9e405c5a
melib/maildir: validate fs path in list_mail_in_maildir_fs()
f94adfdd
melib/maildir: split MaildirPathTrait
177e4928
melib/maildir: log error instead of debug_assert!
46e405f3
melib/maildir: use async channel in watch()
94a458fa
melib/maildir: return path in save_to_mailbox()
9f83c0a8
melib/maildir: calc MailboxHash from cache in watch()
3887d999
melib/jmap: impl Deserialize for Filter, Query
3ccf499f
melib/jmap: impl Serialize for EmailObject
6bf0844c
melib/email/parser: elaborate Address parsing errors
e89ee209
melib/nntp: increase tcp keepalive to 30 mins
a67299eb
melib/nntp: set appropriate ErrorKind to errors
5c9651c6
melib/nntp: convert block comments to line
592e06b1
melib/nntp: retry fetch if disconnected
cdce705b
melib/nntp: try connect first before attempting operations
e2e793d2
composer: allow empty default header values
1a3f6179
melib/nntp: run rustfmt
55e8b41e
composer: use rfc5536 format for User-Agent value
08e53da1
composer: replying to self should reply to previous recipients
cb47b212
conf: impl DotAddressable for ComposingSettings
in PR#605
"Misc composer stuff"9eba4c1f
melib/imap: BEGIN IMMEDIATE transactions
2663c076
melib/imap: support server subscriptions override
fd19cabd
contacts/editor: use AccountHash instead of index
e11ab834
view/envelope: use Context's cmd_buf
in PR#615
"misc"6cd5bacd
melib/text: allow empty generated unicode tables
22985e1b
melib/jmap: ser/de SetError manually
in PR#594
"JMAP fixups"ed1aca57
melib/jmap: fix Get ser/de
c9d1ae21
melib/maildir: remove stream module
83892e9d
Fix clippy::manual_ok_err
a94ebd11
accounts: check if online on watch errors
37edaea6
compose: rewrite to draw attachments after headers
6d998f54
melib/backends: remove obsolete ReadOnlyOp
ef3313ce
melib/contacts: fix formatting of a log::warn line
2f0afd14
melib/email/headers: add #[inline] to small methods
2a46c970
melib/backend: remove BackendOp
f3470919
melib/imap/connection.rs: remove unnecessary let
d06f1882
compose: rename Cursor to Focus
5468835b
melib/email: move imap stuff to melib::imap module
5e3c1a2f
main.rs: use unbounded channel for thread events
in PR#565
"Misc"483edecf
mail/status.rs: restore AccountStatus scrolling
fe362a14
melib/imap: fix mailbox update logic on expunge
in PR#567
"melib/imap: fix mailbox update logic on expunge"f3caea36
mail/listing: don't move cursor to top when refreshing
in PR#572
"mail/listing: don't move cursor to top when refreshing"fe522f7a
Fix new clippy complexity lint warning
55062fd4
mail/listing.rs: forward unhandled events
e93704c8
mail/listing.rs: fix y offset calc in menu cursor with collapsed
9d3c2f81
Rename ForkType to ForkedProcess
21e19403
types: replace ForkedProcess::Finished with UIEvent
a2b7f1cc
state.rs: rewrite State::try_wait_on_child()
c9c125ef
state.rs: refactor kill_child() into method
0d780354
state.rs: refactor try_wait_on_child() into method
c1e46c01
state.rs: use ForkedProcess::{kill, try_wait} on State::drop
ea74055d
main.rs: try wait on all forked process on SIGCHLD
in PR#579
"Refactor handling of forked processes"26a86961
melib/imap: remove unnecessary RequiredResponses consts
b46e1311
melib/imap: rename {EXAMINE,SELECT}_REQUIRED
3dbeba1c
melib/imap: rename NO_REQUIRED to NO
7272f8fe
tools: fix lints and compilation
in PR#587
"melib/mbox: check for CRLF when parsing"ee051a24
melib/imap: allow lint on init_cache() arg
4cdc1dbf
melib: move base36 to utils mod
9d40e136
melib/jmap: s/IdentityObject/Identity
4c723d5c
melib/notmuch: remove Clone derive from Message
2a7a8003
melib/jmap: process destroyed ids in Email/changes
in PR#595
"JMAP fixups"25b582c9
melib/maildir: Remove root_mailbox from MaildirWatch
0cf72830
melib/maildir: fix save_to_mailbox() error msg
d7b3f57c
melib/notmuch: rewrite watching logic
dae9ebd8
compose: remove extra dot from dialog message
0a3791cc
melib/email/parser: change ParsingError display
9f53de4f
composer: remove extra_identity_addresses from To:
a23b3dbc
compose.rs: fix compilation error without gpgme
c9d46617
Fix clippy::len_zero
324dd969
Fix clippy::literal_string_with_formatting_args
63230603
Fix clippy::double_ended_iterator_last
4e99a6c1
Fix clippy::needless_option_take
in PR#611
"compose.rs: fix compilation error without gpgme and clippy lint fixes"ccb5505b
melib/contacts: remove Contacts::{created,last_edited}
f3348f33
accounts.rs: Remove std module imports
83b0e5af
mail/compose.rs: remove duplicate field init
6acdf521
listing: move cmd_buf logic to Context
0710822c
state: make Context children field take ForkedProcess
f4289f3f
scripts/rfc_to_rs_mdoc.py: reformat
4021ab19
version_migrations: use array in const asserts
in PR#614
"Misc"13551a02
melib/accounts: add #[inline] attribute to methods
2f265404
melib/collections: add #[inline] to small methods
0cd0864f
docs: add more doc comments to version_migrations mod
1f647155
docs: add more doc comments to conf mod
c34465ba
docs: add more doc comments to utilities::widgets mod
bd461fa8
docs: fix example in custom_compose_hooks
in PR#561
"docs: fix example incustom_compose_hooks
"ce40bc5c
docs/meli.conf.5: describe what "notifications" entail
d37df5a5
docs/meli.conf.5: add missing "Optional" quantifier
c3193324
docs/meli.1: add manage-jobs command
a56b024a
docs/meli.1: add manage-mailboxes command
767ee791
DEVELOPMENT.md: explain how to run CI checks locally
c0a1d154
DEVELOPMENT.md: document DCO requirement
in PR#583
"Minor doc additions"875aee85
README.md: update install instructions
0d5dc707
README.md: minor touch-ups
in PR#590
"README.md: update install instructions"8fc885d0
README.md: mention matrix channel
in PR#603
"misc-fixes-minor"91677f50
melib/email/headers: add documentation(s)
816f3e41
notifications: add missing DisplayMessageBox docs
6ccbd574
notifications: add missing NotificationCommand docs
81429941
melib/notmuch: add doc comments to Message methods
407e8e6b
melib/smtp: add some rustdoc comments
1fa33cc3
tests/test_cli_subcommands: purge subprocess envs
in PR#574
"tests/test_cli_subcommands
: purge subprocess envs"1d1cf5fe
melib: add test_imap_watch()
f632adaa
melib: add test_jmap_refresh()
67d082b5
melib: add test_maildir_watch()
84f31d73
melib: add test_notmuch_watch()
9679c80f
melib: add test_notmuch_refresh()
in PR#582
"ConvertBackend::watch
function to returnStream
"a69f4c4b
melib/smtp: add an SMTP transaction test
e466d026
conf/tests: speedup test_conf_theme_key_values()
in PR#589
"conf/tests: speeduptest_conf_theme_key_values
()"e4957f8f
conf.rs: do not run migrations in unit tests
dc5bff8d
conf/tests: flush config file to disk
220bdb62
tools: run cargo-update
3c92dd6f
CI: Trigger build/lint workflows when */tests/* change
0d64e019
ci: add --all-features flag to cargo-msrv checks
f2f72c3f
ci: install notmuch dependencies for testing
6be8c0c0
ci: remove obsolete test exclusion
in PR#600
"melib/smtp: add an SMTP transaction test"fba30f3c
Revert "accounts: cancel any previous mailbox fetches"
Highlights:
pipe-attachment
commandmeli
as amailto
scheme handler incontrib/
Contributors in alphabetical order:
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
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"ed85da51
Remove sealed_test dependency
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
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
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"This is mostly a fixups release.
cf16bf65
meli/sqlite3: add tests for reindexing
a389772d
accounts: suggest tips on mailbox_by_path error
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"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"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
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"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
WARNING: This release contains a breaking change in the configuration file: aglobal composing option is not required anymore. Now, composing options are peraccount.
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"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
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"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
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"b55edd47
debian: update meli.docs and add meli.manpages
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
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
Contributors in alphabetical order:
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)
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
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
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}
dfc2bb43
Add link to MacPorts page for meli
97aa6a8e
Replace obsolete .Tn macro with .Em
a8e82a30
Add missing entries from JMAP
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
Contributors in alphabetical order:
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
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
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
4722d7cc
Also mention server_password_command for jmap
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
Contributors in alphabetical order:
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
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
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
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
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
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
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
ef30228e
Fix failing test
f81a1e23
Bump version to 0.8.4
3105a037
Add quit command
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
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/
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
22525d40
Go to end when pressing next/page down for the second time
71474436
Revert 22525d40 behavior when sidebar not focused
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
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.
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
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
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
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
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
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
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
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.
671ce9f6
Add missing build dependencies
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
url_launcher
config settingadd_addresses_to_contacts
commandshow_date_in_my_timezone
pager config flagfilter
command,Esc
to clear filterdisplay_name
if it contains ","Cc
andBcc
ignored when sending maildisplay_name
if it contains "."Down/Up
shortcuts toj/k
GB18030
charsetcomposing
section with explanationNotable changes:
add-attachment-file-picker
command andfile_picker_command
setting touse external commands to choose files when composing new mailexport-mbox
commandexport-mail
commandreload-config
commandimport-mail
commandXOAUTH2
authentication methodOAUTH2
authenticationmessage/rfc822
as attachmentslibgpgme
target_os = "linux"
dbus-notifications
)CONDSTORE
support for IMAP cachecopy_messages
for maildirAdd select command to select threads that match search query
Add support for mass copying/deleting/flagging/moving of messages
IMAP: add support forCOMPRESS=DEFLATE
and othersExtension use can be configured with individual flags such asuse_deflate
RenameEXECUTE
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: addauto_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 forNO_COLOR
enhanced, portable Makefile
added Debian packaging
addeddefault_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 withfilter = "not flags:seen"
sh -c "..."
cli-docs
compile time feature: Optionally build manpages to text withmandoc
and print them from the command line.