./mail/himalaya, Command-line interface for email management

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.1.0, Package name: himalaya-1.1.0, Maintainer: pkgsrc-users

Himalaya is a CLI based on the himalaya-lib that allows you to manipulate
your emails using commands in your console.

Features:
Folder listing
Envelopes listing, searching and sorting
Email composition based on $EDITOR
Email manipulation (copy/move/delete)
Multi-accounting
Account listing
Account synchronization for offline usage
IMAP, Maildir and Notmuch support
IMAP IDLE mode for real-time notifications
PGP end-to-end encryption
Completions for various shells
JSON output
...


Master sites:

Filesize: 247.682 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-13 21:30:50 by pin | Files touched by this commit (3) | Package updated
Log message:
mail/himalaya: update to 1.1.0

[1.1.0] - 2025-01-11
Added

    Added -y|--yes flag for folder purge and folder delete commands. #469

Changed

    Put back warn the default log level. #522

    Since logs are sent to stderr, warnings can be easily discarded by \ 
prepending commands with RUST_LOG=off or by appending commands with \ 
2>/dev/null.

    Changed message.send.save-copy default to true. #536

    Changed default downloads directory. core#1

Fixed

    Fixed permissions issues when using install.sh. #515
    Fixed de/serialization issues of backends' none variant. #523
    Fixed list envelopes out of bound error when empty result. #535
    Fixed macOS x86_64 builds. #538
   2024-12-11 10:51:18 by pin | Files touched by this commit (4) | Package updated
Log message:
mail/himalaya: update to 1.0.0

## [1.0.0] - 2024-12-09

The Himalaya CLI scope has changed. It does not include anymore the \ 
synchronization, nor the envelope watching. These scopes have moved to dedicated \ 
projects:

- [Neverest CLI](https://github.com/pimalaya/neverest), CLI to synchronize, \ 
backup and restore emails
- [Mirador CLI](https://github.com/pimalaya/mirador), CLI to watch mailbox changes

Due to the long time difference with the previous `v1.0.0-beta.4` release, this \ 
changelog may be incomplete. The simplest way to upgrade is to reconfigure \ 
Himalaya CLI from scratch, using the wizard or the \ 
[`config.sample.toml`](./config.sample.toml).

Himalaya CLI will now try to adopt the [conventional commits \ 
specification](https://github.com/conventional-commits/conventionalcommits.org). \ 
Tools like [`git-cliff`](https://git-cliff.org/) may help us generating more \ 
accurate changelogs in the future.

### Added

- Added `message edit` command to edit a message. To edit on place (replace a \ 
message), use `--on-place`.
- Added `account.list.table.preset` global config option, \ 
`accounts.<name>.folder.list.table.preset` and \ 
`accounts.<name>.envelope.list.table.preset` account config options.

  These options customize the shape of tables, see examples at \ 
[`comfy_table::presets`](https://docs.rs/comfy-table/latest/comfy_table/presets/index.html). \ 
Defaults to `"||  |-|||           "`, which corresponds to \ 
[`comfy_table::presets::ASCII_MARKDOWN`](https://docs.rs/comfy-table/latest/comfy_table/presets/constant.ASCII_MARKDOWN.html).

- Added `account.list.table.name-color` config option to customize the color \ 
used for the accounts' `NAME` column (defaults to `green`).
- Added `account.list.table.backends-color` config option to customize the color \ 
used for the folders' `BACKENDS` column (defaults to `blue`).
- Added `account.list.table.default-color` config option to customize the color \ 
used for the folders' `DEFAULT` column (defaults to `reset`).
- Added `accounts.<name>.folder.list.table.name-color` account config \ 
option to customize the color used for the folders' `NAME` column (defaults to \ 
`blue`).
- Added `accounts.<name>.folder.list.table.desc-color` account config \ 
option to customize the color used for the folders' `DESC` column (defaults to \ 
`green`).
- Added `accounts.<name>.envelope.list.table.id-color` account config \ 
option to customize the color used for the envelopes' `ID` column (defaults to \ 
`red`).
- Added `accounts.<name>.envelope.list.table.flags-color` account config \ 
option to customize the color used for the envelopes' `FLAGS` column (defaults \ 
to `reset`).
- Added `accounts.<name>.envelope.list.table.subject-color` account config \ 
option to customize the color used for the envelopes' `SUBJECT` column (defaults \ 
to `green`).
- Added `accounts.<name>.envelope.list.table.sender-color` account config \ 
option to customize the color used for the envelopes' `FROM` column (defaults to \ 
`blue`).
- Added `accounts.<name>.envelope.list.table.date-color` account config \ 
option to customize the color used for the envelopes' `DATE` column (defaults to \ 
`dark_yellow`).
- Added `accounts.<name>.envelope.list.table.unseen-char` account config \ 
option to customize the char used for unseen envelopes (defaults to `*`).
- Added `accounts.<name>.envelope.list.table.replied-char` account config \ 
option to customize the char used for replied envelopes (defaults to `R`).
- Added `accounts.<name>.envelope.list.table.flagged-char` account config \ 
option to customize the char used for flagged envelopes (defaults to `!`).
- Added `accounts.<name>.envelope.list.table.attachment-char` account \ 
config option to customize the char used for envelopes with at least one \ 
attachment (defaults to `@`).

