    Copyright 2013-2022 Free Software Foundation, Inc.

    Copying and distribution of this file, with or without modification,
    are permitted in any medium without royalty provided the copyright
    notice and this notice are preserved.

This file describes how to prepare 'groff' for a new release.


########################################################################

* Update font description files that we generate from external data and
  provide with our source distribution.

    Directory  Format                  Tool
    ---------  ------                  ----
    devX*      X11 core/server font    xtotroff

  The make(1) target "maintainer-font-descriptions" produces these font
  descriptions.

* Retrieve current versions of UnicodeData.txt[1] and the Adobe Glyph
  List (AGL)[2], and use them with
  src/utils/afmtodit/make-afmtodit-tables to update
  src/utils/afmtodit/afmtodit.tables.

  [1] E.g., <https://www.unicode.org/Public/15.0.0/ucd/UnicodeData.txt>.
      Check for the latest _released_ version of Unicode at the time.
      Data for the forthcoming release may be available.
  [2] <https://github.com/adobe-type-tools/agl-aglfn/blob/master/\
      glyphlist.txt>

     (<https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/\
     master/glyphlist.txt> may be more convenient.)

* Update the 'gnulib' sub-module to the latest version and the
  corresponding required commit hash identifier in 'INSTALL.REPO'.

* Update the release version number where it is hard-coded.
  + NEWS
  + BUG-REPORT
  + arch/mingw/grap2graph.cmd
  + doc/groff.texi (multiple occurrences)
  + doc/webpage.ms

* If the major or minor version number is being incremented, split off
  a historical ChangeLog file and add it to `EXTRA_DIST` in Makefile.am.

* Update in 'src/roff/groff/groff.cpp' the 'printf' that displays the
  copyright.

* Update the copyright year with 'update-copyright.sh'.

* Increment the version number by tagging the release, beta, or release
  candidate.  groff requires an explicit three-part version,
  major.minor.revision, due to the .Y register.

    $ git tag 1.23.0.rc1
