sup 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +12 -0
  4. data/CONTRIBUTORS +84 -0
  5. data/Gemfile +3 -0
  6. data/HACKING +42 -0
  7. data/History.txt +361 -0
  8. data/LICENSE +280 -0
  9. data/README.md +70 -0
  10. data/Rakefile +12 -0
  11. data/ReleaseNotes +231 -0
  12. data/bin/sup +434 -0
  13. data/bin/sup-add +118 -0
  14. data/bin/sup-config +243 -0
  15. data/bin/sup-dump +43 -0
  16. data/bin/sup-import-dump +101 -0
  17. data/bin/sup-psych-ify-config-files +21 -0
  18. data/bin/sup-recover-sources +87 -0
  19. data/bin/sup-sync +210 -0
  20. data/bin/sup-sync-back-maildir +127 -0
  21. data/bin/sup-tweak-labels +140 -0
  22. data/contrib/colorpicker.rb +100 -0
  23. data/contrib/completion/_sup.zsh +114 -0
  24. data/devel/console.sh +3 -0
  25. data/devel/count-loc.sh +3 -0
  26. data/devel/load-index.rb +9 -0
  27. data/devel/profile.rb +12 -0
  28. data/devel/start-console.rb +5 -0
  29. data/doc/FAQ.txt +119 -0
  30. data/doc/Hooks.txt +79 -0
  31. data/doc/Philosophy.txt +69 -0
  32. data/lib/sup.rb +467 -0
  33. data/lib/sup/account.rb +90 -0
  34. data/lib/sup/buffer.rb +768 -0
  35. data/lib/sup/colormap.rb +239 -0
  36. data/lib/sup/contact.rb +67 -0
  37. data/lib/sup/crypto.rb +461 -0
  38. data/lib/sup/draft.rb +119 -0
  39. data/lib/sup/hook.rb +159 -0
  40. data/lib/sup/horizontal_selector.rb +59 -0
  41. data/lib/sup/idle.rb +42 -0
  42. data/lib/sup/index.rb +882 -0
  43. data/lib/sup/interactive_lock.rb +89 -0
  44. data/lib/sup/keymap.rb +140 -0
  45. data/lib/sup/label.rb +87 -0
  46. data/lib/sup/logger.rb +77 -0
  47. data/lib/sup/logger/singleton.rb +10 -0
  48. data/lib/sup/maildir.rb +257 -0
  49. data/lib/sup/mbox.rb +187 -0
  50. data/lib/sup/message.rb +803 -0
  51. data/lib/sup/message_chunks.rb +328 -0
  52. data/lib/sup/mode.rb +140 -0
  53. data/lib/sup/modes/buffer_list_mode.rb +50 -0
  54. data/lib/sup/modes/completion_mode.rb +55 -0
  55. data/lib/sup/modes/compose_mode.rb +38 -0
  56. data/lib/sup/modes/console_mode.rb +125 -0
  57. data/lib/sup/modes/contact_list_mode.rb +148 -0
  58. data/lib/sup/modes/edit_message_async_mode.rb +110 -0
  59. data/lib/sup/modes/edit_message_mode.rb +728 -0
  60. data/lib/sup/modes/file_browser_mode.rb +109 -0
  61. data/lib/sup/modes/forward_mode.rb +82 -0
  62. data/lib/sup/modes/help_mode.rb +19 -0
  63. data/lib/sup/modes/inbox_mode.rb +85 -0
  64. data/lib/sup/modes/label_list_mode.rb +138 -0
  65. data/lib/sup/modes/label_search_results_mode.rb +38 -0
  66. data/lib/sup/modes/line_cursor_mode.rb +203 -0
  67. data/lib/sup/modes/log_mode.rb +57 -0
  68. data/lib/sup/modes/person_search_results_mode.rb +12 -0
  69. data/lib/sup/modes/poll_mode.rb +19 -0
  70. data/lib/sup/modes/reply_mode.rb +228 -0
  71. data/lib/sup/modes/resume_mode.rb +52 -0
  72. data/lib/sup/modes/scroll_mode.rb +252 -0
  73. data/lib/sup/modes/search_list_mode.rb +204 -0
  74. data/lib/sup/modes/search_results_mode.rb +59 -0
  75. data/lib/sup/modes/text_mode.rb +76 -0
  76. data/lib/sup/modes/thread_index_mode.rb +1033 -0
  77. data/lib/sup/modes/thread_view_mode.rb +941 -0
  78. data/lib/sup/person.rb +134 -0
  79. data/lib/sup/poll.rb +272 -0
  80. data/lib/sup/rfc2047.rb +56 -0
  81. data/lib/sup/search.rb +110 -0
  82. data/lib/sup/sent.rb +58 -0
  83. data/lib/sup/service/label_service.rb +45 -0
  84. data/lib/sup/source.rb +244 -0
  85. data/lib/sup/tagger.rb +50 -0
  86. data/lib/sup/textfield.rb +253 -0
  87. data/lib/sup/thread.rb +452 -0
  88. data/lib/sup/time.rb +93 -0
  89. data/lib/sup/undo.rb +38 -0
  90. data/lib/sup/update.rb +30 -0
  91. data/lib/sup/util.rb +747 -0
  92. data/lib/sup/util/ncurses.rb +274 -0
  93. data/lib/sup/util/path.rb +9 -0
  94. data/lib/sup/util/query.rb +17 -0
  95. data/lib/sup/util/uri.rb +15 -0
  96. data/lib/sup/version.rb +3 -0
  97. data/sup.gemspec +53 -0
  98. data/test/dummy_source.rb +61 -0
  99. data/test/gnupg_test_home/gpg.conf +1 -0
  100. data/test/gnupg_test_home/pubring.gpg +0 -0
  101. data/test/gnupg_test_home/receiver_pubring.gpg +0 -0
  102. data/test/gnupg_test_home/receiver_secring.gpg +0 -0
  103. data/test/gnupg_test_home/receiver_trustdb.gpg +0 -0
  104. data/test/gnupg_test_home/secring.gpg +0 -0
  105. data/test/gnupg_test_home/sup-test-2@foo.bar.asc +20 -0
  106. data/test/gnupg_test_home/trustdb.gpg +0 -0
  107. data/test/integration/test_label_service.rb +18 -0
  108. data/test/messages/bad-content-transfer-encoding-1.eml +8 -0
  109. data/test/messages/binary-content-transfer-encoding-2.eml +21 -0
  110. data/test/messages/missing-line.eml +9 -0
  111. data/test/test_crypto.rb +109 -0
  112. data/test/test_header_parsing.rb +168 -0
  113. data/test/test_helper.rb +7 -0
  114. data/test/test_message.rb +532 -0
  115. data/test/test_messages_dir.rb +147 -0
  116. data/test/test_yaml_migration.rb +85 -0
  117. data/test/test_yaml_regressions.rb +17 -0
  118. data/test/unit/service/test_label_service.rb +19 -0
  119. data/test/unit/test_horizontal_selector.rb +40 -0
  120. data/test/unit/util/test_query.rb +46 -0
  121. data/test/unit/util/test_string.rb +57 -0
  122. data/test/unit/util/test_uri.rb +19 -0
  123. metadata +423 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d330a3455ed22952d8c45fce0f6a0d69346c40f2
