Skip to main content
Arrow Backward IconBack to Overview

Core 2.0.698

July 26, 2023

Released on all test and acceptance environments on July 26, 2023

Will be released to production in EUW and ASE on July 31, 2023*

Will be released to production in CUS on August 1, 2023*


release notes image

Breaking

Password management

From a security perspective, it's best if every user has control over their own password from the start. This means that even managers responsible for creating new users should not be able to create or interact with those other users' passwords. The same goes for email addresses after the initial user creation.

To make this possible, passwords are no longer set during the creation of users, but instead trigger a stencil called EmployeeCreated which will be sent out to the new users directly via email. Additionally, Reset tokens can no longer be generated for other users - use the existing password reset flow instead.

For more information about these flows, the corresponding stencils and configuration, see (Re)Setting passwords.

QR code login

When your EVA account is flagged as an SSO-only account, you can no longer generate (or log in with) QR codes from EVA itself - they are considered a bypass of the SSO authentication. If your SSO provider offers QR code logins, these of course are unaffected.

While we're on the subject; the setting Security:IdentificationCodeHash:ExpireInDays was never enforced, but let's start with a safe default value of 365, so there is at least some expiration to these QR codes out in the wild. That means these will be valid for a year and then have to be regenerated.

Added

Email invoice as default

You can now have the Email invoice option as default in the Documents page by setting Auditing:PreferEmail to true. This is applicable to Companion App, POS and the Checkout App.

OrderBackendIdentifier checkout option

We've added the OrderBackendIdentifier checkout option. This option allows you to set an order's BackendID in EVA based on third-party receipts.

Take into account that existing IDs cannot be overwritten and the Manage scope of the Order functionality is required.

Other additions

  • Reintroduce support for Users in VisibilityGroups.
  • The SearchOrders service now also returns incoming purchase orders by means of the ShipToOrganizationUnit.
  • We added a task plugin for birthday coupons.
  • Added Watchtower local endpoint support.
  • We now expose RepairTaskID and Type on case.
  • We now expose Email address in the GetCaseByID service.
  • Added BackendID as a filter on ListCases service.
  • Expose Shipment event in FinancialEventTypes mapper.

Improved

Product variants in stencils

We've made product variants easier to use in stencils by adding them as a ProductVariants property on the order line. This way you can for example use {for} statements.

If there are variations present, they will now be presented as follows:


[
{
"id": "name_color_design",
"label": "name_color_design",
"value": "Grey"
},
{
"id": "item_size_textile",
"label": "item_size_textile",
"value": "70x60 cm"
}
]

ReturnableStatus extension point

We've made improvements to the ReturnableStatus scripting extension point which will allow you to perform additional checks based on the amounts and/or products which are being returned in the return order.

The script now takes the following two properties:

  • ReturningOrder, which holds:
    • ReturningOrderLines - indicating the lines the customer intends to return
    • TotalAmountInTax - as a sum of the returning lines (negative number), for sake of convenience
  • ReturningOrderLine, which holds:
    • Product (as ProductVariable) - representing the product intended for return
    • ReturningQuantity - for the quantity to be returned (positive number)
    • TotalAmountInTax - for the value this return holds (negative number)

Both CreateCustomerReturn and PushReturnOrder make use of this script's status checks as well.

Other improvements

  • Roles are now deletable.
  • Skip omitted custom field requirements through UpdateOrderCheckoutOptions, preventing a deadlock in scenarios with more than one required custom field present.
  • We no longer require line splitting for non-unified order POs, even if it concerns serial number products.

Fixed

  • Don't always filter on ClientContext.Country.
  • ImportOrganizationUnits now supports importing multiple levels at the same time.
  • Look at given values instead of store values in UpdateProductRelationType.
  • Treat new devices without cashjournal as closed.
  • Inquire should exist when creating subscription.
  • TransitStockCheckTask for unified order shipments.
  • Calculate discount amounts better in line splitting scenarios.
  • Stream batch consumer should start at end when starting.

Deprecations

🆕 Introduced

These deprecations are now announced for the first time. Usage of these services and/or fields will return the appropriate EVA-Warnings header.

Deprecated

Medium

  • Medium Order.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • CreateOrderFromShoppingCartResponse.Order.HasReturns
  • Medium Result.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • GetOrderResponse.Result.HasReturns
    • EVAPayGetInfoResponse.Result.HasReturns
  • Medium Result.Order.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • GetStockReservationTaskResponse.Result.Order.HasReturns
  • Medium Result.Page.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • ListOrdersForCustomerResponse.Result.Page.HasReturns
  • Medium ShoppingCart.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • ShoppingCartResponse.ShoppingCart.HasReturns
  • Medium Task.Order.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • StartReservationCleanupResponse.Task.Order.HasReturns
  • Medium WorkSet.Order.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • StartStockReservationResponse.WorkSet.Order.HasReturns
  • Medium WorkSet.Orders.HasReturns is deprecated and will be removed in 2.0.714: Use the new Properties value HasReturnLines.
    • CompleteReservationDeviationTask.WorkSet.Orders.HasReturns
    • StartReservationDeviationTaskResponse.WorkSet.Orders.HasReturns




Release dates may vary

The exact date for deploying a Core release to production environments may vary. See How we handle Core releases for more details.