maksit-hamode/CHANGELOG.md
2026-06-20 17:04:15 +02:00

1.7 KiB

Changelog

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.

[1.0.1] - 2026-06-20

Added

  • DI registration extensions in MaksIT.HAMode.Extensions.ServiceCollectionExtensions for runtime instance id and backend-specific lease service wiring (PostgreSql, Redis, Etcd).

Changed

  • Updated package/release setup to publish MaksIT.HAMode as the primary distributable library for version 1.0.1.
  • Updated several dependency versions across HAMode projects.

[1.0.0] - 2026-06-20

Added

  • Initial NuGet package structure for MaksIT.HAMode.Abstractions and MaksIT.HAMode.PostgreSql.
  • Shared runtime coordination contracts:
    • IRuntimeInstanceId
    • IRuntimeLeaseService
    • IRuntimeLeaseConnectionStringProvider
  • Default runtime instance id provider (RuntimeInstanceIdProvider) suitable for Kubernetes and local processes.
  • PostgreSQL lease service (RuntimeLeaseServiceNpgsql) implementing optimistic lease acquire and safe holder-based release.
  • Package metadata, symbols, embedded docs, and release assets for NuGet publishing.
  • Additional runtime lease backend packages:
    • MaksIT.HAMode.Redis with atomic Lua acquire/release semantics and TTL renewal for the same holder.
    • MaksIT.HAMode.Etcd with transaction-based compare-and-swap acquire/release and lease-backed TTL.

Changed

  • Packaging model changed to a single distributable NuGet package: MaksIT.HAMode.
  • Internal projects (Abstractions, PostgreSql, Redis, Etcd) remain as source modules but are no longer individually packed.