Versioning (Zaya.Logging)
| Axis | Source | Example |
|---|---|---|
| ZayaLoggingMajor | Directory.Build.props (package Major) |
1 → versions 1.*.* |
| interfaceVersion | Zaya.Logging.csproj → ZayaVersionInterface → Major.Interface.0 |
1.0.0 |
| implVersion | Each Impl → ZayaVersionImpMajor + ZayaVersionImpMinor; Interface from abstractions → Major.Interface.ImpMajor.ImpMinor |
1.0.0.0 |
Rules:
- Abstractions: only
ZayaVersionInterface. Version always ends with.0. - Impl: only
ZayaVersionImpMajor/ZayaVersionImpMinor. Interface digit is read fromZaya.Logging.csproj. - Do not set
<Version>manually.Directory.Build.targetsbuilds it fromZayaLoggingMajor+ interface/impl digits. - Impl packages are NuGet for the host, not ScreenTranslator AppData plugin zips. There is no
plugin.json/ update channel for Logging.
Changelog
Use the repository root CHANGELOG.md (Keep a Changelog):
- While working, append notes under
## [Unreleased]. - On release, move that block to a dated section and leave
[Unreleased]empty.
Bumping
- Breaking / ecosystem major: raise
ZayaLoggingMajorinDirectory.Build.props. - Contract change: raise
ZayaVersionInterfaceinZaya.Logging.csproj; republish Impl packages and update host/plugins. - Proxy or sink fix only: raise Imp digits in that Impl’s
.csproj. - Update
CHANGELOG.md[Unreleased], then runbuild.cmd/ Publish.