From 755f7b2341dfbe7462f286a206bdea376990e3a1 Mon Sep 17 00:00:00 2001 From: Maksym Sadovnychyy Date: Thu, 2 Jul 2026 18:15:43 +0200 Subject: [PATCH] (chore): release 1.2.0 --- CHANGELOG.md | 21 +++++++++++++++++++++ CONTRIBUTING.md | 2 +- assets/badges/coverage-branches.svg | 10 +++++----- assets/badges/coverage-lines.svg | 10 +++++----- assets/badges/coverage-methods.svg | 8 ++++---- src/PodmanClient/PodmanClientDotNet.csproj | 2 +- 6 files changed, 37 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1da91b3..7d3ec04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.2.0] - 2026-07-02 + +### Added + +- **Native AOT and trimming compatibility** via `System.Text.Json` source generation (`PodmanJsonContext` with `[JsonSerializable]` for all library DTOs and request models). +- `true` on the package project to surface trim/AOT Roslyn analyzers at build time. + +### Changed + +- Internal JSON serialization/deserialization now uses explicit `JsonTypeInfo` (`JsonSerializer.Serialize` / `Deserialize`) instead of reflection-based `MaksIT.Core.Extensions` `ToJson()` / `ToObject()`. +- HTTP helpers (`GetJsonAsync`, `PostJsonAsync`, `PostJsonWithoutBodyAsync`, `PostLibpodAsync`, `DeleteJsonAsync`) and `PodmanProgressSession` updated to thread source-generated type metadata through all call sites. +- `PodmanJsonContext` uses `PropertyNameCaseInsensitive = true` so Podman lowercase JSON keys map to PascalCase DTO properties. + +### Removed + +- **MaksIT.Core** package reference (JSON helpers were its only use in this library); consumers no longer pull **MaksIT.Core** transitively from **PodmanClient.DotNet**. + +### Thanks + +- [@bbartels](https://github.com/bbartels) (Benjamin Bartels) for the Native AOT / trim compatibility contribution ([#1](https://github.com/MAKS-IT-COM/podman-client-dotnet/pull/1)). + ## [1.1.1] - 2026-06-28 ### Changed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 42eec7d..302af15 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -46,7 +46,7 @@ Types: `(feature):`, `(bugfix):`, `(refactor):`, `(perf):`, `(test):`, `(docs):` - **.NET 10**, nullable reference types, implicit usings. - **Root namespace**: `MaksIT.$(MSBuildProjectName)` in `PodmanClientDotNet.csproj`; omit `namespace` when it matches the root (client partials, abstractions). -- **MaksIT.Results** for API outcomes; **MaksIT.Core.Extensions** for JSON (`ToJson` / `ToObject`). +- **MaksIT.Results** for API outcomes; **System.Text.Json** source generation via `PodmanJsonContext` for JSON serialization (AOT/trim-safe). - File-scoped namespaces and same-line braces; **Models/** use nullable reference types (`string?`, `List?`, …) for optional JSON fields. - XML documentation on public types (DTOs, interfaces, entry types). Method-level docs on large interfaces are optional (`CS1591` suppressed). - Model layout helpers: `utils/tools/Polish-PodmanClientSources.ps1`, `utils/tools/Enable-ModelsNullable.ps1`. diff --git a/assets/badges/coverage-branches.svg b/assets/badges/coverage-branches.svg index 5fe1963..82cc3ce 100644 --- a/assets/badges/coverage-branches.svg +++ b/assets/badges/coverage-branches.svg @@ -1,5 +1,5 @@ - - Branch Coverage: 20.9% + + Branch Coverage: 14.2% @@ -9,13 +9,13 @@ - + Branch Coverage - - 20.9% + + 14.2% diff --git a/assets/badges/coverage-lines.svg b/assets/badges/coverage-lines.svg index 0088313..fb09936 100644 --- a/assets/badges/coverage-lines.svg +++ b/assets/badges/coverage-lines.svg @@ -1,5 +1,5 @@ - - Line Coverage: 10% + + Line Coverage: 5% @@ -9,13 +9,13 @@ - + Line Coverage - - 10% + + 5% diff --git a/assets/badges/coverage-methods.svg b/assets/badges/coverage-methods.svg index ed493cd..c140257 100644 --- a/assets/badges/coverage-methods.svg +++ b/assets/badges/coverage-methods.svg @@ -1,5 +1,5 @@ - - Method Coverage: 3.9% + + Method Coverage: 3.4% @@ -15,7 +15,7 @@ Method Coverage - - 3.9% + + 3.4% diff --git a/src/PodmanClient/PodmanClientDotNet.csproj b/src/PodmanClient/PodmanClientDotNet.csproj index f6b544e..27de48d 100644 --- a/src/PodmanClient/PodmanClientDotNet.csproj +++ b/src/PodmanClient/PodmanClientDotNet.csproj @@ -12,7 +12,7 @@ PodmanClient.DotNet - 1.1.1 + 1.2.0 Maksym Sadovnychyy MAKS-IT PodmanClient.DotNet