-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
neomutt.spec
3093 lines (2984 loc) · 113 KB
/
neomutt.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Summary: Text mode Mail Client
Name: neomutt
Version: 20241002
Release: 1%{?dist}
Epoch: 6
Url: https://neomutt.org/
# Source, docs and contrib: GPLv2+, except for:
# BSD: Autosetup build system, queue.h
# MIT: Acutest unit test framework, some themes
# Public Domain: pgpewrap.c, mbox.5, some themes
License: GPL-2.0-or-later AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Callaway-Public-Domain
Source: https://github.com/neomutt/neomutt/archive/%{version}/%{name}-%{version}.tar.gz
Source1: fedora-colors.rc
# Use system certificate bundle
Patch0: neomutt-system_certs.patch
# Use system ciphers (@SYSTEM)
Patch1: neomutt-ssl_ciphers.patch
Requires: mailcap
Recommends: urlview
# Build NeoMutt
BuildRequires: cyrus-sasl-devel, gcc, gettext, gettext-devel, gnutls-devel
BuildRequires: gpgme-devel, krb5-devel, libidn2-devel, libzstd-devel
BuildRequires: lmdb-devel, lua-devel, lz4-devel, ncurses-devel, notmuch-devel
BuildRequires: pcre2-devel, sqlite-devel, tokyocabinet-devel, zlib-devel
# Generate Documentation
BuildRequires: /usr/bin/xsltproc, docbook-dtds, docbook-style-xsl, perl, lynx
%description
NeoMutt is a small but very powerful text-based MIME mail client. NeoMutt is
highly configurable, and is well suited to the mail power user with advanced
features like key bindings, keyboard macros, mail threading, regular expression
searches and a powerful pattern matching language for selecting groups of
messages.
%prep
%setup -q -n %{name}-%{version}
%patch -P 0 -p1 -b .system_certs
%patch -P 1 -p1 -b .ssl_ciphers
%build
%{configure} \
CC=gcc \
SENDMAIL=%{_sbindir}/sendmail \
ISPELL=%{_bindir}/hunspell \
--autocrypt --disable-idn --full-doc --gnutls --gpgme --gss --idn2 --lmdb \
--lua --lz4 --notmuch --pcre2 --sasl --tokyocabinet --zlib --zstd
%{make_build}
# remove unique id in manual.html because multilib conflicts
sed -i -r 's/<a id="id[a-z0-9]\+">/<a id="id">/g' docs/manual.html
%install
%{make_install}
rm %{buildroot}%{_pkgdocdir}/INSTALL.md %{buildroot}%{_pkgdocdir}/LICENSE.md
cat %{SOURCE1} >> %{buildroot}%{_sysconfdir}/neomuttrc
%find_lang %{name}
%files -f %{name}.lang
%config(noreplace) %{_sysconfdir}/neomuttrc
%{_bindir}/neomutt
%{_libexecdir}/neomutt
%license LICENSE.md
%{_pkgdocdir}
%{_mandir}/man1/neomutt.*
%{_mandir}/man1/pgpewrap_neomutt.*
%{_mandir}/man1/smime_keys_neomutt.*
%{_mandir}/man5/mbox_neomutt.*
%{_mandir}/man5/mmdf_neomutt.*
%{_mandir}/man5/neomuttrc.*
%{_datadir}/neomutt
%changelog
* Thu Nov 14 2024 Richard Russon <[email protected]> - 20241114-1
- Security
- Fixed: CVE-2024-49393
- Fixed: CVE-2024-49394
- #4300 Read the protected Message-ID
- Features
- #4336 Allow toggling numeric configs, e.g. `:toggle pager_index_lines`
- #4427 alias: tag/untag pattern
- query: tag with `<space>`
- Contrib
- #4400 `mutt_oauth2.py`: Fix reference to `client_secret`
- Bug Fixes
- #4399 fix duplicate save-hook
- #4403 expando: fix escaping
- #4404 browser: fix enter-quit-enter
- #4405 pager: fix repaint
- #4407 config: warn about deprecated variables
- #4425 Refresh alias/query dialog on alias/query format change
- #4433 compose: fix redraw on attachment
- #4436 compose: fix search with `arrow_cursor`
- #4438 autocrypt: fix `copy_normalize_addr()`
- alias: fix cli crash
- expando: fix relative dates
- expando: padding default to space
- Translations
- 100% German
- 100% Turkish
- 99% Czech
- 99% Slovak
- 82% French
- Docs
- drop refs to always-enabled features
- fix typo in unmacro
- fix broken link
- ncrypt: fix typo in `config.c`
* Wed Oct 02 2024 Richard Russon <[email protected]> - 20241002-1
- Security
- #4243 - security: kill unnecessary blank lines
- #4251 - more security improvements
- #4282 - improve NeoMutt bailout handling
- Features
- #4329 - remove mixmaster
- #4149 - honour umask in attach save
- Bug Fixes
- #3945 - do not force username in addition to client certificate
- #4341 - Fix '%z' and '%Z in '%{...}' expando
- #4356 - Allow longer maildir filename suffixes
- #4357 - Don't force mbox stats calculations on startup
- #4365 - Fix sorting INBOX and its subfolders
- #4367 - Let `~Y` match each tag individually
- #4371 - ignore macro events during autocrypt initialization
- #4383 - Generate the Message-ID earlier
- compose: fix `$compose_confirm_detach_first`
- Changed Config
- `set crypt_encryption_info = yes`
Add an informative block with details about the encryption
- `set crypt_protected_headers_weed = no`
Controls wether NeoMutt will weed protected header fields
- `set devel_security = no`
Devel feature: Security -- https://github.com/neomutt/neomutt/discussions/4251
- `$mixmaster` is deprecated
- `$mix_entry_format` is deprecated
- Translations
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Spanish
- 81% French
- Docs
- #4350 - Fix configure script name in INSTALL.md
- fix para ordering
- Build
- #4280 - Update autosetup
- #4281 - Update acutest to the latest upstream commit
- #4289 - don't treat stddef.h specially
- #4306 - Add -std to CFLAGS too
- #4307 - require C11
- #4347 - Support BerkeleyDB 18.1
- #4362 - Assume 'struct timespec' exists
- fix idn2 typo
- Code
- #4113 - Close the hcache handle on failure to open the store
- #4214 - upgrade `assert()`
- #4283 - mutt/list.c: Use `STAILQ_FOREACH_SAFE()` in stailq deallocators
- #4296 - Use `wmem*()` functions with wide-character strings
- #4297 - ncrypt/crypt.c: Fix allocation size calculation
- #4305 - remove `mutt_expand_path()`
- #4308 - fix `-Wdouble-promotion` warnings
- #4310 - scanf: initialise out-vars
- #4312 - Allow opening the header cache in non-`O_CREAT` mode
- #4337 - Fix function pointer types
- #4348 - Check `mutt_date_parse_date()`s return value
- #4366 - Fix up slashes in `imap_fix_path()`
- #4378 - Fix padding with an empty string
- tidy expando library
* Mon Sep 02 2024 Miroslav Suchý <[email protected]> - 6:20240425-3
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <[email protected]> - 6:20240425-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Apr 25 2024 Richard Russon <[email protected]> - 20240425-1
- Bug Fixes
- #4263 fix: cache naming
- #4261 expando: fix conditional padding
- #4261 expando: fix container
- #4261 expando: add lower-case operator
- #4261 expando: add external filter
- imap: add mailboxes more directly
- Translations
- trans: tidy messages
- Docs
- doxy: add missing params
- Build
- #4268 Filter out CFLAGS with paths from the output of '-v'
- #4273 guard truecolor functions in tests
- #4275 use homebrew in macOS build
- Code
- use Buffer rather than strcat()
- ncrypt: use gpgme types consistently
* Tue Apr 16 2024 Richard Russon <[email protected]> - 20240416-1
- Features
- #4216 Compose: Hide MixMaster chain if chain is empty
- Expando upgrade
- version: bold labels
- Contrib
- mutt_oauth2.py: Detect recipient for oauth automatically
- mutt_oauth2.py: imap_oauth_refresh_command does not need options
- Bug Fixes
- #4210 mbox: fix sorting for `mbox_resync()`
- #4241 only wrap after first address in header lines
- status: reset Buffer before reuse
- history: truncate file before writing over it
- notmuch: strip leading / from short path
- Fix smtp client `$envelope_from_address` possible dangling pointer
- Fix non-printable keyname printing to use `<octal>` syntax
- Filter Arabic Letter Mark due to display corruption
- Loosen `imap_open_mailbox()` SELECT response data parsing
- Change `mailto_allow` to be exact match only
- Fix `mutt_read_rfc822_line()` to use `is_email_wsp()`
- Improve pattern compiler whitespace skipping
- Fix gpgme crash when listing keys in a public key block
- Add SigInt handler for pattern functions
- Fix some mailbox prompts to use mailbox history ring
- Improve GPGME inline processing
- Reset SIGPIPE signal handler in child process before `exec()`
- Filter headers passed via the command line
- Remove trailing slashes when opening maildir/mh mailboxes
- Fix `mutt_paddstr()` to properly filter unprintable chars
- Minor fixes to `match_body_patterns()`
- Fix `mutt_ts_capability()` fallback list loop
- Ensure SIGALRM interrupts connect() in batch mode
- Tighten `$query_command` parsing to allow empty name field
- Changed Config
- #4224 config: add L10N support
- New: `set compose_confirm_detach_first = yes`
Prevent the accidental deletion of the composed message
- Changed: `set reply_regex = "^((re)(\\[[0-9]+\\])*:[ \t]*)*"`
Regex to match message reply subjects like 're: '
- Changed: `set pager = ""`
External command for viewing messages, or empty to use NeoMutt's
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 99% Turkish
- l10n: document functions
- config: add L10N support
- Docs
- Clarify the manual section on POP3 support
- Document the `<1234>` key syntax for bind
- Document `$sendmail` invocation behavior
- Clarify -H usage in batch mode is not a "pass through" option
* Fri Mar 29 2024 Richard Russon <[email protected]> - 20240323-1
- Bug Fixes
- #4185 c441f5957 Fix memory leak in trash_append()
- #4189 Fix off-by-one error in %b with notmuch
- #4190 Zero-out mailbox counters on delete
- #4204 colour: honour the normal colour
- #4205 match folder-hook also against mailbox name (fixes #4201)
- wrap colour in <show-log-messages>
- history: fix saving file
- history: improve error message format
- Docs
- #4182 docs: -C: Fix some accidents
- #4188 Update oauth2 README
- #4193 Update oauth2 README
- fix typos, lots of tidying
- tidy license info
- Build
- #4196 use FreeBSD 14.0 in Cirrus CI
- actions: update cpu count
- actions: use codeql v3
- Code
- #4186 Buffer refactoring: make_entry()
- address: tidy config handling
- coverage: buf, slist
- graphviz: link labels
- tidy buf_strcpy() calls
- tidy char buffers
- test: default timezone to UTC
* Sat Mar 23 2024 Richard Russon <[email protected]> - 20240323-1
- Do NOT use this release
* Thu Feb 01 2024 Richard Russon <[email protected]> - 20240201-1
- Features
- #4134 Command-line Crypto (neomutt -C)
- Bug Fixes
- #4065 track new-mail check time per mailbox
- #4141 fix(change-folder): don't exclude notmuch
- #4147 envelope: manage subject/real_subj together
- #4155 fix parsing of $REPLYTO
- #4158 status: fix refresh after sync-mailbox
- #4166 Fix two memory leaks in notmuch support
- progress: fix percentages
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- Docs
- #4172 Several fixes for the manual pages
- Build
- build: openbsd workarounds
- Code
- #4142 add mutt_time_now()
- #4146 config: factor out R_ flags
- #4154 file: upgrade mutt_file_fopen/fclose()
- #4159 upgrade mutt_str_append_item() to use struct Buffer
- #4161 maildir: encapsulate the header cache
- #4162 remove mutt_str_dequote_comment()
- #4165 bufferize mutt_str_inline_replace() as buf_inline_replace()
- #4167 bufferize mutt_strn_rfind() as buf_rfind()
- #4168 replace buf_len() checks with buf_is_empty()
- config: drop unused flags
- use message_new()/message_free()
- Reconsider the config type bitmap entirely
* Thu Dec 21 2023 Richard Russon <[email protected]> - 20231221-1
- Features
- #4126 - add alias 'tags:'
- Bug Fixes
- #4115 - create HelpBar after colours
- #4116 - Fix Batch Sending of Emails
- #4119 - Fix Header Cache Key Handling
- #4121 - mutt_oauth2.py: error out if ENCRYPTION_PIPE was not supplied
- #4124 - config: fix flag overlaps
- #4125 - compose: restore view-text/pager/mailcap
- color: fix attr_color_copy()
- fix :color dump
- fix leak in completion
- force mail check on current mailbox after `<imap-fetch-mail>`
- Allow sending an empty mail
- mutt_oauth2.py: Use readline to overcome macOS input() restrictions
- Changed Config
- add $history_format: '%s'
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- 99% Spanish
- 99% Hungarian
- Coverity defects
- #4111 Educate Coverity about ARRAYs
- fix defects
- Build
- #4098 - build: use fallthrough attribute
- #4100 - build: split maildir and mh types
- #4101 - version: drop default features
- #4108 - strip non-conditionals
- #4122 - add github action to check for unused functions (xunused)
- update fedora action
- coverage: fix build for lcov v2
- tests: fix error cases
- Code
- #4097 - config: add DT_ON_STARTUP
- #4104 - Change mutt_default_save() and addr_hook() to take a buffer
- #4105 - Use buffer pool in tests
- #4106 - Switch some buffers to use the buffer pool
- #4109 - Improve the Progress Bar
- #4117 - remove MxOps::path_parent() and mutt_path_parent()
- #4120 - remove unused functions
- #4131 - move editor test code
- #4133 - move log_disp_null() into test folder
- #4137 - move config string name functions into tests
- add: hook_new()/hook_free()
- fix more printf-style params
- rename compare to equal
- hcache: renaming for clarity
* Fri Nov 03 2023 Richard Russon <[email protected]> - 20231103-1
- Features
- #4080 - info screen: enable <save-message>
- #4075 - add color command
- color: add ANSI RGB support
- color: Support ANSI 2x clear sequences
- Bug Fixes
- #4074 - color: fix palette conversion
- #4081 - fix logging on error
- #4081 - log: vim-style
- #4082 - fix file auto-completion
- #4090 - improve logic for growing mailbox memory
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- Build
- #4085 - fix CFLAGS/LDFLAGS for ncurses
- #4085 - configure --with-iconv
- Code
- #4067 - remove unused count of new mails from index private data
- #4086 - smtp: Simplify the API of smtp_code()
- #4091 - simplify CLAMP by expressing it with MIN/MAX
- color: introduce ColorElement
- color: log gui info on startup
- color: move business logic out of parsers
- color: tidy OptNoCurses cases
- log: add log_multiline()
- test: increase coverage
* Fri Nov 03 2023 Richard Russon <[email protected]> - 20231103-1
- Features
- #4080 - info screen: enable <save-message>
- #4075 - add color command
- color: add ANSI RGB support
- color: Support ANSI 2x clear sequences
- Bug Fixes
- #4074 - color: fix palette conversion
- #4081 - fix logging on error
- #4081 - log: vim-style
- #4082 - fix file auto-completion
- #4090 - improve logic for growing mailbox memory
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- Build
- #4085 - fix CFLAGS/LDFLAGS for ncurses
- #4085 - configure --with-iconv
- Code
- #4067 - remove unused count of new mails from index private data
- #4086 - smtp: Simplify the API of smtp_code()
- #4091 - simplify CLAMP by expressing it with MIN/MAX
- color: introduce ColorElement
- color: log gui info on startup
- color: move business logic out of parsers
- color: tidy OptNoCurses cases
- log: add log_multiline()
- test: increase coverage
* Mon Oct 23 2023 Richard Russon <[email protected]> - 20231023-1
- Bug Fixes
- #4060 fix crash on exit
- #4061 fix header colour
- #4064 fix 32-bit date overflow
- #4078 fix new mail in limited view
- nntp: fix use-after-free
- color: fix ansi colours
- color: add +truecolor to version string
* Fri Oct 06 2023 Richard Russon <[email protected]> - 20231006-1
- Features
- #3870 - color: allow 'alert', 'bright', 'light' prefix for colorNNN
- #3871 - color: refactor parsing code
- #3895 - imap: truncate large UIDVALIDITYs to support non-conforming IMAP servers
- #3898 - hcache: shrink Email and Body caches
- #3900 - prompt: treat complete-query as complete where it makes sense
- #3925 - help: add message flags to help screen
- #3932 - help: add alternating colors
- #3982 - mailboxes: add `-label`, `-notify` and `-poll` options
- #4038 - add help to questions
- #4046 - color_directcolor: Also set the default/initial value on startup
- Bug Fixes
- #3897 - maildir: fix sync when a deleted file disappears
- #3878 - gnutls: fix "certificate saved" message
- #3895 - imap: truncate large UIDVALIDITYs to support non-conforming servers
- #3897 - maildir: fix fix error with `<sync-mailbox>` on mbsync
- #3901 - address: parse comments after address
- #3915 - bind: fix truncated binding strings
- #3956 - fix 'from' address when real name isn't set
- #3962 - Fix crash on `<next-thread>` when the `<limit>`ed view is empty
- #3985 - browser: fix autocompletion
- #3988 - pager: fix search crash
- #3999 - help: fix search highlight
- #4049 - force mail check on current mailbox after `<shell-escape>`
- #4051 - openssl: continue if a signal interrupts an SSL read/write
- Changed Config
- #3881 - Rename `$imap_keepalive` to `$imap_keep_alive`
- #3889 - Change defaults to use `%<...>` conditional syntax
`$attach_format`, `$index_format`, `$mailbox_folder_format`,
`$status_format`, `$ts_icon_format`, `$ts_status_format`
- #3949 - Add `browser_sort_dirs_first` to always list directories first
- Translations
- 100% Turkish
- 100% Serbian
- 100% Lithuanian
- 100% German
- 99% Czech
- 99% Polish
- 98% Slovak
- Code
- #3877 - imap: factor out tagged emails
- #3799 - address: use struct Buffer instead of plain char pointers
- #3868 - drop notifications relay
- #3869 - move `$delete_untag` out of the backend
- #3873 - respect `--[disable-]fmemopen` in tests
- hcache: optimize storage requirements, reduce config
- logging: catch format string errors
- colour: refactor colour parsing
- refactoring, cleanup
- fixed coverity defects
- convert many functions to use a `Buffer`
* Thu Jul 20 2023 Fedora Release Engineering <[email protected]> - 6:20230517-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed May 17 2023 Richard Russon <[email protected]> - 20230517-1
- Features
- #3699 - Support 24bit colors, aka truecolor
- #3738 - Show complete MIME structure in attachments
- #3842 - Allow percentages to be localized
- Bug Fixes
- #3813 - Fix crash in op_browser_subscribe
- #3844 - Select the first email when coming from an empty limit
- #3848 - Fix counting new mails in maildir
- #3759 - bind: fix incorrect conflict report
- #3781 - index: only refresh the menu on non-focus window changes
- #3856 - tunnel: fix reconnection with `ssl_force=true`
- #3860 - maildir: stop parsing headers at the end of the headers section
- #3864 - Fix handling of bright colours
- Fix sorting of labels
- Translations
- 100% Serbian
- 100% Turkish
- 100% Lithuanian
- 100% Hungarian
- 100% German
- 99% Norwegian (Bokmål)
- 99% Slovak
- 99% Portuguese (Brazil)
- 99% Czech
- 95% French
- Build
- #3798 - Build with libidn2 by default, remove support for libidn1
- Code
- config: dynamically create/delete variables
- config: unify handling of NeoMutt and user (my_) variables
- config: cache config variables used often
- speed: various speedups in parsing emails
- cleanups: lots of code cleanups
- Huge refactoring towards a separation of Mailbox/MailboxView
* Fri May 12 2023 Richard Russon <[email protected]> - 20230512-1
- BROKEN - Please use 2023-05-17 instead
* Fri Apr 07 2023 Richard Russon <[email protected]> - 20230407-1
- Features
- imap : support IMAP4 ID extension (RFC2971)
- parse: query all changed (`set`) / all (`set all`) config variables
- Bug Fixes
- lua: fix command registration
- postpone: use colours from the right mailbox
- smtp: ignore oauth if it isn't configured and not requested
- Changed Config
- New: `imap_send_id` - Send IMAP ID command when logging in
- Translations
- 100% Czech
- 100% German
- 100% Hungarian
- 100% Lithuanian
- 100% Portuguese (Brazil)
- 100% Serbian
- 100% Slovak
- 99% Polish
- Docs
- Recommend GPGME
- Build
- fix race condition in `make install`
- fallback to detect SASL manually if pkg-config fails, e.g., homebew
- Code
- libmutt: eliminate use of config variables
- fix ubsan warning
- mutt: optimize and inline mutt_str_is_email_wsp()
- progress: update ncurses only when there is actual progress
- email: Read assumed_charset outside loops
- hcache: do less work when not in use
- pager: add helper for getting $pager
- hcache: remove spurious +1 from Buffer serialization.
* Wed Mar 22 2023 Richard Russon <[email protected]> - 20230322-1
- Features
- #3372 - use DT_SLIST for charset variables
- #3383 - support viewing html with embedded images, #3383
- #3408 - account command, see the [feature page](https://neomutt.org/feature/account-cmd)
- #3411 - check that `sendmail` and `inews` don't contain shell meta characters
- #3412 - browser: add mailbox_folder_format config variable
- #3421 - enter: add function kill-whole-line
- #3414 - account command: add macOS keychain sample provider
- #3430 - account command: add GPG+JSON sample provider
- #3474 - expose italics attribute for colour scheme
- #3471 - allow `source` in hooks to point to relative paths
- #3506 - resolve alternates when subscribing/unsubscribing
- #3492 - notmuch: allow specifying configuration file
- #3547 - notmuch: allow usage of notmuch profiles
- #3524 - add GNU SASL support for authentication (`--gsasl` configure option)
- #3548 - extend colour objects to support patterns
- #3586 - detect and fixup maildirs with missing "new" and "tmp" directories
- #3634 - generate standard MIME types as application/pkcs7-* instead of legacy application/x-pkcs7-*
- #3639 - compose: add Smime: pseudo header
- #3641 - handle more X-Mutt pseudo-headers with `edit_headers`
- #3702 - use `socket_timeout` to time out read/write operations
- #3717 - allow `[fmt]` in `$folder_format`
- #3719 - respect `attribution_locale` in `indent_string` and `post_indent_string`
- #3720 - pattern: add `~K` to search Bcc, include Bcc in `~C`, `%C`, `~L`, and `~p`
- #3726 - colour postponed emails list
- #3734 - allow querying user-defined variables (`$my_var`) with `-Q`
- #3737 - dump user-defined variables (`$my_var`) with `-D`
- #3655 - generate purely random `Message-ID` headers
- #3752 - allow an empty `sidebar_divider_char`
- #3745 - fix handling and display of group addresses
- Bug Fixes
- #3386 - fix `status_on_top` to work on complex windows, e.g., attach
- #3397 - imap: fix off-by-one error causing bogus "Progress message 10/9" message
- #3423 - attach: fix segfault when viewing HTML attachment in compose mode
- #3434 - allow for longer expansions in e.g., `index_format`
- #3450 - accept unpadded base64-encoded data, as some mailers produce
- #3465 - fix hangup when trying to add email address from help screens
- #3468 - handle corrupted header caches
- #3518 - fix slowdown when changing folders
- #3828 - improve error detection for invalid `color` regexes
- #3533 - distinguish between old/new with mark_old unset
- #3539 - parse mboxes with unconventional `From` lines
- #3572 - fix hostname detection for hostname ending with a "."
- #3596 - fix truncated SMTP lines in case of very long lines
- #3600 - use `smime_sign_as` instead of `pgp_sign_as` when signing S/MIME messages
- #3697 - set `smime_sign_as` instead of `smime_default_key` when signing
- #3609 - fix wrong message being marked as read with `$pager_read_delay = 1`
- #3653 - fix negative new-mail count on maildir
- #3656 - skip zero width non-joiner character in the pager
- #3664 - handle text/vcard as not being an attachment, same as for text/x-vcard
- #3666 - fix `hdr_order` not sorting last header correctly
- #3673 - make exiting via SIGINT more graceful
- #3700 - fix `unhook index-format-hook`
- #3709 - send: delete signature when sending fails #3709
- #3727 - SMTP: try all available methods even if SASL is not compiled in
- #3730 - fix decryption issue when postponing S/MIME encrypted mails
- avoid unnecessary refreshes
- fixed a number of memory leaks and crashes
- Config
- #3604 - rename `ask_follow_up` to `ask_followup_to`
- #3659 - rename `sidebar_whitelist`/`unsidebar_whitelist` to `sidebar_pin`/`sidebar_unpin`
- #3629 - skip line rest of line after a warning
- #3670 - `vfolder_format` is now deprecated, use `folder_format`
- #3702 - rename `connect_timeout` to `socket_timeout`
- #3697 - `pgp_entry_format`: add %i expand for the key fingerprint
- #3724 - rename `attribution` to `attribution_intro` and
`post_indent_string` to `attribution_trailer`
- config variables are now properly spelled with underscores between names,
e.g., `implicit_autoview` -> `implicit_auto_view`, `message_cachedir` ->
`message_cache_dir`; the old names were kept as synonyms
- Translations
- 100% Czech
- 100% German
- 100% Hungarian
- 100% Lithuanian
- 100% Portuguese (Brazil)
- 100% Serbian
- 100% Slovak
- 100% Turkish
- 99% Spanish
- 99% Ukrainian
- 94% Polish
- 72% Catalan
- Docs
- lots of documentation cleanups and updates
- Code
- a lot of refactor to make the code more organizes, especially in these
areas: windowing, menu, browser, enter, function dispatching, key handling,
auto-completion
- fewer global variables
- removal of some unmaintained contrib code
- new maintained sample config and examples are in the `data` directory
- the contrib script mutt_oauth2.py received a lot of love
- Build
- #3548 - support building with Undefined Behaviour Sanitizer (`--ubsan` configure option)
- #3722 - generate compile_commands.json (`--compile-commands` configure option)
- use pkg-config to locate most of the 3rd party dependencies
- fix curses for netbsd
- improve our CI stack
- create libparse - parsing functions that can be easily tested
- refactor commands / icommands
* Tue Feb 14 2023 Carl George <[email protected]> - 6:20220429^1.ef0cb55-1
- Fix versioning
* Thu Jan 19 2023 Fedora Release Engineering <[email protected]> - 5:20220629-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <[email protected]> - 5:20220629-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 29 2022 Richard Russon <[email protected]> - 20220629-1
- Testing
* Fri Apr 29 2022 Richard Russon <[email protected]> - 20220429-1
- Bug Fixes
- Do not crash on an invalid use_threads/sort combination
- Fix: stuck browser cursor
- Resolve (move) the cursor after <edit-label>
- Index: fix menu size on new mail
- Don't overlimit LMDB mmap size
- OpenBSD y/n translation fix
- Generic: split out OP_EXIT binding
- Fix parsing of sendmail cmd
- Fix: crash with menu_move_off=no
- Newsrc: bugfix; nntp_user and nntp_pass ignored
- Menu: ensure config changes cause a repaint
- Mbox: fix sync duplicates
- Make sure the index redraws all that's needed
- Translations
- 100% Chinese (Simplified)
- 100% Czech
- 100% German
- 100% Hungarian
- 100% Lithuanian
- 100% Serbian
- 100% Turkish
- Docs
- add missing pattern modifier ~I for external_search_command
- Code
- menu: eliminate custom_redraw()
- modernise mixmaster
* Fri Apr 15 2022 Richard Russon <[email protected]> - 20220415-1
- Security
- Fix uudecode buffer overflow (CVE-2022-1328)
- Features
- Colours, colours, colours
- Bug Fixes
- Pager: fix pager_stop
- Merge colours with normal
- Color: disable mono command
- Fix forwarding text attachments when honor_disposition is set
- Pager: drop the nntp change-group bindings
- Use mailbox_check flags coherently, add IMMEDIATE flag
- Fix: tagging in attachment list
- Fix: misalignment of mini-index
- Make sure to update the menu size after a resort
- Translations
- 100% Hungarian
- Build
- Update acutest
- Code
- Unify pipe functions
- Index: notify if navigation fails
- Gui: set colour to be merged with normal
- Fix: leak in tls_check_one_certificate()
- Upstream
- Flush iconv() in mutt_convert_string()
- Fix integer overflow in mutt_convert_string()
- Fix uudecode cleanup on unexpected eof
* Fri Apr 08 2022 Richard Russon <[email protected]> - 20220408-1
- Features
- Compose multipart emails
- Bug Fixes
- Fix screen mode after attempting decryption
- imap: increase max size of oauth2 token
- Fix autocrypt
- Unify Alias/Query workflow
- Fix colours
- Say which file exists when saving attachments
- Force SMTP authentication if `smtp_user` is set
- Fix selecting the right email after limiting
- Make sure we have enough memory for a new email
- Don't overwrite with zeroes after unlinking the file
- Fix crash when forwarding attachments
- Fix help reformatting on window resize
- Fix poll to use PollFdsCount and not PollFdsLen
- regex: range check arrays strictly
- Fix Coverity defects
- Fix out of bounds write with long log lines
- Apply `fast_reply` to 'to', 'cc', or 'bcc'
- Prevent warning on empty emails
- Changed Config
- New default: `set rfc2047_parameters = yes`
- Translations
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Czech
- 100% Turkish
- 72% Hungarian
- Docs
- Improve header cache explanation
- Improve description of some notmuch variables
- Explain how timezones and `!`s work inside `{}`, `[]` and `()`
- Document config synonyms and deprecations
- Build
- Create lots of GitHub Actions
- Drop TravisCI
- Add automated Fuzzing tests
- Add automated ASAN tests
- Create Dockers for building Centos/Fedora
- Build fixes for Solaris 10
- New libraries: browser, enter, envelope
- New configure options: `--fuzzing` `--debug-color` `--debug-queue`
- Code
- Split Index/Pager GUIs/functions
- Add lots of function dispatchers
- Eliminate `menu_loop()`
- Refactor function opcodes
- Refactor cursor setting
- Unify Alias/Query functions
- Refactor Compose/Envelope functions
- Modernise the Colour handling
- Refactor the Attachment View
- Eliminate the global `Context`
- Upgrade `mutt_get_field()`
- Refactor the `color quoted` code
- Fix lots of memory leaks
- Refactor Index resolve code
- Refactor PatternList parsing
- Refactor Mailbox freeing
- Improve key mapping
- Factor out charset hooks
- Expose mutt_file_seek API
- Improve API of `strto*` wrappers
- Upstream
- imap QRESYNC fixes
- Allow an empty To: address prompt
- Fix argc==0 handling
- Don't queue IMAP close commands
- Fix IMAP UTF-7 for code points >= U+10000
- Don't include inactive messages in msgset generation
* Fri Oct 29 2021 Richard Russon <[email protected]> - 20211029-1
- Features
- Notmuch: support separate database and mail roots without .notmuch
- Bug Fixes
- fix notmuch crash on open failure
- fix crypto crash handling pgp keys
- fix ncrypt/pgp file_get_size return check
- fix restore case-insensitive header sort
- fix pager redrawing of long lines
- fix notmuch: check database dir for xapian dir
- fix notmuch: update index count after `<entire-thread>`
- fix protect hash table against empty keys
- fix prevent real_subj being set but empty
- fix leak when saving fcc
- fix leak after `<edit-or-view-raw-message>`
- fix leak after trash to hidden mailbox
- fix leak restoring postponed emails
* Fri Oct 22 2021 Richard Russon <[email protected]> - 20211022-1
- Bug Fixes
- fix new mail notifications
- fix pattern compilation error for ~( !~>(~P) )
- fix menu display on window resize
- Stop batch mode emails with no argument or recipients
- Add sanitize call in print mailcap function
- fix `hdr_order` to use the longest match
- fix (un)setenv to not return an error with unset env vars
- fix Imap sync when closing a mailbox
- fix segfault on OpenBSD current
- sidebar: restore `sidebar_spoolfile` colour
- fix assert when displaying a file from the browser
- fix exec command in compose
- fix `check_stats` for Notmuch mailboxes
- Fallback: Open Notmuch database without config
- fix gui hook commands on startup
- Changed Config
- Re-enable `$ssl_force_tls`
- Translations
- 100% Serbian
- 100% Lithuanian
- 100% German
- Build
- Remove Slang from the build
- Warn about deprecated configure options
* Fri Oct 15 2021 Richard Russon <[email protected]> - 20211015-1
- Security
- Fix CVE-2021-32055
- Features
- threads: implement the `$use_threads` feature
https://neomutt.org/feature/use-threads
- hooks: allow a -noregex param to folder and mbox hooks
- mailing lists: implement list-(un)subscribe using RFC2369 headers
- mailcap: implement x-neomutt-nowrap flag
- pager: add `$local_date_header` option
- imap, smtp: add support for authenticating using XOAUTH2
- Allow `<sync-mailbox`> to fail quietly
- imap: speed up server-side searches
- pager: improve skip-quoted and skip-headers
- notmuch: open database with user's configuration
- notmuch: implement `<vfolder-window-reset>`
- config: allow += modification of `my_` variables
- notmuch: tolerate file renames behind neomutt's back
- pager: implement `$pager_read_delay`
- notmuch: validate `nm_query_window_timebase`
- notmuch: make `$nm_record` work in non-notmuch mailboxes
- compose: add `$greeting` - a welcome message on top of emails
- notmuch: show additional mail in query windows
- Changed Config
- Renamed lots of config, e.g. `askbcc` to `ask_bcc`.
- Bug Fixes
- imap: fix crash on external IMAP events
- notmuch: handle missing libnotmuch version bumps
- imap: add sanity check for qresync
- notmuch: allow windows with 0 duration
- index: fix index selection on `<collapse-all>`
- imap: fix crash when sync'ing labels
- search: fix searching by Message-Id in `<mark-message>`
- threads: fix double sorting of threads
- stats: don't check mailbox stats unless told
- alias: fix crash on empty query
- pager: honor mid-message config changes
- mailbox: don't propagate read-only state across reopens
- hcache: fix caching new labels in the header cache
- crypto: set invalidity flags for gpgme/smime keys
- notmuch: fix parsing of multiple `type=`
- notmuch: validate $nm_default_url
- messages: avoid unnecessary opening of messages
- imap: fix seqset iterator when it ends in a comma
- build: refuse to build without pcre2 when pcre2 is linked in ncurses
- Translations
- 100% Serbian
- 100% Lithuanian
- 100% German
- 100% Czech
- 96% Spanish
- 92% Polish
- 85% Norwegian
- 80% French
- 78% Russian
- 74% Esperanto
- 66% Greek
* Fri Feb 05 2021 Richard Russon <[email protected]> - 20210205-1
- Features
- Add <skip-headers> to skip past message headers in pager
- Add <view-pager> function to attachment menu
- Bug Fixes
- Fix detection of mbox files with new mail
- Fix crash on collapsed thread
- Fix group-chat-reply
- Clear the message window on resize
- Do not crash on return from shell-exec if there's no open mailbox
- Abort IMAP open if condstore/qresync updates fetch fails
- Fix smtp crash on invalid $smtp_authenticators list
- Fix pager dropped input on screen resize
- Fix mime forwarding
- Check config after hooks
- Always recreate a mailbox after folder-hook
- Translations
- 88% Slovakian
- Docs
- Adjust doc to explicitly mention $count_alternative
- Restore correct "$sort_re" documentation
- Clarify pattern completion
- Man pages: Clear up "-H" and "-O"
- Build
- Update to latest acutest
- Update to latest autosetup
- Make the location of /tmp configurable
* Fri Nov 27 2020 Richard Russon <[email protected]> - 20201127-1
- Bug Fixes
- Fix crash when saving an alias
- Translations
- 70% Russian
- Code
- Remove redundant function call
* Fri Nov 20 2020 Richard Russon <[email protected]> - 20201120-1
- Security
- imap: close connection on all failures
- Features
- alias: add <limit> function to Alias/Query dialogs
- config: add validators for {imap,smtp,pop}_authenticators
- config: warn when signature file is missing or not readable
- smtp: support for native SMTP LOGIN auth mech
- notmuch: show originating folder in index
- Bug Fixes
- sidebar: prevent the divider colour bleeding out
- sidebar: fix <sidebar-{next,prev}-new>
- notmuch: fix <entire-thread> query for current email
- restore shutdown-hook functionality
- crash in reply-to
- user-after-free in folder-hook
- fix some leaks
- fix application of limits to modified mailboxes
- write Date header when postponing
- Translations
- 100% Lithuanian
- 100% Czech
- 70% Turkish
- Docs
- Document that $sort_alias affects the query menu
- Build
- improve ASAN flags
- add SASL and S/MIME to --everything