Fixed resource booking webhooks firing excessively during Calendar Sync by excluding external resource bookings from triggering them.
Fixed Learning Path registration clearing a Learner's Training Pass on an existing Event Registration when the Path registration was itself pass-based.
Fixed Communication Template validation rejecting indexed access to Point of Sale attribute merge fields such as delegate attributes and path attributes.
Fixed communications addressed to a Billing Contact falling back to the Contact when the booking has no Billing Contact, so nothing is now sent.
Fixed the Contact Person field appearing on default Account addresses, where the value was never stored, while keeping it for billing and shipping addresses.
Fixed Session handling on the GraphQL Event upsert, so Sessions inherit the Event lifecycle status, create their notes, and recalculate Event start and end dates.
Fixed document downloads using the display name instead of the revision's stored filename, which produced files with no recognisable extension.