mirror of
https://github.com/MAKS-IT-COM/podman-client-dotnet.git
synced 2026-08-15 14:48:11 +02:00
(chore): release 1.2.0
This commit is contained in:
parent
94aca92d5d
commit
755f7b2341
21
CHANGELOG.md
21
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/),
|
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).
|
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).
|
||||||
|
- `<IsAotCompatible>true</IsAotCompatible>` on the package project to surface trim/AOT Roslyn analyzers at build time.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Internal JSON serialization/deserialization now uses explicit `JsonTypeInfo<T>` (`JsonSerializer.Serialize` / `Deserialize`) instead of reflection-based `MaksIT.Core.Extensions` `ToJson()` / `ToObject<T>()`.
|
||||||
|
- HTTP helpers (`GetJsonAsync`, `PostJsonAsync`, `PostJsonWithoutBodyAsync`, `PostLibpodAsync`, `DeleteJsonAsync`) and `PodmanProgressSession<T>` 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
|
## [1.1.1] - 2026-06-28
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@ -46,7 +46,7 @@ Types: `(feature):`, `(bugfix):`, `(refactor):`, `(perf):`, `(test):`, `(docs):`
|
|||||||
|
|
||||||
- **.NET 10**, nullable reference types, implicit usings.
|
- **.NET 10**, nullable reference types, implicit usings.
|
||||||
- **Root namespace**: `MaksIT.$(MSBuildProjectName)` in `PodmanClientDotNet.csproj`; omit `namespace` when it matches the root (client partials, abstractions).
|
- **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<T>`).
|
- **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<T>?`, …) for optional JSON fields.
|
- File-scoped namespaces and same-line braces; **Models/** use nullable reference types (`string?`, `List<T>?`, …) for optional JSON fields.
|
||||||
- XML documentation on public types (DTOs, interfaces, entry types). Method-level docs on large interfaces are optional (`CS1591` suppressed).
|
- 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`.
|
- Model layout helpers: `utils/tools/Polish-PodmanClientSources.ps1`, `utils/tools/Enable-ModelsNullable.ps1`.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="20" role="img" aria-label="Branch Coverage: 20.9%">
|
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="20" role="img" aria-label="Branch Coverage: 14.2%">
|
||||||
<title>Branch Coverage: 20.9%</title>
|
<title>Branch Coverage: 14.2%</title>
|
||||||
<linearGradient id="s" x2="0" y2="100%">
|
<linearGradient id="s" x2="0" y2="100%">
|
||||||
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
||||||
<stop offset="1" stop-opacity=".1"/>
|
<stop offset="1" stop-opacity=".1"/>
|
||||||
@ -9,13 +9,13 @@
|
|||||||
</clipPath>
|
</clipPath>
|
||||||
<g clip-path="url(#r)">
|
<g clip-path="url(#r)">
|
||||||
<rect width="107.5" height="20" fill="#555"/>
|
<rect width="107.5" height="20" fill="#555"/>
|
||||||
<rect x="107.5" width="42.5" height="20" fill="#dfb317"/>
|
<rect x="107.5" width="42.5" height="20" fill="#fe7d37"/>
|
||||||
<rect width="150" height="20" fill="url(#s)"/>
|
<rect width="150" height="20" fill="url(#s)"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
|
||||||
<text aria-hidden="true" x="53.75" y="15" fill="#010101" fill-opacity=".3">Branch Coverage</text>
|
<text aria-hidden="true" x="53.75" y="15" fill="#010101" fill-opacity=".3">Branch Coverage</text>
|
||||||
<text x="53.75" y="14" fill="#fff">Branch Coverage</text>
|
<text x="53.75" y="14" fill="#fff">Branch Coverage</text>
|
||||||
<text aria-hidden="true" x="128.75" y="15" fill="#010101" fill-opacity=".3">20.9%</text>
|
<text aria-hidden="true" x="128.75" y="15" fill="#010101" fill-opacity=".3">14.2%</text>
|
||||||
<text x="128.75" y="14" fill="#fff">20.9%</text>
|
<text x="128.75" y="14" fill="#fff">14.2%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -1,5 +1,5 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="134.5" height="20" role="img" aria-label="Line Coverage: 10%">
|
<svg xmlns="http://www.w3.org/2000/svg" width="134.5" height="20" role="img" aria-label="Line Coverage: 5%">
|
||||||
<title>Line Coverage: 10%</title>
|
<title>Line Coverage: 5%</title>
|
||||||
<linearGradient id="s" x2="0" y2="100%">
|
<linearGradient id="s" x2="0" y2="100%">
|
||||||
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
||||||
<stop offset="1" stop-opacity=".1"/>
|
<stop offset="1" stop-opacity=".1"/>
|
||||||
@ -9,13 +9,13 @@
|
|||||||
</clipPath>
|
</clipPath>
|
||||||
<g clip-path="url(#r)">
|
<g clip-path="url(#r)">
|
||||||
<rect width="94.5" height="20" fill="#555"/>
|
<rect width="94.5" height="20" fill="#555"/>
|
||||||
<rect x="94.5" width="40" height="20" fill="#fe7d37"/>
|
<rect x="94.5" width="40" height="20" fill="#e05d44"/>
|
||||||
<rect width="134.5" height="20" fill="url(#s)"/>
|
<rect width="134.5" height="20" fill="url(#s)"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
|
||||||
<text aria-hidden="true" x="47.25" y="15" fill="#010101" fill-opacity=".3">Line Coverage</text>
|
<text aria-hidden="true" x="47.25" y="15" fill="#010101" fill-opacity=".3">Line Coverage</text>
|
||||||
<text x="47.25" y="14" fill="#fff">Line Coverage</text>
|
<text x="47.25" y="14" fill="#fff">Line Coverage</text>
|
||||||
<text aria-hidden="true" x="114.5" y="15" fill="#010101" fill-opacity=".3">10%</text>
|
<text aria-hidden="true" x="114.5" y="15" fill="#010101" fill-opacity=".3">5%</text>
|
||||||
<text x="114.5" y="14" fill="#fff">10%</text>
|
<text x="114.5" y="14" fill="#fff">5%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -1,5 +1,5 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="147.5" height="20" role="img" aria-label="Method Coverage: 3.9%">
|
<svg xmlns="http://www.w3.org/2000/svg" width="147.5" height="20" role="img" aria-label="Method Coverage: 3.4%">
|
||||||
<title>Method Coverage: 3.9%</title>
|
<title>Method Coverage: 3.4%</title>
|
||||||
<linearGradient id="s" x2="0" y2="100%">
|
<linearGradient id="s" x2="0" y2="100%">
|
||||||
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
||||||
<stop offset="1" stop-opacity=".1"/>
|
<stop offset="1" stop-opacity=".1"/>
|
||||||
@ -15,7 +15,7 @@
|
|||||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
|
||||||
<text aria-hidden="true" x="53.75" y="15" fill="#010101" fill-opacity=".3">Method Coverage</text>
|
<text aria-hidden="true" x="53.75" y="15" fill="#010101" fill-opacity=".3">Method Coverage</text>
|
||||||
<text x="53.75" y="14" fill="#fff">Method Coverage</text>
|
<text x="53.75" y="14" fill="#fff">Method Coverage</text>
|
||||||
<text aria-hidden="true" x="127.5" y="15" fill="#010101" fill-opacity=".3">3.9%</text>
|
<text aria-hidden="true" x="127.5" y="15" fill="#010101" fill-opacity=".3">3.4%</text>
|
||||||
<text x="127.5" y="14" fill="#fff">3.9%</text>
|
<text x="127.5" y="14" fill="#fff">3.4%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<!-- NuGet package metadata -->
|
<!-- NuGet package metadata -->
|
||||||
<PackageId>PodmanClient.DotNet</PackageId>
|
<PackageId>PodmanClient.DotNet</PackageId>
|
||||||
<Version>1.1.1</Version>
|
<Version>1.2.0</Version>
|
||||||
<Authors>Maksym Sadovnychyy</Authors>
|
<Authors>Maksym Sadovnychyy</Authors>
|
||||||
<Company>MAKS-IT</Company>
|
<Company>MAKS-IT</Company>
|
||||||
<Product>PodmanClient.DotNet</Product>
|
<Product>PodmanClient.DotNet</Product>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user