Page MenuHomePhabricator

Enlightenment Releases
Updated 629 Days AgoPublic

This document describes the procedure in order to successfully release a stable version of Enlightenment.

  1. Apply backports from master (ping @zmike)
  2. Check if translation comments need updating git clean -fxd; Then commit if there are changes
  3. commit: cherry-pick+edit previous commit to and to bump the release version (eg. 0.20.0 -> 0.20.1)
  4. commit: Import git shortlog v$previous_version..HEAD~1 to top of NEWS under new version number (HEAD~1 to exclude the commit)
  5. tag: git tag -a v$version
  6. Run the python3 script at the end to generate table entries from addressed tickets:
  7. make distcheck
  8. Test compile+run against minimum required version of efl
  9. If significant build changes have occurred, send test tarballs to and wait 24-48 hours for packagers to test
  10. Go to and click edit for the last stable release announcement to get the full markup text
  11. Scroll all the way down and use the link there to add a new article
    • Try to pick urls in the form of e$MAJOR_$MINOR_release
  12. Replace content from previous release with updated content (copy/paste from NEWS)
  13. Copy tarballs to (/srv/web/ (ping @zmike or @raster or @stefan_schmidt if you don't have access)
  14. Copy/replace previous release mail text (eg.
  15. Re-read mail text for accuracy
  16. Send mail to
  17. Push commits and tag to repo git push --follow-tags
  18. Change IRC topic
  19. Update downloads link on
import argparse
import re
import subprocess
import time

from phabricator import Phabricator

phab = Phabricator()

parser = argparse.ArgumentParser(description='Find Tickets. Run this from the enlightenment git repo')
parser.add_argument('Range', help='a range to pass to git eg \"v0.21.9..HEAD\"')

args = parser.parse_args()

git =["git", "log", args.Range], stdout=subprocess.PIPE)

commits = re.findall("T[0-9][0-9][0-9][0-9]", str(git.stdout))
# list(set(X)) makes it unique
task_list = sorted(list(set(commits)))


for t in task_list:
    result = str([1:])))[1:-1]

    items = result.split(",")
    for i in items:
        if "\'title\':" in i:
            title = i[i.index(":")+3:-1]
            print ("| [[" + t + "|"+ t +" ]] |" + title + " |")
    # sleep to stop killing phab
Last Author
Last Edited
Nov 28 2017, 12:48 AM
raster, stefan_schmidt, zmike, simotek