performance improvement to cookie handling when a single spider is crawling a large number of domains
if you put in settings.py something like import local_settings and local_settings doesn't exist or contains errors you get:

/usr/local/lib/python2.7/dist-packages/Scrapy-0.15.1-py2.7.egg/scrapy/utils/project.py:17: UserWarning: Cannot import scrapy settings module settings
warnings.warn("Cannot import scrapy settings module %s" % scrapy_module)
...
File "/usr/local/lib/python2.7/dist-packages/Scrapy-0.15.1-py2.7.egg/scrapy/cmdline.py", line 117, in _run_command
cmd.run(args, opts)
File "/usr/local/lib/python2.7/dist-packages/Scrapy-0.15.1-py2.7.egg/scrapy/commands/crawl.py", line 43, in run
spider = self.crawler.spiders.create(spname, **opts.spargs)
File "/usr/local/lib/python2.7/dist-packages/Scrapy-0.15.1-py2.7.egg/scrapy/spidermanager.py", line 43, in create
raise KeyError("Spider not found: %s" % spider_name)
KeyError: 'Spider not found: fb_spider'

Which is not very descriptive.

Now showing details about the exception when ImportError was raises
Merge pull request #155 from warvariuc/import_settings_module_verbose

Spider not found - confusion
fixed typo in stats documentation. closes #159
Pass into the model only existing fields

Model fields has default values and when field doesn't exists in item container, added `None` instead default value. My patch solves this problem.
Simple test for default values of model in DjangoItem
append parse command to example code sections in docs. closes #162
Recommend pypi as single way to install on Windows
added ppt to scrapy.linkextractor.IGNORED_EXTENSIONS
added more extensions to ignore on link extractors
Merge pull request #160 from midiotthimble/patch-1

Pass into the model only existing fields

test passing OK and changes makes sense
Small improvement on *MemoryQueue performance (mainly on push time)
Merge pull request #165 from andrix/master

Just a simple refactoring on *MemoryQueue classes that improve the performance
SEP-017 contracts: first draft
Removed per-spider settings concept, and scrapy.conf.settings singleton from many extensions and middlewares. There are some still remaining, that will be removed in future commits
Removed signals/stats singletons

This change removes singletons for stats collection and signal
dispatching facilities, by making them a member of the Crawler class.

Here are some examples to illustrates the old and new API:

Signals - before:

    from scrapy import signals
    from scrapy.xlib.pydispatch import dispatcher
    dispatcher.connect(self.spider_opened, signals.spider_opened)

Signals - now:

    from scrapy import signals
    crawler.signals.connect(self.spider.opened, signals.spider_opened)

Stats collection - before:

    from scrapy.stats import stats
    stats.inc_value('foo')

Stats collection - now:

    crawler.stats.inc_value('foo')

Backwards compatibility was retained as much as possible and the old API
has been properly flagged with deprecation warnings.
use ScrapyJSONEncoder JsonItemExporter & JsonLinesItemExporter, to support nested items properly
fixed typo in tests
SEP-017 contracts

* load contracts from settings
* refactored contracts manager
* fixed callback bug, which caused responses to be evaluated with a
wrong callback sometimes
* "returns" contract
Updated documentation after singleton removal changes.

Also removed some unused code and made some minor additional
refactoring.