* update codebase with email lib changes (#431) update himalaya-lib, rename remaining mbox vars add missing methods from lib update changelog * fixed missing folder aliases #430 * improve README links * fix README repology link * fix README repology table * fix README repology table 2 * center README repology table * fix README cosmetic issues * fix README cosmetic issues 2 * fix README title * fix README wiki links * fix lock file * prepare v0.6.2 * fix ci * try some musl builds #356 * add musl build to artifact #356 * add musl build to deployment pipeline #356 * migrate clap v4, add man command #419 * add option to choose color manually #407 * update links and badges * update matrix badge * add github release version badge * update badges links * fix code bloc type * fix tests * fix cargo lock * generate all man pages for all subcommands #419 * fix query and headers arg parsers * fix invalid flags and options due to clap v4 migration * fix tests * remove -l|--log-level option * refactor contributing guide * update lib * fix flags string printer * make commands read, attachments, copy, move and delete accept multiple ids * fix ids arg parser * fix flags subcommands conflicts between ids and flags * flip back copy and move arguments * add issue template (#439) * update lib, prepare for sync feature * update himalaya lib, fix senders and config * update lock file himalaya lib * fix sync enabling issues * fix wrong imap backend init in main file * fix notmuch backend post sync feature * configuration wizard (#432) * make DeserializedConfig::path more robust With this change, himalaya uses the crate `dirs` in order to follow XDG specifications on Unix, Known Folder on Windows and Standard Directories on MacOS. This gives us much smoother cross-platform support. It still has the same fallbacks (`$HOME/.config/himalaya/config.toml` and `$HOME/.himalayarc`.) Additionally, this commit removes a bit of in-house code-bloat. * add wizard entrypoint and basic structure * wip * feat: impl Serialize for all DeserializedConfigs * feat: select default account and write to file * feat: add SMTP part of wizard * build: update lockfile * refactor: separate out multiple files for wizard * style: friendlier and prettier messages * feat: add maildir part of wizard * feat: add notmuch part of wizard * chore: clippy lints and reorder prompts * fix: contrived solution to serializing None values * fix: allow empty Option field when deserializing * style: address PR review comments * fix: utilize notmuch lib in finding database path * fix notmuch wizard --------- Co-authored-by: Clément DOUIN <clement.douin@posteo.net> * add account sync progress bar * improve sync spinner * make the sync dry run flag show patches without applying them * update himalaya lib, increase imap session pool size * add disable cache flag * add nlnet logo in readme * update himalaya lib deps, make use of sync reports * prepare v0.7.0 * bump rustc v1.67.0 and clap v4.1.4 * bump himalaya lib v0.5.1, fix flake lock file --------- Co-authored-by: janabhumi <dmitriy@ideascup.me> Co-authored-by: Knut Magnus Aasrud <km@aasrud.com>
21 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.7.0 - 2023-02-08
Added
- Added offline support with the
account synccommand to synchronize a backend to a local Maildir backend #342. - Added the flag
--disable-cacheto not use the local Maildir backend. - Added the email composer (from its own repository) #341.
- Added Musl builds to releases #356.
- Added
himalaya mancommand to generate man page #419.
Changed
- Made commands
read,attachments,flags,copy,move,deleteaccept multiple ids. - Flipped arguments
idsandfolderfor commandscopyandmovein order the folder not to be considered as an id.
Fixed
- Fixed missing folder aliases #430.
Removed
- Removed the
-a|--attachmentargument fromwrite,replyandforwardcommands. Instead you can attach documents directly from the template using the syntax<#part filename=/path/to/you/document.ext>. - Removed the
-e|--encryptflag fromwrite,replyandforwardcommands. Instead you can encrypt and sign parts directly from the template using the syntax<#part type=text/plain encrypt=command sign=command>Hello!<#/part>. - Removed the
-l|--log-leveloption, use instead theRUST_LOGenvironment variable (see the wiki)
0.6.1 - 2022-10-12
Added
- Added
-s|--sanitizeflag for thereadcommand.
Changed
-
Changed the behaviour of the
-t|--mime-typeargument of thereadcommand. It is less strict now: if no part is found for the given MIME type, it will fallback to the other one. For example, giving-t htmlwill show in priority HTML parts, but if none of them are found it will show plain parts instead (and vice versa). -
Sanitization is not done by default when using the
readcommand, the flag-s|--sanitizeneeds to be explicitly provided.
Fixed
- Fixed empty text bodies when reading html part on plain text email #352.
0.6.0 - 2022-10-10
Changed
-
Separated the CLI from the lib module #340.
The source code has been splitted into subrepositories:
-
[BREAKING] Renamed
-m|--mailboxto-f|--folder -
[BREAKING] Refactored config system #344.
The configuration has been rethought in order to be more intuitive and structured. Here are the breaking changes for the global config:
namebecomesdisplay-nameand is not mandatory anymoresignature-delimiterbecomessignature-delimdefault-page-sizehas been moved tofolder-listing-page-sizeandemail-listing-page-sizenotify-cmd,notify-queryandwatch-cmdshave been removed from the global config (available in account config only)folder-aliaseshas been added to the global config (previously known asmailboxesfrom the account config)email-reading-headers,email-reading-format,email-reading-decrypt-cmd,email-writing-encrypt-cmdandemail-hookshave been added
The account config inherits the same breaking changes from the global config, plus:
imap-*requiresbackend = "imap"maildir-*requiresbackend = "maildir"notmuch-*requiresbackend = "notmuch"smtp-*requiressender = "smtp"sendmail-*requiressender = "sendmail"pgp-encrypt-cmdbecomesemail-writing-encrypt-cmdpgp-decrypt-cmdbecomesemail-reading-decrypt-cmdmailboxesbecomesfolder-aliaseshooksbecomesemail-hooksmaildir-dirbecomesmaildir-root-dirnotmuch-database-dirbecomesnotmuch-db-path
0.5.10 - 2022-03-20
Fixed
0.5.9 - 2022-03-12
Added
Changed
- Improve
attachmentscommand #281
Fixed
In-Reply-Tonot set properly when replying to a message #323Ccmissing or invalid when replying to a message #324- Notmuch backend hangs #329
- Maildir e2e tests #335
- JSON API for listings #331
0.5.8 - 2022-03-04
Added
Changed
- Vim doc about mailbox pickers #298
Fixed
0.5.7 - 2022-03-01
Added
- Notmuch support #57
Fixed
- Build failure due to
imapversion #303 - No tilde expansion in
maildir-dir#305 - Unknown command SORT #308
Changed
- [BREAKING] Replace
inbox-folder,sent-folderanddraft-folderby a generic hashmapmailboxes - Display short envelopes id for
maildirandnotmuchbackends #309
0.5.6 - 2022-02-22
Added
Fixed
- Suffix to downloaded attachments with same name #204
0.5.5 - 2022-02-08
Added
- Contributing guide #256
- Notify query config option #289
- End-to-end encryption #54
Fixed
0.5.4 - 2022-02-05
Fixed
0.5.3 - 2022-02-03
Added
- Activate rust-imap logs when trace mode is enabled
- Set up cargo deployment
0.5.2 - 2022-02-02
Fixed
- Blur in list msg screenshot #181
- Make inbox, sent and drafts folders customizable #172
- Vim plugin get focused msg id #268
- Nix run issue #272
- Range not displayed when fetch fails #276
- Blank lines and spaces in
text/plainparts #280 - Watch command #271
- Mailbox telescope.nvim preview #249
Removed
- The wiki git submodule #273
0.5.1 - 2021-10-24
Added
Fixed
- Error when receiving notification from
notifycommand #228
Changed
- Remove error when empty subject #229
- Vim plugin does not render anymore the msg by itself, it uses the one available from the CLI #220
0.5.0 - 2021-10-10
Added
- Mailto support #162
- Remove previous signature when replying/forwarding a message #193
- Config option
signature-delimiterto customize the signature delimiter (default to-- \n) [#114] - Expand tilde and env vars for
downloads-dirandsignature#102
Changed
- [BREAKING] Folder structure, message management, JSON API and Vim plugin #199
- Pagination for list and search cmd starts from 1 instead of 0 #186
- Errors management with
anyhow#152
Fixed
- Panic on flags command #190
- Make more use of serde #153
- Write message vim plugin #196
- Invalid encoding when sending message #205
- Pagination reset current account #215
- New/reply/forward from Vim plugin since Tpl refactor #176
0.4.0 - 2021-06-03
Added
- Add ability to change account in with the Vim plugin #91
- Add possibility to make Himalaya default email app #160 [#161]
Changed
- [BREAKING] Short version of reply
--allarg is now-Ato avoid conflicts with--attachment|-a - Template management #80
Fixed
Removed
Content-Typefrom templates #146
0.3.2 - 2021-05-08
Added
- Mailbox attributes #134
- Wiki entry about new messages counter #121
- Copy/move/delete a message in vim #95
Changed
- Get signature from file #135
- [BREAKING] Split
idlecommand into two commands:notify: Runsnotify-cmdwhen a new message arrives to the serverwatch: Runswatch-cmdswhen any change occurs on the server
Removed
.exeextension from release binaries #144
0.3.1 - 2021-05-04
Added
- Send message via stdin #78
Fixed
- Table with subject containing
\r,\nor\t#141 - Overflow panic when shrink column #138
- Vim plugin empty mailbox message #136
0.3.0 - 2021-04-28
Fixed
- IDLE mode after network interruption #123
- Output redirected to
stderr#130 - Refactor table system #132
- Editon file format on Linux #133
- Show email address when name not available #131
Removed
--log-level|-larg (replaced by defaultRUST_LOGenv var fromenv_logger) #130
0.2.7 - 2021-04-24
Added
Changed
Fixed
0.2.6 - 2021-04-17
Added
- Insecure TLS option #84 #103 [#105]
- Completion subcommands [#99]
- Vim flags to enable telescope preview and to choose picker [#97]
Changed
- Make
install.shPOSIX compliant [#53]
Fixed
- SMTP port #87
- Save msg upon error #59
- Answered flag not set #50
- Panic when downloads-dir does not exist #100
- Idle mode incorrect new message notification #48
0.2.5 - 2021-04-12
Fixed
0.2.4 - 2021-04-09
Added
- Wiki entry for Gmail users #58
- Info logs for copy/move/delete cmd + silent mode #74
--rawarg forreadcmd #79
Changed
- Refactor output system + log levels #74
0.2.3 - 2021-04-08
Added
- Telescope support #61
Fixed
0.2.2 - 2021-04-04
Added
walias forwritecmd
Fixed
attachmentscmd logs- Page size arg
searchcmd
0.2.1 - 2021-04-04
Added
- IDLE support #29
- Improve choice after editing msg #30
- Flags management #41
- Copy feature #35
- Move feature #31
- Delete feature [#36]
- Signature support #33
- Add attachment(s) to a message (CLI) #37
Changed
- Errors management with
error_chain#39
Fixed
0.2.0 - 2021-03-10
Added
Changed
- JSON support #18
0.1.0 - 2021-01-17
Added
- Parse TOML config #1
- Populate Config struct from TOML #2
- Set up IMAP connection #3
- List new emails [#6]
- Set up CLI arg parser #15
- List mailboxes command #5
- Text and HTML previews #12 #13
- Set up SMTP connection #4
- Write new email #8
- Write new email #8
- Reply, reply all and forward #9 #10 #11
- Download attachments #14
- Merge
EmailwithMsg#21 - List command with pagination #19
- Icon in table when attachment is present #16
- Multi-account #17
- Password from command #22
- Set up README #20