dch
Add entries to Debian changelog
SYNOPSIS
dch [option...] [version]
PARAMETERS
--create, -C
Create new changelog if none exists.
--package=NAME, -p NAME
Set package name to use.
--newversion=VERSION, -v VERSION
Specify new version number.
--increment, -i
Increment last version intelligently.
--qa
Append "qaN" to version for QA uploads.
--maintainer, -m
Set dist to UNRELEASED, urgency low.
--local=SUFFIX, -l SUFFIX
Append SUFFIX to version (e.g., "~local1").
--distribution=DIST, -D DIST
Set target distribution (e.g., unstable).
--urgency=URGENCY, -U URGENCY
Set urgency (low, medium, high, critical).
--changelog=FILE
Specify changelog file to edit.
--confirm, -c
Confirm before writing (default).
--no-confirm
Do not confirm before writing.
--release, -r
Mark entry as released (no UNRELEASED).
--news
Also update NEWS.Debian file.
--check
Check changelog syntax only.
--nmu
NMU-style changelog entry.
--empty
Add empty changelog entry.
--multimaint-merges, -M
Special multi-maintainer merge entry.
--help
Show short usage summary.
--help-maint
Detailed maintainer usage.
--version, -V
Print version information.
DESCRIPTION
dch (debchange) is a versatile command-line utility from the Debian devscripts package, essential for maintaining debian/changelog files in Debian and derivative package workflows. It automates adding new entries to changelogs, adhering to Debian Policy standards.
By default, running dch parses the existing changelog, increments the version intelligently (handling epochs, Debian revisions, upstream parts), adds a new entry with the current date, your name/email (from DEBFULLNAME/DEBEMAIL or dpkg config), and sets distribution to UNRELEASED with medium urgency. It prompts for confirmation before writing.
Key features include specifying custom versions, distributions (e.g., unstable, experimental), urgency levels (low, medium, high), local suffixes for experimental work, QA/NMU modes, and multi-maintainer merge entries. It supports creating new changelogs, checking syntax, updating NEWS.Debian files, and closing bugs via Bug#NNNN pseudo-headers.
dch integrates seamlessly with tools like debuild and git workflows, ensuring consistent versioning and metadata. It's widely used by Debian maintainers, Ubuntu packagers, and derivatives for reproducible package histories.
CAVEATS
Requires Debian-style changelog format; assumes DEBFULLNAME/DEBEMAIL set; may prompt interactively; not for non-Debian packaging.
COMMON USAGE
dch -i to increment version.
dch -r to release.
dch --qa for QA uploads.
VERSION HANDLING
Supports full Debian versioning (epoch:upstream-debian~debX); increments per policy.
HISTORY
Part of the devscripts suite since late 1990s; originally by Joseph Carter, evolved with Debian Policy changes; current in devscripts 2.23+.
SEE ALSO
dpkg-parsechangelog(1), debuild(1), dpkg-buildpackage(1), git-dch(1)