4
+ data.tar.gz: 337b95be43bc301f6180b542b2395df025f4f1db
5
+ SHA512:
6
+ metadata.gz: f538e3054ba742a5fadd296bcb6d29b0295e3ca807a0dfe600d908b3cfa9602697bd4e422ac5bde8facb603fe12784add4709ccc4f5ca9b7b76bf348cec3a6f3
7
+ data.tar.gz: 1923d32e3cfc13998e52bc7c53b19482f6a4ed9b13d4e79880a1a6a16d926b26af2e6aaa73d1ea6556a6d2cdaf51aae1979afc51eff01697df9801dd787a45a3
@@ -0,0 +1,17 @@
1
+ # i use vi
2
+ *.swp
3
+ # i use emacs
4
+ *~
5
+ # artifact
6
+ pkg/
7
+ *.gem
8
+ # i have accidently added this one one too many times
9
+ sup-exception-log.txt
10
+
11
+ # bundler stuff
12
+ Gemfile.lock
13
+ .bundle
14
+
15
+ # generated file for gnupg test
16
+ test/gnupg_test_home/random_seed
17
+
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.1.1
5
+ - 2.0.0
6
+ - 1.9.3
7
+
8
+ before_install:
9
+ - sudo apt-get update -qq
10
+ - sudo apt-get install -qq uuid-dev uuid libncursesw5-dev libncursesw5 gnupg2
11
+
12
+ script: bundle exec rake travis
@@ -0,0 +1,84 @@
1
+ William Morgan <william at the twitter dot coms>
2
+ Rich Lane <rlane at the club.cc.cmu dot edus>
3
+ Gaute Hope <eg at the gaute.vetsj dot coms>
4
+ Whyme Lyu <callme5long at the gmail dot coms>
5
+ Hamish Downer <dmishd at the gmail dot coms>
6
+ Damien Leone <damien.leone at the fensalir dot frs>
7
+ Sascha Silbe <sascha-pgp at the silbe dot orgs>
8
+ Eric Weikl <eric.weikl at the gmx dot nets>
9
+ Paweł Wilk <siefca at the gnu dot orgs>
10
+ Ismo Puustinen <ismo at the iki dot fis>
11
+ Nicolas Pouillard <nicolas.pouillard at the gmail dot coms>
12
+ Michael Stapelberg <michael at the stapelberg dot des>
13
+ Eric Sherman <hyperbolist at the gmail dot coms>
14
+ Tero Tilus <tero at the tilus dot nets>
15
+ Ben Walton <bwalton at the artsci.utoronto dot cas>
16
+ Mike Stipicevic <stipim at the rpi dot edus>
17
+ Martin Bähr <mbaehr at the societyserver dot orgs>
18
+ Clint Byrum <clint at the ubuntu dot coms>
19
+ Wael M. Nasreddine <wael.nasreddine at the gmail dot coms>
20
+ Marcus Williams <marcus-sup at the bar-coded dot nets>
21
+ Matthieu Rakotojaona <matthieu.rakotojaona at the gmail dot coms>
22
+ Lionel Ott <white.magic at the gmx dot des>
23
+ Gaudenz Steinlin <gaudenz at the soziologie dot chs>
24
+ Ingmar Vanhassel <ingmar at the exherbo dot orgs>
25
+ Mark Alexander <marka at the pobox dot coms>
26
+ Edward Z. Yang <ezyang at the mit dot edus>
27
+ Timon Vonk <timonv at the gmail dot coms>
28
+ julien@macbook <julien.stechele at the gmail dot coms>
29
+ Christopher Warrington <chrisw at the rice dot edus>
30
+ W. Trevor King <wking at the drexel dot edus>
31
+ Richard Brown <rbrown at the exherbo dot orgs>
32
+ Anthony Martinez <pi+sup at the pihost dot uss>
33
+ Marc Hartstein <marc.hartstein at the alum.vassar dot edus>
34
+ Israel Herraiz <israel.herraiz at the gmail dot coms>
35
+ Christopher Corley <cscorley at the ua dot edus>
36
+ Markus Klinik <mkl at the lambdanaut dot nets>
37
+ Bo Borgerson <gigabo at the gmail dot coms>
38
+ Atte Kojo <atte.kojo at the reaktor dot fis>
39
+ Michael Hamann <michael at the content-space dot des>
40
+ William Erik Baxter <web at the superscript dot coms>
41
+ Jonathan Lassoff <jof at the thejof dot coms>
42
+ Grant Hollingworth <grant at the antiflux dot orgs>
43
+ Ico Doornekamp <ico at the pruts dot nls>
44
+ Adeodato Simó <dato at the net.com.org dot ess>
45
+ Daniel Schoepe <daniel.schoepe at the googlemail dot coms>
46
+ James Taylor <james at the jamestaylor dot orgs>
47
+ Jason Petsod <jason at the petsod dot orgs>
48
+ Robin Burchell <viroteck at the viroteck dot nets>
49
+ Steve Goldman <sgoldman at the tower-research dot coms>
50
+ Peter Harkins <ph at the malaprop dot orgs>
51
+ Decklin Foster <decklin at the red-bean dot coms>
52
+ Cameron Matheson <cam+sup at the cammunism dot orgs>
53
+ Carl Worth <cworth at the cworth dot orgs>
54
+ Alex Vandiver <alex at the chmrr dot nets>
55
+ Andrew Pimlott <andrew at the pimlott dot nets>
56
+ Jeff Balogh <its.jeff.balogh at the gmail dot coms>
57
+ Matías Aguirre <matiasaguirre at the gmail dot coms>
58
+ PaulSmecker <paul.smecker at the gmail dot coms>
59
+ Kornilios Kourtis <kkourt at the cslab.ece.ntua dot grs>
60
+ Lars Fischer <fischer at the wiwi.uni-siegen dot des>
61
+ madhat2r <MaDhAt2r at the dukefoo dot coms>
62
+ Giorgio Lando <patroclo7 at the gmail dot coms>
63
+ Kevin Riggle <kevinr at the free-dissociation dot coms>
64
+ Benoît PIERRE <benoit.pierre at the gmail dot coms>
65
+ Alvaro Herrera <alvherre at the alvh.no-ip dot orgs>
66
+ Steven Lawrance <stl at the koffein dot nets>
67
+ Jonah <Jonah at the GoodCoffee dot cas>
68
+ ian <itaylor at the uark dot edus>
69
+ Adam Lloyd <adam at the alloy-d dot nets>
70
+ MichaelRevell <mikearevell at the gmail dot coms>
71
+ Gregor Hoffleit <gregor at the sam.mediasupervision dot des>
72
+ Todd Eisenberger <teisenbe at the andrew.cmu dot edus>
73
+ Per Andersson <avtobiff at the gmail dot coms>
74
+ 0xACE <0xACE at the users.noreply.github dot coms>
75
+ Steven Schmeiser <steven at the schmeiser dot orgs>
76
+ Steven Walter <swalter at the monarch.(none)>
77
+ Jon M. Dugan <jdugan at the es dot nets>
78
+ akojo <atte.kojo at the gmail dot coms>
79
+ Matthias Vallentin <vallentin at the icir dot orgs>
80
+ William A. Kennington III <william at the wkennington dot coms>
81
+ Horacio Sanson <horacio at the skillupjapan.co dot jps>
82
+ Stefan Lundström <lundst at the snabb.(none)>
83
+ Johannes Larsen <johs.a.larsen at the gmail dot coms>
84
+ Kirill Smelkov <kirr at the landau.phys.spbu dot rus>
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org/'
2
+
3
+ gemspec
data/HACKING ADDED
@@ -0,0 +1,42 @@
1
+ Running Sup from your git checkout
2
+ ----------------------------------
3
+
4
+ Invoke it like this:
5
+
6
+ ruby -I lib -w bin/sup
7
+
8
+ You'll have to install all gems mentioned in the Rakefile (look for the line
9
+ setting p.extra_deps). If you're on a Debian or Debian-based system (e.g.
10
+ Ubuntu), you'll have to make sure you have a complete Ruby installation,
11
+ especially libssl-ruby. You will need libruby-devel, gcc, and rake installed
12
+ to build certain gems like Xapian. Gem install does not do a good job of
13
+ detecting when these things are missing and the build fails.
14
+
15
+ Rubygems also is particularly aggressive about picking up libraries from
16
+ installed gems. If you do have Sup installed as a gem, please examine
17
+ backtraces to make sure you're loading files from the repository and NOT from
18
+ the installed gem before submitting any bug reports.
19
+
20
+ Coding standards
21
+ ----------------
22
+
23
+ - Don't wrap code unless it really benefits from it.
24
+ - Do wrap comments at 72 characters.
25
+ - Old lisp-style comment differentiations:
26
+ # one for comments on the same line as a line of code
27
+ ## two for comments on their own line, except:
28
+ ### three for comments that demarcate large sections of code (rare)
29
+ - Use {} for one-liner blocks and do/end for multi-line blocks.
30
+ - I like poetry mode. Don't use parentheses unless you must.
31
+ - The one exception to poetry mode is if-statements that have an assignment in
32
+ the condition. To make it clear this is not a comparison, surround the
33
+ condition by parentheses. E.g.:
34
+ if a == b if(a = some.computation)
35
+ ... BUT ... something with a
36
+ end end
37
+ - and/or versus ||/&&. In Ruby, "and" and "or" bind very loosely---even
38
+ more loosely than function application. This makes them ideal for
39
+ end-of-line short-circuit control in poetry mode. So, use || and &&
40
+ for ordinary logical comparisons, and "and" and "or" for end-of-line
41
+ flow control. E.g.:
42
+ x = a || b or raise "neither is true"
@@ -0,0 +1,361 @@
1
+ == 0.19.0 / 2014-07-05
2
+
3
+ * new check-attachment hook
4
+ * configure times to be seen in 24h format
5
+ * new mailinglist: supmua@googlegroups.com
6
+
7
+ == 0.18.0 / 2014-05-19
8
+
9
+ * new color option, :with_attachment for defining colors for the
10
+ attachment character.
11
+ * sup-tweak-labels works again (out of service since sync_back).
12
+ * gem building is done through bundler
13
+ * you can now kill a thread using & from thread_view
14
+
15
+ == 0.17.0 / 2014-04-11
16
+
17
+ * add continuous scrolling to thread view
18
+ * add option for always editing in async mode
19
+ * bugfix: fix completion char
20
+ * bugfix: thread-view: dont close message when it is the first or last
21
+
22
+ == 0.16.0 / 2014-03-21
23
+
24
+ * sup-sync-back-mbox removed.
25
+ * safer mime-view attachment file name handling
26
+ * show thread labels in thread-view-mode
27
+ * remove lock file if there is no sup alive
28
+ * deprecate migration script on ruby > 2.1
29
+
30
+ == 0.15.4 / 2014-02-06
31
+
32
+ * Various bugfixes
33
+
34
+ == 0.15.3 / 2014-01-27
35
+
36
+ * Revert non-functioning hidden_alternates and fix some bugs.
37
+
38
+ == 0.15.2 / 2013-12-20
39
+
40
+ * Use the form_driver_w routine for inputing multibyte chars when
41
+ available.
42
+ * Add hidden_alternates configuration option: hidden aliases for the
43
+ account.
44
+
45
+ == 0.15.1 / 2013-12-04
46
+
47
+ * Thread children are sorted last-activity latest (bottom).
48
+
49
+ == 0.15.0 / 2013-11-07
50
+
51
+ * Maildir Syncback has now been merged into main sup! This is a
52
+ long-time waiting feature initially developed by Damien Leone,
53
+ then picked up by Edward Z. Yang who continued development. Additionally
54
+ several others have been contributing.
55
+
56
+ Eventually, recently, Eric Weikl has picked up this branch, modernized
57
+ it to current sup, maintained it and gotten it ready for release.
58
+
59
+ Main authors:
60
+
61
+ Damien Leone
62
+ Edward Z. Yang
63
+ Eric Weikl
64
+
65
+ Not all of the features initially proposed have been included. This is
66
+ to maintain compatibility with more operating systems and wait with
67
+ the more daring features to make sure sup is stable-ish.
68
+
69
+ This is a big change since sup now can modify your mail (!), please
70
+ back up your mail and your configuration before using the maildir
71
+ syncback feature. For instructions on how to migrate an existing
72
+ maildir source or how to set up a new one, refer to the wiki:
73
+
74
+ https://github.com/sup-heliotrope/sup/wiki/Using-sup-with-other-clients
75
+
76
+ It is possible to both disable maildir syncback globally (default:
77
+ disabled) and per-source (default: enabled).
78
+
79
+ * Sup on Ruby 2.0.0 now works - but beware, this has not been very throughly
80
+ tested. Patches are welcome.
81
+
82
+ * We are now using our own rmail-sup gem with fixes for Ruby 2.0.0 and
83
+ various warnings fixed.
84
+
85
+ * sup-sync-back has been renamed to sup-sync-back-mbox to conform with
86
+ the other sync-back scripts.
87
+
88
+ * You can now save attachments to directories without specifying the full
89
+ filename (default filename is used).
90
+
91
+ * Various encoding fixes and minor bug fixes
92
+
93
+ == 0.14.1.1 / 2013-10-29
94
+
95
+ * SBU1: security release
96
+ * Tempfiles for attachments are persistent through the sup process to
97
+ ensure that spawned processes have access to them.
98
+
99
+ == 0.13.2.1 / 2013-10-29
100
+
101
+ * SBU1: security release
102
+
103
+ == 0.14.1 / 2013-08-31
104
+
105
+ * Various bugfixes.
106
+ * Predefined 'All mail' search.
107
+
108
+ == 0.14.0 / 2013-08-15
109
+
110
+ * CJK compatability
111
+ * Psych over Syck
112
+ * Ruby 1.8 deprecated
113
+ * Thread safety
114
+ * No more Iconv, but using built in Ruby encodings. Better UTF-8
115
+ handling.
116
+ * GPGME 2.0 support
117
+
118
+ == 0.13.2 / 2013-06-26
119
+
120
+ * FreeBSD 10 comptability
121
+ * More threadsafe polling
122
+
123
+ == 0.13.1 / 2013-06-21
124
+
125
+ * Bugfixes
126
+
127
+ == 0.13.0 / 2013-05-15
128
+
129
+ * Bugfixes
130
+ * Depend on ncursesw-sup
131
+
132
+ == 0.12.1 / 2011-01-23
133
+ * Depend on ncursesw rather than ncurses (Ruby 1.9 compatibility)
134
+ * Add sup-import-dump
135
+
136
+ == 0.12 / 2011-01-13
137
+ * Remove deprecated IMAP, IMAPS, and mbox+ssh sources
138
+ * Inline GPG support
139
+ * Robust maildir support
140
+ * sup-dump compatibility between Sup versions
141
+ * New hook: sendmail
142
+ * Better Ruby 1.9/UTF8 support
143
+ * As always, many bugfixes and tweaks.
144
+
145
+ == 0.11 / 2010-03-07
146
+ * Remove deprecated Ferret backend.
147
+ * Add deprecation notices to IMAP, IMAPS, and mbox+ssh sources.
148
+ * 256 color support.
149
+ * Backwards-compatible index format improvements.
150
+ * Saved searches.
151
+ * Improved support for custom keybindings.
152
+ * Idle detection - poll totals accumulate and index flushes on idle.
153
+ * Several textfield improvments.
154
+ * New hooks: publish, mentions-attachments, keybindings,
155
+ index-mode-date-widget, gpg-args, and crypto-settings.
156
+ * sup-cmd for easy programmatic access to a Sup index.
157
+ * As always, many bugfixes and tweaks.
158
+
159
+ == 0.10.2 / 2010-01-26
160
+ * Update gem dependencies to pull in xapian-full and ncursesw instead of ferret
161
+ and ncurses.
162
+ * Fix a minor problem when running with Ruby 1.8.5.
163
+ * Fix a warning.
164
+
165
+ == 0.10.1 / 2010-01-24
166
+ * Fix a missing file in the gem.
167
+
168
+ == 0.10 / 2010-01-22
169
+ * Make Xapian backend the default, and add deprecation notice to Ferret indexes.
170
+ * Now Ruby 1.9 compatible (Xapian backend only).
171
+ * Changes are now saved automatically to the index. Pressing "$" now just
172
+ forces a flush of Xapian indexes, which can minimize quit time.
173
+ * Fix problem with replying to Google Groups messages.
174
+ * Allow toggling of line wrap. Useful for long URLs.
175
+ * Multiple attachments can be added at once by specifying a wildcard.
176
+ * New command to save all attachments at once.
177
+ * As always, many bugfixes and tweaks.
178
+
179
+ == 0.9.1 / 2009-12-10
180
+ * Make textfield behave more like readline, including C-w
181
+ * Add ask_for_to config option. You can set all ask_for_* options to false, and
182
+ composing a message will go immediately to the editor.
183
+ * RFC 2047 decode attachment file names
184
+ * default ask_for_to to true
185
+ * add undo power to thread-view-mode
186
+ * display labels of polled messages
187
+ * increase numbers in contact-list-mode
188
+ * fix --compose option, and add a --subject option
189
+ * include hook filename in error messages
190
+ * As always, many bugfixes and tweaks.
191
+
192
+ == 0.9 / 2009-10-01
193
+ * Experimental Xapian backend to replace Ferret. Not everything works with it,
194
+ but it's fast and less likely to barf. See release notes.
195
+ * New keybinding: "G" for reply-all.
196
+ * New hook: custom-search, for adding your own query expansions.
197
+ * Better preemptive thread loading.
198
+ * Random UI tweaks: display labels before subjects, change thread-view-mode's
199
+ 'n' and 'p' commands slightly
200
+ * Better killing of other Sup processes.
201
+ * Die gracefully upon SIGKILL.
202
+ * Finally figure out the curses+ruby magic to make SIGWINCH (i.e. xterm
203
+ resizing) work correctly.
204
+ * Add a console mode (press ~) for interactively playing with the index.
205
+ * Finally figure out the curses magic to stop the weird keyboard behavior after
206
+ leaving the editor.
207
+ * Improved logging. Logging now supports SUP_LOG_LEVEL environment variable.
208
+ Set this to "debug" for verbiage.
209
+ * As always, many bugfixes and tweaks.
210
+
211
+ == 0.8.1 / 2009-06-15
212
+ * make multibyte display "work" for non-utf8 locales
213
+ * fix reply-mode always selecting "Customized"
214
+ * reduce email quote parsing worst-case behavior
215
+
216
+ == 0.8 / 2009-06-05
217
+ * Undo support on many operations. Yay!
218
+ * Mbox splitting fixes. No more "From "-line problems.
219
+ * Mail parsing speedups.
220
+ * Many utf8 and widechar fixes. Display of crazy characters should be pretty
221
+ close.
222
+ * Outgoing email with non-ASCII headers is now properly encoded.
223
+ * Email addresses are no longer permanently attached to names. This was
224
+ causing problems with automated email systems that used different names
225
+ with the same address.
226
+ * Curses background now retains the terminal default color. This also makes
227
+ Sup work better on transparent terminals.
228
+ * Improve dynamic loading of setlocale for Cygwin and BSD systems.
229
+ * Labels can now be removed from multiple tagged threads.
230
+ * Applying operations to tagged threads is now invoked with '='.
231
+ * Buffer list is betterified and is now invoked with ';'.
232
+ * Zsh autocompletion support.
233
+ * As always, many bugfixes and tweaks.
234
+
235
+ == 0.7 / 2009-03-16
236
+ * Ferret index corruption issues fixed (hopefully!)
237
+ * Text entry now scrolls to the right on overflow, i.e. is actually usable
238
+ * Ctrl-C now asks user if Sup should die ungracefully
239
+ * Add a limit:<int> search operator to limit the number of results
240
+ * Added a --query option to sup-tweak-labels
241
+ * Added a new hook: shutdown
242
+ * Automatically add self as recipient on crypted sent messages
243
+ * Read in X-Foo headers
244
+ * Added global keybinding 'U' shows only unread messages
245
+ * As always, many bugfixes and tweaks
246
+
247
+ == 0.6 / 2008-08-04
248
+ * new hooks: mark-as-spam, reply-to, reply-from
249
+ * configurable colors. finally!
250
+ * many bugfixes
251
+ * more vi keys added, and 'q' now asks before quitting
252
+ * attachment markers (little @ signs!) in thread-index-mode
253
+ * maildir speedups
254
+ * attachment name searchability
255
+ * archive-and-mark-read command in inbox-mode
256
+
257
+ == 0.5 / 2008-04-22
258
+ * new hooks: extra-contact-addresses, startup
259
+ * '!!' now loads all threads in current search
260
+ * general state saving speedup
261
+ * threads with unsent draft messages are now shown in red
262
+ * --compose spawns a compose-message buffer on startup
263
+ * Many bugfixes and UI improvements
264
+
265
+ == 0.4 / 2008-01-23
266
+ * GPG support for signing and encrypting outgoing mail
267
+ * New hooks: mime attachment, attribution line
268
+ * Improved local charset detection using gettext library
269
+ * Better quoted region detection
270
+ * Many bugfixes and UI improvements
271
+
272
+ == 0.3 / 2007-10-29
273
+ * In-buffer search (finally!)
274
+ * Subscribe to/unsubscribe from mailing list commands.
275
+ * IMAP speedups.
276
+ * More hooks: set status bar, set terminal title bar, modify message headers
277
+ and bodies before editing, etc.
278
+ * Optionally use chronic gem to allow for natural-language dates in searches.
279
+ * Many, many bugfixes and minor improvements.
280
+ * Tomorrow is Sup's first birthday!
281
+
282
+ == 0.2 / 2007-10-29
283
+ * Complete hook system for user-inserted code.
284
+ * GPG signature verification and decryption.
285
+ * Automatically scold users who top-post.
286
+ * Automatically warn when sending a message with words like
287
+ "attachment" in the body if there aren't actually any attachments to
288
+ the message.
289
+ * Millions of bugfixes.
290
+
291
+ == 0.1 / 2007-07-17
292
+ * MIME attachment creation.
293
+ * i18n support: character set conversion and rfc2047 header decoding.
294
+ * Better MIME handling.
295
+ * Multiple account support.
296
+ * Locking and concurrent Sup process detection and killation.
297
+ * Thread autoloading when you scroll down.
298
+ * Batch deletion of messages marked deleted or spam from message
299
+ sources via sup-sync-back tool (mbox only).
300
+ * Millions of bugfixes.
301
+
302
+ == 0.0.8 / 2007-04-01
303
+
304
+ * Maildir support!
305
+ * New command: sup-config. Interactively walks you through everything
306
+ you need to get up and running.
307
+ * Now proactive about notifying users of de-synced sources.
308
+ * Renamed sup-import => sup-sync with a brand new, less illogical
309
+ interface.
310
+ * Added a sup-dump, to enable backing up and rebuilding indices from
311
+ scratch (e.g. when Ferret upgrades break index formats).
312
+ * More bugfixes. Will they ever end?
313
+
314
+ == 0.0.7 / 2007-02-12
315
+
316
+ * Split sup-import into two bits: sup-import and sup-add.
317
+ * Command-line arguments now handled by trollop.
318
+ * Better error handling for IMAP and svn+ssh.
319
+ * Messages can now be moved between sources while preserving all
320
+ message state.
321
+ * New commands in thread-view-mode:
322
+ - 'a' to add an email to the addressbook
323
+ - 'S' to search for all email to/from an email address
324
+ - 'A' to kill buffer and archive thread in one swell foop
325
+ * Removed hoe dependency.
326
+
327
+ == 0.0.6 / 2007-01-06
328
+
329
+ * Very minor fix to support more types of IMAP authentication.
330
+
331
+ == 0.0.5 / 2007-01-05
332
+
333
+ * More bugfixes, primarily for IMAP.
334
+ * doc/UserGuide.txt
335
+
336
+ == 0.0.4 / 2007-01-03
337
+
338
+ * Bugfixes, primarily for threaded networking.
339
+
340
+ == 0.0.3 / 2007-01-02
341
+
342
+ * Major speed increase for index views (inbox, search results), which
343
+ are now loaded completely from the IR index. The only time the
344
+ original sources need to be touched is when viewing a thread. This
345
+ is important for slow sources like IMAP and mbox+ssh.
346
+ * Remote mbox support with mbox+ssh URIs.
347
+ * IMAP now actually works.
348
+ * sup-import uses HighLine and is generally much improved.
349
+ * Multitudinous minor bug fixes and improvements.
350
+
351
+ == 0.0.2 / 2006-12-10
352
+
353
+ * IMAP support
354
+ * Better handling of broken sources. (Everything won't just die.)
355
+ * You will need to rebuild both your index, and sources.yaml.
356
+ Sorry!
357
+
358
+ == 0.0.1 / 2006-11-28
359
+
360
+ * Initial release. Unix-centrism, support for mbox only, no i18n.
361
+ Untested on anything other than 1.8.5. Other than that, works great!