### Changed

- Refactored the `account configure` command: this command stands now for \ 
creating or editing account configurations from the wizard. The command requires \ 
the `wizard` cargo feature.
- Improved the `account doctor` command: it now checks the state of the config, \ 
and the new `--fix` argument allows you to configure keyring, OAuth 2.0 etc.
- Improved long version `--version`. [#496]
- Improved error messages when missing cargo features. For example, if a TOML \ 
configuration uses the IMAP backend without the `imap` cargo features, the error \ 
`missing "imap" feature` is displayed. \ 
[#20](https://github.com/pimalaya/core/issues/20)
- Normalized enum-based configurations, using the [internally tagged \ 
representation](https://serde.rs/enum-representations.html#internally-tagged) \ 
`type =`. It should reduce issues due to misconfiguration, and improve othe \ 
error messages. Yet it is not perfect, see \ 
[#802](https://github.com/toml-rs/toml/issues/802):

  - `imap.*`, `maildir.*` and `notmuch.*` moved to `backend.*`:

	```toml
	# before
	imap.host = "localhost"
	imap.port = 143

	# after
	backend.type = "imap"
	backend.host = "localhost"
	backend.port = 143
	```

  - `smtp.*` and `sendmail.*` moved to `message.send.backend.*`:

	```toml
	# before
	smtp.host = "localhost"
	smtp.port = 25

	# after
	message.send.backend.type = "smtp"
	message.send.backend.host = "localhost"
	message.send.backend.port = 25
	```

  - `pgp.backend` renamed `pgp.type`:

	```toml
	# before
	pgp.backend = "commands"
	pgp.encrypt-cmd = "gpg --encrypt --quiet --armor <recipients>"

	# after
	pgp.type = "commands"
	pgp.encrypt-cmd = "gpg --encrypt --quiet --armor <recipients>"
	```

  - `{imap,smtp}.auth` moved as well:

    ```toml
    # before
    imap.password.cmd = "pass show example"
    smtp.oauth2.method = "xoauth2"

    # after
    backend.auth.type = "password"
    backend.auth.cmd = "pass show example"
    message.send.backend.auth.type = "oauth2"
    message.send.backend.auth.method = "xoauth2"
    ```

- Moved IMAP and SMTP `encryption` to `encryption.type`.

  This change prepares the config to accept different TLS providers with their \ 
options. The `true` and `false` variant have been removed as well:

	```toml
	# before
	backend.encryption = "none" # or false
	backend.encryption = "start-tls"
	message.send.backend.encryption = "tls" # or true

	# after
	backend.encryption.type = "none"
	backend.encryption.type = "start-tls"
	message.send.backend.encryption.type = "tls"
	```

### Fixed

- Fixed pre-release archives issue. [#492]
- Fixed mailto parsing issue. [core#10]
- Fixed `Answered` flag not set when replying to a message. [#508]

### Removed

- Removed systemd service from `assets/` folder, as Himalaya CLI scope does not \ 
include synchronization nor watching anymore.

## [1.0.0-beta.4] - 2024-04-16

### Added

- Added systemd service in `assets/` folder.
- Added configuration option `message.delete.style` that can be either `folder` \ 
(deleted messages are moved to the Trash folder, default style) or `flag` \ 
(deleted messages receive the Deleted flag).
- Added `--debug` as an alias for `RUST_LOG=debug`.
- Added `--trace` as an alias for `RUST_LOG=trace` and `RUST_BACKTRACE=1`.
- Added notes about `--debug` and `--trace` when error occurs.

### Changed

- **Added back the search feature**: you can now give an optional filter and \ 
sort query at the end of the `envelope list` command. See `envelope list --help` \ 
or \ 
[pimalaya.org](https://pimalaya.org/himalaya/cli/master/usage/advanced/envelope/list.html#query) \ 
for more detail on the search API.
- Changed the `envelope list` folder argument due to the search query: it became \ 
a flag `--folder|-f`.
- Made the global `--config|-c` option repeatable: the first option is \ 
considered the path to the main config, and successive options are considered \ 
partial overrides [#184].
- Refactored error management: error should be more clear, colored and can now \ 
contain spantrace and backtrace.
- Made `--help` content wrapping properly thanks to the `clap` cargo feature \ 
`wrap_help`.
- Improved `template {new,reply,forward}` command JSON output: they return now a \ 
JSON object with 3 properties:
  - `content`: the content of the template
  - `cursor.row`: the row at which the cursor should be placed by the interface \ 
using the template
  - `cursor.col`: the column at which the cursor should be placed by the \ 
interface using the template

### Fixed

- Fixed watch IMAP envelopes when folder was empty [#179].
- Prevented parsing of undefined config options [#188].
- Fixed `In-Reply-To` header being skipped from mailto URLs [#194].
- Fixed error page out of bounds when filtering envelopes returned an empty \ 
result [#195].

## [1.0.0-beta.3] - 2024-02-25

### Added

- Added `account check-up` command.
- Added wizard warning about google passwords [#41].

### Changed

- Removed account configurations flatten level in order to improve diagnostic \ 
errors, due to a \ 
[bug](https://github.com/toml-rs/toml/issues/589#issuecomment-1872345017) in \ 
clap. **This means that accounts need to be prefixed by `accounts`: \ 
`[my-account]` becomes `[accounts.my-account]`**. It also opens doors for \ 
interface-specific configurations.
- Rolled back cargo feature additions from the previous release. It was a \ 
mistake: the amount of features was too big, the code (both CLI and lib) was too \ 
hard to maintain. Cargo features kept: `imap`, `maildir`, `notmuch`, `smtp`, \ 
`sendmail`, `account-sync`, `account-discovery`, `pgp-gpg`, `pgp-commands` and \ 
`pgp-native`.
- Moved `sync.strategy` to `folder.sync.filter`.
- Changed location of the synchronization data from \ 
`$XDG_DATA_HOME/himalaya/<account-name>` to \ 
`$XDG_DATA_HOME/pimalaya/email/sync/<account-name>-cache`.
- Changed location of the synchronization cache from `sync.dir` to \ 
`$XDG_CACHE_HOME/pimalaya/email/sync/<hash>/`.
- Replaced id mapping database `SQLite` by `sled`, a pure key-val store written \ 
in Rust to improve portability of the tool. **Therefore, id aliases are reset**.
- Improved pre and post edit choices interaction [#58].
- Improved account synchronization performances, making it 50% faster than \ 
`mbsync` and 370% faster than `OfflineIMAP`.
- Changed `envelope.watch.{event}.{hook}`: hooks can now be cumulated. For \ 
example it is possible to send a system notification and execute a shell command \ 
when receiving a new envelope:

  ```toml
  envelope.watch.received.notify.summary = "New message from {sender}"
  envelope.watch.received.notify.body = "{subject}"
  envelope.watch.received.cmd = "echo {id} >> /tmp/new-email-counter"
  ```

### Fixed

- Fixed bug that was preventing watch placeholders to be replaced when using \ 
shell command hook.
- Fixed watch IMAP envelopes issue preventing events to be triggered.
- Fixed DNS account discovery priority issues.
- Fixed SMTP messages not properly sent to all recipients [#172].
- Fixed backend feature badly linked, leading to reply and forward message \ 
errors [#173].

## [1.0.0-beta.2] - 2024-01-27

### Added

- Added cargo feature `wizard`, enabled by default.
- Added one cargo feature per backend feature:
  - `account` including `account-configure`, `account-list`, `account-sync` and \ 
the `account-subcmd`
  - `folder` including `folder-add`, `folder-list`, `folder-expunge`, \ 
`folder-purge`, `folder-delete` and the `folder-subcmd`
  - `envelope` including `envelope-list`, `envelope-watch`, `envelope-get` and \ 
the `envelope-subcmd`
  - `flag` including `flag-add`, `flag-set`, `flag-remove` and the `flag-subcmd`
  - `message` including `message-read`, `message-write`, `message-mailto`, \ 
`message-reply`, `message-forward`, `message-copy`, `message-move`, \ 
`message-delete`, `message-save`, `message-send` and the `message-subcmd`
  - `attachment` including `attachment-download` and the `attachment-subcmd`
  - `template` including `template-write`, `template-reply`, `template-forward`, \ 
`template-save`, `template-send` and the `template-subcmd`
- Added wizard capability to autodetect IMAP and SMTP configurations, based on \ 
the [Thunderbird \ 
Autoconfiguration](https://wiki.mozilla.org/Thunderbird:Autoconfiguration) \ 
standard.
- Added back Notmuch backend features.

### Changed

- Renamed `folder create` to `folder add` in order to better match types. An \ 
alias has been set up, so both `create` and `add` still work.

### Fixed

- Fixed default command: running `himalaya` without argument lists envelopes, as \ 
it used to be in previous versions.
- Fixed bug when listing envelopes with `backend = "imap"`, \ 
`sync.enable = true` and `envelope.watch.backend = "imap"` led to \ 
unwanted IMAP connection creation (which slowed down the listing).
- Fixed builds related to enabled cargo features.

## [1.0.0-beta] - 2024-01-01

Few major concepts changed:

- The concept of *Backend* and *Sender* changed. The Sender does not exist \ 
anymore (it is now a backend feature). A Backend is now a set of features like \ 
add folders, list envelopes or send raw message. The backend of every single \ 
feature can be customized in the configuration file, which gives users more \ 
flexibility. Here the list of backend features that can be customized:
  - `backend` ***(required)***: the backend used by default by all backend \ 
features (`maildir`, `imap` or `notmuch`)
  - `folder.add.backend`: override the backend used for creating folders \ 
(`maildir`, `imap` or `notmuch`)
  - `folder.list.backend`: override the backend used for listing folders \ 
(`maildir`, `imap` or `notmuch`)
  - `folder.expunge.backend`: override the backend used for expunging folders \ 
(`maildir`, `imap` or `notmuch`)
  - `folder.purge.backend`: override the backend used for purging folders \ 
(`maildir`, `imap` or `notmuch`)
  - `folder.delete.backend`: override the backend used for deleting folders \ 
(`maildir`, `imap` or `notmuch`)
  - `envelope.list.backend`: override the backend used for listing envelopes \ 
(`maildir`, `imap` or `notmuch`)
  - `envelope.get.backend`: override the backend used for getting envelopes \ 
(`maildir`, `imap` or `notmuch`)
  - `envelope.watch.backend`: override the backend used for watching envelopes \ 
(`maildir`, `imap` or `notmuch`)
  - `flag.add.backend`: override the backend used for adding flags (`maildir`, \ 
`imap` or `notmuch`)
  - `flag.set.backend`: override the backend used for setting flags (`maildir`, \ 
`imap` or `notmuch`)
  - `flag.remove.backend`: override the backend used for removing flags \ 
(`maildir`, `imap` or `notmuch`)
  - `message.send.backend` ***(required)***: override the backend used for \ 
sending messages (`sendmail` or `smtp`)
  - `message.read.backend`: override the backend used for reading messages \ 
(`maildir`, `imap` or `notmuch`)
  - `message.write.backend`: override the backend used for adding flags \ 
(`maildir`, `imap` or `notmuch`)
  - `message.copy.backend`: override the backend used for copying messages \ 
(`maildir`, `imap` or `notmuch`)
  - `message.move.backend`: override the backend used for moving messages \ 
(`maildir`, `imap` or `notmuch`)
- The CLI API changed: every command is now prefixed by its domain following the \ 
format `himalaya <domain> <action>`. List of domain available by \ 
running `himalaya -h` and list of actions for a domain by running `himalaya \ 
<domain> -h`.
- TOML configuration file options use now the dot notation rather than the dash \ 
notation. For example, `folder-listing-page-size` became \ 
`folder.list.page-size`. See the [changed](#changed) section below for more \ 
details.

### Added

- Added cargo feature `maildir` (not plugged yet).
- Added cargo feature `sendmail` (not plugged yet).
- Added watch hooks `envelope.watch.received` (when a new envelope is received) \ 
and `envelope.watch.any` (for any other event related to envelopes). A watch \ 
hook can be:
  - A shell command: `envelope.watch.any.cmd = "mbsync -a"`
  - A system notification:
    - `envelope.watch.received.notify.summary = "📬 New message from \ 
{sender}"`: customize the notification summary (title)
    - `envelope.watch.received.notify.body = "{subject}"`: customize \ 
the notification body (content)

	*Available placeholders: id, subject, sender, sender.name, sender.address, \ 
recipient, recipient.name, recipient.address.*
- Added watch support for Maildir backend features.

### Changed

- Renamed cargo feature `imap-backend` → `imap`.
- Renamed cargo feature `notmuch-backend` → `notmuch`.
- Renamed cargo feature `smtp-sender` → `smtp`.
- Changed the goal of the config option `backend`: it is now the default backend \ 
used for all backend features. Valid backends: `imap`, `maildir`, `notmuch`.
- Moved `folder-aliases` config option to `folder.alias(es)`.
- Moved `folder-listing-page-size` config option to `folder.list.page-size`.
- Moved `email-listing-page-size` config option to `envelope.list.page-size`.
- Moved `email-listing-datetime-fmt` config option to `envelope.list.datetime-fmt`.
- Moved `email-listing-datetime-local-tz` config option to \ 
`envelope.list.datetime-local-tz`.
- Moved `email-reading-headers` config option to `message.read.headers`.
- Moved `email-reading-format` config option to `message.read.format`.
- Moved `email-writing-headers` config option to `message.write.headers`.
- Move `email-sending-save-copy` config option to `message.send.save-copy`.
- Move `email-hooks.pre-send` config option to `message.send.pre-hook`.
- Moved `sync` config option to `sync.enable`.
- Moved `sync-dir` config option to `sync.dir`.
- Moved `sync-folders-strategy` config option to `sync.strategy`.
- Moved `maildir-*` config options to `maildir.*`.
- Moved `imap-*` config options to `imap.*`.
- Moved `notmuch-*` config options to `notmuch.*`.
- Moved `sendmail-*` config options to `sendmail.*`.
- Moved `smtp-*` config options to `smtp.*`.
- Replaced options `imap-ssl`, `imap-starttls` and `imap-insecure` by \ 
`imap.encryption`:
  - `imap.encryption = "tls" | true`: use required encryption (SSL/TLS)
  - `imap.encryption = "start-tls"`: use opportunistic encryption \ 
(StartTLS)
  - `imap.encryption = "none" | false`: do not use any encryption
- Replaced options `smtp-ssl`, `smtp-starttls` and `smtp-insecure` by \ 
`smtp.encryption`:
  - `smtp.encryption = "tls" | true`: use required encryption (SSL/TLS)
  - `smtp.encryption = "start-tls"`: use opportunistic encryption \ 
(StartTLS)
  - `smtp.encryption = "none" | false`: do not use any encryption

### Removed

- Disabled temporarily the `notmuch` backend because it needs to be refactored \ 
using the backend features system (it should be reimplemented soon).
- Disabled temporarily the `search` and `sort` command because they need to be \ 
refactored, see [#39].
- Removed the `notify` command (replaced by the new `watch` command).
- Removed all global options except for `display-name`, `signature`, \ 
`signature-delim` and `downloads-dir`.
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2023-09-15 15:46:12 by Amitai Schleier | Files touched by this commit (1)
Log message:
himalaya: de-404 HOMEPAGE.
   2023-09-15 08:26:14 by pin | Files touched by this commit (3) | Package updated
Log message:
mail/himalaya: update to 0.9.0

v0.9.0
This version should be the last before the v1.0.0-beta!
Added
 - Added 3 new cargo features:
     - pgp-commands: enables the commands PGP backend (enabled by default,
       same behaviour as before)
     - pgp-gpg: enables the GPG backend (requires the gpgme lib on the system)
     - pgp-native: enables the native PGP backend
 - Added account configuration pgp to configure the way PGP operations are
   performed.

Changed
 - Moved email-writing-encrypt-cmdto pgp.encrypt-cmd.
 - Moved email-reading-decrypt-cmd to pgp-decrypt-cmd.
 - Moved email-writing-sign-cmd to pgp.sign-cmd.
 - Moved email-reading-verify-cmd to pgp.verify-cmd.

v0.8.4
Fixed
 - Fixed windows releases due to cargo deps typo.

v0.8.3
Fixed
 - Fixed windows releases due to coredump crate compilation error.
 - Fixed macos releases due to macos 12 System Integrity Protection.

v0.8.2
Changed
 - Made the code async using the tokio async runtime.
 - On Linux, made the kernel keyring the default one (the one based on
   keyutils).

Fixed
 - Fixed the way folder aliases are resolved. In some case, aliases were
   resolved CLI side and lib side, which led to alias errors [sourcehut#95].

pimalaya-email-tpl
Fixed
 - Fixed default PGP verify command that was using invalid option --recipient.

pimalaya-email
Changed
 - Changed the way folder aliases are resolved. They are now resolved directly
   from backend implementations, which frees interfaces from this
   responsibility [#95].
 - Bumped pimalaya_email_tpl@0.3.1.

Fixed
 - Fixed absolute folder aliases for the maildir backend [#94].
 - Fixed notmuch virtual folder [#92].

v0.8.1
Added
 - Implemented OAuth 2.0 refresh token flow for IMAP and SMTP, which means that
   access tokens are now automatically refreshed and is transparent for users.
 - Added imap-oauth2-redirect-host and smtp-oauth2-redirect-host options to
   customize the redirect server host name (default: localhost).
 - Added imap-oauth2-redirect-port and smtp-oauth2-redirect-port options to
   customize the redirect server port (default: 9999).
 - Added email-listing-datetime-fmt to customize envelopes datetime format.
   See format spec here.
 - Added email-listing-local-datetime to transform envelopes datetime's
   timezone to the user's local one. For example, if the user's local is set to
   UTC, the envelope date 2023-06-15T09:00:00+02:00 becomes
   2023-06-15T07:00:00-00:00.

Fixed
 - Fixed missing < and > around Message-ID and In-Reply-To headers.

v0.8.0
Added
 - Added keyring support, which means Himalaya can now use your system's global
   keyring to get/set sensitive data like passwords or tokens.
 - Added required IMAP option imap-auth and SMTP option smtp-auth. Possible
   values: passwd, oauth2.
 - Added OAuth 2.0 support for IMAP and SMTP.
 - Added passwords and OAuth 2.0 configuration via the wizard.
 - Added email-sending-save-copy option to control whenever a copy of any sent
   email should be saved in the sent folder defined in folder-aliases.
 - Imported id mapper from the lib, which means that the id mapping is now done
   by the CLI.
 - Added BackendConfig to AccountConfig::backend to match sender implementation.
 - Added support for pipeline commands, which means commands can be either a
   single command (string) or piped commands (list of strings). It applies for:
     - email-writing-verify-cmd
     - email-writing-decrypt-cmd
     - email-writing-sign-cmd
     - email-writing-encrypt-cmd

Changed
 - Changed release archive extensions from .tar.gz to .tgz.
 - Moved wizard module into domains (config, account, backend…).
 - [BREAKING] Changed the way secrets are managed. A secret is a sensitive data
   like passwords or tokens. There is 3 possible ways to declare a secret in
   the config file:
     - { raw = <secret> } for the raw secret as string (unsafe, not
       recommanded),
     - { cmd = <secret-cmd> } for command that exposes the secret,
     - { keyring = <secret-entry> } for entry in your system's global keyring
       that contains the secret.

 - This applies for:
     - imap-passwd
     - imap-oauth2-client-secret
     - imap-oauth2-access-token
     - imap-oauth2-refresh-token
     - smtp-passwd
     - smtp-oauth2-client-secret
     - smtp-oauth2-access-token
     - smtp-oauth2-refresh-token

Fixed
 - Fixed Windows releases corrupted archives.

Removed
 - [BREAKING] Removed -s|--sanitize option. It is done by default now, except
   if the -t|--mime-type html is set.
 - [BREAKING] Removed native-tls support, rustls-tls is now the only TLS
   provider available. Removed in consequence native-tls, rustls-tls and
   rustls-native-certs cargo features.

pimalaya-email
Added
 - Added IP support using rustls v0.21 [#80].
 - Added AccountConfig::generate_tpl_interpreter function to generate a
   template interpreter with default options based on the config (pgp encrypt,
   pgp verify and attachments dir).

Changed
 - Changed AccountConfig::addr return type from lettre::Mailbox to
   mail_builder::Address.
 - Changed AccountConfig::email_reading_headers default values to ["From",
   "To", "Cc", "Subject"].
 - Changed AccountConfig::email_writing_headers default values to ["From",
   "To", "In-Reply-To", "Cc", "Subject"].
 - Removed noise around signature by trimming it.
 - Changed Email::parsed return type from mailparse::ParsedMail to
   mail_parser::Message.
 - Changed Email::new_tpl_builder return type from Result<TplBuilder> to
   NewTplBuilder.
 - Renamed Email::to_read_tpl_builder to Email::to_read_tpl which returns now a
   Result<Tpl> directly.
 - Changed Email::to_reply_tpl_builder return type from Result<TplBuilder> to
   ReplyTplBuilder.
 - Changed Email::to_forward_tpl_builder return type from Result<TplBuilder> to
   ForwardTplBuilder.
 - Renamed backend::imap::Error::ListEnvelopesOutOfBounds by
   BuildPageRangeOutOfBoundsError.
 - Replaced [lettre] by [mail-send], [mailparse] by [mail-parser] and [maildir]
   by [maildirpp].
 - Removed native-tls support, rustls-tls is now the only TLS provider
   available. Removed in consequence native-tls, rustls-tls and
   rustls-native-certs cargo features.

Fixed
 - Fixed notmuch path not being expanded correctly.
 - Fixed .notmuch folder created by notmuch new command being treated as a
   folder. Because it is a folder starting by a dot, it was considered as a
   Maildir++ folder (which is not).
 - Fixed IMAP pagination error when listing envelopes [#76].

pimalaya-email-tpl
Added
 - Added parsing template from raw message support. Parsing is done via the
   TplInterpreter builder, and functions TplInterpreter::interpret_* return the
   parsed template.

Changed
 - Replaced [lettre] by [mail-builder] and [mail-parser].
 - Use crate [nanohtml2text] instead of manual html to plain transform using
   ammonia, html-escape and regex.
 - Moved MML stuff in its own mml module, to be as close as what provides the
   Emacs MML module. The tpl module contains stuff related to template.
   A template is just an email composed of headers and one unique plain text
   part. This plain text part can be written in MML.
 - Compiler options are now attached to the Tpl structure.

v0.7.3
Fixed
 - Fixed Windows releases (due to typo in the github action script).
 - Fixed unit tests.

v0.7.2
Added
 - Added create and delete folder commands [sourcehut#54].
 - Added generated completions and man pages to releases [sourcehut#43].
 - Added new account config option sync-folders-strategy which allows
   to choose a folders synchronization strategy [sourcehut#59]:
     - sync-folders-strategy = "all": synchronize all existing folders
        for the current account
     - sync-folders-strategy.include = ["folder1", \ 
"folder2", …]:
     - synchronize only the given folders for the current account
     - sync-folders-strategy.exclude = ["folder1", \ 
"folder2", …]:
     - synchronizes all folders except the given ones for the current
        account

 - Also added new account sync arguments that override the account
   config option:
     -A|--all-folders: include all folders to the synchronization.
     -F|--include-folder: include given folders to the
     synchronization. They can be repeated -F folder1 folder2 or -F folder1
      -F folder2.
     -x|--exclude-folder: exclude given folders from the
     synchronization. They can be repeated -x folder1 folder2 or -x folder1
      -F folder2.

 - Added cargo features native-tls (default), rustls-tls and
   rustls-native-certs.

Changed
 - Made global options truly global, which means they can be used
   everywhere (not only before commands but also after)
   [sourcehut#60].
 - Replaced reply all -a argument with -A because it conflicted
   with the global option -a|--account.
 - Replaced himalaya-lib by pimalaya-email.
 - Renamed feature vendored to native-tls-vendored.
 - Removed the develop branch, all the development is now done on the
   master branch.

Fixed
 - Fixed config deserialization issue with email-hooks and
   email-reading-format.
 - Fixed flags case sensitivity.
   2023-03-09 00:45:10 by Nikita | Files touched by this commit (5)
Log message:
mail/himalaya: Import as himalaya version 0.7.1

Himalaya is a CLI based on the himalaya-lib that allows you to manipulate
your emails using commands in your console.

Features:
    Folder listing
    Envelopes listing, searching and sorting
    Email composition based on $EDITOR
    Email manipulation (copy/move/delete)
    Multi-accounting
    Account listing
    Account synchronization for offline usage
    IMAP, Maildir and Notmuch support
    IMAP IDLE mode for real-time notifications
    PGP end-to-end encryption
    Completions for various shells
    JSON output
    ...