Packages [expand] [collapse]

Release notes for Episerver updates

This overview lists the latest changes included in Episerver updates delivered as NuGet packages and services. You can filter the information for products and versions, bug fixes and features. As a developer working with Episerver solutions, use the information to decide which updates to apply to your project. See Installing Episerver updates for information on how to install.

Note: New NuGet packages listed here may not be immediately available in the Episerver NuGet feed.

Changes in Personalization:

Item type
From date
To date
Id Type Title Released
  [SegmentUI]:Create segment by Event Filter Definition- return 500 when preview

Precondition: Create some event filter definitions with some type of parameters: bool, guid, double and timespan (Query in Payload)
(ex: Create an event filter definition like this one:

    "Name": "Payload_Boolean_Event",
    "Description": "Payload Boolean Event",
    "Query": "Events|where Payload.testbool == {{value}}",
    "Parameters": {
        "value": "bool"
    "Category": "Events",
    "Type": "Events"

1. Open Visitor Intelligence > Segments > click on Create a Segment button
2. Choose the filter definition with parameters in the precondition, input proper value in param, click on Preview.

  • Expected: Return the proper profiles
  • Actual: Return: Error: Request failed with status code 500

Note that: When I check creating segment by event filter definition using API:

  • It creates segment successfully with parameters types bool and guid
  • It returns 400 Bad Request with parameter types double and timespan
Version/s: EPiServer.Profiles.Client 1.21.0
Oct 03, 2020
  Profile phone numbers validation is not required

Profile phone number validation probably doesn't cover all possible valid cases.

Instead, invalid value (or valid phone number that we do not accept as valid) blocks storing profile data. It is also quite hard to describe clearly and maintain the documentation for this validation in case it is updated.

We should consider removing phone number validation or making it much more relaxed since the product functionality doesn't rely on correct phone numbers. Storing data as is may be more important than validating phone numbers.


Updated: Validation has been relaxed. Valid phone number characters: + - . whitespace and alphanumeric characters.

Version/s: EPiServer.Profiles.Client 1.21.0
Oct 03, 2020
  [ProfileAPI] Cannot delete a profile which doesn't have DeviceId

1.Create a profile without DeviceIds
2. Using API to delete profile based on DeviceId:

DELETE: /api/v1.0/profiles/{{scope}}/{{profileId}}

-> It returns 200 OK with message: Successfully removed data for profile item profileId
3. Get profile in the previous step

  • Expected: The profile is deleted
  • Actual: The profile is not deleted, it is displayed in the list
    Note that: The bug doesn't occur when I add email of the profile in blacklist, then clear user data of the profile.
Version/s: EPiServer.Profiles.Client 1.20.0
Sep 06, 2020
  Blacklist endpoints are not described in Swagger specs for Profile Store API v2.0

1. Navigate to Profile Store API in your region.
2. Observe that you are redirected to Swagger UI page
3. Note that Blacklist endpoints are listed for v1.0
4. Switch to v2.0 in top left corner

Expected: Blacklist endpoints are listed for v2.0
Observed: Blacklist endpoints are not listed.

Version/s: EPiServer.Profiles.Client 1.18.1
Jul 15, 2020
  [ProfileAPI] Returns 500 when post a profile having more than 1024 deviceIds

Using API to post a new profile more than 1024 deviceIds:

            "Name": "user6789",
            "Info": {
                "Email": ""
            "DeviceIds": [
                "0", ... , "1025"
            "Scope": "default"

  • Expected: Return 201 Created with new profile in body
  • Actual: Return 500 Internal Server Error
Version/s: EPiServer.Profiles.Client 1.18.1
Jul 15, 2020
  [Perform] Introduce new setting for forcing variants to be exported as individual items

Several customers have reported that they want to be able to ignore the products in their catalog and export all variants as separate items instead.

To do this, use the abstractions and structure map interceptor pattern. Partners need to write their own implementation of an interface method whose default implementation is ~500 lines of code with private sub-methods. The source code is provided to the partners for this purpose.

Version/s: EPiServer.Personalization.Commerce 3.2.17
Jul 02, 2020
  Missing styles in the latest UI when running on older client or standalone

Some text styles are missing in the latest Visitor Intelligence UI when it runs on the website with older CMS version or in Campaign (as a standalone client). See screenshots for comparison.
It looks like these styles are loaded from the website, since they are missing in standalone version.

On CMS 1.24.x:

Standalone or older client, styles are missing:

Version/s: EPiServer.Profiles.Client 1.18.0
Jun 17, 2020
  Validation of postcodes in the United Kingdom prevents saving profile data

Using Profile Store REST API, create new profile or update existing profile using POST/PUT actions.
Include zip code in profile data in profile.Info.ZipCode and use valid postcodes in the United Kingdom, for example:

  • EC1A 1BB
  • W1A 0AX
  • M1 1AE
  • CR2 6XH
  • DN55 1PT

Expected: profile data is saved.

Observed: 400 Bad Request and error object with the message like
Invalid value.
Info.ZipCode: DN55 1PT

Note: some of postcodes are still accepted.

Version/s: EPiServer.Profiles.Client 1.18.0
Jun 17, 2020
  Unable to move events to another profile and remove the original

1) Track events to 2 different profiles (profile1 and profile2) using different device IDs (deviceID1 and deviceID2)

2) Move the deviceID2 from the second profile2, to the first profile1 (Either remove deviceID2 completely from profile2 or change it to a new guid).

3) Open profile1 in Insigt UI
Expected and observed: events from deviceID2 are displayed in the profile1 timeline in Insight UI

4) Query events with deviceID2 using Profile Store API.
Expected and observed: events are returned using Profile Store API

5) Delete the second profile2.

6) Query events with deviceID2.
Expected: events are returned using Profile Store API
Observed: the events with deviceID2 are now also deleted

7) Open profile1 in Insigt UI
Expected: events from deviceID2 are displayed in the profile1 timeline in Insight UI
Observed: timeline contains events form deviceID1 only

Version/s: EPiServer.Profiles.Client 1.18.0
Jun 17, 2020
  [SegmentAPI]: Returns wrong message when creating Segment with invalid property in ProfileQuery

Steps to reproduce

  1. Use the API to create a segment like this:

    POST: /api/v1.0/segments (or /api/v2.0/segments)
                "Name": "Testing segment 01",
                "ProfileQuery": "testing gt 12313",
                "Description": "Description",
                "SegmentManager": "",
                "AvailableForPersonalization": true,
                "Archived": false,
                "FavoredBy": [
                "Scope": "default"

Returns 400 Bad Request with message "Property in ProfileQuery doesn't exist in profile."

Returns 400 Bad Request with message: "Invalid segment type."

Version/s: EPiServer.Profiles.Client 1.17.0
May 19, 2020
1 2 3 4 5 6 Next