[BACK]Return to NEWS CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Annotation of mandoc/NEWS, Revision 1.1

1.1     ! schwarze    1: $Id$
        !             2:
        !             3: This file lists the most important changes in the mdocml.bsd.lv distribution.
        !             4:
        !             5: Changes in version 1.12.2, released on Oktober 1, 2013
        !             6:
        !             7:  * The mdoc(7) to man(7) converter, to be called as mandoc -Tman,
        !             8:    is now fully functional.
        !             9:  * The mandoc(1) utility now supports the -Ios (default operating system)
        !            10:    input option, and the -Tutf8 output mode now actually works.
        !            11:  * The mandocdb(8) utility no longer truncates existing databases when
        !            12:    starting to build new ones, but only replaces them when the build
        !            13:    actually succeeds.
        !            14:  * The man(7) parser now supports the PD macro (paragraph distance),
        !            15:    and (for GNU man-ext compatibility only) EX (example block) and EE
        !            16:    (example end).  Plus several bugfixes regarding indentation, line
        !            17:    breaks, and vertical spacing, and regarding RS following TP.
        !            18:  * The roff(7) parser now supports the \f(BI (bold+italic) font escape,
        !            19:    the \z (zero cursor advance) escape and the cc (change control
        !            20:    character) and it (input line trap) requests. Plus bugfixes regarding
        !            21:    the \t (tab) escape, nested escape sequences, and conditional requests.
        !            22:  * In mdoc(7), several bugs were fixed related to UTF-8 output of quoting
        !            23:    enclosures, delimiter handling, list indentation and horizontal and
        !            24:    vertical spacing, formatting of the Lk, %U, and %C macros, plus some
        !            25:    bugfixes related to the handling of syntax errors like badly nested
        !            26:    font blocks, stray Ta macros outside column lists, unterminated It Xo
        !            27:    blocks, and non-text children of Nm blocks.
        !            28:  * In tbl(7), the width of horizontal spans and the vertical spacing
        !            29:    around tables was corrected, and in man(7) files, a crash was fixed
        !            30:    that was triggered by some particular unclosed T{ macros.
        !            31:  * For mandoc developers, we now provide a tbl(3) library manual and
        !            32:    gmdiff, a very small, very simplistic groff-versus-mandoc output
        !            33:    comparison tool.
        !            34:
        !            35: Changes in version 1.12.1, released on March 23, 2012
        !            36:
        !            37:  * Significant work on apropos(1) and mandocdb(8). These tools are now
        !            38:    much more robust.  A whatis(1) implementation is now handled as an
        !            39:    apropos(1) mode.  These tools are also able to minimally handle
        !            40:    pre-formatted pages, that is, those already formatted by another
        !            41:    utility such as GNU troff.
        !            42:  * The man.cgi(7) script is also now available for wider testing.
        !            43:    It interfaces with mandocdb(8) manuals cached by catman(8).
        !            44:    HTML output is generated on-the-fly by libmandoc or internal
        !            45:    methods to convert pre-formatted pages.
        !            46:  * The mailing list archive for the discuss and tech lists are being
        !            47:    hosted by Gmane at gmane.comp.tools.mdocml.user and
        !            48:    gmane.comp.tools.mdocml.devel, respectively.
        !            49:
        !            50: Changes in version 1.12.0, released on October 8, 2011
        !            51:
        !            52:  * This version features a new, work-in-progress mandoc(1) output mode:
        !            53:    -Tman.  This mode allows a system maintainer to distribute man(7)
        !            54:    media for older systems that may not natively support mdoc(7), such
        !            55:    as old Solaris systems.
        !            56:  * The -Ofragment option was added to mandoc(1)'s -Thtml and -Txhtml modes.
        !            57:  * While adding features, an apropos(1) utility has been merged from the
        !            58:    mandoc-tools sandbox.  This interfaces with mandocdb(8) for semantic
        !            59:    search of manual content.  apropos(1) is different from the traditional
        !            60:    apropos primarily in allowing keyword search (such as for functions,
        !            61:    utilities, etc.) and regular expressions.  Note that the calling
        !            62:    syntax for apropos is likely to change as it settles down.
        !            63:  * In documentation news, the mdoc(7) and man(7) manuals have been
        !            64:    made considerably more readable by adding MACRO OVERVIEW sections, by
        !            65:    moving the gory details of the LANGUAGE SYNTAX to the roff(7) manual,
        !            66:    and by moving the very technical MACRO SYNTAX sections down to the
        !            67:    bottom of the page.
        !            68:  * Furthermore, for tbl(7), the -Tascii mode horizontal spacing of tables
        !            69:    was rewritten completely.  It is now compatible with groff(1), both
        !            70:    with and without frames and rulers.
        !            71:  * Nesting of indented blocks is now supported in man(7), and several
        !            72:    bugs were fixed regarding indentation and alignment.
        !            73:  * The page headers in mdoc(7) are now nicer for very long titles.
        !            74:
        !            75: Changes in version 1.11.7, released on September 2, 2011
        !            76:
        !            77:  * Added demandoc(1) utility for stripping away macros and escapes.
        !            78:    This replaces the historical deroff(1) utility.
        !            79:  * Also improved the mdoc(7) and man(7) manuals.
        !            80:
        !            81: Changes in version 1.11.6, released on August 16, 2011
        !            82:
        !            83:  * Handling of tr macro in roff(7) implemented.  This makes Perl
        !            84:    documentation much more readable.  Hyphenation is also now enabled in
        !            85:    man(7) format documents.  Many other general improvements have been
        !            86:    implemented.
        !            87:
        !            88: Changes in version 1.11.5, released on July 24, 2011
        !            89:
        !            90:  * Significant eqn(7) improvements.  mdocml can now parse arbitrary eqn
        !            91:    input (although few GNU extensions are accepted, nor is mixing
        !            92:    low-level roff with eqn).  See the eqn(7) manual for details.
        !            93:    For the time being, equations are rendered as simple in-line text.
        !            94:    The equation parser satisfies the language specified in the
        !            95:    Second Edition User's Guide:
        !            96:    http://www.kohala.com/start/troff/v7man/eqn/eqn2e.ps
        !            97:
        !            98: Changes in version 1.11.4, released on July 12, 2011
        !            99:
        !           100:  * Bug-fixes and clean-ups across all systems, especially in mandocdb(8)
        !           101:    and the man(7) parser.  This release was significantly assisted by
        !           102:    participants in OpenBSD's c2k11.  Thanks!
        !           103:
        !           104: Changes in version 1.11.3, released on May 26, 2011
        !           105:
        !           106:  * Introduce locale-encoding of output with the -Tlocale output option and
        !           107:    Unicode escaped-character input.  See mandoc(1) and mandoc_char(7),
        !           108:    respectively, for details.  This allows for non-ASCII characters (e.g.,
        !           109:    \[u5000]) to be rendered in the locale's encoding, if said environment
        !           110:    supports wide-character encoding (if it does not, -Tascii is used
        !           111:    instead).  Locale support can be turned off at compile time by removing
        !           112:    -DUSE_WCHAR in the Makefile, in which case -Tlocale is always a synonym
        !           113:    for -Tascii.
        !           114:  * Furthermore, multibyte-encoded documents, such as those in UTF-8, may
        !           115:    be on-the-fly recoded into mandoc(1) input by using the newly-added
        !           116:    preconv(1) utility.  Note: in the future, this feature may be
        !           117:    integrated into mandoc(1).
        !           118:
        !           119: Changes in version 1.11.2, released on May 12, 2011
        !           120:
        !           121:  * Corrected some installation issues in version 1.11.1.
        !           122:  * Further migration to libmandoc.
        !           123:  * Initial public release (this utility is very much under development)
        !           124:    of mandocdb(8).  This utility produces keyword databases of manual
        !           125:    content, which features semantic querying of manual content.
        !           126:
        !           127: Changes in version 1.11.1, released on April 4, 2011
        !           128:
        !           129:  * The earlier libroff, libmdoc, and libman soup have been merged into
        !           130:    a single library, libmandoc, which manages all aspects of parsing
        !           131:    real manuals, from line-handling to tbl(7) parsing.
        !           132:  * Beyond this structural change, initial eqn(7) functionality is in
        !           133:    place.  For the time being, this is limited to the recognition of
        !           134:    equation blocks; future version of mdocml will expand upon this
        !           135:    framework.
        !           136:  * As usual, many general fixes and improvements have also occurred.
        !           137:    In particular, a great deal of redundancy and superfluous code has
        !           138:    been removed with the merging of the backend libraries.
        !           139:
        !           140: Changes in version 1.10.9, released on January 7, 2011
        !           141:
        !           142:  * Many back-end fixes have been implemented: argument handling (quoting),
        !           143:    man(7) improvements, error/warning classes, and many more.
        !           144:  * Initial tbl(7) functionality (see the "TS", "TE", and "T&" macros in
        !           145:    the roff(7) manual) has been merged from tbl.bsd.lv.  Output is still
        !           146:    minimal, especially for -Thtml and -Txhtml, but manages to at least
        !           147:    display data.  This means that mandoc(1) now has built-in support
        !           148:    for two troff preprocessors via libroff: soelim(1) and tbl(1).
        !           149:
        !           150: Changes in version 1.10.8, released on December 24, 2010
        !           151:
        !           152:  * Significant improvements merged from OpenBSD downstream, including
        !           153:     - many new roff(7) components,
        !           154:     - in-line implementation of troff's soelim(1),
        !           155:     - broken-block handling,
        !           156:     - overhauled error classifications, and
        !           157:     - cleaned up handling of error conditions.
        !           158:  * Also overhauled the -Thtml and -Txhtml output modes.  They now display
        !           159:    readable output in arbitrary browsers, including text-based ones like
        !           160:    lynx(1).  See HTML and XHTML manuals in the DOCUMENTATION section
        !           161:    for examples.  Attention: available style-sheet classes have been
        !           162:    considerably changed!  See the example.style.css file for details.
        !           163:    Lastly, libmdoc and libman have been cleaned up and reduced in size
        !           164:    and complexity.
        !           165:
        !           166: Changes in version 1.10.6, released on September 27, 2010
        !           167:
        !           168:  * Calling conventions for mandoc(1) have changed: -W improved and -f
        !           169:    deprecated.
        !           170:  * Non-ASCII characters are also now uniformly discarded.
        !           171:  * Lots of documentation improvements.
        !           172:  * Many incremental fixes accomodating for groff's more interesting
        !           173:    productions.
        !           174:  * Lastly, pod2man(1) preambles are now fully accepted after some
        !           175:    considerable roff(7) and special character support.
        !           176:
        !           177: Changes in version 1.10.5, released on July 27, 2010
        !           178:
        !           179:  * Primarily a bug-fix and polish release, but including -Tpdf support
        !           180:    in mandoc(1) by way of "Summer of Code".  Highlights:
        !           181:  * fix "Sm" and "Bd" handling
        !           182:  * fix end-of-sentence handling for embedded sentences
        !           183:  * polish man(7) documentation
        !           184:  * document all mdoc(7) macros
        !           185:  * polish mandoc(1) -Tps output
        !           186:  * lots of internal clean-ups in character escapes
        !           187:  * un-break literal contexts in man(7) documents
        !           188:  * improve -Thtml output for -man
        !           189:  * add mandoc(1) -Tpdf support
        !           190:
        !           191: Changes in version 1.10.4, released on July 12, 2010
        !           192:
        !           193:  * Lots of features developed during both "Summer of Code" and the
        !           194:    OpenBSD c2k10 hackathon:
        !           195:  * minimal "ds" roff(7) symbols are supported
        !           196:  * "Bk" mdoc(7) support
        !           197:  * beautified SYNOPSIS section output
        !           198:  * variable font-width and paper-size support in mandoc(1) -Tps output
        !           199:  * acceptance of scope-block breakage in mdoc(7)
        !           200:  * clarify error message status
        !           201:  * many minor bug-fixes and formatting issues resolved
        !           202:
        !           203: Changes in version 1.10.2, released on June 19, 2010
        !           204:
        !           205:  * Small release featuring text-decoration in -Tps output,
        !           206:    a few minor relaxations of errors, and some optimisations.
        !           207:
        !           208: Changes in version 1.10.1, released on June 7, 2010
        !           209:
        !           210:  * This primarily focusses on the "Bl" and "It" macros described in
        !           211:    mdoc(7).  Multi-line column support is now fully compatible with groff,
        !           212:    as are implicit list entries for columns.
        !           213:  * Removed manuals(7) in favour of http://manpages.bsd.lv.
        !           214:  * The way we handle the SYNOPSIS section (see the SYNOPSIS documentation
        !           215:    in MANUAL STRUCTURE) has also been considerably simplified compared
        !           216:    to groff's method.
        !           217:  * Furthermore, the -Owidth=width output option has been added to -Tascii,
        !           218:    see mandoc(1).
        !           219:  * Lastly, initial PostScript output has been added with the -Tps option
        !           220:    to mandoc(1).  It's brutally simple at the moment: fixed-font, with no
        !           221:    font decorations.
        !           222:
        !           223: Changes in version 1.10.0, released on May 29, 2010
        !           224:
        !           225:  * Release consisting of the results from the m2k10 hackathon and up-merge
        !           226:    from OpenBSD.  This requires a significant note of thanks to Ingo
        !           227:    Schwarze (OpenBSD) and Joerg Sonnenberger (NetBSD) for their hard work,
        !           228:    and again to Joerg for hosting m2k10.  Highlights (mostly cribbed from
        !           229:    Ingo's m2k10 report) follow in no particular order:
        !           230:  * a libroff preprocessor in front of libmdoc and libman stripping out
        !           231:    roff(7) instructions;
        !           232:  * end-of-sentence (EOS) detection in free-form and macro lines;
        !           233:  * correct handling of tab-separated columnar lists in mdoc(7);
        !           234:  * improved main calling routines to optionally use mmap(3) for better
        !           235:    performance;
        !           236:  * cleaned up exiting when invoked as -Tlint or over multiple files
        !           237:    with -fign-errors;
        !           238:  * error and warning message handling re-written to be unified for
        !           239:    libroff, libmdoc, and libman;
        !           240:  * handling of badly-nested explicit-scoped macros;
        !           241:  * improved free-form text parsing in libman and libmdoc;
        !           242:  * significant GNU troff compatibility improvements in -Tascii,
        !           243:    largely in terms of spacing;
        !           244:  * a regression framework for making sure the many fragilities of GNU
        !           245:    troff aren't trampled in subsequent work;
        !           246:  * support for -Tascii breaking at hyphens encountered in free-form text;
        !           247:  * and many more minor fixes and improvements
        !           248:
        !           249: Changes in version 1.9.25, released on May 13, 2010
        !           250:
        !           251:  * Fixed handling of "\*(Ba" escape.
        !           252:  * Backed out -fno-ign-chars (pointless complexity).
        !           253:  * Fixed erroneous breaking of literal lines.
        !           254:  * Fixed SYNOPSIS breaking lines before non-initial macros.
        !           255:  * Changed default section ordering.
        !           256:  * Most importantly, the framework for end-of-sentence double-spacing is
        !           257:    in place, now implemented for the "end-of-sentence, end-of-line" rule.
        !           258:  * This is a stable roll-back point before the mandoc hackathon in Rostock!
        !           259:
        !           260: Changes in version 1.9.24, released on May 9, 2010
        !           261:
        !           262:  * Rolled back break-at-hyphen.
        !           263:  * -DUGLY is now the default (no feature splits!).
        !           264:  * Free-form text is not de-chunked any more: lines are passed
        !           265:    whole-sale into the front-end, including whitespace.
        !           266:  * Added mailing lists.
        !           267:
        !           268: Changes in version 1.9.23, released on April 7, 2010
        !           269:
        !           270:  * mdocml has been linked to the OpenBSD build.
        !           271:  * This version incorporates many small changes, mostly from patches
        !           272:    by OpenBSD, allowing crufty manuals to slip by with warnings instead
        !           273:    of erroring-out.
        !           274:  * Some subtle semantic issues, such as punctuation scope, have also
        !           275:    been fixed.
        !           276:  * Lastly, some issues with -Thtml have been fixed, which prompted an
        !           277:    update to the online manual pages style layout.
        !           278:
        !           279: Changes in version 1.9.22, released on March 31, 2010
        !           280:
        !           281:  * Adjusted merge of the significant work by Ingo Schwarze
        !           282:    in getting "Xo" blocks (block full implicit, e.g., "It"
        !           283:    for non-columnar lists) to work properly.  This isn't
        !           284:    enabled by default: you must specify -DUGLY as a compiler
        !           285:    flag (see the Makefile for details).
        !           286:
        !           287: Changes in version 1.9.20, released on March 30, 2010
        !           288:
        !           289:  * More efforts to get roff instructions in man(7) documents under
        !           290:    control.  Note that roff instructions embedded in line-scoped,
        !           291:    next-line macros (e.g. "B") are not supported.
        !           292:  * Leading punctuation for mdoc(7) macros, such as "Fl ( ( a",
        !           293:    are now correctly handled.
        !           294:
        !           295: Changes in version 1.9.18, released on March 27, 2010
        !           296:
        !           297:  * Many fixes (largely pertaining to scope)
        !           298:    and improvements (e.g., handling of apostrophe-control macros,
        !           299:    which fixes the strange "BR" seen in some macro output)
        !           300:    to handling roff instructions in man(7) documents.
        !           301:
        !           302: Changes in version 1.9.17, released on March 25, 2010
        !           303:
        !           304:  * Accept perlpod(1) standard preamble.
        !           305:  * Also accept (and discard) "de", "dei", "am", "ami", and "ig"
        !           306:    roff macro blocks.
        !           307:
        !           308: Changes in version 1.9.16, released on March 22, 2010
        !           309:
        !           310:  * Inspired by patches and bug reports by Ingo Schwarze,
        !           311:    allowed man(7) to accept non-printing elements to be nested
        !           312:    within next-line scopes, such as "br" within "B" or "TH",
        !           313:    which is valid roff.
        !           314:  * Longsoon architecture also noted and Makefile cleaned up.
        !           315:
        !           316: Changes in version 1.9.15, released on February 18, 2010
        !           317:
        !           318:  * Moved to our new BSD.lv home.
        !           319:  * XHTML is now an acceptable output mode for mandoc(1);
        !           320:  * "Xr" made more compatible with groff;
        !           321:  * "Vt" fixed when invoked in SYNOPSIS;
        !           322:  * "\\" escape removed;
        !           323:  * end-of-line white-space detected for all lines;
        !           324:  * subtle bug fixed in list display for some modes;
        !           325:  * compatibility layer checked in for compilation in diverse
        !           326:    UNIX systems;
        !           327:  * and column lengths handled correctly.
        !           328:
        !           329: For older releases, see the ChangeLog files
        !           330: in http://mdocml.bsd.lv/snapshots/ .

CVSweb