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.
- Target .NET 9
- Use the
.slnxsolution file - Update CI and CD scripts
- Add C# nullable support
- Remove the
resxfile 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.Clearmethod - Add
TopicBuilder.FromTopicmethod - Add
Topic.ToArraymethod - Add
ITopicBuildercreation fromTopic - Add
ITopicBuilder.ToPublisherBuilderextension method - Add
ITopicBuilder.ToSubscriberBuilderextension method
TopicBuilderno longer useTopicConsumer.Subscriberby defaultTopicBuildernow performs rule checks when built with a collection
- Remove obsolete
TopicBuilderconstructors - Remove unused
ITopicCollection.Clearmethod
- 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
Topiccan now be used as a value object- Set C# version to 8
TopicBuilderconstructors that does not specify the type of the consumer using it
- Fixed a unit test that would potentially fail on random values
- Merged
MqttTopicBuilder.Exceptionsin core projectMqttTopicBuilder - Changed deprecated
PackageLicenseUrltag toPackageLicenseinMqttTopicBuilder.csproj
- Deleted
MqttTopicBuilder.Exceptionsproject
- Renamed CI job from
.NET CoretoBuild
- Removed GitHub from packages registries for the produced NuGet
- Create
CHANGELOG.md - Immutable inner-collection (
ITopicCollection) on which the builder now relies - Both the
TopicBuilderand 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
Topicextension method - Add GitHub registry in the
nuget.ymlfile
- The
TopicBuilderis now immutable - Exceptions have been moved to a dedicated project
- Topic checks are now grouped under the
TopicValidatorclass MqttTopicBuilderUnitTestshave been moved toMqttTopicBuilder.UnitTests
- The staging topics are no longer exposed by the builder