# 7.0.6
Version 7.0.6 includes several new features which are detailed below.
Just FYI, 7.0.5 was skipped due to a package reference issue
# Container Configuration
A new method, AddSagaRepository
, allows a saga repository to be added separately from the saga/state machine saga. This is particularly useful when the saga is configured in one section of code and the saga repository must be configured elsewhere. This was created to allow the job service saga repositories to be more easily configured. For example, to configure an existing DbContext
and then use it.
.AddDbContext<JobServiceSagaDbContext>(builder => ApplyBuilderOptions(builder))
.AddMassTransit(x =>
{
x.AddSagaRepository<JobSaga>()
.EntityFrameworkRepository(r =>
{
r.ExistingDbContext<JobServiceSagaDbContext>();
r.LockStatementProvider = RawSqlLockStatements;
});
});
This is documented in the sagas section.
# Entity Name
A new attribute, EntityName
, has been added which allows a message type to specify an entity name use for the topic/exchange name.
[EntityName("some-other-topic")]
public interface TopicMessage
{
}
# Automatonymous
The state machine was updated to allow query building against the State property, including conversion of types between State
, int
, and string
. This includes new methods for checking the existence of state machine instances within unit tests.
# RabbitMQ
Fixed issue where IsHeadersPresent
is wrong, causing a null-reference exception.
# SimpleInjector
Package has been upgraded to v5.
# Quartz
Package has been updated to a more recent version, and the integration has added some additional features including the ability to not-start the scheduler on a node.
# Transactional Bus
Breaking Change! .AddTransactionalBus()
is renamed to .AddTransactionalEnlistmentBus()