Some of the bigger bits of news from this release are the support for in-browser testing frameworks, along with the anouncement that Python 2.4 will no longer be supported:
Django 1.4 supports integration with in-browser testing frameworks like Selenium. The new django.test.LiveServerTestCase base class lets you test the interactions between your site’s front and back ends more comprehensively. See the documentation for more details and concrete examples. Also, please note that Django 1.4 now requires a minimum of Python 2.5; Python 2.4 is no longer supported.
-- James Bennett
While there are a litany of new features and improvements in the Django 1.4 beta 1 release notes, here are some of the more notable ones:
- SELECT FOR UPDATE support: Features a QuerySet.select_for_update() that generates a SQL query and prevents other transactions fro modifying of deleting matched rows.
- Model.objects.bulk_create in the ORM: allows you to create multiple objects in the ORM more efficiently.
- QuerySet.prefetch_related: Once query evaluation begins, a new QuerySet is returned that will prefetch related lookups in one batch.
- Improved Password Hashing: Django 1.4 uses the PBKDF2 algorithm in place of the SHA1 algorithm, which has been deemed less secure. ("Warning: Django 1.4 alpha contained a bug that corrupted PBKDF2 hashes. More information is available here.")
- HTML5 Doctype: While Django will maintain compatibility with older browsers, it has now switched the admin and other bundled templates to HMTL5, meaning any HTML5 features can be used in the admin pages without losing HTML5 validity.
Django 1.4 beta 1 also features:
For a full list of new features and improvements in Django 1.4 beta 1, check out the release notes.
Django 1.4 beta 1 is available for download here.