~~~~~~~~~~~
Released May 2022
Major version bump, with several changes:
* The supported Django versions are 3.2 and 4.0.
* Prior to 2.x, django-contact-form installed a Python module named
``contact_form``. To avoid silent incompatibilities, and to conform to more
recent best practices, django-contact-form 2.x now installs a module named
``django_contact_form``. Attempts to import from the ``contact_form`` module
will immediately fail with :exc:`ImportError`. Many installations will be
able to adapt by replacing references to ``contact_form`` with references to
``django_contact_form``.
* Similar to the module renaming above, the name of the default directory in
which django-contact-form looks for templates has changed from
``contact_form/`` to ``django_contact_form/``.
* Prior to 2.x, :class:`~django_contact_form.forms.ContactForm` provided a
method named ``get_context()`` which was used to generate the template
context from which the message would be rendered. However, Django 4.0
introduced `a new template-based system for rendering forms
<https://docs.djangoproject.com/en/stable/releases/4.0/#template-based-form-rendering>`_,
and as a result :class:`django.forms.Form` now has a method named
:meth:`~django.forms.Form.get_context`. To resolve this conflict with
Django's own base form class, the method in django-contact-form has been
renamed to
:meth:`~django_contact_form.forms.ContactForm.get_message_context`, which
hopefully will not be adopted by any future version of Django's own forms
system. If you were previously overriding ``get_context()``, you should
rename your overridden method to
:meth:`~django_contact_form.forms.ContactForm.get_message_context` to ensure
it is still called properly. If you have other code which called
``get_context()``, you should update any such references to call
:meth:`~django_contact_form.forms.ContactForm.get_message_context` instead.
Pre-2.0 versions
~~~~~~~~~~~~~~~~