<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on perch docs</title><link>https://perch.mxraven.com/docs/</link><description>Recent content in Documentation on perch docs</description><generator>Hugo</generator><language>en</language><atom:link href="https://perch.mxraven.com/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Configuration</title><link>https://perch.mxraven.com/docs/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/configuration/</guid><description>&lt;p&gt;&lt;code&gt;perch init&lt;/code&gt; and &lt;code&gt;perch setup&lt;/code&gt; write YAML with &lt;code&gt;0600&lt;/code&gt; permissions. The default&#10;path is &lt;code&gt;$XDG_CONFIG_HOME/perch/perch.yaml&lt;/code&gt; (usually&#10;&lt;code&gt;~/.config/perch/perch.yaml&lt;/code&gt;), but production deployments should pass&#10;&lt;code&gt;--config&lt;/code&gt; explicitly.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;data_dir&lt;/span&gt;: /var/lib/perch&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;hostname&lt;/span&gt;: mail.example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;imap&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;addr&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;127.0.0.1&lt;/span&gt;:&lt;span style="color:#ff9f43"&gt;1143&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;imaps_addr&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;allow_plaintext_loopback&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;submission&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;addr&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;127.0.0.1&lt;/span&gt;:&lt;span style="color:#ff9f43"&gt;1587&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;tls_addr&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;tls&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cert_file&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_file&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;acme&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;enabled&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;email&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;domains&lt;/span&gt;: []&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;http_addr&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;:80&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;storage&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;mode&lt;/span&gt;: sqlite &lt;span style="color:#78787e"&gt;# sqlite | s3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;s3&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;endpoint&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;region&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;bucket&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;prefix&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;perch/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;access_key&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;secret_key&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;secret_key_env&lt;/span&gt;: PERCH_S3_SECRET_KEY&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;force_path_style&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_template&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;perch/{{.mailbox.address}}/{{.task.id}}.eml&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;reconcile_every&lt;/span&gt;: 5m&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;spool&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;spool_max_bytes&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;268435456&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;max_connections&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;512&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ingest_concurrency&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;blob_cache_bytes&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;67108864&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;max_message_bytes&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;26214400&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;max_recipients&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;100&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;mxraven&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;submission_host&lt;/span&gt;: smtp.mxraven.email&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;submission_port&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;587&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;notification_url&lt;/span&gt;: wss://notifications.mxraven.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;feedback_url&lt;/span&gt;: https://api.mxraven.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;listeners&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;id&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;kind&lt;/span&gt;: mta&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_prefix&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_secret_env&lt;/span&gt;: PERCH_MXRAVEN_KEY_SECRET&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;consumer&lt;/span&gt;: notify-...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;id&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;kind&lt;/span&gt;: submission&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_prefix&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_secret_env&lt;/span&gt;: PERCH_MXRAVEN_SUBMISSION_KEY_SECRET&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Secrets can be inline (protected by file permissions) or referenced through&#10;environment variables. The mxRaven control-plane token is used only by&#10;&lt;code&gt;perch setup&lt;/code&gt; and is never written to the config.&lt;/p&gt;</description></item><item><title>Troubleshooting</title><link>https://perch.mxraven.com/docs/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/troubleshooting/</guid><description>&lt;h2 id="run-the-doctor"&gt;Run the doctor&lt;a class="anchor" href="#run-the-doctor"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch doctor --config /etc/perch/perch.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;perch doctor&lt;/code&gt; checks SQLite integrity and FTS5, TLS certificate files, DNS,&#10;S3 connectivity, and mxRaven listeners. Run it as the same user that runs&#10;&lt;code&gt;perch serve&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="mail-clients-cannot-connect"&gt;Mail clients cannot connect&lt;a class="anchor" href="#mail-clients-cannot-connect"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check the listener addresses in &lt;code&gt;perch.yaml&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Plaintext is only allowed on loopback. Use TLS or STARTTLS from other hosts.&lt;/li&gt;&#10;&lt;li&gt;For the quickstart defaults, IMAP is &lt;code&gt;127.0.0.1:1143&lt;/code&gt; and submission is&#10;&lt;code&gt;127.0.0.1:1587&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;If you generated a self-signed certificate, the client must trust it or you&#10;must explicitly allow the certificate.&lt;/li&gt;&#10;&lt;li&gt;Off-loopback connections always require TLS.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="perch-mail-cannot-connect"&gt;&lt;code&gt;perch mail&lt;/code&gt; cannot connect&lt;a class="anchor" href="#perch-mail-cannot-connect"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;For an explicit loopback address, add &lt;code&gt;--plaintext&lt;/code&gt; or &lt;code&gt;--smtp-plaintext&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Config-derived loopback listeners select plaintext automatically.&lt;/li&gt;&#10;&lt;li&gt;For remote servers, use &lt;code&gt;imaps://host&lt;/code&gt; / &lt;code&gt;smtps://host&lt;/code&gt; or &lt;code&gt;imap://host&lt;/code&gt; /&#10;&lt;code&gt;smtp://host&lt;/code&gt; for STARTTLS.&lt;/li&gt;&#10;&lt;li&gt;Use &lt;code&gt;--ca-file&lt;/code&gt; for a private CA and &lt;code&gt;--insecure&lt;/code&gt; only for testing.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="authentication-fails"&gt;Authentication fails&lt;a class="anchor" href="#authentication-fails"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;perch mail&lt;/code&gt; uses the account password, not the mxRaven API key.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;perch account passwd&lt;/code&gt; changes the local account password.&lt;/li&gt;&#10;&lt;li&gt;Check &lt;code&gt;authlimit&lt;/code&gt; logs if logins are being throttled.&lt;/li&gt;&#10;&lt;li&gt;For submission, the &lt;code&gt;From&lt;/code&gt; address must be an account address, alias, or&#10;authorized plus-address.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="messages-are-delivered-but-not-visible-locally"&gt;Messages are delivered but not visible locally&lt;a class="anchor" href="#messages-are-delivered-but-not-visible-locally"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;In S3 mode, check &lt;code&gt;perch reconcile&lt;/code&gt; and the S3 prefix/key template.&lt;/li&gt;&#10;&lt;li&gt;The key template must start with &lt;code&gt;storage.s3.prefix&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;perch gc --s3-delete&lt;/code&gt; removes objects for deleted messages.&lt;/li&gt;&#10;&lt;li&gt;Check &lt;code&gt;perch outbound list&lt;/code&gt; for submission status and SMTP errors.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="s3-errors"&gt;S3 errors&lt;a class="anchor" href="#s3-errors"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Verify the endpoint, region, bucket, access key, and secret.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;secret_key_env&lt;/code&gt; names the environment variable; systemd reads it from&#10;&lt;code&gt;EnvironmentFile&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Run &lt;code&gt;perch reconcile&lt;/code&gt; to force a scan.&lt;/li&gt;&#10;&lt;li&gt;Check that mxRaven&amp;rsquo;s &lt;code&gt;S3_STORE&lt;/code&gt; rule writes to the same bucket and prefix.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="systemd-service-exits"&gt;systemd service exits&lt;a class="anchor" href="#systemd-service-exits"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Run &lt;code&gt;journalctl -u perch -f&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;ExecReload&lt;/code&gt; sends SIGHUP. Only keep it when &lt;code&gt;tls.cert_file&lt;/code&gt; and&#10;&lt;code&gt;tls.key_file&lt;/code&gt; are configured; otherwise SIGHUP terminates the process.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;ProtectHome&lt;/code&gt;/&lt;code&gt;ProtectSystem&lt;/code&gt; must allow the configured &lt;code&gt;data_dir&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;The service user must be able to read the config and write the data dir.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="versions-and-releases"&gt;Versions and releases&lt;a class="anchor" href="#versions-and-releases"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch version&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gh release view --repo synqronlabs/perch&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Manpages are installed with release archives; &lt;code&gt;perch &amp;lt;command&amp;gt; --help&lt;/code&gt; always&#10;reflects the installed binary.&lt;/p&gt;</description></item></channel></rss>