Difference between revisions of "Dev:Release"

From Synfig Studio :: Documentation
Jump to: navigation, search
(Create the tarball: fix configure command)
(Apply latest translations: Update instructions)
 
(66 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
<!--Categories-->
 
<!--Categories-->
[[Category:Building]]
+
{{Category|Building}}
  
 
==Preparation==
 
==Preparation==
  
To do a release you must have a proper up to date copy of the sourcecode. Check out [[Source code|here]] to see how to obtain it.
+
Choose a release manager (RM) who will manage the release and do most of the work and co-ordination needed to get a release out.
  
You have to be an administrative member of sourceforge and to have write access to the synfig subversion. Ask any of the current administrators about that. Also a wiki account and a forum account are necessary.  
+
The RM will be responsible for deciding when the code is ready to be released and which problems will block the release.
  
We would assume that the svn local copy of the source code are in a separate folder in your local drive and they are: etl, synfig-core, and synfig-studio accordingly to the [[Source code|source code]] instructions.
+
The RM must have a proper up to date copy of the sourcecode. Check out {{l|Dev:Source code|here}} to see how to obtain it.
 +
 
 +
The RM must be an administrative member of sourceforge and to have write access to the synfig git repository. Ask any of the current administrators about that. Also a wiki account and a forum account are necessary.
 +
 
 +
We would assume that the git local copy of the source code are in a separate folder in your local drive and they are: etl, synfig-core, and synfig-studio accordingly to the {{l|Dev:Source code|source code}} instructions.
  
 
== Splash ==
 
== Splash ==
 +
 
* Pick a date at least 5 weeks into the future.
 
* Pick a date at least 5 weeks into the future.
 
* Post a splash screen challenge in the forums.
 
* Post a splash screen challenge in the forums.
Line 16: Line 21:
 
* After one week close the poll and name the winnar!
 
* After one week close the poll and name the winnar!
 
* Obtain the source of the winner file and commit it:
 
* Obtain the source of the winner file and commit it:
** Rename the synfig-studio/images/splash-screen.sifz to synfig-studio/images/splash-xx.xx.xx.sifz where xx.xx.xx is the previous version.
+
** Add the new splash source file to synfig-studio/images/splash-screen-xx.xx.xx.sifz where xx.xx.xx is the released version number.
** Add the new splash source file to synfig-studio/images/splash-screen.sifz
+
** Disable development splash [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=65a91a4d12c667144d2dbbee367665ac02d77b0c example]
** Modify synfig-studio/images/Makefile.am accordingly.
+
** Modify synfig-studio/images/Makefile.am accordingly. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=0b73a062d497b08b3012b61eb48ab79d2f87a69d example]
 
** Update synfig-studio/AUTHORS, synfig-studio/README, and synfig-studio/src/gtkmm/about.cpp if needed.
 
** Update synfig-studio/AUTHORS, synfig-studio/README, and synfig-studio/src/gtkmm/about.cpp if needed.
  
== Froze commits==
+
== Freeze commits ==
 +
 
 
It would be good if no one commit more changes/patches until the release is done. Mainly because at some point we need to stop polishing the current revision.
 
It would be good if no one commit more changes/patches until the release is done. Mainly because at some point we need to stop polishing the current revision.
  
Ping coders, artists and translators and advice them about the release preparation. Ask for last updates before froze the commits. Give some time to update. Preferably no more than a week.
+
First should come the feature freeze, then the string freeze and then the final cutoff of translations & bug fixes just before the release.
 +
 
 +
There is no technical way to freeze commits with sourceforge, so the developers should be willing to play nice with the release.
 +
 
 +
Ping coders, artists and translators and advice them about the release preparation. Ask for last updates before freezing the commits. Give some time to update. Preferably no more than a week.
  
 
==Copyrights==
 
==Copyrights==
 +
 
Make sure the copyrights in README, the AUTHORS file and the about dialog list of contributors are up to date.
 
Make sure the copyrights in README, the AUTHORS file and the about dialog list of contributors are up to date.
  
