This page outlines the procedure used to release a new (major/minor) version of Scrapy. Micro/patch versions are published automatically.
You will need bumpversion installed.
Here is an example, assuming we are releasing 1.1.0rc1:
# Be sure your local master branch is uptodate with remote master branch.
$ git pull origin --rebase
# Update release notes by editing docs/news.rst
$ git add docs/news.rst
$ git commit -m 'Add 1.1.0 release notes'
# Increase version and create featured branch
# master: 1.1.0dev1 to 1.1.0rc1
$ bumpversion --new-version 1.1.0rc1 minor
# Review everything and push when sure.
$ git push origin master --tags
To make an official release from a release candidate:
# Set release date in docs/news.rst.
$ git add docs/news.rst
$ git commit -m 'Update 1.1.0 release date'
# Increase version.
# master: 1.1.0rc1 to 1.1.0
$ bumpversion release
# Review everything and push when sure.
$ git push origin master --tags
# Create branch for future bug fixing
$ git checkout -b 1.1
$ git push origin 1.1
Assuming we are releasing 1.1.2
:
$ git checkout 1.1
# 1.1: 1.1.1 to 1.1.2
$ bumpversion patch
# Add version, release date and changes to `docs/news.rst`
$ git log '--format=- %s (:commit:`%h`)' 1.1.1...1.1 # update docs/news.rst
$ git add docs/news.rst
$ git commit -m 'Add 1.1.2 release notes'
$ git push origin 1.1 --tags
# Checkout master and cherry pick `docs/news.rst` changes.
$ git checkout master
$ git cherry-pick 1.1 # resolve any conflicts on docs/news.rst
$ git push origin master
- Update buildbot configuration to point to the new stable release
- Enable the new version to be built in readthedocs
- Set the new version as default
- Update scrapy versions
- Update timeline page
- announce in:
- change
#scrapy
IRC channel topic:/msg ChanServ topic #scrapy Welcome to Scrapy - Say "Hi!" and ask. Latest stable release is Scrapy 0.24.4 - Easy tasks http://git.io/VpGt-w