| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: himalaya | Distribution: openSUSE Tumbleweed |
| Version: 2.0.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Tue Jul 28 15:11:56 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 11845614 | Source RPM: himalaya-2.0.0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/pimalaya/himalaya | |
| Summary: Command-line interface for email management | |
Command-line interface for email management.
AGPL-3.0-only AND AGPL-3.0-or-later AND GPL-2.0-or-later AND MIT AND bzip2-1.0.6 AND MPL-2.0 AND CC-BY-3.0 AND BSD-4-Clause AND OpenSSL AND OFL-1.1
* Tue Jul 28 2026 Michael Vetter <mvetter@suse.com>
- Update to 2.0.0:
Added:
* Added Gmail REST API support: a [gmail] account backend behind the shared
mail commands (--backend gmail), plus a protocol-specific gmail command
exposing the full REST surface (profile, labels, messages, attachments,
drafts, threads, history, settings). Authenticates with a single OAuth 2.0
bearer token (gmail.auth.token.raw / .command), the only authorization
Gmail's REST API accepts.
* Added Microsoft Graph REST API support: a [msgraph] account backend behind
the shared mail commands (--backend msgraph), plus a protocol-specific
msgraph command exposing the Graph mail surface (profile, mail-folder,
message, attachment). Mirrors [gmail], authenticating with a single OAuth
2.0 bearer token.
* Restored the RFC 2971 ID-after-auth quirk as imap.id.{auto, fields},
replacing the v1.2.0 imap.extensions.id.send-after-auth flag dropped during
the v2 migration.
* Brought the m2dir backend to CLI feature parity with maildir (messages,
flags, envelopes). Mailbox rename and message copy / move still await
io-m2dir support.
* Added --save <MAILBOX> to messages send, mirroring the flag on messages
compose / reply / forward.
* Added --send to messages add (alias messages save), mirroring messages send --save.
* Added raw passthrough commands imap raw <command> and smtp raw <command>.
* The wizard now pre-fills mailbox.alias.* from the server, so a generated
account has a working default mailbox (the inbox alias, which backs
commands that omit -m/--mailbox) and known Sent/Drafts/Trash/… targets
without hand-editing ids. JMAP reads the RFC 8621 mailbox roles live over
the tested connection. Gmail and Microsoft Graph map their fixed
system-label ids (INBOX, SENT, …) and well-known folder names (inbox,
sentitems, …). IMAP pins the reserved INBOX only. The other special-use
roles await LIST RETURN (SPECIAL-USE) support in io-imap (upstream
imap-codec has none yet).
* Added the json-schema <DIR> command, which writes one JSON Schema file per
structured-output command (himalaya-<cmd>-<subcmd>.json) describing its
- -json payload, so downstream tooling can validate and type Himalaya's
machine output. Only the schemas for compiled-in backends are emitted
(#547).
* The discovery wizard now falls back to the system DNS resolver
(/etc/resolv.conf on unix, the network adapters on windows) before the
Cloudflare default, making the resolution chain HIMALAYA_DNS_RESOLVER then
system then 1.1.1.1. This avoids leaking the email domain to a third-party
resolver and works around networks that block the default.
* Added local socket-proxy support: imap.server / smtp.server now accept a
unix:///path scheme to connect through a pre-authenticated session proxy
such as sirup. No SASL is negotiated over the socket (the session arrives
already authenticated), and a single-session proxy can back the storage
backend without Himalaya opening a second connection (#264).
Changed:
* Flattened the imap command tree into top-level verbs mirroring the
protocol's flat command list (select, create, append, store, fetch, …),
replacing the former mailbox / envelope / message / flag subgroups.
* Unified raw-message input across the messages, imap, maildir, jmap, msgraph
and smtp send/add commands behind a single MessageArg (file path, inline
raw, or piped stdin), and removed the legacy --file flag on messages add.
* Split the merged Account out of every client wrapper: subcommands now
receive account and client as sibling arguments instead of reaching through
client.account.
* Breaking: changed bare himalaya (no subcommand) to run the account wizard
instead of listing the default account's envelopes. Himalaya is now a
lower-level tool: envelope listing lives under its explicit commands, and
the bare invocation is the natural entry point for setting up an account.
* Changed the wizard to print the generated account as a ready-to-save TOML
document on stdout instead of writing it to disk, mirroring ortie. Redirect
it into your config file yourself (e.g. himalaya >
~/.config/himalaya/config.toml). It runs on bare himalaya and is still
proposed when a command finds no config, while a config that exists but
lacks the requested account is now a hard error rather than a wizard
trigger.
* The account's connection is tested before the config is printed, so a bad
credential or endpoint stops the wizard instead of yielding a config that
cannot connect. The output is compact: only the [accounts.<name>] table
stays a section header, every other table is flattened into dotted keys
(imap.sasl.plain.username = …), and empty tables and defaulted values
(starttls, alpn, id.auto) are dropped.
* Reworked the wizard's account-setup flow. The discovery list now shows one
entry per reachable service (IMAP + SMTP, JMAP, Gmail, Microsoft Graph),
and the authentication method is chosen in a second, service-specific
prompt: the SASL mechanism (PLAIN, LOGIN, SCRAM-SHA-256, OAUTHBEARER, …)
for IMAP + SMTP, the HTTP scheme (Basic / Bearer) for JMAP. OAuth 2.0 is no
longer a dead-end list entry: it folds into the "API token" credential
prompt, which now offers the OS keyrings and the OAuth token brokers
(Ortie, pizauth, oama) together, the brokers appearing only when the
service advertises OAuth.
* The wizard now tests IMAP and SMTP as it configures them: the IMAP
connection is validated first, then it asks whether SMTP reuses the same
credentials (the two may advertise different auth), re-running the SASL
prompt for a distinct one, and tests SMTP last.
* The wizard no longer prompts for an account name. It is derived from the
input (the domain's first label, or the folder name). Rename it by editing
the printed [accounts.<name>] table key.
Fixed:
* Fixed compilation error when the wizard feature was disabled (#634).
* Fixed mailbox-alias resolution to apply across every shared messages
subcommand (add, read, reply, forward, copy, move) and the --save flag on
compose / reply / forward, so aliases like mailbox.alias.sent are honoured
before the backend call.
* Fixed swapped save/send success messages ("saved" printed after a pure
send, "sent" after a pure save).
Removed:
* Removed the [message.composer.*] / [message.reader.*] config tables and the
compose-with / reply-with / forward-with / mailto / read-with subcommands.
Richer composition now chains standalone tools such as mml into messages
send / add.
* The "stdout = MIME draft" contract was incompatible with composers spawning
an interactive editor, whose UI inherited the parent's piped stdout.
* Dropped HIMALAYA_CONFIG environment-variable support. -c/--config still
accepts one or more :-separated paths.
* Removed the account configure command (alias account edit) and its
per-field edit wizard. Account setup now goes through the bare himalaya
discovery wizard, leaving account list and account check for inspection.
* Wed Mar 25 2026 munix9@googlemail.com
- Update to version 1.2.0:
* Added
- Added --quiet flag (#545).
- Added support for custom TLS certificate.
- Added support for multiple config files via
HIMALAYA_CONFIG=path1:path2:… (#612).
- Added -d|--downloads-dir argument to attachment download
command (#559).
- Added View and View MIME post edit choices (#486).
- Made message send and template send return id (#627).
- Enabled shell expansion for email, IMAP and SMTP login
fields, which allows usage of environment variables (#632).
* Fixed
- Bumped all deps, fixing rustls-platform-verifier
compatibility version issue.
- Fixed invalid fetch with NIL body encoding (#525).
- Fixed freeze when sending large attachments (#593).
- Fixed abusive warn logs from IMAP libs (#552).
- Downgraded toml@0.8 due to regression (#611).
- Update to version 1.1.0:
* 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]
- Update to version 1.0.0:
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, CLI to synchronize, backup and restore emails
* Mirador CLI, 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.
Changelog:
https://github.com/pimalaya/himalaya/releases/tag/v1.0.0
- Add desktop file, icon, completions and man pages
- Remove cargo_config (obsolete)
- Update _service file (use cargo_vendor, new url)
- Clean up spec file
* Wed May 15 2024 Sai Karthik Karra <kskarthik@disroot.org>
- Update upstream project url in spec
* Tue Sep 19 2023 Lubos Kocman <lubos.kocman@suse.com>
- Correction of license based on legaldb review
* Mon Sep 04 2023 Michael Vetter <mvetter@suse.com>
- Rewrite _service file to work around
https://github.com/openSUSE/obs-service-tar_scm/issues/481
* Mon Aug 28 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.9.0:
* 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.
* 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.
* Tue Jul 18 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.8.4:
* Fixed windows releases due to cargo deps typo.
* Tue Jul 18 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.8.3:
* Fix windows releases due to coredump crate compilation error.
* Fix macos releases due to macos 12 System Integrity Protection.
* Tue Jul 18 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.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.
* Fri Jun 23 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.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.
* Fri Jun 09 2023 Gus Kenion <gkenion@suse.com>
- Update to 0.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.
* Mon May 01 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.7.3:
* Fixed Windows releases (due to typo in the github action script).
* Fixed unit tests.
* Mon May 01 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.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.
* Tue Feb 14 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.7.1:
Added:
* Added command folders expunge that deletes all emails marked for
deletion.
Changed:
* Changed the location of the documentation.
Fixed:
* Fixed broken links in README.md.
Removed:
* Removed the maildir-backend cargo feature, it is now included by
default.
* Removed issues section on GitHub, now issues need to be opened by
sending an email at ~soywod/pimalaya@todo.sr.ht.
* Wed Feb 08 2023 Michael Vetter <mvetter@suse.com>
- Update to 0.7.0:
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 and folder for commands copy and move
in order the folder not to be considered as an id.
Fixed:
* Fixed missing folder aliases [#430].
Removed:
* Removed the -a|--attachment argument from write, 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 from write, reply and forward
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 the RUST_LOG
environment variable (see the wiki)
/usr/bin/himalaya /usr/share/applications/himalaya.desktop /usr/share/bash-completion /usr/share/bash-completion/completions /usr/share/bash-completion/completions/himalaya /usr/share/doc/packages/himalaya /usr/share/doc/packages/himalaya/CHANGELOG.md /usr/share/doc/packages/himalaya/README.md /usr/share/doc/packages/himalaya/config.sample.toml /usr/share/fish /usr/share/fish/vendor_completions.d /usr/share/fish/vendor_completions.d/himalaya.fish /usr/share/icons/hicolor/scalable/apps/himalaya.svg /usr/share/licenses/himalaya /usr/share/licenses/himalaya/LICENSE-APACHE /usr/share/licenses/himalaya/LICENSE-MIT /usr/share/man/man1/himalaya-account.1.gz /usr/share/man/man1/himalaya-attachment.1.gz /usr/share/man/man1/himalaya-completion.1.gz /usr/share/man/man1/himalaya-envelope.1.gz /usr/share/man/man1/himalaya-flag.1.gz /usr/share/man/man1/himalaya-gmail.1.gz /usr/share/man/man1/himalaya-imap.1.gz /usr/share/man/man1/himalaya-jmap.1.gz /usr/share/man/man1/himalaya-json-schema.1.gz /usr/share/man/man1/himalaya-m2dir.1.gz /usr/share/man/man1/himalaya-mailbox.1.gz /usr/share/man/man1/himalaya-maildir.1.gz /usr/share/man/man1/himalaya-manual.1.gz /usr/share/man/man1/himalaya-message.1.gz /usr/share/man/man1/himalaya-msgraph.1.gz /usr/share/man/man1/himalaya-smtp.1.gz /usr/share/man/man1/himalaya.1.gz /usr/share/zsh /usr/share/zsh/site-functions /usr/share/zsh/site-functions/_himalaya
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 01:54:38 2026