Start:
    Freeze cocos directory, except for obvious, simple, robust fixes.
    Freeze existing code in samples and test directories
    Additions after the freeze should should be listed somewhere so they
    get tested before release.

Early:
 - Be sure all examples in test dir runs
 - If possible, unit test in utest should all pass.

Finishing:

- Proper updated license header, care to not target files which needs
  other license header

- decide version and date; write it down.
  They should be consistent with previous releases, to not confuse
  users and installers like easy_install or pip
  
  update version and date in
      cocos/__init__.py
      setup.py
	  documentation gets version from docgen/conf.py, which gets from cocos/__init__.py
      CHANGELOG
	  INSTALL

- new big capabilities should be updated in
    cocos/__init__.py docstring
    README    
    docgen/programming_guide/introduction.txt
    
- initial test 'build sdist' and 'install' with setup.py;

	- don't bother with docs generation at this stage
	- sometimes the build was broken by upgrades in setuptools, so check with latest in pypi 
    - adjust dependencies if needed, remember to mention in INSTALL
	- adjust MANIFEST.in if needed (usually when something is missed in the generated .zip)
	- test installation with pip, fix if necessary

- Update text files in the top trunk directory
	- CHANGELOG
	- LICENSE
	- INSTALL
	- README		

Keep in mind that
  - README it is also used as reST for the pypi page
	(see 1 in building_release_notes.txt), and also is rendered
	in the github project landing page

  - INSTALL is also used as docgen/programming_guide/installation.txt
	(manual copy atm), so use reST- sphinx compatible markup
	Keep the markup at a minimun, so the plain text is readable

- copy INSTALL to docgen/programming_guide/installation.txt

- build the docs (see 2 in building_release_notes.txt)
  currently the docs build produces 7 warnings, keep fixing while your number is higher. 

- build the final package that includes the docs
  (see tools/build_release_notes.txt for details)

- verify that non-code resources are included (currently docs\html, cocos\resources)

- verify install works, see 4 in building_release_notes.txt

- Update cocos2d.org site and the backup( see 5 in building_release_notes.txt)

- upload to pypi ( see 6 in building_release_notes.txt )
  For Release Candidates, alphas, betas we don't upload to pypi (automatic installers can't differentiate between stable or unstable releases, so by example 'easy_install foo' can silently install an unstable release if it where uploaded to pypi) 

- check how the pypi page looks, download the zip / tar and binary compare with the originals.

- tag the release in the repo (see 7 in building_release_notes.txt)

- Update release_checklist_template.txt and or building_release_notes.txt if necessary.

- Announce the release.
	cocos list
	pyar list
	pyglet list
	
- Congratulate yourself and relax :-)
