From ec7acaf4c46dc7e0b784906c20db3d94e6129596 Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Wed, 14 Feb 2024 10:01:42 +0100 Subject: [PATCH 1/8] Added release notes and documentation about webhooks due in Forms 13.1. --- .../developer/images/wehbook-events.png | Bin 0 -> 20734 bytes 13/umbraco-forms/developer/webhooks.md | 24 ++++++++++++++++++ 13/umbraco-forms/release-notes.md | 8 ++++++ 3 files changed, 32 insertions(+) create mode 100644 13/umbraco-forms/developer/images/wehbook-events.png create mode 100644 13/umbraco-forms/developer/webhooks.md diff --git a/13/umbraco-forms/developer/images/wehbook-events.png b/13/umbraco-forms/developer/images/wehbook-events.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ad67f92a39a2cff94f8dff1ae390deb71cd928 GIT binary patch literal 20734 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 SnZPp(89ZJ6T-G@yGywqoI6r^@ literal 0 HcmV?d00001 diff --git a/13/umbraco-forms/developer/webhooks.md b/13/umbraco-forms/developer/webhooks.md new file mode 100644 index 00000000000..9c1e119800b --- /dev/null +++ b/13/umbraco-forms/developer/webhooks.md @@ -0,0 +1,24 @@ +# Webhooks + +Umbraco Forms will register events for workflow operations that you can use with [Umbraco webhooks](https://docs.umbraco.com/umbraco-cms/reference/webhooks). + +Workflows are operations that you can associated with form submission, approval or rejections actions. You can use these where you need to notify external systems of the success or failure of a workflow. + +Via the Umbraco _Settings > Webhooks_ dashboard you can configure webhooks to respond to workflows. + +![Webhook events](./images/wehbook-events.png) + +You can amend the registration of workflow events in code. + +To remove the webhooks that are added by default you can use a composer as follows: + +```csharp +using Umbraco.Cms.Core.Composing; +using Umbraco.Forms.Core.Extensions; + +internal sealed class TestComposer : IComposer +{ + public void Compose(IUmbracoBuilder builder) + => builder.WebhookEvents().AddForms(formsBuilder => formsBuilder.RemoveDefault()); +} +``` \ No newline at end of file diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index 33cfac8e0e5..28d455a706e 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -17,6 +17,14 @@ If you are upgrading to a new major version, you can find information about the This section contains the release notes for Umbraco Forms 13 including all changes for this version. +#### [**13.1.0**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.1.0) **(TBC)** + +With the introduction of webhooks with Umbraco 13, we've made an update to Forms to allow workflow execution events to trigger webhooks. Workflows are operations that you can associated with form submission, approval or rejections actions. You can use these where you need to notify external systems of the success or failure of a workflow. Read more on [Umbraco Forms wehbooks](./developer/webhooks.md). + +**Features implemented and issues resolved in 13.1.0** + +* Added wehbooks for workflow execution events [#1151](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1151) + #### [**13.0.2**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.0.2) **(February 20th 2024)** * Ensured UI for the upload of a text file for a prevalue source only allows the selection of expected .txt files. From 5e9796e07cacd4232801c3eadcc608dc0ee4b479 Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Wed, 21 Feb 2024 14:44:10 +0100 Subject: [PATCH 2/8] Added support for a proxied request when using reCAPTCHA 3. --- 10/umbraco-forms/developer/configuration/README.md | 4 ++-- 12/umbraco-forms/developer/configuration/README.md | 4 ++-- 13/umbraco-forms/developer/configuration/README.md | 11 +++++++++-- 13/umbraco-forms/release-notes.md | 1 + 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/10/umbraco-forms/developer/configuration/README.md b/10/umbraco-forms/developer/configuration/README.md index b9154dc008f..f0a497d6246 100644 --- a/10/umbraco-forms/developer/configuration/README.md +++ b/10/umbraco-forms/developer/configuration/README.md @@ -110,7 +110,7 @@ For illustration purposes, the following structure represents the full set of op "Recaptcha3": { "SiteKey": "", "PrivateKey": "", - "Domain": "www.google.com" + "Domain": "Google" }, "RichText": { "DataTypeId": "ca90c950-0aff-4e72-b976-a30b1ac57dad" @@ -478,7 +478,7 @@ You can obtain both of these values after signing up to create a ReCaptcha key h This setting defines the domain from which the client-side assets for using the reCAPTCHA service are requested. -Valid options are `www.google.com` (the default) or `www.recaptcha.net`. You may want to use the latter for control of which domains are setting cookies on your site. [Read more at the reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/faq#does-recaptcha-use-cookies). +Valid options are `Google` (the default) or `Recaptcha`. You may want to use the latter for control of which domains are setting cookies on your site. [Read more at the reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/faq#does-recaptcha-use-cookies). ### Rich text field type configuration diff --git a/12/umbraco-forms/developer/configuration/README.md b/12/umbraco-forms/developer/configuration/README.md index 7e3cde199fc..c9cf18b5ca4 100644 --- a/12/umbraco-forms/developer/configuration/README.md +++ b/12/umbraco-forms/developer/configuration/README.md @@ -111,7 +111,7 @@ For illustration purposes, the following structure represents the full set of op "Recaptcha3": { "SiteKey": "", "PrivateKey": "", - "Domain": "www.google.com" + "Domain": "Google" }, "RichText": { "DataTypeId": "ca90c950-0aff-4e72-b976-a30b1ac57dad" @@ -491,7 +491,7 @@ You can obtain both of these values after signing up to create a ReCaptcha key h This setting defines the domain from which the client-side assets for using the reCAPTCHA service are requested. -Valid options are `www.google.com` (the default) or `www.recaptcha.net`. You may want to use the latter for control of which domains are setting cookies on your site. [Read more at the reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/faq#does-recaptcha-use-cookies). +Valid options are `Google` (the default) or `Recaptcha`. You may want to use the latter for control of which domains are setting cookies on your site. [Read more at the reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/faq#does-recaptcha-use-cookies). ### Rich text field type configuration diff --git a/13/umbraco-forms/developer/configuration/README.md b/13/umbraco-forms/developer/configuration/README.md index 7e3cde199fc..54aa1d1eedb 100644 --- a/13/umbraco-forms/developer/configuration/README.md +++ b/13/umbraco-forms/developer/configuration/README.md @@ -111,7 +111,8 @@ For illustration purposes, the following structure represents the full set of op "Recaptcha3": { "SiteKey": "", "PrivateKey": "", - "Domain": "www.google.com" + "Domain": "Google", + "VerificationUrl": "https://www.google.com/recaptcha/api/siteverify" }, "RichText": { "DataTypeId": "ca90c950-0aff-4e72-b976-a30b1ac57dad" @@ -491,7 +492,13 @@ You can obtain both of these values after signing up to create a ReCaptcha key h This setting defines the domain from which the client-side assets for using the reCAPTCHA service are requested. -Valid options are `www.google.com` (the default) or `www.recaptcha.net`. You may want to use the latter for control of which domains are setting cookies on your site. [Read more at the reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/faq#does-recaptcha-use-cookies). +Valid options are `Google` (the default) or `Recaptcha`. You may want to use the latter for control of which domains are setting cookies on your site. [Read more at the reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/faq#does-recaptcha-use-cookies). + +#### VerificationUrl + +By default the server-side validation of the reCAPTCHA response is sent to Google's servers at `https://www.google.com/recaptcha/api/siteverify`. + +Some customers with a locked down production environment cannot configure the firewall to allow these requests and instead use a proxy server. They can use this setting to configure the URL to their proxy server, which will relay the request to and response from Google. ### Rich text field type configuration diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index 28d455a706e..8d02317a63a 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -24,6 +24,7 @@ With the introduction of webhooks with Umbraco 13, we've made an update to Forms **Features implemented and issues resolved in 13.1.0** * Added wehbooks for workflow execution events [#1151](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1151) +* Added support for a proxied request when using reCAPTCHA 3 [#1159](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1159) #### [**13.0.2**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.0.2) **(February 20th 2024)** From 2eb758e06a39607b9b8f7deebec4ad033b4498ef Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Tue, 27 Feb 2024 09:08:05 +0100 Subject: [PATCH 3/8] Added details and release notes for mandatory fieldsets and cachebusting on script dependencies. --- 13/umbraco-forms/developer/configuration/README.md | 9 ++++++++- 13/umbraco-forms/release-notes.md | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/13/umbraco-forms/developer/configuration/README.md b/13/umbraco-forms/developer/configuration/README.md index 54aa1d1eedb..75e46703ed2 100644 --- a/13/umbraco-forms/developer/configuration/README.md +++ b/13/umbraco-forms/developer/configuration/README.md @@ -67,7 +67,8 @@ For illustration purposes, the following structure represents the full set of op "FieldTypes": {}, "PrevalueSourceTypes": {}, "WorkflowTypes": {}, - } + }, + "MandatoryFieldsetLegends": false }, "Options": { "IgnoreWorkFlowsOnEdit": "True", @@ -224,6 +225,12 @@ Take care to not hide any settings that are required for the particular field or The default value and read-only settings apply to most setting types. There is an exception for complex ones where a default string value isn't appropriate. An example of one of these is the field mapper used in the "Send to URL" workflow. +### MandatoryFieldsetLegends + +When creating a form with Umbraco Forms, adding captions to the groups for fields is optional. To follow accessibility best practice, these fields should be completed. When they are, the group of fields are presented within a `
` element that has a populated ``. + +If you want to ensure form creators always have to provide a caption, you can set the value of this setting to `true`. + ### Form default settings configuration The following configured values are applied to all forms as they are created. They can then be amended on a per-form basis via the Umbraco backoffice. diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index 8d02317a63a..f67fe323370 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -21,10 +21,17 @@ This section contains the release notes for Umbraco Forms 13 including all chang With the introduction of webhooks with Umbraco 13, we've made an update to Forms to allow workflow execution events to trigger webhooks. Workflows are operations that you can associated with form submission, approval or rejections actions. You can use these where you need to notify external systems of the success or failure of a workflow. Read more on [Umbraco Forms wehbooks](./developer/webhooks.md). +We've added an update that will help customers using Forms within locked down production environments. + +And there are a couple of further additions to improve performance and accessibility of the product. + **Features implemented and issues resolved in 13.1.0** * Added wehbooks for workflow execution events [#1151](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1151) * Added support for a proxied request when using reCAPTCHA 3 [#1159](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1159) +* Added a configurable option to ensure accessibility requirements with regard to fieldsets are adhered to [#1163](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1163) + * Read more about this configuration setting [here](./developer/configuration/README.md#mandatoryfieldsetlegends). +* Added a cachebuster querystring based on the current product version to rendered script dependencies [#773](https://github.com/umbraco/Umbraco.Forms.Issues/issues/773) #### [**13.0.2**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.0.2) **(February 20th 2024)** From 2c03f81f56b239313c870b25649d114b2f7cf1fb Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Tue, 27 Feb 2024 11:47:20 +0100 Subject: [PATCH 4/8] Updated release notes. --- 13/umbraco-forms/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index f67fe323370..c158ae74998 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -32,6 +32,7 @@ And there are a couple of further additions to improve performance and accessibi * Added a configurable option to ensure accessibility requirements with regard to fieldsets are adhered to [#1163](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1163) * Read more about this configuration setting [here](./developer/configuration/README.md#mandatoryfieldsetlegends). * Added a cachebuster querystring based on the current product version to rendered script dependencies [#773](https://github.com/umbraco/Umbraco.Forms.Issues/issues/773) +* Ensured that client-side conditions logic correctly implements "is" with multiple values, such that the condition passes if one and only one matching value is found. [#1173](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1173) #### [**13.0.2**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.0.2) **(February 20th 2024)** From 8e125959668f343148599dea810a9f423be59311 Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Tue, 27 Feb 2024 14:41:36 +0100 Subject: [PATCH 5/8] Updated release notes. --- 13/umbraco-forms/release-notes.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index c158ae74998..700def510e7 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -27,12 +27,13 @@ And there are a couple of further additions to improve performance and accessibi **Features implemented and issues resolved in 13.1.0** -* Added wehbooks for workflow execution events [#1151](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1151) -* Added support for a proxied request when using reCAPTCHA 3 [#1159](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1159) -* Added a configurable option to ensure accessibility requirements with regard to fieldsets are adhered to [#1163](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1163) +* Added wehbooks for workflow execution events [#1151](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1151). +* Added support for a proxied request when using reCAPTCHA 3 [#1159](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1159). +* Added a configurable option to ensure accessibility requirements with regard to fieldsets are adhered to [#1163](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1163). * Read more about this configuration setting [here](./developer/configuration/README.md#mandatoryfieldsetlegends). -* Added a cachebuster querystring based on the current product version to rendered script dependencies [#773](https://github.com/umbraco/Umbraco.Forms.Issues/issues/773) -* Ensured that client-side conditions logic correctly implements "is" with multiple values, such that the condition passes if one and only one matching value is found. [#1173](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1173) +* Added a cachebuster querystring based on the current product version to rendered script dependencies [#773](https://github.com/umbraco/Umbraco.Forms.Issues/issues/773). +* Ensured that client-side conditions logic correctly implements "is" with multiple values, such that the condition passes if one and only one matching value is found [#1173](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1173). +* Fixed closing of theme picker dialog [#1174](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1174). #### [**13.0.2**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.0.2) **(February 20th 2024)** From df1975a6e9a0eafbf97c9db6f079b3310404008f Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Wed, 28 Feb 2024 06:46:19 +0100 Subject: [PATCH 6/8] Updated release notes. --- 13/umbraco-forms/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index 700def510e7..b135b0c869d 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -34,6 +34,7 @@ And there are a couple of further additions to improve performance and accessibi * Added a cachebuster querystring based on the current product version to rendered script dependencies [#773](https://github.com/umbraco/Umbraco.Forms.Issues/issues/773). * Ensured that client-side conditions logic correctly implements "is" with multiple values, such that the condition passes if one and only one matching value is found [#1173](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1173). * Fixed closing of theme picker dialog [#1174](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1174). +* Fixed rendering of translated dictionary items used for form captions [#1175](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1175). #### [**13.0.2**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.0.2) **(February 20th 2024)** From a37f0ea4759cf58b951eed0f87532b5f95d47a7f Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Wed, 28 Feb 2024 11:51:16 +0100 Subject: [PATCH 7/8] Added date for release candidate. --- 13/umbraco-forms/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index b135b0c869d..7bc0316995b 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -17,7 +17,7 @@ If you are upgrading to a new major version, you can find information about the This section contains the release notes for Umbraco Forms 13 including all changes for this version. -#### [**13.1.0**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.1.0) **(TBC)** +#### [**13.1.0**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.1.0) **(March 5th 2024)** With the introduction of webhooks with Umbraco 13, we've made an update to Forms to allow workflow execution events to trigger webhooks. Workflows are operations that you can associated with form submission, approval or rejections actions. You can use these where you need to notify external systems of the success or failure of a workflow. Read more on [Umbraco Forms wehbooks](./developer/webhooks.md). From 47d02ca54a29d09f8d760d0ce7f74977821cb6a1 Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Wed, 28 Feb 2024 16:08:12 +0100 Subject: [PATCH 8/8] Apply suggestions from code review Co-authored-by: Esha Noronha <82437098+eshanrnh@users.noreply.github.com> --- 13/umbraco-forms/developer/configuration/README.md | 6 +++--- 13/umbraco-forms/developer/webhooks.md | 4 ++-- 13/umbraco-forms/release-notes.md | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/13/umbraco-forms/developer/configuration/README.md b/13/umbraco-forms/developer/configuration/README.md index 75e46703ed2..f81c03bc45f 100644 --- a/13/umbraco-forms/developer/configuration/README.md +++ b/13/umbraco-forms/developer/configuration/README.md @@ -227,7 +227,7 @@ The default value and read-only settings apply to most setting types. There is a ### MandatoryFieldsetLegends -When creating a form with Umbraco Forms, adding captions to the groups for fields is optional. To follow accessibility best practice, these fields should be completed. When they are, the group of fields are presented within a `
` element that has a populated ``. +When creating a form with Umbraco Forms, adding captions to the groups for fields is optional. To follow accessibility best practices, these fields should be completed. When they are, the group of fields are presented within a `
` element that has a populated ``. If you want to ensure form creators always have to provide a caption, you can set the value of this setting to `true`. @@ -503,9 +503,9 @@ Valid options are `Google` (the default) or `Recaptcha`. You may want to use the #### VerificationUrl -By default the server-side validation of the reCAPTCHA response is sent to Google's servers at `https://www.google.com/recaptcha/api/siteverify`. +By default, the server-side validation of the reCAPTCHA response is sent to Google's servers at `https://www.google.com/recaptcha/api/siteverify`. -Some customers with a locked down production environment cannot configure the firewall to allow these requests and instead use a proxy server. They can use this setting to configure the URL to their proxy server, which will relay the request to and response from Google. +Some customers with a locked-down production environment cannot configure the firewall to allow these requests and instead use a proxy server. They can use this setting to configure the URL to their proxy server, which will relay the request to and response from Google. ### Rich text field type configuration diff --git a/13/umbraco-forms/developer/webhooks.md b/13/umbraco-forms/developer/webhooks.md index 9c1e119800b..75a8c279026 100644 --- a/13/umbraco-forms/developer/webhooks.md +++ b/13/umbraco-forms/developer/webhooks.md @@ -2,9 +2,9 @@ Umbraco Forms will register events for workflow operations that you can use with [Umbraco webhooks](https://docs.umbraco.com/umbraco-cms/reference/webhooks). -Workflows are operations that you can associated with form submission, approval or rejections actions. You can use these where you need to notify external systems of the success or failure of a workflow. +Workflows are operations that you can associate with form submission, approval, or rejection actions. You can use these where you need to notify external systems of the success or failure of a workflow. -Via the Umbraco _Settings > Webhooks_ dashboard you can configure webhooks to respond to workflows. +On the Umbraco **Settings** > **Webhooks** dashboard, you can configure webhooks to respond to workflows. ![Webhook events](./images/wehbook-events.png) diff --git a/13/umbraco-forms/release-notes.md b/13/umbraco-forms/release-notes.md index 7bc0316995b..685845563fe 100644 --- a/13/umbraco-forms/release-notes.md +++ b/13/umbraco-forms/release-notes.md @@ -19,11 +19,11 @@ This section contains the release notes for Umbraco Forms 13 including all chang #### [**13.1.0**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.1.0) **(March 5th 2024)** -With the introduction of webhooks with Umbraco 13, we've made an update to Forms to allow workflow execution events to trigger webhooks. Workflows are operations that you can associated with form submission, approval or rejections actions. You can use these where you need to notify external systems of the success or failure of a workflow. Read more on [Umbraco Forms wehbooks](./developer/webhooks.md). +With the introduction of webhooks in Umbraco 13, we've made an update to Forms to allow workflow execution events to trigger webhooks. Workflows are operations that you can associate with form submission, approval, or rejection actions. You can use these where you need to notify external systems of the success or failure of a workflow. Read more on [Umbraco Forms Wehbooks](./developer/webhooks.md). We've added an update that will help customers using Forms within locked down production environments. -And there are a couple of further additions to improve performance and accessibility of the product. +And there are a couple of further additions to improve the performance and accessibility of the product. **Features implemented and issues resolved in 13.1.0**