---
title: "Linha do tempo de depreciações no Django"
version: 6.1
locale: pt-br
source: https://docs.djangoproject.com/pt-br/6.1/internals/deprecation/
canonical: https://djangodocs.dev/pt-br/6.1/internals/deprecation/
---
# Linha do tempo de depreciações no Django

Este documento lista quando várias peças do Django serão removidas ou alteradas de modo incompatível com versões anteriores, culminando com a sua depreciação, conforme [política de depreciação](/pt-br/6.1/internals/release-process/#internal-release-deprecation-policy). Mais detalhes sobre cada item geralmente podem ser encontrados nas notas da release de duas versões anteriores.

## 7.0

See the [Django 6.0 release notes](/pt-br/6.1/releases/6.0/#deprecated-features-6-0) for more
details on these changes.

- The `serialize` keyword argument of
  `BaseDatabaseCreation.create_test_db()` will be removed.
- The `django.contrib.postgres.aggregates.StringAgg` class will be removed.
- The `django.contrib.postgres.aggregates.mixins.OrderableAggMixin` class
  will be removed.
- The default protocol in `urlize` and `urlizetrunc` template filters will
  change from HTTP to HTTPS.
- The `URLIZE_ASSUME_HTTPS` transitional setting will be removed.
- Using a percent sign in a column alias or annotation will raise
  `ValueError`.
- Support for setting the `ADMINS` or `MANAGERS` settings to a list of
  (name, address) tuples will be removed.
- The `orphans` argument being larger than or equal to the `per_page`
  argument of `django.core.paginator.Paginator` and
  `django.core.paginator.AsyncPaginator` will no longer be allowed.
- The [`django.core.mail`](/pt-br/6.1/topics/email/#module-django.core.mail) APIs will no longer accept certain parameters as
  positional arguments. These must be passed as keyword arguments instead.
- Support for passing Python’s legacy email `email.mime.base.MIMEBase`
  object to `EmailMessage.attach()` (or including one in the message’s
  `attachments` list) will be removed.
- The `django.core.mail.BadHeaderError` exception will be removed.
- The `django.core.mail.SafeMIMEText` and `SafeMIMEMultipart` classes will
  be removed.
- The `django.core.mail.forbid_multi_line_headers()` and
  `django.core.mail.message.sanitize_address()` functions will be removed.

See the [Django 6.1 release notes](/pt-br/6.1/releases/6.1/#deprecated-features-6-1) for more
details on these changes.

- Calling [`QuerySet.values_list()`](/pt-br/6.1/ref/models/querysets/#django.db.models.query.QuerySet.values_list) with `flat=True` and no field name
  will raise `TypeError`.
- The use of `None` when querying a [`JSONField`](/pt-br/6.1/ref/models/fields/#django.db.models.JSONField)
  top-level value will compile to SQL `IS NULL`. Use
  [`JSONNull`](/pt-br/6.1/ref/models/expressions/#django.db.models.JSONNull) to query for a JSON `null` value
  instead.
- The `django.db.models.fields.BLANK_CHOICE_DASH` constant will be removed.
- The `USE_BLANK_CHOICE_DASH` transitional setting will be removed.
- The `SIGNED_COOKIE_LEGACY_SALT_FALLBACK` transitional setting will be
  removed.
- The `Field.get_placeholder_sql` shim over the deprecated
  `get_placeholder` method will be removed.
- The `SQLCompiler.quote_name_unless_alias()` method will be removed.
- The `EMAIL_BACKEND`, `EMAIL_FILE_PATH`, `EMAIL_HOST`,
  `EMAIL_HOST_PASSWORD`, `EMAIL_HOST_USER`, `EMAIL_PORT`,
  `EMAIL_USE_TLS`, `EMAIL_USE_SSL`, `EMAIL_SSL_CERTFILE`,
  `EMAIL_SSL_KEYFILE`, and `EMAIL_TIMEOUT` settings will be removed.
- The `django.core.mail.get_connection()` function will be removed.
- The `connection`, `fail_silently`, `auth_user`, and `auth_password`
  arguments will be removed from [`send_mail()`](/pt-br/6.1/topics/email/#django.core.mail.send_mail), [`send_mass_mail()`](/pt-br/6.1/topics/email/#django.core.mail.send_mass_mail),
  [`mail_admins()`](/pt-br/6.1/topics/email/#django.core.mail.mail_admins), [`mail_managers()`](/pt-br/6.1/topics/email/#django.core.mail.mail_managers), the [`EmailMessage`](/pt-br/6.1/topics/email/#django.core.mail.EmailMessage)
  constructor, and [`EmailMessage.send()`](/pt-br/6.1/topics/email/#django.core.mail.EmailMessage.send). Support for the
  `EmailMessage.connection` attribute will also be removed.
- Directly creating instances of the `smtp.EmailBackend` class will become
  unsupported, and the class documentation for that backend will be removed.
- The `BaseEmailBackend.__init__()` method will raise errors for unknown
  keyword arguments and will remove support for `fail_silently`.
- The `email_backend` argument of [`log.AdminEmailHandler`](/pt-br/6.1/ref/logging/#django.utils.log.AdminEmailHandler) will be
  removed.
- The `django.contrib.postgres.aggregates.BitAnd`,
  `django.contrib.postgres.aggregates.BitOr`, and
  `django.contrib.postgres.aggregates.BitXor` classes will be removed.
- Support for double-dot variable lookup, like `{{ book..title }}`,
  is removed.
- The default value of the `algorithm` argument for
  `django.utils.crypto.salted_hmac()` and
  `django.core.signing.base64_hmac()` will change from `"sha1"` to
  `"sha256"`.
- Calling [`QuerySet.select_related()`](/pt-br/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_related) without arguments will raise
  [`TypeError`](https://docs.python.org/3/library/exceptions.html#TypeError).
- [`QuerySet.select_related()`](/pt-br/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_related) will raise [`TypeError`](https://docs.python.org/3/library/exceptions.html#TypeError) if passed
  `True` rather than [`AttributeError`](https://docs.python.org/3/library/exceptions.html#AttributeError).
- [`ModelAdmin`](/pt-br/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin) will raise [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) if subclassed with its
  [`list_select_related`](/pt-br/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_select_related) attribute set to `True`.
- [`ModelAdmin`](/pt-br/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin) will raise [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) if its
  [`get_list_select_related()`](/pt-br/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_list_select_related) method returns `True`.
- Support for overriding `ModelAdmin.get_actions()` without the new
  `action_location` parameter will be removed.
- Support for unpacking or indexing the dictionary values of the
  `ModelAdmin.get_actions()` return value will be removed. Use
  [`Action`](/pt-br/6.1/ref/contrib/admin/actions/#django.contrib.admin.Action) attributes instead.
- Support for overriding `ModelAdmin.get_action_choices()` without the new
  `action_location` parameter will be removed.
- The `django.db.transaction.savepoint()` alias to
  `django.db.transaction.savepoint_create()` will be removed.

## 6.1

See the [Django 5.2 release notes](/pt-br/6.1/releases/5.2/#deprecated-features-5-2) for more
details on these changes.

- The `all` keyword argument of `django.contrib.staticfiles.finders.find()`
  will be removed.
- Fallbacks to `request.user` and `request.auser()` when `user` is
  `None` in `django.contrib.auth.login()` and
  `django.contrib.auth.alogin()`, respectively, will be removed.
- The `ordering` keyword argument of the PostgreSQL specific aggregation
  functions `django.contrib.postgres.aggregates.ArrayAgg`,
  `django.contrib.postgres.aggregates.JSONBAgg`, and
  `django.contrib.postgres.aggregates.StringAgg` will be removed.
- Support for subclasses of `RemoteUserMiddleware` that override
  `process_request()` without overriding `aprocess_request()` will be
  removed.

## 6.0

See the [Django 5.0 release notes](/pt-br/6.1/releases/5.0/#deprecated-features-5-0) for more
details on these changes.

- The `DjangoDivFormRenderer` and `Jinja2DivFormRenderer` transitional form
  renderers will be removed.
- Support for passing positional arguments to `BaseConstraint` will be
  removed.
- `request` will be required in the signature of
  `ModelAdmin.lookup_allowed()` subclasses.
- The `django.db.models.sql.datastructures.Join` will no longer fallback to
  `get_joining_columns()`.
- The `get_joining_columns()` method of `ForeignObject` and
  `ForeignObjectRel` will be removed.
- The `ForeignObject.get_reverse_joining_columns()` method will be removed.
- The default scheme for `forms.URLField` will change from `"http"` to
  `"https"`.
- Support for calling `format_html()` without passing args or kwargs will be
  removed.
- Support for `cx_Oracle` will be removed.
- `BaseDatabaseOperations.field_cast_sql()` will be removed.
- The `ChoicesMeta` alias to `django.db.models.enums.ChoicesType` will be
  removed.
- The `Prefetch.get_current_queryset()` method will be removed.
- The `get_prefetch_queryset()` method of related managers and descriptors
  will be removed.
- `get_prefetcher()` and `prefetch_related_objects()` will no longer
  fallback to `get_prefetch_queryset()`.
- The `FORMS_URLFIELD_ASSUME_HTTPS` transitional setting will be removed.

See the [Django 5.1 release notes](/pt-br/6.1/releases/5.1/#deprecated-features-5-1) for more
details on these changes.

- The `ModelAdmin.log_deletion()` and `LogEntryManager.log_action()`
  methods will be removed.
- The undocumented `django.utils.itercompat.is_iterable()` function and the
  `django.utils.itercompat` module will be removed.
- The `django.contrib.gis.geoip2.GeoIP2.coords()` method will be removed.
- The `django.contrib.gis.geoip2.GeoIP2.open()` method will be removed.
- Support for passing positional arguments to `Model.save()` and
  `Model.asave()` will be removed.
- The setter for `django.contrib.gis.gdal.OGRGeometry.coord_dim` will be
  removed.
- `django.urls.register_converter()` will no longer allow overriding existing
  converters.
- The `check` keyword argument of `CheckConstraint` will be removed.
- The `OS_OPEN_FLAGS` attribute of
  [`FileSystemStorage`](/pt-br/6.1/ref/files/storage/#django.core.files.storage.FileSystemStorage) will be removed.
- The `get_cache_name()` method of `FieldCacheMixin` will be removed.

## 5.1

See the [Django 4.2 release notes](/pt-br/6.1/releases/4.2/#deprecated-features-4-2) for more
details on these changes.

- The `BaseUserManager.make_random_password()` method will be removed.
- The model’s `Meta.index_together` option will be removed.
- The `length_is` template filter will be removed.
- The `django.contrib.auth.hashers.SHA1PasswordHasher`,
  `django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher`, and
  `django.contrib.auth.hashers.UnsaltedMD5PasswordHasher` will be removed.
- The model `django.contrib.postgres.fields.CICharField`,
  `django.contrib.postgres.fields.CIEmailField`, and
  `django.contrib.postgres.fields.CITextField` will be removed. Stub fields
  will remain for compatibility with historical migrations.
- The `django.contrib.postgres.fields.CIText` mixin will be removed.
- The `map_width` and `map_height` attributes of `BaseGeometryWidget`
  will be removed.
- The `SimpleTestCase.assertFormsetError()` method will be removed.
- The `TransactionTestCase.assertQuerysetEqual()` method will be removed.
- Support for passing encoded JSON string literals to `JSONField` and
  associated lookups and expressions will be removed.
- Support for passing positional arguments to `Signer` and
  `TimestampSigner` will be removed.
- The `DEFAULT_FILE_STORAGE` and `STATICFILES_STORAGE` settings will be
  removed.
- The `django.core.files.storage.get_storage_class()` function will be
  removed.

## 5.0

See the [Django 4.0 release notes](/pt-br/6.1/releases/4.0/#deprecated-features-4-0) for more
details on these changes.

- The `SERIALIZE` test setting will be removed.
- The undocumented `django.utils.baseconv` module will be removed.
- The undocumented `django.utils.datetime_safe` module will be removed.
- The default value of the `USE_TZ` setting will change from `False` to
  `True`.
- The default sitemap protocol for sitemaps built outside the context of a
  request will change from `'http'` to `'https'`.
- The `extra_tests` argument for `DiscoverRunner.build_suite()` and
  `DiscoverRunner.run_tests()` will be removed.
- The `django.contrib.postgres.aggregates.ArrayAgg`, `JSONBAgg`, and
  `StringAgg` aggregates will return `None` when there are no rows instead
  of `[]`, `[]`, and `''` respectively.
- The `USE_L10N` setting will be removed.
- The `USE_DEPRECATED_PYTZ` transitional setting will be removed.
- Support for `pytz` timezones will be removed.
- The `is_dst` argument will be removed from:

  - `QuerySet.datetimes()`
  - `django.utils.timezone.make_aware()`
  - `django.db.models.functions.Trunc()`
  - `django.db.models.functions.TruncSecond()`
  - `django.db.models.functions.TruncMinute()`
  - `django.db.models.functions.TruncHour()`
  - `django.db.models.functions.TruncDay()`
  - `django.db.models.functions.TruncWeek()`
  - `django.db.models.functions.TruncMonth()`
  - `django.db.models.functions.TruncQuarter()`
  - `django.db.models.functions.TruncYear()`
- The `django.contrib.gis.admin.GeoModelAdmin` and `OSMGeoAdmin` classes
  will be removed.
- The undocumented `BaseForm._html_output()` method will be removed.
- The ability to return a `str`, rather than a `SafeString`, when rendering
  an `ErrorDict` and `ErrorList` will be removed.

See the [Django 4.1 release notes](/pt-br/6.1/releases/4.1/#deprecated-features-4-1) for more
details on these changes.

- The `SitemapIndexItem.__str__()` method will be removed.
- The `CSRF_COOKIE_MASKED` transitional setting will be removed.
- The `name` argument of `django.utils.functional.cached_property()` will
  be removed.
- The `opclasses` argument of
  `django.contrib.postgres.constraints.ExclusionConstraint` will be removed.
- The undocumented ability to pass `errors=None` to
  `SimpleTestCase.assertFormError()` and `assertFormsetError()` will be
  removed.
- `django.contrib.sessions.serializers.PickleSerializer` will be removed.
- The usage of `QuerySet.iterator()` on a queryset that prefetches related
  objects without providing the `chunk_size` argument will no longer be
  allowed.
- Passing unsaved model instances to related filters will no longer be allowed.
- `created=True` will be required in the signature of
  `RemoteUserBackend.configure_user()` subclasses.
- Support for logging out via `GET` requests in the
  `django.contrib.auth.views.LogoutView` and
  `django.contrib.auth.views.logout_then_login()` will be removed.
- The `django.utils.timezone.utc` alias to `datetime.timezone.utc` will be
  removed.
- Passing a response object and a form/formset name to
  `SimpleTestCase.assertFormError()` and `assertFormsetError()` will no
  longer be allowed.
- The `django.contrib.gis.admin.OpenLayersWidget` will be removed.
- The `django.contrib.auth.hashers.CryptPasswordHasher` will be removed.
- The `"django/forms/default.html"` and
  `"django/forms/formsets/default.html"` templates will be removed.
- The ability to pass `nulls_first=False` or `nulls_last=False` to
  `Expression.asc()` and `Expression.desc()` methods, and the `OrderBy`
  expression will be removed.

## 4.1

See the [Django 3.2 release notes](/pt-br/6.1/releases/3.2/#deprecated-features-3-2) for more
details on these changes.

- Support for assigning objects which don’t support creating deep copies with
  `copy.deepcopy()` to class attributes in `TestCase.setUpTestData()` will
  be removed.
- `BaseCommand.requires_system_checks` won’t support boolean values.
- The `whitelist` argument and `domain_whitelist` attribute of
  `django.core.validators.EmailValidator` will be removed.
- The `default_app_config` module variable will be removed.
- `TransactionTestCase.assertQuerysetEqual()` will no longer automatically
  call `repr()` on a queryset when compared to string values.
- `django.core.cache.backends.memcached.MemcachedCache` will be removed.
- Support for the pre-Django 3.2 format of messages used by
  `django.contrib.messages.storage.cookie.CookieStorage` will be removed.

## 4.0

See the [Django 3.0 release notes](/pt-br/6.1/releases/3.0/#deprecated-features-3-0) for more
details on these changes.

- `django.utils.http.urlquote()`, `urlquote_plus()`, `urlunquote()`, and
  `urlunquote_plus()` will be removed.
- `django.utils.encoding.force_text()` and `smart_text()` will be removed.
- `django.utils.translation.ugettext()`, `ugettext_lazy()`,
  `ugettext_noop()`, `ungettext()`, and `ungettext_lazy()` will be
  removed.
- `django.views.i18n.set_language()` will no longer set the user language in
  `request.session` (key `django.utils.translation.LANGUAGE_SESSION_KEY`).
- `alias=None` will be required in the signature of
  `django.db.models.Expression.get_group_by_cols()` subclasses.
- `django.utils.text.unescape_entities()` will be removed.
- `django.utils.http.is_safe_url()` will be removed.

See the [Django 3.1 release notes](/pt-br/6.1/releases/3.1/#deprecated-features-3-1) for more
details on these changes.

- The `PASSWORD_RESET_TIMEOUT_DAYS` setting will be removed.
- The undocumented usage of the [`isnull`](/pt-br/6.1/ref/models/querysets/#std-fieldlookup-isnull) lookup with non-boolean values
  as the right-hand side will no longer be allowed.
- The `django.db.models.query_utils.InvalidQuery` exception class will be
  removed.
- The `django-admin.py` entry point will be removed.
- The `HttpRequest.is_ajax()` method will be removed.
- Support for the pre-Django 3.1 encoding format of cookies values used by
  `django.contrib.messages.storage.cookie.CookieStorage` will be removed.
- Support for the pre-Django 3.1 password reset tokens in the admin site (that
  use the SHA-1 hashing algorithm) will be removed.
- Support for the pre-Django 3.1 encoding format of sessions will be removed.
- Support for the pre-Django 3.1 `django.core.signing.Signer` signatures
  (encoded with the SHA-1 algorithm) will be removed.
- Support for the pre-Django 3.1 `django.core.signing.dumps()` signatures
  (encoded with the SHA-1 algorithm) in `django.core.signing.loads()` will be
  removed.
- Support for the pre-Django 3.1 user sessions (that use the SHA-1 algorithm)
  will be removed.
- The `get_response` argument for
  `django.utils.deprecation.MiddlewareMixin.__init__()` will be required and
  won’t accept `None`.
- The `providing_args` argument for `django.dispatch.Signal` will be
  removed.
- The `length` argument for `django.utils.crypto.get_random_string()` will
  be required.
- The `list` message for `ModelMultipleChoiceField` will be removed.
- Support for passing raw column aliases to `QuerySet.order_by()` will be
  removed.
- The model `NullBooleanField` will be removed. A stub field will remain for
  compatibility with historical migrations.
- `django.conf.urls.url()` will be removed.
- The model `django.contrib.postgres.fields.JSONField` will be removed. A
  stub field will remain for compatibility with historical migrations.
- `django.contrib.postgres.forms.JSONField`,
  `django.contrib.postgres.fields.jsonb.KeyTransform`, and
  `django.contrib.postgres.fields.jsonb.KeyTextTransform` will be removed.
- The `{% ifequal %}` and `{% ifnotequal %}` template tags will be removed.
- The `DEFAULT_HASHING_ALGORITHM` transitional setting will be removed.

## 3.1

See the [Django 2.2 release notes](/pt-br/6.1/releases/2.2/#deprecated-features-2-2) for more
details on these changes.

- `django.utils.timezone.FixedOffset` will be removed.
- `django.core.paginator.QuerySetPaginator` will be removed.
- A model’s `Meta.ordering` will no longer affect `GROUP BY` queries.
- `django.contrib.postgres.fields.FloatRangeField` and
  `django.contrib.postgres.forms.FloatRangeField` will be removed.
- The `FILE_CHARSET` setting will be removed.
- `django.contrib.staticfiles.storage.CachedStaticFilesStorage` will be
  removed.
- `RemoteUserBackend.configure_user()` will require `request` as the first
  positional argument.
- Support for `SimpleTestCase.allow_database_queries` and
  `TransactionTestCase.multi_db` will be removed.

## 3.0

See the [Django 2.0 release notes](/pt-br/6.1/releases/2.0/#deprecated-features-2-0) for more
details on these changes.

- The `django.db.backends.postgresql_psycopg2` module will be removed.
- `django.shortcuts.render_to_response()` will be removed.
- The `DEFAULT_CONTENT_TYPE` setting will be removed.
- `HttpRequest.xreadlines()` will be removed.
- Support for the `context` argument of `Field.from_db_value()` and
  `Expression.convert_value()` will be removed.
- The `field_name` keyword argument of `QuerySet.earliest()` and
  `latest()` will be removed.

See the [Django 2.1 release notes](/pt-br/6.1/releases/2.1/#deprecated-features-2-1) for more
details on these changes.

- `django.contrib.gis.db.models.functions.ForceRHR` will be removed.
- `django.utils.http.cookie_date()` will be removed.
- The `staticfiles` and `admin_static` template tag libraries will be
  removed.
- `django.contrib.staticfiles.templatetags.static()` will be removed.
- The shim to allow `InlineModelAdmin.has_add_permission()` to be defined
  without an `obj` argument will be removed.

## 2.1

See the [Django 1.11 release notes](/pt-br/6.1/releases/1.11/#deprecated-features-1-11) for more
details on these changes.

- `contrib.auth.views.login()`, `logout()`, `password_change()`, `password_change_done()`, `password_reset()`, `password_reset_done()`, `password_reset_confirm()`, e `password_reset_complete()` serão removidos.
- The `extra_context` parameter of `contrib.auth.views.logout_then_login()`
  will be removed.
- `django.test.runner.setup_databases()` será removido.
- `django.utils.translation.string_concat()` será removido.
- `django.core.cache.backends.memcached.PyLibMCCache` will no longer support
  passing `pylibmc` behavior settings as top-level attributes of `OPTIONS`.
- The `host` parameter of `django.utils.http.is_safe_url()` will be
  removed.
- Silencing of exceptions raised while rendering the `{% include %}` template
  tag will be removed.
- `DatabaseIntrospection.get_indexes()` será removido.
- The `authenticate()` method of authentication backends will require
  `request` as the first positional argument.
- The `django.db.models.permalink()` decorator will be removed.
- The `USE_ETAGS` setting will be removed. `CommonMiddleware` and
  `django.utils.cache.patch_response_headers()` will no longer set ETags.
- O atributo `Model._meta.has_auto_field` será removido.
- `url()`’s support for inline flags in regular expression groups (`(?i)`,
  `(?L)`, `(?m)`, `(?s)`, and `(?u)`) will be removed.
- Suporte para `Widget.render()` métodos sem o argumento `renderer` será removido.

## 2.0

Veja as [notas da release do Django 1.9](/pt-br/6.1/releases/1.9/#deprecated-features-1-9) para mais detalhes sobre essas mudanças.

- O argumento `weak` de `django.dispatch.signals.Signal.disconnect()` será removido.
- `django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()` será removida.
- O pacote `django.forms.extras` será removido.
- O helper `assignment_tag` será removido.
- O argumento `host` em `assertsRedirects` será removido. A camada de compatibilidade que permite que URLs absolutas sejam consideradas iguais as URLs relativas quando o caminho é idêntico também será removido.
- `Field.rel` será removido.
- O atributo `Field.remote_field.to` será removido.
- O argumento `on_delete` para `ForeignKey` e `OneToOneField` será requerido.
- `django.db.models.fields.add_lazy_relation()` será removido.
- Quando o suporte a time zone estiver habilitado, backends de banco de dados que não suportam time zones não converterão mais datetimes aware para valores naive em UTC quando esses valores são passados como parâmetros para consultas SQL executadas fora do ORM, ex. com `cursor.execute()`.
- O decorator `django.contrib.auth.tests.utils.skipIfCustomUser()` será removido.
- As classes `GeoManager` e `GeoQuerySet` serão removidas.
- O módulo `django.contrib.gis.geoip` será removido.
- A verificação de `supports_recursion` para template loaders será removido de:

  - `django.template.engine.Engine.find_template()`
  - `django.template.loader_tags.ExtendsNode.find_template()`
  - `django.template.loaders.base.Loader.supports_recursion()`
  - `django.template.loaders.cached.Loader.supports_recursion()`
- Os métodos de template loaders `load_template()` e `load_template_sources()` serão removidos.
- O argumento `template_dirs` para template loaders será removido.

  - `django.template.loaders.base.Loader.get_template()`
  - `django.template.loaders.cached.Loader.cache_key()`
  - `django.template.loaders.cached.Loader.get_template()`
  - `django.template.loaders.cached.Loader.get_template_sources()`
  - `django.template.loaders.filesystem.Loader.get_template_sources()`
- O método `django.template.loaders.base.Loader.__call__()` será removido.
- Suporte para views com erros customizados com um parâmetro posicional será removido.
- o atributo `mime_type` de `django.utils.feedgenerator.Atom1Feed` e `django.utils.feedgenerator.RssFeed` será removido para promover `content_type`.
- The `app_name` argument to `django.conf.urls.include()` will be
  removed.
- Suporte a passagem de tuplas de 3 elementos como primeiro argumento no `include()` será removido.
- Suporte para setar o namespace de uma instância de URL sem um namespace de aplicação será removido.
- `Field._get_val_from_obj()` será removido para promover `Field.value_from_object()`.
- `django.template.loaders.eggs.Loader` será removido.
- O parâmetro `current_app` para views `contrib.auth` será removido.
- O argumento chave `callable_obj` para `SimpleTestCase.assertRaisesMessage()` será removido.
- Suporte para o atributo `allow_tags` em métodos de `ModelAdmin` serão removidos.
- O argumento chave `enclosure` em `SyndicationFeed.add_item()` será removido.
- Os aliases de `django.template.loader.LoaderOrigin` e `django.template.base.StringOrigin` para `django.template.base.Origin` serão removidos.

Veja a [Django 1.10 release notes](/pt-br/6.1/releases/1.10/#deprecated-features-1-10) para mais detalhes sobre essas mudanças.

- A opção `makemigrations --exit` será removida.
- Suporte para atribuição direta a uma reversa relação foreign key ou many-to-many deve ser removido
- Os métodos `get_srid()` e `set_srid()` em `django.contrib.gis.geos.GEOSGeometry` serão removidos.
- Os métodos `get_x()`, `set_x()`, `get_y()`, `set_y()`, `get_z()`, e `set_z()` em `django.contrib.gis.geos.Point` serão removidos.
- Os métodos `get_coords()` e `set_coords()` em `django.contrib.gis.geos.Point` serão removidos.
- A propriedade `cascaded_union` em `django.contrib.gis.geos.MultiPolygon` serão removidos.
- `django.utils.functional.allow_lazy()` será removido.
- A opção `shell --plain` será removido.
- O módulo `django.core.urlresolvers` será removido.
- O model `CommaSeparatedIntegerField` será removido. Um campo stub irá permanecer para compatibilidade com migrations passadas.
- O suporte para o método do template `Context.has_key()` será removido.
- o Suporte aos métodos `django.core.files.storage.Storage.accessed_time()`, `created_time()`, e `modified_time()` serão removidos.
- O suporte para filtros de consulta usando o nome do modelo quando é definido um `Meta.default_related_name` será removido.
- O filtro de consulta `__search`  e o método `DatabaseOperations.fulltext_search_sql()` serão removidos.
- A base para suporte à classes de “managers” personalizados sem um método  `_apply_rel_filters()` será removido.
- O uso de `User.is_authenticated()` e `User.is_anonymous()` como métodos não será mais suportado.
- O atributo privado `virtual_fields` do `Model._meta` será removido.
- O argumento privado nomeado  `virtual_only` no `Field.contribute_to_class()` e na `virtual` no `Model._meta.add_field()` será removido.
- As “views”  `javascript_catalog()` e `json_catalog()` serão removidas.
- A função `django.contrib.gis.utils.precision_wkt()` será removida.
- Em uma herança de tabelas múltiplas, a promoção implícita de um campo `OneToOneField` para um `parent_link` será removida.
- O suporte para `Widget._format_value()` será removido.
- Os métodos  `get_directory_name()` e `get_filename()` do `FileField` serão removidos.
- A função `mark_for_escaping()` e as classes que ela usa: `EscapeData`, `EscapeBytes`, `EscapeText`, `EscapeString`, e `EscapeUnicode` serão removidas.
- O filtro `escape` será alterado para que use o `django.utils.html.conditional_escape()`.
- `Manager.use_for_related_fields` será removido.
- A herança de um `Manager` seguirá regras de herança MRO e a `Meta.manager_inheritance_from_future` para escolher esse comportamento será removida.
- O suporte para middleware do tipo old-style usando o setting `settings.MIDDLEWARE_CLASSES` será removido.

## 1.10

Veja as [notas da release do Django 1.8](/pt-br/6.1/releases/1.8/#deprecated-features-1-8) para mais detalhes sobre essas mudanças.

- Suporte para a possibilidade de chamar o `SQLCompiler` diretamente como um alias para o seu método `quote_name_unless_alias`  será removido.
- As tags de template `cycle` and `firstof` serão removidas da biblioteca de tags de template   `future`.
- `django.conf.urls.patterns()` será removido.
- Suporte para o argumento `prefix` do `django.conf.urls.i18n.i18n_patterns()` será removido.
- `SimpleTestCase.urls` será removido.
- Usar uma contagem incorreta de valores despacotados em uma tag de template `for` irá lançar uma exceção ao invés de falhar silenciosamente.
- A habilidade de inverter URLs usando a notação de ponto para definir o “caminho” Python será removida.
- A habilidade de usar um caminho Python contendo pontos para os settings `LOGIN_URL` and `LOGIN_REDIRECT_URL` será removida.
- Support for [`optparse`](https://docs.python.org/3/library/optparse.html#module-optparse) will be dropped for custom management commands
  (replaced by [`argparse`](https://docs.python.org/3/library/argparse.html#module-argparse)).
- A classe `django.core.management.NoArgsCommand` será removida. Use em seu lugar a classe [`BaseCommand`](/pt-br/6.1/howto/custom-management-commands/#django.core.management.BaseCommand) que não recebe argumentos por padrão.
- O módulo `django.core.context_processors` será removido.
- O módulo `django.db.models.sql.aggregates` será removido.
- O módulo `django.contrib.gis.db.models.sql.aggregates` será removido.
- Os métodos e propriedades de `django.db.sql.query.Query` a seguir serão removidas:

  - Propriedades: `aggregates` e `aggregate_select`
  - Métodos: `add_aggregate`, `set_aggregate_mask`, e `append_aggregate_mask`.
- `django.template.resolve_variable` será removido.
- As APIs privadas abaixo serão removidas de [`django.db.models.options.Options`](/pt-br/6.1/ref/models/meta/#django.db.models.options.Options) (`Model._meta`):

  - `get_field_by_name()`
  - `get_all_field_names()`
  - `get_fields_with_model()`
  - `get_concrete_fields_with_model()`
  - `get_m2m_with_model()`
  - `get_all_related_objects()`
  - `get_all_related_objects_with_model()`
  - `get_all_related_many_to_many_objects()`
  - `get_all_related_m2m_objects_with_model()`
- O argumento `error_message` de `django.forms.RegexField` será removido.
- O filtro `unordered_list` não irá mais suportar listas do estilo antigo.
- Suporte a argumentos `view` no formato string para `url()` será removido.
- O calço de compatibilidade com versões anteriores para renomear `django.forms.Form._has_changed()` para `has_changed()` foi removido.
- O filter de template `removetags` será removido.
- As funções `remove_tags()` e `strip_entities()` em `django.utils.html` serão removidas.
- O argumento `is_admin_site` para `django.contrib.auth.views.password_reset()` será removido.
- `django.db.models.field.subclassing.SubfieldBase` será removido.
- `django.utils.checksums` será removido; suas funcionalidades estão inclusas no `django-localflavor` 1.1+.
- O atributo `original_content_type_id` em `django.contrib.admin.helpers.InlineAdminForm` será removido.
- O calço de compatibilidade com versões anteriores para permitir `FormMixin.get_form()` ser definido sem valor padrão para o seu argumento `form_class` foi removido.
- As configurações abaixo serão removidas:

  - `ALLOWED_INCLUDE_ROOTS`
  - `TEMPLATE_CONTEXT_PROCESSORS`
  - `TEMPLATE_DEBUG`
  - `TEMPLATE_DIRS`
  - `TEMPLATE_LOADERS`
  - `TEMPLATE_STRING_IF_INVALID`
- O alias de compatibilidade com versões anteriores `django.template.loader.BaseLoader` será removido.
- Django template objects returned by
  [`get_template()`](/pt-br/6.1/topics/templates/#django.template.loader.get_template) and
  [`select_template()`](/pt-br/6.1/topics/templates/#django.template.loader.select_template) won’t accept a
  [`Context`](/pt-br/6.1/ref/templates/api/#django.template.Context) in their
  [`render()`](/pt-br/6.1/topics/templates/#django.template.backends.base.Template.render) method anymore.
- [APIs de resposta de templates](/pt-br/6.1/ref/template-response/) irão reforçar o uso de  [`dict`](https://docs.python.org/3/library/stdtypes.html#dict) e objetos de template dependentes de backend ao invés de  [`Context`](/pt-br/6.1/ref/templates/api/#django.template.Context) e [`Template`](/pt-br/6.1/ref/templates/api/#django.template.Template) respectivamente.
- O `current_app` parâmetro para as funções e classes abaixo será removido:

  - `django.shortcuts.render()`
  - `django.template.Context()`
  - `django.template.RequestContext()`
  - `django.template.response.TemplateResponse()`
- Os parâmetros `dictionary` e `context_instance` para as funções abaixo serão removidos

  - `django.shortcuts.render()`
  - `django.shortcuts.render_to_response()`
  - `django.template.loader.render_to_string()`
- O parâmetro `dirs` para as funções abaixo será removido:

  - `django.template.loader.get_template()`
  - `django.template.loader.select_template()`
  - `django.shortcuts.render()`
  - `django.shortcuts.render_to_response()`
- Verificação de sessão será habilitado independentemente de `'django.contrib.auth.middleware.SessionAuthenticationMiddleware'` estar ou não dentro de `MIDDLEWARE_CLASSES`.
- O atributo privado `django.db.models.Field.related` será removido.
- A opção `--list` do comando `migrate` será removido.
- A tag template `ssi` será removida.
- Suporte para o operador de comparação `=` na tag de template `if` será removido.
- O calço de compatibilidade com versões anteriores para permitir `Storage.get_available_name()` e `Storage.save()` ser definido sem um argumento `max_length` será removido.
- Suporte para a sintaxe legada  `%(<foo>)s` no `ModelFormMixin.success_url` será removido.
- Os métodos do `GeoQuerySet` de agregação `collect()`, `extent()`, `extent3d()`, `make_line()`, e `unionagg()` serão removidos.
- A abilidade para especificar `ContentType.name` ao criar uma instância será removido.
- Suporte para a assinatura antiga de `allow_migrate` será removido. Ele mudou de `allow_migrate(self, db, model)` para `allow_migrate(self, db, app_label, model_name=None, **hints)`.
- Suporte para a sintaxe de `{% cycle %}` que utiliza argumentos separados por vírgulas será removido.
- O aviso que [`Signer`](/pt-br/6.1/topics/signing/#django.core.signing.Signer) emite quando é fornecido um separador inválido irá se tornar uma exceção.

## 1.9

Veja as [notas da release do Django 1.7](/pt-br/6.1/releases/1.7/#deprecated-features-1-7) para mais detalhes nessas mudanças.

- `django.utils.dictconfig` será removido.
- `django.utils.importlib` será removido.
- `django.utils.tzinfo` será removido.
- `django.utils.unittest` será removido.
- O comando `syncdb` será removido.
- `django.db.models.signals.pre_syncdb` e `django.db.models.signals.post_syncdb` serão removidos.
- `allow_syncdb` em roteadores de bancos de dados não irão mais ficar automaticamente  `allow_migrate`.
- A sincronização automática de apps sem migrações será removida. Migrations se tornará  compulsória para todos os apps a não ser que você passe a opção `--run-syncdb` para o comando `migrate`.
- Os SQL management commands para apps sem migrações, `sql`, `sqlall`, `sqlclear`, `sqldropindexes`, and `sqlindexes`, será removido.
- Suporte para carregamento automático de fixtures `initial_data` e dados SQL iniciais serão removidos.
- Todos os modelos precisarão ser definidos dentro de aplicações instaladas ou declarados explicitamente [`app_label`](/pt-br/6.1/ref/models/options/#django.db.models.Options.app_label). Além disso, não será possível importá-los antes de suas aplicações serem carregadas. Em particular, não será possível importar modelos dentro do pacote root de suas aplicações.
- O model e form `IPAddressField` serão removidos. Um campo stub irá permanecer para compatibilidade com migrations passadas.
- `AppCommand.handle_app()` não será mais suportado.
- `RequestSite` e `get_current_site()` não irão mais ser importáveis de `django.contrib.sites.models`.
- Suporte a FastCGI pelo comando de administração `runfcgi` será removido. Por favor faça deploy do seu projeto usando WSGI.
- `django.utils.datastructures.SortedDict` será removido. Utilize [`collections.OrderedDict`](https://docs.python.org/3/library/collections.html#collections.OrderedDict) da biblioteca padrão do Python.
- `ModelAdmin.declared_fieldsets` será removido.
- Instâncias de `util.py` no código base do Django foram renomeadas para `utils.py` em um esforço para unificar todos as referências a util e utils. Os módulos que fornecem compatibilidade com versões anteriores serão removidos.

  - `django.contrib.admin.util`
  - `django.contrib.gis.db.backends.util`
  - `django.db.backends.util`
  - `django.forms.util`
- `ModelAdmin.get_formsets` será removido.
- O calço de compatibilidade com versões anteriores introduzido para renomear o método `BaseMemcachedCache._get_memcache_timeout()` para `get_backend_timeout()` foi removido.
- As opções\`\`–natural\`\` e `-n` para [`dumpdata`](/pt-br/6.1/ref/django-admin/#django-admin-dumpdata) serão removidas.
- O argumento `use_natural_keys` para `serializers.serialize()` será removido.
- A API privada `django.forms.forms.get_declared_fields()` será removida.
- A abilidade de utilizar o `SplitDateTimeWidget` com `DateTimeField` será removido.
- A propriedade `WSGIRequest.REQUEST` será removida.
- A classe `django.utils.datastructures.MergeDict` será removida.
- Os códigos de linguagens `zh-cn` e `zh-tw` serão removidos e trocados pelos códigos de linguagem `zh-hans` e zh-hant\`\`respectivamente.
- O “internal” `django.utils.functional.memoize` será removido.
- `django.core.cache.get_cache` será removido. Ao invés dele, adicione as entradas convenientes a [`CACHES`](/pt-br/6.1/ref/settings/#std-setting-CACHES) e use [`django.core.cache.caches`](/pt-br/6.1/topics/cache/#django.core.cache.caches).
- `django.db.models.loading` será removido.
- Passar argumentos que possam ser invocados para querysets não será mais possível.
- ```BaseCommand.requires_model_validation``será removido em favor de  ``requires_system_checks```. Admin validators serão trocados por admin checks.
- Os atributos `ModelAdmin.validator_class` e `default_validator_class` serão removidos.
- `ModelAdmin.validate()` será removido.
- `django.db.backends.DatabaseValidation.validate_field` será removido em favor do método `check_field`.
- O comando de administração `validate` será removido.
- `django.utils.module_loading.import_by_path` será removido em favor de\`\`django.utils.module\_loading.import\_string\`\`.
- As tags de template `ssi` e `url` serão removidas da biblioteca de tags de template `future` (usado durante o período de depreciação 1.3/1.4).
- `django.utils.text.javascript_quote` será removido.
- A configuração de bancos de dados de teste com entradas independentes nos settings dos bancos de dados, prefixado com `TEST_`, não será mais suportado.
- The `cache_choices` option to [`ModelChoiceField`](/pt-br/6.1/ref/forms/fields/#django.forms.ModelChoiceField) and
  [`ModelMultipleChoiceField`](/pt-br/6.1/ref/forms/fields/#django.forms.ModelMultipleChoiceField) will be removed.
- O valor padrão do [`RedirectView.permanent`](/pt-br/6.1/ref/class-based-views/base/#django.views.generic.base.RedirectView.permanent) atributo irá mudar de `True` para `False`.
- `django.contrib.sitemaps.FlatPageSitemap` será removido em favor de `django.contrib.flatpages.sitemaps.FlatPageSitemap`.
- A API privada `django.test.utils.TestTemplateLoader` será removida.
- O módulo `django.contrib.contenttypes.generic` será removido.
- As APIs privadas `django.db.models.sql.where.WhereNode.make_atom()` e `django.db.models.sql.where.Constraint` serão removidos.

## 1.8

Veja as [notas de release Django 1.6](/pt-br/6.1/releases/1.6/#deprecated-features-1-6) para mais detalhes sobre essas mudanças.

- `django.contrib.comments` será removido.
- As APIs de gerenciamento de transações seguintes serão removidas:

  - `TransactionMiddleware`,
  - Os decorators e context managers `autocommit`, `commit_on_success`, e `commit_manually`, definidos em `django.db.transaction`,
  - As funções `commit_unless_managed` e `rollback_unless_managed`, também definidos em `django.db.transaction`,
  - O setting `TRANSACTIONS_MANAGED`.
- As tags de template [`cycle`](/pt-br/6.1/ref/templates/builtins/#std-templatetag-cycle) e [`firstof`](/pt-br/6.1/ref/templates/builtins/#std-templatetag-firstof) irão auto-escapar seus argumentos. Em 1.6 e 1.7, esse comportamento é providenciado pela versão dessas tags da biblioteca de tags de template `future`.
- The `SEND_BROKEN_LINK_EMAILS` setting will be removed. Add the
  [`django.middleware.common.BrokenLinkEmailsMiddleware`](/pt-br/6.1/ref/middleware/#django.middleware.common.BrokenLinkEmailsMiddleware) middleware to
  your `MIDDLEWARE_CLASSES` setting instead.
- `django.middleware.doc.XViewMiddleware` será removido. Ao invés dele, use `django.contrib.admindocs.middleware.XViewMiddleware`.
- `Model._meta.module_name` foi renomeado para `model_name`.
- Removido o calço de compatibilidade com versões anteriores introduzido para renomear `get_query_set` e métodos do queryset similares. Isso afeta as seguintes classes: `BaseModelAdmin`, `ChangeList`, `BaseCommentNode`, `GenericForeignKey`, `Manager`, `SingleRelatedObjectDescriptor` e `ReverseSingleRelatedObjectDescriptor`.
- Remove o calço de compatibilidade com versões anteriores introduzido para renomear os atributos `ChangeList.root_query_set` e `ChangeList.query_set`.
- `django.views.defaults.shortcut` será removido, como parte do objetivo de remover todas as referências a `django.contrib` do núcleo do banco de dados do Django. Ao invés dele use `django.contrib.contenttypes.views.shortcut`. `django.conf.urls.shortcut` também será removido.
- Support for the Python Imaging Library (PIL) module will be removed, as it
  no longer appears to be actively maintained & does not work on Python 3.
- As APIs privadas seguintes serão removidas:

  - `django.db.backend`
  - `django.db.close_connection()`
  - `django.db.backends.creation.BaseDatabaseCreation.set_autocommit()`
  - `django.db.transaction.is_managed()`
  - `django.db.transaction.managed()`
- `django.forms.widgets.RadioInput` será removido em favor de `django.forms.widgets.RadioChoiceInput`.
- O módulo `django.test.simple` e a classe `django.test.simple.DjangoTestSuiteRunner` será removida. Utilize no lugar dele `django.test.runner.DiscoverRunner`.
- O módulo `django.test._doctest` será removido. Ao invés disso use o módulo doctest module da biblioteca padrão do Python.
- O setting `CACHE_MIDDLEWARE_ANONYMOUS_ONLY` será removido.
- Usage of the hardcoded *Hold down “Control”, or “Command” on a Mac, to select
  more than one.* string to override or append to user-provided `help_text`
  in forms for ManyToMany model fields will not be performed by Django anymore
  either at the model or forms layer.
- A permissão  `Model._meta.get_(add|change|delete)_permission` será removida.
- A chave de sessão `django_language` não será mais lida para compatibilidade com versões anteriores.
- Geographic Sitemaps será removido (`django.contrib.gis.sitemaps.views.index` e `django.contrib.gis.sitemaps.views.sitemap`).
- `django.utils.html.fix_ampersands`, o filtro de template `fix_ampersands` e `django.utils.html.clean_html` serão removidos seguindo uma depreciação acelerada.

## 1.7

Veja as [notas da release do Django 1.5](/pt-br/6.1/releases/1.5/#deprecated-features-1-5) para mais detalhes sobre essas mudanças.

- O módulo `django.utils.simplejson` será removido. A biblioteca padrão provê [`json`](https://docs.python.org/3/library/json.html#module-json) que deve ser usado em seu lugar.
- A função `django.utils.itercompat.product` será removida. A versão embutida no Python deve ser usada em seu lugar.
- Auto-correção dos settings INSTALLED\_APPS e TEMPLATE\_DIRS quando eles são especificados como uma string ao invés de uma tupla será removido e irá lançar uma exceção.
- O argumento `mimetype` para métodos `__init__` de [`HttpResponse`](/pt-br/6.1/ref/request-response/#django.http.HttpResponse), [`SimpleTemplateResponse`](/pt-br/6.1/ref/template-response/#django.template.response.SimpleTemplateResponse), e [`TemplateResponse`](/pt-br/6.1/ref/template-response/#django.template.response.TemplateResponse), será removido. `content_type` deve ser usado em seu lugar. Isso também se aplica ao atalho `render_to_response()` e as views de sitemap, [`index()`](/pt-br/6.1/ref/contrib/sitemaps/#django.contrib.sitemaps.views.index) e [`sitemap()`](/pt-br/6.1/ref/contrib/sitemaps/#django.contrib.sitemaps.views.sitemap).
- Quando [`HttpResponse`](/pt-br/6.1/ref/request-response/#django.http.HttpResponse) é instanciado com um iterator, ou quando [`content`](/pt-br/6.1/ref/request-response/#django.http.HttpResponse.content) é setado para um iterator, esse iterator será imediatamente consumido.
- O setting `AUTH_PROFILE_MODULE`, e o método `get_profile()` do model User serão removidos.
- O comando de gerenciamento `cleanup` será removido. Ele foi trocado por `clearsessions`.
- O script `daily_cleanup.py` será removido.
- O argumento chave `depth` será removido de [`select_related()`](/pt-br/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_related).
- As funções não documentadas `get_warnings_state()`/`restore_warnings_state()` do [`django.test.utils`](/pt-br/6.1/topics/testing/advanced/#module-django.test.utils) e os métodos `save_warnings_state()`/ `restore_warnings_state()` [django.test.\*TestCase](/pt-br/6.1/topics/testing/tools/#django-testcase-subclasses) foram depreciados. Use o [`warnings.catch_warnings`](https://docs.python.org/3/library/warnings.html#warnings.catch_warnings) context manager disponível a partir do Python 2.6 em seu lugar.
- O método não documentado `check_for_test_cookie` na [`AuthenticationForm`](/pt-br/6.1/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm) será removido seguindo uma depreciação acelerada. Usuários fazendo subclasses desse form devem remover as chamadas para esse método, e ao invés disso garantir que suas views relacionadas a autenticação são protegidas de CSRF, o que garante que os cookies estão habilitados.
- The version of `django.contrib.auth.views.password_reset_confirm()` that
  supports base36 encoded user IDs
  (`django.contrib.auth.views.password_reset_confirm_uidb36`) will be
  removed. If your site has been running Django 1.6 for more than
  `PASSWORD_RESET_TIMEOUT_DAYS`, this change will have no effect. If not,
  then any password reset links generated before you upgrade to Django 1.7
  won’t work after the upgrade.
- The `django.utils.encoding.StrAndUnicode` mix-in will be removed.

## 1.6

Veja as [notas da release do Django 1.4](/pt-br/6.1/releases/1.4/#deprecated-features-1-4) para mais detalhes sobre essas mudanças.

- `django.contrib.databrowse` será removido.
- `django.contrib.localflavor` será removido seguindo uma depreciação acelerada.
- `django.contrib.markup` será removido seguindo uma depreciação acelerada.
- Os módulos de compatibilidade `django.utils.copycompat` e `django.utils.hashcompat` assim como as funções `django.utils.itercompat.all` e `django.utils.itercompat.any` serão removidos. Em seu lugar utiize as versões embutidas no Python.
- Os decorators `csrf_response_exempt` e `csrf_view_exempt` serão removidos. Desde a versão 1.4 `csrf_response_exempt` tem sido um no-op (ele retorna a mesma função), e `csrf_view_exempt` tem sido um sinônimo para `django.views.decorators.csrf.csrf_exempt`, que deve ser usado para trocá-lo.
- O backend `django.core.cache.backends.memcached.CacheClass` foi dividido em dois no Django 1.3 para introduzir o suporte a PyLibMC. O histórico `CacheClass` será removido em favor de `django.core.cache.backends.memcached.MemcachedCache`.
- Os objetos `django.contrib.localflavor.uk` prefixados com UK só serão acessíveis através de seus nomes prefixados com GB (GB é o código ISO 3166 corretp para o Reino Unido).
- Os settings  `IGNORABLE_404_STARTS` e `IGNORABLE_404_ENDS` foram substituídos por [`IGNORABLE_404_URLS`](/pt-br/6.1/ref/settings/#std-setting-IGNORABLE_404_URLS) na release 1.4. Eles serão removidos.
- O form wizard foi refatorado para usar views baseads em classes com backends plugáveis na 1.4. A implementação prévia será removida.
- Formas legadas de chamar [`cache_page()`](/pt-br/6.1/topics/cache/#django.views.decorators.cache.cache_page) será removida.
- O calço de compatibilidade para adicionar automaticamente um filtro de debug-false para o logging handler `'mail_admins'` será removido. O setting [`LOGGING`](/pt-br/6.1/ref/settings/#std-setting-LOGGING) deve incluir esse filtro explicitamente se ele for desejado.
- As funções embutidas de truncamento `django.utils.text.truncate_words()` e `django.utils.text.truncate_html_words()` serão removidas em favor da classe `django.utils.text.Truncator`.
- A classe `django.contrib.gis.geoip.GeoIP` foi movida para `django.contrib.gis.geoip` na 1.4 – o atalho em `django.contrib.gis.utils` será removido.
- `django.conf.urls.defaults` will be removed. The functions
  `include()`, `patterns()`, and `url()`, plus
  [`handler404`](/pt-br/6.1/ref/urls/#django.conf.urls.handler404) and [`handler500`](/pt-br/6.1/ref/urls/#django.conf.urls.handler500)
  are now available through `django.conf.urls`.
- As funções `setup_environ()` e `execute_manager()` serão removidas do [`django.core.management`](/pt-br/6.1/howto/custom-management-commands/#module-django.core.management). Isso também significa que o velho (pre-1.4) estilo do arquivo `manage.py`  não irá mais funcionar.
- Ativar as flags `is_safe` e `needs_autoescape` como atributos de funções de filtro de template não será mais suportado.
- O atributo `HttpRequest.raw_post_data` foi renomeado para `HttpRequest.body` na 1.4. A compatibilidade com versões anteriores será removida – `HttpRequest.raw_post_data` não irá mais funcionar.
- O valor para o parâmetro `post_url_continue` em `ModelAdmin.response_add()` terá que ser `None` (para redirecionar para novos objetos edit page criados) ou uma url pré-formatada. Formatos de strings, tais como o antigo padrão `'../%s/'`, não serão mais aceitos.

## 1.5

Veja as [notas de release do Django 1.3](/pt-br/6.1/releases/1.3/#deprecated-features-1-3) para mais detalhes sobre essas mudanças.

- Começar o Django sem um [`SECRET_KEY`](/pt-br/6.1/ref/settings/#std-setting-SECRET_KEY) irá resultar em uma exceção ao invés de `DeprecationWarning`. (Isso foi acelerado do caminho usual de depreciação; veja as [notas de release do Django 1.4](/pt-br/6.1/releases/1.4/).)
- O request handler `mod_python` será removido. O handler `mod_wsgi` deve ser usado em seu lugar.
- O atributo de `template` em objetos `django.test.client.Response` retornados por [test client](/pt-br/6.1/topics/testing/tools/#test-client) será removido. O atributo [`templates`](/pt-br/6.1/topics/testing/tools/#django.test.Response.templates) deve ser usado em seu lugar.
- The `django.test.simple.DjangoTestRunner` will be removed.
  Instead use a `unittest`-native class. The features of the
  `django.test.simple.DjangoTestRunner` (including fail-fast and
  Ctrl-C test termination) can be provided by [`unittest.TextTestRunner`](https://docs.python.org/3/library/unittest.html#unittest.TextTestRunner).
- A função não documentada `django.contrib.formtools.utils.security_hash` será removida. Ao invés dela use  `django.contrib.formtools.utils.form_hmac`.
- Os módulos baseados em funções de view genéricas serão removidos em favor de seus equivalentes baseados em classes, descritos [aqui](/pt-br/6.1/topics/class-based-views/).
- The `django.core.servers.basehttp.AdminMediaHandler` will be
  removed. In its place use
  `django.contrib.staticfiles.handlers.StaticFilesHandler`.
- As bibliotecas de tags de template `adminmedia` e a tag de template `{% admin_media_prefix %}` serão removidas em favor da manipulação genérica de arquivos estáticos. (Isso é mais rápido do que o caminho de depreciação usual; veja as  [notas de release do Django 1.4](/pt-br/6.1/releases/1.4/).)
- As tags de template `url` e `ssi` serão modificadas de modo que o primeiro argumento para cada tag é uma variável de template, não uma string implícita. Na 1.4, esse comportamento era fornecido por uma versão da tag dentro da biblioteca de tags `future`.
- Os comandos de administração `reset` e `sqlreset` serão removidos.
- Backends de autenticação terão que suportar um usuário inativo sendo passado para todos os métodos que lidem com permissões. O atributo `supports_inactive_user` não será mais verificado e pode ser removido de backends customizados.
- O [`transform()`](/pt-br/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform) irá lançar [`GEOSException`](/pt-br/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSException) quando chamado em uma geometria sem valor SRID.
- `django.http.CompatCookie` será removido em favor de `django.http.SimpleCookie`.
- `django.core.context_processors.PermWrapper` e `django.core.context_processors.PermLookupDict` serão removidos em favor dos correspondentes `django.contrib.auth.context_processors.PermWrapper` e `django.contrib.auth.context_processors.PermLookupDict`, respectivamente.
- Os settings [`MEDIA_URL`](/pt-br/6.1/ref/settings/#std-setting-MEDIA_URL) ou [`STATIC_URL`](/pt-br/6.1/ref/settings/#std-setting-STATIC_URL) terão que terminar com um slash para garantir que existe uma forma consistente de combinar caminhos nos templates.
- `django.db.models.fields.URLField.verify_exists` será removido. A funcionalidade foi depreciada em 1.3.1 devido a problemas de segurança e performance intratáveis e seguirá um tempo de depreciação ligeiramente acelerado.
- Traduções localizadas sob o então chamado *project path* serão ignoradas durante o processo de construção da tradução executado em runtime. O setting  [`LOCALE_PATHS`](/pt-br/6.1/ref/settings/#std-setting-LOCALE_PATHS) pode ser usado para a mesma tarefa quando incluido o caminho do sistema de arquivos para um diretório de `locale` contendo traduções não específicas de apps em seu valor.
- O app contrib Markup não irá mais suportar versões da biblioteca de Markdown do Python anteriores a 2.1. Uma linha de tempo acelerada será usada já que isso era uma depreciação relacionada a segurança.
- O setting `CACHE_BACKEND` será removido. O backend (ou os backends) de cache deve ser especificado no setting  [`CACHES`](/pt-br/6.1/ref/settings/#std-setting-CACHES).

## 1.4

Veja as [notas de release do Django 1.2](/pt-br/6.1/releases/1.2/#deprecated-features-1-2) para mais detalhes sobre essas mudanças.

- `CsrfResponseMiddleware` and `CsrfMiddleware` will be removed. Use
  the `{% csrf_token %}` template tag inside forms to enable CSRF
  protection. `CsrfViewMiddleware` remains and is enabled by default.
- Os imports antigos da funcionalidade CSRF (`django.contrib.csrf.*`), que foi movido para o core em 1.2, será removido.
- O módulo `django.contrib.gis.db.backend` será removido em favor dos backends específicos.
- `SMTPConnection` will be removed in favor of a generic email backend API.
- As funções de geração SQL many to many nos backends de banco de dados serão removidos.
- A habilidade de usar a família de settings top-level `DATABASE_*` para definir conexões de banco de dados será removida.
- A habilidade para usar notações curtas para especificar o backend do banco de dados (ex `sqlite3` ao invés de `django.db.backends.sqlite3`) será removido.
- Os métodos `get_db_prep_save`, `get_db_prep_value` e `get_db_prep_lookup` terão que suportar múltiplos bancos de dados.
- The `Message` model (in `django.contrib.auth`), its related
  manager in the `User` model (`user.message_set`), and the
  associated methods (`user.message_set.create()` and
  `user.get_and_delete_messages()`), will be removed. The
  [messages framework](/pt-br/6.1/ref/contrib/messages/) should be used
  instead. The related `messages` variable returned by the
  auth context processor will also be removed. Note that this
  means that the admin application will depend on the messages
  context processor.
- Backends de autenticação terão que suportar o parâmetro `obj` para verificação de permissões. O atributo `supports_object_permissions` não irá mais ser checado e pode ser removido dos backends customizados.
- Authentication backends will need to support the `AnonymousUser` class
  being passed to all methods dealing with permissions. The
  `supports_anonymous_user` variable will no longer be checked and can be
  removed from custom backends.
- A habilidade para especificar um template loader invocável ao invés de uma classe `Loader` irá ser removido, assim como as funções `load_template_source` que estão incluídas com os template loaders embutidos para compatibilidade com versões anteriores.
- `django.utils.translation.get_date_formats()` e `django.utils.translation.get_partial_date_formats()`. Essas funções serão removidas; use o locale-aware `django.utils.formats.get_format()` para obter os formatos apropriados.
- Em `django.forms.fields`, as contantes: `DEFAULT_DATE_INPUT_FORMATS`, `DEFAULT_TIME_INPUT_FORMATS` e `DEFAULT_DATETIME_INPUT_FORMATS` serão removidas. Utilize `django.utils.formats.get_format()` para obter os formatos apropriados.
- A habilidade de usar um executor de testes baseado em função será removido, assim como o executor de teste `django.test.simple.run_tests()`.
- A view `views.feed()` e a classe `feeds.Feed` em ```django.contrib.syndication``serão removidos. A view baseada em classe ``views.Feed``` deve ser usada em seu lugar.
- `django.core.context_processors.auth`. This release will
  remove the old method in favor of the new method in
  `django.contrib.auth.context_processors.auth`.
- O backend do banco de dados `postgresql` será removido, utilize o backend `postgresql_psycopg2` em seu lugar.
- A linguagem de código `no` será removida e foi trocada pela linguagem de código  `nb`.
- Backends de autenticação terão que definir o atributo booleano `supports_inactive_user` até a versão 1.5 onde se assumirá que todos os backends irão tratar usuários inativos.
- `django.db.models.fields.XMLField` será removido. Isso foi depreciado como parte da release 1.3. Um cronograma acelerado de depreciação foi usado porque o campo não preenche nenhum outro propósito além de um simples `TextField` desde a remoção de `oldforms`. Todos os usos de `XMLField` podem ser substituídos com `TextField`.
- O parâmetro não documentado `mixin` para o método `open()` de `django.core.files.storage.Storage` (e subclasses) serão removidas.

## 1.3

Veja as [notas da release do Django 1.1](/pt-br/6.1/releases/1.1/#deprecated-features-1-1) para mais detalhes sobre essas mudanças.

- `AdminSite.root()`. This method of hooking up the admin URLs will be
  removed in favor of including `admin.site.urls`.
- Backends de autenticação precisam definir os atributos booleanos `supports_object_permissions` e `supports_anonymous_user` até a versão 1.4, na qual será assumido que todos os backends suportam essas opções.
