---
title: "Upgrade Notes | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-editor/it-ops/install/upgrade-notes/"
---

# Upgrade Notes

> We actively develop the Customer's Canvas API and realize that critical changes may be unacceptable and complicate the update process. When some API elements become inconsistent and inconvenient, we first declare them deprecated, and they work in parallel with the new functionality for a while. In further major releases, we delete such deprecated elements.

-   [Upgrade Notes for DE 5 to 6](#design-editor-6-upgrade-notes)
-   [Upgrade Notes for DE 4 to 5](#design-editor-5-upgrade-notes)

## Design Editor 6 Upgrade Notes

When upgrading Design Editor 5 to 6, you will face breaking changes in configuration parameters, markers, and the Web API. 

-   [Bleed and Slug](#bleed-zone-and-print-area-size)
-   [Changed configuration parameters](#changed-parameters-in-configuration-files)
-   [Removed parameters](#removed-configuration-parameters)
-   [Removed markers](#removed-markers)
-   [Renamed parameters in the Web API 6](#renamed-parameters-in-the-web-api-6)

### Bleed Zone and Print Area Size

Starting from version 5.33, we have changed the way we define the bleed zone and print area size. Earlier, if you wanted to create a 3.5x2" business card with 1/8" bleed, you created a 3.75x2.25" design and put a safety line inside it. But now, when you create a 3.5x2" design, the bleed zone will expand outside the design.

![Defining the bleed zone.](images/NewBleedZone.png)

After upgrading to version 6, you may run into a problem when the size of the product is not what you expect, and unnecessary safety lines may also appear. If you encounter this, you can either rework the design and change the Bleed and Slug settings, or enable the old behavior. In the latter case, set `LegacyIdmlBleedParsingEnabled` to `True` in **Aurigma.DesignAtoms.config**.

For more details, refer to [Importing the bleed zone from InDesign](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/product-definition/bleeds-and-safety-zone.md#importing-the-bleed-zone).

### Changed Parameters in Configuration Files

#### clientConfig.json

Parameter Name | Old Value | New Value

<code>watermark.text.fontSettings</code> | "ArialMT" | "Roboto-Regular"

#### AppSettings.config

Parameter Name | Old Value | New Value

<code>FontSubstitutionEnabled</code> | "True" | "False"
<code>SubstitutionFontPostScriptName</code> | "ArialMT" | "Roboto-Regular"
<code>DefaultFontPostScriptName</code> | "ArialMT" | "Roboto-Regular"

### Removed Configuration Parameters

#### AppSettings.config

Parameter Name | An Alternative

<code>ParagraphTextEnabled</code> | Not applicable

#### clientConfig.json

| Parameter Name | An Alternative |
| :--- | :--- |
| `arbitraryResizeForImageItemEnabled` | [IResizeGripsPermissions](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/WidgetConfigurationInterfaces.IResizeGripsPermissions.md) |
| `defaultAssetSelectWidget` | Not applicable |
| `newImageName` | [defaultItemsConfig.image.name](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/toolbox.md) |
| `canvas.snapLines.enabled` | [canvas.snapLines.&#123;type&#125;.enabled](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.ISnapElementConfiguration.md#enabled) |
| `canvas.snapLines.color` | [canvas.snapLines.&#123;type&#125;.color](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.ISnapElementConfiguration.md#color) |
| `canvas.snapLines.tolerance` | [canvas.snapLines.&#123;type&#125;.tolerance](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.ISnapElementConfiguration.md#tolerance) |
| `canvas.ZoomStep` | [canvas.zoom](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/reference.md#canvas-zoom) |
| `widgets.BottomToolbar.snapLinesCheckboxEnabled` | [widgets.BottomToolbar.snapLines&#123;type&#125;CheckboxEnabled](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/reference.md#snapLinesItemsCheckboxEnabled) |
| `widgets.ColorPicker.defaultColorSpace` | [widgets.ColorPicker.colorSpace](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/reference.md#colorSpace) |
| `widgets.ColorPicker.availableColorSpaces` | Not applicable |
| `widgets.ColorPicker.palette` | [IPaletteSection](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/color-picker.md#palettesection) |

### Removed Markers

| Marker Name | An Alternative |
| :--- | :--- |
| `<DPH>` | [Dynamic Image API](https://customerscanvas.com/docs/on-premises/dynamic-image.md) |

### Renamed parameters in the Web API 6

#### Endpoints

POST ~/api/Preview/GeneratePreview
POST ~/api/HiRes/GenerateHiRes

#### Parameters in the request payload

|Old Parameter|New Parameter|
|---|---|
|`previewOptions.width`|`previewOptions.maxWidth`|
|`previewOptions.height`|`previewOptions.maxHeight`|

#### Attributes in the response object

|Old Attribute|New Attribute|
|---|---|
|`ProofImageUrls`|`proofImageUrls`|
|`StateId`|`stateId`|
|`HiResUrls`|`hiResUrls`|

## Design Editor 5 Upgrade Notes

When upgrading Design Editor 4 to 5, you will face breaking changes in configuration parameters, markers, and the API. 

-   [Changed configuration parameters](#changed-configuration-parameters)
-   [Removed parameters](#removed-parameters)
-   [Removed markers](#removed-markers)
-   [Changes in the ObjectModel](#changes-in-the-objectmodel)
-   [Changes in the Web API 5](#changes-in-the-web-api-5)
-   [Migrating Applications from DE 4 to 5](#migrating-applications-from-de-4-to-5)

### Changed Configuration Parameters

#### clientConfig.json

Parameter Name | Old Value | New Value

<code>defaultAssetSelectWidget</code> | "GalleryDialog" | "AssetManager"
<code>spellCheckEnabled</code> | false | true
<code>canvas.shadowEnabled</code> | true | false
<code>canvas.qualityChangeContainersEnabled</code> | false | true
<code>canvas.violationWarningButtonsEnabled</code> | false | true
<code>rendering.hiResOutputColorSpace</code> | "rgb" | "cmyk"
<code>rendering.hiResOutputInStringPlaceholderHintsEnabled</code> | true | false
<code>rendering.proofImageFileFormat</code> | "png" | "jpeg"
<code>rendering.proofImageCropSafetyLine</code> | "bleed" | ""
<code>rendering.proofImageSafetyLinesEnabled</code> | false | true
<code>rendering.proofImageInStringPlaceholderHintsEnabled</code> | true | false
<code>violationWarningsSettings.qualityMeter.qualityLevels.bad</code> | 100 | 50
<code>violationWarningsSettings.shapeViolationsEnabled</code> | false | true
<code>violationWarningsSettings.textCropViolationWarningEnabled</code> | false | true
<code>widgets.BottomToolbar.fullWindowButtonEnabled</code> | true | false
<code>widgets.BottomToolbar.rotateButtonEnabled</code> | false | true
<code>widgets.BottomToolbar.surfaceSwitch.showThumbnails</code> | true | false
<code>widgets.ColorPicker.defaultColorSpace</code> | "rgb" | "cmyk"
<code>widgets.common.fontSize.max</code> | 100 | 1296
<code>widgets.common.leading.max</code> | 100 | 1296
<code>widgets.common.tracking.min</code> | -150 | -300
<code>widgets.ObjectInspector.aboveCanvasOnSmallScreenEnabled</code> | false | true
<code>widgets.ObjectInspector.inStringPlaceholderMode</code> | "Single" | "Multiple"
<code>widgets.ObjectInspector.position</code> | "Left" | "Right"
<code>widgets.QrCodeDialog.defaultType</code> | "QrVCard" | "QrUrl"
<code>widgets.TopToolbar.alignButtonsEnabled</code> | false | true
<code>widgets.TopToolbar.deleteButtonEnabled</code> | true | false
<code>widgets.TopToolbar.displayAlignButtonsAsDropdown</code> | false | true
<code>widgets.TopToolbar.displayZOrderButtonsAsDropdown</code> | false | true

#### AppSettings.config

Parameter Name | Old Value | New Value

<code>DesignFolder</code> | "\ProductTemplates\designs" | "..\assets\designs"
<code>MockupFolder</code> | "\ProductTemplates\mockups" | "..\assets\mockups"
<code>WatermarkFolder</code> | "\ProductTemplates\watermarks" | "..\assets\helpers"
<code>DesignImagesFolder</code> | "\ProductTemplates\designImages" | "..\assets\helpers"
<code>PublicGalleryFolder</code> | "\PublicGalleryFolder" | "..\assets\images"
<code>UserDataFolder</code> | "\UserDataFolder" | "..\userdata"
<code>LoadFontListAsPostScriptNames</code> | "False" | "True"
<code>Hinting</code> | "Enabled" | "Auto"
<code>SepiaAlgorithm</code> | "Standard" | "MoreBrown"
<code>SecureModeEnabled</code> | "False" | "True"

#### Aurigma.DesignAtoms.config

**VectorObjects.config** is renamed to **Aurigma.DesignAtoms.config** and receives the following changes.

Parameter Name | Old Value | New Value

<code>FontDirectory</code> | "\Fonts" | "..\assets\fonts"
<code>ColorProfilesDirectory</code> | "" | "..\assets\ColorProfiles"

### Removed Parameters

#### clientConfig.json

| Parameter Name | Recommended Replacement |
| :--- | :--- |
| `defaultItemsConfig.<item>.showDeleteButton` | `IItemToolbarPermissionsConfig` |
| `defaultItemsConfig.<item>.showEditButton` | `IItemToolbarPermissionsConfig` |
| `defaultItemsConfig.<item>.manipulationPermissions.allowProportionalResize` | [IResizeGripsPermissions](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/WidgetConfigurationInterfaces.IResizeGripsPermissions.md) |
| `defaultItemsConfig.<item>.manipulationPermissions.allowArbitraryResize` | [IResizeGripsPermissions](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/WidgetConfigurationInterfaces.IResizeGripsPermissions.md) |
| `rendering.proofImageWatermarkEnabled` | [IWatermarkConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IWatermarkConfig.md) |
| `rendering.proofImageWatermarkFontPostScriptName` | [IWatermarkConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IWatermarkConfig.md) |
| `rendering.proofImageWatermarkFontSize` | [IWatermarkConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IWatermarkConfig.md) |
| `rendering.proofImageWatermarkText` | [IWatermarkConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IWatermarkConfig.md) |
| `widgets.BottomToolbar.surfaceSwitchEnabled` | [ISurfaceSwitchConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/WidgetConfigurationInterfaces.ISurfaceSwitchConfig.md) |
| `widgets.GalleryDialog.defaultTab` | [ITabDescriptor](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/image-manager.md#tabs) |
| `widgets.GalleryDialog.downloadPsdAsImage` | [ITabDescriptor](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/image-manager.md#tabs) |
| `widgets.GalleryDialog.publicTabEnabled` | [ITabDescriptor](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/image-manager.md#tabs) |
| `widgets.GalleryDialog.userTabEnabled` | [ITabDescriptor](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/image-manager.md#tabs) |
| `widgets.GalleryDialog.publicFolderName` | [ITabDescriptor](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/image-manager.md#tabs) |
| `widgets.GalleryDialog.socialNetworkAppIds` | [ITabDescriptor](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/image-manager.md#tabs) |
| `widgets.LeftToolbar` | [IToolboxConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/toolbox.md) |
| `widgets.ObjectInspector.qualityMeterEnabled` | [IQualityMeterConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IQualityMeterConfig.md) |
| `widgets.ObjectInspector.safetyLineViolationWarningEnabled` | [IViolationWarningsSettingsConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IViolationWarningsSettingsConfig.md) |
| `widgets.ObjectInspector.regionViolationWarningEnabled` | [IViolationWarningsSettingsConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ConfigurationInterfaces.IViolationWarningsSettingsConfig.md) |
| `widgets.Toolbox.ButtonAction.ToggleObjectInspector` | [IObjectInspectorConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/WidgetConfigurationInterfaces.IObjectInspectorConfig.md) |
| `widgets.TopToolbar.zOrderButtonsEnabled` | [IZOrderConfig](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/WidgetConfigurationInterfaces.IZOrderConfig.md) |

### Removed Markers

Marker Name | Recommended Replacement

<code>&lt;FRT&gt;</code> | <code>&lt;RT&gt;</code>
<code>&lt;IAPSF&gt;</code> | <code>&lt;IASF&gt;</code>
<code>&lt;MAAR&gt;</code> | <code>&lt;MRE&gt;</code>
<code>&lt;MAPR&gt;</code> | <code>&lt;MRC&gt;</code>
<code>&lt;PSED&gt;</code> | <code>&lt;PAEC&gt;</code>
<code>&lt;TACS&gt;</code> | <code>&lt;TACBIU&gt;</code>

### Changes in the ObjectModel

| Removed Member | Recommended Replacement |
| :--- | :--- |
| `Customerscanvas.IframeApi.ObjectModel.Product.setUserId()` | [`Customerscanvas.IframeApi.RuntimeConfiguration.setUserId()`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/classes/RuntimeConfiguration.RuntimeConfiguration.md#setuserid) |
| `Customerscanvas.IframeApi.ObjectModel.Product.userId` | [`Customerscanvas.IframeApi.RuntimeConfiguration.getUserId()`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/classes/RuntimeConfiguration.RuntimeConfiguration.md#getuserid) |
| `Customerscanvas.IframeApi.ObjectModel.ISurfacesFromFolder.upMockup` | [`Customerscanvas.IframeApi.ObjectModel.IMockupFolders`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.IMockupFolders.md) |
| `Customerscanvas.IframeApi.ObjectModel.IMockupTemplateHandlerLegacy` | [`Customerscanvas.IframeApi.ObjectModel.IMockupTemplate`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.IMockupTemplate.md) |
| `Customerscanvas.IframeApi.ObjectModel.IMockupTemplateObject` | [`Customerscanvas.IframeApi.ObjectModel.IMockupTemplate`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.IMockupTemplate.md) |
| `Customerscanvas.IframeApi.ObjectModel.ISafetyLine.leftRightMargin` | [`Customerscanvas.IframeApi.ObjectModel.IMarginHV`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.IMarginHV.md) |
| `Customerscanvas.IframeApi.ObjectModel.ISafetyLine.topBottomMargin` | [`Customerscanvas.IframeApi.ObjectModel.IMarginHV`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.IMarginHV.md) |

##### New syntax

```js
setMockup(mockup: IMockupTemplate, previewMockups?: IMockupTemplate[], options?: {
    updateRevertData?: boolean;
}): Promise<Product>;
```

### Changes in the Web API 5

| Old Endpoint | New Endpoint |
| :--- | :--- |
| `~/api/users/{userId}/{stateId}` | [`~/api/users/{userId}/states/{stateId}`](https://customerscanvas.com/docs/on-premises/design-editor/apis/state-files.md) |

### Migrating Applications from DE 4 to 5

#### Removing the Eval Function

In Customer's Canvas 4, you could access the Design Editor and its object model through the `spEditor` object in the `eval` function. Although you can still use this way, which is not recommended, the code executed in this function is likely to stop working because of changes in the IFrame API. In the current implementation, you have full access to the object model right through the IFrame API.

Let's see in what use cases you could use `eval` and how you can replace this function now.

##### Getting the User ID

Since the `userId` property has been removed from the object model in version 5, the following call returns `undefined`.

```js
let editor = await CustomersCanvas.IframeApi.loadEditor(iframe, product, config);
console.log(await editor.eval("spEditor.model.product.userId"));
```

Instead, you can get the user ID from the runtime configuration as follows:

```js
let editor = await CustomersCanvas.IframeApi.loadEditor(iframe, product, config);
console.log(await editor.configuration.getUserId());
```

##### Getting the Product Model

Instead of using the `spEditor.model`:

```js
let productModel = await editor.eval(() => {
    return spEditor.model.product;
});
```

You can now obtain a product model as follows:

```js
let product = await editor.getProduct();
let productModel = await product.getProductModel();
```

Note that despite the previous way, the model obtained through `getProductModel` represents only a snapshop of the product loaded into the editor. If you change the model, you need to apply these changes to the product by using the `setProductModel` method.

```js
product.setProductModel(newProductModel);
```

##### Working with Design Elements

Instead of using the `spEditor.productHandler` object:

```js
let item = spEditor.productHandler.getAllItems().find(x => x.name === "Logo");
```

For example, you can find an element by its name as follows:

```js
let item = await product.getItemByName("Logo");
```

#### Changing the setMockup Calls

In Design Editor 5, you can set a mockup to a surface only through the `IMockupTemplate` interface. You can use the `setMockup` method as follows:

```js
let newProduct = await product.currentSurface.setMockup(
    {
        up: "stamp",
        down: "envelope"
    },
    previewMockups: [{ down: "envelope" }]
);
```

#### Changing Endpoints of the StateFiles Controller

If your application uses the Web API for manipulating state files through the deprecated endpoint:

**`~/api/users/{userId}/{stateId}`**

Then you must replace it with the new endpoint:

**`~/api/users/{userId}/states/{stateId}`**
