meli (0.8.11-1) bookworm; urgency=low

  This is mostly a fixups release.

  Contributors in alphabetical order:
  ===================================

  - Guillaume Ranquet
  - Manos Pitsidianakis
  - n4n5

  Highlights:
  ===========

  - 2870624d contacts: add notmuch address book support in PR #551 "contacts: add notmuch address book support

    The new notmuch_address_book_query account setting defines a query passed to
    "notmuch 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.
    The use_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 new notifications.ui_notifications setting has three possible
    values:

    - 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. 

  Added
  =====

  - 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 "Add notifications.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"

  Bug Fixes
  =========

  - 30c599ab Makefile: fix some minor logic/UX issues in PR #559 "Add some doc comments in meli 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"

  Changes
  =======

  - 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

  Refactoring
  ===========

  - 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

  Documentation
  =============

  - 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 in custom_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

  Testing
  =======

  - 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 "Convert Backend::watch function to return Stream"
  - a69f4c4b melib/smtp: add an SMTP transaction test
  - e466d026 conf/tests: speedup test_conf_theme_key_values() in PR #589 "conf/tests: speedup test_conf_theme_key_values()"
  - e4957f8f conf.rs: do not run migrations in unit tests
  - dc5bff8d conf/tests: flush config file to disk

  Miscellaneous Tasks
  ===================

  - 220bdb62 tools: run cargo-update

  Continuous Integration
  ======================

  - 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"

  Reverted Commits
  ================

  - fba30f3c Revert "accounts: cancel any previous mailbox fetches"

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Mon, 21 Apr 2025 12:55:03 +0000

meli (0.8.10-1) bookworm; urgency=low

  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"

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Fri, 06 Dec 2024 07:03:58 +0200

meli (0.8.9-1) bookworm; urgency=low

  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

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Wed, 27 Nov 2024 16:16:06 +0200

meli (0.8.8-1) bookworm; urgency=low

  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

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Tue, 19 Nov 2024 14:09:13 +0200
meli (0.8.7-1) bookworm; urgency=low

  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

meli (0.8.6-1) bookworm; urgency=low

  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

meli (0.8.5-1) bookworm; urgency=low

  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

meli (0.8.5-rc.3-1) bookworm; urgency=low

  * Update to 0.8.5-rc.3

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Sun, 10 Dec 2023 15:22:18 +0000

meli (0.8.5-rc.2-1) bookworm; urgency=low

  * Update to 0.8.5-rc.2

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Mon, 4 Dec 2023 19:34:00 +0200

meli (0.8.4-1) bookworm; urgency=low

  * Update to 0.8.4

 -- Manos Pitsidianakis <manos@pitsidianak.is>  Mon, 27 Nov 2023 19:34:00 +0200

meli (0.7.2-1) bullseye; urgency=low
    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 "."

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Fri, 15 Oct 2021 12:34:00 +0200
meli (0.7.1-1) bullseye; urgency=low

  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 unused conf flags in some imap/nntp
  - configs: throw error on missing `composing` section with explanation

  Fixed
  - Fix compilation for netbsd-9.2
  - conf: fixed some boolean flag values requiring to be string e.g. "true"
 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Wed, 08 Sep 2021 18:14:00 +0200
meli (0.7.0-1) buster; urgency=low

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Fri, 03 Sep 2021 18:14:00 +0200
meli (0.6.2-1) buster; urgency=low

  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

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Thu, 24 Sep 2020 18:14:00 +0200
meli (0.6.1-1) buster; urgency=low

  * added experimental NNTP backend
  * added server extension support and use in account status tab
  * imap: fixed IDLE connection getting stuck when using DEFLATE

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Sun, 02 Aug 2020 01:09:05 +0200
meli (0.6.0-1) buster; urgency=low

  * Update to 0.6.0

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Wed, 29 Jul 2020 22:24:08 +0200
meli (0.5.1-1) buster; urgency=low

  * Update to 0.5.1

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Wed, 29 Jan 2020 22:24:08 +0200
meli (0.5.0-1) buster; urgency=low

  * Update to 0.5.0

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Wed, 29 Jan 2020 22:24:08 +0200
meli (0.4.1-1) buster; urgency=low

  * Initial release.

 -- Manos Pitsidianakis <epilys@nessuent.xyz>  Wed, 29 Jan 2020 22:24:08 +0200
