Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Django Development Milestones

Django Development Milestones

Box set of what's new in Django 1.X talks

Given at Django Birthday in Kansas

Marc Tamlyn

July 11, 2015
Tweet

More Decks by Marc Tamlyn

Other Decks in Technology

Transcript

  1. Django Development Milestones
    Django 1.0 onwards

    View Slide

  2. What's new in Django 1.0?
    September 2008
    18 months
    3080 commits, 1505 files changed, 285516 insertions(+), 99315 deletions(-)
    Malcolm, Adrian, Russell, Jacob

    View Slide

  3. EVERYTHING
    What's new in Django 1.0?
    September 2008

    View Slide

  4. Unicode by default
    Template auto escaping
    Newforms by default Total admin rewrite
    Queryset refactor
    Storage backends
    GIS
    What's new in Django 1.0?
    Django wouldn't be the same without…

    View Slide

  5. Total contrib.comments rewrite
    Jython support
    What's new in Django 1.0?
    Maybe we shouldn't have been so excited about…

    View Slide

  6. Paginator
    MultipleObjectsReturned
    What's new in Django 1.0?
    It's the little things in life…
    DecimalField
    Dict access to response headers

    View Slide

  7. What's new in Django 1.1?
    July 2009
    10 months
    1291 commits, 942 files changed, 95220 insertions(+), 35647 deletions(-)
    Malcolm, Russell, Jacob, Karen

    View Slide

  8. Aggregates
    F()
    Transactions in tests
    Admin actions
    What's new in Django 1.1?
    Django wouldn't be the same without…
    Unmanaged models

    View Slide

  9. URL Namespaces
    What's new in Django 1.1?
    Maybe we shouldn't have been so excited about…

    View Slide

  10. What's new in Django 1.1?
    It's the little things in life…
    {% empty %}

    View Slide

  11. What's new in Django 1.2?
    May 2010
    10 months
    1165 commits, 1322 files changed, 154617 insertions(+), 41590 deletions(-)
    Russell, Jannis, Luke, Karen

    View Slide

  12. ME!
    What's new in Django 1.2?
    May 2010

    View Slide

  13. Multiple databases
    CSRF rewrite
    contrib.messages
    Email backends
    What's new in Django 1.2?
    Django wouldn't be the same without…

    View Slide

  14. "As a side effect, it is now much easier to support non-
    Django template languages."
    "A foundation for specifying permissions at the per-object
    level has been added."
    What's new in Django 1.2?
    Maybe we shouldn't have been so excited about…

    View Slide

  15. Cached template loader
    {% if foo < bar %}
    What's new in Django 1.2?
    It's the little things in life…
    --failfast

    View Slide

  16. What's new in Django 1.3?
    March 2011
    10 months
    1590 commits, 3523 files changed, 429793 insertions(+), 296206 deletions(-)
    Russell, Jannis, Alex, Luke

    View Slide

  17. Class-based views
    settings.LOGGING
    contrib.staticfiles
    What's new in Django 1.3?
    Django wouldn't be the same without…

    View Slide

  18. ValidationError: ManagementForm data is missing or has
    been tampered with
    What's new in Django 1.3?
    Maybe we shouldn't have been so excited about…

    View Slide

  19. What's new in Django 1.3?
    It's the little things in life…
    {% include … with … only %}
    render()
    RequestFactory()
    Calling functions consistently in templates

    View Slide

  20. What's new in Django 1.4?
    March 2012
    12 months
    1689 commits, 4067 files changed, 313692 insertions(+), 142840 deletions(-)
    Jannis, Aymeric, Ramiro, Luke

    View Slide

  21. Timezone support
    What's new in Django 1.4?
    Django wouldn't be the same without…
    Timezone support
    Timezone support
    Timezone support
    Timezone support
    Timezone support

    View Slide

  22. bulk_create()
    PBKDF2
    Project layout
    Selenium
    What's new in Django 1.4?
    Django wouldn't be the same without…
    prefetch_related()
    Sensitive post parameters
    wsgi.py

    View Slide

  23. New form wizard
    What's new in Django 1.4?
    Maybe we shouldn't have been so excited about…

    View Slide

  24. Plaintext 500 for ajax
    assertHTMLEqual()
    What's new in Django 1.4?
    It's the little things in life…
    {% elif %}
    DISTINCT ON
    reverse_lazy
    Grouped manage.py help

    View Slide

  25. What's new in Django 1.5?
    February 2013
    11 months
    1853 commits, 3823 files changed, 164853 insertions(+), 153265 deletions(-)
    Claude, Aymeric, Tim, Anssi

    View Slide

  26. Pluggable User models
    update_fields
    Python 3
    What's new in Django 1.5?
    Django wouldn't be the same without…
    Streaming HTTP Responses

    View Slide

  27. … I've run out of hindsight
    What's new in Django 1.5?
    Maybe we shouldn't have been so excited about…

    View Slide

  28. What's new in Django 1.5?
    It's the little things in life…
    {% if True %}
    request.body
    django.utils.text.slugify
    cleaned_data on invalid forms
    LOGIN_URL accepts url names
    index_together

    View Slide

  29. What's new in Django 1.6?
    November 2013
    9 months
    2259 commits, 5497 files changed, 227580 insertions(+), 402846 deletions(-)
    Aymeric, Tim, Claude, Anssi

    View Slide

  30. For Malcolm
    What's new in Django 1.6?
    November 2013

    View Slide

  31. Persistent database connections
    ./manage.py check
    Transaction management
    What's new in Django 1.6?
    Django wouldn't be the same without…
    Faster model saving
    Test discovery
    JSON session serializer

    View Slide

  32. What's new in Django 1.6?
    It's the little things in life…
    qs.first()
    Deployment checklist
    HTML5 inputs
    Admin preserves filters

    View Slide

  33. What's new in Django 1.7?
    September 2014
    10 months
    3146 commits, 4590 files changed, 221832 insertions(+), 124929 deletions(-)
    Tim, Andrew, Aymeric, Claude

    View Slide

  34. Prefetch objects
    Queryset.as_manager()
    Migrations
    What's new in Django 1.7?
    Django wouldn't be the same without…
    Improved form errors
    App loading refactor
    Custom lookups

    View Slide

  35. What's new in Django 1.7?
    It's the little things in life…
    @admin.site.register
    HttpRequest.scheme
    Form clean doesn't have to return data
    Customisable empty_label
    HTTPS test client

    View Slide

  36. What's new in Django 1.8?
    April 2015
    7 months
    2726 commits, 4864 files changed, 131781 insertions(+), 197462 deletions(-)
    Tim, Claude, Aymeric, Andrew

    View Slide

  37. Django-secure
    setUpTestData
    Template Engines
    What's new in Django 1.8?
    Django wouldn't be the same without…
    Contrib.postgres
    Model._meta
    UUID and Timedelta
    Expressions

    View Slide

  38. What's new in Django 1.8?
    It's the little things in life…
    refresh_from_db
    --keepdb --reverse --debug-sql
    More care with model types in ORM
    MySQL microseconds
    Cleaner GIS
    Fixed default max_length

    View Slide

  39. What's new in Django 1.9?
    Scheduled December 2015
    8 months
    1209 commits, 1319 files changed, 54483 insertions(+), 41497 deletions(-)
    Tim, Claude, Aymeric, Markus

    View Slide

  40. ???
    Transaction commit signals
    What's new in Django 1.9?
    Django wouldn't be the same without…
    More contrib.postgres
    Permission mixins
    Password validation
    URLs rewrite?
    ???
    Composite fields?
    ???
    ???

    View Slide

  41. What's new in Django 1.9?
    It's the little things in life…
    client.force_login()
    Test extensions?
    Test client json
    Chainable date lookups
    ???
    ???
    ???
    ???

    View Slide

  42. Marc Tamlyn
    @mjtamlyn
    photocrowd.com

    View Slide