Skip to content

Conversation

@longkerdandy
Copy link
Owner

Release version 0.9.7

longkerdandy and others added 25 commits November 13, 2025 14:31
Merge release/0.9.5 back to develop
Co-authored-by: Copilot <[email protected]>
…sting

Add TCK compatibility test results in README
…tus-tracking

Feature: Edge Node Device Status Tracking
Fix message ordering and improve dependency injection
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces version 0.9.7 of SparklerNet, which includes significant architectural improvements to the caching and status tracking mechanisms. The release transitions from MemoryCache to HybridCache for more flexible distributed caching support, adds comprehensive status tracking for Edge Nodes and Devices, and enhances message ordering capabilities.

Key Changes:

  • Migrated from Microsoft.Extensions.Caching.Memory to Microsoft.Extensions.Caching.Hybrid for improved caching architecture
  • Added new StatusTrackingService for tracking online/offline status of Edge Nodes and Devices
  • Refactored MessageOrderingService to support async operations and use HybridCache
  • Enhanced sample application with dependency injection and configuration profiles (TCK, MIMIC)

Reviewed changes

Copilot reviewed 23 out of 25 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
SparklerNet/SparklerNet.csproj Version bump to 0.9.7 and added HybridCache dependency
SparklerNet/HostApplication/SparkplugHostApplication.cs Refactored constructor to accept service dependencies via DI, updated message processing for DBIRTH/DDEATH
SparklerNet/HostApplication/Extensions/SparkplugHostApplicationExtensions.cs Added ScanRate command methods for Edge Nodes and Devices
SparklerNet/HostApplication/Caches/StatusTrackingService.cs New service for tracking and querying Edge Node/Device online status
SparklerNet/HostApplication/Caches/MessageOrderingService.cs Migrated to HybridCache and async operations with improved concurrency handling
SparklerNet/HostApplication/Caches/IStatusTrackingService.cs Interface definition for status tracking service
SparklerNet/HostApplication/Caches/IMessageOrderingService.cs Updated interface with async methods and documentation improvements
SparklerNet/HostApplication/Caches/CacheHelper.cs New utility class for cache key building and semaphore management
SparklerNet/Core/Options/SparkplugClientOptions.cs Added AlwaysSubscribeToWildcardTopic and EnableStatusTracking options
SparklerNet/Core/Model/Payload.cs Added GetBdSeq() method for extracting Birth/Death sequence numbers
SparklerNet/Core/Events/SparkplugMessageEventArgs.cs Removed MqttApplicationMessageReceivedEventArgs dependency
SparklerNet.Tests/* Comprehensive test coverage for new services and updated existing tests
SparklerNet.Samples/Program.cs Implemented dependency injection and configuration profile support
SparklerNet.Samples/Profiles/* Added profile system for TCK and MIMIC configurations
README.md Updated with TCK compatibility results, new usage examples, and architecture documentation
.spec/GIT_FLOW.md Added Git Flow workflow documentation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@longkerdandy longkerdandy requested a review from Copilot December 11, 2025 04:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 25 changed files in this pull request and generated 14 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@longkerdandy longkerdandy merged commit 48b18de into main Dec 11, 2025
14 checks passed
@longkerdandy longkerdandy deleted the release/0.9.7 branch December 11, 2025 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants