Skip to content

Commit

Permalink
mail/himalaya: update to 0.9.0
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
0323pin committed Sep 15, 2023
1 parent 2ed3bb9 commit 3dd465b
Show file tree
Hide file tree
Showing 3 changed files with 907 additions and 200 deletions.
5 changes: 2 additions & 3 deletions mail/himalaya/Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# $NetBSD: Makefile,v 1.1 2023/03/08 23:45:10 nikita Exp $
# $NetBSD: Makefile,v 1.2 2023/09/15 06:26:14 pin Exp $

DISTNAME= himalaya-0.7.1
DISTNAME= himalaya-0.9.0
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_GITHUB:=soywod/}
GITHUB_PROJECT= himalaya
GITHUB_TAG= v${PKGVERSION_NOREV}

MAINTAINER= pkgsrc-users@NetBSD.org
Expand Down
Loading

0 comments on commit 3dd465b

Please sign in to comment.