`write'++: !interactive: urlxenc() attachment paths (Ralph Corderoy)..
[s-mailx.git] / NEWS
blob0ff32c9a66de20b4e8641e49085e0e43cad7bbb4
1 S - n a i l / S - m a i l x  N e w s
2 ====================================
4 v14.9.0 ("Crow"), 201?-??-??
5 ----------------------------
7 This is a major feature release.
8   Preview 1, 2016-09-16:
9     IMAP gone, better don't ^C during macros.  Misses major
10     components of the final release.
12 I didn't know where S-mailx will truly end up with, but only knew
13 i wanted to overcome the technical shortcomings, have a better user
14 experience (regarding the software) and that i wanted to have, e.g.,
15 NNTP support.
17 During development of this release it became clear that the general
18 usage will be changed in v15, backward incompatibly, and move towards
19 sh(1)ell style command line usage, that is to say, we will turn over and
20 will start parsing regular shell tokens, instead of comma-separated
21 lists, OR space-separated lists or whatever, and will expand _any_ value
22 content sh(1)ell-compatibly, instead of not at all in general and only
23 \t and \n in some specific others etc.:
25   wysh set a='${TMPDIR}\t/' b="${TMPDIR}\t/" c=$'\${TMPDIR}\t/'
26   echo a=$a b=$b c=$c
27   a=${TMPDIR}\t/ b=/tmp\t/ c=/tmp /
29   set a='${TMPDIR}\t/' b="${TMPDIR}\t/" c=$'\${TMPDIR}\t/'
30   echo a=$a b=$b c=$c
31   a=${TMPDIR}\t/ b=${TMPDIR}\t/ c=$\${TMPDIR}\t/
33 (But don't do that).  All this is documented in COMMANDS#?.
34 Today only new commands (like `bind', `customhdr' etc.), but also
35 attachment selection, `remove' and `write' use this, others, like `set',
36 can optionally support it with a new command prefix: `wysh'.
38 Credits, in order of commit appearance: Antonio Radici, Aharon Robbins,
39 Mike Frysinger, Predrag Punosevac, Michael Convey, Hariskar,
40 Rudolf Sykora, Martin Neitzel, Gavin Troy, Salvatore Bonaccorso,
41 Todd C. Miller, Sergey Matveev, Robert Elz, Mantas Mikulėnas,
42 Respiranto, Jens Schleusener, Walter Alejandro Iglesias, Ralph Corderoy,
43 Thomas Dickey, Afan, Justin Ellingwood, Ingo Schwarze, Viktor Szépe,
44 Gaetan Bisson, Juan RP, William Yodlowsky, Hilko Bengen, Matthew Dillon,
45 Colin Watson and Donald Mugnai.
47 We welcome Antonio Radici, Mike Frysinger, Predrag Punosevac,
48 Michael Convey, Rudolf Sykora, Todd C. Miller, Robert Elz,
49 Jens Schleusener, Walter Alejandro Iglesias, Thomas Dickey, Afan,
50 Justin Ellingwood, Viktor Szépe, Juan RP, Matthew Dillon, Colin Watson
51 and Donald Mugnai in THANKS.
53 Apologies: Sergey Matveev.  Members of the Roff community which await
54 progress.
56   In the following numbers in [] reference a commit hash or a topic
57   branch name.  mdocmx(7) anchors are denoted by a number-sign #:
58   typing "^A ANCHOR" while reading the man(1)ual in a capable less(1)
59   will scroll to the manual's Point-Of-Interest, and pointing a web-
60   browser to the "#ANCHOR" of the online manual will do so, too.
61   Commits can be browsed by appending the commit hash to
62     https://git.sdaoden.eu/cgit/s-nail.git/commit/?id=
64 NOTES, ChangeLog (packager-affine)
65 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67 * This release brings backward incompatibilities, especially for
68   packagers and interactive use cases!
70   + Anything which was WANT_xy before is now OPT_xy, and
71     compiled-in paths and values, like PREFIX or PAGER, have
72     gained a VAL_ prefix (thus VAL_PREFIX and VAL_PAGER).
74     This is _not_ true for non-persistent or environmental values,
75     e.g., DESTDIR, CC, etc, and also not for the overwritable
76     program variables during configuration, e.g., $awk.
78   + SENDMAIL -> VAL_MTA, SENDMAIL_PROGNAME -> VAL_MTA_ARGV0,
79     MAILSPOOL -> VAL_MAIL.
81   + The make system now needs config..build..install or
82     all..install or tangerine (config..build..test..install).
84   + The `build' phase can be parallelized by setting the MAILJOBS
85     environment variable, e.g., "make MAILJOBS='-j 4' build".
87   + DESTDIR will no longer be tracked in the configuration.
88     (Gaetan Bisson)
90   + Set the new OPT_CROSS_BUILD to avoid feature runtime tests,
91     only compile- and link-availability will be tested.  (Juan RP)
93   + VERBOSE is implemented straight, but must be given at
94     configuration time in order to become honoured.
95     (William Yodlowsky)
97   + ADDCFLAGS / ADDLDFLAGS -> EXTRA_CFLAGS / EXTRA_LDFLAGS
99   + The LD_LIBRARY_PATH etc. building processes will skip any path
100     which contains the string "fakeroot".  (Hilko Bengen)
102   + We honour a set SOURCE_DATE_EPOCH environment variable.
103     [df4954c]  (reproducible-builds.org; Colin Watson)
105   + Packagers should have received diffs against v14.8.10
106     packaging files.
108   + These are upward compatible changes.
110 - To support RFC 1524 a.k.a. .mailcap files (see below) many
111   "trigger"-characters have been added for *pipe-TYPE/SUBTYPE*#?,
112   which may (rarely) affect existing values. [topic/mimepipe.2]
114 - *NAIL_{HEAD,TAIL}* have been obsoleted in favour of
115   *message-inject-head*#? and *message-inject-tail*#?. [7064ef2]
117 - *NAIL_HIST{FILE,SIZE}* have been obsoleted in favour of
118   *history-file*#? and *history-size*#?. [4fde608]
120 - -H#? and -L#? have been decoupled: it used to be -e#? -L#?
121   instead! [5296040]
123 - Colour support has been changed backward in- and upward (from user
124   interface side) compatibly, manual section "Coloured display"#?
125   [topic/colour.2, topic/termcap.2, topic/wysh]:
127   o New commands: `colour'#? and `uncolour'#?.
128     You can define context-sensitive, terminal-capability-sensitive
129     settings, e.g.:
131       if terminal && $features @= +colour
132         colour iso  view-header ft=bold,fg=magenta,bg=cyan
133         colour 256  view-header ft=bold,fg=208,bg=230 subject,from
134         colour mono view-header ft=bold
135         colour mono view-header ft=bold,ft=reverse subject,from
136       endif
138   o The variable *colour-pager*#? defines whether colour and font
139     attribute sequences should be generated when viewing something in
140     $PAGER.
142   o Set the variable *colour-disable*#? to turn colour off without
143     affecting established settings.
145   o It is deduced via termcap(5) (see below) a.k.a. *termcap*#?
146     whether the terminal supports colors, e.g.,
147     "s-nail -Stermcap=Co#256".
149   o Support for 256-colour terminals. (Gavin Troy)
151 - `source'#? series support shell pipes if the last character of
152    the "filename" ends with a vertical bar |, e.g. [c1c1ee5]
154       source 'gpg -qd ~/.s-nailrc-private.gpg |'
156 - Shell pipes are also supported as targets for `move'#?,
157   `copy'#? etc., e.g., [0d0c523]
159       copy . '| cat; echo huhu'
161 - Support for custom headers via the new `customhdr'#? and
162   `uncustomhdr'#? commands.  Because we don't have "scope-local"
163   environments yet there temporarily is also *customhdr*#?,
164   which can be covered by `localopts'#?. [topic/customhdr]
165   (Sergey Matveev)
167   o Support for *ORGANIZATION* has been dropped.
168     This environment variable is a non-portable invention,
169     a custom header.
171   o In compose mode `~e'#? supports _any_ header.
173 - New -:#? command line option can be used to more easily select
174   which startup files should be loaded. [5d52578]
175   (Robert Elz)
177 - `account's#? and *folder-hook*s#? now have `localopts'#?
178    enabled by default. [3fd94e3]
180    o Note: it is likely that in the future "scope-local" environments
181      will be implemented, then also covering things like shortcuts etc.,
182      and some thing like a "global" prefix to extend a setting to the
183      global namespace.  Just to make you aware.  (Think TeX.)
185 - A first simple form of compose-mode hooks has been implemented:
186   *on-compose-enter*#? and *on-compose-leave*#? can be set to
187   macros which get invoked at appropriate times, with `localopts'
188   enabled (which extend until the message is sent). [d6902e1,3fd1db4]
189   (Jens Schleusener, Rudolf Sykora)
191 - "The .netrc file"#?
193   o gained support for comments. [abf2e5d]
194     (Walter Alejandro Iglesias, Ralph Corderoy)
196   o `netrc'#? now has a "load" subcommand. [30d0bb7]
198   o the new *netrc-pipe* obsoletes OPT_AGENT and
199     *agent-shell-lookup* and can be used to load an encrypted
200     .netrc file, e.g.:
202       wysh set netrc-lookup netrc-pipe='gpg -qd ~/.netrc.gpg'
204     E.g., this is in usual .netrc syntax and thus possibly much
205     nicer than saying "source 'gpg -qd ~/.credentials.gpg |'".
207 - termcap(5) / terminfo(5) support has been changed backward in- and
208   upward (from user interface side) compatibly, please read
209   "On terminal control and line editor"#? [topic/termcap.2]
211   o OPT_TERMCAP is by default enabled.
212     The new, by default enabled, configuration option
213     OPT_TERMCAP_VIA_TERMINFO can be used to (try to) use terminfo(5)
214     instead.
216   o The variable *termcap*#? can be used to freely define or override
217     terminal capabilities, *termcap-disable*#? will disable
218     interaction with the chosen library, leaving only *termcap* in
219     charge.
221   o The builtin command line editor has been rather completely rewritten
222     to be the Mailx-Line-Editor (OPT_MLE, default yes), and supports
223     wide glyphs (if possible), infinite line lengths (2 GB) and more.
224     Tabulator expansion is no longer an option (but needs
225     fnmatch(3)).
227   o Optionally (OPT_KEY_BINDINGS, default yes) it has become possible
228     to freely define key bindings for the MLE via the new `bind'#?
229     and `unbind'#? commands.  These key bindings can make use
230     of termcap(5) and/or terminfo(5) names.  The MLE will install
231     a set of default bindings, more with OPT_TERMCAP: "bind*".
233   o OPT_EDITLINE and OPT_READLINE support have been dropped.
234     The new MLE should not miss anything.  Does it?
235     Tip: in an UTF-8 locale try "touch /tmp/hall{,öchen}" and then
236     autocomplete that: once, then ^Q, and again.
238 - `source'#? can be used in `call'ed#? macros.
239   What sounds so innocent replaced an entire machinery and got rid of
240   a brilliant idea of Kurt Shoens from the 70s, but which never worked
241   with Nail/Heirloom extensions, namely macros, and in right order.
243   Accompanying this -X#? can be used to define macros and run them
244   etc.  We're still not there, S-nail v15 -- then S-mailx! -- will
245   change the entire codebase to use SystemV signal handling, instead of
246   going the BSD way that is, like used here, both, very expensive due to
247   the immense amount of signal managing systemcalls and insecure due to
248   almost uncontrollable longjmp()s.  This should work:
250     s-nail -X'define x {' -Xversion -Xx -X'}' -X'call x'
252 - Internal and environment variables are now explicitly _defined_ and
253   _tracked_ after variable handling has been rewritten completely.
254   This results in standard-compatible behaviour.
255   [topic/okeys-attr.2]
257   o Notes:
258     + This means that, e.g., "password=NOT_SECRET s-nail" will **NOT**
259       work no more, since *password*#? is an internal variable!
261     + But if you do, e.g., "set TMPDIR=~/tmp", then this will also be
262       reflected in the program environment (it is an environment
263       variable) and thus affects child processes.
265     + Therefore we no longer have `setenv' and `unsetenv'.
267     + To integrate other (unkown) environment variables transparently
268       into our variable management, the new command `environ'#?
269       needs to be used, e.g., "environ set NEWVAR=valye" or
270       "environ link EXISTINGVAR".
272   o -u#? / *LOGNAME*#? (*USER*) handling has been redefined, and
273     "-u USER" is now exactly the same as "-f %USER", and *LOGNAME* (and
274     *USER*) is actively set to the active user. [d8f7cd7]  (Afan)
276    (*LOGNAME*#? is POSIX standardized and henceforth used and preferred
277    over *USER*, which came from BSD. [e96baaa]  (Todd C. Miller))
279   o *MAIL*#?, as the user's primary system mailbox, now supports the
280     usual file name expansions. [e337e00]
282 - In the future (at least non-message-list) argument handling will be
283   changed backward-incompatibly to be sh(1)ell compatible (and thus
284   POSIX standardized).  New commands use it already today (`bind'#?,
285   `colour'#?, `customhdr'#?), some others (most importantly,
286   `set'#?) can be forced via the new `wysh' command prefix,
287   as in: [topic/wysh]
289     wysh set message-inject-tail=$'\n--steffen'
290     bind base $'\cA,\x61' 'echo control-A and small a'
292 - We now actively manage *umask*#?: 0077 by default, but an empty
293   string will use the setting that is active upon startup.
294   Like any change to (known) environment variables this setting
295   will also be inherited by any child process. [1bd8e48]
296   (Walter Alejandro Iglesias)
298 - Anything SENDMAIL / *sendmail*-ish has been renamed to *mta*,
299   e.g., *mta*#?, *mta-arguments*#?, *mta-no-default-arguments*#?,
300   *mta-argv0*#?.
302   The reason is that in v15 we won't even have *smtp*: it is just
303   another form of MTA, and thus redundant.
305   For now we support a hack that understands a file:// URL in
306   *mta*, too, but that is the default if there is no protocol.
307   E.g.: "set mta=smtp://a:b@xy.z"
309 - The "spamd" *spam-interface*#? is obsolete.  I haven't
310   tested it since my main machine died, it is error prone since it
311   assumes internals of the spamassassin interface, and there never
312   was a speed improvement against "spamc".  (However it could react
313   upon the current "is-spam" state of a message, which "spamc"
314   doesn't allow.) [284db64]
316 - Some commands, like `set'#?, `list'#?, `mlist'#? etc.,
317   now react upon the setting of *verbose*#? and *debug*#?.
319 ChangeLog
320 ^^^^^^^^^
322 - The manual has seen another major overhaul, all the variables are now
323   documented in a single, sorted list, and many clarifications should
324   have been added. [topic/manual.10]
325   (Predrag Punosevac, Michael Convey, Hariskar, Rudolf Sykora,
326   Respiranto, Thomas Dickey, Donald Mugnai)
328 - *mime-counter-evidence*#? gained bit 4 (perform proper in-depth
329   content inspection as necessary; set to 0xE for all bits).
330   [topic/mimetype.2]  (Aharon Robbins)
332 - Maildir paths are now created recursively as necessary. [3c57c83]
333   (Justin Ellingwood)
335 - -M#? and -m#? options have been added to enforce a special
336   send mode that will flag standard input / the given file with the
337   specified / detected MIME 'Content-Type:'.  This can be used to
338   directly send, e.g., HTML log output.  Note that before v15 this
339   is a bit restricted: you are not free to do anything. [f1a775b]
340   (Viktro Szépe, Ralph Corderoy)
342 - Disallow symlinks on writable files (O_NOFOLLOW open(2)).
343   [10990e4]  (Matthew Dillon)
345 - `retain'#?, `ignore'#? etc. now differentiate in between
346   From (the From: header) and From_ (the MBOX ident).  [c83e153]
348 - `top'#? has been rewritten completely, `Top'#? is new.
349   [1dc9bb6]
351 - `features' has been dropped, `version'#? extended. [b9e4e61]
353 git(1) shortlog (edited)
354 ''''''''''''''''''''''''
356 f01291d extract_date_from_from_(): dig more invalid MBOXes (Antonio Radici)..
357 662982e Add OF_REGISTER_UNLINK, allow usage in Ftmp()
358 69bf721 *pipe-TYPE/SUBTYPE*: add "@" triggers and $NAIL_FILENAME_TEMPORARY..
359 bb5d0e2 *pipe-TYPE/SUBTYPE*: add "!" trigger ("needsterminal")
360 df8768b Add *mime-counter-evidence* bit 4 (Aharon Robbins)..
361 d3fe980 Ftmp(): drop "mode" argument (not wrong: Mike Frysinger)..
362 7abc368 Print all MIME_RELATED subparts when quoting
363 f6fbcc4 Add *mime-alternative-favour-rich*..
364 86159db nail.1: we support searching, really (Predrag Punosevac)
365 5b61a08 nail.1: talk about address lists (again) (Michael Convey)..
366 0eeffc4 nail.1: try improve states / MBOX etc. relation (Michael Convey)
367 43ea039 nail.1: what is an environment variable (Michael Convey)
368 13e0804 nail.1: fix typo (Hariskar (archlinux Wiki))
369 03d6af5 nail.1: more on sortability (Rudolf Sykora)..
370 4da9043 Not "binary", but "boolean" variables! (Predrag Punosevac)..
371 7064ef2 Add *message-inject-{head,tail}*, obsolete *NAIL_{HEAD,TAIL}*
372 4fde608 Add *history-{file,size}*, obsolete *NAIL_HIST{FILE,SIZE}*
373 36578d1 Add PS_SETFILE_OPENED (affects hooks), *bsdcompat*<>*emptystart*..
374 600d449 Drop the `inc' alias of and for `newmail'
375 5296040 Decouple -H from -L: it used to be -eL instead!
376 dad4e94 Obsolete *SYSV3*
377 c85f56d Support :d specifier for at least `from' (Martin Neitzel)..
378 7b753a8 Support `help' docstrings for `#', `-', plus..
379 30d0bb7 `netrc': add "load" subcommand to only load, not also "show"
380 b12e1ed Be more friendly when composing mails (Martin Neitzel)..
381 b50eac0 nail.1: use display/show not type/print (Michael Convey)..
382 6feafaf Add `search' alias for `from' (Predrag Punosevac)
383 a4e2612 Support 256-colour terminals (Gavin Troy)
384 16b57ab Drop `mono'+, change `colour' and `uncolour' commands..
385 cedde28 Finally: drop IMAP support!..
386 d535db0 Implement `dotmove': move the "dot" up or down by one
387 87a72c7 Ooops, always include commands, as c_cmdnotsupp if disabled!
388 c1c1ee5 `source': support shell pipes (if filename ends with "|")
389 8655aff Error framework: print UAGENT prefix (ident in pipes; Salvatore
390         Bonaccorso)
391 e96baaa Introduce $LOGNAME, the POSIX equivalent of $USER (Todd C. Miller)
392 0d0c523 Support |PIPE targets for `move', `copy' ++..
393 76e6364 Add `customhdr' (Sergey Matveev)..
394 ad58c91 Support *customhdr*, too (Sergey Matveev)..
395 6322e0a Support _any_ user header via ~e (Sergey Matveev)..
396 19b3afb Drop support for $ORGANIZATION in favour of `customhdr'
397 77d4f5c Fix SSL init order, change *ssl-rand-file* behaviour..
398 8daeda9 send.c:sendpart(): "support" malformed messages..
399 eddf684 Drop *print-all-chars*
400 f733f61 Don't set *dot* in -# batch mode
401 5d52578 Add -: command line option (Robert Elz)..
402 53b5f07 README: use git(1) --single-branch (Mantas Mikulėnas)
403 8d0c7dd Allow "-q -" in non-interactive mode; -q and -t are mutual exclusive
404 420131f Fix mispelling: can|to be send->sent (Respiranto (archlinux Wiki))
405 7f3c11f `echo': don't expand via sh(1) no more, use internal mechanism
406 ddece18 main(): verify *expandargv* value content in case of OPT_D_V
407 8d5f709 mk-conf.sh: dump final summary into config.log, too
408 0dd85b1 n_iconv_open(): use *charset-unknown-8bit* also for "binary"..
409 d5a9c17 page_or_print(): never use $PAGER unless startup complete
410 bf889e4 (Shell) Variable expansion: support hyphens in names..
411 3fd94e3 Default `localopts' to YES for `account' and *folder-hook*s!
412 983d22f `if'+: allow "if ${VARNAME}" in addition to "if $VARNAME"..
413 d6902e1 Add *on-compose-{enter,leave}* hooks (Jens Schleusener, Rudolf
414         Sykora)..
415 abf2e5d .netrc: support comments (Walter Alejandro Iglesias, Ralph Corderoy)..
416 37e0c26 nail.1: .netrc comma separator was in original Berknet parser! (Ralph
417         Corderoy)
418 7e85aa9 Drop WANT_EDITLINE support..
419 3e6aa24 make.rc: enable WANT_TERMCAP by default
420 512069b Rewrite for a generic termcap(5) interface..
421 40522c3 nail.1: use -v option to cat(1) if available (Thomas Dickey)
422 cf3ccfe Deduce colours via *termcap* instead!; support all/*..
423 64eabef Turn NCL into M(ailx) L(ine) E(ditor)..
424 adb29c3 MLE: add "mle-position" and "mle-prompt" colour mappings
425 27f3e9d Add terminfo(5) support (via WANT_TERMCAP_PREFER_TERMINFO)..
426   Note: later renamed to OPT_TERMCAP_VIA_TERMINFO
427 1aa64b6 Add WANT_KEY_BINDINGS..
428 ad61278 Add n_pager_{open,close}() -- _always_ termios(4) for $PAGER!
429 d935e65 (BWDIC!) Allow `source' in `call'ed macros..
430 c8c1393 n_lex_input(): truly support line continuation via backslash..
431 7f52ae7 make.rc+: add WANT_NOMEMDBG to allow valgrind(1)+ with DEBUG/DEVEL
432 2497240 homedir: if not $HOME, use pw_dir (of $LOGNAME or getpwuid())
433 d05aed4 mk-conf.sh: require one of (un)?setenv(3) and putenv(3)
434 94b3635 (BWDIC!) make.rc: add defaults _here_ (as VAL_xy, e.g., VAL_SENDMAIL!)
435 f0ac705 (BWDIC!) Rewrite variable handling..
436 724751e nail.1: drop `(un)?setenv' and *bsdset*; add `environ'
437 3fd1db4 Improve compose-hooks via new macro hooks..
438 f4577e6 FIX (fix?) `localopts'..
439 d8f7cd7 (BWDIC!) Redefine -u / $LOGNAME / $USER (Afan)..
440 e337e00 Support expansions in $MAIL!; more on `account's (Afan)..
441 d596d74 Compare *newfolders* case-insensitively (Justin Ellingwood)..
442 57744f9 Redefine *folder* / getfold->folder_query() / *HOME* (Justin
443         Ellingwood)..
444 3c57c83 n_path_mkdir(): create recursively as necessary (Justin Ellingwood)
445 66553bc `list': with non-WS argument, don't sort alphabetically
446 b95e6be Introduce `wysh' command prefix to change argument parser..
447 08b8f48 Only support sh(1)-style quoting for some new commands..
448 665c6f8 `customhdr': disallow using control characters in bodies
449 67c2acb (BWDIC!) Only use new sh(1)-style quoting for attachments!
450 f4b0153 (BWDIC!) Only use new sh(1)-style quoting for `write'
451 a89e1e3 `remove': use sh(1)ell-style quoting
452 858374b Drop wordexp(3), instead unroll via fnmatch(3)..
453 0945726 MLE: change HT expansion..
454 0bbe981 nail.1: fix spelling errors as by igor(1) (Ingo Schwarze)
455 f1a775b Add -M and -m options (Viktor Szépe, Ralph Corderoy)..
456 42b42da `list': include argument-type etc. if *verbose*
457 79f2053 `if'+: support sh(1)-style comments on the line..
458 1bd8e48 Add *umask*, and set actively (Walter Alejandro Iglesias)..
459 6b1cd93 Now with *umask*, just drop fchmod(2)++ calls (Walter Alejandro
460         Iglesias)
461 2b45cd0 Add *netrc-pipe*: allows e.g. encrypted .netrc files
462 af8261e Obsolete WANT_AGENT / *agent-shell-lookup* (Sorry!)
463 05f7743 Generate lowercase MIME charset=/RFC 2231 charset strings
464 ba22166 Change make targets; add $MAILJOBS; don't track $DESTDIR (Gaetan
465         Bisson)..
466 cd244b1 Add WANT_CROSS_BUILD make.rc option (Juan RP)..
467 95141f6 Tweak VERBOSE handling (William Yodlowsky)..
468 73545ad Rename ADD(C|LD)LAGS to EXTRA_(C|LD)FLAGS..
469 ca81646 make.rc, mk-conf.sh: allow y/n booleans
470 d74a18a mk-conf.sh:path_check(): skip any "fakeroot" path (Hilko Bengen)
471 7ce6a17 (BWDIC!) nail.rc: nodot, emptystart, fullnames, m-c-e=0xE; pimp PDF
472         handler
473 09912fa n_file_lock(): do not retry for EBADF / EINVAL
474 44a3be6 sendout.c:__savemail(): try to file_lock() *record*
475 5ef5261 cmd2.c:save1(): try to file_lock() target of `save'/`move'/etc.
476 10990e4 Add n_O_NOFOLLOW, disallow symlinks for writable files (Matthew
477         Dillon)..
478 c83e153 (BWDIC!) Require explicit "from_" to `retain' etc. From_ lines!
479 d7a15e4 page_or_print(): query $PAGER environment, use it
480 481c687 Allow WANT_QUOTE_FOLD to be "require"d
481 1dc9bb6 (BWDIC!) Make `top' real-life capable!  Add `Top', *topsqueeze*..
482 df4954c Add $SOURCE_DATE_EPOCH (reproducible-builds.org; Colin Watson)
483 b412ea8 mime.types: add x-lzma, x-lz4 and x-lzip MIME type extensions
484 dc92f2c savedeadletter()->sendout.c; tweak POSIX compliance (Ralph Corderoy)
485 8a3638c MLE: add `bind' and `unbind' etc...
486 4c93f66 (BWDIC!) Obsolete *sendmail*++ in favour of *mta*++; obsolete *smtp*..
487 284db64 Obsolete *spam-interface*=spamd..
488 83a24a0 boolify(): allow y/n booleans
489 61aac0f All: OPT_ not WANT_, VAL_XY not XY..
490 45d488d README: add The Mail Archive -- Gmane.org reduced to NNTP
491 48eb7da SEND_TODISP(_ALL)?: append newline if message does have no final one
492 63bf464 (BWDIC!) Drop readline(3) support..
493 863f1e8 tty.c,MLE: gracefully honour *line-editor-disable*++..
494 ae4f2df nail.1: talk on `localopts' in macros which change `account's
495 844bedb Support LEXINPUT, thus `bind', contexts..
496 b9e4e61 Drop `features', change `version', adjust make system..
497 20f3cd2 nail.1: more explicit `set' references instead of saying 'Set' (Donald
498         Mugnai)..
500 Appendix
501 ^^^^^^^^
503 The complete changelog of commits in between two versions OLD and
504 NEW can be inspected by using the git(1) `log' command:
506   $ git log --reverse --topo-order --abbrev-commit OLD..NEW
507   # Only topic branch headers (--no-merges for content commits only):
508   $ git log --oneline --reverse --topo-order --merges OLD..NEW
509   # Same, but truly accessible:
510   $ git log --oneline --reverse --topo-order --merges --parents OLD..NEW |
511     while read c1 c2 c3 c4 c5 c6; do
512       printf "%-24s: \$ git log --oneline --no-merges %s ^%s\n" \
513         "${c6}" "${c1}" "${c2}";
514     done
516 NEWS entries for the S-nail releases before v14.9.0 have been cut off
517 before release v14.9.0 and can be found in the git(1) repository:
519   v14.8.0 - v14.8.10: $ git show v14.8.10:NEWS
520   v13     -  v14.8.5: $ git show v14.8.5:NEWS
521   9.0     - 12.5    : $ git show heirloom:ChangeLog
523 For even older releases you need to look into the [timeline] branch, but
524 no changelog has been administrated for them.
526 # s-ts-mode