Table of Contents

v1.1.0 "Kaizen" - Enhancement & Extension

Release Date: July 17, 2025
Code Name: "Kaizen" (Continuous Improvement)
Type: Minor Release


🎯 Overview

Version 1.1.0 delivers major enhancements to the Jiro.Shared library, focusing on continuous improvement through new system monitoring models, database service extensions, memory cache utilities, and application-level helpers. This release is designed to improve developer experience, integration, and performance across the Jiro ecosystem.

✨ Features Added

  • System Information Models: Added SystemInfo and ConfigurationSection classes for capturing system and configuration data.
  • Memory Cache Extensions: Introduced type-safe and flexible cache retrieval methods in MemoryExtensions.
  • Service Registration Extensions: Added AddMySqlContext<T> and AddSqliteContext<T> for streamlined database integration.
  • Application Utilities: New ApplicationUtilities.IsDebug() method for debug mode detection and runtime awareness.

🔄 Changes

  • Enhanced Type Safety: All new APIs use generic constraints and support nullable reference types.
  • Database Integration: Simplified service registration and migration assembly configuration for EF Core providers.
  • Performance Optimizations: Improved memory cache access and reduced allocations in utility methods.
  • Documentation: Comprehensive XML documentation for all new APIs and features.

🐛 Bug Fixes

  • N/A (No user-facing bugs fixed in this release)

🛠️ Technical Details

  • Dependencies:
    • Microsoft.EntityFrameworkCore (core EF functionality)
    • Pomelo.EntityFrameworkCore.MySql (MySQL provider)
    • Microsoft.EntityFrameworkCore.Sqlite (SQLite provider)
    • Microsoft.Extensions.Caching.Memory (memory cache abstractions)
  • Test Coverage: Added unit and integration tests for new models and extensions.
  • Backward Compatibility: All changes are backward compatible; no breaking changes introduced.

📋 Usage Examples

Example: System Information Model

var systemInfo = new SystemInfo
{
    OperatingSystem = Environment.OSVersion.ToString(),
    RuntimeVersion = Environment.Version.ToString(),
    MachineName = Environment.MachineName,
    ProcessorCount = Environment.ProcessorCount,
    TotalMemory = GC.GetTotalMemory(false)
};

Example: Memory Cache Extensions

// Type-safe cache retrieval
var user = cache.Get<User>("user-123");

// Safe retrieval with validation
if (cache.TryGetValue<Settings>("app-settings", out var settings))
{
    // Use settings safely
}

Example: Service Registration Extensions

// MySQL registration
services.AddMySqlContext<AppDbContext>(connectionString);

// SQLite registration
services.AddSqliteContext<LocalDbContext>("app.db");

🚀 Release & Deployment

  • Version 1.1.0 has been built, tested, and is ready for deployment to NuGet.org.
  • All tests pass on .NET 9.0 runtime.
  • Documentation updated with new API references.

Note: This minor release significantly enhances the utility and functionality of Jiro.Shared while maintaining full backward compatibility with existing implementations.

📖 Usage Examples

System Information

var systemInfo = new SystemInfo
{
    OperatingSystem = Environment.OSVersion.ToString(),
    RuntimeVersion = Environment.Version.ToString(),
    MachineName = Environment.MachineName,
    ProcessorCount = Environment.ProcessorCount,
    TotalMemory = GC.GetTotalMemory(false)
};

Memory Cache Extensions

// Type-safe cache retrieval
var user = cache.Get<User>("user-123");

// Safe retrieval with validation
if (cache.TryGetValue<Settings>("app-settings", out var settings))
{
    // Use settings safely
}

Service Registration

// MySQL registration
services.AddMySqlContext<AppDbContext>(connectionString);

// SQLite registration
services.AddSqliteContext<LocalDbContext>("app.db");

🔄 Breaking Changes

None - This is a minor release with full backward compatibility.

🏗️ Migration Guide

No migration required. All existing code continues to work without changes. New features are additive and optional.

📋 Testing

  • All new components include comprehensive unit tests
  • Integration tests added for database service extensions
  • Memory cache extension tests verify type safety and null handling
  • System information models tested across multiple environments

🚀 Deployment

  • Version 1.1.0 has been built and packaged successfully
  • All tests pass on .NET 9.0 runtime
  • Ready for deployment to NuGet.org
  • Documentation updated with new API references

Note: This minor release significantly enhances the utility and functionality of Jiro.Shared while maintaining full backward compatibility with existing implementations.