12021-10-29  Richard Russon  <rich@flatcap.org>
2* Features
3  - Notmuch: support separate database and mail roots without .notmuch
4* Bug Fixes
5  - fix notmuch crash on open failure
6  - fix crypto crash handling pgp keys
7  - fix ncrypt/pgp file_get_size return check
8  - fix restore case-insensitive header sort
9  - fix pager redrawing of long lines
10  - fix notmuch: check database dir for xapian dir
11  - fix notmuch: update index count after `<entire-thread>`
12  - fix protect hash table against empty keys
13  - fix prevent real_subj being set but empty
14  - fix leak when saving fcc
15  - fix leak after `<edit-or-view-raw-message>`
16  - fix leak after trash to hidden mailbox
17  - fix leak restoring postponed emails
18
192021-10-22  Richard Russon  <rich@flatcap.org>
20* Bug Fixes
21  - fix new mail notifications
22  - fix pattern compilation error for ~( !~>(~P) )
23  - fix menu display on window resize
24  - Stop batch mode emails with no argument or recipients
25  - Add sanitize call in print mailcap function
26  - fix `hdr_order` to use the longest match
27  - fix (un)setenv to not return an error with unset env vars
28  - fix Imap sync when closing a mailbox
29  - fix segfault on OpenBSD current
30  - sidebar: restore `sidebar_spoolfile` colour
31  - fix assert when displaying a file from the browser
32  - fix exec command in compose
33  - fix `check_stats` for Notmuch mailboxes
34  - Fallback: Open Notmuch database without config
35  - fix gui hook commands on startup
36* Changed Config
37  - Re-enable `$ssl_force_tls`
38* Translations
39  - 100% Serbian
40  - 100% Lithuanian
41  - 100% German
42* Build
43  - Remove Slang from the build
44  - Warn about deprecated configure options
45
462021-10-15  Richard Russon  <rich@flatcap.org>
47* Security
48  - Fix CVE-2021-32055
49* Features
50  - threads: implement the `$use_threads` feature
51    https://neomutt.org/feature/use-threads
52  - hooks: allow a -noregex param to folder and mbox hooks
53  - mailing lists: implement list-(un)subscribe using RFC2369 headers
54  - mailcap: implement x-neomutt-nowrap flag
55  - pager: add `$local_date_header` option
56  - imap, smtp: add support for authenticating using XOAUTH2
57  - Allow `<sync-mailbox`> to fail quietly
58  - imap: speed up server-side searches
59  - pager: improve skip-quoted and skip-headers
60  - notmuch: open database with user's configuration
61  - notmuch: implement `<vfolder-window-reset>`
62  - config: allow += modification of my_ variables
63  - notmuch: tolerate file renames behind neomutt's back
64  - pager: implement `$pager_read_delay`
65  - notmuch: validate `nm_query_window_timebase`
66  - notmuch: make $nm_record work in non-notmuch mailboxes
67  - compose: add `$greeting` - a welcome message on top of emails
68  - notmuch: show additional mail in query windows
69* Changed Config
70- Renamed lots of config, e.g.  `askbcc` to `ask_bcc`.
71* Bug Fixes
72  - imap: fix crash on external IMAP events
73  - notmuch: handle missing libnotmuch version bumps
74  - imap: add sanity check for qresync
75  - notmuch: allow windows with 0 duration
76  - index: fix index selection on `<collapse-all>`
77  - imap: fix crash when sync'ing labels
78  - search: fix searching by Message-Id in `<mark-message>`
79  - threads: fix double sorting of threads
80  - stats: don't check mailbox stats unless told
81  - alias: fix crash on empty query
82  - pager: honor mid-message config changes
83  - mailbox: don't propagate read-only state across reopens
84  - hcache: fix caching new labels in the header cache
85  - crypto: set invalidity flags for gpgme/smime keys
86  - notmuch: fix parsing of multiple `type=`
87  - notmuch: validate $nm_default_url
88  - messages: avoid unnecessary opening of messages
89  - imap: fix seqset iterator when it ends in a comma
90  - build: refuse to build without pcre2 when pcre2 is linked in ncurses
91* Translations
92  - 100% Serbian
93  - 100% Lithuanian
94  - 100% German
95  - 100% Czech
96  - 96% Spanish
97  - 92% Polish
98  - 85% Norwegian
99  - 80% French
100  - 78% Russian
101  - 74% Esperanto
102  - 66% Greek
103
1042021-02-05  Richard Russon  <rich@flatcap.org>
105* Features
106  - Add <skip-headers> to skip past message headers in pager
107  - Add <view-pager> function to attachment menu
108* Bug Fixes
109  - Fix detection of mbox files with new mail
110  - Fix crash on collapsed thread
111  - Fix group-chat-reply
112  - Clear the message window on resize
113  - Do not crash on return from shell-exec if there's no open mailbox
114  - Abort IMAP open if condstore/qresync updates fetch fails
115  - Fix smtp crash on invalid $smtp_authenticators list
116  - Fix pager dropped input on screen resize
117  - Fix mime forwarding
118  - Check config after hooks
119  - Always recreate a mailbox after folder-hook
120* Translations
121  - 88% Slovakian
122* Docs
123  - Adjust doc to explicitly mention $count_alternative
124  - Restore correct "$sort_re" documentation
125  - Clarify pattern completion
126  - Man pages: Clear up "-H" and "-O"
127* Build
128  - Update to latest acutest
129  - Update to latest autosetup
130  - Make the location of /tmp configurable
131
1322020-11-20  Richard Russon  <rich@flatcap.org>
133* Bug Fixes
134  - Fix crash when saving an alias
135* Translations
136  - 70% Russian
137* Code
138  - Remove redundant function call
139
1402020-11-20  Richard Russon  <rich@flatcap.org>
141* Security
142  - imap: close connection on all failures
143* Features
144  - alias: add <limit> function to Alias/Query dialogs
145  - config: add validators for {imap,smtp,pop}_authenticators
146  - config: warn when signature file is missing or not readable
147  - smtp: support for native SMTP LOGIN auth mech
148  - notmuch: show originating folder in index
149* Bug Fixes
150  - sidebar: prevent the divider colour bleeding out
151  - sidebar: fix <sidebar-{next,prev}-new>
152  - notmuch: fix <entire-thread> query for current email
153  - restore shutdown-hook functionality
154  - crash in reply-to
155  - user-after-free in folder-hook
156  - fix some leaks
157  - fix application of limits to modified mailboxes
158  - write Date header when postponing
159* Translations
160  - 100% Lithuanian
161  - 100% Czech
162  - 70% Turkish
163* Docs
164  - Document that $sort_alias affects the query menu
165* Build
166  - improve ASAN flags
167  - add SASL and S/MIME to --everything
168  - fix contrib (un)install
169* Code
170  - my_hdr compose screen notifications
171  - add contracts to the MXAPI
172  - maildir refactoring
173  - further reduce the use of global variables
174* Upstream
175  - Add $count_alternatives to count attachments inside alternatives
176
1772020-09-25  Richard Russon  <rich@flatcap.org>
178* Features
179  - Compose: display user-defined headers
180  - Address Book / Query: live sorting
181  - Address Book / Query: patterns for searching
182  - Config: Add '+=' and '-=' operators for String Lists
183  - Config: Add '+=' operator for Strings
184  - Allow postfix query ':setenv NAME?' for env vars
185* Bug Fixes
186  - Fix crash when searching with invalid regexes
187  - Compose: Prevent infinite loop of `send2-hook`s
188  - Fix sidebar on new/removed mailboxes
189  - Restore indentation for named mailboxes
190  - Prevent half-parsing an alias
191  - Remove folder creation prompt for POP path
192  - Show error if `$message_cachedir` doesn't point to a valid directory
193  - Fix tracking LastDir in case of IMAP paths with Unicode characters
194  - Make sure all mail gets applied the index limit
195  - Add warnings to -Q query CLI option
196  - Fix index tracking functionality
197* Changed Config
198  - Add `$compose_show_user_headers` (yes)
199* Translations
200  - 100% Czech
201  - 100% Lithuanian
202  - Split up usage strings
203* Build
204  - Run shellcheck on hcachever.sh
205  - Add the Address Sanitizer
206  - Move compose files to lib under compose/
207  - Move address config into libaddress
208  - Update to latest acutest - fixes a memory leak in the unit tests
209* Code
210  - Implement ARRAY API
211  - Deglobalised the Config Sort functions
212  - Refactor the Sidebar to be Event-Driven
213  - Refactor the Color Event
214  - Refactor the Commands list
215  - Make ctx_update_tables private
216  - Reduce the scope/deps of some Validator functions
217  - Use the Email's IMAP UID instead of an increasing number as index
218  - debug: log window focus
219
2202020-08-21  Richard Russon  <rich@flatcap.org>
221* Bug Fixes
222  - fix maildir flag generation
223  - fix query notmuch if file is missing
224  - notmuch: don't abort sync on error
225  - fix type checking for send config variables
226* Changed Config
227  - `$sidebar_format` - Use `%D` rather than `%B` for named mailboxes
228* Translations
229  - 96% Lithuanian
230  - 90% Polish
231
2322020-08-14  Richard Russon  <rich@flatcap.org>
233* Security
234  - Add mitigation against DoS from thousands of parts
235* Features
236  - Allow index-style searching in postpone menu
237  - Open NeoMutt using a mailbox name
238  - Add `cd` command to change the current working directory
239  - Add tab-completion menu for patterns
240  - Allow renaming existing mailboxes
241  - Check for missing attachments in alternative parts
242  - Add one-liner docs to config items
243* Bug Fixes
244  - Fix logic in checking an empty From address
245  - Fix Imap crash in `cmd_parse_expunge()`
246  - Fix setting attributes with S-Lang
247  - Fix: redrawing of `$pager_index_lines`
248  - Fix progress percentage for syncing large mboxes
249  - Fix sidebar drawing in presence of indentation + named mailboxes
250  - Fix retrieval of drafts when "postponed" is not in the mailboxes list
251  - Do not add comments to address group terminators
252  - Fix alias sorting for degenerate addresses
253  - Fix attaching emails
254  - Create directories for nonexistent file hcache case
255  - Avoid creating mailboxes for failed subscribes
256  - Fix crash if rejecting cert
257* Changed Config
258  - Add `$copy_decode_weed`, `$pipe_decode_weed`, `$print_decode_weed`
259  - Change default of `$crypt_protected_headers_subject` to "..."
260  - Add default keybindings to history-up/down
261* Translations
262  - 100% Czech
263  - 100% Spanish
264* Build
265  - Allow building against Lua 5.4
266  - Fix when sqlite3.h is missing
267* Docs
268  - Add a brief section on stty to the manual
269  - Update section "Terminal Keybindings" in the manual
270  - Clarify PGP Pseudo-header `S<id>` duration
271* Code
272  - Clean up String API
273  - Make the Sidebar more independent
274  - De-centralise the Config Variables
275  - Refactor dialogs
276  - Refactor: Help Bar generation
277  - Make more APIs Context-free
278  - Adjust the edata use in Maildir and Notmuch
279  - Window refactoring
280  - Convert libsend to use Config functions
281  - Refactor notifications to reduce noise
282  - Convert Keymaps to use STAILQ
283  - Track currently selected email by msgid
284  - Config: no backing global variable
285  - Add events for key binding
286* Upstream
287  - Fix imap postponed mailbox use-after-free error
288  - Speed up thread sort when many long threads exist
289  - Fix ~v tagging when switching to non-threaded sorting
290  - Add message/global to the list of known "message" types
291  - Print progress meter when copying/saving tagged messages
292  - Remove ansi formatting from autoview generated quoted replies
293  - Change postpone mode to write Date header too
294  - Unstuff `format=flowed`
295
2962020-08-07  Richard Russon  <rich@flatcap.org>
297* Devel Release - see 2020-08-14
298
2992020-06-26  Richard Russon  <rich@flatcap.org>
300* Bug Fixes
301  - Avoid opening the same hcache file twice
302  - Re-open Mailbox after folder-hook
303  - Fix the matching of the spool_file Mailbox
304  - Fix link-thread to link all tagged emails
305* Changed Config
306  - Add $tunnel_is_secure config, defaulting to true
307* Upstream
308  - Don't check IMAP PREAUTH encryption if $tunnel is in use
309  - Add recommendation to use $ssl_force_tls
310
3112020-06-19  Richard Russon  <rich@flatcap.org>
312* Security
313  - Abort GnuTLS certificate check if a cert in the chain is rejected
314  - TLS: clear data after a starttls acknowledgement
315  - Prevent possible IMAP MITM via PREAUTH response
316* Features
317  - add config operations +=/-= for number,long
318  - Address book has a comment field
319  - Query menu has a comment field
320* Contrib
321  - sample.neomuttrc-starter: Do not echo promted password
322* Bug Fixes
323  - make "news://" and "nntp://" schemes interchangeable
324  - Fix CRLF to LF conversion in base64 decoding
325  - Double comma in query
326  - compose: fix redraw after history
327  - Crash inside empty query menu
328  - mmdf: fix creating new mailbox
329  - mh: fix creating new mailbox
330  - mbox: error out when an mbox/mmdf is a pipe
331  - Fix list-reply by correct parsing of List-Post headers
332  - Decode references according to RFC2047
333  - fix tagged message count
334  - hcache: fix keylen not being considered when building the full key
335  - sidebar: fix path comparison
336  - Don't mess with the original pattern when running IMAP searches
337  - Handle IMAP "NO" resps by issuing a msg instead of failing badly
338  - imap: use the connection delimiter if provided
339  - Memory leaks
340* Changed Config
341  - `$alias_format` default changed to include `%c` comment
342  - `$query_format` default changed to include `%e` extra info
343* Translations
344  - 100% Lithuanian
345  - 84% French
346  - Log the translation in use
347* Docs
348  - Add missing commands unbind, unmacro to man pages
349* Build
350  - Check size of long using `LONG_MAX` instead of `__WORDSIZE`
351  - Allow ./configure to not record cflags
352  - fix out-of-tree build
353  - Avoid locating gdbm symbols in qdbm library
354* Code
355  - Refactor unsafe TAILQ returns
356  - add window notifications
357  - flip negative ifs
358  - Update to latest acutest.h
359  - test: add store tests
360  - test: add compression tests
361  - graphviz: email
362  - make more opcode info available
363  - refactor: `main_change_folder()`
364  - refactor: `mutt_mailbox_next()`
365  - refactor: `generate_body()`
366  - compress: add `{min,max}_level` to ComprOps
367  - emphasise empty loops: "// do nothing"
368  - prex: convert `is_from()` to use regex
369  - Refactor IMAP's search routines
370
3712020-05-01  Richard Russon  <rich@flatcap.org>
372* Bug Fixes
373  - Make sure buffers are initialized on error
374  - fix(sidebar): use abbreviated path if possible
375* Translations
376  - 100% Lithuanian
377* Docs
378  - make header cache config more explicit
379
3802020-04-24  Richard Russon  <rich@flatcap.org>
381* Bug Fixes
382  -Fix history corruption
383  -Handle pretty much anything in a URL query part
384  -Correctly parse escaped characters in header phrases
385  -Fix crash reading received header
386  -Fix sidebar indentation
387  -Avoid crashing on failure to parse an IMAP mailbox
388  -Maildir: handle deleted emails correctly
389  -Ensure OP_NULL is always first
390* Translations
391  -100% Czech
392* Build
393  -cirrus: enable pcre2, make pkgconf a special case
394  -Fix finding pcre2 w/o pkgconf
395  -build: tdb.h needs size_t, bring it in with stddef.h
396
3972020-04-17  Richard Russon  <rich@flatcap.org>
398* Features
399  - Fluid layout for Compose Screen, see: https://vimeo.com/407231157
400  - Trivial Database (TDB) header cache backend
401  - RocksDB header cache backend
402  - Add \<sidebar-first\> and \<sidebar-last\> functions
403* Bug Fixes
404  - add error for CLI empty emails
405  - Allow spaces and square brackets in paths
406  - browser: fix hidden mailboxes
407  - fix initial email display
408  - notmuch: fix time window search.
409  - fix resize bugs
410  - notmuch: fix entire-thread: update current email pointer
411  - sidebar: support indenting and shortening of names
412  - Handle variables inside backticks in sidebar_whitelist
413  - browser: fix mask regex error reporting
414* Translations
415  - 100.00% Lithuanian
416  - 98.88% Chinese (simplified)
417* Build
418  - Use regexes for common parsing tasks: urls, dates
419  - Add configure option `--pcre2` -- Enable PCRE2 regular expressions
420  - Add configure option `--tdb` -- Use TDB for the header cache
421  - Add configure option `--rocksdb` -- Use RocksDB for the header cache
422  - Create libstore (key/value backends)
423  - Update to latest autosetup
424  - Update to latest acutest.h
425  - Rename `doc/` directory to `docs/`
426  - make: fix location of .Po dependency files
427  - Change libcompress to be more universal
428  - Fix test fails on х32
429  - fix uidvalidity to unsigned 32-bit int
430* Code
431  - Increase test coverage
432  - Fix memory leaks
433  - Fix null checks
434* Upstream
435  - Buffer refactoring
436  - Fix use-after-free in mutt_str_replace()
437  - Clarify PGP Pseudo-header S\<id\> duration
438  - Try to respect MUTT_QUIET for IMAP contexts too
439  - Limit recurse depth when parsing mime messages
440
4412020-03-20  Richard Russon  \<rich@flatcap.org\>
442* Bug Fixes
443  - Fix COLUMNS env var
444  - Fix sync after delete
445  - Fix crash in notmuch
446  - Fix sidebar indent
447  - Fix emptying trash
448  - Fix command line sending
449  - Fix reading large address lists
450  - Resolve symlinks only when necessary
451* Translations
452  - 100% Lithuanian
453  - 96% Spanish
454* Docs
455  - Include OpenSSL/LibreSSL/GnuTLS version in neomutt -v output
456  - Fix case of GPGME and SQLite
457* Build
458  - Create libcompress (lz4, zlib, zstd)
459  - Create libhistory
460  - Create libbcache
461  - Move zstrm to libconn
462* Code
463  - Add more test coverage
464  - Rename magic to type
465  - Use mutt_file_fopen() on config variables
466  - Change commands to use intptr_t for data
467
4682020-03-13  Richard Russon  \<rich@flatcap.org\>
469* Features
470  - UI: add number of old messages to sidebar_format
471  - UI: support ISO 8601 calendar date
472  - UI: fix commands that don’t need to have a non-empty mailbox to be valid
473  - PGP: inform about successful decryption of inline PGP messages
474  - PGP: try to infer the signing key from the From address
475  - PGP: enable GPGME by default
476  - Notmuch: use query as name for vfolder-from-query
477  - IMAP: add network traffic compression (COMPRESS=DEFLATE, RFC4978)
478  - Header cache: add support for generic header cache compression
479* Bug Fixes
480  - Fix uncollapse_jump
481  - Only try to perform entire-thread on maildir/mh mailboxes
482  - Fix crash in pager
483  - Avoid logging single new lines at the end of header fields
484  - Fix listing mailboxes
485  - Do not recurse a non-threaded message
486  - Fix initial window order
487  - Fix leaks on IMAP error paths
488  - Notmuch: compose(attach-message): support notmuch backend
489  - Fix IMAP flag comparison code
490  - Fix $move for IMAP mailboxes
491  - Maildir: maildir_mbox_check_stats should only update mailbox stats if requested
492  - Fix unmailboxes for virtual mailboxes
493  - Maildir: sanitize filename before hashing
494  - OAuth: if 'login' name isn't available use 'user'
495  - Add error message on failed encryption
496  - Fix a bunch of crashes
497  - Force C locale for email date
498  - Abort if run without a terminal
499* Changed Config
500  - `$crypt_use_gpgme`                         - Now defaults to 'yes' (enabled)
501  - `$abort_backspace`                         - Hitting backspace against an empty prompt aborts the prompt
502  - `$abort_key`                               - String representation of key to abort prompts
503  - `$arrow_string`                            - Use an custom string for arrow_cursor
504  - `$crypt_opportunistic_encrypt_strong_keys` - Enable encryption only when strong a key is available
505  - `$header_cache_compress_dictionary`        - Filepath to dictionary for zstd compression
506  - `$header_cache_compress_level`             - Level of compression for method
507  - `$header_cache_compress_method`            - Enable generic hcache database compression
508  - `$imap_deflate`                            - Compress network traffic
509  - `$smtp_user`                               - Username for the SMTP server
510* Translations
511  - 100% Lithuanian
512  - 81% Spanish
513  - 78% Russian
514* Build
515  - Add libdebug
516  - Rename public headers to lib.h
517  - Create libcompress for compressed folders code
518  - Enable Cirrus CI for FreeBSD
519* Code
520  - Refactor Windows and Dialogs
521  - Lots of code tidying
522  - Refactor: mutt_addrlist\_{search,write}
523  - Lots of improvements to the Config code
524  - Use Buffers more pervasively
525  - Unify API function naming
526  - Rename library shared headers
527  - Refactor libconn gui dependencies
528  - Refactor: init.[ch]
529  - Refactor config to use subsets
530  - Config: add path type
531  - Remove backend deps from the connection code
532* Upstream
533  - Allow ~b ~B ~h patterns in send2-hook
534  - Rename smime oppenc mode parameter to get_keys_by_addr()
535  - Add $crypt_opportunistic_encrypt_strong_keys config var
536  - Fix crash when polling a closed ssl connection
537  - Turn off auto-clear outside of autocrypt initialization
538  - Add protected-headers="v1" to Content-Type when protecting headers
539  - Fix segv in IMAP postponed menu caused by reopen_allow
540  - Adding ISO 8601 calendar date
541  - Fix $fcc_attach to not prompt in batch mode
542  - Convert remaining mutt_encode_path() call to use struct Buffer
543  - Fix rendering of replacement_char when Charset_is_utf8
544  - Update to latest acutest.h
545
5462019-12-07  Richard Russon  \<rich@flatcap.org\>
547* Features
548  - compose: draw status bar with highlights
549* Bug Fixes
550  - crash opening notmuch mailbox
551  - crash in mutt_autocrypt_ui_recommendation
552  - Avoid negative allocation
553  - Mbox new mail
554  - Setting of DT_MAILBOX type variables from Lua
555  - imap: empty cmdbuf before connecting
556  - imap: select the mailbox on reconnect
557  - compose: fix attach message
558* Build
559  - make files conditional
560  - add gpgme check for RHEL6
561* Code
562  - enum-ify log levels
563  - fix function prototypes
564  - refactor virtual email lookups
565  - factor out global Context
566
5672019-11-29  Richard Russon  \<rich@flatcap.org\>
568* Features
569  - Add raw mailsize expando (%cr)
570* Bug Fixes
571  - Avoid double question marks in bounce confirmation msg
572  - Fix bounce confirmation
573  - fix new-mail flags and behaviour
574  - fix: browser \<descend-directory\>
575  - fix ssl crash
576  - fix move to trash
577  - fix flickering
578  - Do not check hidden mailboxes for new mail
579  - Fix new_mail_command notifications
580  - fix crash in examine_mailboxes()
581  - fix crash in mutt_sort_threads()
582  - fix: crash after sending
583  - Fix crash in tunnel's conn_close
584  - fix fcc for deep dirs
585  - imap: fix crash when new mail arrives
586  - fix colour 'quoted9'
587  - quieten messages on exit
588  - fix: crash after failed mbox_check
589  - browser: default to a file/dir view when attaching a file
590* Changed Config
591  - Change $write_bcc to default off
592* Translations
593  - 100% Portuguese (Brazil)
594  -  92% Polish
595* Docs
596  - Add a bit more documentation about sending
597  - Clarify $write_bcc documentation.
598  - Update documentation for raw size expando
599  - docbook: set generate.consistent.ids to make generated html reproducible
600* Build
601  - fix build/tests for 32-bit arches
602  - tests: fix test that would fail soon
603  - tests: fix context for failing idna tests
604
6052019-11-11  Richard Russon  \<rich@flatcap.org\>
606* Bug Fixes
607  - browser: fix directory view
608  - fix crash in mutt_extract_token()
609  - force a screen refresh
610  - fix crash sending message from command line
611  - notmuch: use nm_default_url if no mailbox data
612  - fix forward attachments
613  - fix: vfprintf undefined behaviour in body_handler
614  - Fix relative symlink resolution
615  - fix: trash to non-existent file/dir
616  - fix re-opening of mbox Mailboxes
617  - close logging as late as possible
618  - log unknown mailboxes
619  - fix crash in command line postpone
620  - fix memory leaks
621  - fix icommand parsing
622  - fix new mail interaction with mail_check_recent
623
6242019-11-02  Richard Russon  \<rich@flatcap.org\>
625* Bug Fixes
626  - Mailboxes command with empty backticks
627  - Mbox save-to-trash
628  - Mkdir for new maildir folders
629  - Maildir: new mail detection
630  - Truncation of "set" command on a path variable
631  - Update crash (when changing folder)
632  - Resolve symbolic links when saving a message
633  - Folder-hook calling "unmailboxes \*"
634  - Failed ssl negotiation
635  - Crash when using "alias -group"
636  - LibIDN error when charset wasn't set
637  - Notmuch abort entire-thread if database lacks message
638
6392019-10-25  Richard Russon  \<rich@flatcap.org\>
640* Features
641  - Add $fcc_before_send, defaulting unset
642  - Deprecate TLS 1.0 and 1.1 by default
643  - Turn on $ssl_force_tls by default
644  - Command line -z and -Z options to work with IMAP
645  - Add size display configuration variables
646  - Summary pages: version, set, set all, bind, macro
647  - CONDSTORE and QRESYNC support
648  - OAUTHBEARER support
649  - inotify support
650  - add index-format-hook
651  - Add $auto_subscribe variable
652  - Allow relative date hour/min/sec offsets
653  - Add attributes support on color declarations
654  - Style Menu Options
655  - Add new pattern type ~I for external searches
656  - Add \<named-mailboxes\> command
657* Changed Config
658  - folder_format
659  - pgp_use_gpg_agent
660  - shell
661  - ssl_force_tls
662  - ssl_use_tlsv1
663  - ssl_use_tlsv1_1
664  - status_format
665  - to_chars
666  - user_agent
667* New Config
668  - attach_save_dir
669  - attach_save_without_prompting
670  - autocrypt
671  - autocrypt_acct_format
672  - autocrypt_dir
673  - autocrypt_reply
674  - auto_subscribe
675  - crypt_chars
676  - crypt_protected_headers_read
677  - crypt_protected_headers_save
678  - crypt_protected_headers_subject
679  - crypt_protected_headers_write
680  - external_search_command
681  - fcc_before_send
682  - forward_attachments
683  - imap_condstore
684  - imap_fetch_chunk_size
685  - imap_oauth_refresh_command
686  - imap_qresync
687  - imap_rfc5161
688  - include_encrypted
689  - nm_flagged_tag
690  - nm_replied_tag
691  - pop_oauth_refresh_command
692  - sidebar_non_empty_mailbox_only
693  - size_show_bytes
694  - size_show_fractions
695  - size_show_mb
696  - size_units_on_left
697  - smtp_oauth_refresh_command
698  - ssl_use_tlsv1_3
699* New Commands
700  - index-format-hook
701  - named-mailboxes
702  - unbind
703  - unmacro
704* New Functions
705  - autocrypt-acct-menu
706  - autocrypt-menu
707  - compose-to-sender
708  - create-account
709  - delete-account
710  - descend-directory
711  - group-chat-reply
712  - mailbox-cycle
713  - mailbox-list
714  - toggle-active
715  - toggle-prefer-encrypt
716  - toggle-write
717  - vfolder-from-query-readonly
718* Bug Fixes
719  - Fix crashes
720  - Fix memory leaks
721  - Fix undefined behaviour
722  - Fix coverity defects
723* Translations
724  - 100% Lithuanian
725  - 100% Chinese (Simplified)
726  - 100% Portuguese (Brazil)
727  - 95% German
728  - 95% Finnish
729  - 95% Czech
730  - 91% Polish
731  - 78% Japanese
732  - 73% Dutch
733  - 72% Spanish
734  - 62% Swedish
735  - 55% Slovak
736* Docs
737  - OpenPGP and S/MIME configuration
738  - Quick-starter config section
739  - Autocrypt feature
740  - "Message Composition Flow" section to manual
741  - OAUTH support
742
7432018-07-16  Richard Russon  \<rich@flatcap.org\>
744* Features
745  - \<check-stats\> function
746* Bug Fixes
747  - Lots
748
7492018-06-22  Richard Russon  \<rich@flatcap.org\>
750* Features
751  - Expand variables inside backticks
752  - Honour SASL-IR IMAP capability in SASL PLAIN
753* Bug Fixes
754  - Fix toggle-read
755  - Do not truncate shell commands on ; or #
756  - pager: index must be rebuilt on MUTT_REOPENED
757  - Handle a BAD response in AUTH PLAIN w/o initial response
758  - fcc_attach: Don't ask every time
759  - Enlarge path buffers PATH_MAX (4096)
760  - Move LSUB call from connection establishment to mailbox SELECTion
761* Translations
762  - Update Chinese (Simplified): 100%
763  - Update Czech: 100%
764  - Update German: 100%
765  - Update Lithuanian: 100%
766  - Update Portuguese (Brazil): 100%
767  - Update Slovak: 59%
768  - Reduce duplication of messages
769* Code
770  - Tidy up the mailbox API
771  - Tidy up the header cache API
772  - Tidy up the encryption API
773  - Add doxygen docs for more functions
774  - Refactor more structs to use STAILQ
775
7762018-05-12  Richard Russon  \<rich@flatcap.org\>
777* Features
778  - echo command
779  - Add $browser_abbreviate_mailboxes
780  - Add ~M pattern to match mime Content-Types
781  - Add support for multipart/multilingual emails
782  - Jump to a collapsed email
783  - Add support for idn2 (IDNA2008)
784* Bug Fixes
785  - Let mutt_ch_choose report conversion failure
786  - minor IMAP string handling fixes
787* Translations
788  - Chinese (Simplified) (100%)
789  - Czech (100%)
790  - German (100%)
791  - Lithuanian (62%)
792  - Portuguese (Brazil) (100%)
793* Coverity defects
794  - match prototypes to their functions
795  - make logic clearer
796  - reduce scope of variables
797  - fix coverity defects
798* Docs
799  - development: analysis
800  - development: easy tasks
801  - development: roadmap
802* Code
803  - start refactoring libconn
804  - split out progress functions
805  - split out window functions
806  - split out terminal setting
807  - convert MyVars to use TAILQ
808  - split mutt_file_{lock,unlock}
809  - Move IDN version string to mutt/idna.c
810  - refactor: init_locale()
811  - Eliminate static variable in mutt_file_dirname
812* Tidy
813  - test int functions against 0
814  - rename lots of constants
815  - rename lots of functions
816  - sort lots of fields/definitions
817* Upstream
818  - Increase account.user/login size to 128
819  - Fix comparison of flags with multiple bits set
820  - Change mutt_error call in mutt_gpgme_set_sender() to dprint
821  - Improve the error message when a signature is missing
822  - pager specific "show incoming mailboxes list" macro
823  - Improve gss debug printing of status_string
824  - Remove trailing null count from gss_buffer_desc.length field
825  - Add a comment in auth_gss about RFCs and null-termination
826  - Change prompt string for $crypt_verify_sig
827
8282018-03-23  Richard Russon  \<rich@flatcap.org\>
829* Features
830  - unify logging/messaging
831  - add alert (blink) colors
832* Contrib
833  - Vim syntax for NeoMutt log files
834* Bug Fixes
835  - Fix progress bar range
836  - notmuch: stop if db open fails
837  - Improve index color cache flushing behavior
838  - lua: fix crash when setting a string
839* Translations
840  - Update Czech translation (100%)
841  - Update German translation (100%)
842  - Update Polish translation (94%)
843  - Update Portuguese (BR) translation (100%)
844  - Update Spanish translation (64%)
845  - Update Turkish translation (75%)
846  - Merge similar messages
847* Docs
848  - Clarify precedence of settings in config files
849  - Fix subjectrx example in the manual
850* Website
851  - Update Gentoo distro page
852  - Devel: Static analysis
853* Build
854  - Support —with-sysroot configure arg
855  - Expose EXTRA_CFLAGS_FOR_BUILD and EXTRA_LDFLAGS_FOR_BUIlD
856  - Update to latest autosetup
857  - Make sure git_ver.h doesn't eat random 'g's out of tag names
858* Code
859  - Refactor to reduce complexity
860  - Refactor to reduce variables' scope
861  - Sort functions/config to make docs more legible
862
8632018-02-23  Richard Russon  \<rich@flatcap.org\>
864* Features
865  - browser: `\<goto-parent\>` function bound to "p"
866  - editor: `\<history-search\>` function bound to "Ctrl-r"
867  - Cygwin support: https://neomutt.org/distro/cygwin
868  - openSUSE support: https://neomutt.org/distro/suse
869  - Upstream Homebrew support: Very soon - https://neomutt.org/distro/homebrew
870* Bug Fixes
871  - gmail server-size search
872  - nested-if: correctly handle "\<" and "\>" with %?
873  - display of special chars
874  - lua: enable myvars
875  - for pgpewrap in default gpg.rc
876  - reply_regexp which wasn't formatted correctly.
877  - parsing of urls containing '?'
878  - out-of-bounds read in mutt_str_lws_len
879* Translations
880  - Review fuzzy lt translations
881  - Updated French translation
882* Website
883  - Installation guide for Cygwin
884  - Installation guide for openSUSE
885  - Installation guide for CRUX
886* Build
887  - check that DTDs are installed
888  - autosetup improvements
889  - option for which version of bdb to use
890  - drop test for resizeterm -- it's always present
891* Code
892  - split if's containing assignments
893  - doxygen: add/improve comments
894  - rename functions / parameters for consistency
895  - add missing {}s for clarity
896  - move functions to library
897  - reduce scope of variables
898  - boolify more variables
899  - iwyu: remove unnecessary headers
900  - name unicode chars
901  - tailq: migrate parameter api
902  - md5: refactor and tidy
903  - rfc2047: refactor and tidy
904  - buffer: improvements
905  - create unit test framework
906  - fix several coverity defects
907* Upstream
908  - Fix s/mime certificate deletion bug
909  - Disable message security if the backend is not available
910  - Fix improper signed int conversion of IMAP uid and msn values
911  - Change imap literal counts to parse and store unsigned ints
912  - Fix imap status count range check
913  - cmd_handle_fatal: make error message a bit more descriptive
914  - Create pgp and s/mime default and sign_as key vars
915  - Add missing setup calls when resuming encrypted drafts
916  - mutt_pretty_size: show real number for small files
917  - examine_directory: set directory/symlink size to zero
918  - Add history-search function, bound to ctrl-r
919  - Avoid a potential integer overflow if a Content-Length value is huge
920
9212017-12-15  Richard Russon  \<rich@flatcap.org\>
922* Bug Fixes
923  - Fix some regressions in the previous release
924
9252017-12-08  Richard Russon  \<rich@flatcap.org\>
926* Features
927  - Enhance ifdef feature to support my_ vars
928  - Add \<edit-or-view-raw-message\>
929  - Remove vim syntax file from the main repo
930  - Support reading FQDN from mailname files
931* Bug Fixes
932  - Do not turn CRLF into LF when dealing with transfer-encoding=base64
933  - Cleanup "SSL is unavailable" error in mutt_conn_find
934  - Don't clear the macro buffer during startup
935  - Fixup smart modify-labels-then-hide for !tag case
936  - Add sleep after SMTP error
937  - Restore folder settings after folder-hook
938  - Fix segfault when pipe'ing a deleted message
939* Docs
940  - Display_filter escape sequence
941  - Correct spelling mistakes
942  - Add a sentence to quasi-delete docs
943  - Modify gpg.rc to accommodate GPG 2.1 changes
944* Build
945  - Fix build for RHEL6
946  - Define NCURSES_WIDECHAR to require wide-char support from ncurses
947  - Autosetup: fix check for missing sendmail
948  - Respect --with-ssl path
949  - Check that OpenSSL md5 supports -r before using it
950  - Autosetup: expand --everything in `neomutt -v`
951  - Make sure objects are not compiled before git_ver.h is generated
952  - Build: fix update-po target
953  - Fix out-of-tree builds
954  - Fix stdout + stderr redirection in hcachever.sh
955  - Build: moved the check for idn before the check for notmuch
956  - Define prefix in Makefile.autosetup
957  - Install stuff to $(PACKAGE) in $(libexecdir), not $(libdir)
958  - Update autosetup to latest master
959* Code
960  - Rename files
961  - Rename functions
962  - Rename variables
963  - Rename constants
964  - Remove unused parameters
965  - Document functions
966  - Rearrange functions
967  - Move functions to libraries
968  - Add new library functions
969  - Rearrange switch statements
970  - Boolification
971  - Drop #ifdef DEBUG
972  - Fix Coverity defects
973  - Insert braces
974  - Split ifs
975  - Fallthrough
976  - Fix shadow variable
977  - Replace mutt_debug with a macro
978  - Return early where possible
979* Upstream
980  - Note which ssl config vars are GnuTLS or OpenSSL only
981  - Add message count to $move quadoption prompt
982  - Add %R (number of read messages) for $status_format
983  - Add $change_folder_next option to control mailbox suggestion order
984  - Fix $smart_wrap to not be disabled by whitespace-prefixed lines
985  - Remove useless else branch in the $smart_wrap code
986  - Fix ansi escape sequences with both reset and color parameters
987
9882017-10-27  Richard Russon  \<rich@flatcap.org\>
989* Bug Fixes
990  - variable type when using fread
991  - prevent timezone overflow
992  - tags: Show fake header for all backends
993  - notmuch: virtual-mailboxes should accept a limit
994  - Issue 888: Fix imap mailbox flag logging
995  - fix actions on tagged messages
996  - call the folder-hook before saving to $record
997  - Fix smart wrap in pager without breaking header
998  - Add polling for the IDLE command
999* Docs
1000  - imap/notmuch tags: Add some documentation
1001  - English and other cleanups
1002  - compressed and nntp features are now always built
1003* Website
1004  - Update Arch instructions
1005* Build
1006  - Fix update-po
1007  - Fix neomutt.pot location, remove from git
1008  - Allow to specify --docdir at configure time
1009  - Generate neomuttrc even if configured with --disable-doc
1010  - Let autosetup define PWD, do not unnecessarily try to create hcache dir
1011  - Use bundled wcscasecmp if an implementation is not found in libc
1012  - Use host compiler to build the documentation
1013  - Update autosetup to latest master branch
1014  - autosetup: delete makedoc on 'make clean'
1015  - Fixes for endianness detection
1016  - Update autosetup to latest master branch
1017  - Do not use CPPFLAGS / CFLAGS together with CC_FOR_BUILD
1018  - --enable-everything includes lua
1019  - autosetup: check for sys_siglist[]
1020* Code
1021  - move functions to library
1022  - lib: move MIN/MAX macros
1023  - simplify null checks
1024  - kill preproc expansion laziness
1025  - reduce scope of variables
1026  - merge: minor code cleanups
1027  - split up 'if' statements that assign and test
1028  - Refactor: Remove unused return type
1029  - Bool: change functions in mx.h
1030  - bool: convert function parameters in nntp.h
1031  - add extra checks to mutt_pattern_exec()
1032  - Use safe_calloc to initialize memory, simplify size_t overflow check
1033  - Move mutt_rename_file to lib/file.[hc]
1034  - doxygen: fix a few warnings
1035  - minor code fixes
1036  - use mutt_array_size()
1037  - refactor out O_NOFOLLOW
1038  - initialise variables
1039  - lib: move List and Queue into library
1040  - url: make notmuch query string parser generic
1041  - Wrap dirname(3) inside a mutt_dirname() function
1042
10432017-10-13  Richard Russon  \<rich@flatcap.org\>
1044* Bug Fixes
1045  - crash using uncolor
1046  - Sort the folders list when browsing an IMAP server
1047  - Prefer a helpful error message over a BEEP
1048* Build
1049  - Do not fail if deflate is not in libz
1050  - Support EXTRA_CFLAGS and EXTRA_LDFLAGS, kill unused variable
1051
10522017-10-06  Richard Russon  \<rich@flatcap.org\>
1053* Features
1054  - Add IMAP keywords support
1055* Bug Fixes
1056  - set mbox_type
1057  - %{fmt} date format
1058  - Fix off-by-one buffer overflow in add_index_color
1059  - crash in mbox_to_udomain
1060  - crash in mutt_substrdup
1061  - crash looking up mime body type
1062  - digest_collapse was broken
1063  - crash using notmuch expando with imap
1064  - imap: Fix mx.mbox leak in imap_get_parent_path
1065  - overflow in mutt_mktime()
1066  - add more range-checking on dates/times
1067  - Remove spurious error message
1068  - Unsubscribe after deleting an imap folder
1069  - Do not pop from MuttrcStack what wasn't pushed
1070* Docs
1071  - replace mutt refs with neomutt
1072  - drop old vim syntax file
1073* Code
1074  - convert functions to use 'bool'
1075  - convert structs to use STAILQ
1076* Build
1077  - Autosetup-based configuration
1078  - drop upstream mutt references
1079  - rename everything 'mutt' to 'neomutt'
1080  - move helper programs to lib dir
1081  - rename regexp to regex
1082  - expand buffers to avoid gcc7 warnings
1083* Upstream
1084  - Remove \Seen flag setting for imap trash
1085  - Change imap copy/save and trash to sync flags, excluding deleted
1086  - Improve imap fetch handler to accept an initial UID
1087  - Display an error message when delete mailbox fails
1088  - Updated French translation
1089  - Fix imap sync segfault due to inactive headers during an expunge
1090  - Close the imap socket for the selected mailbox on error
1091  - Add missing IMAP_CMD_POLL flag in imap mailbox check
1092  - Change maildir and mh check_mailbox to use dynamic sized hash
1093  - Fix uses of context-\>changed as a counter
1094  - Make cmd_parse_fetch() more precise about setting reopen/check flags
1095  - Enable $reply_self for group-reply, even with $me_too unset
1096
10972017-09-12  Richard Russon  \<rich@flatcap.org\>
1098* Bug Fixes
1099  - broken check on resend message
1100  - crash in vfolder-from-query
1101* Build
1102  - Be more formal about quoting in m4 macros
1103  - fix warnings raised by gcc7
1104  - notmuch: add support for the v5 API
1105
11062017-09-07  Richard Russon  \<rich@flatcap.org\>
1107* Contrib
1108  - Add guix build support
1109* Bug Fixes
1110  - Only match real mailboxes when looking for new mail
1111  - Fix the printing of ncurses version in -v output
1112  - Bind editor \<delete\> to delete-char
1113  - Fix overflowing colours
1114  - Fix empty In-Reply-To generation
1115  - Trim trailing slash from completed dirs
1116  - Add guix-neomutt.scm
1117  - Fix setting custom query_type in notmuch query
1118* Website
1119  - New technical documentation LINK
1120  - Improve Gentoo distro page
1121* Build
1122  - Better curses identification
1123  - Use the system's wchar_t support
1124  - Use the system's md5 tool (or equivalent)
1125  - Clean up configure.ac
1126  - Teach gen-map-doc about the new opcode header
1127* Source
1128  - Rename functions (snake_case)
1129  - Rename constants/defines (UPPER_CASE)
1130  - Create library of shared functions
1131  - Much tidying
1132  - Rename globals to match user config
1133  - Drop unnecessary functions/macros
1134  - Use a standard list implementation
1135  - Coverity fixes
1136  - Use explicit NUL for string terminators
1137  - Drop OPS\* in favour of opcodes.h
1138* Upstream
1139  - Fix menu color calls to occur before positioning the cursor
1140  - When guessing an attachment type, don't allow text/plain if there is a null character
1141  - Add $imap_poll_timeout to allow mailbox polling to time out
1142  - Handle error if REGCOMP in pager fails when resizing
1143  - Change recvattach to allow nested encryption
1144  - Fix attachment check_traditional and extract_keys operations
1145  - Add edit-content-type helper and warning for decrypted attachments
1146  - Add option to run command to query attachment mime type
1147  - Add warning about using inline pgp with format=flowed
1148
11492017-07-14  Richard Russon  \<rich@flatcap.org\>
1150* Translations
1151  - Update German translation
1152* Docs
1153  - compile-time output: use two lists
1154  - doxygen: add config file
1155  - doxygen: tidy existing comments
1156* Build
1157  - fix hcachever.sh script
1158* Upstream
1159  - Fix crash when $postponed is on another server.
1160
11612017-07-07  Richard Russon  \<rich@flatcap.org\>
1162* Features
1163  - Support Gmail's X-GM-RAW server-side search
1164  - Include pattern for broken threads
1165  - Allow sourcing of multiple files
1166* Contrib
1167  - vombatidae colorscheme
1168  - zenburn colorscheme
1169  - black 256 solarized colorscheme
1170  - neonwolf colorscheme
1171  - Mutt logos
1172* Bug Fixes
1173  - flags: update the hdr message last
1174  - gpgme S/MIME non-detached signature handling
1175  - menu: the thread tree color
1176  - Uses CurrentFolder to populate LastDir with IMAP
1177  - stabilise sidebar sort order
1178  - colour emails with a '+' in them
1179  - the padding expando '%\>'
1180  - Do not set old flag if mark_old is false
1181  - maildir creation
1182  - Decode CRLF line endings to LF when copying headers
1183  - score address pattern do not match personal name
1184  - open attachments in read-only mode
1185  - Add Cc, In-Reply-To, and References to default mailto_allow
1186  - Improve search for mime.types
1187* Translations
1188  - Update Chinese (Simplified) translation
1189* Coverity defects
1190  - dodgy buffers
1191  - leaks in lua get/set options
1192  - some resource leaks
1193* Docs
1194  - update credits
1195  - limitations of new-mail %f expando
1196  - escape \<\>'s in nested conditions
1197  - add code of conduct
1198  - fix ifdef examples
1199  - update mailmap
1200  - Update modify-labels-then-hide
1201  - fix mailmap
1202  - drop UPDATING files
1203* Website
1204  - Changes pages (diff)
1205  - Update Arch distro page
1206  - Update NixOS distro page
1207  - Add new Exherbo distro page
1208  - Update translation hi-score table
1209  - Update code of conduct
1210  - Update Newbies page
1211  - Add page about Rebuilding the Documentation
1212  - Add page of hard problems
1213* Build
1214  - remove unnecessary steps
1215  - drop instdoc script
1216  - move smime_keys into contrib
1217  - fixes for Solaris
1218  - don't delete non-existent files
1219  - remove another reference to devel-notes.txt
1220  - Handle native Solaris GSSAPI.
1221  - drop configure options --enable-exact-address
1222  - drop configure option --with-exec-shell
1223  - drop configure option --enable-nfs-fix
1224  - drop configure option --disable-warnings
1225  - Completely remove dotlock
1226  - More sophisticated check for BDB version + support for DB6 (non default)
1227* Tidy
1228  - drop VirtIncoming
1229  - split parse_mailboxes into parse_unmailboxes
1230  - tidy some mailbox code
1231  - tidy the version strings
1232* Upstream
1233  - Add ~\<() and ~\>() immediate parent/children patterns
1234  - Add L10N comments to the GNUTLS certificate prompt
1235  - Add more description for the %S and %Z $index_format characters
1236  - Add config vars for forwarded message attribution intro/trailer
1237  - Block SIGWINCH during connect()
1238  - Improve the L10N comment about Sign as
1239  - Auto-pad translation for the GPGME key selection "verify key" headers
1240  - Enable all header fields in the compose menu to be translated
1241  - Force hard redraw after $sendmail instead of calling mutt_endwin
1242  - Make GPGME key selection behavior the same as classic-PGP
1243  - Rename 'sign as' to 'Sign as'; makes compose menu more consistent
1244  - Change the compose menu fields to be dynamically padded
1245
12462017-06-09  Richard Russon  \<rich@flatcap.org\>
1247* Contrib
1248  - unbind mappings before overwriting in vim-keys
1249* Bug Fixes
1250  - latest coverity issues (#624)
1251  - don't pass colour-codes to filters
1252  - Don't set a colour unless it's been defined.
1253  - crash if no from is set or founds
1254  - ifdef command
1255* Translations
1256  - fix translations
1257  - fix some remaining translation problems
1258* Docs
1259  - explain binding warnings
1260  - don't document unsupported arches
1261* Build
1262  - fix make git_ver.h
1263  - allow xsltproc and w3m calls to fail
1264  - fix make dist
1265* Upstream
1266  - Add a mutt_endwin() before invoking $sendmail
1267  - Restore setenv function
1268  - Fix tag-prefix to not abort on $timeout
1269  - Change km_dokey() to return -2 on a timeout/sigwinch
1270  - Enable TEXTDOMAINDIR override to make translation testing easier
1271  - Fix "format string is not a string literal" warnings
1272
12732017-06-02  Richard Russon  \<rich@flatcap.org\>
1274* Features
1275  - Warn on bindkey aliasing
1276  - Drop PATCHES, tidy 'mutt -v' output
1277  - Add %z format strings to index_format
1278  - Add debug_level/debug_file options
1279* Bug Fixes
1280  - Fix nntp group selection
1281  - Fix status color
1282  - Tidy up S/MIME contrib
1283  - Do not try to create Maildir if it is an NNTP URL
1284  - Fix missing NONULL for mutt.set() in Lua
1285* Translations
1286  - Fix German PGP shortkeys
1287* Docs
1288  - Remove feature muttrc files
1289  - Merge README.notmuch into manual
1290  - Remove unneeded scripts
1291  - Remove README.SECURITY
1292  - Remove BEWARE and devel-notes.txt
1293  - Update Makefiles
1294  - Delete TODO files
1295  - Remove legacy files
1296  - Don't generate vim-neomutt syntax file
1297  - Remove LaTeX/pdf manual generation
1298  - Add missing docs for expandos
1299  - Fix sidebar howto examples
1300  - Remove some upstream references
1301  - Drop refs to patches
1302  - Improve PR template and CONTRIBUTING.md
1303* Website
1304  - Fix list items in newbie-tutorial's Mailing List Guidelines
1305  - Remove configure options that no longer exist
1306  - fix newbie tutorial
1307  - document signing tags / releases
1308  - config: drop unused paginate command
1309  - script: split tests up into several
1310  - convert credits page to markdown
1311  - simpify 404 page
1312  - improve newbie tutorial
1313  - remove help.html and integrate its content elsewhere
1314  - make: "graphviz" program is needed for generating diagram
1315  - improve getting started guide // include legacy files
1316  - dev: add list of architectures/operating systems
1317  - numerous small fixes
1318* Build
1319  - Remove typedefs and rename ~130 structs
1320  - Add separate hcache dir
1321  - Move crypto files to ncrypt dir
1322  - Split up mutt.h, protos.h
1323  - Always build: sidebar, imap, pop, smtp, compressed, nntp
1324  - Remove --enable-mailtool configure option
1325  - Make dotlock optional
1326  - Change gpgme requirement back to 1.1.0
1327  - Remove check_sec.sh
1328  - Fix safe_calloc args
1329  - Remove unused macros
1330  - Remove unused option: SmimeSignOpaqueCommand
1331  - Move configure-generated files
1332  - Update distcheck build flags
1333  - Drop obsolete iconv check
1334  - Unused prototypes - unsupported systems
1335  - Drop many configure tests for things defined in POSIX:2001
1336  - Kill useless crypthash.h file
1337  - Run clang-format on the code
1338  - Fail early if ncursesw cannot be found
1339  - Add names prototype arguments
1340  - Abbreviate pointer tests against NULL
1341  - Initialise pointers to NULL
1342  - Reduce the scope of for loop variables
1343  - Coverity: fix defects
1344* Upstream
1345  - Convert all exec calls to use mutt_envlist(), remove setenv function
1346  - Note that mbox-hooks are dependent on $move
1347  - Refresh header color when updating label
1348  - Remove glibc-specific execvpe() call in sendlib.c
1349  - Add color commands for the compose menu headers and security status
1350  - Fix sidebar count updates when closing mailbox
1351  - Don't modify LastFolder/CurrentFolder upon aborting a change folder operation
1352  - Change message modifying operations to additively set redraw flags
1353  - Improve maildir and mh to report flag changes in mx_check_mailbox()
1354  - Add $header_color_partial to allow partial coloring of headers
1355  - Rename REDRAW_SIGWINCH to REDRAW_FLOW
1356  - Create R_PAGER_FLOW config variable flag
1357  - Turn IMAP_EXPUNGE_EXPECTED back off when syncing
1358  - Add $history_remove_dups option to remove dups from history ring
1359  - Also remove duplicates from the history file
1360  - Don't filter new entries when compacting history save file
1361  - Move the IMAP msn field to IMAP_HEADER_DATA
1362  - Fix imap expunge to match msn and fix index
1363  - Fix cmd_parse_fetch() to match against MSN
1364  - Start fixing imap_read_headers() to account for MSN gaps
1365  - Add msn_index and max_msn to find and check boundaries by MSN
1366  - Properly adjust fetch ranges when handling new mail
1367  - Small imap fetch fixes
1368  - Don't abort header cache evaluation when there is a hole
1369  - Fix mfc overflow check and uninitialized variable
1370  - Fix potential segv if mx_open_mailbox is passed an empty string
1371  - Don't clean up idata when closing an open-append mailbox
1372  - Don't clean up msn idata when closing an open-append mailbox
1373  - Fix memory leak when closing mailbox and using the sidebar
1374  - Change imap body cache cleanup to use the uid_hash
1375  - Convert classic s/mime to space delimit findKeys output
1376  - Add self-encrypt options for PGP and S/MIME
1377  - Change $postpone_encrypt to use self-encrypt variables first
1378  - Automatic post-release commit for mutt-1.8.3
1379  - Add note about message scoring and thread patterns
1380
13812017-04-28  Richard Russon  \<rich@flatcap.org\>
1382* Bug Fixes
1383  - Fix and simplify handling of GPGME in configure.ac (@gahr)
1384* Docs
1385  - Fix typo in README.neomutt (@l2dy)
1386* Upstream
1387  - Fix km_error_key() infinite loop and unget buffer pollution
1388  - Fix error message when opening a mailbox with no read permission
1389
13902017-04-21  Richard Russon  \<rich@flatcap.org\>
1391* Features
1392  - add lua scripting
1393  - add command-line batch mode
1394  - index_format: add support of %K
1395* Bug Fixes
1396  - attachment/pager: Use mailcap for test/* except plain
1397  - Fix uncollapse_new in pager
1398  - fix garbage in chdir prompt due to unescaped string
1399  - Fix inbox-first functionality when using mutt_pretty_mailbox
1400  - add full neomutt version to log startup
1401  - fix bug in uncolor for notmuch tag
1402  - fix broken from_chars behaviour
1403* Coverity defects
1404  - strfcpy
1405  - add variable - function arg could be NULL/invalid
1406  - add variable - failed function leads to invalid variable
1407  - add variable - Context could become NULL
1408  - add variable - alloc/strdup could return NULL
1409  - add variable - route through code leads to invalid variable
1410  - remove variable test
1411  - test functions
1412  - tidy switches
1413  - unused variables
1414  - refactor only
1415  - check for buffer underruns
1416  - fix leaks
1417  - minor fixes
1418  - bug: add missing break
1419  - bug: don't pass large object by value
1420  - fix: use correct buffer size
1421  - shadow variables
1422  - 0 -\> NULL
1423* Docs
1424  - many minor updates
1425  - sync translations
1426  - delete trailing whitespace
1427  - indent the docbook manual
1428  - use w3m as default for generating UTF8 manual.txt
1429* Website
1430  - many minor updates
1431  - fix broken links
1432  - add to list of useful programs
1433  - test automatic html checker
1434  - remove trailing whitespace
1435  - add irc description
1436  - update issue labels (dev)
1437  - new page: closed discussions
1438  - new page: making neomutt (dev)
1439* Build
1440  - drop obsolete m4 scripts
1441  - don't look for lua libs unless asked for
1442  - workaround slang warnings
1443  - lower the gettext requirement 0.18 -\> 0.17
1444  - add keymap_alldefs.h to BUILT_SOURCES
1445  - fix make dist distcheck
1446  - Remove -Iimap from CFLAGS and include imap/imap.h explicitly
1447  - mx: fix conditional builds
1448  - Make iconv mandatory (no more --disable-iconv)
1449  - refactor: Split out BUFFER-handling functions
1450* Tidy
1451  - drop control characters from the source
1452  - drop vim modelines
1453  - delete trailing whitespace
1454  - mark all local functions as static
1455  - delete unused functions
1456  - replace FOREVER with while (true)
1457  - drop #if HAVE_CONFIG_H
1458  - use #ifdef for potentially missing symbols
1459  - remove #if 0 code blocks
1460  - drop commented out source
1461  - IMAP auth functions are stored by pointer cannot be static
1462  - force OPS to be rebuilt after a reconfigure
1463  - be specific about void functions
1464  - expand a few more alloc macros
1465  - add argument names to function prototypes
1466  - drop local copy of regex code
1467  - rearrange code to avoid forward declarations
1468  - limit the scope of some functions
1469  - give the compress functions a unique name
1470  - use snake_case for function names
1471  - add missing newlines to mutt_debug
1472  - remove generated files from repo
1473  - look for translations in all files
1474  - fix arguments to printf-style functions
1475  - license text
1476  - unify include-guards
1477  - tidy makefiles
1478  - initialise pointers
1479  - make strcmp-like functions clearer
1480  - unify sizeof usage
1481  - remove forward declarations
1482  - remove ()s from return
1483  - rename files hyphen to underscore
1484  - remove unused macros
1485  - use SEEK_SET, SEEK_CUR, SEEK_END
1486  - remove constant code
1487  - fix typos and grammar in the comments
1488  - Switch to using an external gettext runtime
1489  - apply clang-format to the source code
1490  - boolify returns of 84 functions
1491  - boolify lots of struct members
1492  - boolify some function parameters
1493* Upstream
1494  - Add $ssl_verify_partial_chains option for OpenSSL
1495  - Move the OpenSSL partial chain support check inside configure.ac
1496  - Don't allow storing duplicate certs for OpenSSL interactive prompt
1497  - Prevent skipped certs from showing a second time
1498  - OpenSSL: Don't offer (a)ccept always choice for hostname mismatches
1499  - Add SNI support for OpenSSL
1500  - Add SNI support for GnuTLS
1501  - Add shortcuts for IMAP and POP mailboxes in the file browser
1502  - Change OpenSSL to use SHA-256 for cert comparison
1503  - Fix conststrings type mismatches
1504  - Pass envlist to filter children too
1505  - Fix mutt_envlist_set() for the case that envlist is null
1506  - Fix setenv overwriting to not truncate the envlist
1507  - Fix (un)sidebar_whitelist to expand paths
1508  - Fix mutt_refresh() pausing during macro events
1509  - Add a menu stack to track current and past menus
1510  - Change CurrentMenu to be controlled by the menu stack
1511  - Set refresh when popping the menu stack
1512  - Remove redraw parameter from crypt send_menus
1513  - Don't full redraw the index when handling a command from the pager
1514  - Filter other directional markers that corrupt the screen
1515  - Remove the OPTFORCEREDRAW options
1516  - Remove SidebarNeedsRedraw
1517  - Change reflow_windows() to set full redraw
1518  - Create R_MENU redraw option
1519  - Remove refresh parameter from mutt_enter_fname()
1520  - Remove redraw flag setting after mutt_endwin()
1521  - Change km_dokey() to pass SigWinch on for the MENU_EDITOR
1522  - Separate out the compose menu redrawing
1523  - Separate out the index menu redrawing
1524  - Prepare for pager redraw separation
1525  - Separate out the pager menu redrawing
1526  - Don't create query menu until after initial prompt
1527  - Silence imap progress messages for pipe-message
1528  - Ensure mutt stays in endwin during calls to pipe_msg()
1529  - Fix memleak when attaching files
1530  - Add $ssl_verify_partial_chains option for OpenSSL
1531  - Move the OpenSSL partial chain support check inside configureac
1532  - Don't allow storing duplicate certs for OpenSSL interactive prompt
1533  - Prevent skipped certs from showing a second time
1534  - OpenSSL: Don't offer (a)ccept always choice for hostname mismatches
1535  - Add SNI support for OpenSSL
1536  - Add SNI support for GnuTLS
1537  - Add shortcuts for IMAP and POP mailboxes in the file browser
1538  - Updated French translation
1539  - Change OpenSSL to use SHA-256 for cert comparison
1540  - Fix conststrings type mismatches
1541  - Pass envlist to filter children too
1542  - Fix mutt_envlist_set() for the case that envlist is null
1543  - Fix setenv overwriting to not truncate the envlist
1544  - Fix mutt_refresh() pausing during macro events
1545  - Add a menu stack to track current and past menus
1546  - Change CurrentMenu to be controlled by the menu stack
1547  - Set refresh when popping the menu stack
1548  - Remove redraw parameter from crypt send_menus
1549  - Don't full redraw the index when handling a command from the pager
1550  - Fix (un)sidebar_whitelist to expand paths
1551  - Filter other directional markers that corrupt the screen
1552  - Remove the OPTFORCEREDRAW options
1553  - Remove SidebarNeedsRedraw
1554  - Change reflow_windows() to set full redraw
1555  - Create R_MENU redraw option
1556  - Remove refresh parameter from mutt_enter_fname()
1557  - Remove redraw flag setting after mutt_endwin()
1558  - Change km_dokey() to pass SigWinch on for the MENU_EDITOR
1559  - Separate out the compose menu redrawing
1560  - Separate out the index menu redrawing
1561  - Prepare for pager redraw separation
1562  - Separate out the pager menu redrawing
1563  - Don't create query menu until after initial prompt
1564  - Silence imap progress messages for pipe-message
1565  - Ensure mutt stays in endwin during calls to pipe_msg()
1566  - Fix memleak when attaching files
1567  - automatic post-release commit for mutt-181
1568  - Added tag mutt-1-8-1-rel for changeset f44974c10990
1569  - mutt-181 signed
1570  - Add ifdefs around new mutt_resize_screen calls
1571  - Add multiline and sigwinch handling to mutt_multi_choice
1572  - Set pager's REDRAW_SIGWINCH when reflowing windows
1573  - Add multiline and sigwinch handling to mutt_yesorno
1574  - Change the sort prompt to use (s)ort style prompts
1575  - Handle the pager sort prompt inside the pager
1576  - Fix GPG_TTY to be added to envlist
1577  - automatic post-release commit for mutt-182
1578
15792017-03-06  Richard Russon  \<rich@flatcap.org\>
1580* Bug Fixes
1581  - Get the correct buffer size under fmemopen/torify (#441)
1582  - Use static inlines to make gcc 4.2.1 happy
1583  - getdnsdomainname: cancel getaddrinfo_a if needed
1584  - imap: remove useless code (#434) (origin/master)
1585  - Fixes missing semi-colon compilation issue (#433)
1586* Docs
1587  - github: added template for Pull Requests, issues and a CONTRIBUTION.md (#339)
1588  - editorconfig: support for new files, fix whitespace (#439)
1589  - add blocking fmemopen bug on debian to manual (#422)
1590* Upstream
1591  - Increase ACCOUNT.pass field size. (closes #3921)
1592  - SSL: Fix memory leak in subject alternative name code. (closes #3920)
1593  - Prevent segv if open-appending to an mbox fails. (closes #3918)
1594  - Clear out extraneous errors before SSL_connect() (see #3916)
1595
15962017-02-25  Richard Russon  \<rich@flatcap.org\>
1597* Features
1598  - Add option $show_multipart_alternative
1599  - notmuch: Allow to use untransformed tag for color
1600  - Use getaddrinfo_a if possible (#420)
1601* Bug Fixes
1602  - handle sigint within socket operations (#411)
1603  - Avoid browsing the remote spool_file by setting MUTT_SELECT_MULTI attach
1604  - notmuch: fix crash when completing tags (#395)
1605  - Fixes missing failure return of notmuch msg open (#401)
1606  - Fix latest Coverity issues (#387)
1607  - Advance by the correct number of position even for unknown characters (#368)
1608  - Release KyotoCabinet data with kcfree() (#384)
1609  - 22 resource leaks
1610* Translations
1611  - Update translations
1612  - Update the German translation (#397)
1613* Docs
1614  - fix typo in notmuch example
1615  - remove duplicate "default" in the sidebar intro
1616  - fix confusing description of notmuch operators (#371)
1617  - correct spelling mistakes (#412)
1618* Website
1619  - link to clang-format config in main repo (#28)
1620  - updated list of useful programs
1621  - update/improve list of useful programs
1622  - sidebar_format has a single default value
1623  - fix name of GNU Guix
1624  - added guix distro
1625  - added link to new afew maintainers
1626  - add code of conduct
1627  - add mutt-addressbook to useful
1628  - remove unnecessary unicode non-breaking spaces
1629  - github merging
1630* Build
1631  - Enable and run unit-tests on the feature/unit-test branch
1632  - add notmuch to default, feature
1633  - new dbs for mutt
1634  - master is now the main branch
1635  - streamline builds
1636  - fix doc generator
1637  - add a few includes (prelude to clang-format)
1638  - slcurses.h defines its own bool type
1639  - travis: use container build
1640  - add clang-format file
1641  - Remove ugly macros and casts from crypt_gpgme.c
1642  - fix minor reflow issues in some comments
1643  - editorconfig: use spaces to indent in *.[ch] files
1644  - added comment-blocks for clang-format to ignore
1645  - fix 80 column limit, align statements
1646  - Remove snprintf.c from EXTRA_DIST (#406)
1647  - Kill homebrew (v)snprintf implementations, as they are C99 (#402)
1648  - Display charset + small refactoring
1649  - Do not cast or check returns from safe_calloc (#396)
1650  - refactor: create a generic base64 encode/decode
1651  - debug: remove dprint in favor of mutt_debug (#375)
1652  - Fix dubious use macro for _() / gettext() (#376)
1653  - Use mutt_buffer_init instead of memset
1654  - Make the heap method and datatype a plain list
1655  - Reverts making AliasFile into a list_t (#379)
1656  - Turn mutt_new_* macros into inline functions
1657  - Do not cast return values from malloc (or similar)
1658* Upstream
1659  - Simplify mutt_label_complete().
1660  - Permit tab completion of pattern expressions with ~y (labels).
1661  - Fix the mutt_label_complete() pos parameter.
1662  - Fix the x-label update code check location.
1663  - Improve the label completion hash table usage.
1664  - Adds label completion.
1665  - Add hash_find_elem to get the hash element.
1666  - Minor fixes to the x-label patch from David.
1667  - Adds capability to edit x-labels inside mutt, and to sort by label.
1668  - Allow "unsubjectrc *" to remove all patterns.
1669  - Add subjectrx command to replace matching subjects with something else.
1670  - Abstract the SPAM_LIST as a generic REPLACE_LIST
1671  - Improve Reply-to vs From comparison when replying. (closes #3909)
1672  - Fix sidebar references to the "new count" to be "unread". (closes #3908)
1673  - Fix several alias hashtable issues.
1674  - Add casecmp and strdup_key flags to hash_create()
1675  - Improve error handling in mbox magic detection.
1676  - Allow initial blank lines in local mailboxes.
1677  - Fix minor documentation issues.
1678  - Convert cmd_parse_search to use the uid hash. (closes #3905)
1679  - Create a uid hash for imap. (see #3905)
1680  - Convert HASH to be indexable by unsigned int. (see #3905)
1681  - Fix imap server-side search to call uid2msgno() only once. (see #3905)
1682  - Add a pattern_cache_t to speed up a few repeated matches.
1683  - Canonicalize line endings for GPGME S/MIME encryption. (closes #3904)
1684  - Fix build for bdb.
1685  - Create function to free header cache data.
1686  - Add Kyoto Cabinet support to the header cache.
1687  - Prevent null pointer exception for h-\>ai_canonname
1688  - Show SHA1 fp in interactive cert check menu.
1689  - Fix potential cert memory leak in check_certificate_by_digest().
1690  - Plug memory leak in weed-expired-certs code.
1691  - Filter expired local certs for OpenSSL verification.
1692  - Change "allow_dups" into a flag at hash creation.
1693
16942017-02-06  Richard Russon  \<rich@flatcap.org\>
1695* Bug Fixes
1696  - Unicode 0x202F is a non-break space too (#358) (@gahr)
1697  - improve readability of find_subject() (@toogley)
1698  - Import hcache-lmdb fixes from upstream (#363) (@gahr)
1699  - Rework the "inbox-first" implementation to make code self-explanatory (#356) (@gahr)
1700  - If possible, only redraw after gpgme has invoked pinentry (#352) (@gahr)
1701  - Remove two use-after free in global hooks (#353) (@guiniol)
1702  - Handle BAD as IMAP_AUTH_UNAVAIL (#351) (@gahr)
1703  - Do not crash when closing a non-opened mailbox (origin/requests/github/343) (@gahr)
1704  - Import hcache benchmark (@gahr)
1705  - fix: bug introduced by mkdir changes (#350)
1706  - change pager to allow timehook-hook to fire
1707* Docs
1708  - Update documentation about modify-labels-then-hide (@bbenne10)
1709
17102017-01-28  Richard Russon  \<rich@flatcap.org\>
1711* Features
1712  - Add option for missing subject replacement
1713  - notmuch: Allow \<modify-labels\> to toggle labels
1714  - Support for aborting mailbox loading
1715  - Do a mailbox check after shell escape
1716  - Support of relative paths sourcing and cyclic source detection
1717  - Support of multiple config files as CLI arguments
1718  - Extend the ~m pattern to allow relative ranges
1719  - Implement SASL's PLAIN mechanism as a standalone authenticator
1720  - Add support for sensitive config options
1721  - Searching with a window over notmuch vfolders
1722* Contrib
1723  - fix vim syntax file for index-color commands
1724  - add .editorconfig
1725* Bug Fixes
1726  - fix global hooks to not take a pattern
1727  - Avoid breaking relative paths when avoiding cyclic checks on
1728  - Fix sorting when using '/' as a namespace separator
1729* Docs
1730  - Added waffle badges to readme
1731  - Describe the new message ranges
1732  - add documentation for -DS command line switch
1733  - fix typos in section on config locations
1734  - remove reference to missing keybinding
1735  - fix docbook validation
1736* Build
1737  - Start migrating to stdbool logic
1738  - add recursive mkdir()
1739  - reformat the source to mutt standards
1740  - appease check_sec.sh
1741
17422017-01-13  Richard Russon  \<rich@flatcap.org\>
1743* Features
1744  - Allow custom status flags in index_format
1745  - $from_chars highlights differences in authorship
1746  - notmuch: make 'Folder' and 'Tags' respect (un)ignore
1747  - notmuch: add "virtual-unmailboxes" command
1748* Bug Fixes
1749  - pick smarter default for $sidebar_divider_char
1750  - status color breaks "mutt -D"
1751  - Enable reconstruct-thread in the pager
1752  - manually touch 'atime' when reading a mbox file
1753  - allow $to_chars to contain Unicode characters
1754  - increase the max lmdb database size
1755  - restore limit current thread
1756  - don't reset the alarm unless we set it
1757  - some more places that may get NULL pointers
1758  - rework initials to allow unicode characters
1759* Translations
1760  - Spanish translation
1761  - German translation
1762* Docs
1763  - Improve whitespace and grammar on the NNTP feature page
1764  - make $to_chars docs more legible
1765  - de-tab the DocBook
1766  - fix 301 redirects
1767* Build
1768  - New configure option --enable-everything
1769  - add a constant for an aborted question
1770  - enhance mutt_to_base64() (and callers)
1771  - Fix configure.ac to require md5 if hcache is enabled
1772  - Bail if a selected hcache backend cannot be found
1773  - refactor mutt_matches_ignore
1774  - fix hcache + make dist
1775  - add unicode string helper function
1776  - Re-indent configure.ac
1777  - generate devel version suffix
1778  - fix check_sec.sh warnings
1779  - remove unnecessary #ifdef's
1780  - add missing #ifdef for nntp
1781  - ignore some configure temp files
1782  - fix "make dist" target
1783  - fix function prototypes
1784  - fix coverity warnings
1785  - notmuch: drop strndup, replace with mutt_substrdup
1786* Upstream
1787  - Fix failure with GPGME 1.8: do not steal the gpgme_ prefix.
1788  - search muttrc file according to XDG Base Specification (closes #3207)
1789  - Improve openssl interactive_check_cert. (closes #3899)
1790  - Add mutt_array_size macro, change interactive_check_cert() to use it. (see #3899)
1791  - Return to pager upon aborting a jump operation. (closes #3901)
1792  - Change sidebar_spool_file coloring to be lower precedence.
1793  - Move '@' pattern modifier documentation to the right section.
1794  - Add setenv/unsetenv commands.
1795  - Rework OpenSSL certificate verification to support alternative chains. (closes #3903)
1796  - Add option to control whether threads uncollapse when new mail arrives.
1797  - In the manual, replaced 2 para by example (similar to the first example).
1798  - Create MbTable type for multibyte character arrays. (see #3024)
1799  - Make to_chars and status_chars accept mulitibyte characters. (closes #3024)
1800
18012016-11-26  Richard Russon  \<rich@flatcap.org\>
1802* Features
1803  - Upstream adoption of compress
1804  - Multiple hcache backends and run-time selection
1805  - $forward_references includes References: header on forwards
1806  - Hooks: define hooks for startup and shutdown
1807  - Add $collapse_all to close threads automatically
1808* Bug Fixes
1809  - Index in pager crash
1810  - Tag with multiple labels
1811  - Make sure gdbm's symbols are not resolved in QDBM's compatibility layer
1812  - Fix crash when doing collapse_all on an empty folder
1813  - Fix: crash when browsing empty dir
1814  - Initialize imap_authenticate's return value to something meaningful
1815* Translations
1816  - Update German translation
1817  - Update Slovak translation
1818  - Update French translation
1819  - Add English (British) translation
1820  - Convert files to utf-8
1821  - Mass tidy up of the translation messages
1822* Docs
1823  - new-mail bug is fixed
1824  - add since date for features
1825  - expand example command options for compress
1826  - fix entries for beep and new-mail-command
1827  - add a version number to the generated vimrc
1828  - fix links in README
1829  - don't use smart quotes in manual examples
1830  - \<escape\> and \e means refers to both alt and escape key
1831* Build
1832  - Travis: test messages
1833  - Add option to disable translation messages
1834  - Split hcache code into per-backend files
1835  - Doc/Makefile clean neomutt-syntax.vim
1836  - Improve discovery for the Berkeley Database
1837  - Fix nntp/notmuch conditionals
1838  - Implement mutt_strchrnul()
1839  - Rename vim-keybindings to vim-keys
1840* Upstream
1841  - attach_format: add new %F placeholder
1842  - Compose: add operation to rename an attachment
1843  - Chain %d-\>%F-\>%f in the attachment menu
1844  - Move mbox close-append logic inside mbox_close_mailbox()
1845  - When $flag_safe is set, flagged messages cannot be deleted
1846  - Adds the '@' pattern modifier to limit matches to known aliases
1847  - Adds \<mark-message\> binding to create "hotkeys" for messages
1848  - Updated requirement on the C compiler
1849  - Fix mark-message translation and keybind menu
1850  - More openssl1.1 fixes: remove uses of X509-\>name in debugging. (closes #3870)
1851  - Don't close stderr when opening a tunnel. (closes #3726)
1852  - Minor resource and error logic cleanup in tunnel_socket_open()
1853  - Make sure that the output of X509_NAME_oneline is null-terminated
1854
18552016-11-04  Richard Russon  \<rich@flatcap.org\>
1856* Bug Fixes
1857  - don't crash when the imap connection dies
1858* Upstream
1859  - Add root-message function to jump to root message in thread.
1860  - Updated French translation.
1861  - Prevent an integer overflow in mutt_mktime() (closes #3880)
1862  - Fix pager segfault when lineInfo.chunks overflows. (closes #3888)
1863  - Perform charset conversion on text attachments when piping. (closes #3773) (see #3886)
1864  - Add a --disable-doc configuration option.
1865  - Make ncurses and ncursesw header checking the same.
1866  - Attempt to silence a clang range warning. (closes #3891)
1867  - Fixed issue from changeset 4da647a80c55. (closes #3892)
1868  - Define PATH_MAX, it's missing on the GNU Hurd. (closes #3815)
1869
18702016-10-28  Richard Russon  \<rich@flatcap.org\>
1871* Features
1872  - nntp: use safe_{fopen,fclose}
1873  - nntp: fix resource leak
1874  - forgotten-attachment: Ignore lines matching quote_regex.
1875  - forgotten-attachment: Fix checking logic.
1876  - forgotten-attachment: Update docs regarding $quote_regex.
1877  - notmuch: Add a fake "Folder" header to viewed emails
1878  - sidebar: consider description when using whitelist
1879  - skip-quoted: skip to body
1880* Bug Fixes
1881  - sensible-browser/notmuch changing mailbox
1882  - "inbox" sorting function
1883  - overhaul the index/pager updates
1884  - crash in hdrline
1885  - remove stray line introduced by pager fix
1886  - Possible fix for random pager crashes.
1887* Docs
1888  - use a more expressive coverity scan badge
1889  - light tidying
1890* Build
1891  - replace the ugly strfcpy() macro with a function
1892  - build: Look for tgetent in ncurses, fallback to tinfo only if not found
1893  - build: fix a couple of build warnings
1894  - travis: install doc dependencies
1895  - build: fix install/dist/distcheck targets
1896* Upstream
1897  - Fix POP3 SASL authentication mechanism DIGEST-MD5. (closes #3862)
1898  - Add a few explanatory comments to pop_auth_sasl().  (see #3862)
1899  - Fix GPGME signature zero timestamp and locale awareness issues. (closes #3882)
1900  - Handle presence of '--' delimiter in $sendmail. (closes #3168)
1901  - Allow IPv6 literal addresses in URLs. (closes #3681)
1902  - Fix gpgme segfault in create_recipient_set().
1903  - Use mutt_strlen and mutt_strncmp in sidebar.c.
1904  - Change sidebar to only match $folder prefix on a $sidebar_divider_char. (closes #3887)
1905  - Actually fix gpgme segfault in create_recipient_set().
1906
19072016-10-14  Richard Russon  \<rich@flatcap.org\>
1908* Features
1909  - sidebar: Make sure INBOX appears first in the list.
1910  - notmuch: Synchronise tags to flags
1911* Bug Fixes
1912  - updates when pager is open
1913  - crash when neither $spool_file, $folder are set
1914  - forgotten-attachment: fix empty regex expression
1915  - status-color when pager_index_lines \> 0
1916  - buffer underrun when no menu item is selected
1917  - crash handling keywords/labels
1918* Docs
1919  - update notmuch references
1920* Build
1921  - update references to 1.7.1
1922  - strfcpy() improvement
1923* Upstream
1924  - automatic post-release commit for mutt-1.7.1
1925  - Mark IMAP fast-trash'ed messages as read before copying. (see #3860)
1926  - Updated Czech translation.
1927  - Preserve forwarded attachment names in d_filename.
1928
19292016-10-03  Richard Russon  \<rich@flatcap.org\>
1930* Build
1931  - Fix install and dist targets
1932
19332016-10-02  Richard Russon  \<rich@flatcap.org\>
1934* Features
1935  - Kyoto Cabinet header cache
1936  - Compose to Sender
1937  - Forgotten Attachment uses a regex
1938  - Optimize LMDB's hcache backend
1939  - Sensible-browser behaviour fixes
1940* Bug Fixes
1941  - Fixes repaint problem with $pager_index_lines #159
1942  - Quasi-Delete: check there's a selection
1943  - Bulletproof the pager
1944  - Typo in the version string
1945* Docs
1946  - Add badges to README.neomutt
1947  - Document the Kyoto cabinet hcache backend
1948  - Fix the layout of the syntax file
1949  - Make the license clear to github
1950  - Fix the alignment in a 'nested-if' example
1951  - Fix notmuch vim syntax file
1952  - Added Mailinglist mailto links to "Where is NeoMutt" section
1953  - Fix build of neomutt-syntax.vim
1954  - Fixed typo of devel mailinglist name
1955* Build
1956  - Travis: install the kyoto-cabinet dev files
1957  - Build source before docs
1958  - Build fix for strndup / malloc
1959  - Change gcc build options to prevent crashes
1960* Upstream
1961  - Ensure signatures exist when verifying multipart/signed emails. (closes #3881).
1962  - RFC2047-decode mailto url headers after RFC2822 parsing. (closes #3879)
1963  - RFC2047-decode mailto header values. (closes #3879)
1964  - Reset invalid parsed received dates to 0.  (closes #3878)
1965  - Clear pager position when toggling headers.
1966  - Don't abort the menu editor on sigwinch. (closes #3875)
1967  - Mark some gpgme pgp menu keybinding translations as fuzzy. (closes #3874)
1968  - Check for NULL mx_ops in mx.c
1969  - Use body color for gpgme output. (closes #3872)
1970  - Fix gpgme segfault when querying candidates with a '+' in the address. (closes #3873)
1971
19722016-09-16  Richard Russon  \<rich@flatcap.org\>
1973* Bug Fixes
1974  - Avoid segfault when listing mailboxes on startup
1975    John Swinbank
1976  - Fix buffer overrun in search for attach keyword
1977    James McCoy
1978  - Fix off-by-one in error message
1979    Antonio Radici
1980  - fix AC_INIT tarname parameter
1981  - fix crash when exiting the pager
1982  - fix another crash in the pager
1983  - nntp: close message handles
1984  - fix: make the pager more robust
1985  - fix sidebar sort order
1986  - fix notmuch tag completion
1987* Docs
1988  - doc: Removes bug entry in new-mail docs
1989    Santiago Torres
1990  - fix some translations in crypt_gpgme.c
1991    Antonio Radici
1992  - docs: mass tidy up
1993* Upstream
1994  - Fix sidebar documentation a bit
1995  - Add unsidebar_whitelist command
1996  - Remove the $locale configuration variable
1997  - Add $attribution_locale configuration variable
1998  - Add missing include \<locale.h\> to send.c and edit.c
1999  - Filter out zero width no-break space (U+FEFF)
2000  - Update a confusing and obsolete comment
2001  - Moves mutt_copy_list to muttlib.c, where it belongs
2002  - Redraw screen after an SSL cert prompt
2003  - Preserve message-id and mft headers for recalled messages
2004  - Fix openssl 1.1 compilation issues
2005
20062016-09-10  Richard Russon  \<rich@flatcap.org\>
2007* New Features
2008  - Colouring Attachments with Regex
2009    Guillaume Brogi
2010  - PGP Encrypt to Self
2011    Guillaume Brogi
2012  - Sensible Browser
2013    Pierre-Elliott Bécue
2014  - Reply using X-Original-To: header
2015    Pierre-Elliott Bécue
2016  - Purge Thread
2017    Darshit Shah
2018  - Forgotten attachment
2019    Darshit Shah
2020  - Add sidebar_ordinary color
2021* Bug Fixes
2022  - align the nntp code with mutt
2023    Fabian Groffen
2024  - check for new mail while in pager when idle
2025    Stefan Assmann
2026  - Allow the user to interrupt slow IO operations
2027    Antonio Radici
2028  - keywords: check there are emails to tag
2029  - fix duplicate saved messages
2030  - flatten contrib/keybase dir to fix install
2031  - restore the pager keymapping 'i' to exit
2032  - proposed fix for clearing labels
2033  - notmuch: sync vfolder_format to folder_format
2034* Docs
2035  - Update List of Features and Authors
2036* Build
2037  - fix configure check for fmemopen
2038  - use fixed version strings
2039* Upstream
2040  - Increase date buffer size for $folder_format.
2041  - Disable ~X when message scoring.
2042  - Fix pgpring reporting of DSA and Elgamal key lengths.
2043  - Stub out getdnsdomainname() unless HAVE_GETADDRINFO.
2044  - Autoconf: always check for getaddrinfo().
2045  - Add missing sidebar contrib sample files to dist tarball.
2046
20472016-08-27  Richard Russon  \<rich@flatcap.org\>
2048* NeoMutt for Mutt 1.7.0
2049* Build
2050  - Disable fmemopen until bug is fixed
2051* Contrib
2052  - Keybase portability improvements
2053    Joshua Jordi (JakkinStewart)
2054
20552016-08-21  Richard Russon  \<rich@flatcap.org\>
2056* Contrib
2057  - Updates to Keybase Support
2058    Joshua Jordi (JakkinStewart)
2059* Bug Fixes
2060  - Fix data-loss when appending a compressed file
2061  - Don't paint invisible progress bars
2062  - Revert to Mutt keybindings
2063  - Don't de-tag emails after labelling them
2064  - Don't whine if getrandom() fails
2065    Adam Borowski (kilobyte)
2066  - Fix display when 'from' field is invalid
2067* Config
2068  - Support for $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS
2069    Marco Hinz (mhinz)
2070* Docs
2071  - Fix DocBook validation
2072  - Document Notmuch queries
2073* Build
2074  - More Autoconf improvements
2075    Darshit Shah (darnir)
2076  - Create Distribution Tarballs with autogen sources
2077    Darshit Shah (darnir)
2078
20792016-08-08  Richard Russon  \<rich@flatcap.org\>
2080* New Features
2081  - Timeout Hook - Run a command periodically
2082  - Multiple fcc - Save multiple copies of outgoing mail
2083* Contrib
2084  - Keybase Integration
2085    Joshua Jordi (JakkinStewart)
2086* Devel
2087  - Attached - Prevent missing attachments
2088    Darshit Shah (darnir)
2089  - Virtual Unmailboxes - Remove unwanted virtual mailboxes
2090    Richard Russon (flatcap)
2091* Bug Fixes
2092  - Sidebar's inbox occasionally shows zero/wrong value
2093  - Fix crash opening a second compressed mailbox
2094* Config
2095  - Look for /etc/neomuttrc and ~/.neomuttrc
2096* Docs
2097  - Fix broken links, typos
2098  - Update project link
2099  - Fix version string in the manual
2100* Build
2101  - Add option to disable fmemopen
2102  - Install all the READMEs and contribs
2103  - Big overhaul of the build
2104    Darshit Shah (darnir)
2105
21062016-07-23  Richard Russon  \<rich@flatcap.org\>
2107* New Motto: "Teaching an Old Dog New Tricks"
2108  - Thanks to Alok Singh
2109* New Features
2110  - New Mail Command - Execute a command on receipt of new mail
2111  - vim-keys - Mutt config for vim users
2112  - LMDB: In-memory header caching database
2113  - SMIME Encrypt to Self - Secure storage of sensitive email
2114* Bug Fixes
2115  - rework mutt_draw_statusline()
2116  - fix cursor position after sidebar redraw
2117  - Add sidebar_format flag '%n' to display 'N' on new mail.
2118  - fix index_format truncation problem
2119  - Fix compiler warnings due to always true condition
2120  - Change sidebar next/prev-new to look at mailbox-\>new too.
2121  - Change the default for sidebar_format to use %n.
2122  - sidebar "unsorted" order to match Mailbox list order.
2123  - Include ncurses tinfo library if found.
2124  - Sidebar width problem
2125  - sidebar crash for non-existent mailbox
2126  - Temporary compatibility workaround
2127  - Reset mailbox-\>new for the current mailbox in IMAP.
2128  - version.sh regression
2129  - crash when notmuch tries to read a message
2130  - status line wrapping
2131* Docs
2132  - Mass tidy up of the docs
2133  - Fix xml validation
2134  - Add missing docs for new features
2135* Travis
2136  - New build system:
2137    https://github.com/neomutt/travis-build
2138    Now we have central control over what gets built
2139
21402016-07-09  Richard Russon  \<rich@flatcap.org\>
2141* Bug-fixes
2142  - This release was a temporary measure
2143
21442016-06-11  Richard Russon  \<rich@flatcap.org\>
2145* Change in behaviour
2146  - Temporarily disable $sidebar_refresh_time
2147    Unfortunately, this was causing too many problems.
2148    It will be fixed and re-enabled as soon as possible.
2149* Bug Fixes
2150  - Fix several crashes, on startup, in Keywords
2151  - Reflow text now works as it should
2152  - Lots of typos fixed
2153  - Compress config bug prevented it working
2154  - Some minor bug-fixes from mutt/default
2155  - Single quote at line beginning misinterpreted by groff
2156  - Setting $sidebar_width to more than 128 would cause bad things to happen.
2157  - Fix alignment in the compose menu.
2158  - Fix sidebar mailbox stats updating on mailbox close.
2159* Build Changes
2160  - Sync whitespace to mutt/default
2161  - Alter ChangeLog date format to simplify Makefiles
2162  - Use the new notmuch functions that return a status
2163  - Rename sidebar functions sb_* -\> mutt_sb_*
2164
21652016-05-23  Richard Russon  \<rich@flatcap.org\>
2166* New Features:
2167  - Keywords: Email Label/Keywords/Tagging
2168  - Compress: Compressed mailboxes support
2169  - NNTP: Talk to a usenet news server
2170  - Separate mappings for \<enter\> and \<return\>
2171  - New configure option: --enable-quick-build
2172  - Various build fixes
2173
21742016-05-02  Richard Russon  \<rich@flatcap.org\>
2175* Update for Mutt-1.6.0
2176* Bug Fixes:
2177  - Build for Notmuch works if Sidebar is disabled
2178  - Sidebar functions work even if the Sidebar is hidden
2179  - sidebar-next-new, etc, only find *new* mail, as documented
2180  - Notmuch supports *very* long queries
2181
21822016-04-16  Richard Russon  \<rich@flatcap.org\>
2183* Big Bugfix Release
2184* Bug Fixes:
2185  - Fix crash caused by sidebar_folder_indent
2186  - Allow the user to change mailboxes again
2187  - Correct sidebar's messages counts
2188  - Only sort the sidebar if we're asked to
2189  - Fix refresh of pager when toggling the sidebar
2190  - Compose mode: make messages respect the TITLE_FMT
2191  - Conditional include if sys/syscall.h
2192  - Build fix for old compilers
2193  - Try harder to keep track of the open mailbox
2194* Changes to Features
2195  - Allow sidebar_divider_char to be longer
2196    (it was limited to one character)
2197  - Ignore case when sorting the sidebar alphabetically
2198* Other Changes
2199  - Numerous small tweaks to the docs
2200  - Lots of minor code tidy-ups
2201  - Enabling Notmuch now forcibly enables Sidebar
2202    (it is dependent on it, for now)
2203  - A couple of bug fixes from mutt/stable
2204
22052016-04-04  Richard Russon  \<rich@flatcap.org\>
2206* Update for Mutt-1.6.0
2207* No other changes in this release
2208
22092016-03-28  Richard Russon  \<rich@flatcap.org\>
2210* New Features
2211  - skip-quoted          - skip quoted text
2212  - limit-current-thread - limit index view to current thread
2213* Sidebar Intro - A Gentle Introduction to the Sidebar (with pictures).
2214
22152016-03-20  Richard Russon  \<rich@flatcap.org\>
2216* Numerous small bugfixes
2217* TravisCI integration
2218
22192016-03-17  Richard Russon  \<rich@flatcap.org\>
2220* New Features
2221  - notmuch - email search support
2222  - ifdef   - improvements
2223
22242016-03-07  Richard Russon  \<rich@flatcap.org\>
2225* First NeoMutt release
2226* List of Features:
2227  - bug-fixes    - various bug fixes
2228  - cond-date    - use rules to choose date format
2229  - fmemopen     - use memory buffers instead of files
2230  - ifdef        - conditional config options
2231  - index-color  - theme the email index
2232  - initials     - expando for author's initials
2233  - nested-if    - allow deeply nested conditions
2234  - progress     - show a visual progress bar
2235  - quasi-delete - mark emails to be hidden
2236  - sidebar      - overview of mailboxes
2237  - status-color - theming the status bar
2238  - tls-sni      - negotiate for a certificate
2239  - trash        - move 'deleted' emails to a trash bin
2240
2241