-$Id: NEWS,v 1.30 2018/08/01 13:46:15 schwarze Exp $
+$Id: NEWS,v 1.35 2019/10/13 14:45:17 schwarze Exp $
This file lists the most important changes in the mandoc.bsd.lv distribution.
-Changes in version 1.14.4, released on August XXX, 2018
+Changes in version 1.14.6, released on XXX XXX, 2019
+
+ --- MAJOR NEW FEATURES ---
+ * man(1) -T ascii: slowly start implementing tagging support for man(7)
+ pages: tag alphabetic arguments of .IP, .TP, and .TQ macros
+ * -T html: wrap text and phrasing elements in paragraphs unless
+ already contained in flow containers; never put them directly
+ into sections. This helps to format paragraphs with the CSS
+ class selector .Pp.
+ --- MINOR NEW FEATURES ---
+ * roff(7): implement the .break request (break out of a .while loop)
+ * if messages are shown and output is printed without a pager,
+ display a heads-up on stderr at the end because otherwise, users
+ may easily miss the messages
+ * mandoc.css: support prefers-color-scheme: dark
+ --- RELIABILITY BUGFIXES ---
+ * man(1): do not segfault if /tmp/ is not writeable
+ * tbl(7): fix a crash when the last column is only reached by spans
+ * tbl(7) -T ascii: fix a NULL pointer access on empty data cells
+ * tbl(7) -T ascii: fix a NULL pointer access on a line next to a short row
+ * -T html: fix an assertion failure caused by .ft in rare situations
+ * roff(7): fix a rare case of writing one byte past the end of the input buffer
+ --- MINOR FUNCTIONAL IMPROVEMENTS ---
+ * man(1) -h: for pages lacking a SYNOPSIS, show the NAME section
+ * man(1): when the first argument starts with a digit, optionally
+ followed by a letter, and at least one more argument follows,
+ interpret the first argument as a section name even when additional
+ characters follow after the digit and letter
+ * man(1): with a specific section requested, try harder to find
+ the best match; use this order of preference:
+ 1. The section in both the directory name and the file name matches exactly.
+ 2. The section in the file name matches exactly.
+ 3. The section in the directory name matches exactly.
+ 4. Neither of them matches exactly.
+ * man(1): if no tags were generated at all, unlink(2) the empty
+ tags file as soon the condition can be detected and do not pass
+ it to less(1)
+ * makewhatis(8): handle both dangling symlinks and .so links
+ in manual page directories more gracefully
+ * man.cgi(8): for invalid queries and for valid queries returning
+ no result, return the appropriate 40x status code rather than 200
+ * tbl(7) -T utf8: improved rendering of horizontal lines
+ * mdoc(7) -T html: format .Nd with <span> rather than <div>
+ * mdoc(7) -T lint: do not warn about $Mdocdate: October 13 2019 $ without an actual date
+ * mdoc(7) -T lint: do not complain about function types of the
+ form "ret_type (fname)(args)", but otherwise check names more strictly
+ --- MINOR BUGFIXES ---
+ * man(1): do the search for each name independently, and show the
+ results in the order of the command line argument
+ * man(1): when asking for a single manual page by name, prefer
+ file name matches over .Dt/.TH matches over first NAME matches
+ over later NAME matches, but do not change the ordering for
+ apropos(1) nor for man -a
+ * roff(7): when calling an empty macro, do not clobber existing arguments
+ * mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol>
+ * -T html: remove some spurious line breaks, in particular inside <pre>
+ --- STRUCTURAL IMPROVEMENTS ---
+ * move some code out of the giant main() into separate functions
+ doing one well-defined task each
+ * clearly separate parser state (struct curparse) and formatter state
+ (struct outstate), don't mix them in the same struct
+ * in the HTML formatter, assert(3) that no HTML nesting violation occurs
+ * let html_close_paragraph() close any phrasing context
+ --- THANKS TO ---
+ * Marc Espie (OpenBSD) for a patch and for suggesting a feature impovement
+ * Anton Lindqvist (OpenBSD) for a patch
+ * Armin Besirovic for a contribution to mandoc.css
+ * Lorenzo Beretta for three bug reports
+ and for suggesting two feature impovements
+ * Anthony Bentley (OpenBSD) for three bug reports
+ and for suggesting a feature impovement
+ * Michael Stapelberg (Debian) and Jan Stary for a bug report
+ and for suggesting a feature impovement
+ * Stephen Gregoratto for two bug reports
+ * Brian Callahan, Klemens Nanni (OpenBSD), Jason Thorpe (NetBSD),
+ Yuri Pankov (FreeBSD), and Edgar Pettijohn for bug reports
+ * Theo Buehler (OpenBSD), Leah Neukirchen (Void Linux), Colin Watson (Debian),
+ and John Gardner for suggesting feature impovements
+ * TJ Townsend (OpenBSD) for help with CSS
+ * Christos Zoulas (NetBSD) for a report regarding portability
+ * Michal Nowak for reporting four code style issues
+
+Changes in version 1.14.5, released on March 10, 2019
+
+ --- MAJOR NEW FEATURES ---
+ * apropos(1): improve POSIX compliance by accepting case-insensitive
+ extended regular expressions by default
+ * new -O tag[=term] output option (open a page at the definition of a term)
+ * tbl(7) -T html: spanning and horizontal and vertical alignment of cells
+ * tbl(7) -T html: draw lines on the edges of table cells
+ * tbl(7) -T utf8: render lines with the Unicode box drawing characters
+ * mandoc is now able to handle the manual pages of the groff package.
+ --- MINOR NEW FEATURES ---
+ * -T html: new option -O toc (table of contents)
+ * -T html: second argument to -O man to support local and remote links
+ * mdoc(7) .Bd -centered now fills the text contained in it
+ * man-ext .SY and .YS macros (synopsis block)
+ * man-ext .TQ macro (tagged paragraph without vertical space before it)
+ * tbl(7) \& explicit alignment indicator
+ * roff(7) .shift, .while, and .return requests
+ * roff(7) .char request (output glyph definition)
+ * roff(7) .nop request (no operation)
+ * roff(7) .ft request: handle the CB, CI, and CR fonts
+ * roff(7) .if c conditional (character available)
+ * roff(7) \\$@ escape sequence (insert all macro arguments, quoted)
+ * roff(7) \*(.T predefined string (interpolate output device name)
+ * roff(7) \[charNNN] escape sequence (for printable ASCII characters)
+ * roff(7) \# escape sequence (line continuation with comment)
+ --- HTML OUTPUT SYNTAX CORRECTIONS ---
+ * Render .br and \p as <br/>, not as an empty <div>.
+ * Render .Pp and .PP as <p> and automatically close it when needed.
+ * Stop writing empty list elements for non-compact .Bl -tag lists.
+ * Do not put <p> inside <a> if .UR or .MT contain .PP.
+ * Implement tooltips purely in CSS rather than abusing title= attributes.
+ --- MINOR FUNCTIONAL IMPROVEMENTS ---
+ * many improvements to the handling of fill and no-fill mode
+ * tbl(7): better column widths in the presence of horizontal spans
+ * several minor improvements to escape sequence handling
+ * several minor improvements to manual font handling
+ * portability: autodetect need for _GNU_SOURCE or _OPENBSD_SOURCE
+ * portability: autodetect whether less(1) supports the -T option
+ * large numbers of bugfixes of diverse kinds
+ --- STRUCTURAL IMPROVEMENTS ---
+ * Disentangle eqn(7) and tbl(7) from other parser header files,
+ and clean up some parser data structures.
+ * Substantially simplify error and warning message infrastructure.
+ --- THANKS TO ---
+ * John Gardner for crucial help implementing tooltips in CSS.
+ * Alexander Bluhm, Raphael Graf, Ted Unangst (OpenBSD)
+ and Daniel Sabogal (Alpine Linux) for patches.
+ * Anthony Bentley and Jason McIntyre (OpenBSD) for documentation patches,
+ suggesting new features, bug reports, and useful discussions.
+ * Kyle Evans and Baptiste Daroussin (FreeBSD) for minor patches.
+ * Pali Rohar for suggesting multiple new features and for reporting
+ several bugs and missing features.
+ * Klemens Nanni (OpenBSD) for suggesting multiple new features.
+ * Kristaps Dzonsons (bsd.lv), Marc Espie (OpenBSD), Adam Kalisz,
+ and Laura Morales for suggesting new features.
+ * Wolfram Schneider and Yuri Pankov (FreeBSD) for reporting missing features.
+ * Edward Tomasz Napierala (FreeBSD) for suggesting a feature improvement.
+ * Thomas Klausner (NetBSD) and Sevan Janiyan (SmartOS)
+ for bug reports and release testing.
+ * Bryan Steele, Janne Johansson, Kurt Mosiejczuk, Mike Belopuhov, Theo
+ Buehler, Todd Miller (OpenBSD), Andreas Gustafsson, Christos Zoulas,
+ Robert Elz (NetBSD), Kurt Jaeger (FreeBSD), Fabio Scotoni, Kelvin
+ Sherlock, Mark Harris, Orestis Ioannou, Raf Czlonka, and Sean Farrell
+ for bug reports.
+ * Ulrich Spoerlein (FreeBSD), Leah Neukirchen (Void Linux),
+ Matej Cepl (openSUSE), and Jan Stary (MacOS X) for release testing.
+ * Brian Callahan and Stuart Henderson (OpenBSD) for help
+ with the OpenBSD groff port.
+ * Bertrand Garrigues, Branden Robinson, Ralph Corderoy, and Werner
+ Lemberg (GNU troff) for checking groff patches.
+ * Scott Cheloha, Theo de Raadt (OpenBSD)
+ and Natanael Copa (Alpine Linux) for useful discussions.
+
+Changes in version 1.14.4, released on August 8, 2018
--- MAJOR NEW FEATURES ---
* In ASCII output, render mathematical symbols and greek letters
* Only activate UTF-8 output when the user really selected UTF-8,
not some other multibyte character encoding.
* Prevent excessive .ll arguments from generating infinite output.
+ * Fix out of bounds accesses to parse buffers that could happen when
+ using renamed or user defined macros after roff(7) conditionals.
* Avoid an assertion failure in certain .Bl -column lists.
* Avoid a NULL pointer access on deroff() failure after '.SS ""'.
* Fix a segfault that could be triggered by two invalid .Dt macros.
* Colin Watson (man-db) for feedback on man-db semantics.
* Jason McIntyre (OpenBSD) for lots of feedback and suggestions
on diagnostic messages and on the documentation.
- * Thomas Klausner (NetBSD) for suggesting two new style messages,
- one new feature, and for two bug reports.
+ * Thomas Klausner (NetBSD) for suggesting two new style messages
+ and one new feature, for two bug reports, and for release testing.
* Leah Neukirchen (Void Linux) for suggesting a new style message,
- four bug reports, and release testing.
+ five bug reports, and release testing.
* Anthony Bentley (OpenBSD) for reporting multiple bugs and missing
features.
* Paul Irofti (OpenBSD) and Nate Bargmann for suggesting new features.
- * Christian Weisgerber, Jonathan Gray, Stuart Henderson, Ted Unangst
- (OpenBSD), Takeshi Nakayama (NetBSD), Michael Stapelberg (Debian),
+ * Michael Stapelberg (Debian) for bug reports and release testing.
+ * Christian Weisgerber, Jonathan Gray, Stuart Henderson,
+ Ted Unangst (OpenBSD), Takeshi Nakayama (NetBSD),
Anton Lazarov, Jakub Klinkovsky, Jan Stary, Jesper Wallin,
Will Backmam, and Wolfgang Mueller for bug reports.
* Sevan Janiyan (NetBSD) for additions to lib.in.
for documentation improvements.
* Laura Morales and Raf Czlonka for questions resulting in better
documentation.
+ * Yuri Pankov (illumos) for release testing.
Changes in version 1.14.3, released on August 5, 2017