2020-12-24 23:36:24 +00:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog ](https://keepachangelog.com/en/1.0.0/ ),
and this project adheres to [Semantic Versioning ](https://semver.org/spec/v2.0.0.html ).
## [Unreleased]
2023-12-19 16:44:16 +00:00
Few major concepts changed:
- The concept of backend and sender changed. The sender does not exist anymore (it is now a backend). A backend is now a set of features like add folders, list envelopes or send raw message. The backend of every single feature can be customized in the configuration file, which gives users more flexibility. Here the list of features that can be customized:
- `backend` *(required)* : the backend used by default by all backend features (`maildir`, `imap` or `notmuch` )
- `folder.add.backend` : override the backend used for creating folders (`maildir`, `imap` or `notmuch` )
- `folder.list.backend` : override the backend used for listing folders (`maildir`, `imap` or `notmuch` )
- `folder.expunge.backend` : override the backend used for expunging folders (`maildir`, `imap` or `notmuch` )
- `folder.purge.backend` : override the backend used for purging folders (`maildir`, `imap` or `notmuch` )
- `folder.delete.backend` : override the backend used for deleting folders (`maildir`, `imap` or `notmuch` )
- `envelope.list.backend` : override the backend used for listing envelopes (`maildir`, `imap` or `notmuch` )
- `envelope.get.backend` : override the backend used for getting envelopes (`maildir`, `imap` or `notmuch` )
- `envelope.watch.backend` : override the backend used for watching envelopes (`maildir`, `imap` or `notmuch` )
- `flag.add.backend` : override the backend used for adding flags (`maildir`, `imap` or `notmuch` )
- `flag.set.backend` : override the backend used for setting flags (`maildir`, `imap` or `notmuch` )
- `flag.remove.backend` : override the backend used for removing flags (`maildir`, `imap` or `notmuch` )
- `message.send.backend` *(required)* : override the backend used for sending messages (`sendmail` or `smtp` )
- `message.read.backend` : override the backend used for reading messages (`maildir`, `imap` or `notmuch` )
- `message.write.backend` : override the backend used for adding flags (`maildir`, `imap` or `notmuch` )
- `message.copy.backend` : override the backend used for copying messages (`maildir`, `imap` or `notmuch` )
- `message.move.backend` : override the backend used for moving messages (`maildir`, `imap` or `notmuch` )
- The CLI API changed: every command is now prefixed by its domain following the format `himalaya <domain> <action>` . List of domain available by running `himalaya -h` and list of actions for a domain by running `himalaya <domain> -h` .
- Configuration file options use now the dot notation rather than the dash notation. For example, `folder-listing-page-size` became `folder.list.page-size` . See the changed section below for more details.
### Added
- Added cargo feature `maildir` (not working yet).
- Added cargo feature `sendmail` (not working yet).
- Added watch hooks `envelope.watch.received` (when a new envelope is received) and `envelope.watch.any` (for any other event related to envelopes). A watch hook can be:
- A shell command: `envelope.watch.any.cmd = "mbsync -a"`
- A system notification:
- `envelope.watch.any.notify.summary = "📬 New message from {sender}"` : customize the notification summary (title)
- `envelope.watch.any.notify.body = "{subject}"` : customize the notification body (content)
*Available placeholders: id, subject, sender, sender.name, sender.address, recipient, recipient.name, recipient.address.*
- Added watch support for Maildir backend features.
### Changed
- Renamed cargo feature `imap-backend` → `imap` .
- Renamed cargo feature `notmuch-backend` → `notmuch` .
- Renamed cargo feature `smtp-sender` → `smtp` .
- Disabled temporarily the `notmuch` backend because it needs to be refactored using the backend features system (it should be reimplemented soon).
- Changed the goal of the config option `backend` : it is now the default backend used for all backend features. Valid backends: `imap` , `maildir` , `notmuch` .
- Moved `folder-aliases` config option to `folder.alias(es)` .
- Moved `folder-listing-page-size` config option to `folder.list.page-size` .
- Moved `email-listing-page-size` config option to `envelope.list.page-size` .
- Moved `email-listing-datetime-fmt` config option to `envelope.list.datetime-fmt` .
- Moved `email-listing-datetime-local-tz` config option to `envelope.list.datetime-local-tz` .
- Moved `email-reading-headers` config option to `message.read.headers` .
- Moved `email-reading-format` config option to `message.read.format` .
- Moved `email-writing-headers` config option to `message.write.headers` .
- Move `email-sending-save-copy` config option to `message.send.save-copy` .
- Move `email-hooks.pre-send` config option to `message.send.pre-hook` .
- Moved `sync` config option to `sync.enable` .
- Moved `sync-dir` config option to `sync.dir` .
- Moved `sync-folders-strategy` config option to `sync.strategy` .
### Removed
- Removed all global options except for `display-name` , `signature` , `signature-delim` and `downloads-dir` .
- Removed the `notify` command (replaced by the new `watch` command).
2023-08-28 07:04:13 +00:00
## [0.9.0] - 2023-08-28
2023-08-06 12:31:15 +00:00
### Added
- Added 3 new cargo features:
2023-08-28 07:04:13 +00:00
- `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
2023-08-06 12:31:15 +00:00
- Added account configuration `pgp` to configure the way PGP operations are performed.
2023-08-28 07:04:13 +00:00
### Changed
2023-08-06 12:31:15 +00:00
2023-08-28 07:04:13 +00:00
- Moved `email-writing-encrypt-cmd` to `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` .
2023-08-06 12:31:15 +00:00
2023-07-18 15:48:19 +00:00
## [0.8.4] - 2023-07-18
### Fixed
- Fixed windows releases due to cargo deps typo.
2023-07-18 15:24:52 +00:00
## [0.8.3] - 2023-07-18
2023-07-18 15:23:24 +00:00
### Fixed
- Fixed windows releases due to `coredump` crate compilation error.
- Fixed macos releases due to macos 12 System Integrity Protection.
2023-07-18 14:40:08 +00:00
## [0.8.2] - 2023-07-18
2023-07-09 20:31:39 +00:00
### Changed
- Made the code async using the tokio async runtime.
- On Linux, made the kernel keyring the default one (the one based on keyutils).
2023-07-17 09:28:46 +00:00
### 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].
2023-06-15 14:51:03 +00:00
## [0.8.1] - 2023-06-15
2023-06-13 08:24:15 +00:00
### 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` ).
2023-06-15 14:51:03 +00:00
- Added `email-listing-datetime-fmt` to customize envelopes datetime format. See format spec [here ](https://docs.rs/chrono/latest/chrono/format/strftime/index.html ).
2023-06-15 13:45:36 +00:00
- 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.
2023-06-13 08:24:15 +00:00
2023-06-03 21:43:07 +00:00
## [0.8.0] - 2023-06-03
2023-05-06 22:14:04 +00:00
### Added
2023-05-16 17:07:56 +00:00
- 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.
2023-05-19 14:00:13 +00:00
- 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` .
2023-05-31 14:12:18 +00:00
- 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`
2023-05-06 22:14:04 +00:00
### Changed
2023-05-31 14:12:18 +00:00
- 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:
2023-06-13 13:47:58 +00:00
- `{ raw = <secret> }` for the raw secret as string (unsafe, not recommended),
2023-05-16 17:07:56 +00:00
- `{ cmd = <secret-cmd> }` for command that exposes the secret,
- `{ keyring = <secret-entry> }` for entry in your system's global keyring that contains the secret.
2023-05-06 22:14:04 +00:00
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`
2023-05-31 14:12:18 +00:00
### 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.
2023-06-03 21:43:07 +00:00
- [**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.
2023-05-31 14:12:18 +00:00
2023-04-30 22:48:28 +00:00
## [0.7.3] - 2023-05-01
2023-04-30 22:36:55 +00:00
### Fixed
- Fixed Windows releases (due to typo in the github action script).
2023-04-30 22:44:59 +00:00
- Fixed unit tests.
2023-04-30 22:36:55 +00:00
2023-04-30 22:19:59 +00:00
## [0.7.2] - 2023-05-01
2023-02-20 17:26:10 +00:00
### Added
- Added `create` and `delete` folder commands [sourcehut#54].
2023-05-31 14:12:18 +00:00
- 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]:
2023-02-22 12:14:21 +00:00
2023-05-31 14:12:18 +00:00
- `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:
2023-02-22 12:14:21 +00:00
- `-A|--all-folders` : include all folders to the synchronization.
2023-05-31 14:12:18 +00:00
- `-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` .
2023-02-22 12:14:21 +00:00
2023-05-31 14:12:18 +00:00
- Added cargo features `native-tls` (default), `rustls-tls` and `rustls-native-certs` .
2023-04-25 07:39:49 +00:00
2023-02-22 12:14:21 +00:00
### Changed
2023-05-31 14:12:18 +00:00
- 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` .
2023-04-20 10:12:33 +00:00
- Replaced `himalaya-lib` by `pimalaya-email` .
2023-04-25 07:39:49 +00:00
- Renamed feature `vendored` to `native-tls-vendored` .
2023-05-31 14:12:18 +00:00
- Removed the `develop` branch, all the development is now done on the `master` branch.
2023-02-20 17:26:10 +00:00
2023-02-18 20:12:47 +00:00
### Fixed
2023-05-31 14:12:18 +00:00
- Fixed config deserialization issue with `email-hooks` and `email-reading-format` .
2023-02-20 16:41:26 +00:00
- Fixed flags case sensitivity.
2023-02-18 20:12:47 +00:00
2023-02-14 15:47:02 +00:00
## [0.7.1] - 2023-02-14
### Added
2023-05-31 14:12:18 +00:00
- Added command `folders expunge` that deletes all emails marked for deletion.
2023-02-14 15:47:02 +00:00
### Changed
2023-05-31 14:12:18 +00:00
- Changed the location of the [documentation ](https://pimalaya.org/himalaya/ ).
2023-02-14 15:47:02 +00:00
### Fixed
- Fixed broken links in README.md.
### Removed
2023-05-31 14:12:18 +00:00
- 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 ](mailto:~soywod/pimalaya@todo.sr.ht ).
2023-02-14 15:47:02 +00:00
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
## [0.7.0] - 2023-02-08
### Added
2023-05-31 14:12:18 +00:00
- 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 ](https://git.sr.ht/~soywod/mime-msg-builder )) [#341].
2023-02-14 15:47:02 +00:00
- Added Musl builds to releases [#356].
- Added `himalaya man` command to generate man page [#419].
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
### Changed
2023-05-31 14:12:18 +00:00
- 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.
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Fixed missing folder aliases [#430].
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
### Removed
2023-05-31 14:12:18 +00:00
- 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 ](https://github.com/soywod/himalaya/wiki/Tips:debug-and-logs ))
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
2022-10-12 14:47:44 +00:00
## [0.6.1] - 2022-10-12
2022-10-12 13:36:36 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Added `-s|--sanitize` flag for the `read` command.
2022-10-12 13:36:36 +00:00
### Changed
2023-05-31 14:12:18 +00:00
- Changed the behaviour of the `-t|--mime-type` argument of the `read` command. 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 html` will 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 `read` command, the flag `-s|--sanitize` needs to be explicitly provided.
2022-10-12 13:36:36 +00:00
### Fixed
2023-05-31 14:12:18 +00:00
- Fixed empty text bodies when reading html part on plain text email [#352].
2022-10-12 13:36:36 +00:00
2022-10-10 19:24:08 +00:00
## [0.6.0] - 2022-10-10
2022-09-22 14:38:38 +00:00
2022-09-22 16:16:16 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Separated the CLI from the lib module [#340].
2022-09-22 14:38:38 +00:00
2023-06-13 13:47:58 +00:00
The source code has been split into subrepositories:
2022-09-22 14:38:38 +00:00
2023-05-31 14:12:18 +00:00
- The email logic has been extracted from the CLI and placed in a lib on [sourcehut ](https://git.sr.ht/~soywod/himalaya-lib )
- The vim plugin is now in a dedicated repository on [sourcehut ](https://git.sr.ht/~soywod/himalaya-vim ) as well
- This repository only contains the CLI source code (it was not possible to move it to sourcehut because of cross platform builds)
2022-09-22 14:38:38 +00:00
2023-02-14 15:47:02 +00:00
- [**BREAKING**] Renamed `-m|--mailbox` to `-f|--folder`
2022-10-11 14:37:45 +00:00
2023-02-14 15:47:02 +00:00
- [**BREAKING**] Refactored config system [#344].
2022-10-10 16:06:13 +00:00
2023-05-31 14:12:18 +00:00
The configuration has been rethought in order to be more intuitive and structured. Here are the breaking changes for the global config:
2022-10-10 16:06:13 +00:00
2023-02-14 15:47:02 +00:00
- `name` becomes `display-name` and is not mandatory anymore
- `signature-delimiter` becomes `signature-delim`
2023-05-31 14:12:18 +00:00
- `default-page-size` has been moved to `folder-listing-page-size` and `email-listing-page-size`
- `notify-cmd` , `notify-query` and `watch-cmds` have been removed from the global config (available in account config only)
- `folder-aliases` has been added to the global config (previously known as `mailboxes` from the account config)
2023-02-14 15:47:02 +00:00
- `email-reading-headers` , `email-reading-format` ,
2022-10-10 16:06:13 +00:00
`email-reading-decrypt-cmd` , `email-writing-encrypt-cmd` and
`email-hooks` have been added
2022-09-22 14:38:38 +00:00
2023-05-31 14:12:18 +00:00
The account config inherits the same breaking changes from the global config, plus:
2022-10-10 19:24:08 +00:00
2023-02-14 15:47:02 +00:00
- `imap-*` requires `backend = "imap"`
- `maildir-*` requires `backend = "maildir"`
- `notmuch-*` requires `backend = "notmuch"`
- `smtp-*` requires `sender = "smtp"`
- `sendmail-*` requires `sender = "sendmail"`
- `pgp-encrypt-cmd` becomes `email-writing-encrypt-cmd`
- `pgp-decrypt-cmd` becomes `email-reading-decrypt-cmd`
- `mailboxes` becomes `folder-aliases`
- `hooks` becomes `email-hooks`
- `maildir-dir` becomes `maildir-root-dir`
- `notmuch-database-dir` becomes `notmuch-db-path`
2022-09-22 14:38:38 +00:00
2022-03-20 20:19:45 +00:00
## [0.5.10] - 2022-03-20
2022-03-15 12:55:40 +00:00
### Fixed
2023-05-31 14:12:18 +00:00
- Fixed flag commands [#334].
- Fixed Windows build [#346].
2022-03-15 12:55:40 +00:00
2022-03-12 17:02:46 +00:00
## [0.5.9] - 2022-03-12
2022-03-04 23:42:11 +00:00
### Added
2023-02-14 15:47:02 +00:00
- SMTP pre-send hook [#178]
- Customize headers to show at the top of a read message [#338]
2022-03-04 23:42:11 +00:00
2022-03-04 22:05:01 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Improve `attachments` command [#281]
2022-03-04 22:05:01 +00:00
2022-03-04 20:50:09 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- `In-Reply-To` not set properly when replying to a message [#323]
- `Cc` missing or invalid when replying to a message [#324]
- Notmuch backend hangs [#329]
- Maildir e2e tests [#335]
- JSON API for listings [#331]
2022-03-04 20:50:09 +00:00
2022-03-04 13:36:16 +00:00
## [0.5.8] - 2022-03-04
2022-03-03 12:12:01 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Flowed format support [#206]
- List accounts command [#244]
- One cargo feature per backend [#318]
2022-03-03 12:12:01 +00:00
2022-03-02 22:32:00 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Vim doc about mailbox pickers [#298]
2022-03-02 22:32:00 +00:00
2022-03-02 10:13:38 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Some emojis break the table layout [#300]
- Bad sender and date in reply and forward template [#321]
2022-03-02 10:13:38 +00:00
2022-03-01 22:12:21 +00:00
## [0.5.7] - 2022-03-01
### Added
2023-02-14 15:47:02 +00:00
- Notmuch support [#57]
2022-03-01 22:12:21 +00:00
2022-02-23 10:29:09 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Build failure due to `imap` version [#303]
- No tilde expansion in `maildir-dir` [#305]
- Unknown command SORT [#308]
2022-02-23 10:29:09 +00:00
2022-02-25 20:56:48 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- [**BREAKING**] Replace `inbox-folder` , `sent-folder` and `draft-folder` by a generic hashmap `mailboxes`
- Display short envelopes id for `maildir` and `notmuch` backends [#309]
2022-02-25 20:56:48 +00:00
2022-02-22 15:54:39 +00:00
## [0.5.6] - 2022-02-22
### Added
2023-02-14 15:47:02 +00:00
- Sort command [#34]
- Maildir support [#43]
2022-02-22 15:54:39 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Suffix to downloaded attachments with same name [#204]
2022-02-22 15:54:39 +00:00
2022-02-08 13:50:09 +00:00
## [0.5.5] - 2022-02-08
### Added
2023-02-14 15:47:02 +00:00
- [Contributing guide ](https://github.com/soywod/himalaya/blob/master/CONTRIBUTING.md ) [#256]
- Notify query config option [#289]
- End-to-end encryption [#54]
2022-02-08 13:50:09 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Multiple recipients issue [#288]
- Cannot parse address [#227]
2022-02-08 13:50:09 +00:00
2022-02-04 23:29:57 +00:00
## [0.5.4] - 2022-02-05
### Fixed
2023-02-14 15:47:02 +00:00
- Add attachments with save and send commands [#47] [#259]
- Invalid sequence set [#276]
2022-02-04 23:29:57 +00:00
2022-02-03 15:22:06 +00:00
## [0.5.3] - 2022-02-03
### Added
2023-02-14 15:47:02 +00:00
- Activate rust-imap logs when trace mode is enabled
- Set up cargo deployment
2022-02-03 15:22:06 +00:00
2022-02-02 01:21:35 +00:00
## [0.5.2] - 2022-02-02
### Fixed
2023-02-14 15:47:02 +00:00
- 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/plain` parts [#280]
- Watch command [#271]
- Mailbox telescope.nvim preview [#249]
2022-02-02 01:21:35 +00:00
### Removed
2023-02-14 15:47:02 +00:00
- The wiki git submodule [#273]
2022-02-02 01:21:35 +00:00
2021-10-24 21:40:37 +00:00
## [0.5.1] - 2021-10-24
2021-10-23 22:17:12 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Disable color feature [#185]
- `--max-width|-w` argument to restrict listing table width [#220]
2021-10-23 22:17:12 +00:00
2021-10-22 22:25:34 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Error when receiving notification from `notify` command [#228]
2021-10-22 22:46:21 +00:00
2022-02-02 01:21:35 +00:00
### Changed
2021-10-22 22:46:21 +00:00
2023-02-14 15:47:02 +00:00
- 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]
2021-10-22 22:25:34 +00:00
2021-10-10 22:06:46 +00:00
## [0.5.0] - 2021-10-10
2021-08-04 20:25:45 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Mailto support [#162]
- Remove previous signature when replying/forwarding a message [#193]
- Config option `signature-delimiter` to customize the signature delimiter (default to `-- \n` ) [[#114 ](https://github.com/soywod/himalaya/pull/114 )]
- Expand tilde and env vars for `downloads-dir` and `signature` [#102]
2021-08-04 20:25:45 +00:00
2021-08-06 11:33:51 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- [**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]
2021-08-06 11:33:51 +00:00
2021-08-03 20:43:39 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- 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]
2021-08-03 20:43:39 +00:00
2021-06-03 14:15:46 +00:00
## [0.4.0] - 2021-06-03
2021-06-03 14:03:23 +00:00
### Added
2021-05-08 21:14:28 +00:00
2023-02-14 15:47:02 +00:00
- Add ability to change account in with the Vim plugin [#91]
- Add possibility to make Himalaya default email app [#160] [[#161 ](https://github.com/soywod/himalaya/pull/161 )]
2021-05-09 11:14:37 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- [**BREAKING**] Short version of reply `--all` arg is now `-A` to
2022-10-10 19:24:08 +00:00
avoid conflicts with `--attachment|-a`
2023-02-14 15:47:02 +00:00
- Template management [#80]
2021-05-09 11:04:03 +00:00
2021-06-03 14:03:23 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- `\Seen` flag when moving a message
- Attachments arg for reply and forward commands [#109]
- Vim doc [#117]
2021-06-03 14:03:23 +00:00
2021-05-09 11:04:03 +00:00
### Removed
2023-02-14 15:47:02 +00:00
- `Content-Type` from templates [#146]
2021-05-08 21:14:28 +00:00
2021-05-08 20:34:00 +00:00
## [0.3.2] - 2021-05-08
2021-05-04 21:11:01 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Mailbox attributes [#134]
- Wiki entry about new messages counter [#121]
- Copy/move/delete a message in vim [#95]
2021-05-04 21:11:01 +00:00
2021-05-04 14:19:06 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Get signature from file [#135]
- [**BREAKING**] Split `idle` command into two commands:
- `notify` : Runs `notify-cmd` when a new message arrives to the server
- `watch` : Runs `watch-cmds` when any change occurs on the server
2021-05-04 14:19:06 +00:00
2021-05-08 20:31:35 +00:00
### Removed
2023-02-14 15:47:02 +00:00
- `.exe` extension from release binaries [#144]
2021-05-08 20:31:35 +00:00
2021-05-03 22:23:37 +00:00
## [0.3.1] - 2021-05-04
2021-05-03 22:15:11 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Send message via stdin [#78]
2021-05-03 22:15:11 +00:00
2021-05-03 12:23:23 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Table with subject containing `\r` , `\n` or `\t` [#141]
- Overflow panic when shrink column [#138]
- Vim plugin empty mailbox message [#136]
2021-05-03 12:23:23 +00:00
2021-04-27 23:13:34 +00:00
## [0.3.0] - 2021-04-28
2021-04-27 22:47:24 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- 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]
2021-04-27 22:47:24 +00:00
2021-04-27 23:13:34 +00:00
### Removed
2023-02-14 15:47:02 +00:00
- `--log-level|-l` arg (replaced by default `RUST_LOG` env var from `env_logger` ) [#130]
2021-04-27 23:13:34 +00:00
2021-04-24 21:52:13 +00:00
## [0.2.7] - 2021-04-24
2021-04-17 20:37:59 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Default page size to config [#96]
- Custom config path [#86]
- Setting idle-hook-cmds
2021-04-22 19:36:44 +00:00
2021-04-24 20:53:30 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Plain logger with `env_logger` [#126]
- Refresh email list on load buffer [#125]
2021-04-24 20:53:30 +00:00
2021-04-22 19:36:44 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Improve config compatibility on Windows [[#111 ](https://github.com/soywod/himalaya/pull/111 )]
- Vim table containing emoji [#122]
2021-04-17 20:37:59 +00:00
2021-04-16 22:09:06 +00:00
## [0.2.6] - 2021-04-17
### Added
2023-02-14 15:47:02 +00:00
- Insecure TLS option [#84] [#103 ](https://github.com/soywod/himalaya/pull/103 ) [[#105 ](https://github.com/soywod/himalaya/pull/105 )]
- Completion subcommands [[#99 ](https://github.com/soywod/himalaya/pull/99 )]
- Vim flags to enable telescope preview and to choose picker [[#97 ](https://github.com/soywod/himalaya/pull/97 )]
2021-04-16 22:09:06 +00:00
2021-04-16 22:12:45 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Make `install.sh` POSIX compliant [[#53 ](https://github.com/soywod/himalaya/pull/53 )]
2021-04-16 22:12:45 +00:00
2021-04-15 21:29:58 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- 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]
2021-04-15 21:29:58 +00:00
2021-04-11 22:21:08 +00:00
## [0.2.5] - 2021-04-12
2021-04-09 12:40:52 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Expunge mbox after `move` and `delete` cmd [#83]
- JSON output [#89]
2021-04-09 12:40:52 +00:00
2021-04-08 22:51:39 +00:00
## [0.2.4] - 2021-04-09
2021-04-08 16:06:14 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Wiki entry for Gmail users [#58]
- Info logs for copy/move/delete cmd + silent mode [#74]
- `--raw` arg for `read` cmd [#79]
2021-04-08 16:06:14 +00:00
2021-04-08 22:15:16 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Refactor output system + log levels [#74]
2021-04-08 22:15:16 +00:00
2021-04-08 12:29:04 +00:00
## [0.2.3] - 2021-04-08
2021-04-08 10:59:44 +00:00
2021-04-05 21:57:01 +00:00
### Added
2023-02-14 15:47:02 +00:00
- Telescope support [#61]
2021-04-05 21:57:01 +00:00
2021-04-08 12:29:04 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Unicode chars breaks the view [#71]
- Copy/move incomplete (missing parts) [#75]
2021-04-08 12:29:04 +00:00
2021-04-04 15:46:02 +00:00
## [0.2.2] - 2021-04-04
### Added
2023-02-14 15:47:02 +00:00
- `w` alias for `write` cmd
2021-04-04 15:46:02 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- `attachments` cmd logs
- Page size arg `search` cmd
2021-04-04 15:46:02 +00:00
2021-04-04 13:08:04 +00:00
## [0.2.1] - 2021-04-04
2021-03-11 16:05:01 +00:00
### Added
2023-02-14 15:47:02 +00:00
- 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]
2021-03-11 16:05:01 +00:00
2021-03-12 22:33:42 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- Errors management with `error_chain` [#39]
2021-03-12 22:33:42 +00:00
### Fixed
2023-02-14 15:47:02 +00:00
- Missing `FLAGS` column in messages table [#40]
- Subtract with overflow if next page empty [#38]
2021-03-12 22:33:42 +00:00
2021-03-10 22:08:31 +00:00
## [0.2.0] - 2021-03-10
### Added
2023-02-14 15:47:02 +00:00
- STARTTLS support [#32]
- Flags [#25]
2021-03-10 22:08:31 +00:00
### Changed
2023-02-14 15:47:02 +00:00
- JSON support [#18]
2021-03-10 22:08:31 +00:00
2021-01-17 16:20:18 +00:00
## [0.1.0] - 2021-01-17
2020-12-24 23:36:24 +00:00
### Added
2023-02-14 15:47:02 +00:00
- 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 `Email` with `Msg` [#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]
2023-08-28 07:04:13 +00:00
[Unreleased]: https://github.com/soywod/himalaya/compare/v0.9.0...HEAD
[0.9.0]: https://github.com/soywod/himalaya/compare/v0.8.4...v0.9.0
2023-07-18 15:48:19 +00:00
[0.8.4]: https://github.com/soywod/himalaya/compare/v0.8.3...v0.8.4
2023-07-18 15:24:52 +00:00
[0.8.3]: https://github.com/soywod/himalaya/compare/v0.8.2...v0.8.3
[0.8.2]: https://github.com/soywod/himalaya/compare/v0.8.1...v0.8.2
2023-06-15 14:51:03 +00:00
[0.8.1]: https://github.com/soywod/himalaya/compare/v0.8.0...v0.8.1
2023-06-03 21:43:07 +00:00
[0.8.0]: https://github.com/soywod/himalaya/compare/v0.7.3...v0.8.0
2023-04-30 22:48:28 +00:00
[0.7.3]: https://github.com/soywod/himalaya/compare/v0.7.2...v0.7.3
2023-04-30 22:19:59 +00:00
[0.7.2]: https://github.com/soywod/himalaya/compare/v0.7.1...v0.7.2
2023-02-14 15:47:02 +00:00
[0.7.1]: https://github.com/soywod/himalaya/compare/v0.7.0...v0.7.1
[0.7.0]: https://github.com/soywod/himalaya/compare/v0.6.1...v0.7.0
2022-10-12 14:47:44 +00:00
[0.6.1]: https://github.com/soywod/himalaya/compare/v0.6.0...v0.6.1
2022-10-10 19:24:08 +00:00
[0.6.0]: https://github.com/soywod/himalaya/compare/v0.5.10...v0.6.0
2022-03-20 20:19:45 +00:00
[0.5.10]: https://github.com/soywod/himalaya/compare/v0.5.9...v0.5.10
2022-03-12 17:02:46 +00:00
[0.5.9]: https://github.com/soywod/himalaya/compare/v0.5.8...v0.5.9
2022-03-04 13:36:16 +00:00
[0.5.8]: https://github.com/soywod/himalaya/compare/v0.5.7...v0.5.8
2022-03-01 22:12:21 +00:00
[0.5.7]: https://github.com/soywod/himalaya/compare/v0.5.6...v0.5.7
2022-02-22 15:54:39 +00:00
[0.5.6]: https://github.com/soywod/himalaya/compare/v0.5.5...v0.5.6
2022-02-08 13:50:09 +00:00
[0.5.5]: https://github.com/soywod/himalaya/compare/v0.5.4...v0.5.5
2022-02-04 23:29:57 +00:00
[0.5.4]: https://github.com/soywod/himalaya/compare/v0.5.3...v0.5.4
2022-02-03 15:22:06 +00:00
[0.5.3]: https://github.com/soywod/himalaya/compare/v0.5.2...v0.5.3
2022-02-02 01:21:35 +00:00
[0.5.2]: https://github.com/soywod/himalaya/compare/v0.5.1...v0.5.2
2021-10-24 21:40:37 +00:00
[0.5.1]: https://github.com/soywod/himalaya/compare/v0.5.0...v0.5.1
2021-10-10 22:06:46 +00:00
[0.5.0]: https://github.com/soywod/himalaya/compare/v0.4.0...v0.5.0
2021-06-03 14:15:46 +00:00
[0.4.0]: https://github.com/soywod/himalaya/compare/v0.3.2...v0.4.0
2021-05-08 20:34:00 +00:00
[0.3.2]: https://github.com/soywod/himalaya/compare/v0.3.1...v0.3.2
2021-05-03 22:23:37 +00:00
[0.3.1]: https://github.com/soywod/himalaya/compare/v0.3.0...v0.3.1
2021-04-27 23:13:34 +00:00
[0.3.0]: https://github.com/soywod/himalaya/compare/v0.2.7...v0.3.0
[0.2.7]: https://github.com/soywod/himalaya/compare/v0.2.6...v0.2.7
[0.2.6]: https://github.com/soywod/himalaya/compare/v0.2.5...v0.2.6
[0.2.5]: https://github.com/soywod/himalaya/compare/v0.2.4...v0.2.5
[0.2.4]: https://github.com/soywod/himalaya/compare/v0.2.3...v0.2.4
[0.2.3]: https://github.com/soywod/himalaya/compare/v0.2.2...v0.2.3
[0.2.2]: https://github.com/soywod/himalaya/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/soywod/himalaya/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/soywod/himalaya/compare/v0.1.0...v0.2.0
2021-01-17 16:20:18 +00:00
[0.1.0]: https://github.com/soywod/himalaya/releases/tag/v0.1.0
2020-12-24 23:36:24 +00:00
[#1]: https://github.com/soywod/himalaya/issues/1
[#2]: https://github.com/soywod/himalaya/issues/2
2021-01-02 17:26:03 +00:00
[#3]: https://github.com/soywod/himalaya/issues/3
2021-01-03 22:18:23 +00:00
[#4]: https://github.com/soywod/himalaya/issues/4
2021-01-03 09:59:51 +00:00
[#5]: https://github.com/soywod/himalaya/issues/5
2021-01-03 22:18:23 +00:00
[#8]: https://github.com/soywod/himalaya/issues/8
2021-01-15 11:21:07 +00:00
[#9]: https://github.com/soywod/himalaya/issues/9
[#10]: https://github.com/soywod/himalaya/issues/10
[#11]: https://github.com/soywod/himalaya/issues/11
2021-01-03 16:28:42 +00:00
[#12]: https://github.com/soywod/himalaya/issues/12
[#13]: https://github.com/soywod/himalaya/issues/13
2021-01-15 11:21:07 +00:00
[#14]: https://github.com/soywod/himalaya/issues/14
2021-01-02 23:45:43 +00:00
[#15]: https://github.com/soywod/himalaya/issues/15
2021-01-16 18:38:03 +00:00
[#16]: https://github.com/soywod/himalaya/issues/16
2021-01-16 21:58:28 +00:00
[#17]: https://github.com/soywod/himalaya/issues/17
2021-03-10 22:08:31 +00:00
[#18]: https://github.com/soywod/himalaya/issues/18
2021-01-16 18:38:03 +00:00
[#19]: https://github.com/soywod/himalaya/issues/19
2021-01-17 16:20:18 +00:00
[#20]: https://github.com/soywod/himalaya/issues/20
2021-01-16 18:38:03 +00:00
[#21]: https://github.com/soywod/himalaya/issues/21
2021-01-17 10:52:31 +00:00
[#22]: https://github.com/soywod/himalaya/issues/22
2021-03-10 22:08:31 +00:00
[#25]: https://github.com/soywod/himalaya/issues/25
2021-03-11 16:05:01 +00:00
[#29]: https://github.com/soywod/himalaya/issues/29
2021-03-16 22:39:43 +00:00
[#30]: https://github.com/soywod/himalaya/issues/30
2021-03-31 20:57:58 +00:00
[#31]: https://github.com/soywod/himalaya/issues/31
2021-03-10 22:08:31 +00:00
[#32]: https://github.com/soywod/himalaya/issues/32
2021-04-03 10:02:36 +00:00
[#33]: https://github.com/soywod/himalaya/issues/33
2021-03-31 20:57:58 +00:00
[#34]: https://github.com/soywod/himalaya/issues/34
[#35]: https://github.com/soywod/himalaya/issues/35
2021-04-03 20:30:57 +00:00
[#37]: https://github.com/soywod/himalaya/issues/37
2021-03-16 21:33:06 +00:00
[#38]: https://github.com/soywod/himalaya/issues/38
2021-03-12 22:33:42 +00:00
[#39]: https://github.com/soywod/himalaya/issues/39
[#40]: https://github.com/soywod/himalaya/issues/40
2021-03-19 21:05:01 +00:00
[#41]: https://github.com/soywod/himalaya/issues/41
2022-02-22 15:54:39 +00:00
[#43]: https://github.com/soywod/himalaya/issues/43
2022-02-04 23:29:57 +00:00
[#47]: https://github.com/soywod/himalaya/issues/47
2021-04-16 22:00:52 +00:00
[#48]: https://github.com/soywod/himalaya/issues/48
2021-04-15 22:00:00 +00:00
[#50]: https://github.com/soywod/himalaya/issues/50
2022-02-08 13:50:09 +00:00
[#54]: https://github.com/soywod/himalaya/issues/54
2022-03-01 22:12:21 +00:00
[#57]: https://github.com/soywod/himalaya/issues/57
2021-04-08 16:06:14 +00:00
[#58]: https://github.com/soywod/himalaya/issues/58
2021-04-15 21:29:58 +00:00
[#59]: https://github.com/soywod/himalaya/issues/59
2021-04-05 21:57:01 +00:00
[#61]: https://github.com/soywod/himalaya/issues/61
2021-04-08 10:59:44 +00:00
[#71]: https://github.com/soywod/himalaya/issues/71
2021-04-08 16:42:34 +00:00
[#74]: https://github.com/soywod/himalaya/issues/74
2021-04-08 11:55:23 +00:00
[#75]: https://github.com/soywod/himalaya/issues/75
2021-05-03 22:15:11 +00:00
[#78]: https://github.com/soywod/himalaya/issues/78
2021-04-08 22:30:07 +00:00
[#79]: https://github.com/soywod/himalaya/issues/79
2021-06-02 21:47:10 +00:00
[#80]: https://github.com/soywod/himalaya/issues/80
2021-04-09 12:40:52 +00:00
[#83]: https://github.com/soywod/himalaya/issues/83
2021-04-16 22:09:06 +00:00
[#84]: https://github.com/soywod/himalaya/issues/84
2021-04-17 21:19:34 +00:00
[#86]: https://github.com/soywod/himalaya/issues/86
2021-04-11 22:37:05 +00:00
[#87]: https://github.com/soywod/himalaya/issues/87
2021-04-11 22:21:08 +00:00
[#89]: https://github.com/soywod/himalaya/issues/89
2021-06-03 14:03:23 +00:00
[#91]: https://github.com/soywod/himalaya/issues/91
2021-05-08 20:26:15 +00:00
[#95]: https://github.com/soywod/himalaya/issues/95
2021-04-17 20:37:59 +00:00
[#96]: https://github.com/soywod/himalaya/issues/96
2021-04-15 22:00:00 +00:00
[#100]: https://github.com/soywod/himalaya/issues/100
2021-08-05 21:18:28 +00:00
[#102]: https://github.com/soywod/himalaya/issues/102
2021-05-09 11:14:37 +00:00
[#109]: https://github.com/soywod/himalaya/issues/109
2021-05-09 15:15:29 +00:00
[#117]: https://github.com/soywod/himalaya/issues/117
2021-05-08 11:18:41 +00:00
[#121]: https://github.com/soywod/himalaya/issues/121
2021-04-24 21:31:26 +00:00
[#122]: https://github.com/soywod/himalaya/issues/122
2021-04-25 14:20:24 +00:00
[#123]: https://github.com/soywod/himalaya/issues/123
2021-04-24 21:13:51 +00:00
[#125]: https://github.com/soywod/himalaya/issues/125
2021-04-24 20:53:30 +00:00
[#126]: https://github.com/soywod/himalaya/issues/126
2021-04-26 09:32:19 +00:00
[#130]: https://github.com/soywod/himalaya/issues/130
2021-04-27 16:10:18 +00:00
[#131]: https://github.com/soywod/himalaya/issues/131
2021-04-27 12:54:53 +00:00
[#132]: https://github.com/soywod/himalaya/issues/132
2021-04-27 15:18:53 +00:00
[#133]: https://github.com/soywod/himalaya/issues/133
2021-05-04 21:11:01 +00:00
[#134]: https://github.com/soywod/himalaya/issues/134
2021-05-04 14:19:06 +00:00
[#135]: https://github.com/soywod/himalaya/issues/135
2021-05-03 21:34:16 +00:00
[#136]: https://github.com/soywod/himalaya/issues/136
2021-05-03 20:10:03 +00:00
[#138]: https://github.com/soywod/himalaya/issues/138
2021-05-03 12:23:23 +00:00
[#141]: https://github.com/soywod/himalaya/issues/141
2021-05-08 20:31:35 +00:00
[#144]: https://github.com/soywod/himalaya/issues/144
2021-05-09 11:04:03 +00:00
[#146]: https://github.com/soywod/himalaya/issues/146
2021-09-13 09:52:20 +00:00
[#152]: https://github.com/soywod/himalaya/issues/152
2021-10-10 22:06:46 +00:00
[#153]: https://github.com/soywod/himalaya/issues/153
2021-06-03 14:03:23 +00:00
[#160]: https://github.com/soywod/himalaya/issues/160
2021-10-10 22:06:46 +00:00
[#162]: https://github.com/soywod/himalaya/issues/162
2021-08-03 20:43:39 +00:00
[#176]: https://github.com/soywod/himalaya/issues/176
2022-02-02 01:21:35 +00:00
[#172]: https://github.com/soywod/himalaya/issues/172
2022-03-04 23:42:11 +00:00
[#178]: https://github.com/soywod/himalaya/issues/178
2022-02-02 01:21:35 +00:00
[#181]: https://github.com/soywod/himalaya/issues/181
2021-10-23 22:17:12 +00:00
[#185]: https://github.com/soywod/himalaya/issues/185
2021-08-06 11:33:51 +00:00
[#186]: https://github.com/soywod/himalaya/issues/186
2021-10-10 22:37:52 +00:00
[#190]: https://github.com/soywod/himalaya/issues/190
2021-10-10 22:06:46 +00:00
[#193]: https://github.com/soywod/himalaya/issues/193
[#196]: https://github.com/soywod/himalaya/issues/196
[#199]: https://github.com/soywod/himalaya/issues/199
2022-02-22 15:54:39 +00:00
[#204]: https://github.com/soywod/himalaya/issues/204
2021-10-10 22:06:46 +00:00
[#205]: https://github.com/soywod/himalaya/issues/205
2022-03-03 16:29:39 +00:00
[#206]: https://github.com/soywod/himalaya/issues/206
2021-10-10 22:06:46 +00:00
[#215]: https://github.com/soywod/himalaya/issues/215
2021-10-24 19:02:02 +00:00
[#220]: https://github.com/soywod/himalaya/issues/220
2022-02-22 15:54:39 +00:00
[#227]: https://github.com/soywod/himalaya/issues/227
2021-10-22 22:46:21 +00:00
[#228]: https://github.com/soywod/himalaya/issues/228
2021-10-22 22:25:34 +00:00
[#229]: https://github.com/soywod/himalaya/issues/229
2022-03-03 16:29:39 +00:00
[#244]: https://github.com/soywod/himalaya/issues/244
2022-02-02 01:21:35 +00:00
[#249]: https://github.com/soywod/himalaya/issues/249
2022-02-08 13:50:09 +00:00
[#256]: https://github.com/soywod/himalaya/issues/256
2022-02-04 23:29:57 +00:00
[#259]: https://github.com/soywod/himalaya/issues/259
2022-02-02 01:21:35 +00:00
[#268]: https://github.com/soywod/himalaya/issues/268
[#272]: https://github.com/soywod/himalaya/issues/272
[#273]: https://github.com/soywod/himalaya/issues/273
[#276]: https://github.com/soywod/himalaya/issues/276
[#271]: https://github.com/soywod/himalaya/issues/271
2022-02-04 23:29:57 +00:00
[#276]: https://github.com/soywod/himalaya/issues/276
2022-02-02 01:21:35 +00:00
[#280]: https://github.com/soywod/himalaya/issues/280
2022-03-04 22:05:01 +00:00
[#281]: https://github.com/soywod/himalaya/issues/281
2022-02-08 13:50:09 +00:00
[#288]: https://github.com/soywod/himalaya/issues/288
[#289]: https://github.com/soywod/himalaya/issues/289
2022-03-02 22:32:00 +00:00
[#298]: https://github.com/soywod/himalaya/issues/298
2022-03-02 10:13:38 +00:00
[#300]: https://github.com/soywod/himalaya/issues/300
2022-02-23 10:29:09 +00:00
[#303]: https://github.com/soywod/himalaya/issues/303
2022-02-23 22:44:41 +00:00
[#305]: https://github.com/soywod/himalaya/issues/305
2022-02-25 20:21:48 +00:00
[#308]: https://github.com/soywod/himalaya/issues/308
2022-03-01 22:12:21 +00:00
[#309]: https://github.com/soywod/himalaya/issues/309
2022-03-04 13:19:54 +00:00
[#318]: https://github.com/soywod/himalaya/issues/318
2022-03-03 16:29:39 +00:00
[#321]: https://github.com/soywod/himalaya/issues/321
2022-03-04 20:50:09 +00:00
[#323]: https://github.com/soywod/himalaya/issues/323
[#324]: https://github.com/soywod/himalaya/issues/324
2022-03-08 13:22:02 +00:00
[#329]: https://github.com/soywod/himalaya/issues/329
2022-03-11 23:33:50 +00:00
[#331]: https://github.com/soywod/himalaya/issues/331
2022-03-15 12:55:40 +00:00
[#334]: https://github.com/soywod/himalaya/issues/334
2022-03-11 23:33:50 +00:00
[#335]: https://github.com/soywod/himalaya/issues/335
2022-03-12 14:25:35 +00:00
[#338]: https://github.com/soywod/himalaya/issues/338
2022-09-22 14:38:38 +00:00
[#340]: https://github.com/soywod/himalaya/issues/340
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
[#341]: https://github.com/soywod/himalaya/issues/341
[#342]: https://github.com/soywod/himalaya/issues/342
2022-09-22 14:38:38 +00:00
[#344]: https://github.com/soywod/himalaya/issues/344
2022-03-20 20:15:45 +00:00
[#346]: https://github.com/soywod/himalaya/issues/346
2022-10-12 13:36:36 +00:00
[#352]: https://github.com/soywod/himalaya/issues/352
release v0.7.0 (#433)
* 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>
2023-02-08 15:03:45 +00:00
[#356]: https://github.com/soywod/himalaya/issues/356
[#419]: https://github.com/soywod/himalaya/issues/419
[#430]: https://github.com/soywod/himalaya/issues/430
2023-02-20 17:26:10 +00:00
2023-02-21 15:06:58 +00:00
[sourcehut#43]: https://todo.sr.ht/~soywod/pimalaya/43
2023-02-20 17:26:10 +00:00
[sourcehut#54]: https://todo.sr.ht/~soywod/pimalaya/54
2023-02-22 12:14:21 +00:00
[sourcehut#59]: https://todo.sr.ht/~soywod/pimalaya/59
[sourcehut#60]: https://todo.sr.ht/~soywod/pimalaya/60
2023-07-17 09:28:46 +00:00
[sourcehut#95]: https://todo.sr.ht/~soywod/pimalaya/95