Do a <code>grep -r Copyright README</code> in the three etl, synfig-core and synfig-studio folders. It would return all the poeple that have current copyrights. Review the list of commits and the patches authoring to update it properly. Review the AUTHORS in each folder and don't forget the artists and translators.
+
Do a <code>grep -r Copyright README</code> in the three etl, synfig-core and synfig-studio folders. It would return all the people that have current copyrights. Review the list of commits and the patches authoring to update it properly. Review the AUTHORS in each folder and don't forget the artists and translators.
 +
 
 +
== Release candidates ==
 +
 
 +
Following {{l|#Create the tarball|this instructions}} to create a tarball of the current git release, {{l|#Upload tarball|upload them to sourceforge}} and tag them as Release Candidate number 1, 2 etc.  Create as many Release candidates as you need or consider. Ask people to download and {{l|#Test before publishing|test them}}. The forum and the IRC is a good place.
 +
When everything goes fine then continue the release.
 +
 
 +
== Apply latest translations ==
 +
You need to fetch translations from transifex.
 +
# install transifex-client ('yum install transifex-client' on Fedora)
 +
# cd into synfig repository
 +
# run 'bash ./autobuild/transifex-pull-translations.sh'
 +
# fix lines marked as "TODO" in synfig-studio/src/languages.inc.c (if any)
 +
# push edited .po files back to transifex - 'bash ./autobuild/transifex-push-translations.sh'
 +
# commit changes
  
 
==Versioning==
 
==Versioning==
  
*Finalise the dates and SVN ids in NEWS.  
+
*Update version in save file dialog
** You already know the release revision number and the date of the next commit. Place them correctly in the etl/NEWS, synfig-core/NEWS and synfig-studio/NEWS files.
+
** synfig-core/src/synfig/releases.h
 +
** synfig-studio/src/gui/app.cpp
 +
*Finalise the dates and GIT ids in NEWS.  
 +
** You already know the release revision number and the date of the next commit. Place them correctly in the etl/NEWS, synfig-core/NEWS and synfig-studio/NEWS files. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=12b2c80e47fe97432acddd953354e5df6dc09ece example]
  
 
*Bump version numbers and ETL/synfig dependencies in the configure.ac files.
 
*Bump version numbers and ETL/synfig dependencies in the configure.ac files.
 
**This would imply increase the version number in the following files:  
 
**This would imply increase the version number in the following files:  
 
***etl/configure.ac: increase ETL version number
 
***etl/configure.ac: increase ETL version number
 +
***synfig-core/src/synfig/version.h: change SYNFIG_VERSION and SYNFIG_LIBRARY_VERSION variables
 
***synfig-core/configure.ac: increase ETL version number dependence matching the previous one and the synfig version number.
 
***synfig-core/configure.ac: increase ETL version number dependence matching the previous one and the synfig version number.
***synfig-studio/configure.ac: Increase ETL and synfig version number dependence matching the previous ons and the synfigstudio version number.
+
***synfig-studio/configure.ac: Increase ETL and synfig version number dependence matching the previous ones and the synfigstudio version number. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=7a5f90dfd5d710571486eada173f50f34b4e31e5 example]
  
 
* Double check the version numbers in configure.ac and NEWS are correct. Fix them if are wrong.
 
* Double check the version numbers in configure.ac and NEWS are correct. Fix them if are wrong.
Line 48: Line 77:
 
== Create the tarball ==
 
== Create the tarball ==
  
Create a tarball to allow users to just compile and install. Run the following commands and substitute the ''XX'' versions properly. For example for etl the numbering is nowadays 0.04.12 and for synfig and synfigstudio numbering are nowadays 0.61.09. Some day we should decide what do to with version numbering.
+
Create a tarball to allow users to just compile and install. Run the following command from synfig source tree:
 +
./autobuild/synfigstudio-release.sh
 +
See script body for additional usage notes.
  
  mkdir ~/tmp
+
== Test before publishing ==
  mkdir ~/tmp/synfig-release
+
* Test installed stuff. To run the installed synfigstudio from the tarball you've created you have to run directly from the command line:
  
  version=0.04.12
+
$HOME/local-synfig/bin/synfigstudio
  cd ~/tmp/synfig-release
+
  svn export https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/ etl
+
  cd etl
+
  autoreconf -if
+
  prefix=~/local-synfig
