Skip to content

press v1.19.1

Choose a tag to compare

@clintecker clintecker released this 21 Jul 18:51

Print pack, registrations, and public-readiness: offline ISBN assignment from
an owned prefix, print-safe interior images that clear the Lulu file warnings,
a top-to-bottom Lulu printing guide and a parts-of-a-book guide, versioned
dependency/code/secret security controls, Python 3.14 support, and a
repository-metadata drift check.

Added

  • Offline ISBN assignment (press isbn): record the registrant prefix your
    agency sold you as registrations.isbn-block: {prefix, size}, and
    press isbn assign print|epub mints the next unused ISBN-13 from it —
    computing the check digit, hyphenating with the agency's own prefix
    hyphenation, and writing it to registrations.isbn. press isbn status
    shows what is used and free; a malformed block fails press check, and an
    exhausted block or an already-assigned edition is refused. There is no API
    that issues an ISBN — you buy a prefix once, then assign from it offline.
    Also adds registrations.lccn_normalize (the Library of Congress canonical
    LCCN form).
  • Python 3.14 is a supported and tested version. The suite and the desk pass
    on 3.14; CI's package matrix runs it on Ubuntu alongside 3.10-3.13, the
    wheel declares the per-minor classifiers, press doctor treats 3.14 as
    in-range, and the installation and compatibility docs name the 3.10-3.14
    range (#168).
  • A scheduled Repository metadata workflow asserts the repository's
    discovery configuration cannot silently drift: the homepage points at the
    docs site, the default branch is main, wiki and projects stay disabled,
    and the topics remain set. It runs weekly and on demand, read-only (#165).
  • Print-safe interior images (press.print_safe): the print target now
    flattens transparency onto white and caps image resolution, so a
    print-on-demand vendor sees no transparency and no image over 600 PPI. A
    pandoc Lua filter redirects manuscript figures to the sanitized copies under
    build/print-assets/, and the generated front matter's logo follows; the
    reading PDF is unchanged. On the reference book this cleared both Lulu file
    warnings and roughly halved the interior PDF. A book with a hand-authored
    title page points its own logo at build/print-assets/ to match.
  • A top-to-bottom Lulu printing guide:
    which two files to upload, why the cover wrap fits Paperback Perfect Bound
    (and not the hardcover/dust-jacket templates), the Lulu settings that must
    match a book's config, the two advisory file warnings press produces (the
    transparent logomark and its ~602 PPI placement) with their fixes, and a
    troubleshooting table.
  • A task-oriented guide, the parts of a book, covering
    how to add each common part: the byline, the generated front matter
    (dedication, epigraph, acknowledgements, colophon), the author portrait, an
    about-the-author page, further-reading and glossary pages, footnotes, the
    index, and the sources-and-authorities bibliography. It leads with the
    press config commands and is honest about which parts are authored
    Markdown rather than configuration.
  • Versioned security controls (#154): a Dependabot config covering the
    Python package, the pinned GitHub Actions, and the toolchain base image
    (weekly, grouped); a CodeQL workflow analyzing the Python package on every
    pull request, push to main, and weekly; and a dependency-review workflow
    that fails a pull request adding a high-severity vulnerable dependency.
    Each new workflow runs at least privilege and uploads nothing to a third
    party.