Skip to main content
Version: 1.0

The preview command

dispat preview plans, then prints the pending release notes: the breaking-changes/features/fixes sections plus provider updates that the next release's changelog entry and GitHub release body would carry. It covers every package that has something pending, in publish order, narrowed by --package / --space / --group or the invocation folder. It follows the release-notes windowing, so a pending prerelease previews only its own changeset. Prints no pending changes when nothing is, naming the selection when there was one.

Choosing which body to preview​

The two records are configured separately, so they can say different things. --changelog prints the changelog entry body and --github the GitHub release body, each under its own entry format: its own header, footer and releaseName. Together they print both under one header per package, labelled --- changelog --- and --- github release ---. Naming neither prints the changelog entry.

This is where you check what the channel filters actually do before releasing anything, since a preview renders for the channel the pending release is on.

Two things a preview cannot show. The ### Release block a GitHub body carries in commit mode is built from what publishing exported, and nothing has been published, so it is absent. And when a record would write nothing at all, the preview says so in its place:

## core@1.3.0-beta.0 (stable -> beta)

github release withheld: the channels do not admit beta

The reason is either disabled by config or the channels the record is restricted to. Whether a GitHub release is created also depends on the DISPAT_EXPORT_GITHUB export, which no preview can know; the note covers the configured policy, which is the part you can act on.

Flags​

Beside the global flags:

FlagDefaultEffect
--changelogfalsePrint the changelog entry body. The default when neither this nor --github is given.
--githubfalsePrint the GitHub release body, under the github entry format. Beside --changelog, both are printed and labelled.
--package, -pEvery package-selecting command (release, status, run, preview, changelog, autoversion, autowriter, autoreplacer, commit, github, compute): narrow to the named packages. Repeatable and comma-separated, matched case-insensitively, * globs (-p '*' is every package); see Choosing the packages.
--space, -sThe same eleven commands: narrow to every package of the named spaces, with the same spellings. A standalone package belongs to no space; see Choosing the packages.
--group, -gThe same eleven commands: narrow to every package of the named versioning groups, with the same spellings. A group is a versionGroups entry or a space that versions as one, so it may cross spaces; see Choosing the packages.