Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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