2 ;;{{{ Noteworthy changes in Mailcrypt version 3.5b1:
3 ;; * No bug fixes; in fact there are probably fresh new bugs.
4 ;; * Mailcrypt now supports PGP version 5.0 as well as version 2.6.*, and
5 ;; can be toggled between "active versions" at will. Every effort has
6 ;; been made to ensure that what used to work, still works.
8 ;;{{{ Noteworthy changes in Mailcrypt version 3.4:
9 ;; * Several bug fixes, mostly in the remailer functions.
10 ;; * `C-c / d' can now decode armor-only messages.
11 ;; * `C-c / e' with an empty recipient list now generates an armor-only
13 ;; * Better support for Gnus 5 (formerly "(ding) Gnus"), including
14 ;; decryption of messages in read-only groups. Requires Gnus 5.0.4 or
16 ;; * Better support for recent versions (5.95+) of VM.
17 ;; * New option for remailer list entries: Positive integer N represents a
18 ;; random permutation of the N "best" remailers as ordered in
20 ;; * New configuration variable `mc-pgp-always-fetch' to control attempts
21 ;; to fetch PGP keys. Legal values are t, 'never, and nil (the default).
23 ;;{{{ Noteworthy changes in Mailcrypt version 3.3:
24 ;; * Numerous minor bugs have been fixed.
25 ;; * Mailcrypt now requires at least FSF Emacs version 19.28 or XEmacs
26 ;; version 19.12. Sorry, but anything else is too annoying.
27 ;; * Support has been added for reading mail under (ding) Gnus.
29 ;;{{{ Noteworthy changes in Mailcrypt version 3.2:
30 ;; * Mailcrypt now uses "start-process" instead of "call-process-region" to
31 ;; run PGP; this uses a pipe instead of a temp file for various inputs,
32 ;; including your passphrase. Ahem.
33 ;; * All Mailcrypt commands now start with the prefix `C-c /' to bring
34 ;; Mailcrypt into line with documented GNU standards.
35 ;; * `mc-insert-public-key' is now bound to `C-c / x' (an in "extract")
36 ;; instead of `C-c a'.
37 ;; * `mc-deactivate-passwd' is bound to `C-c / f' (as in "forget").
38 ;; * `mc-read-mode' and `mc-write-mode' are now full-blown minor modes. So
39 ;; you can do, for example, `M-x mc-install-write-mode' from a Text mode
40 ;; buffer and have the normal encryption and signing commands available.
41 ;; The keymaps for the modes are configurable variables.
42 ;; * Interactive commands `mc-encrypt-region', `mc-sign-region', etc. are
44 ;; * If you use RMAIL and you say no to "Replace encrypted message with
45 ;; decrypted?", you will be dropped into RMAIL mode for viewing.
46 ;; * RMAIL summary mode is now supported.
47 ;; * Documentation in the form of a Texinfo file is now part of the
49 ;; * Mailcrypt can now fetch a needed key from finger, HTTP, or any of a
50 ;; list of locally stored keyrings. `C-c / k' initiates a fetch
51 ;; manually; Mailcrypt will offer to initiate one automatically as
52 ;; appropriate during encryption or signature verification.
53 ;; * The remailer functions now support Mixmaster.
54 ;; * `C-c / d' can handle conventionally encrypted messages.
56 ;;{{{ Changes from 3.0:
57 ;; * Generate a warning if some public keys are found while others
58 ;; are not during encryption.
59 ;; * Rewrite calls like (message msg) to (message "%s" msg), in case
60 ;; msg includes a "%".
61 ;; * Handle case in mc-pgp-decrypt-region when signature verifies, but
62 ;; key has not been certified.
63 ;; * Put save-excursion around each top-level function.
64 ;; * Handle case in mc-pgp-decrypt-region when signature fails to verify
65 ;; because you don't have the necessary public key.
66 ;; * Locally bind mc-encrypt-for-me to nil before encrypting in
68 ;; * Include "+encrypttoself=off" in PGP command line flags.
69 ;; * Include "+verbose=1" in PGP command line flags (finally).
70 ;; * Hacked mc-rmail-verify-signature to make sure rmailkwd is loaded
71 ;; before message is verified.
72 ;; * (require 'gnus) when compiling. Thanks to Peter Arius
73 ;; <arius@immd2.informatik.uni-erlangen.de>
75 ;;{{{ Changes from 2.0:
76 ;; * C-u to mc-encrypt-message now prompts for an ID to use
77 ;; for signing. C-u C-u also prompts for scheme to use.
78 ;; * Signing now uses the From line (pseudonym) to choose key.
79 ;; * Support for multiple secret keys added. Many internal interfaces
81 ;; * autoload remailer support for mc-remail.el and set default keybindings.
82 ;; * mc-pgp-always-sign now has a 'never option.
83 ;; * mc-pgp-encrypt-region returns t on success.
84 ;; * Added mc-vm-snarf-keys, from Joe Reinhardt
85 ;; <jmr@everest.radiology.uiowa.edu>.
86 ;; * Changed mc-snarf-keys to actually snarf all keys in the buffer instead
87 ;; of just the first one.
88 ;; * In VM, not replacing a message puts the message into its own VM buffer
89 ;; so you can reply to it, forward it, etc. Thanks to Pat Lopresti
90 ;; <patl@lcs.mit.edu> for the suggestion.
91 ;; * Abort edit mode in VM and RMAIL decrypt functions if no encrypted
93 ;; * Added version string.
94 ;; * Applied some new patches from stig adding autoloads and minor additions.
95 ;; * Made check for window-system generic, and only for emacs versions > 19.
96 ;; * Added option to mc-sign-message to disable clearsig when signing messages.
97 ;; From Stig <stig@hackvan.com>.
98 ;; * Fixed extra comma bug when offering default recipients to encrypt for.
100 ;;{{{ Changes from 1.6:
101 ;; * Decrypting a signed message in RMAIL adds a verified tag to the message.
102 ;; * mc-sign-message takes an optional argument specifying which key to use,
103 ;; for people who have multiple private keys.
104 ;; * Added mc-{pre,post}-{de,en}cryption-hooks.
105 ;; * Additions to docstrings of the major functions and `mailcrypt-*' aliases
107 ;; * Added cleanup for possible temp files left over if a process was
109 ;; * Easier installation instructions.
110 ;; * Lots of little bug fixes from all over. Too many to list
111 ;; individual credits, but I've tried to include all of them. Thanks
112 ;; to all who sent them in, especially to John T Kohl who fixed an
113 ;; especially trying problem.
114 ;; * Another optional argument to mc-insert-public-key that allows the
115 ;; user to specify which public key to insert when called with a
117 ;; * Tons of changes from Paul Furnanz <paul_furnanz@rainbow.mentorg.com>:
118 ;; 1) Use the itimer package instead of the timer package if it exists.
119 ;; This makes the password deactivation code work for Lemacs as well
121 ;; 2) Fractured the code, so that there is a single function to use
122 ;; when calling the encryption program. The new function is
123 ;; mc-process-region. The function copies all data to a temporary
124 ;; buffer, and does the work there. This way if you do an undo after
125 ;; an encryption or signing, your password is not visible on the
127 ;; 3) All process output goes to the *MailCrypt* buffer. No longer use
128 ;; a separate buffer for decryption, encryption, verification, ...
129 ;; This allows the user to always look at the *MailCrypt* buffer to
130 ;; see what pgp or ripem said.
131 ;; 4) No longer call mc-temp-display. Use display-buffer if there is a
132 ;; reason to show the buffer (like an error occured).
133 ;; 5) Try to print more useful messages.
134 ;; 6) If an error occurs on encryption, the message is left unchanged.
135 ;; No reason to undo.
137 ;;{{{ Changes from 1.5:
138 ;; * Changed mc-temp-display to just dump into a temp buffer, without
139 ;; any fancy display stuff. Pick up show-temp.el if you liked the
140 ;; display stuff (or uncomment the old mc-temp-buffer and remove the
142 ;; * Provided a generic read mode function to call in hooks, like the
143 ;; generic write mode function that was already there.
144 ;; * Fixed bug in regexp that prevented compilation under recent
145 ;; versions of FSF emacs.
146 ;; * Narrow to headers when extracting default recipients for encryption
147 ;; to avoid pulling in recipients of included messages.
148 ;; * Use `fillarray' to overwrite passwords with nulls before deactivation
149 ;; for increased security.
150 ;; * Load mail-extr.el to get mail-extract-address-components defined.
151 ;; Thanks to Kevin Rodgers <kevin@traffic.den.mmc.com> for the following
153 ;; * Quoted an unquoted lambda expression that prevented optimized
154 ;; compilation under emacs 18.
155 ;; * Used `nconc' instead of `append' in various places to save on
156 ;; garbage collection.
157 ;; * Modified mc-split to run more efficiently.
159 ;;{{{ Changes from 1.4:
160 ;; * Call mail-extract-address-components on the recipients if we guessed
161 ;; them from the header fields.
162 ;; * If you don't replace a message with its decrypted version, it will now
163 ;; pop you into a view buffer with the contents of the message.
164 ;; * Added support for mh-e, contributed by Fritz Knabe <Fritz.Knabe@ecrc.de>
165 ;; * Fixed bug in snarfing keys from menubar under GNUS.
166 ;; * Fixed RIPEM verification problem, thanks to Sergey Gleizer
167 ;; <sgleizer@cs.nmsu.edu>.
169 ;;{{{ Changes from 1.3:
170 ;; * Temp display function does not barf on F-keys or mouse events.
171 ;; Thanks to Jonathan Stigelman <stig@key.amdahl.com>
172 ;; * Lucid emacs menu support provided by William Perry <wmperry@indiana.edu>
173 ;; * Cited signed messages would interfere with signature
174 ;; verification; fixed.
176 ;;{{{ Changes from 1.2:
177 ;; * Added menu bar support for emacs 19.
178 ;; * Added GNUS support thanks to Samuel Druker <samuel@telmar.com>.
180 ;;{{{ Changes from 1.1:
181 ;; * Added recipients field to mc-encrypt-message.
183 ;;{{{ Changes from 1.0:
184 ;; * Fixed batchmode bug in decryption, where unsigned messages would return
185 ;; with exit code of 1.
187 ;;{{{ Changes from 0.3b:
188 ;; * Only set PGPPASSFD when needed, so PGP won't break when used
190 ;; * Use call-process-region instead of shell-command-on-region in order
191 ;; to detect exit codes.
192 ;; * Changed mc-temp-display to not use the kill ring.
195 ;;{{{ Changes from 0.2b:
196 ;; * Prompts for replacement in mc-rmail-decrypt-message.
199 ;;{{{ Changes from 0.1b:
200 ;; * Several bug fixes.
201 ;; Contributed by Jason Merrill <jason@cygnus.com>:
202 ;; * VM mailreader support
203 ;; * Support for addresses with spaces and <>'s in them
204 ;; * Support for using an explicit path for the pgp executable
205 ;; * Key management functions
206 ;; * The ability to avoid some of the prompts when encrypting
207 ;; * Assumes mc-default-scheme unless prefixed