v15.0.0-Rc

Umbraco Commerce v15.0.0-rc release notes.

Umbraco Commerce v15.0.0-rc is the initial release of Umbraco Commerce for Umbraco CMS v15.

Key Takeaways

Async

The key focus of this release is the move to a fully asynchronous code base. To reduce the maintenance burden, the decision was made to go fully async without maintaining backward compatibility. This will therefore require code updates to use the new async methods.

Previous behavior

Previously all C# API's were synchronous and thus blocking by nature.

// Fluent API example
order.AddProduct(productRef, 1)
  .SetPaymentMethod(paymentMethodId)
  .SetShippingMethod(shippingMethodId);

// Service method examples
orderService.SaveOrder(order);
emailTemplateService.SendEmail(emailTemplateId, order);

// Notification events
public class MyNotification : NotificationEventHandlerBase<OrderFinalizedNotification>
{
  public override void Handle(OrderFinalizedNotification evt)
  {
      // Implement your custom logic here
  }
}

New behavior

All APIs are now asynchronous and thus are suffixed with Async and return a Task result.

// Fluent API example
await order.AddProductAsync(productRef, 1)
  .SetPaymentMethodAsync(paymentMethodId)
  .SetShippingMethodAsync(shippingMethodId);

// Service method examples
await orderService.SaveOrderAsync(order);
await emailTemplateService.SendEmailAsync(emailTemplateId, order);

// Notification events
public class MyNotification : NotificationEventHandlerBase<OrderFinalizedNotification>
{
  public override Task HandleAsync(OrderFinalizedNotification evt, CancelationToken cancelationToken)
  {
      // Implement your custom logic here
  }
}

Storefront API

Implementing the Management API in v14 provided valuable insights into API structure. Common models were identified between the Management API and the Storefront API. To aid with maintenance and align approaches, the Storefront API was updated to reflect similar patterns.

The API will largely remain the same, with the main change being updated operation IDs for compatibility with client generators.

Umbraco v15 updates

In addition to the asynchronous work, Umbraco Commerce v15 has been updated to depend on Umbraco v15, which includes the following updates:

  • Runs against .NET 9

  • Variants property editor supports content variants

What to Test and How to Give Feedback

We welcome any feedback on installation or upgrade issues, as well as any bugs found in the sections mentioned above.

Issues can be raised on the Umbraco Commerce issue tracker at https://github.com/umbraco/Umbraco.Commerce.Issues/issues.

Last updated