github pimalaya/himalaya v1.0.0

11 days ago

The Himalaya CLI scope has changed. It does not include anymore the synchronization, nor the envelope watching. These scopes have moved to dedicated projects:

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.

Himalaya CLI will now try to adopt the conventional commits specification. Tools like git-cliff may help us generating more accurate changelogs in the future.

Added

  • Added message edit command to edit a message. To edit on place (replace a message), use --on-place.

  • Added account.list.table.preset global config option, accounts.<name>.folder.list.table.preset and accounts.<name>.envelope.list.table.preset account config options.

    These options customize the shape of tables, see examples at comfy_table::presets. Defaults to "|| |-||| ", which corresponds to comfy_table::presets::ASCII_MARKDOWN.

  • Added account.list.table.name-color config option to customize the color used for the accounts' NAME column (defaults to green).

  • Added account.list.table.backends-color config option to customize the color used for the folders' BACKENDS column (defaults to blue).

  • Added account.list.table.default-color config option to customize the color used for the folders' DEFAULT column (defaults to reset).

  • Added accounts.<name>.folder.list.table.name-color account config option to customize the color used for the folders' NAME column (defaults to blue).

  • Added accounts.<name>.folder.list.table.desc-color account config option to customize the color used for the folders' DESC column (defaults to green).

  • Added accounts.<name>.envelope.list.table.id-color account config option to customize the color used for the envelopes' ID column (defaults to red).

  • Added accounts.<name>.envelope.list.table.flags-color account config option to customize the color used for the envelopes' FLAGS column (defaults to reset).

  • Added accounts.<name>.envelope.list.table.subject-color account config option to customize the color used for the envelopes' SUBJECT column (defaults to green).

  • Added accounts.<name>.envelope.list.table.sender-color account config option to customize the color used for the envelopes' FROM column (defaults to blue).

  • Added accounts.<name>.envelope.list.table.date-color account config option to customize the color used for the envelopes' DATE column (defaults to dark_yellow).

  • Added accounts.<name>.envelope.list.table.unseen-char account config option to customize the char used for unseen envelopes (defaults to *).

  • Added accounts.<name>.envelope.list.table.replied-char account config option to customize the char used for replied envelopes (defaults to R).

  • Added accounts.<name>.envelope.list.table.flagged-char account config option to customize the char used for flagged envelopes (defaults to !).

  • Added accounts.<name>.envelope.list.table.attachment-char account config option to customize the char used for envelopes with at least one attachment (defaults to @).

Changed

  • Refactored the account configure command: this command stands now for creating or editing account configurations from the wizard. The command requires the wizard cargo feature.

  • Improved the account doctor command: it now checks the state of the config, and the new --fix argument allows you to configure keyring, OAuth 2.0 etc.

  • Improved long version --version. [#496]

  • Improved error messages when missing cargo features. For example, if a TOML configuration uses the IMAP backend without the imap cargo features, the error missing "imap" feature is displayed. #20

  • Normalized enum-based configurations, using the internally tagged representation type =. It should reduce issues due to misconfiguration, and improve othe error messages. Yet it is not perfect, see #802:

    • imap.*, maildir.* and notmuch.* moved to backend.*:

      # before
      imap.host = "localhost"
      imap.port = 143
      
      # after
      backend.type = "imap"
      backend.host = "localhost"
      backend.port = 143
    • smtp.* and sendmail.* moved to message.send.backend.*:

      # before
      smtp.host = "localhost"
      smtp.port = 25
      
      # after
      message.send.backend.type = "smtp"
      message.send.backend.host = "localhost"
      message.send.backend.port = 25
    • pgp.backend renamed pgp.type:

      # before
      pgp.backend = "commands"
      pgp.encrypt-cmd = "gpg --encrypt --quiet --armor <recipients>"
      
      # after
      pgp.type = "commands"
      pgp.encrypt-cmd = "gpg --encrypt --quiet --armor <recipients>"
    • {imap,smtp}.auth moved as well:

      # before
      imap.password.cmd = "pass show example"
      smtp.oauth2.method = "xoauth2"
      
      # after
      backend.auth.type = "password"
      backend.auth.cmd = "pass show example"
      message.send.backend.auth.type = "oauth2"
      message.send.backend.auth.method = "xoauth2"
  • Moved IMAP and SMTP encryption to encryption.type.

    This change prepares the config to accept different TLS providers with their options. The true and false variant have been removed as well:

     # before
     backend.encryption = "none" # or false
     backend.encryption = "start-tls"
     message.send.backend.encryption = "tls" # or true
    
     # after
     backend.encryption.type = "none"
     backend.encryption.type = "start-tls"
     message.send.backend.encryption.type = "tls"

Fixed

  • Fixed pre-release archives issue. [#492]
  • Fixed mailto parsing issue. [core#10]
  • Fixed Answered flag not set when replying to a message. [#508]

Removed

  • Removed systemd service from assets/ folder, as Himalaya CLI scope does not include synchronization nor watching anymore.

Don't miss a new himalaya release

NewReleases is sending notifications on new releases.