mirror of
https://github.com/MAKS-IT-COM/maksit-hamode.git
synced 2026-06-30 22:36:42 +02:00
3.8 KiB
3.8 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.5] - 2026-06-28
Changed
- Centralized lease input validation and provider-configuration checks in shared
LeaseInputValidationhelpers used by PostgreSQL, Redis, and etcd lease services. - Centralized lease failure result mapping in
LeaseResultErrors, usingMaksIT.Coreexception message extraction for acquire/release errors. - Updated dependencies:
MaksIT.Core(1.6.8),MaksIT.Results(2.0.3),Microsoft.Extensions.DependencyInjection.AbstractionsandMicrosoft.Extensions.Logging.Abstractions(11.0.0-preview.5.26302.115), andStackExchange.Redis(3.0.7).
[1.0.4] - 2026-06-20
Changed
- Replaced preview dependencies with latest stable releases:
Microsoft.Extensions.DependencyInjection.AbstractionsandMicrosoft.Extensions.Logging.Abstractions(10.0.8), andStackExchange.Redis(2.8.58).
[1.0.3] - 2026-06-20
Changed
- Consolidated source into a single
MaksIT.HAModeproject and assembly; removed internal multi-project packaging shell and manual DLL bundling. - Namespaces are unchanged (
MaksIT.HAMode.Abstractions,MaksIT.HAMode.PostgreSql, etc.) so consumers can upgrade without code changes.
[1.0.2] - 2026-06-20
Changed
- PostgreSQL lease service now uses configurable
SchemaandTablefromIRuntimeLeaseConnectionStringProviderinstead of hardcodedpublic.app_runtime_leases. - Added explicit missing-table error handling for PostgreSQL lease acquire/release operations.
- Added provider-configuration validation for Redis and etcd services (required connection settings and key prefix).
- Added DI overloads to reuse host-managed clients (
NpgsqlDataSource,IConnectionMultiplexer,EtcdClient) for lease services.
[1.0.1] - 2026-06-20
Added
- DI registration extensions in
MaksIT.HAMode.Extensions.ServiceCollectionExtensionsfor runtime instance id and backend-specific lease service wiring (PostgreSql,Redis,Etcd). - DI extension overloads that accept concrete configuration instances implementing HAMode configuration interfaces.
- Root connector configuration interface
IRuntimeLeaseConnectionProvider, with connector-specific interfaces inheriting it.
Changed
- Updated package/release setup to publish
MaksIT.HAModeas the primary distributable library for version1.0.1. - Updated several dependency versions across HAMode projects.
- Updated README backend examples to use host-defined configuration interfaces and concrete classes, instead of direct
IConfiguration["..."]access.
[1.0.0] - 2026-06-20
Added
- Initial NuGet package structure for
MaksIT.HAMode.AbstractionsandMaksIT.HAMode.PostgreSql. - Shared runtime coordination contracts:
IRuntimeInstanceIdIRuntimeLeaseServiceIRuntimeLeaseConnectionStringProvider
- 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.Rediswith atomic Lua acquire/release semantics and TTL renewal for the same holder.MaksIT.HAMode.Etcdwith 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.