Episerver - update 360
Release summary
New releases of Episerver Campaign, Episerver Profile Store, Episerver Visitor Intelligence, and Optimizely Full Stack. Bug fixes for Episerver A/B testing and Episerver Forms.
Released items March 30, 2021
Area | ID | Type | Description | Released |
---|---|---|---|---|
PROF-6804 |
[InsightUI][Segment]: Returns wrong profiles with profile filter definition - space in param
Precondition: There is a profile filter definition which has at least one param in the query, like this one: { "Id": "fd_PDF_Name_eq", "Name": "PDF_Name_eq", "Description": "Name equal inputValue", "Query": "Name eq {{name}}", "Parameters": { "name": "string" }, "Category": "Profiles Category", "Type": "Profiles" } Steps to reproduce:
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-7847 |
Time and count metrics for filter definitions
Marketers can now set the time or/and count metrics when creating a segment based on event filter definitions, and reuse the same filter definition in combination with the time period and the number of event occurrences.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-4579 |
Visitor group personalization doesn't work for segments with a query on profile payload
Precondition: Create profile test@test.com with Payload info like this: "Payload": { "number": 2 } Steps to reproduce:
Expected result: The user can see the personalized content. Actual result: The user cannot see the personalized content.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-6820 |
[FilterDefinition] Can create a new profile filter definition with invalid property in Query
Create a new profile filter definition with an invalid property (which does not belong to the profile) in Query like this one: POST: /api/v2.0/FilterDefinitions { "Name": "Testing_VisitorGroup_input_value", "Description": "VisitorGroup with inputValue", "Query": "Testing eq {{value}}", "Parameters": { "value": "string" }, "Category": "Profiles", "Type": "Profiles" } Expected result: Returns 400 Bad Request with message Invalid filter definition. Actual result: Returns 201 Created and create new filter definition successfully. The same thing happens if you create an event filter definition with an invalid property which does not belong to the track event.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-8001 |
Only 10 profiles are listed when using MatchProfileById and MatchProfileByEmail for a segment
Steps to reproduce:
POST: segmentURL/segmentId/MatchByProfileId Expected result: All the profiles based on profileIds/Emails should be returned. Actual result: Only 10 profiles are returned.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-7904 |
Display UI warning when the time and occurrence metric may be incompatible with a specific filter definition
An indication/warning is now displayed in the user interface when a metric is not applicable with the selected filter definition.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-7689 |
Specific error message is not returned when KQL query is invalid
Steps to reproduce: Execute an invalid query using the event preview endpoint, for example: Events | summarize count() by Payload Expected result: Specific error message with details of what is wrong and ideally suggests how to fix the problem. Actual result: {"error":{"code":"400","message":"Failed to execute the query.","target":"","details":[]}}
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-7733 |
[Segment_v2.0]: Returns 500 when creating a new segment without Query property
Steps to reproduce:
{ "Scope": "default", "SegmentManager": "Franklin Cummings", "AvailableForPersonalization": false, "Archived": false, "FavoredBy": null, "Name": "Testing Segment", "Description": "Testing Segment", "Filters": { "Items": [ { "Type": "Events", "Parameters": { "value": "home" } } ] } } Expected result: Returns 400 Bad Request with Validation Error. Actual result: Returns 500 Internal Server Error.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-7988 |
Hide shared filter definitions that depend on Commerce events in the UI on CMS site
Only shared filter definitions compatible with currently installed products are displayed.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
MAR-1398 |
Unnecessary allocations for Swapdisabled
Based on profiling data, StickySiteKpi can allocate a lot of objects and cause frequent GC gen 0.
EPiServer.Marketing.Testing 2.6.6; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2780 |
NullReferenceException when ParagraphTextElementBlock element is not under the Form folder
Steps to reproduce:
Expected result: Actual result:
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2749 |
Improve Form submit events
Submitted form events have been updated to support doing asynchronous calls before submitting data.
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2579 |
Slow ExpiredFormSubmissionRemoveJob
The ExpiredFormSubmissionRemoveJob loads all existing forms before performing a delete action on expired forms. This may cause performance issues if there are a lot of submitted forms.
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2804 |
CleanupPartialSubmissions() removes both partial and finalized submissions
CleanupPartialSubmissions() incorrectly collects and removes both partial AND finalized submissions.
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2754 |
Form field dependencies are not imported correctly
Steps to reproduce:
Expected result: Form field dependencies should work. Actual result: Dependencies for form elements do not get imported correctly and do not work. In the Dependencies tab in the imported form, the second text element's dependency points to the first text element in the original form.
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2778 |
GetGeoData issue
The default controller can be overridden by editing the default coreController="/EPiServer.Forms/DataSubmit". This does not apply to the Hidden visitor profiling regarding the GetGeoData() method from the controller, since the URL used for calling that is hardcoded in the client resource javascript (EPiServerForms.js). A fix should be made here to get control of the GetGeoData and to be able to really customize the functionality.
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
AFORM-2485 |
The text "The form has been submitted successfully." isn't translated correctly in Swedish
Steps to reproduce:
Expected: The text "The form has been submitted successfully." is translated correctly. Actual: The text "The form has been submitted successfully." isn't translated correctly in Swedish. It still displays: "Formuläret skickat.", which is the old translation and not the latest.
EPiServer.Forms 4.30.3; (Or a related package);
| Mar 30, 2021 | ||
MAR-1370 |
A/B testing squashed text when rendering previews
A/B testing preview displays squashed text.
EPiServer.Marketing.Testing 2.6.6; (Or a related package);
| Mar 30, 2021 | ||
PROF-7781 |
Out of the box filter definitions for Commerce
A default set of filter definitions are now included out of the box in Visitor Intelligence. Marketers can create segments based on Commerce events and profiles without asking developers to create their own filter definitions.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 | ||
PROF-7894 |
[ProfileAPI]: Inconsistent display the null value
1. Create a new profile: POST: /api/v1.0/profiles { "Info": { "ZipCode": null } } -> It returns 201 Created with body: { "ProfileId": "545db9d4-79f8-49cb-ae63-34ab6ca95647", ..... "Info": { "ZipCode": null } } 2. Get the newly created profile in step 1:
GET /api/v1.0/profiles/default/545db9d4-79f8-49cb-ae63-34ab6ca95647
-> It returns the profile with info: { "ProfileId": "545db9d4-79f8-49cb-ae63-34ab6ca95647", ..... "Info": {}, } Expected result: The Info property should display consistent information.
EPiServer.Profiles.Client 1.24.0; (Or a related package);
| Mar 30, 2021 |
Episerver Campaign
Episerver Campaign 8.53
- Overview of scheduled jobs
If you have scheduled jobs configured in your client, such as automatic recipient imports, you can now view them in the Episerver Campaign front end. This is helpful, for example, if you want to configure new jobs and check which jobs already exist and when they are running.
See also: Scheduled jobs in the Episerver User Guide.
Optimizely Full Stack
New features:
- Per-environment A/B test configuration and experimentation results reports.
- Simplified, flag-centric data model. A/B tests and rollouts are now both types of "flag rules", and "rollouts" are now "flag deliveries".
- New, consolidated configuration pane for flags and flag rules.
- New REST API for configuring flags and flag rules.
- New SDK methods (Decide) which offers the same functionality as Is Feature Enabled and more. Allows for future expansion of the new flag-centric data model to all experiment types.
More on releases
- See detailed release notes
- See only new features - filter on Feature in release notes
- See only end-user features - filter on UI Feature in release notes
- See only critical bug fixes - filter on Critical Bug in release notes
- Release notes for Episerver B2B Commerce, B2B Analytics, and PIM
Related topics
- Installing Episerver updates
- Episerver services and product lifecycles
- The Episerver continuous release process
Last updated: Mar 30, 2021