> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Ongoing overview of new features, improvements and bug fixes in the WEBSALE software, ordered by release version.

On this page we continuously document all changes to the WEBSALE software, including new features in the shop and in the admin interface as well as improvements and bug fixes. Entries are ordered by release version, with the newest version at the top.

<Note>
  **Breaking changes** — that is, changes that may require adjustments to existing shops or templates — are clearly marked with a warning in each release. If a release does not contain such a note, no adjustments are usually necessary.
</Note>

<Update label="release-1.93" description="Released: 30.07.2026">
  <Warning>
    **Breaking change: The AccountType is no longer taken from the template.** The shop now derives the customer type itself from the state of the session. The AccountType selection in the template is kept for compatibility reasons and for the template state machine, but no longer has any effect on the shop. Templates that controlled the checkout flow via this selection should be reviewed.
  </Warning>

  **New in the shop**

  * **Vouchers: revised interface and meaningful error messages.** The display and handling of vouchers in the checkout flow has been revised. In addition, the type of voucher error can now be output, for example when a voucher does not reach the minimum order value or there are no matching products in the basket.
  * **Query payment status in the shop.** The new `refreshPaymentStatus` action determines the current payment status of the running order and returns it. This can be used, for example, on the page for pending payments to check whether a payment has since been completed.

  **New in the admin interface**

  * **Manual log search: filtering by program.** In the manual log search, results can now additionally be restricted by program.
  * **Time-based prices: customisable promotion text.** For each time-controlled price, a dedicated promotion text can now be maintained, which is output in the shop alongside the promotional price.

  **Bug fixes**

  * **Shipping methods: AccountType is derived from the session.** The shop no longer depends on the AccountType selected in the template, but derives the customer type from the state of the session:
    * Not logged in: guest order
    * Newly registered: new customer
    * Logged into an existing session: existing customer. This fixes a whole range of bugs where shipping methods were not displayed.
  * **Order confirmation page: basket is reliably emptied.** A race condition could cause the basket to still contain items on the order confirmation page. The basket is now reliably emptied.
  * **Product data fields: long lists no longer break the design.** Very long lists in the product data fields broke the display. The layout now remains stable.
</Update>

<Update label="release-1.91" description="Released: 16.07.2026">
  **New in the shop**

  * **Advertising media flags (inserts): capturing the order source via catalog codes.** Catalog codes can now be used to capture and forward which advertising medium (insert) triggered an order. This allows the origin of an order to be analysed.

  **New in the admin interface**

  * **Elasticsearch: configurable log index.** The target index or data stream from which the shop logs are read can now be set via the new `logsIndex` option under `elasticSearch` in the `shop.json`, for example to use the Elasticsearch default data streams (`logs-*-*`, from Elasticsearch 8). Without configuration, the previous `logs` index remains active.
    ```json shop.json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
    {
      "elasticSearch": {
        "url": "<url>",
        "logsIndex": "logs-vx-default"
      }
    }
    ```

  **Bug fixes**

  * **Wishlists: content is preserved.** The content of wishlists no longer disappears after some time.
  * **Saved baskets: no empty entries for guests.** No more empty saved-basket entries are created for guest users.
  * **Admin interface: no logout on missing permissions.** If a user is missing permissions, they are no longer signed out of the admin interface.
  * **Admin interface: no preselection of all custom product fields.** When opening the view, not all custom product fields are automatically selected any more.
  * **Data subshops: reference corrected.** The referencing of data subshops works correctly again.
  * **Configuration service: empty lists remain lists.** An empty list is no longer incorrectly converted to `null` by the configuration service.
</Update>

<Update label="release-1.90" description="Released: 06.07.2026">
  **Bug fixes**

  * **PayPal invoice payment: customer no longer stuck on the "Pending" page.** If the PayPal notification (webhook) arrives before the customer returns to the shop, the order is now completed correctly. The customer no longer remains on the pending payments page.
  * **Additional fixes from shop tests.** Various smaller issues found during shop testing have been fixed.
</Update>

<Update label="release-1.89" description="Released: 02.07.2026">
  **New in the admin interface**

  * **Statistics: automated currency conversion.** The statistics service now converts revenue in foreign currencies automatically. Evaluations across shops with multiple currencies therefore return consistent, comparable values.

  **Bug fixes**

  * **Feed Builder: memory issue fixed.** A memory leak in the Feed Builder that could lead to increased memory consumption during long-running feed generations has been eliminated.
  * **PayPal: "Pending payment" page with SEO URLs.** The pending-payment page for PayPal Pay Upon Invoice now also works correctly in shops with SEO URLs enabled.
  * **PayPal Express Checkout: no more duplicate addresses.** PayPal Express Checkout no longer creates a duplicate address in the customer account during checkout.
</Update>

<Update label="release-1.85" description="Released: 23.06.2026">
  **New in the shop**

  * **Payment methods: placement-dependent display of icons and description texts.** Icons and description texts for payment methods can now be displayed differently depending on where they appear (e.g. checkout, footer).
  * **Checkout: automatic pre-selection of the shipping method on address change.** If a customer changes their delivery address during checkout, the matching shipping method is pre-selected automatically.
  * **Checkout: automatic pre-selection of the payment method on address change.** If a customer changes their address during checkout, the matching payment method is pre-selected automatically.

  **New in the admin interface**

  * **REST API: loading product IDs without product data.** The REST API can now optionally return product IDs only.
  * **Variants: configurable display order of variant values.** The order in which variant values are displayed within a variant group is now configurable.
  * **Order data: download link for vouchers.** For orders containing purchased vouchers, the voucher's download link is now shown directly in the order data.

  **Bug fixes**

  * **Product creation: inventory entry is created correctly.** When new products are created, the associated inventory entry is now created reliably.
</Update>

<Update label="release-1.81" description="Released: 16.06.2026">
  **New in the admin interface**

  * **Manage branches and stores graphically.** Branches or stores can now be created and managed directly in the admin interface via a graphical UI.
  * **Log manager: notification status and direct control of log groups.** The log manager overview now shows the notification status of each log group; log groups can be controlled directly from the overview.
  * **Log manager: time-range filtering down to hours and minutes.** The time-range filter in the admin interface can now be set with hour- and minute-level precision, not just per day.
  * **Log manager: time preselected in the manual log search.** In the manual log search the time is now preselected by default, saving an input step in every search.
  * **Log manager: resend error notification.** If a notification email could not be delivered when an error occurred, it can now be resent.

  **Bug fixes**

  * **Payment methods: switching to an offline payment method after a failed online payment.** If an online payment method fails, the customer can now reliably complete the order using an offline payment method.
  * **Product import: `id` is no longer incorrectly flagged as invalid on update.** When updating products via the product import, the `id` field is no longer incorrectly reported as an error.
  * **Vouchers: correct calculation of the VAT deduction.** Vouchers with VAT deduction no longer produce an incorrect negative or positive VAT deduction.
  * **PayPal Pay Upon Invoice with vouchers.** An issue with PayPal Pay Upon Invoice in combination with vouchers has been fixed.
  * **PayPal Pay Upon Invoice: PaymentId in order data.** For PayPal Pay Upon Invoice the PaymentId is now correctly written to the order data.
</Update>
