Difference between revisions of "What to do for a release"

From Gramps
Jump to: navigation, search
m (ChangeLog files are included)
m (Making the source tarball available)
Line 98: Line 98:
==Making the source tarball available==
==Making the source tarball available==
Create the <code>readme.rst</code> file containing the changes since the previous release.
Line 105: Line 103:
* Edit the tag and publish the release
==Announcing the new release==
==Announcing the new release==

Revision as of 09:52, 1 August 2017

'Developer notes for What to do for a release '

Updated guidelines for Git

Translation update

Run the following steps:

git checkout gramps51
git pull
  • Translations stuff
cd po
python3 update_po.py -p  
git diff gramps.pot

If there have been changes on msgid entries, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.

For checking current translation files:

 python3 update_po.py -k all

Release name

Refer to (and update) the list of previous releases to select an appropriate name.

Changelog and NEWS file

Look at the changelog:

git log v5.1.5..

Edit and update the NEWS file. Commit the NEWS file:

git commit -am "update for 5.1.5 release"

Working on VERSION

Check gramps/version.py to indicate an official release:

gedit gramps/version.py 

and if need, update the version for the release:

VERSION_TUPLE = (4, 2, 0)

Modify gramps/gen/const.py to indicate an official release:

- VERSION += git_revision
+ #VERSION += git_revision

Save change:

git commit -am "make official release"

The version number should be the same on "about" dialog:

python3 Gramps.py


python3 Gramps.py -v

Create a tag

Create the release tag:

git tag -am "tag 5.1.5" v5.1.5

Tags should be prefixed with the letter v.

Include ChangeLog files

Section 2a of the General Public License says that if you distribute a modified version of a program: you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

git checkout <tag>
git log v5.1.5.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog
git log v5.1.5.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog
git commit -am "Update ChangeLog files"
git push

The Changelog files generated with git2cl.

Should be included on tarball generated by Github.

Push to repository

Push the changes to the repository:

git push origin v5.1.5

Work on tag

Move to the new release number on branch

Bump the version number in gramps/version.py

Update the version for the release:

VERSION_TUPLE = (4, 0, ...)

Revert change on gramps/gen/const.py to indicate git revision:

- #VERSION += get_git_revision
+ VERSION += get_git_revision

Save change:

git commit -am "bump to <new version number>"
git push

Release from tag

git checkout <tag> -b <new_branch_name>

Create the official source tarball:

python3 setup.py sdist

Making the source tarball available


  • Automatically created when tagged


  • Edit the tag and publish the release

Announcing the new release

/TOPIC #gramps Welcome to Gramps! The latest versions are 5.1.5 and the legacy 3.4.9 || http://www.gramps-project.org/ || Please state OS and Gramps version when asking a question. Understand that replies can take up to 2 days depending on whose watching the channel. Please consider asking on the gramps-users mailing list.

  • update the version number at Wikipedia
  • update mantisdb(Bug/issue database) and enable the new version via Admin:Projects item for reporting issues.


  • merge forward the NEWS file

See also

External links