diff options
| author | Jacob Kaplan-Moss <jacob@jacobian.org> | 2008-08-23 22:25:40 +0000 |
|---|---|---|
| committer | Jacob Kaplan-Moss <jacob@jacobian.org> | 2008-08-23 22:25:40 +0000 |
| commit | 97cb07c3a10ff0e584a260a7ee1001614691eb1d (patch) | |
| tree | 204f4382c51e1c288dbf547875161731661733f5 /docs/misc/api-stability.txt | |
| parent | b3688e81943d6d059d3f3c95095498a5aab84852 (diff) | |
Massive reorganization of the docs. See the new docs online at http://docs.djangoproject.com/.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs/misc/api-stability.txt')
| -rw-r--r-- | docs/misc/api-stability.txt | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/docs/misc/api-stability.txt b/docs/misc/api-stability.txt new file mode 100644 index 0000000000..0bf4b984c4 --- /dev/null +++ b/docs/misc/api-stability.txt @@ -0,0 +1,95 @@ +.. _misc-api-stability: + +============= +API stability +============= + +Although Django has not reached a 1.0 release, the bulk of Django's public APIs are +stable as of the 0.95 release. This document explains which APIs will and will not +change before the 1.0 release. + +What "stable" means +=================== + +In this context, stable means: + + - All the public APIs -- everything documented in the linked documents, and + all methods that don't begin with an underscore -- will not be moved or + renamed without providing backwards-compatible aliases. + + - If new features are added to these APIs -- which is quite possible -- + they will not break or change the meaning of existing methods. In other + words, "stable" does not (necessarily) mean "complete." + + - If, for some reason, an API declared stable must be removed or replaced, it + will be declared deprecated but will remain in the API until at least + version 1.1. Warnings will be issued when the deprecated method is + called. + + - We'll only break backwards compatibility of these APIs if a bug or + security hole makes it completely unavoidable. + +Stable APIs +=========== + +These APIs are stable: + + - :ref:`Caching <topics-cache>`. + + - :ref:`Custom template tags and libraries <howto-custom-template-tags>`. + + - :ref:`Database lookup <topics-db-queries>` (with the exception of validation; see below). + + - :ref:`django-admin utility <ref-django-admin>`. + + - :ref:`FastCGI and mod_python integration <howto-deployment-index>`. + + - :ref:`Flatpages <ref-contrib-flatpages>`. + + - :ref:`Generic views <topics-http-generic-views>`. + + - :ref:`Internationalization <topics-i18n>`. + + - :ref:`Legacy database integration <howto-legacy-databases>`. + + - :ref:`Model definition <topics-db-models>` (with the exception of generic relations; see below). + + - :ref:`Redirects <ref-contrib-redirects>`. + + - :ref:`Request/response objects <ref-request-response>`. + + - :ref:`Sending e-mail <topics-email>`. + + - :ref:`Sessions <topics-http-sessions>`. + + - :ref:`Settings <topics-settings>`. + + - :ref:`Syndication <ref-contrib-syndication>`. + + - :ref:`Template language <topics-templates>` (with the exception of some + possible disambiguation of how tag arguments are passed to tags and + filters). + + - :ref:`Transactions <topics-db-transactions>`. + + - :ref:`URL dispatch <topics-http-urls>`. + +You'll notice that this list comprises the bulk of Django's APIs. That's right +-- most of the changes planned between now and Django 1.0 are either under the +hood, feature additions, or changes to a few select bits. A good estimate is +that 90% of Django can be considered forwards-compatible at this point. + +That said, these APIs should *not* be considered stable, and are likely to +change: + + - :ref:`Serialization <topics-serialization>` is under development; changes + are possible. + + - Generic relations will most likely be moved out of core and into the + content-types contrib package to avoid core dependencies on optional + components. + + **New in development version**: this has now been done. + + - The comments framework, which is yet undocumented, will get a complete + rewrite before Django 1.0. |
