version 1.15, 2017/02/10 15:45:28 |
version 1.41, 2021/09/25 15:42:08 |
|
|
$Id$ |
$Id$ |
|
|
This file lists the most important changes in the mdocml.bsd.lv distribution. |
This file lists the most important changes in the mandoc.bsd.lv distribution. |
|
|
Changes in version 1.14.1, released on February XXX, 2017 |
Changes in version 1.14.6, released on September 23, 2021 |
|
|
--- MAJOR NEW FEATURES --- |
--- MAJOR NEW FEATURES --- |
|
* mdoc(7): automatic tagging improved in many respects |
|
* mdoc(7): new .Tg (tag) macro to explicitly mark a place as defining a term |
|
* man(7): implement some automatic tagging support |
|
* man(1): let -w without argument show the manpath, like in man-db and man-1.6 |
|
* -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. |
|
* man.conf(5): remove support for the "_whatdb" configuration directive |
|
that was deprecated in 2015; please use "manpath" instead |
|
--- MINOR NEW FEATURES --- |
|
* man(1): switch the default pager from "more -s" to "less" |
|
* man(1): in the fallback code to look for manual pages without using |
|
mandoc.db(5), accept files "man<one-digit-section>/<name>.<full-section>" |
|
in addition to the already supported "man<full-section>/name.[01-9]*" |
|
* 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 |
|
* man.cgi(8): add a Content-Security-Policy HTTP header |
|
* man.cgi(8): switch off autocomplete and autocapitalize |
|
* mandoc.css: support prefers-color-scheme: dark |
|
* -T html: add meta viewport element to help mobile devices |
|
* -T html -O tag: let this pass a file:// URI to the pager |
|
* tbl(7): implement the "nospaces" option |
|
* tbl(7) -T html: implement the "a" (em indent) layout specification |
|
* tbl(7) -T html: implement the "b" (bold) and "i" (italic) layout modifiers |
|
* tbl(7): support two-character font names in the layout font modifier |
|
* tbl(7) -T html: support horinzontal rulers in individual cells |
|
* tbl(7) -T tree: print more details about columns, options, rows, and cells |
|
* roff(7): implement the .break request (break out of a .while loop) |
|
* roff(7): support the CB and CI fonts in \f and .ft |
|
* -T lint: new STYLE message if a file name extension contradicts .Dt/.TH |
|
* -T lint: new STYLE message about overlong text lines |
|
* -W style: check .Xr links along the full manpath |
|
--- RELIABILITY BUGFIXES --- |
|
* man(1): do not segfault if /tmp/ is not writeable |
|
* man(1): do not access a NULL pointer when both -l and -w are given |
|
* makewhatis(8): do not crash when a manpath directory contains |
|
a symbolic link that points to a directory |
|
* man(7): fix an assertion failure caused by doubly nested next-line scopes |
|
* tbl(7): fix a crash when the last column is only reached by spans |
|
* tbl(7): fix a NULL pointer access in some cases of two spans on one row |
|
* 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 |
|
* tbl(7): fix an assertion failure caused by excessive spacing modifiers |
|
* tbl(7): fix an infinite loop for some overlapping horizontal spans |
|
* roff(7): fix a rare case of writing one byte past the end of the input buffer |
|
* roff(7): do not call abort(3) when \*[.T] is encountered |
|
* roff(7): fix an assertion failure caused by a macro inside .ce .if |
|
* roff(7): fix assertion failures for .ti and .po with excessive arguments |
|
* roff(7): avoid near-infinte output for .ce inside explicit no-fill mode |
|
* -T ascii/utf8: fix assertion failures caused by excessive spacing |
|
* -T html: fix an assertion failure caused by .ft in rare situations |
|
* -T man: fix an assertion failure caused by tbl(7) and eqn(7) input |
|
--- PORTABILITY IMPROVEMENTS --- |
|
* rename HOMEBREWDIR to READ_ALLOWED_PATH, allow it to contain more than |
|
one directory, and explain how to use that for NixOS and GNU Guix Linux |
|
* configure: stop trying to ask make(1) what the default compiler is |
|
because that test was too fragile; just use "cc" by default |
|
* configure: various simplifications and improved robustness |
|
* configure: only compile compat_*.c implementations that are needed |
|
* configure: provide feature tests for __attribute__(()) and mkstemps(3) |
|
* compat_*: sync with upstreams for security, functionality, and style |
|
* in regress.pl, avoid the non-portable options sed(1) -i and echo(1) -n |
|
* in the regression suite, avoid file names that differ only by case |
|
--- 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 as 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 |
|
* mdoc(7): let .Dd concatenate all arguments and default to the empty string |
|
* mdoc(7): convert ".Fl Fl" to ".Fl \-" during validation, improving -T html |
|
* mdoc(7): improve output of .At 32v |
|
* man(7): no longer print multiple blank lines before NAME and page footer |
|
* tbl(7) -T utf8: improved rendering of horizontal lines |
|
* tbl(7) -T html: in "n" cells, align by padding numbers on the right |
|
* tbl(7): no longer leak tabulator settings to subsequent roff(7) code |
|
* mdoc(7) -T html: for .Bl -tag, use "column-count: 1" rather |
|
than "overflow: auto" to avoid the ugly side effects |
|
* mdoc(7) -T html: render .Bd -unfilled in proportionally-spaced font |
|
* mdoc(7) -T html: format .Nd with <span> rather than <div> |
|
* mdoc(7) -T lint: do not warn about Mdocdate 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 |
|
* -T html: append .html suffix to temporary files to please browsers |
|
* -T markdown: print a BAGARG message if called on man(7) input |
|
--- 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): escape shell wildcard characters in name arguments before glob(3) |
|
* 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 |
|
* man(1): correctly extract the section name from the file name extension |
|
of gzipped manual page files |
|
* makewhatis(8): fix file type tests putting wrong data into mandoc.db(5) |
|
* man.cgi(8): fix section number in the <title> element for preformatted pages |
|
* tbl(7): correct handling of T& after horizontal rulers in the layout |
|
* tbl(7): correct column widths if rows have different numbers of cells |
|
* tbl(7): empty columns are 1n wide rather than 0n |
|
* tbl(7): correctly calculate required column widths for tables containing |
|
cells that horizontally span columns which contains "n" (number) formatted |
|
cells on other rows |
|
* tbl(7): skip escape sequences when looking for column separators |
|
* eqn(7): skip whitespace before tokens |
|
* roff(7): when calling an empty macro, do not clobber existing arguments |
|
* roff(7): recognize \} on lines closing a macro definition request |
|
* roff(7): do not throw a bogus warning for "'br\}" and similar lines |
|
* roff(7): stop generating comment nodes when encountering the first content |
|
* mandoc_char(7): make \0 (digit-width space) non-breaking |
|
* mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol> |
|
* mdoc(7) -T html: display straight quotes, not curly quotes, for .Qq/.Qo |
|
* -T html: remove some spurious line breaks, in particular inside <pre> |
|
* -T html: use <br/> for a space character at the beginning of an input line |
|
* -T html: use ~%d for ordinal fragment suffixes, reserve '~' for that purpose |
|
--- STRUCTURAL IMPROVEMENTS --- |
|
* introduce the concept of semantically transparent syntax tree nodes, |
|
allowing improved decisions in various validators and formatters |
|
* 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 --- |
|
* Anthony Bentley and Klemens Nanni (OpenBSD) for many patches and bug |
|
reports, for useful discussions, and for checking patches |
|
* Anton Lindqvist (OpenBSD) for two patches and a bug report |
|
* Marc Espie (OpenBSD) for a patch, many bug reports, and useful discussions |
|
* Lukas Epple (NixOS) for a patch, bug reports, suggesting a minor |
|
portability feature, checking patches, and extensive release testing |
|
* Abel Romero Perez for a patch, a bug report, and suggesting a new feature |
|
* nabijaczleweli for a patch and for suggesting feature improvements |
|
* Jonathan Gray (OpenBSD) for a patch and for bug reports |
|
* Otto Moerbeek (OpenBSD) and Alexander Gromnitsky for a patch |
|
* Armin Besirovic for a contribution to mandoc.css |
|
* Jason McIntyre (OpenBSD) for manual page patches, suggesting a new feature, |
|
checking many patches, and useful discussions |
|
* Martin Vahlensieck for a manual page patch and reporting a code style issue |
|
* Frederic Cambus and Ian Sutton (OpenBSD) for a manual page patch |
|
* Jan Schreiber for many bug reports found with afl(1) |
|
* G. Branden Robinson (GNU troff) for several bug reports, feature |
|
suggestions, and for checking many groff patches |
|
* Michael Stapelberg (Debian) for several bug reports and feature |
|
suggestions, and for extensive release testing |
|
* Ian Ropers, Lorenzo Beretta, and Oliver Corff for several bug reports |
|
and feature suggestions |
|
* Stephen Gregoratto for several bug reports |
|
* Theo de Raadt (OpenBSD) for two bug reports, checking a patch, |
|
and a useful discussion |
|
* Thomas Klausner (NetBSD) for two bug reports and for release testing |
|
* Andreas Kahari and Jason A. Donenfeld for two bug reports |
|
* Soeren Tempel (Alpine Linux) for a bug report, suggesting a feature |
|
improvement, and checking two patches |
|
* Aman Verma, Jan Stary, and John Gardner for a bug report |
|
and for suggesting a feature impovement |
|
* Todd Miller (OpenBSD) for a bug report, checking a patch, |
|
and a useful discussion |
|
* Andrew Fresh, Brian Callahan, Christian Weisgerber, Paul de Weerd (OpenBSD), |
|
Havard Eidnes, Jason Thorpe (NetBSD), Yuri Pankov (FreeBSD), |
|
Bjarni Ingi Gislason, Chris Bennett, Edgar Pettijohn, Eldred Habert, |
|
Jamie Landeg-Jones, Kazuo KUROI, and Wynn Wolf Arbor for a bug report |
|
* Theo Buehler (OpenBSD) for suggesting two feature impovements |
|
and for checking a patch |
|
* Leah Neukirchen (Void Linux) for suggesting a feature impovement |
|
and for release testing |
|
* Colin Watson (Debian) for suggesting a feature impovement |
|
and for checking groff patches |
|
* Matej Cepl (SUSE Linux), Matthew Martin, Steffen Nurpmeso, |
|
and Tim Baumgard for suggesting a feature impovement |
|
* Christos Zoulas (NetBSD) for a report regarding portability |
|
* Daniel Dickman (OpenBSD) for suggesting a portability improvement |
|
* Werner Lemberg (GNU troff) and Douglas McIlroy |
|
for reporting bugs in manual pages |
|
* Baptiste Daroussin and Eygene Ryabinkin (FreeBSD) |
|
for an additional regression test |
|
* Michal Nowak for reporting several code style issues |
|
* TJ Townsend (OpenBSD) for help with CSS |
|
* Sevan Janiyan (Viewpoint Linux) and Robert Mustacchi (Illumos) |
|
for extensive release testing |
|
* Job Snijders, Kinichiro INOGUCHI, and Martijn van Duren (OpenBSD) |
|
for checking patches |
|
* Bertrand Garrigues and Ralph Corderoy (GNU troff) for checking groff patches |
|
|
|
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 |
|
as transliterations conveying the characters' meanings rather |
|
than trying to imitate their shape. Consequently, such characters |
|
can now be used in portable manual pages. All the same, please |
|
limit their use to contexts where they really matter, for example |
|
when showing complicated mathematical formulae. |
|
* First steps towards better support for small screens in HTML |
|
output (responsive design): avoid most style= attributes, in |
|
particular all hard-coded indentations and column widths, and |
|
provide a better mandoc.css style sheet with a @media query, |
|
using em units throughout, and avoiding redundancy in selectors. |
|
* Better HTML output with some more fitting HTML elements, eliminating |
|
needless class= attributes, and avoiding various HTML syntax errors |
|
(element nesting, URL-fragment syntax, duplicate id= attributes). |
|
--- MINOR NEW FEATURES --- |
|
* When a man(1) argument contains a slash, imply -l like in man-db. |
|
* Use TIOCGWINSZ to reduce the default -Owidth and -Oindent during |
|
interactive use on terminals narrower than 79 columns. |
|
* Generated PostScript files are now more than 50% smaller. |
|
* Terminal rendering of eqn(7) is improved in several respects. |
|
* Simplified and nicer output from the mdoc(7) .Lk macro, formatting |
|
all links in-line, even long ones. |
|
* roff(7) \n+ and \n- numerical register auto-increment and -decrement |
|
* roff(7) .nr optional third argument (auto-increment step size) |
|
* Autodetect in ./configure whether the compiler can use -W and -static, |
|
allowing to build on Solaris 10 and 11 without any configure.local. |
|
--- RELIABILITY BUGFIXES --- |
|
* 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. |
|
* Fix two syntax errors in generated PDF files. |
|
* Properly state the page size in generated PostScript files. |
|
* Close a memory leak caused by missing gzclose(3). |
|
* Fix misformatting of man(7) documents lacking .SH macros |
|
in PostScript and PDF output. |
|
* And many minor bugfixes. |
|
--- THANKS TO --- |
|
* Marc Espie (OpenBSD) for implementing the size reduction of |
|
PostScript files, one additional patch for code simplification, |
|
and two bug reports. |
|
* Theo Buehler (OpenBSD) for a bugfix patch, |
|
and Theo de Raadt (OpenBSD) for checking it. |
|
* John Gardner for more than a dozen suggestions regarding HTML output. |
|
* Mike Williams for teaching me how to use %%DocumentMedia and |
|
setpagedevice in PostScript files. |
|
* Werner Lemberg (groff) for feedback on mdoc(7) language changes. |
|
* 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 |
|
and one new feature, for two bug reports, and for release testing. |
|
* Leah Neukirchen (Void Linux) for suggesting a new style message, |
|
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. |
|
* 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. |
|
* George Brown for suggesting code simplifications. |
|
* David Coppa, Igor Sobrado (OpenBSD), and Alexander Kuleshov |
|
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 |
|
|
|
--- BUG FIXES --- |
|
* man(7): Do not crash with out-of-bounds read access to a constant |
|
array if .sp or a blank line immediately precedes .SS or .SH. |
|
* mdoc(7): Do not crash with out-of-bounds read access to a constant |
|
array if .sp or a blank line precede the first .Sh macro. |
|
* tbl(7): Ignore explicitly specified negative column widths rather than |
|
wrapping around to huge numbers and risking memory exhaustion. |
|
* man(1): No longer use names that only occur in the SYNOPSIS section. |
|
Gets rid of some surprising behaviour and bogus warnings. |
|
--- THANKS TO --- |
|
Leah Neukirchen (Void Linux), Markus Waldeck (Debian), |
|
Peter Bui (nd.edu), and Yuri Pankov (illumos) for bug reports. |
|
|
|
Changes in version 1.14.2, released on July 28, 2017 |
|
|
|
--- MAJOR NEW FEATURES --- |
|
* New mdoc(7) -Tmarkdown output mode. |
|
* For -Thtml, implement internal hyperlinks pointing to authoritative |
|
definitions of various syntax elements, similar to the ctags(1)-like |
|
less(1) :t internal searching in terminal mode. |
|
* Provide a superset of the functionality of the former mdoclint(1) |
|
utility and a new -Wstyle message level with several new messages, |
|
including validity checking of .Xr cross references. |
|
* tbl(7): Implement automatic line breaking inside individual table |
|
cells, and several other formatting improvements. |
|
* eqn(7): Complete rewrite of the lexer, resulting in several bugfixes. |
|
* Continue parser unification, in particular allowing generation |
|
of syntax tree nodes on the roff(7) level, allowing implementation |
|
of many additional roff requests. |
|
--- REMOVED FUNCTIONALITY --- |
|
* Delete the manpage(1) utility. It was never enabled in any release. |
|
* Delete the -Txhtml command line option. It has been an obsolete |
|
alias for the -Thtml output mode for more than two years. |
|
--- MINOR NEW FEATURES --- |
|
* -Tlint now puts parser messages on stdout instead of stderr, |
|
making commands like "man -l -Tlint *.1" useful. |
|
* mdoc(7): Various .Lk formatting improvements. |
|
* mdoc(7) -Thtml: Better CSS for .Bl lists. |
|
* man(7): Implement the .MT/.ME block macro (mailto hyperlink). |
|
* man(7): Implement the .DT macro (restore default tab positions). |
|
* man(7): Improved support for manuals generated with reStructuredText |
|
by partial support for the \n[an-margin] number register. |
|
* man(7) -Thtml: Support deep linking to .SH and .SS headers. |
|
* tbl(7): Implement the "allbox" table option. |
|
* tbl(7): Implement the column spacing and the 'w' (minimum column |
|
width) layout modifiers. |
|
* tbl(7): Significant improvements of the manual page. |
|
* eqn(7): Much improved font selection, including recognition of |
|
well-known function names, and a few other formatting improvements. |
|
* eqn(7) -Thtml: Use <mn> and <mo> in addition to <mi>. |
|
* roff(7): Implement the .ce (centering), .mc (margin character), |
|
.rj (right justify), .ta (define tab stops), .ti (temporary indent), |
|
.als (macro alias), .ec and .eo (escape character control), |
|
.po (page offset), and .rn (macro rename) requests. |
|
* roff(7) .am: Implement appending to mdoc(7) and man(7) macros. |
|
* roff(7): implement the \h (horizontol motion), \l (horizontal |
|
line drawing), and \p (break output line) escape sequences, |
|
and also several additional character escape sequences. |
|
* roff(7): Implement the 'd' conditional (macro or string defined). |
|
* man.cgi(8) now uses pledge(2), too. |
|
* regress.pl(1): simpler user interface, better summary output, |
|
simpler code, and no more recursion. |
|
--- THANKS TO --- |
|
* Anthony Bentley (OpenBSD) for the implementation of .MT/.ME, |
|
reports of many bugs and missing features, and suggestions |
|
for a number of feature and documentation improvements. |
|
* Sebastien Marie (OpenBSD) for two source code patches and |
|
for some useful discussions. |
|
* Florian Obser (OpenBSD) for a bugfix patch and a bug report. |
|
* Jonathan Gray (OpenBSD) for several bug reports from afl(1) |
|
and several more from static analysis tools. |
|
* Theo Buehler (OpenBSD) for several bug reports, most from afl(1). |
|
* Jason McIntyre (OpenBSD) for many useful discussions about a |
|
wide variety of topics, lots of continuous testing, a number of |
|
bug reports, and some suggestions for messages and documentation. |
|
* Thomas Klausner (NetBSD) for lots of help while migrating |
|
mdoclint(1) functionality to mandoc -Tlint, for suggesting |
|
several useful new messages, and for release testing. |
|
* Reyk Floeter (OpenBSD) and Vsevolod Stakhov (FreeBSD) for |
|
suggesting a markdown output mode. |
|
* Thomas Guettler for suggesting -Thtml internal hyperlinks. |
|
* Yuri Pankov (Illumos) for inspiring new warning messages and |
|
for extensive release testing. |
|
* Anton Lindqvist and TJ Townsend (both OpenBSD) and Jan Stary |
|
for multiple bug reports. |
|
* Leah Neukirchen (Void Linux) for bug reports and release testing. |
|
* Michael Stapelberg (Debian) for suggesting feature improvements |
|
and for release testing. |
|
* Martin Natano and Theo de Raadt (both OpenBSD), Andreas Voegele, |
|
Gabriel Guzman, Gonzalo Tornaria, Markus Waldeck, and Raf Czlonka |
|
for bug reports. |
|
* Antoine Jacoutot (OpenBSD) and Steffen Nurpmeso for suggesting |
|
feature improvements. |
|
* Dag-Erling Smoergrav (FreeBSD) for inspiring new warning messages. |
|
* Ted Unangst and Marc Espie (OpenBSD) for providing useful ideas. |
|
* Svyatoslav Mishyn (Crux Linux) for release testing. |
|
* Carsten Kunze (Heirloom roff) for help keeping mandoc and groff |
|
compatible and for committing some of my patches to groff. |
|
|
|
Changes in version 1.14.1, released on February 21, 2017 |
|
|
|
--- MAJOR NEW FEATURES --- |
* apropos(1): Reimplement complete semantic search functionality |
* apropos(1): Reimplement complete semantic search functionality |
without the dependency on SQLite3, using only POSIX APIs. |
without the dependency on SQLite3, using only POSIX APIs. |
This comes with a completely new mandoc.db(5) file format. |
This comes with a completely new mandoc.db(5) file format. |
Line 32 Changes in version 1.14.1, released on February XXX, 2 |
|
Line 483 Changes in version 1.14.1, released on February XXX, 2 |
|
* mdoc(7): Warn about .Xr lacking the second argument (section). |
* mdoc(7): Warn about .Xr lacking the second argument (section). |
* mdoc(7): Warn about violations of the rule "new sentence, new line". |
* mdoc(7): Warn about violations of the rule "new sentence, new line". |
* roff(7): Warn about trailing whitespace at the end of comments. |
* roff(7): Warn about trailing whitespace at the end of comments. |
|
* mdoc(7): Improve rendering of double quotes. |
* mdoc(7): Always do text production in the validator, never in the |
* mdoc(7): Always do text production in the validator, never in the |
formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1) |
formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1) |
and also makes -Ttree output more useful. |
and also makes -Ttree output more useful. |
Line 40 Changes in version 1.14.1, released on February XXX, 2 |
|
Line 492 Changes in version 1.14.1, released on February XXX, 2 |
|
--- RELIABILITY BUGFIXES --- |
--- RELIABILITY BUGFIXES --- |
* man(1): Make "man -l" work with standard input from a pipe or file, |
* man(1): Make "man -l" work with standard input from a pipe or file, |
as long as standard output is a terminal. |
as long as standard output is a terminal. |
|
* man(7): Fix out of bounds read access if a text node immediately |
|
preceded the first .SH header. |
* mdoc(7): Fix out of bounds read access for .Bl without a type |
* mdoc(7): Fix out of bounds read access for .Bl without a type |
but with a width. |
but with a width. |
* mdoc(7): Fix out of bounds read access for .Bl -column starting |
* mdoc(7): Fix out of bounds read access for .Bl -column starting |
Line 49 Changes in version 1.14.1, released on February XXX, 2 |
|
Line 503 Changes in version 1.14.1, released on February XXX, 2 |
|
* man(1): Fix NULL dereference when the first of multiple pages |
* man(1): Fix NULL dereference when the first of multiple pages |
shown was preformatted. |
shown was preformatted. |
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
|
caused by partial implicit macros inside .Bl -column table cells. |
|
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
for macro sequences like .Bl .Bl .It Bo .El .It. |
for macro sequences like .Bl .Bl .It Bo .El .It. |
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
caused by .Ta following a nested .Bl -column breaking another block. |
caused by .Ta following a nested .Bl -column breaking another block. |
|
* mdoc(7): Fix syntax tree corruption sometimes leading to NULL |
|
dereference caused by indirectly broken .Nd or .Nm blocks. |
* mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns. |
* mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns. |
|
* mdoc(7): Fix NULL dereference in some specific cases of a |
|
block-end macro calling another block-end macro. |
* mdoc(7): Fix NULL dereference if the only child of the head |
* mdoc(7): Fix NULL dereference if the only child of the head |
of the first .Sh was an empty in-line macro. |
of the first .Sh was an empty in-line macro. |
|
* eqn(7): Fix NULL dereference in the terminal formatter |
|
for empty matrices and empty square roots. |
* mdoc(7): Fix an assertion failure for a .Bd without a type that |
* mdoc(7): Fix an assertion failure for a .Bd without a type that |
breaks another block. |
breaks another block. |
|
* mdoc(7): Fix an assertion failure that happened for some .Bl -column |
|
lists containing a column width of "-4n", "-3n", or "-2n". |
* mdoc(7): Fix an assertion failure caused by .Bl -column without .It |
* mdoc(7): Fix an assertion failure caused by .Bl -column without .It |
but containing eqn(7) or tbl(7) code. |
but containing eqn(7) or tbl(7) code. |
* roff(7): Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf. |
* roff(7): Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf. |
Line 68 Changes in version 1.14.1, released on February XXX, 2 |
|
Line 532 Changes in version 1.14.1, released on February XXX, 2 |
|
* man(1): Do not mix stdio narrow and wide stream orientation |
* man(1): Do not mix stdio narrow and wide stream orientation |
on stdout, which could cause output corruption on glibc. |
on stdout, which could cause output corruption on glibc. |
* mandoc(1): Autodetect a suitable locale for -Tutf8 mode. |
* mandoc(1): Autodetect a suitable locale for -Tutf8 mode. |
* Autodetect whether PATH_MAX is defined. |
* ./configure: Autodetect whether PATH_MAX and O_DIRECTORY are defined. |
* Autodetect if nanosleep(3) needs -lrt. |
* ./configure: Autodetect if nanosleep(3) needs -lrt. |
* Put compiler arguments that may contain -l at the end. |
* ./configure: Provide an ${LN} configuration variable. |
|
* ./configure: Put compiler arguments that may contain -l at the end. |
--- MINOR BUGFIXES --- |
--- MINOR BUGFIXES --- |
* mdoc(7): Fix SYNOPSIS output if the first child of .Nm is a macro. |
* mdoc(7): Fix SYNOPSIS output if the first child of .Nm is a macro. |
* mdoc(7) -Thtml: Improve formatting of .Bl -tag with short tags. |
* mdoc(7) -Thtml: Improve formatting of .Bl -tag with short tags. |
Line 81 Changes in version 1.14.1, released on February XXX, 2 |
|
Line 546 Changes in version 1.14.1, released on February XXX, 2 |
|
easier to use and reducing the amount of code by a few hundred lines. |
easier to use and reducing the amount of code by a few hundred lines. |
--- THANKS TO --- |
--- THANKS TO --- |
* Michael Stapelberg (Debian) for designing the new mandocd(8) |
* Michael Stapelberg (Debian) for designing the new mandocd(8) |
and parts of the new catman(8), and for a number of patches |
and parts of the new catman(8), for release testing, and for a |
and bug reports. |
number of patches and bug reports. |
* Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8) |
* Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8) |
implementation and suggesting an algorithmic improvement which |
implementation and suggesting an algorithmic improvement which |
more than doubled performance, and for a few bug reports. |
more than doubled performance, and for a few bug reports. |
* Ed Maste (FreeBSD) for an important patch improving reproducibility |
* Ed Maste (FreeBSD) for an important patch improving reproducibility |
of builds in makewhatis(8), and for a few bug reports. |
of builds in makewhatis(8), and for a few bug reports. |
* Theo Buehler (OpenBSD) for more than ten important bug reports, |
* Theo Buehler (OpenBSD) for almost twenty important bug reports, |
most of them found by systematic afl(1) fuzzing. |
most of them found by systematic afl(1) fuzzing. |
* Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov |
* Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov |
for crucial help in getting .Bl -tag CSS formatting fixed. |
for crucial help in getting .Bl -tag CSS formatting fixed. |
* Svyatoslav Mishyn (Crux Linux) for an initial version of the |
* Svyatoslav Mishyn (Crux Linux) for an initial version of the |
patch to autodetect a suitable locale for -Tutf8 mode. |
patch to autodetect a suitable locale for -Tutf8 mode |
|
and for release testing. |
* Jason McIntyre (OpenBSD) for multiple useful discussions |
* Jason McIntyre (OpenBSD) for multiple useful discussions |
and a number of bug reports. |
and a number of bug reports. |
|
* Sevan Janiyan (NetBSD) for extensive release testing and multiple |
|
bug reports. |
|
* Thomas Klausner and Christos Zoulas (NetBSD), Yuri Pankov (illumos), |
|
and Leah Neukirchen (Void Linux) for release testing and bug reports. |
|
* Ulrich Spoerlein (FreeBSD) for release testing. |
* Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley, |
* Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley, |
Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren, |
Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren, |
Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav |
Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav |
Upadhyay, Christos Zoulas, Kamil Rytarowski, Sevan Janiyan, |
Upadhyay, Kamil Rytarowski (NetBSD), Aaron M. Ucko, Bdale Garbee, |
Thomas Klausner (NetBSD), Aaron M. Ucko, Bdale Garbee, Reiner |
Reiner Herrmann, Shane Kerr (Debian), Daniel Sabogal (Alpine Linux), |
Herrmann, Shane Kerr (Debian), Leah Neukirchen (Void Linux), |
|
Daniel Sabogal (Alpine Linux), Yuri Pankov (illumos), |
|
Carsten Kunze (Heirloom roff), Kristaps Dzonsons (bsd.lv), |
Carsten Kunze (Heirloom roff), Kristaps Dzonsons (bsd.lv), |
Anton Lindqvist, Jan Stary, Jeremy A. Mates, Mark Patruck, |
Anton Lindqvist, Jan Stary, Jeremy A. Mates, Mark Patruck, |
Pavan Maddamsetti, Sean Levy <attila@stalphonsos.com>, and |
Pavan Maddamsetti, Sean Levy <attila@stalphonsos.com>, and |
Line 256 Changes in version 1.13.3, released on March 13, 2015 |
|
Line 725 Changes in version 1.13.3, released on March 13, 2015 |
|
* New -Wunsupp message level. |
* New -Wunsupp message level. |
--- POTENTIONALLY SECURITY RELEVANT BUGFIXES --- |
--- POTENTIONALLY SECURITY RELEVANT BUGFIXES --- |
* Fix a potential write buffer overrun on incomplete string conditionals. |
* Fix a potential write buffer overrun on incomplete string conditionals. |
http://mdocml.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.241 |
http://mandoc.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.241 |
* Fix a potential write buffer overrun on backslash at EOF in a conditional. |
* Fix a potential write buffer overrun on backslash at EOF in a conditional. |
http://mdocml.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.247 |
http://mandoc.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.247 |
* Fix a use after free sometimes hit when validation deletes a block. |
* Fix a use after free sometimes hit when validation deletes a block. |
http://mdocml.bsd.lv/cgi-bin/cvsweb/mdoc_macro.c#rev1.180 |
http://mandoc.bsd.lv/cgi-bin/cvsweb/mdoc_macro.c#rev1.180 |
--- MAJOR FUNCTIONALLY RELEVANT BUGFIXES --- |
--- MAJOR FUNCTIONALLY RELEVANT BUGFIXES --- |
* Let man(1) show manuals for the current architecture by default, |
* Let man(1) show manuals for the current architecture by default, |
and support the MACHINE environment variable. |
and support the MACHINE environment variable. |
Line 871 Changes in version 1.9.15, released on February 18, 20 |
|
Line 1340 Changes in version 1.9.15, released on February 18, 20 |
|
* and column lengths handled correctly. |
* and column lengths handled correctly. |
|
|
For older releases, see the ChangeLog files |
For older releases, see the ChangeLog files |
in http://mdocml.bsd.lv/snapshots/ . |
in http://mandoc.bsd.lv/snapshots/ . |