Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • v0.8.10
    9f7dcfc2 · Bump version to 0.8.10 ·
    v0.8.10
    
    Highlights:
    ===========
    
    - added pipe-attachment command
    - added sample scripts for using meli as a mailto scheme handler in
      contrib/
    - 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
    
    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
    ce53925f · Bump version to 0.8.9 ·
    v0.8.9
    
    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 "Integrate meli.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
    
    Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
    
  • v0.8.8
    a27a2827 · Bump version to 0.8.8 ·
    Release: v0.8.8
    v0.8.8
    
    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 "Add patch_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 "Update time 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
    6ae2cf0b · Bump version to 0.8.7 ·
    v0.8.7
    
    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
    
    -- Manos Pitsidianakis <manos@pitsidianak.is>  Tue, 30 Jul 2024 14:21:31 +0300
    
  • v0.8.6
    f1332e82 · Bump version to 0.8.6 ·
    v0.8.6
    
    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
    
    -- Manos Pitsidianakis <manos@pitsidianak.is>  Sat, 08 Jun 2024 11:47:40 +0300
    
  • v0.8.5
    v0.8.5
    
    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
    
    -- Manos Pitsidianakis <manos@pitsidianak.is>  Sun, 05 May 2024 18:46:42 +0300
    
  • v0.8.5-rc.3
    v0.8.5-rc.3
    
  • v0.8.5-rc.2
    v0.8.5-rc.2
    
  • v0.8.5-rc.1
    v0.8.5-rc.1
    
    Release candidate for v0.8.5.
    
    Major differences:
    
    - Replaced TUI (termnal screen interface drawing) with new code that
      makes sure out of bounds accesses are as little as possible. Also
      every area of a screen holds provenance; you cannot mix area/region
      information of different screens (virtual or tty). Every time there is
      a window resize, the screen's generation gets refreshed.
    - Fixed some imap flag sync issues.
    - Many small refactors across all the codebase.
    
  • v0.8.4
    f81a1e23 · Bump version to 0.8.4 ·
    v0.8.4
    
    A test was failing.
    
  • v0.8.3
    111a1160 · Bump version to 0.8.3 ·
    v0.8.3
    
    Fixes and enhancements
    ----------------------
    
    - Add extra_submission_headers option to support posting to Newsgroups
      (which need a Newsgroup header).
    - Show error description when TIOCGWINSZ fails (i.e. we are not in a
      TTY).
    - Add QUIT command to SMTP transactions (Andrei Zisu @matzipan)
    - Fix SMTP end sequence (Andrei Zisu @matzipan)
    - Fix date formatting in conversations index style.
    - Replace splice with truncate in melib/imap, which was hurting
      performance.
    - Update yanked ahash dependency.
    - Removed pcre2 dependency from default features.
    - Removed managesieve-client from shipped binaries, it was included by
      accident before.
    - Add "static" feature and make it default: TLS libraries, libcurl,
      libsqlite3, libz, and libdbus are now vendored by default eliminating
      the need for system dependencies.
    - Replace CRLF to LF when editing a draft in the composer.
    
  • v0.8.2
    3d85ca2e · Bump version to 0.8.2 ·
    v0.8.2
    ======
    
    Small fixes:
    
    - melib/utils/xdg: fix doc test compilation preventing installation on
      AUR packages
    - mail/view: fix forward dialog not working
    - mail/listing:  go to end when pressing next/page down for the second time when sidebar is focused
    
  • v0.8.1
    7eed8278 · Bump version to 0.8.1 ·
    v0.8.1-alpha
    
    Small quality of life fixes.
    
    By date, descending:
    
    - meli: update to 2021 edition
    - melib: update to 2021 edition
    - mail/view: show current number command buffer
    - mail/compose: init cursor at To: header field
    - Use Context::current_dir() when saving files to relative paths
    - Add current working directory tracking to Context
    - view/envelope: fix some out of bounds drawing.
    - Add install-man cli subcommand to install manpages on your system
    - meli: add print-used-paths subcommand
    - mellib/imap: don't flood user with sqlite3 errors if db is corrupted
    - command/parser: unify toggle_* parsers
    - Update README.md
    - mail/view: fix out-of-bounds draw when terminal is small
    - melib/email/parser: fix invalid address parse on folded values
    - listing.rs: add hide_sidebar_on_launch option
    - accounts.rs: move to crate root
    - state.rs: fix typo
    - Add Cross.toml for aarch64-unknown-linux-gnu builds
    - command: split code into submodules, add better error reporting
    - ui: show descriptive tab names for composer and threads
    - dependencies: embed xdg-utils crate
    - mail/view/thread: add toggle_layout shortcut
    - mail/view: don't initialize entire thread at once
    - mail/view: handle dialog Esc in the parent component
    - mail/view: remove unnecessary Clone derives
    - view/thread: open earliest unread email instead of first in thread
    - email/parser.rs: fix invalid mailto() results when body field exists
    - commands.rs: Introduce CommandError with context
    - melib/build.rs: add feature to use cache instead of downloading unicode data
    - jmap: fix invalid Type link references
    - remove deflate feature; make it a hard dependency
    - contacts: refactor module structure
    
  • v0.8.0
    46636d87 · Bump version to 0.8.0 ·
    v0.8.0-alpha
    
  • alpha-0.7.2
    15ca25af · Bump version to 0.7.2 ·
    alpha-0.7.2
    
    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 and Bcc ignored when sending mail
    - melib/email/address: quote display_name if it contains "."
  • alpha-0.7.1
    bc08bf1d · Bump version to 0.7.1 ·
    Added
    =====
    
    - Change all Down/Up shortcuts to j/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 unusued 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
    978939d8 · Bump version to 0.7.0 ·
    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 and `file_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
    alpha-0.6.2
    
    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
    e8a98f87 · Change version to 0.6.1 ·
    [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
    93d9c195 · Change version to 0.6.0 ·
    - 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 as `use_deflate`
    - Rename EXECUTE mode to COMMAND
    - 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:
    
      ```text
      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`: Choose `text/html` alternative if `text/plain` is empty in `multipart/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`](https://no-color.org/)
    - 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"`
    
    - Replace any use of 'folder' with 'mailbox' in user configuration
    - Load libnotmuch dynamically
    - Launch all user shell commands with `sh -c "..."`
    
    - notmuch: add support for multiple accounts on same notmuch db