{
    "content": [
        {
            "type": "text",
            "text": "# deb-changelog(5) (man)\n\n**Summary:** deb-changelog - dpkg source packages' changelog file format\n\n## Examples\n\n- `dpkg (1.17.18) unstable; urgency=low`\n- `[ Guillem Jover ]`\n- `* Handle empty minimum versions when initializing dependency versions,`\n- `as the code is mapping the minimum version 0 to '' to avoid outputting`\n- `useless versions. Regression introduced in dpkg 1.17.17. Closes: #764929`\n- `[ Updated programs translations ]`\n- `* Catalan (Guillem Jover).`\n- `[ Updated dselect translations ]`\n- `* Catalan (Guillem Jover).`\n- `* German (Sven Joachim).`\n- `-- Guillem Jover <guillem@debian.org>  Sun, 12 Oct 2014 15:47:44 +0200`\n\n## See Also\n\n- deb822(5)\n- deb-version(7)\n- deb-changes(5)\n- dpkg-parsechangelog(1)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (1 lines) — 1 subsections\n  - debian/changelog (1 lines)\n- **DESCRIPTION** (101 lines)\n- **FILES** (2 lines)\n- **EXAMPLES** (16 lines)\n- **SEE ALSO** (5 lines)\n\n## Full Content\n\n### NAME\n\ndeb-changelog - dpkg source packages' changelog file format\n\n### SYNOPSIS\n\n#### debian/changelog\n\n### DESCRIPTION\n\nChanges in the packaged version of a project are explained in the changelog file\ndebian/changelog.  This includes modifications made in the source package compared to the\nupstream one as well as other changes and updates to the package.\n\nThe format of the debian/changelog allows the package building tools to discover which\nversion of the package is being built and find out other release-specific information.\n\nThat format is a series of entries like this:\n\npackage (version) distributions; metadata\n[optional blank line(s), stripped]\n* change-details\nmore-change-details\n[blank line(s), included in dpkg-parsechangelog(1) output]\n* even-more-change-details\n[optional blank line(s), stripped]\n-- maintainer-name <email-address>  date\n\npackage and version are the source package name and version number.  version is delimited by\nparenthesis U+00028 ‘(’ and U+0029 ‘)’.\n\ndistributions lists one or more space-separated distributions where this version should be\ninstalled when it is uploaded; it is copied to the Distribution field in the .changes file.\ndistributions must be terminated by a semicolon (U+003B ‘;’).\n\nmetadata lists zero or more comma-separated keyword=value items.  Each keyword can contain\nonly minus and case insensitive alphanumeric characters, as they need to be mapped to\ndeb822(5) field names.  The only keywords currently supported by dpkg are urgency and binary-\nonly.  urgency's value is used for the Urgency field in the .changes file for the upload.\nbinary-only with a yes value, is used to denote that this changelog entry is for a binary-\nonly non-maintainer upload (an automatic binary rebuild with the only change being the\nchangelog entry).\n\nThe change details may in fact be any series of lines starting with at least two spaces\n(U+0020 SPACE), but conventionally each change starts with an asterisk and a separating space\nand continuation lines are indented so as to bring them in line with the start of the text\nabove.  Blank lines may be used here to separate groups of changes, if desired.\n\nIf this upload resolves bugs recorded in the distribution bug tracking system, they may be\nautomatically closed on the inclusion of this package into the distribution archive by\nincluding the string:\n\nCloses: Bug#nnnnn\n\nin the change details (the exact Perl regular expression is\n/closes:\\s*(?:bug)?\\#?\\s?\\d+(?:,\\s*(?:bug)?\\#?\\s?\\d+)*/i).  This information is conveyed via\nthe Closes field in the .changes file.\n\nThe maintainer name and email address used in the changelog should be the details of the\nperson who prepared this release of the package.  They are not necessarily those of the\nuploader or usual package maintainer.  The information here will be copied to the Changed-By\nfield in the .changes file, and then later might be used to send an acknowledgment when the\nupload has been installed in the distribution archive.\n\nThe date has the following format (compatible and with the same semantics of RFC2822 and\nRFC5322, or what «date -R» generates):\n\nday-of-week, dd month yyyy hh:mm:ss +zzzz\n\nwhere:\n\nday-of-week\nIs one of: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\ndd  Is a one- or two-digit day of the month (01-31), where the leading zero is optional, but\nconventionally does not get omitted.\n\nmonth\nIs one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.\n\nyyyy\nIs the four-digit year (e.g. 2010).\n\nhh  Is the two-digit hour (00-23).\n\nmm  Is the two-digit minutes (00-59).\n\nss  Is the two-digit seconds (00-60).\n\n[+-]zzzz\nIs the time zone offset from Coordinated Universal Time (UTC).  ‘+’ indicates that the\ntime is ahead of (i.e., east of) UTC and ‘-’ indicates that the time is behind (i.e.,\nwest of) UTC.  The first two digits indicate the hour difference from UTC and the last\ntwo digits indicate the number of additional minutes difference from UTC.  The last two\ndigits must be in the range 00-59.\n\nThe first “title” line with the package name must start at the left hand margin.  The\n“trailer” line with the maintainer and date details must be preceded by exactly one space\n(U+0020 SPACE).  The maintainer details and the date must be separated by exactly two spaces\n(U+0020 SPACE).  Each part of the date can be separated by one or more spaces (U+0020 SPACE),\nexcept after the comma where it can be separated by zero or more spaces (U+0020 SPACE).\n\nAny line that consists entirely (i.e., no leading whitespace) of # or /* */ style comments or\nRCS keywords.\n\nVim modelines or Emacs local variables, and ancient changelog entries with other formats at\nthe end of the file should be accepted and preserved on output, but their contents might be\notherwise ignored and parsing stopped at that point.\n\nThe entire changelog must be encoded in UTF-8.\n\n### FILES\n\ndebian/changelog\n\n### EXAMPLES\n\ndpkg (1.17.18) unstable; urgency=low\n\n[ Guillem Jover ]\n* Handle empty minimum versions when initializing dependency versions,\nas the code is mapping the minimum version 0 to '' to avoid outputting\nuseless versions. Regression introduced in dpkg 1.17.17. Closes: #764929\n\n[ Updated programs translations ]\n* Catalan (Guillem Jover).\n\n[ Updated dselect translations ]\n* Catalan (Guillem Jover).\n* German (Sven Joachim).\n\n-- Guillem Jover <guillem@debian.org>  Sun, 12 Oct 2014 15:47:44 +0200\n\n### SEE ALSO\n\ndeb822(5), deb-version(7), deb-changes(5), dpkg-parsechangelog(1).\n\n\n\n1.21.1                                       2025-09-09                             deb-changelog(5)\n\n"
        }
    ],
    "structuredContent": {
        "command": "deb-changelog",
        "section": "5",
        "mode": "man",
        "summary": "deb-changelog - dpkg source packages' changelog file format",
        "synopsis": "",
        "flags": [],
        "examples": [
            "dpkg (1.17.18) unstable; urgency=low",
            "[ Guillem Jover ]",
            "* Handle empty minimum versions when initializing dependency versions,",
            "as the code is mapping the minimum version 0 to '' to avoid outputting",
            "useless versions. Regression introduced in dpkg 1.17.17. Closes: #764929",
            "[ Updated programs translations ]",
            "* Catalan (Guillem Jover).",
            "[ Updated dselect translations ]",
            "* Catalan (Guillem Jover).",
            "* German (Sven Joachim).",
            "-- Guillem Jover <guillem@debian.org>  Sun, 12 Oct 2014 15:47:44 +0200"
        ],
        "see_also": [
            {
                "name": "deb822",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/deb822/5/json"
            },
            {
                "name": "deb-version",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/deb-version/7/json"
            },
            {
                "name": "deb-changes",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/deb-changes/5/json"
            },
            {
                "name": "dpkg-parsechangelog",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/dpkg-parsechangelog/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "debian/changelog",
                        "lines": 1
                    }
                ]
            },
            {
                "name": "DESCRIPTION",
                "lines": 101,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "EXAMPLES",
                "lines": 16,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            }
        ]
    }
}