All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
Addedfor new features.Changedfor changes in existing functionality.Deprecatedfor soon-to-be removed features.Developerfor changes to the developer experience.Fixedfor bug fixes.Pinned packages updatedto list pinned packages that have been updated. Do not write changelog entries for third-party dependencies.Removedfor now removed features.
- Radio fields not being marked as
requiredwhen set to be [#98]
- Allow per-form override of
settings.TBXFORMS_HIGHLIGHT_REQUIRED_FIELDS[#97]
- Conditional fields not working when applied to field objects (e.g.
Field.text,Field.checkboxes) instead of container objects (e.g.Div,Fieldset) [#95]
- Error summary can be hidden [#93]
- Small tweak to fieldset styles [#93]
- Renamed
tbxtemplate directory and crispy forms template pack totbxforms[#92]
- Conditional fields not working properly when there are multiple elements inspecting the same driving field [#91]
- IE11 support [#91]
- Guidance on how to update
govuk-frontend[#80]
govuk-frontendfrom 3.13.0 (possibly) to 5.4.1 [#80]
Several CSS classes/mixins have been removed/renamed in this release, some of
which are vendor changes in govuk-frontend.
Unfortunately, the initial release of tbxforms customised the styles from
govuk-frontend without documentation - including which version was used as a
base. As a result, it's hard to distinguish between variables/mixins we
added which have now been removed and those which GDS have removed over time.
However, variables which have now been removed from our _variables.scss are:
$tbxforms-border-colour-conditional(no longer configurable; now using GDS'$tbxforms-border-colour) [#80]$tbxforms-border-width-conditional(no longer configurable; now using GDS'$tbxforms-border-width) [#80]$tbxforms-weight--bold(use$tbxforms-font-weight-boldinstead) [#80]$tbxforms-weight--normal(use$tbxforms-font-weight-regularinstead) [#80]$tbxforms-grid(no longer configurable; now using GDS' default spacing) [#80]$tbxforms-spacer(no longer configurable; now using GDS' default spacing) [#80]$tbxforms-in-field-spacer(no longer configurable; now using GDS' default spacing) [#80]$tbxforms-form-group-spacer(no longer configurable; now using GDS' default spacing) [#80]$tbxforms-base-font-size(use$tbxforms-typography-scaleinstead) [#80]$tbxforms-base-line-height(use$tbxforms-typography-scaleinstead) [#80]$tbxforms-font-sizes(use$tbxforms-typography-scaleinstead) [#80]
- Allow required fields to be highlighted instead of optional ones [#78]
- Allow markup in error messages [#79]
- Choice hints not showing on Django 5.x [#69]
vitefrom 2.9.17 to 2.9.18 [#77]blackfrom 22.3.0 to 24.3.0 [#77]poetryfrom 1.7.1 to 1.8.3 [#77]
- Python support for 3.12 [#61]
- Django support for 4.1 and 4.2 [#61]
|safeis no longer applied within templates [#61]
- Django support for 2.2, 3.0, and 3.1 [#61]
TBXFORMS_ALLOW_HTML_LABEL,TBXFORMS_ALLOW_HTML_HELP_TEXT, andTBXFORMS_ALLOW_HTML_BUTTONsettings (developers must now mark strings as safe to render markup) [#61] [#62]sasssupport for <1.33.0 [#60]
- Documentation referencing an incorrect CSS import path
djangofrom 2.2.x to 3.2.x [#61]django-crispy-formsfrom 1.13.x to 2.1.x [#61]flake8from 4.0.1 to 5.0.4 [#61]
- Support for dividers on checkbox fields
- form.helper (
FormHelper) changed from a static@propertyto the form's__init__method to allow changes at runtime - Update documentation and examples to use
Fieldsubclass methods (e.g.Field.select) to avoid passingcontextdictionary toField(https://crispy-forms-gds.readthedocs.io/en/latest/reference/layout/field.html) BaseFormrenamed toTbxFormsMixinto more accurately convey what it is- Styles no longer depend on the form having the
.tbxformsclass
- Template linting to CI using
djlint - Snapshot formatting check to CI using
djlint - Autoformatting of snapshots using
djlint - Testing across Django versions 2.2 - 4.0 and Python versions 3.8 - 3.11 using
tox - Use snapshot testing plugin (syrupy) for component rendering tests instead of HTML fixtures
Field.selectlabel size and tag can be changedDateInputFieldno longer raises aValueErrorwhen given invalid input (aValidationErroris raised instead)DateInputFieldwithrequired=Falseno longer raises aValueErrorwhen no values are passedDateInputFieldno longer errors withOverflowErrorwhen large values are passed