Added
- Added offline support with the
account sync
command to synchronize
a backend to a local Maildir backend [#342]. - Added the flag
--disable-cache
to not use the local Maildir
backend. - Added the email composer (from its own
repository) [#341]. - Added Musl builds to releases [#356].
- Added
himalaya man
command to generate man page [#419].
Changed
- Made commands
read
,attachments
,flags
,copy
,move
,
delete
accept multiple ids. - Flipped arguments
ids
andfolder
for commandscopy
andmove
in order the folder not to be considered as an id.
Fixed
- Fixed missing folder aliases [#430].
Removed
- Removed the
-a|--attachment
argument fromwrite
,reply
and
forward
commands. Instead you can attach documents directly from
the template using the syntax<#part filename=/path/to/you/document.ext>
. - Removed the
-e|--encrypt
flag fromwrite
,reply
andforward
commands. 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-level
option, use instead theRUST_LOG
environment variable (see the
wiki)
himalaya-lib v0.5.0
Added
- Made backend functions accept a vector of id instead of a single id
[#20]. - Added function
Backend::purge_folder
that removes all emails
inside a folder. - Added new
Backend
functions using the internal id:get_envelope_internal
: gets an envelope by its internal idadd_email_internal
: adds an email and returns its internal idget_emails_internal
: gets emails by their internal idcopy_emails_internal
: copies emails by their internal idmove_emails_internal
: copies emails by their internal iddelete_emails_internal
: copies emails by their internal idadd_flags_internal
: adds emails flags by their internal idset_flags_internal
: set emails flags by their internal idremove_flags_internal
: removes emails flags by their internal id
- Added emails synchronization feature. Backends that implement the
ThreadSafeBackend
trait inherit thesync
function that
synchronizes all folders and emails with a localMaildir
instance. - Added
Backend::sync
function and linkThreadSafeBackend::sync
to
it for the IMAP and the Maildir backends. - Added the ability to URL encode Maildir folders (in order to fix
path collisions, for eg[Gmail]/Sent
). Also added a
MaildirBackendBuilder
to facilitate the usage of the
url_encoded_folders
option. - Added a process lock for
ThreadSafeBackend::sync
, this way only
one synchronization can be performed at a time (for a same account).
Fixed
- Used native IMAP commands
copy
andmv
. - Fixed maildir date envelope parsing.
- Fixed inline attachments not collected.
Changed
- Improved
Backend
method names. Also replaced theself mut
by a
RefCell
. - Simplified the
Email
struct: there is no custom implementation
with custom fields. Now, theEmail
struct is just a wrapper around
mailparse::ParsedMail
. - Improved
Flag
structures. - Changed
Backend
trait functions due to [#20]:list_envelope
=>list_envelopes
search_envelope
=>search_envelopes
get_email
=>get_emails
, takes nowids: Vec<&str>
and
returns anEmails
structure instead of anEmail
)copy_email
=>copy_emails
, takes nowids: Vec<&str>
.move_email
=>move_emails
, takes nowids: Vec<&str>
.delete_email
=>delete_emails
, takes nowids: Vec<&str>
.add_flags
takes nowids: Vec<&str>
andflags: &Flags
.set_flags
takes nowids: Vec<&str>
andflags: &Flags
.remove_flags
takes nowids: Vec<&str>
andflags: &Flags
.
Removed
- The
email::Tpl
structure moved to its own
repository. - Encryption and signed moved with the
email::Tpl
in its own
repository.
Pending issues
- Waiting for a new release from jonhoo/rust-imap#220.
- Waiting for a new release from zesterer/chumsky#224 (reply in thread)
- Waiting for an answer on decrypting and verifying parts staktrace/mailparse#112