History.txt (20389B) - raw
1 == 1.4 / 2026-04-21
2
3 * #343: Draft messages containing non-ASCII characters are now displayed
4 correctly in thread view.
5 * #533, #524: Sup now refuses to start if config.yaml is missing a default
6 account, or no sendmail command is configured.
7 * Improved the lazy-loading behaviour when scrolling down in thread list views.
8 * Sup now gracefully handles RFC2047-encoded words which contain incomplete
9 UTF-8 sequences after decoding, instead of crashing with ArgumentError.
10 * #516: Sup can now load sources.yaml produced by very old versions of Sup,
11 which left a syntactically invalid YAML tag for the SentLoader class.
12 * Fixed error handling behaviour for various scenarios where a draft message is
13 modified outside Sup.
14 * Sup no longer uses deprecated Xapian APIs, for compatibility with Xapian 2.0.
15 * Sup is now tested on Ruby 4.0.
16 * Sup's web site and git repos have moved to: https://supmua.dev/
17
18 == 1.3 / 2025-04-21
19
20 * #596: If a message lacks a Date header, or the Date header is not in valid
21 RFC2822 format, the local delivery timestamp of the message will now be used
22 instead. Fixes a bug where such messages would constantly jump to the top of
23 the thread list.
24 * #502: Fixed incorrect Content-Transfer-Encoding headers when sending GPG
25 signed or encrypted messages with attachments.
26 * #522: Sup now uses the configured signing key when sending a message that is
27 both signed and encrypted. Previously it would ignore the configured key and
28 use the GPG default signing key.
29 * #489: Attachments are now encoded if they have lines longer than 998
30 characters.
31 * #602: The message/global MIME type is now recognised as an embedded message.
32 * Sup is now tested on Ruby 3.4.
33
34 == 1.2 / 2024-04-21
35
36 * #619: Sup is now compatible with and tested on Ruby 3.2 and Ruby 3.3.
37 (Dan Callaghan)
38 * #603: Fixed deprecated usage of Enumerator.new, which caused a crash on
39 Ruby 3+. (Gui Goncalves)
40 * OutOfSyncSourceErrors now show an error message in the thread view in place
41 of the out-of-sync message body, instead of crashing. (Dan Callaghan)
42 * #613: When installing Sup as a gem, the dependency on xapian-ruby is now
43 skipped if the SUP_SKIP_XAPIAN_GEM_INSTALL environment variable is set.
44 Previously it was skipped unconditionally on OpenBSD only. (Dan Callaghan)
45
46 == 1.1 / 2022-05-23
47
48 * #588, #577: Sup is now compatible with and tested on Ruby 3.0 and Ruby 3.1.
49 (Dan Callaghan)
50 * When the Sup gem installs xapian-ruby, it will install to the user gem
51 directory if the system gem directory is not writable. (Iain Parris)
52 * #571: To and From addresses of enclosed messages are now displayed normally,
53 instead of as Redwood::Person objects. (Iain Parris)
54 * #570: Fixed wording when displaying enclosed messages without Date header.
55 (Iain Parris)
56 * #205, #602: UTF-8 header values are now accepted and handled correctly, as
57 per RFC6532. (Dan Callaghan)
58 * #585: Text/plain attachments with invalid charset are now displayed as
59 US-ASCII (with high bytes replaced) instead of crashing. (Dan Callaghan)
60 * #424: Spaces are now accepted in RFC2047-encoded header words, even though
61 the RFC forbids them. (Dan Callaghan)
62 * Invalid RFC2047-encoded header words are now displayed in their raw form,
63 rather than trying to forcibly transcode them to UTF-8, as per the RFC's
64 recommendation. (Dan Callaghan)
65 * Sup now decodes UTF-7 correctly instead of crashing. (Dan Callaghan)
66
67 == 1.0 / 2020-07-12
68
69 No changes. The version number is incremented to 1.0 to reflect the fact that
70 Sup is mature and no further backwards-incompatible changes are planned.
71
72 == 0.23 / 2020-07-10
73
74 * #505: Shell metacharacters in attachment filenames are no longer escaped when
75 saving the attachment to disk using 's'. Fixes attachments being saved with
76 unnecessary \ escapes in their filename. (Felix Van der Jeugt)
77 * When saving attachments, Sup now creates all parent directories of the
78 destination path. (Matthieu Rakotojaona)
79 * The '@' key now reloads all messages in thread view. (Seva Zhidkov)
80 * #517: The 'g' key now correctly opens each selected URL if multiple URLs are
81 under the cursor, instead of opening the last URL multiple times.
82 (Matthieu Rakotojaona)
83 * The 'g' key now works when the cursor is over a URL inside a signature block.
84 (Michael Dwyer)
85 * The 'reply-to' hook is now passed a 'message' variable, the message being
86 replied to, so that the hook can choose the reply mode based on properties of
87 the message like the list address. (Simon Tatham)
88 * The contacts list now shows also email addresses supplied by the
89 'extra-contract-addresses' hook. (Matthieu Rakotojaona)
90 * #510: The micalg= parameter is now set correctly when sending
91 multipart/signed messages. Fixes issues with other mail clients which fail to
92 handle a missing micalg= parameter on signed messages. (Dan Callaghan)
93 * Attachments with text/plain MIME type are now correctly decoded according to
94 their charset= parameter. (Dan Callaghan)
95 * Strings returned by the 'mime-decode' hook are now kept in their original
96 encoding and displayed as is, instead of being wrongly transcoded.
97 (Dan Callaghan)
98 * Rendering speed of thread list views is improved. (Vickenty Fesunov)
99 * Fixed display width calculation for emoji. Previously, sender names and
100 thread subjects using emoji would be incorrectly truncated, if the terminal
101 emulator displays emoji as double-width. (Dan Callaghan)
102 * List address is parsed from the non-standard Mailing-List header used by
103 Groups.io. (Dan Callaghan)
104 * Fixed misinterpretation of quoted text where the quote uses both an
105 "---- Original Message ----" marker and > delimiters, for example from
106 Zimbra users. (Steven Lawrance)
107 * Added a new option 'indent_spaces' in config.yaml, to control the number of
108 spaces for indenting each child message when displaying the thread view.
109 The default remains 2. (Antoni Kaniowski)
110 * Attachment sizes are now displayed using standard unit abbreviations like
111 "MiB". (Sharif Olorin)
112 * Sup now gives a hint if a search query results in an empty search after
113 tokenization (for example, if the user tries to search for only punctuation).
114 (Per Andersson)
115 * The --list-hooks option now takes an additional option --hooks-matching, to
116 filter the listed hooks. (Matthieu Rakotojaona)
117 * Fixed ArgumentError in logging methods on Ruby 2.7. (Dan Callaghan)
118 * Fixed FrozenError in verified_ok? method on Ruby 2.7. (Iain Parris)
119 * Fixed Fixnum deprecation warnings on Ruby 2.4+. (Dan Callaghan)
120 * Several dependency version updates. The optimist gem replaces trollop. The
121 unicode-display_width gem is a new dependency.
122
123 == 0.22.1 / 2015-06-18
124
125 * Fix bug (#429) in gem build / install.
126
127 == 0.22.0 / 2015-06-16
128
129 * Use mime-types 2
130 * Fix ruby style (Zeger-Jan van de Weg)
131 * Johannes Larsen: fix long-standing bug with draft-id mixups causing
132 drafts to disappear.
133 * Various bugs and minor improvements.
134
135 == 0.21.0 / 2015-02-12
136
137 * Key binding to fetch GPG key from keyserver (Matthieu Rakotojaona)
138 * Replace occurences of File.exists? with File.exist? (Zeger-Jan van de
139 Weg)
140 * You can now unsubscribe from mailinglists using an url, if you have a
141 goto-hook setup (Timon Vonk).
142 * Forward attribution can be customized using the forward-attribution
143 hook (Ruthard Baudach)
144 * Do a few more checks for buffer not nil in the hope to fix a few
145 random crashes
146 * Add bash completion (Per Andersson)
147 * Replace dl/import with Fiddle (Timon Vonk)
148 * Drop support for ruby 1.9.3
149 * Add tests for contact manager and persons (Zeger-Jan van de Weg)
150
151 == 0.20.0 / 2014-10-06
152
153 * add man-pages (generated from wiki) (Per Andersson)!
154 * HTML messages or messages that are decoded with the mime-decode hook
155 are now indexed if the mime-decode hook is set up (Scott Bonds).
156 * OpenBSD support (Scott Bonds)!
157 * goto-hook for keybinding to open URLs.
158 * support special charaters in source URIs (Scott Bonds).
159 * output message id and locations on all load_from_source failures
160 * fix long-standing getlocal bug
161 * make new test GPG keys (old ones expired), valid for one year, script
162 now available in devel/ for making new ones.
163
164 == 0.19.0 / 2014-07-05
165
166 * new check-attachment hook
167 * configure times to be seen in 24h format
168 * new mailinglist: supmua@googlegroups.com
169
170 == 0.18.0 / 2014-05-19
171
172 * new color option, :with_attachment for defining colors for the
173 attachment character.
174 * sup-tweak-labels works again (out of service since sync_back).
175 * gem building is done through bundler
176 * you can now kill a thread using & from thread_view
177
178 == 0.17.0 / 2014-04-11
179
180 * add continuous scrolling to thread view
181 * add option for always editing in async mode
182 * bugfix: fix completion char
183 * bugfix: thread-view: dont close message when it is the first or last
184
185 == 0.16.0 / 2014-03-21
186
187 * sup-sync-back-mbox removed.
188 * safer mime-view attachment file name handling
189 * show thread labels in thread-view-mode
190 * remove lock file if there is no sup alive
191 * deprecate migration script on ruby > 2.1
192
193 == 0.15.4 / 2014-02-06
194
195 * Various bugfixes
196
197 == 0.15.3 / 2014-01-27
198
199 * Revert non-functioning hidden_alternates and fix some bugs.
200
201 == 0.15.2 / 2013-12-20
202
203 * Use the form_driver_w routine for inputing multibyte chars when
204 available.
205 * Add hidden_alternates configuration option: hidden aliases for the
206 account.
207
208 == 0.15.1 / 2013-12-04
209
210 * Thread children are sorted last-activity latest (bottom).
211
212 == 0.15.0 / 2013-11-07
213
214 * Maildir Syncback has now been merged into main sup! This is a
215 long-time waiting feature initially developed by Damien Leone,
216 then picked up by Edward Z. Yang who continued development. Additionally
217 several others have been contributing.
218
219 Eventually, recently, Eric Weikl has picked up this branch, modernized
220 it to current sup, maintained it and gotten it ready for release.
221
222 Main authors:
223
224 Damien Leone
225 Edward Z. Yang
226 Eric Weikl
227
228 Not all of the features initially proposed have been included. This is
229 to maintain compatibility with more operating systems and wait with
230 the more daring features to make sure sup is stable-ish.
231
232 This is a big change since sup now can modify your mail (!), please
233 back up your mail and your configuration before using the maildir
234 syncback feature. For instructions on how to migrate an existing
235 maildir source or how to set up a new one, refer to the wiki:
236
237 https://github.com/sup-heliotrope/sup/wiki/Using-sup-with-other-clients
238
239 It is possible to both disable maildir syncback globally (default:
240 disabled) and per-source (default: enabled).
241
242 * Sup on Ruby 2.0.0 now works - but beware, this has not been very throughly
243 tested. Patches are welcome.
244
245 * We are now using our own rmail-sup gem with fixes for Ruby 2.0.0 and
246 various warnings fixed.
247
248 * sup-sync-back has been renamed to sup-sync-back-mbox to conform with
249 the other sync-back scripts.
250
251 * You can now save attachments to directories without specifying the full
252 filename (default filename is used).
253
254 * Various encoding fixes and minor bug fixes
255
256 == 0.14.1.1 / 2013-10-29
257
258 * SBU1: security release
259 * Tempfiles for attachments are persistent through the sup process to
260 ensure that spawned processes have access to them.
261
262 == 0.13.2.1 / 2013-10-29
263
264 * SBU1: security release
265
266 == 0.14.1 / 2013-08-31
267
268 * Various bugfixes.
269 * Predefined 'All mail' search.
270
271 == 0.14.0 / 2013-08-15
272
273 * CJK compatability
274 * Psych over Syck
275 * Ruby 1.8 deprecated
276 * Thread safety
277 * No more Iconv, but using built in Ruby encodings. Better UTF-8
278 handling.
279 * GPGME 2.0 support
280
281 == 0.13.2 / 2013-06-26
282
283 * FreeBSD 10 comptability
284 * More threadsafe polling
285
286 == 0.13.1 / 2013-06-21
287
288 * Bugfixes
289
290 == 0.13.0 / 2013-05-15
291
292 * Bugfixes
293 * Depend on ncursesw-sup
294
295 == 0.12.1 / 2011-01-23
296 * Depend on ncursesw rather than ncurses (Ruby 1.9 compatibility)
297 * Add sup-import-dump
298
299 == 0.12 / 2011-01-13
300 * Remove deprecated IMAP, IMAPS, and mbox+ssh sources
301 * Inline GPG support
302 * Robust maildir support
303 * sup-dump compatibility between Sup versions
304 * New hook: sendmail
305 * Better Ruby 1.9/UTF8 support
306 * As always, many bugfixes and tweaks.
307
308 == 0.11 / 2010-03-07
309 * Remove deprecated Ferret backend.
310 * Add deprecation notices to IMAP, IMAPS, and mbox+ssh sources.
311 * 256 color support.
312 * Backwards-compatible index format improvements.
313 * Saved searches.
314 * Improved support for custom keybindings.
315 * Idle detection - poll totals accumulate and index flushes on idle.
316 * Several textfield improvments.
317 * New hooks: publish, mentions-attachments, keybindings,
318 index-mode-date-widget, gpg-args, and crypto-settings.
319 * sup-cmd for easy programmatic access to a Sup index.
320 * As always, many bugfixes and tweaks.
321
322 == 0.10.2 / 2010-01-26
323 * Update gem dependencies to pull in xapian-full and ncursesw instead of ferret
324 and ncurses.
325 * Fix a minor problem when running with Ruby 1.8.5.
326 * Fix a warning.
327
328 == 0.10.1 / 2010-01-24
329 * Fix a missing file in the gem.
330
331 == 0.10 / 2010-01-22
332 * Make Xapian backend the default, and add deprecation notice to Ferret indexes.
333 * Now Ruby 1.9 compatible (Xapian backend only).
334 * Changes are now saved automatically to the index. Pressing "$" now just
335 forces a flush of Xapian indexes, which can minimize quit time.
336 * Fix problem with replying to Google Groups messages.
337 * Allow toggling of line wrap. Useful for long URLs.
338 * Multiple attachments can be added at once by specifying a wildcard.
339 * New command to save all attachments at once.
340 * As always, many bugfixes and tweaks.
341
342 == 0.9.1 / 2009-12-10
343 * Make textfield behave more like readline, including C-w
344 * Add ask_for_to config option. You can set all ask_for_* options to false, and
345 composing a message will go immediately to the editor.
346 * RFC 2047 decode attachment file names
347 * default ask_for_to to true
348 * add undo power to thread-view-mode
349 * display labels of polled messages
350 * increase numbers in contact-list-mode
351 * fix --compose option, and add a --subject option
352 * include hook filename in error messages
353 * As always, many bugfixes and tweaks.
354
355 == 0.9 / 2009-10-01
356 * Experimental Xapian backend to replace Ferret. Not everything works with it,
357 but it's fast and less likely to barf. See release notes.
358 * New keybinding: "G" for reply-all.
359 * New hook: custom-search, for adding your own query expansions.
360 * Better preemptive thread loading.
361 * Random UI tweaks: display labels before subjects, change thread-view-mode's
362 'n' and 'p' commands slightly
363 * Better killing of other Sup processes.
364 * Die gracefully upon SIGKILL.
365 * Finally figure out the curses+ruby magic to make SIGWINCH (i.e. xterm
366 resizing) work correctly.
367 * Add a console mode (press ~) for interactively playing with the index.
368 * Finally figure out the curses magic to stop the weird keyboard behavior after
369 leaving the editor.
370 * Improved logging. Logging now supports SUP_LOG_LEVEL environment variable.
371 Set this to "debug" for verbiage.
372 * As always, many bugfixes and tweaks.
373
374 == 0.8.1 / 2009-06-15
375 * make multibyte display "work" for non-utf8 locales
376 * fix reply-mode always selecting "Customized"
377 * reduce email quote parsing worst-case behavior
378
379 == 0.8 / 2009-06-05
380 * Undo support on many operations. Yay!
381 * Mbox splitting fixes. No more "From "-line problems.
382 * Mail parsing speedups.
383 * Many utf8 and widechar fixes. Display of crazy characters should be pretty
384 close.
385 * Outgoing email with non-ASCII headers is now properly encoded.
386 * Email addresses are no longer permanently attached to names. This was
387 causing problems with automated email systems that used different names
388 with the same address.
389 * Curses background now retains the terminal default color. This also makes
390 Sup work better on transparent terminals.
391 * Improve dynamic loading of setlocale for Cygwin and BSD systems.
392 * Labels can now be removed from multiple tagged threads.
393 * Applying operations to tagged threads is now invoked with '='.
394 * Buffer list is betterified and is now invoked with ';'.
395 * Zsh autocompletion support.
396 * As always, many bugfixes and tweaks.
397
398 == 0.7 / 2009-03-16
399 * Ferret index corruption issues fixed (hopefully!)
400 * Text entry now scrolls to the right on overflow, i.e. is actually usable
401 * Ctrl-C now asks user if Sup should die ungracefully
402 * Add a limit:<int> search operator to limit the number of results
403 * Added a --query option to sup-tweak-labels
404 * Added a new hook: shutdown
405 * Automatically add self as recipient on crypted sent messages
406 * Read in X-Foo headers
407 * Added global keybinding 'U' shows only unread messages
408 * As always, many bugfixes and tweaks
409
410 == 0.6 / 2008-08-04
411 * new hooks: mark-as-spam, reply-to, reply-from
412 * configurable colors. finally!
413 * many bugfixes
414 * more vi keys added, and 'q' now asks before quitting
415 * attachment markers (little @ signs!) in thread-index-mode
416 * maildir speedups
417 * attachment name searchability
418 * archive-and-mark-read command in inbox-mode
419
420 == 0.5 / 2008-04-22
421 * new hooks: extra-contact-addresses, startup
422 * '!!' now loads all threads in current search
423 * general state saving speedup
424 * threads with unsent draft messages are now shown in red
425 * --compose spawns a compose-message buffer on startup
426 * Many bugfixes and UI improvements
427
428 == 0.4 / 2008-01-23
429 * GPG support for signing and encrypting outgoing mail
430 * New hooks: mime attachment, attribution line
431 * Improved local charset detection using gettext library
432 * Better quoted region detection
433 * Many bugfixes and UI improvements
434
435 == 0.3 / 2007-10-29
436 * In-buffer search (finally!)
437 * Subscribe to/unsubscribe from mailing list commands.
438 * IMAP speedups.
439 * More hooks: set status bar, set terminal title bar, modify message headers
440 and bodies before editing, etc.
441 * Optionally use chronic gem to allow for natural-language dates in searches.
442 * Many, many bugfixes and minor improvements.
443 * Tomorrow is Sup's first birthday!
444
445 == 0.2 / 2007-10-29
446 * Complete hook system for user-inserted code.
447 * GPG signature verification and decryption.
448 * Automatically scold users who top-post.
449 * Automatically warn when sending a message with words like
450 "attachment" in the body if there aren't actually any attachments to
451 the message.
452 * Millions of bugfixes.
453
454 == 0.1 / 2007-07-17
455 * MIME attachment creation.
456 * i18n support: character set conversion and rfc2047 header decoding.
457 * Better MIME handling.
458 * Multiple account support.
459 * Locking and concurrent Sup process detection and killation.
460 * Thread autoloading when you scroll down.
461 * Batch deletion of messages marked deleted or spam from message
462 sources via sup-sync-back tool (mbox only).
463 * Millions of bugfixes.
464
465 == 0.0.8 / 2007-04-01
466
467 * Maildir support!
468 * New command: sup-config. Interactively walks you through everything
469 you need to get up and running.
470 * Now proactive about notifying users of de-synced sources.
471 * Renamed sup-import => sup-sync with a brand new, less illogical
472 interface.
473 * Added a sup-dump, to enable backing up and rebuilding indices from
474 scratch (e.g. when Ferret upgrades break index formats).
475 * More bugfixes. Will they ever end?
476
477 == 0.0.7 / 2007-02-12
478
479 * Split sup-import into two bits: sup-import and sup-add.
480 * Command-line arguments now handled by trollop.
481 * Better error handling for IMAP and svn+ssh.
482 * Messages can now be moved between sources while preserving all
483 message state.
484 * New commands in thread-view-mode:
485 - 'a' to add an email to the addressbook
486 - 'S' to search for all email to/from an email address
487 - 'A' to kill buffer and archive thread in one swell foop
488 * Removed hoe dependency.
489
490 == 0.0.6 / 2007-01-06
491
492 * Very minor fix to support more types of IMAP authentication.
493
494 == 0.0.5 / 2007-01-05
495
496 * More bugfixes, primarily for IMAP.
497 * doc/UserGuide.txt
498
499 == 0.0.4 / 2007-01-03
500
501 * Bugfixes, primarily for threaded networking.
502
503 == 0.0.3 / 2007-01-02
504
505 * Major speed increase for index views (inbox, search results), which
506 are now loaded completely from the IR index. The only time the
507 original sources need to be touched is when viewing a thread. This
508 is important for slow sources like IMAP and mbox+ssh.
509 * Remote mbox support with mbox+ssh URIs.
510 * IMAP now actually works.
511 * sup-import uses HighLine and is generally much improved.
512 * Multitudinous minor bug fixes and improvements.
513
514 == 0.0.2 / 2006-12-10
515
516 * IMAP support
517 * Better handling of broken sources. (Everything won't just die.)
518 * You will need to rebuild both your index, and sources.yaml.
519 Sorry!
520
521 == 0.0.1 / 2006-11-28
522
523 * Initial release. Unix-centrism, support for mbox only, no i18n.
524 Untested on anything other than 1.8.5. Other than that, works great!