+
  ./configure --prefix=$prefix
+
  make distcheck
+
  tar xf ETL-${version}.tar.gz
+
  cd ETL-${version}
+
  ./configure --prefix=$prefix
+
  make install
+
  
  version=0.61.09
+
At this point there should be some battery of test sifz files and scripts to run various error proof tests to be sure that the release don't have nasty bugs. Share the tarball with other people that have other OS and ask them to build and run the same tests. This point is important for testing the release in different platforms, specially if there has been some changes that can have cross effects.
  cd ~/tmp/synfig-release
+
  svn export https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/ synfig
+
  cd synfig
+
  libtoolize --ltdl --copy -f
+
  autoreconf -if
+
  prefix=~/local-synfig
+
  ./configure --prefix=$prefix
+
  make distcheck
+
  tar xf synfig-${version}.tar.gz
+
  cd synfig-${version}
+
  ./configure --prefix=$prefix
+
  make install
+
  
 
+
== Make tags ==
  version=0.61.09
+
*Make tags and update the unstable branch. Run the following commands in the repository with write access:
  cd ~/tmp/synfig-release
+
git tag ETL-0.04.12
  prefix=~/local-synfig
+
git tag synfig-0.61.09
  PATH=$prefix/bin:$PATH
+
git tag synfigstudio-0.61.09
  svn export https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/ synfigstudio
+
git tag -f stable
  cd synfigstudio
+
git push --tags
  autoreconf -if
+
With the appropriate version number.
  ./configure --prefix=$prefix
+
  make distcheck
+
  tar xf synfigstudio-${version}.tar.gz
+
  cd synfigstudio-${version}
+
  ./configure --prefix=$prefix
+
  make install
+
  
