Releases: mmpworks/Herald.OSS
Releases · mmpworks/Herald.OSS
Herald.OSS v0.2.0
Coordinated breaking-changes release. No external adopters yet — the
window for cheap breaking changes is now. The three changes below are
the kind of residue and bug fix that's expensive to land after 1.0.
Removed (breaking)
HeraldEditiontype andMinimumEditionproperty on
ILogSinkProvider. Herald.OSS is a single-edition distribution
with no runtime gate; the type and the property surface were inert
plumbing. Sink authors that previously declared
public HeraldEdition MinimumEdition => HeraldEdition.Community;
remove the line. Commercial wrappers that want to keep an edition
badge can layer it back on as their own type.HeraldTenant.EnsureAllowedForCurrentEditionmethod. The OSS
implementation was an empty body; gate enforcement is downstream-
only. The two call sites inHeraldRegistryInstanceare removed.GenSourcefield onLogEvent,LogEventBuffer,
LogEventFactory,DeferredLogEventFactory,
ILogEventFactory, and the_genSourceplumbing through
StructuredLogger,DefaultLogPipelineFactory,HotPathLogger,
andWindowedMeanLogger. The provenance gate was already absent
from the OSS distribution; the field was inert. Downstream
commercial wrappers that need a provenance carrier can stamp the
value intoContext["gen_source"]instead.
Changed (breaking)
StructuredLogger.IsXxxAcceptableand
HotPathLogger.IsXxxAcceptableare now properties, not fields.
Source-compatible:if (logger.IsDebugAcceptable) ...keeps
binding to the same member name. Binary-breaking for pre-compiled
consumer assemblies that linked the field byldfld; recompile
against 0.2.0 to restore. The property getter is a single
Volatile.Readso the emitted reject path stays one load plus
branch.- Level-only hot reload now recomputes the per-known-level accept
booleans. ARecomputeAcceptableshook on the outer
StructuredLoggeris called from the level-only branch of
HotReloadableLoggingBootstrap.ExecuteReload. Without this hook,
a level-only reload that lowered the minimum left source-gen-
emitted reject sites reading the stale field value — events at
the newly-accepted levels were silently dropped.
Added
- Unit test
IsXxxAcceptableHotReloadTestspinning the
IsXxxAcceptable property values at construction and after a
RecomputeAcceptables call that lowers, raises, or clears the
minimum.
Verifying this release
- Build clean on net8 / net9 / net10
- Test suite: 184 / 185 / 185 passing (no skips)
dotnet packproducesHerald.OSS.0.2.0.nupkg+.snupkg