Manual Changelog

This describes the traditional method of managing changelogs that provides a separate text log of user-visible changes independently of the git commit messages. This is an alternative for the recommended method with %autochangelog described in Changelogs.

Every time you make changes, that is, whenever you increment the E-V-R of a package, add a changelog entry in the %changelog section.

Changelog entries should provide a brief summary of the changes done to the package between releases. They must never simply contain an entire copy of the source CHANGELOG entries. The same general rules should be followed as described in Changelogs.

You must use one of the following formats:

%changelog
* Fri Jun 23 2006 Jesse Keating <jkeating@redhat.com> - 0.6-4
- And fix the link syntax.
%changelog
* Fri Jun 23 2006 Jesse Keating <jkeating@redhat.com> 0.6-4
- And fix the link syntax.
%changelog
* Fri Jun 23 2006 Jesse Keating <jkeating@redhat.com>
- 0.6-4
- And fix the link syntax.

If you wish to "scramble" or "obfuscate" your email address in the changelog, you may do so, provided that it is still understandable by humans.

Multiple Changelog Entries per Release

In some situations, it may be useful for packagers to have multiple changelog entries in the spec file, but not increment the release field for each one. There are two supported methods for doing this:

Updating and replacing the existing date line

In this situation, you have added this changelog entry, but have not built the package yet:

%changelog
* Nov 12 2010 Toshio Kuratomi <toshio_fedoraproject.org> - 1.0-1
- Fix spelling errors in package description

The next day, you make additional changes to the spec, and need to add a new changelog line, then you would update the existing date line for 1.0-1, and append any new notes, making the changelog look like this:

%changelog
* Nov 13 2010 Toshio Kuratomi <toshio_fedoraproject.org> - 1.0-1
- Fix spelling errors in package description
- Add a patch to fix compilation problems on F15

Please remember that this is only acceptable if 1.0-1 has not yet been built.

You can do this any number of times, until you actually build 1.0-1 in the buildsystem. Once you’ve done that, you must change the E-V-R and any new entries should be added as described in Changelogs.

Repeat the old version release with a new entry

In this situation, you have added this changelog entry, but have not built the package yet:

%changelog
* Nov 12 2010 Toshio Kuratomi <toshio_fedoraproject.org> - 1.0-1
- Fix spelling errors in package description

The next day, you make additional changes to the spec, and need to add a new changelog line. Now, you can add an additional changelog item with the new date, but the same Version-Release, so your new changelog looks like this:

%changelog
* Nov 13 2010 Toshio Kuratomi <toshio_fedoraproject.org> - 1.0-1
- Add a patch to fix compilation problems on F15

* Nov 12 2010 Toshio Kuratomi <toshio_fedoraproject.org> - 1.0-1
- Fix spelling errors in package description

Please remember that this is only acceptable if 1.0-1 has not yet been built.

You can do this any number of times, until you actually build 1.0-1 in the buildsystem. Once you’ve done that, you must change the E-V-R and any new entries should be added as described in Changelogs.