== Test before send to SF ==
+
== Upload source tarballs ==
* Test installed stuff. To run the installed synfigstudio from the tarball you've created you have to run directly from the command line:
+
* Upload the three tarballs (ETL, synfig, synfigstudio) to SF by using [https://sourceforge.net/project/admin/explorer.php?group_id=144022 the online upload] or following the instructions from [https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download this link]. Place each tarball in the corresponding folder.
 +
* Upload an proper release note file (ascii) to the Release Notes folder. Mark the Release Note checkbox from its properties.
 +
* Create a single tarball file including the etl, synfig, synfigstudio and the release note text file with the name of Synfig-Studio-XXX.tar.gz, where XXX is the version. Upload it to the ETL-Synfig-SynfigStudio folder and mark it as platform downloads (linux, windows, Mac <sigh>, and other).
 +
* For each file (etl, synfig, synfigstudio and Synfig-Studio) uploaded, select the Release Note you uploaded file as the release note for all them.
  
  $prefix/bin/synfigstudio
+
== Build and upload packages ==
 +
* Build binaries
 +
* Create MD5SUM file for binary and source files. Command:
 +
  find . -type f -print0 | sort -z | xargs -0 md5sum
 +
* Upload binaries and sources to Sourceforge
 +
* Upload binaries to [http://www.fosshub.com/Synfig.html FossHub]
 +
* Update screenshots at FossHub (optional)
 +
* Ping {{l|Distributions|distros}} to upgrade their packages by sending a mail to each of the people maintaining packages. Suggest that they send us patches and that they might want to do translations.
  
At this point there should be some battery of tster sifz files and scripts to run various error proof tests to be sure that the release don't have nasty bugs. Share the tarball with other people that have other OS and ask them to build and run the same tests. There is not exact  procedure for that. Maybe contact the [[People|People]] and ask them to do that job. This point is important for testing the release in different platforms, specially if there has been some changes that can have cross effects.
+
== Update the website ==
 +
* Write release notes based on the NEWS files ([http://www.synfig.org/cms/en/news/releases/synfig-studio-0-63-03/ example ]).
 +
* Update website pages:
 +
** [http://www.synfig.org/cms/en/download/stable/ Download Stable] - change links
 +
** [http://www.synfig.org/cms/en/download/development Download Development] - remove dev snapshots as outdated
 +
** Mark Release Notes page as visible to public
 +
** [http://www.synfig.org/cms/en/download/stable/ Download Stable] - change link to Release Notes
 +
** Update [http://www.synfig.org/issues/thebuggenie/synfig/release_center releases list in the Bug Tracker ]
 +
** Bug Tracker: For this release mark all "Ready for QA" bugs as closed.
 +
* Post a release announcement on the [http://www.synfig.org/forums/ forums]
 +
* Update quick URLs
 +
** Update http://synfig.org/VERSION_NUMBER to point to http://www.fosshub.com/Synfig.html
 +
** Update http://synfig.org/PREVIOUS_VERSION_NUMBER to point to https://sourceforge.net/projects/synfig/files/releases/PREVIOUS_VERSION_NUMBER/
  
== Make tags ==
+
== Spread the word ==
*Make tags and update the unstable branch. At each {etl, synfig-core, synfig-studio} folders run the following commands:
+
* Post update to Udemy
make tagstable
+
** Announcement
make tagrelease
+
** Update required version in description/video/link (if needed)
 +
* Update Gumroad Package
 +
** Change description
 +
** Change video / reupload
 +
** Notify clients
 +
* short writeup to the folks at LWN.net
 +
* Synfig devl mailing list
 +
* Synfig user mailing lint
 +
* [https://sourceforge.net/projects/synfig/ Sourceforge site page] update & [http://sourceforge.net/p/synfig/news/ news]
 +
* IRC topic
 +
* Update [http://en.wikipedia.org/wiki/Synfig Wikipedia]
 +
* Update Facebook/synfig & Google+/synfig pages.
  
==Release notes==
+
== The rest ==
*Write release notes based on the NEWS files. This would imply produce a new version at [[Releases]] page and its short versions (for example: [[Releases/0.61.08-Intro.en]]) to be sent to sf.net and freshmeat.net.  
+
* Celebrate with a nice $BEVERAGE_OF_CHOICE
 +
* Update the wiki with the new features and review the wiki with missing/uncomplete pages. <<< this is important!
 +
* Start thinking about the {{l|Dev:Roadmap|Roadmap}} for the next release.
  
== Upload tarballs ==
+
----
* Upload tarballs to sourceforge.
+
** Upload the three tarballs to SF by using [https://frs.sourceforge.net/webupload the online upload] or following the instructions from [http://alexandria.wiki.sourceforge.net/File+Release+System+-+Offering+Files+for+Download#tocFile%20Release%20System%20-%20Offering%20Files%20for%20Download4 this link]
+
** Create a new release at sf.net following the instructions of this [http://alexandria.wiki.sourceforge.net/File+Release+System+-+Offering+Files+for+Download#tocFile%20Release%20System%20-%20Offering%20Files%20for%20Download12 link]
+
  
==Update the rest of stuff==
+
I DON'T KNOW WHAT STUFF BELOW IS ABOUT> ANY IDEA? --[[User:Zelgadis|Zelgadis]] 11:04, 10 December 2011 (UTC)
  
* Update the topic in the [[Contact|irc channel]].
+
== Spread the Word ==
* Update the [[Download]], [[Releases]], [[News/Draft]], [[Main Page|front]], [[News]], [[Roadmap]], [[FAQ]] pages.
+
 
* Update the artwork of the MainPage and release all the editable graphics in [[Releases/Artwork|this page]]
+
* write press release (PR) (todo: Genete)
* Ping [[User:Pxegeek|pixelgeek]] to download the tarballs, build windows versions and upload them to sourceforge.
+
* add PR to website (for linking)
* Ping distros to upgrade their packages:
+
* update all Wikipedias
** fink: htodd
+
** en
** Debian: pabs3 and KiBi
+
** es
** Fedora: mwiriadi
+
** fr
* Post a release announcement on the [[Contact|forums]], sourceforge and get [[PaulWise]] (pabs) to update [http://freshmeat.net/projects/synfig freshmeat] and [http://gnomefiles.org/app.php/Synfig gnomefiles.org].
+
** ru
* Send a short writeup to the folks at LWN.net and the [[Contact|mailing lists]].
+
** de (todo: Oho)
* Celebrate with a nice $BEVERAGE_OF_CHOICE
+
** it
* Start thinking about the [[Roadmap]] for the next release.
+
** ...
 +
* send PR to all win/linux/debian/ubuntu... user groups, again: en, es, fr... (see below)
 +
* send PR to major magazines (OS independant, Win, Linux, Artists, Designers...) in all countries...
 +
* update websites "promoting" synfig ([http://linux.softpedia.com/get/Multimedia/Graphics/Synfig-7939.shtml linux.softpedia] & [http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Editors/Synfig.shtml softpedia], [http://alternativeto.net/software/synfig/ alternativeto.net] , ...)
 +
* ...
 +
 
 +
=== Distribution packager ===
 +
Contact distribution packager to have the chance of auto-update.
 +
 
 +
=== PR Distribution List ===
 +
We want to develop a distribution list. Everyone can contribute with adresses of important magazines, user groups (see below, please add more if you have more). Please keep the alphabethical order for language and address. Thx.
 +
 
 +
==== English ====
 +
* Animation Conversation podcast. - Weekly podcast about animation, mainly feature films: http://www.animationconversation.com/ : feedback [AT] animationconversation.com
 +
* Libre Graphics World - Portal for open source creativity: http://www.libregraphicsworld.org/ : alexandre.prokoudine [AT] gmail.com
 +
* Animation Magazine - Magazine for the (american) animation business: http://animationmagazine.net/ : edit [AT] animationmagazine.net
 +
* OS Artist - Free software news for artists blog: http://osartist.com/
 +
* Animation Reporter - Indian animation magazine: http://www.animationreporter.com/ : suresht [AT] fontandpixel.com
 +
* Cinefex - Magazine about special effects: http://www.cinefex.com/contact/
 +
* Frames Per Second magazine - Digital animation magazine: http://www.fpsmagazine.com/blog/index.php : news [AT] fpsmagazine.com
 +
* Deviant art Synfig group - http://synfig.deviantart.com/
 +
 
 +
==== French ====
 +
===== Webzines  =====
 +
* [http://www.fousdanim.org/ Fous d'anim] Magazine en ligne sur l'actualité du cinéma d'animation avec de nombreux liens sur la majorité des sites de références.
 +
* [http://www.awn.com/folioscope/gazette/ La gazette du loup], webzine sur le cinéma d'animation.
 +
* [http://www.objectif-cinema.com objectif cinéma], cinema plutôt qu'animation, leur forum discute cependant logiciels.
 +
* [http://www.linuxgraphic.org/wp/ linuxgraphic], portail francophone sur l'infographie libre.
 +
 
 +
===== General info media =====
 +
* http://www.paperblog.fr
 +
 
 +
===== Forums =====
 +
* http://www.forum-2d.com/f/index.php
 +
* http://www.videohelp.com/software/Synfig-Studio/version-history
 +
 
 +
===== Blogs =====
 +
* http://www.polyloop.net/fr/
 +
* http://www.digitalthink.fr/wordpress/
 +
 
 +
===== Technology =====
 +
* http://www.siteduzero.com/ - IT tutorials
 +
* Ubuntu-fr - http://www.ubuntu-fr.org/
 +
* Linux.org (fr) - http://linuxfr.org/pub/
 +
* http://www.korben.info/ - actualité informatique
 +
 
 +
==== German ====
 +
Do German translation of PR: (todo: Oho)
 +
send to German email addresses (todo: Oho)
 +
 
 +
IT Magazines:
 +
* c't Magazin: redaktion [AT] ct.de
 +
* Linux Magazin: presse-info [AT] linux-magazin.de
 +
* Ubuntu-user Magazin: pr [AT] ubuntu-user.de
 +
* Linux User Magazin: redaktion [AT] linux-user.de
 +
 
 +
Portals:
 +
* ProLinux Portal: info [AT] pro-linux.de
 +
* ubuntuusers.de: Ikhaya Artikel Vorschlag: http://ikhaya.ubuntuusers.de/suggest/ (todo: Oho)
 +
 
 +
Maybe:
 +
* Download Platform: freeware.de: redaktion [AT] freeware.de
  
A week or two later, check that all the unofficial packages have been updated, if not ping them and move them to the old versions section. Also check the svn versions are recentish and if not move them to the old versions section.
+
==== Spanish ====
 +
* ...

Latest revision as of 11:32, 8 May 2017


Preparation

Choose a release manager (RM) who will manage the release and do most of the work and co-ordination needed to get a release out.

The RM will be responsible for deciding when the code is ready to be released and which problems will block the release.

The RM must have a proper up to date copy of the sourcecode. Check out here to see how to obtain it.

The RM must be an administrative member of sourceforge and to have write access to the synfig git repository. Ask any of the current administrators about that. Also a wiki account and a forum account are necessary.

We would assume that the git local copy of the source code are in a separate folder in your local drive and they are: etl, synfig-core, and synfig-studio accordingly to the source code instructions.

Splash

  • Pick a date at least 5 weeks into the future.
  • Post a splash screen challenge in the forums.
  • After 4 weeks, close the challenge and post a poll.
  • After one week close the poll and name the winnar!
  • Obtain the source of the winner file and commit it:
    • Add the new splash source file to synfig-studio/images/splash-screen-xx.xx.xx.sifz where xx.xx.xx is the released version number.
    • Disable development splash example
    • Modify synfig-studio/images/Makefile.am accordingly. example
    • Update synfig-studio/AUTHORS, synfig-studio/README, and synfig-studio/src/gtkmm/about.cpp if needed.

Freeze commits

It would be good if no one commit more changes/patches until the release is done. Mainly because at some point we need to stop polishing the current revision.

First should come the feature freeze, then the string freeze and then the final cutoff of translations & bug fixes just before the release.

There is no technical way to freeze commits with sourceforge, so the developers should be willing to play nice with the release.

Ping coders, artists and translators and advice them about the release preparation. Ask for last updates before freezing the commits. Give some time to update. Preferably no more than a week.

Copyrights

Make sure the copyrights in README, the AUTHORS file and the about dialog list of contributors are up to date.

Do a grep -r Copyright README in the three etl, synfig-core and synfig-studio folders. It would return all the people that have current copyrights. Review the list of commits and the patches authoring to update it properly. Review the AUTHORS in each folder and don't forget the artists and translators.

Release candidates

Following this instructions to create a tarball of the current git release, upload them to sourceforge and tag them as Release Candidate number 1, 2 etc. Create as many Release candidates as you need or consider. Ask people to download and test them. The forum and the IRC is a good place. When everything goes fine then continue the release.

Apply latest translations

You need to fetch translations from transifex.

  1. install transifex-client ('yum install transifex-client' on Fedora)
  2. cd into synfig repository
  3. run 'bash ./autobuild/transifex-pull-translations.sh'
  4. fix lines marked as "TODO" in synfig-studio/src/languages.inc.c (if any)
  5. push edited .po files back to transifex - 'bash ./autobuild/transifex-push-translations.sh'
  6. commit changes

Versioning

  • Update version in save file dialog
    • synfig-core/src/synfig/releases.h
    • synfig-studio/src/gui/app.cpp
  • Finalise the dates and GIT ids in NEWS.
    • You already know the release revision number and the date of the next commit. Place them correctly in the etl/NEWS, synfig-core/NEWS and synfig-studio/NEWS files. example
  • Bump version numbers and ETL/synfig dependencies in the configure.ac files.
    • This would imply increase the version number in the following files:
      • etl/configure.ac: increase ETL version number
      • synfig-core/src/synfig/version.h: change SYNFIG_VERSION and SYNFIG_LIBRARY_VERSION variables
      • synfig-core/configure.ac: increase ETL version number dependence matching the previous one and the synfig version number.
      • synfig-studio/configure.ac: Increase ETL and synfig version number dependence matching the previous ones and the synfigstudio version number. example
  • Double check the version numbers in configure.ac and NEWS are correct. Fix them if are wrong.
  • Double check the copyright years in the README files and the about dialog are correct. Fix them if are wrong.

Create the tarball

Create a tarball to allow users to just compile and install. Run the following command from synfig source tree:

./autobuild/synfigstudio-release.sh

See script body for additional usage notes.

Test before publishing

  • Test installed stuff. To run the installed synfigstudio from the tarball you've created you have to run directly from the command line:
$HOME/local-synfig/bin/synfigstudio

At this point there should be some battery of test sifz files and scripts to run various error proof tests to be sure that the release don't have nasty bugs. Share the tarball with other people that have other OS and ask them to build and run the same tests. This point is important for testing the release in different platforms, specially if there has been some changes that can have cross effects.

Make tags

  • Make tags and update the unstable branch. Run the following commands in the repository with write access:
git tag ETL-0.04.12
git tag synfig-0.61.09
git tag synfigstudio-0.61.09
git tag -f stable
git push --tags

With the appropriate version number.

Upload source tarballs

  • Upload the three tarballs (ETL, synfig, synfigstudio) to SF by using the online upload or following the instructions from this link. Place each tarball in the corresponding folder.
  • Upload an proper release note file (ascii) to the Release Notes folder. Mark the Release Note checkbox from its properties.
  • Create a single tarball file including the etl, synfig, synfigstudio and the release note text file with the name of Synfig-Studio-XXX.tar.gz, where XXX is the version. Upload it to the ETL-Synfig-SynfigStudio folder and mark it as platform downloads (linux, windows, Mac <sigh>, and other).
  • For each file (etl, synfig, synfigstudio and Synfig-Studio) uploaded, select the Release Note you uploaded file as the release note for all them.

Build and upload packages

  • Build binaries
  • Create MD5SUM file for binary and source files. Command:
find . -type f -print0 | sort -z | xargs -0 md5sum
  • Upload binaries and sources to Sourceforge
  • Upload binaries to FossHub
  • Update screenshots at FossHub (optional)
  • Ping distros to upgrade their packages by sending a mail to each of the people maintaining packages. Suggest that they send us patches and that they might want to do translations.

Update the website

Spread the word

  • Post update to Udemy
    • Announcement
    • Update required version in description/video/link (if needed)
  • Update Gumroad Package
    • Change description
    • Change video / reupload
    • Notify clients
  • short writeup to the folks at LWN.net
  • Synfig devl mailing list
  • Synfig user mailing lint
  • Sourceforge site page update & news
  • IRC topic
  • Update Wikipedia
  • Update Facebook/synfig & Google+/synfig pages.

The rest

  • Celebrate with a nice $BEVERAGE_OF_CHOICE
  • Update the wiki with the new features and review the wiki with missing/uncomplete pages. <<< this is important!
  • Start thinking about the Roadmap for the next release.

I DON'T KNOW WHAT STUFF BELOW IS ABOUT> ANY IDEA? --Zelgadis 11:04, 10 December 2011 (UTC)

Spread the Word

  • write press release (PR) (todo: Genete)
  • add PR to website (for linking)
  • update all Wikipedias
    • en
    • es
    • fr
    • ru
    • de (todo: Oho)
    • it
    • ...
  • send PR to all win/linux/debian/ubuntu... user groups, again: en, es, fr... (see below)
  • send PR to major magazines (OS independant, Win, Linux, Artists, Designers...) in all countries...
  • update websites "promoting" synfig (linux.softpedia & softpedia, alternativeto.net , ...)
  • ...

Distribution packager

Contact distribution packager to have the chance of auto-update.

PR Distribution List

We want to develop a distribution list. Everyone can contribute with adresses of important magazines, user groups (see below, please add more if you have more). Please keep the alphabethical order for language and address. Thx.

English

French

Webzines
  • Fous d'anim Magazine en ligne sur l'actualité du cinéma d'animation avec de nombreux liens sur la majorité des sites de références.
  • La gazette du loup, webzine sur le cinéma d'animation.
  • objectif cinéma, cinema plutôt qu'animation, leur forum discute cependant logiciels.
  • linuxgraphic, portail francophone sur l'infographie libre.
General info media
Forums
Blogs
Technology

German

Do German translation of PR: (todo: Oho) send to German email addresses (todo: Oho)

IT Magazines:

  • c't Magazin: redaktion [AT] ct.de
  • Linux Magazin: presse-info [AT] linux-magazin.de
  • Ubuntu-user Magazin: pr [AT] ubuntu-user.de
  • Linux User Magazin: redaktion [AT] linux-user.de

Portals:

Maybe:

  • Download Platform: freeware.de: redaktion [AT] freeware.de

Spanish

  • ...