Skip to content

Releases: django-crispy-forms/django-crispy-forms

2.1

15 Oct 09:24
92b7260
Compare
Choose a tag to compare

What's Changed

  • Added support for Django 5.0.
  • Dropped support for Django 3.2, 4.0 and 4.1.
  • Added support for Python 3.12.
  • Dropped support for Python 3.7.

New Contributors

Full Changelog: 2.0...2.1

2.0

13 Feb 19:12
a797499
Compare
Choose a tag to compare
2.0

2.0 (2023-02-13)

Major Changes and Migration Guide

  • Removed all Bootstrap template packs. These template packs are now available as standalone packages.
    To upgrade, install the required template pack and add it to your
    INSTALLED_APPS setting.

    Also, support for Bootstrap 5 is provided by a 3rd party package under the django-crispy-forms organisation at
    crispy-bootstrap5.

  • Removed uni-form template pack. Uni-Form specific classes previously added to every template pack e.g. textInput are now removed.
    If you require these classes, the previous behaviour can be restored by adding the following to CRISPY_CLASS_CONVERTERS in your settings file.

      converters = {
        "textinput": "textinput textInput",
        "fileinput": "fileinput fileUpload",
        "passwordinput": "textinput textInput",
    }
    
  • The uni-form template pack allowed for rendering of templates using a default or inline layout. As the uni-form template
    pack has been removed support for this has also been removed. This has resulted in the following BREAKING changes.

    • The form_style attribute of FormHelper is removed.
    • The form_style positional argument to render_field() is removed.
    • The form_style positional argument to the render() method of all LayoutObjects is removed.

    Audit for use of render() and render_field() due to the removal of the form_style positional argument is therefore
    required. For example:

    # django-crispy-forms 1.x
    html = my_layout_object.render(form, form_style, context)
    # django-crispy-forms 2.x
    html = my_layout_object.render(form, context)
    
  • Widespread use of the |safe in crispy-form templates is removed. Audit for html input in your forms
    especially for Field and Prepended/Appended text. To retain the previous behaviour mark text as safe
    in your project code using
    mark_safe(). Refs #296.

Other Changes

  • Dropped support for Django 2.2.
  • Added support for Django 4.1 and 4.2.
  • Added support for Python 3.11.
  • The flat_attrs() method of FormActions is removed. Attributes provided by **kwargs are now passed via the flat_attrs function during __init__() instead of with each call of render()
  • The html5_required attribute of FormHelper is removed. In all supported versions of Django the required attribute is provided by the core forms module.
  • The FormActions layout object learnt a css_id kwarg to add an id to the rendered <div>
  • The default values of "form_error_title" and "formset_error_title" of FormHelper changed from None to "".
  • An attribute error is now raised if the CRISPY_TEMPLATE_PACK setting is not provided.
  • The get_layout_objects() and get_field_names() functions of LayoutObject now return a list of Pointers rather than a list
    of lists. Pointers are a dataclass containing a list of posistions and the name of object/field.

2.0a1

02 Feb 21:59
447177d
Compare
Choose a tag to compare
2.0a1 Pre-release
Pre-release

2.0a1 (2023-01-18)

Major Changes and Migration Guide

  • Removed all Bootstrap template packs. These template packs are now available as standalone packages.
    To upgrade, install the required template pack and add it to your
    INSTALLED_APPS setting.

    Also, support for Bootstrap 5 is provided by a 3rd party package under the django-crispy-forms organisation at
    crispy-bootstrap5.

  • Removed uni-form template pack. Uni-Form specific classes previously added to every template pack e.g. textInput are now removed.
    If you require these classes, the previous behaviour can be restored by adding the following to CRISPY_CLASS_CONVERTERS in your settings file.

      converters = {
        "textinput": "textinput textInput",
        "fileinput": "fileinput fileUpload",
        "passwordinput": "textinput textInput",
    }
    
  • The uni-form template pack allowed for rendering of templates using a default or inline layout. As the uni-form template
    pack has been removed support for this has also been removed. This has resulted in the following BREAKING changes.

    • The form_style attribute of FormHelper is removed.
    • The form_style positional argument to render_field() is removed.
    • The form_style positional argument to the render() method of all LayoutObjects is removed.

    Audit for use of render() and render_field() due to the removal of the form_style positional argument is therefore
    required. For example:

    # django-crispy-forms 1.x
    html = my_layout_object.render(form, form_style, context)
    # django-crispy-forms 2.x
    html = my_layout_object.render(form, context)
    
  • Widespread use of the |safe in crispy-form templates is removed. Audit for html input in your forms
    especially for Field and Prepended/Appended text. To retain the previous behaviour mark text as safe
    in your project code using
    mark_safe(). Refs #296.

Other Changes

  • Dropped support for Django 2.2.
  • Added support for Django 4.1 and 4.2.
  • Added support for Python 3.11.
  • The flat_attrs() method of FormActions is removed. Attributes provided by **kwargs are now passed via the flat_attrs function during __init__() instead of with each call of render()
  • The html5_required attribute of FormHelper is removed. In all supported versions of Django the required attribute is provided by the core forms module.
  • The FormActions layout object learnt a css_id kwarg to add an id to the rendered <div>
  • The default values of "form_error_title" and "formset_error_title" of FormHelper changed from None to "".
  • An attribute error is now raised if the CRISPY_TEMPLATE_PACK setting is not provided.
  • The get_layout_objects() and get_field_names() functions of LayoutObject now return a list of Pointers rather than a list
    of lists. Pointers are a dataclass containing a list of posistions and the name of object/field.

1.14.0

25 Jan 08:05
59d57f8
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.13.0...1.14.0

Version 1.13.0

25 Sep 19:01
d1b4e86
Compare
Choose a tag to compare

1.13.0 (2021-09-25)

  • Added support for Django 4.0

Version 1.12.0

11 Jun 20:21
7ce02ff
Compare
Choose a tag to compare
  • Fixed rendering of grouped checkboxes and radio inputs in the Bootstrap 4 template pack. (#1155)
  • Introduced new input_size argument to AppendedText, PrependedText and PrependedAppendedText. This allows the size of these grouped inputs to be changed in the Bootstrap 4 template pack. (#1114)
  • Confirmed support for Django 3.2
  • Dropped support for Python 3.5
  • Dropped support for Django 3.0

See the 1.12.0 Milestone for the full change list.

Version 1.11.2

21 Mar 19:13
a3946ca
Compare
Choose a tag to compare
  • Added HTML parsing tools to help testing of template packs (#1128)
  • Fixed rendering of all widget attributes for file fields (#1130)

See the 1.11.2 Milestone for the full change list.

Version 1.11.1

21 Feb 13:07
591c99e
Compare
Choose a tag to compare
  • Added custom-select for select widgets within prepended and appended fields (#1116)

See the 1.11.1 Milestone for the full change list.

Version 1.11.0

30 Jan 13:05
Compare
Choose a tag to compare
  • Implemeneted custom-select for Select widgets in the Bootstrap4 Template Pack (#1091)
  • Fixed data-parent in AccodrianGroup (#1091)
  • Documentation improvements

See the 1.11.0 Milestone for the full change list

Version 1.10.0

18 Nov 20:27
992693a
Compare
Choose a tag to compare

1.10.0 (18.11.2020)

  • Fixed test causing SystemCheckError in some cases. (#1075)
  • Radio and Checkbox now respect the field's disabled attribute when using the Bootstrap4 template pack. (#1057)
  • A number of documentation improvements.

See the 1.10.0 Milestone for the full change list