Graphite 0.9.15 is now available for usage. This is primarily a bugfix release for some regressions introduced in 0.9.14. Users upgrading from older releases are advised to review the 0.9.14 release notes first.

Source bundles are available from GitHub:

Graphite can also be installed from PyPI via pip. PyPI bundles are here:


Graphite 0.9.15 requires a Django version of at least 1.4. Ensure this dependency is satisfied before updating graphite-web.

As always, comparing the example config files with existing ones is recommended to ensure awareness of any new features.

If you’re not already running 0.9.14, Graphite-web’s application database will need to be upgraded for a new Django fixture. It’s a good idea to backup the database before proceeding with the migration. The following will upgrade a SQLite database:

sudo cp /opt/graphite/storage/graphite.db \
      /opt/graphite/storage/graphite.db.backup-`date +%Y%m%d_%H%M%S`
sudo PYTHONPATH=/opt/graphite/webapp django-admin.py syncdb \
      --noinput --no-initial-data --settings=graphite.settings

Security Notes

No known security issues.

New Features


  • “Natural” sorting functionality added to sortByName (sylr, obfuscurity)


  • PyPy support (robert-zaremba, deniszh)

Bug fixes


  • Fix sample WSGI configuration (deniszh)
  • Unnecessary call to log handler when logging disabled (ShalomCohen)
  • Fix index exception for removeAbovePercentile and removeBelowPercentile (toote, obfuscurity)
  • Fix premature break when fetching series (bmhatfield)
  • Timezone fixes (bmhatfield)


  • Fix aggregator instrumentation (deniszh)
  • Fix support for twistd syslog (rppala90, obfuscurity)
  • Fix event tracking via state import (bmhatfield)


  • Revert change affecting Whisper boundaries (obfuscurity)