sup 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
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!