== 1.1 / 2022-05-23

* #588, #577: Sup is now compatible with and tested on Ruby 3.0 and Ruby 3.1.
* When the Sup gem installs xapian-ruby, it will install to the user gem
  directory if the system gem directory is not writable. (Iain Parris)
* #571: To and From addresses of enclosed messages are now displayed normally,
  instead of as Redwood::Person objects. (Iain Parris)
* #570: Fixed wording when displaying enclosed messages without Date header.
  (Iain Parris)
* #205, #602: UTF-8 header values are now accepted and handled correctly, as
  per RFC6532.
* #585: Text/plain attachments with invalid charset are now displayed as
  US-ASCII (with high bytes replaced) instead of crashing.
* #424: Spaces are now accepted in RFC2047-encoded header words, even though
  the RFC forbids them. (Dan Callaghan)
* Invalid RFC2047-encoded header words are now displayed in their raw form,
  rather than trying to forcibly transcode them to UTF-8, as per the RFC's
  recommendation. (Dan Callaghan)
* Sup now decodes UTF-7 correctly instead of crashing.

== 1.0 / 2020-07-12

No changes. The version number is incremented to 1.0 to reflect the fact that
Sup is mature and no further backwards-incompatible changes are planned.

== 0.23 / 2020-07-10

* #505: Shell metacharacters in attachment filenames are no longer escaped when
  saving the attachment to disk using 's'. Fixes attachments being saved with
  unnecessary \ escapes in their filename. (Felix Van der Jeugt)
* When saving attachments, Sup now creates all parent directories of the
  destination path. (Matthieu Rakotojaona)
* The '@' key now reloads all messages in thread view. (Seva Zhidkov)
* #517: The 'g' key now correctly opens each selected URL if multiple URLs are
  under the cursor, instead of opening the last URL multiple times.
  (Matthieu Rakotojaona)
* The 'g' key now works when the cursor is over a URL inside a signature block.
  (Michael Dwyer)
* The 'reply-to' hook is now passed a 'message' variable, the message being
  replied to, so that the hook can choose the reply mode based on properties of
  the message like the list address. (Simon Tatham)
* The contacts list now shows also email addresses supplied by the
  'extra-contract-addresses' hook. (Matthieu Rakotojaona)
* #510: The micalg= parameter is now set correctly when sending
  multipart/signed messages. Fixes issues with other mail clients which fail to
  handle a missing micalg= parameter on signed messages. (Dan Callaghan)
* Attachments with text/plain MIME type are now correctly decoded according to
  their charset= parameter. (Dan Callaghan)
* Strings returned by the 'mime-decode' hook are now kept in their original
  encoding and displayed as is, instead of being wrongly transcoded.
  (Dan Callaghan)
* Rendering speed of thread list views is improved. (Vickenty Fesunov)
* Fixed display width calculation for emoji. Previously, sender names and
  thread subjects using emoji would be incorrectly truncated, if the terminal
  emulator displays emoji as double-width. (Dan Callaghan)
* List address is parsed from the non-standard Mailing-List header used by
  Groups.io. (Dan Callaghan)
* Fixed misinterpretation of quoted text where the quote uses both an
  "---- Original Message ----" marker and > delimiters, for example from
  Zimbra users. (Steven Lawrance)
* Added a new option 'indent_spaces' in config.yaml, to control the number of
  spaces for indenting each child message when displaying the thread view.
  The default remains 2. (Antoni Kaniowski)
* Attachment sizes are now displayed using standard unit abbreviations like
  "MiB". (Sharif Olorin)
* Sup now gives a hint if a search query results in an empty search after
  tokenization (for example, if the user tries to search for only punctuation).
  (Per Andersson)
* The --list-hooks option now takes an additional option --hooks-matching, to
  filter the listed hooks. (Matthieu Rakotojaona)
* Fixed ArgumentError in logging methods on Ruby 2.7. (Dan Callaghan)
* Fixed FrozenError in verified_ok? method on Ruby 2.7. (Iain Parris)
* Fixed Fixnum deprecation warnings on Ruby 2.4+. (Dan Callaghan)
* Several dependency version updates. The optimist gem replaces trollop. The
  unicode-display_width gem is a new dependency.

== 0.22.1 / 2015-06-18

