version 1.11, 2016/07/07 23:46:36 |
version 1.14, 2017/02/08 12:24:10 |
|
|
|
|
This file lists the most important changes in the mdocml.bsd.lv distribution. |
This file lists the most important changes in the mdocml.bsd.lv distribution. |
|
|
Changes in version 1.13.4, to be released on July XXX, 2016 |
Changes in version 1.14.1, released on February XXX, 2017 |
|
|
--- MAJOR NEW FEATURES --- |
--- MAJOR NEW FEATURES --- |
|
* apropos(1): Reimplement complete semantic search functionality |
|
without the dependency on SQLite3, using only POSIX APIs. |
|
This comes with a completely new mandoc.db(5) file format. |
|
* man(1): Support more than one tag entry for the same search term, |
|
plus some minor improvements to the less(1) :t support. |
|
* -Thtml: Use real macro names for CSS classes. |
|
Systematic cleanup of and many improvements to mandoc.css. |
|
* -Thtml: Produce human readable HTML code by using indentation |
|
and better line breaks. Improve various HTML elements, |
|
and trim several useless ones. |
|
* New catman(8) utility, still somewhat experimental. |
|
* Now includes a portable version of the OpenBSD mandoc regression |
|
suite, see regress/regress.pl.1 for details. |
|
--- REMOVED FUNCTIONALITY --- |
|
* Operating systems that don't provide mmap(3) are no longer supported. |
|
* Drop support for manpath(1). Even if your system has manpath(1), |
|
it is simpler to use MANPATH_DEFAULT in configure.local for |
|
operating system defaults, man.conf(5) for machine-specific |
|
modifications, and ${MANPATH}, -m, and -M for user preferences |
|
than to bother with the complexity of manpath(1). |
|
* makewhatis(8) -p: No longer warn about missing MLINKS since these |
|
are no longer needed for anything. |
|
--- MINOR NEW FEATURES --- |
|
* mdoc(7): Warn about invalid punctuation and content below NAME. |
|
* mdoc(7): Warn about .Xr lacking the second argument (section). |
|
* mdoc(7): Warn about violations of the rule "new sentence, new line". |
|
* roff(7): Warn about trailing whitespace at the end of comments. |
|
* mdoc(7): Always do text production in the validator, never in the |
|
formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1) |
|
and also makes -Ttree output more useful. |
|
* mdoc(7), man(7): Show metadata in -Ttree output. |
|
--- RELIABILITY BUGFIXES --- |
|
* man(1): Make "man -l" work with standard input from a pipe or file, |
|
as long as standard output is a terminal. |
|
* mdoc(7): Fix out of bounds read access for .Bl without a type |
|
but with a width. |
|
* mdoc(7): Fix out of bounds read access for .Bl -column starting |
|
with a tab character instead of a child .It macro. |
|
* mdoc(7): Fix syntax tree corruption leading to segfaults caused |
|
by stray block end macros in nested blocks of mismatching type. |
|
* man(1): Fix NULL dereference when the first of multiple pages |
|
shown was preformatted. |
|
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
|
for macro sequences like .Bl .Bl .It Bo .El .It. |
|
* mdoc(7): Fix syntax tree corruption leading to NULL dereference |
|
caused by .Ta following a nested .Bl -column breaking another block. |
|
* mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns. |
|
* mdoc(7): Fix NULL dereference if the only child of the head |
|
of the first .Sh was an empty in-line macro. |
|
* mdoc(7): Fix an assertion failure for a .Bd without a type that |
|
breaks another block. |
|
* mdoc(7): Fix an assertion failure caused by .Bl -column without .It |
|
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 failures caused by whitespace inside \o'' |
|
(overstrike) sequences. |
|
* -Thtml: Fix an assertion failure caused by -Oman or -Oincludes of |
|
excessive length. |
|
--- PORTABILITY IMPROVEMENTS --- |
|
* man(1): Do not mix stdio narrow and wide stream orientation |
|
on stdout, which could cause output corruption on glibc. |
|
* mandoc(1): Autodetect a suitable locale for -Tutf8 mode. |
|
* Autodetect whether PATH_MAX is defined. |
|
* Autodetect if nanosleep(3) needs -lrt. |
|
* Put compiler arguments that may contain -l at the end. |
|
--- MINOR BUGFIXES --- |
|
* 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. |
|
* man(7) -Thtml: Preserve whitespace in .nf (nofill) mode. |
|
* mandoc(1): Error out on invalid output options on the command line. |
|
--- STRUCTURAL CHANGES, no functional change --- |
|
* Redesign part of the mandoc_html(3) interfaces, making them much |
|
easier to use and reducing the amount of code by a few hundred lines. |
|
--- THANKS TO --- |
|
* Michael Stapelberg (Debian) for designing the new mandocd(8) |
|
and parts of the new catman(8), and for a number of patches |
|
and bug reports. |
|
* Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8) |
|
implementation and suggesting an algorithmic improvement which |
|
more than doubled performance, and for a few bug reports. |
|
* Ed Maste (FreeBSD) for an important patch improving reproducibility |
|
of builds in makewhatis(8), and for a few bug reports. |
|
* Theo Buehler (OpenBSD) for more than ten important bug reports, |
|
most of them found by systematic afl(1) fuzzing. |
|
* Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov |
|
for crucial help in getting .Bl -tag CSS formatting fixed. |
|
* Svyatoslav Mishyn (Crux Linux) for an initial version of the |
|
patch to autodetect a suitable locale for -Tutf8 mode. |
|
* Jason McIntyre (OpenBSD) for multiple useful discussions |
|
and a number of bug reports. |
|
* Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley, |
|
Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren, |
|
Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav |
|
Upadhyay, Christos Zoulas, Kamil Rytarowski, Sevan Janiyan, |
|
Thomas Klausner (NetBSD), Aaron M. Ucko, Bdale Garbee, Reiner |
|
Herrmann, Shane Kerr (Debian), Christian Neukirchen (Void Linux), |
|
Daniel Sabogal (Alpine Linux), Yuri Pankov (illumos), |
|
Carsten Kunze (Heirloom roff), Kristaps Dzonsons (bsd.lv), |
|
Anton Lindqvist, Jan Stary, Jeremy A. Mates, Mark Patruck, |
|
Pavan Maddamsetti, Sean Levy <attila@stalphonsos.com>, and |
|
Tiago Silva for bug reports. |
|
* Brent Cook, Marc Espie, Philip Guenther, Todd Miller (OpenBSD) |
|
and Markus Waldeck for useful discussions. |
|
* And as usual, OpenCSW for providing me with a Solaris 9/10/11 |
|
testing environment. |
|
|
|
Changes in version 1.13.4, released on July 14, 2016 |
|
|
|
--- MAJOR NEW FEATURES --- |
* man.conf(5): Design and implement a simpler configuration file format. |
* man.conf(5): Design and implement a simpler configuration file format. |
* man(1): Leverage less(1) -T and :t in a way resembling ctags(1) |
* man(1): Leverage less(1) -T and :t in a way resembling ctags(1) |
to jump to the definitions of various terms inside manual pages. |
to jump to the definitions of various terms inside manual pages. |
* soelim(1): New implementation by Baptiste Daroussin. |
* soelim(1): New implementation by Baptiste Daroussin. |
* pledge(2): Use the OpenBSD privilege limitation syscall when available. |
* privilege limitation: Use OpenBSD pledge(2) or OS X sandbox_init(3) |
* man.cgi(8): Support short URIs. |
when available. |
|
* man.cgi(8): Support short URIs like http://man.openbsd.org/mdoc . |
* mandoc.css: Use one unified stylesheet rather than three different ones. |
* mandoc.css: Use one unified stylesheet rather than three different ones. |
--- MAJOR FUNCTIONALLY RELEVANT BUGFIXES --- |
--- MAJOR FUNCTIONALLY RELEVANT BUGFIXES --- |
* mdoc(7): Fix multiple aspects of SYNOPSIS .Nm formatting. |
* mdoc(7): Fix multiple aspects of SYNOPSIS .Nm formatting. |
Line 20 Changes in version 1.13.4, to be released on July XXX, |
|
Line 130 Changes in version 1.13.4, to be released on July XXX, |
|
even when building without SQLite support. |
even when building without SQLite support. |
* Add compat glue for building on Solaris 9 and 10. |
* Add compat glue for building on Solaris 9 and 10. |
* Let ./configure select a supported RE syntax for word boundaries. |
* Let ./configure select a supported RE syntax for word boundaries. |
|
* Support LDFLAGS, to be used for example for hardening options. |
|
* Avoid mixing putchar(3) and putwchar(3) on the same file descriptor, |
|
it resulted in output corruption on some platforms. |
* Avoid reusing va_lists, use va_copy(3) for better portability. |
* Avoid reusing va_lists, use va_copy(3) for better portability. |
* Do not hardcode the path to the more(1) program. |
* Do not hardcode the path to the more(1) program. |
--- MINOR NEW FEATURES --- |
--- MINOR NEW FEATURES --- |
Line 35 Changes in version 1.13.4, to be released on July XXX, |
|
Line 148 Changes in version 1.13.4, to be released on July XXX, |
|
* man.cgi(8): Support "header.html" and "footer.html". |
* man.cgi(8): Support "header.html" and "footer.html". |
* man.cgi(8): Set the "autofocus" attribute on the query text box. |
* man.cgi(8): Set the "autofocus" attribute on the query text box. |
* man.cgi(8): Simplify the search form, drop two useless buttons. |
* man.cgi(8): Simplify the search form, drop two useless buttons. |
|
* man.cgi(8): Delete the pseudo-manpath "mandoc", assume that |
|
apropos(1) and man.cgi(8) are installed in the default manpath. |
--- RELIABILITY BUGFIXES --- |
--- RELIABILITY BUGFIXES --- |
* mdoc(7): Avoid a use after free and an assertion failure when nodes |
* mdoc(7): Avoid a use after free and an assertion failure when nodes |
are deleted during validation. |
are deleted during validation. |
Line 44 Changes in version 1.13.4, to be released on July XXX, |
|
Line 159 Changes in version 1.13.4, to be released on July XXX, |
|
* mdoc(7): Avoid an assertion when .Ta<tab> occurs in .Bl -column. |
* mdoc(7): Avoid an assertion when .Ta<tab> occurs in .Bl -column. |
* mdoc(7): Avoid an assertion when a body gets broken and has a tail. |
* mdoc(7): Avoid an assertion when a body gets broken and has a tail. |
* roff(7): Avoid an assertion caused by blanks inside \o. |
* roff(7): Avoid an assertion caused by blanks inside \o. |
|
* roff(7): Make .so links to gziped manuals work without mandoc.db(5). |
* tbl(7): Avoid a use after free when the last line of a layout is empty. |
* tbl(7): Avoid a use after free when the last line of a layout is empty. |
* eqn(7): Avoid an infinite loop caused by recursive "define". |
* eqn(7): Avoid an infinite loop caused by recursive "define". |
* makewhatis(8): Avoid a segfault caused by unusual directory structures. |
* makewhatis(8): Avoid a segfault caused by unusual directory structures. |
Line 78 Changes in version 1.13.4, to be released on July XXX, |
|
Line 194 Changes in version 1.13.4, to be released on July XXX, |
|
* HTML output: Render ASCII_NBRSP as " ", not "-". |
* HTML output: Render ASCII_NBRSP as " ", not "-". |
* man(1): Do not match the first part of a name if it continues with a dot. |
* man(1): Do not match the first part of a name if it continues with a dot. |
* man(1): Keep working even if the current directory is unusable. |
* man(1): Keep working even if the current directory is unusable. |
* man(1): Handle SIGPIPE to avoid ugly "Broken pipe" messages. |
|
* man(1): Better error message when $PAGER is invalid. |
* man(1): Better error message when $PAGER is invalid. |
* makewhatis(8): Improve handling of .Va and .Vt macros. |
* makewhatis(8): Improve handling of .Va and .Vt macros. |
* apropos(1): Print "nothing appropriate" to stderr when appropriate. |
* apropos(1): Print "nothing appropriate" to stderr when appropriate. |
Line 88 Changes in version 1.13.4, to be released on July XXX, |
|
Line 203 Changes in version 1.13.4, to be released on July XXX, |
|
* mdoc(7) and man(7): Unified data structures struct roff_node etc. |
* mdoc(7) and man(7): Unified data structures struct roff_node etc. |
* mdoc(7) and man(7): Unified node handling library in roff.c. |
* mdoc(7) and man(7): Unified node handling library in roff.c. |
* mdoc(7) and man(7): Seperate validation phase from parsing. |
* mdoc(7) and man(7): Seperate validation phase from parsing. |
* Replace all hand-rolled hash tables with ohash(3). |
* roff(7): Major character table cleanup. |
* Link with libz rather than forking gunzip(1). |
* Link with libz rather than forking gunzip(1). |
--- THANKS TO --- |
--- THANKS TO --- |
* Baptiste Daroussin (FreeBSD) for the new soelim(1). |
* Baptiste Daroussin (FreeBSD) for the new soelim(1) |
|
and for release testing. |
* Anthony Bentley (OpenBSD) for unifying mandoc.css, two nice |
* Anthony Bentley (OpenBSD) for unifying mandoc.css, two nice |
patches for man.cgi(8), some documentation patches, some bug |
patches for man.cgi(8), some documentation patches, some bug |
reports, and various useful discussions. |
reports, and various useful discussions. |
Line 100 Changes in version 1.13.4, to be released on July XXX, |
|
Line 216 Changes in version 1.13.4, to be released on July XXX, |
|
discussions. |
discussions. |
* Jonathan Gray (OpenBSD) for yet more testing with afl(1) |
* Jonathan Gray (OpenBSD) for yet more testing with afl(1) |
again resulting in more than half a dozen important bug reports. |
again resulting in more than half a dozen important bug reports. |
|
* Svyatoslav Mishyn (Crux Linux) for some patches, several bug |
|
reports, and extensive release testing. |
|
* Christian Neukirchen (void Linux) for a number of compatibility |
|
patches and suggestions and several bug reports. |
* Christos Zoulas (NetBSD) for a bug fix patch and some useful |
* Christos Zoulas (NetBSD) for a bug fix patch and some useful |
suggestions for cleanup. |
suggestions for cleanup. |
* Florian Obser (OpenBSD) for a bugfix patch and some bug reports. |
* Florian Obser (OpenBSD) for a bugfix patch and some bug reports. |
* Sevan Janiyan and Jan Holzhueter for help with Solaris compatibility, |
* Sevan Janiyan for help with Solaris compatibility and release |
and to OpenCSW in general for providing me with a Solaris 9/10/11 |
testing on many platforms. |
testing environment. |
* Jan Holzhueter and OpenCSW in general for help with Solaris |
* Christian Neukirchen for a number of compatibility patches and |
compatibility, and for providing me with a Solaris 9/10/11 testing |
several bug reports. |
environment. |
* Svyatoslav Mishyn (Crux Linux) for a compatibility patch |
|
and a number of bug reports. |
|
* Michael McConville (OpenBSD) for some simple cleanup patches. |
* Michael McConville (OpenBSD) for some simple cleanup patches. |
|
* Thomas Klausner (NetBSD) for some bug reports and release testing. |
* Christian Weisgerber, Dmitrij Czarkoff, Igor Sobrado, |
* Christian Weisgerber, Dmitrij Czarkoff, Igor Sobrado, |
Ken Westerback, Marc Espie, Mike Belopuhov, Ted Unangst, |
Ken Westerback, Marc Espie, Mike Belopuhov, Rafael Neves, |
Tim van der Molen, Theo Buehler, Theo de Raadt (OpenBSD), |
Ted Unangst, Tim van der Molen, Theo Buehler, Theo de Raadt |
Thomas Klausner (NetBSD), Kurt Jaeger, Dag Erling Smoergrav |
(OpenBSD), Kurt Jaeger, Dag Erling Smoergrav (FreeBSD), |
(FreeBSD), Carsten Kunze (Heirloom troff), Daniel Levai, |
Joerg Sonnenberger (NetBSD), Carsten Kunze (Heirloom troff), |
Fabian Raetz, Jan Stary, Jean-Yves Migeon, Joerg Sonnenberger, |
Daniel Levai, Fabian Raetz, Jan Stary, Jean-Yves Migeon, |
Lorenzo Beretta, Markus Waldeck, Maxim Belooussov, Michael Reed, |
Lorenzo Beretta, Markus Waldeck, Maxim Belooussov, Michael Reed, |
Peter Bray, and Serguey Parkhomovsky for bug reports and feature |
Peter Bray, and Serguey Parkhomovsky for bug reports and feature |
suggestions. |
suggestions. |