Skip to content

Release v19.62.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 03:29
5c568ae

Added

  • Units of work accept enrollment contributors: IUnitOfWork.AddEnrollmentContributor(IUnitOfWorkEnrollmentContributor) returns a handle that removes the contributor when disposed. A contributor states the concurrency scope an event source must carry before any event for it is staged, through AddEvent, AddEventWithNamedTags, AddEvents and every eventLog.Transactional append. Equal scopes merge; a conflicting scope is rejected with ConflictingEnrollmentScope and nothing from that call is staged. This lets a host such as Arc guard appends that user code makes directly on the unit of work. See Transactions. (#4861)

Changed

  • A unit of work that has had a contributor keeps every required scope until it completes, accepts events for only one event sequence, rejects changes made from inside a contributor with UnitOfWorkMutatedDuringEnrollment, and refuses to commit with UnitOfWorkEnrollmentNotificationFailed when a contributor's Enrolled notification fails. Units without contributors behave as before. Custom IUnitOfWork implementations keep compiling and throw UnitOfWorkEnrollmentContributorsNotSupported only when a contributor is attached. (#4861)