[Snyk] Upgrade govuk-frontend from 5.1.0 to 5.4.0 #93
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was automatically created by Snyk using the credentials of a real user.
![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to upgrade govuk-frontend from 5.1.0 to 5.4.0.
ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
The recommended version is 4 versions ahead of your current version.
The recommended version was released on a month ago.
Release notes
Package name: govuk-frontend
To install this version with npm, run
npm install govuk-frontend@5.4.0
. You can also find more information about how to stay up to date in our documentation.This release includes new features to help you include only the components your service uses. Doing this can help reduce the size of the JavaScript and CSS files sent to users, improving their experience.
New features
Create individual components with
createAll
We've added a new
createAll
function that lets you initialise specific components in the same way thatinitAll
does.The
createAll
function will:data-module
attributecreateAll(Button)
createAll(Checkboxes)
You can also pass a config object and a scope within which to search for elements.
You can find out more about how to use the
createAll
function in our documentation.This change was introduced in pull request #4975: Add
createAll
function to initialise individual components.Use tabular numbers easily with
govuk-!-font-tabular-numbers
We've added a new override class for tabular number styling:
govuk-!-font-tabular-numbers
.Using tabular numbers can make it easier for users to read numbers intended for comparison to one another, or for numbers that dynamically update.
It was previously only possible to use tabular numbers by using the
govuk-font-tabular-numbers
Sass mixin.This change was introduced in pull request #4973: Add override class for tabular numbers.
Deprecated features
Importing layers using
all
filesYou'll see a warning when compiling your Sass if you import any of our layers using the
all
file. Importing using theall
files is deprecated, and we’ll remove them in the next major release.Update your import statements to refer to the
index
file for each layer rather thanall
:You do not need
/index
at the end of each import path if you’re using Dart Sass, LibSass 3.6.0 or higher, or Ruby Sass 3.6.0 or higher.This change was introduced in pull request #4955: Rename
all
files toindex
for our Sass entry points.Fixes
We've made fixes to GOV.UK Frontend in the following pull requests:
errorMessage
argument for the password input component - thanks to Tim South for contributing this changegovuk-frontend
errorList
is providedTo install this version with npm, run
npm install govuk-frontend@5.3.1
. You can also find more information about how to stay up to date in our documentation.Fixes
We've made fixes to GOV.UK Frontend in the following pull requests:
attributes
option ignoring values passed from thesafe
filterTo install this version with npm, run
npm install govuk-frontend@5.3.0
. You can also find more information about how to stay up to date in our documentation.New features
Use the Password input component to help users accessibly enter passwords
The Password input component allows users to choose:
This helps users use longer and more complex passwords without needing to remember what they've already typed.
This change was introduced in pull request #4442: Create password input component. Thanks to @ andysellick for the original contribution.
Recommended changes
Update the HTML for the Character count component
We've updated the HTML for the Character count component. The component wrapper
data-module="govuk-character-count"
and its form groupclass="govuk-form-group"
are now combined as the same<div>
. The hint text used as the count message now appears directly after the<textarea>
.If you're not using Nunjucks macros, then you should:
<div>
to the component wrapper<div>
<div>
and closing</div>
tags used by the form group<textarea>
The following example shows some HTML and the difference once it’s updated.
HTML before:
HTML after:
Check your changes against the Character count example in the Design System to make sure you’ve correctly implemented them.
This change was introduced in pull request #4566: Use Character count
formGroup
as module wrapper.Remove redundant
role
attributes from elementsWe've made minor changes to the HTML of the page template, as well as the header, footer and pagination components.
You can update your HTML to remove the
role
attribute from some elements. These include the:main
role on themain
element in the templatebanner
role on theheader
element in the Header componentcontentinfo
role on thefooter
element in the Footer componentnavigation
role on thenav
element in the Pagination componentThese roles were present to support legacy browsers, such as older versions of Internet Explorer. GOV.UK Frontend no longer supports these browsers, so you can now remove these roles.
You do not need to change anything if you're using the Nunjucks versions of the page template or these components,
This change was introduced in pull request #4854: Remove redundant
role
attributes.Fixes
We've fixed an upstream issue in the cssnano npm package that caused elements with transparency to render incorrectly in Internet Explorer 11. This affected the pre-compiled CSS files in the GOV.UK Frontend npm package and GitHub releases for versions 5.0, 5.1 and 5.2. This was fixed in:
We've made fixes to GOV.UK Frontend in the following pull requests:
KeyboardEvent.key
over deprecatedKeyboardEvent.keyCode
in the Tabs componentKeyboardEvent.key
over deprecatedKeyboardEvent.keyCode
in the Button componentKeyboardEvent
properties from the Exit this Page componentIn this release, we’ve adjusted our responsive type scale, which is available behind a feature flag. The type scale change is to make text easier to read on smaller screens. We’ve also deprecated the
useTudorCrown
parameter.To install this version with npm, run
npm install govuk-frontend@5.2.0
. You can also find more information about how to stay up to date in our documentation.New features
We've adjusted our responsive type scale
We've made the following adjustments to our responsive type scale:
To enable these changes, set the feature flag variable
$govuk-new-typography-scale
totrue
before you import GOV.UK Frontend in your Sass files:If your service uses custom elements made using GOV.UK Frontend, test your service against the new typography scale to assess if you need to make any adjustments.
You can read more on upgrading your service to the new type scale in our upgrade guide.
This change was introduced in pull request #2421: Adjust the responsive type scale
Insert custom HTML into component form group wrappers
You can now insert custom HTML into form group wrappers for all components with form fields.
This change was introduced in pull request #4567: Add
beforeInput(s)
andbeforeInput(s)
options to form groups.Deprecated features
Stop using the
useTudorCrown
parameter in the Heading componentThe rollout for the revised GOV.UK logo has started and the Tudor crown logo is now shown by default. We’ve deprecated the
useTudorCrown
parameter and will remove it in the next major release.You can now remove the
useTudorCrown
parameter, along with any other adjustments made to display the Tudor crown logo in your service.This change was introduced in pull request #4740: Make Tudor Crown logo the default
Fixes
We've made fixes to GOV.UK Frontend in the following pull requests:
calc()
compatibility in Radios and CheckboxesTo install this version with npm, run
npm install govuk-frontend@5.1.0
. You can also find more information about how to stay up to date in our documentation.New features
Update to the new GOV.UK logo
The GOV.UK logo has been updated to reflect the changing of the monarch. King Charles III uses the Tudor Crown, rather than the St Edward’s Crown chosen by Queen Elizabeth II.
If your service uses GOV.UK branding, you must update your service between 19 February and 1 March 2024 to use the new logo.
These changes were made in the following pull requests:
Include the new logo assets
Multiple new image assets are included in this release. You’ll need to copy these to your service's image assets folder if they’re not being used directly from the Frontend package. By default this folder is located at
/assets/images
.If you’re using Nunjucks, the asset path may have been changed by the
assetPath
global variable orassetsPath
parameter on the header component.Copy the following files from
/dist/assets/images
into your assets folder. Any images with the same name as an existing image can be safely overwritten.Update the logo in the header of your page
If you’re using the
govukHeader
Nunjucks macro in your service, add theuseTudorCrown
parameter to the macro instantiation. This will become the default in a future version of GOV.UK Frontend.If you’re not using the Nunjucks macro, locate the SVG code for the existing logo and replace it with this updated SVG.
Add attributes to component form group wrappers
You can now add attributes to the form group wrapper for all components with form fields.
This change was introduced in pull request #4565: Allow
attributes
option on form groups.Use tabular numbers with the
govuk-font-tabular-numbers
mixinYou can now use tabular numbers in your authored Sass by including the new
govuk-font-tabular-numbers
mixin.Previously, you’d use the
govuk-font
mixin with the$tabular
parameter. However, thegovuk-font
mixin includes styles unrelated to tabular numbers, which are not needed in some contexts.These additional styles are not included if you use
govuk-font-tabular-numbers
. Switching to the new mixin can reduce the size of your compiled CSS without affecting the appearance of pages.This change was introduced in pull request #4307: Refactor tabular number activation into their own mixin.
Recommended changes
Replace instances of
govuk-typography-responsive
withgovuk-font-size
We've renamed the Sass mixin
govuk-typography-responsive
togovuk-font-size
and have deprecatedgovuk-typography-responsive
. You can still usegovuk-typography-responsive
, but we'll remove it in a future breaking release (GOV.UK Frontend v6.0.0).This is an experimental change to see if the name
govuk-font-size
better communicates the Sass mixin's intended use than the namegovuk-typography-responsive
.We're interested in feedback from the community on this name change, so please let us know what you think through our usual channels.
This change was introduced in pull request #4291: Rename
govuk-typography-responsive
togovuk-font-size
.Remove the
aria-labelledby
attribute from accordion sectionsIf you’re not using our Nunjucks macros, remove the
aria-labelledby
attribute from all accordion sections (div
elements that have thegovuk-accordion__section-content
class).This change was introduced in pull request #4628: Remove
aria-labelledby
from accordion sections.Deprecated features
Stop using the
element
parameter on buttonsWe’ve deprecated the
element
Nunjucks parameter and will remove it in the next major release.In the future, if the
href
parameter is set the component will automatically use the<a>
element. If thehref
parameter is not set the component will automatically use the<button>
element. It will not be possible to override this change.This change was introduced in pull request #4646: Deprecate
element
parameter on button component.Stop using
govuk-body-xs
,govuk-!-font-size-14
and '14' on the type scaleWe’ve deprecated point 14 (14px large screens, 12px small screens) on the GOV.UK Frontend responsive type scale, including font override classes that use point 14:
govuk-body-xs
govuk-!-font-size-14
We’ll remove these classes and point 14 on the type scale in the next major release, GOV.UK Frontend release v6.0.0. With this change in the v6.0.0 release, you’ll no longer be able to call the Sass mixins
govuk-font
orgovuk-font-size
with$size
set to '14'.This change was introduced in #4649: Deprecate 14 on the type scale and #4713: Ensure
govuk-font-size()
handles string keys.Fixes
We've made fixes to GOV.UK Frontend in the following pull requests:
matchMedia()
Important
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information: