Versioning and API Stability

Versioning

There are 3 numbers in a Scrapy version: A.B.C

  • A is the major version. This will rarely change and will signify verylarge changes.
  • B is the release number. This will include many changes including featuresand things that possibly break backward compatibility, although we strive tokeep theses cases at a minimum.
  • C is the bugfix release number.

Backward-incompatibilities are explicitly mentioned in the release notes,and may require special attention before upgrading.

Development releases do not follow 3-numbers version and are generallyreleased as dev suffixed versions, e.g. 1.3dev.

Note

With Scrapy 0.* series, Scrapy used odd-numbered versions for development releases.This is not the case anymore from Scrapy 1.0 onwards.

Starting with Scrapy 1.0, all releases should be considered production-ready.

For example:

  • 1.1.1 is the first bugfix release of the 1.1 series (safe to use inproduction)

API Stability

API stability was one of the major goals for the 1.0 release.

Methods or functions that start with a single dash (_) are private andshould never be relied as stable.

Also, keep in mind that stable doesn’t mean complete: stable APIs could grownew methods or functionality but the existing methods should keep working thesame way.