* Fix bug (#429)  in gem build / install.

== 0.22.0 / 2015-06-16

* Use mime-types 2
* Fix ruby style (Zeger-Jan van de Weg)
* Johannes Larsen: fix long-standing bug with draft-id mixups causing
  drafts to disappear.
* Various bugs and minor improvements.

== 0.21.0 / 2015-02-12

* Key binding to fetch GPG key from keyserver (Matthieu Rakotojaona)
* Replace occurences of File.exists? with File.exist? (Zeger-Jan van de
  Weg)
* You can now unsubscribe from mailinglists using an url, if you have a
  goto-hook setup (Timon Vonk).
* Forward attribution can be customized using the forward-attribution
  hook (Ruthard Baudach)
* Do a few more checks for buffer not nil in the hope to fix a few
  random crashes
* Add bash completion (Per Andersson)
* Replace dl/import with Fiddle (Timon Vonk)
* Drop support for ruby 1.9.3
* Add tests for contact manager and persons (Zeger-Jan van de Weg)

== 0.20.0 / 2014-10-06

* add man-pages (generated from wiki) (Per Andersson)!
* HTML messages or messages that are decoded with the mime-decode hook
  are now indexed if the mime-decode hook is set up (Scott Bonds).
* OpenBSD support (Scott Bonds)!
* goto-hook for keybinding to open URLs.
* support special charaters in source URIs (Scott Bonds).
* output message id and locations on all load_from_source failures
* fix long-standing getlocal bug
* make new test GPG keys (old ones expired), valid for one year, script
  now available in devel/ for making new ones.

== 0.19.0 / 2014-07-05

* new check-attachment hook
* configure times to be seen in 24h format
* new mailinglist: supmua@googlegroups.com

== 0.18.0 / 2014-05-19

* new color option, :with_attachment for defining colors for the
  attachment character.
* sup-tweak-labels works again (out of service since sync_back).
* gem building is done through bundler
* you can now kill a thread using & from thread_view

== 0.17.0 / 2014-04-11

* add continuous scrolling to thread view
* add option for always editing in async mode
* bugfix: fix completion char
* bugfix: thread-view: dont close message when it is the first or last

== 0.16.0 / 2014-03-21

* sup-sync-back-mbox removed.
* safer mime-view attachment file name handling
* show thread labels in thread-view-mode
* remove lock file if there is no sup alive
* deprecate migration script on ruby > 2.1

== 0.15.4 / 2014-02-06

* Various bugfixes

== 0.15.3 / 2014-01-27

* Revert non-functioning hidden_alternates and fix some bugs.

== 0.15.2 / 2013-12-20

* Use the form_driver_w routine for inputing multibyte chars when
  available.
* Add hidden_alternates configuration option: hidden aliases for the
  account.

== 0.15.1 / 2013-12-04

* Thread children are sorted last-activity latest (bottom).

== 0.15.0 / 2013-11-07

* Maildir Syncback has now been merged into main sup! This is a
  long-time waiting feature initially developed by Damien Leone,
  then picked up by Edward Z. Yang who continued development. Additionally
  several others have been contributing.

  Eventually, recently, Eric Weikl has picked up this branch, modernized
  it to current sup, maintained it and gotten it ready for release.

  Main authors:

  Damien Leone
  Edward Z. Yang
  Eric Weikl

  Not all of the features initially proposed have been included. This is
  to maintain compatibility with more operating systems and wait with
  the more daring features to make sure sup is stable-ish.

  This is a big change since sup now can modify your mail (!), please
  back up your mail and your configuration before using the maildir
  syncback feature. For instructions on how to migrate an existing
  maildir source or how to set up a new one, refer to the wiki:

  https://github.com/sup-heliotrope/sup/wiki/Using-sup-with-other-clients

  It is possible to both disable maildir syncback globally (default:
  disabled) and per-source (default: enabled).

* Sup on Ruby 2.0.0 now works - but beware, this has not been very throughly
  tested. Patches are welcome.

* We are now using our own rmail-sup gem with fixes for Ruby 2.0.0 and
  various warnings fixed.

* sup-sync-back has been renamed to sup-sync-back-mbox to conform with
  the other sync-back scripts.

* You can now save attachments to directories without specifying the full
  filename (default filename is used).

* Various encoding fixes and minor bug fixes

== 0.14.1.1 / 2013-10-29

* SBU1: security release
* Tempfiles for attachments are persistent through the sup process to
  ensure that spawned processes have access to them.

== 0.13.2.1 / 2013-10-29

* SBU1: security release

== 0.14.1 / 2013-08-31

* Various bugfixes.
* Predefined 'All mail' search.

== 0.14.0 / 2013-08-15

* CJK compatability
* Psych over Syck
* Ruby 1.8 deprecated
* Thread safety
* No more Iconv, but using built in Ruby encodings. Better UTF-8
  handling.
* GPGME 2.0 support

== 0.13.2 / 2013-06-26

* FreeBSD 10 comptability
* More threadsafe polling

== 0.13.1 / 2013-06-21

* Bugfixes

== 0.13.0 / 2013-05-15

* Bugfixes
* Depend on ncursesw-sup

== 0.12.1 / 2011-01-23
* Depend on ncursesw rather than ncurses (Ruby 1.9 compatibility)
* Add sup-import-dump

== 0.12 / 2011-01-13
* Remove deprecated IMAP, IMAPS, and mbox+ssh sources
* Inline GPG support
* Robust maildir support
* sup-dump compatibility between Sup versions
* New hook: sendmail
* Better Ruby 1.9/UTF8 support
* As always, many bugfixes and tweaks.

== 0.11 / 2010-03-07
* Remove deprecated Ferret backend.
* Add deprecation notices to IMAP, IMAPS, and mbox+ssh sources.
* 256 color support.
* Backwards-compatible index format improvements.
* Saved searches.
* Improved support for custom keybindings.
* Idle detection - poll totals accumulate and index flushes on idle.
* Several textfield improvments.
* New hooks: publish, mentions-attachments, keybindings,
  index-mode-date-widget, gpg-args, and crypto-settings.
* sup-cmd for easy programmatic access to a Sup index.
* As always, many bugfixes and tweaks.

== 0.10.2 / 2010-01-26
* Update gem dependencies to pull in xapian-full and ncursesw instead of ferret
  and ncurses.
* Fix a minor problem when running with Ruby 1.8.5.
* Fix a warning.

== 0.10.1 / 2010-01-24
* Fix a missing file in the gem.

== 0.10 / 2010-01-22
* Make Xapian backend the default, and add deprecation notice to Ferret indexes.
* Now Ruby 1.9 compatible (Xapian backend only).
* Changes are now saved automatically to the index. Pressing "$" now just
  forces a flush of Xapian indexes, which can minimize quit time.
* Fix problem with replying to Google Groups messages.
* Allow toggling of line wrap. Useful for long URLs.
* Multiple attachments can be added at once by specifying a wildcard.
* New command to save all attachments at once.
* As always, many bugfixes and tweaks.

== 0.9.1 / 2009-12-10
* Make textfield behave more like readline, including C-w
* Add ask_for_to config option. You can set all ask_for_* options to false, and
  composing a message will go immediately to the editor.
* RFC 2047 decode attachment file names
        * default ask_for_to to true
* add undo power to thread-view-mode
* display labels of polled messages
* increase numbers in contact-list-mode
* fix --compose option, and add a --subject option
* include hook filename in error messages
* As always, many bugfixes and tweaks.

== 0.9 / 2009-10-01
* Experimental Xapian backend to replace Ferret. Not everything works with it,
  but it's fast and less likely to barf. See release notes.
* New keybinding: "G" for reply-all.
* New hook: custom-search, for adding your own query expansions.
* Better preemptive thread loading.
* Random UI tweaks: display labels before subjects, change thread-view-mode's
  'n' and 'p' commands slightly
* Better killing of other Sup processes.
* Die gracefully upon SIGKILL.
* Finally figure out the curses+ruby magic to make SIGWINCH (i.e. xterm
  resizing) work correctly.
* Add a console mode (press ~) for interactively playing with the index.
* Finally figure out the curses magic to stop the weird keyboard behavior after
  leaving the editor.
* Improved logging. Logging now supports SUP_LOG_LEVEL environment variable.
  Set this to "debug" for verbiage.
* As always, many bugfixes and tweaks.

== 0.8.1 / 2009-06-15
* make multibyte display "work" for non-utf8 locales
* fix reply-mode always selecting "Customized"
* reduce email quote parsing worst-case behavior

== 0.8 / 2009-06-05
* Undo support on many operations. Yay!
* Mbox splitting fixes. No more "From "-line problems.
* Mail parsing speedups.
* Many utf8 and widechar fixes. Display of crazy characters should be pretty
  close.
* Outgoing email with non-ASCII headers is now properly encoded.
* Email addresses are no longer permanently attached to names. This was
  causing problems with automated email systems that used different names
  with the same address.
* Curses background now retains the terminal default color. This also makes
  Sup work better on transparent terminals.
* Improve dynamic loading of setlocale for Cygwin and BSD systems.
* Labels can now be removed from multiple tagged threads.
* Applying operations to tagged threads is now invoked with '='.
* Buffer list is betterified and is now invoked with ';'.
* Zsh autocompletion support.
* As always, many bugfixes and tweaks.

== 0.7 / 2009-03-16
* Ferret index corruption issues fixed (hopefully!)
* Text entry now scrolls to the right on overflow, i.e. is actually usable
* Ctrl-C now asks user if Sup should die ungracefully
* Add a limit:<int> search operator to limit the number of results
* Added a --query option to sup-tweak-labels
* Added a new hook: shutdown
* Automatically add self as recipient on crypted sent messages
* Read in X-Foo headers
* Added global keybinding 'U' shows only unread messages
* As always, many bugfixes and tweaks

== 0.6 / 2008-08-04
* new hooks: mark-as-spam, reply-to, reply-from
* configurable colors. finally!
* many bugfixes
* more vi keys added, and 'q' now asks before quitting
* attachment markers (little @ signs!) in thread-index-mode
* maildir speedups
* attachment name searchability
* archive-and-mark-read command in inbox-mode

== 0.5 / 2008-04-22
* new hooks: extra-contact-addresses, startup
* '!!' now loads all threads in current search
* general state saving speedup
* threads with unsent draft messages are now shown in red
* --compose spawns a compose-message buffer on startup
* Many bugfixes and UI improvements

== 0.4 / 2008-01-23
* GPG support for signing and encrypting outgoing mail
* New hooks: mime attachment, attribution line
* Improved local charset detection using gettext library
* Better quoted region detection
* Many bugfixes and UI improvements

== 0.3 / 2007-10-29
* In-buffer search (finally!)
* Subscribe to/unsubscribe from mailing list commands.
* IMAP speedups.
* More hooks: set status bar, set terminal title bar, modify message headers
  and bodies before editing, etc.
* Optionally use chronic gem to allow for natural-language dates in searches.
* Many, many bugfixes and minor improvements.
* Tomorrow is Sup's first birthday!

== 0.2 / 2007-10-29
* Complete hook system for user-inserted code.
* GPG signature verification and decryption.
* Automatically scold users who top-post.
* Automatically warn when sending a message with words like
  "attachment" in the body if there aren't actually any attachments to
  the message.
* Millions of bugfixes.

== 0.1 / 2007-07-17
* MIME attachment creation.
* i18n support: character set conversion and rfc2047 header decoding.
* Better MIME handling.
* Multiple account support.
* Locking and concurrent Sup process detection and killation.
* Thread autoloading when you scroll down.
* Batch deletion of messages marked deleted or spam from message
  sources via sup-sync-back tool (mbox only).
* Millions of bugfixes.

== 0.0.8 / 2007-04-01

* Maildir support!
* New command: sup-config. Interactively walks you through everything
  you need to get up and running.
* Now proactive about notifying users of de-synced sources.
* Renamed sup-import => sup-sync with a brand new, less illogical
  interface.
* Added a sup-dump, to enable backing up and rebuilding indices from
  scratch (e.g. when Ferret upgrades break index formats).
* More bugfixes. Will they ever end?

== 0.0.7 / 2007-02-12

* Split sup-import into two bits: sup-import and sup-add.
* Command-line arguments now handled by trollop.
* Better error handling for IMAP and svn+ssh.
* Messages can now be moved between sources while preserving all
  message state.
* New commands in thread-view-mode:
  - 'a' to add an email to the addressbook
  - 'S' to search for all email to/from an email address
  - 'A' to kill buffer and archive thread in one swell foop
* Removed hoe dependency.

== 0.0.6 / 2007-01-06

* Very minor fix to support more types of IMAP authentication.

== 0.0.5 / 2007-01-05

* More bugfixes, primarily for IMAP.
* doc/UserGuide.txt

== 0.0.4 / 2007-01-03

* Bugfixes, primarily for threaded networking.

== 0.0.3 / 2007-01-02

* Major speed increase for index views (inbox, search results), which
  are now loaded completely from the IR index. The only time the
  original sources need to be touched is when viewing a thread. This
  is important for slow sources like IMAP and mbox+ssh.
* Remote mbox support with mbox+ssh URIs.
* IMAP now actually works.
* sup-import uses HighLine and is generally much improved.
* Multitudinous minor bug fixes and improvements.

== 0.0.2 / 2006-12-10

* IMAP support
* Better handling of broken sources. (Everything won't just die.)
* You will need to rebuild both your index, and sources.yaml.
  Sorry!

== 0.0.1 / 2006-11-28

* Initial release. Unix-centrism, support for mbox only, no i18n.
  Untested on anything other than 1.8.5. Other than that, works great!
