All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add C# nullable support
- Remove the
resx
file for the exceptions' messages
- Bump the language version to use C# 10
- Lazily create the validation pipelines
- Update the CI
- Update the CD
- Add
ITopicBuilder.Clear
method - Add
TopicBuilder.FromTopic
method - Add
Topic.ToArray
method - Add
ITopicBuilder
creation fromTopic
- Add
ITopicBuilder.ToPublisherBuilder
extension method - Add
ITopicBuilder.ToSubscriberBuilder
extension method
TopicBuilder
no longer useTopicConsumer.Subscriber
by defaultTopicBuilder
now performs rule checks when built with a collection
- Remove obsolete
TopicBuilder
constructors - Remove unused
ITopicCollection.Clear
method
- Add codefactor to CI for quality checks
- Add UTF-8 check on topic creation
- Add modes depending on the consumer of the topic builder (PUB/SUB)
- Rework topic validation using validation pipelines and rules
Topic
can now be used as a value object- Set C# version to 8
TopicBuilder
constructors that does not specify the type of the consumer using it
- Fixed a unit test that would potentially fail on random values
- Merged
MqttTopicBuilder.Exceptions
in core projectMqttTopicBuilder
- Changed deprecated
PackageLicenseUrl
tag toPackageLicense
inMqttTopicBuilder.csproj
- Deleted
MqttTopicBuilder.Exceptions
project
- Renamed CI job from
.NET Core
toBuild
- Removed GitHub from packages registries for the produced NuGet
- Create
CHANGELOG.md
- Immutable inner-collection (
ITopicCollection
) on which the builder now relies - Both the
TopicBuilder
and the collection aforementionned have interfaces for dependency injection - Multiple topics can now be added in the builder with
AddTopics
- The builder can now be cloned
- A topic can now be created for a raw string using the
Topic
extension method - Add GitHub registry in the
nuget.yml
file
- The
TopicBuilder
is now immutable - Exceptions have been moved to a dedicated project
- Topic checks are now grouped under the
TopicValidator
class MqttTopicBuilderUnitTests
have been moved toMqttTopicBuilder.UnitTests
- The staging topics are no longer exposed by the builder