Skip to content

fix: narrow public surface - #66

Merged
Theauxm merged 3 commits into
mainfrom
fix/narrow-public-surface
Sep 29, 2026
Merged

Theauxm merged 3 commits into
mainfrom
fix/narrow-public-surface

Conversation

@Theauxm

@Theauxm Theauxm commented Sep 29, 2026

Copy link
Copy Markdown
Member

No description provided.

LoggerExtensions, MoqExtensions, MonadExtensions and MonadTaskExtensions
were public only by accident. They are the reflection helpers and Memory
plumbing behind Monad's chain calls; nothing outside Trax.Core calls them,
and because they live in Trax.Core.Extensions (the namespace consumers
import for AssertLoaded) their extension methods showed up on every
ILoggerFactory, every Monad and, for GetMockedTypeFromObject, every object.
They are now internal, as are Junction.ExceptionData, Junction.PreviousResult
and the ChainRecorder constructor, which only Trax.Core itself reads or calls.

RailwayJunction stays public because Trax.Effect overrides it, but it is now
hidden from completion on both Junction and IJunction. Junction.Result stays
public: Trax.Effect's junction logger reads it.

The removals are recorded against the 1.7.4 baseline in
CompatibilitySuppressions.xml, and the public API baseline drops them.
@codecov

codecov Bot commented Sep 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Theauxm
Theauxm merged commit a3ed579 into main Sep 29, 2026
4 checks passed
@Theauxm
Theauxm deleted the fix/narrow-public-surface branch September 29, 2026 19:42
@github-actions

Copy link
Copy Markdown
Contributor

This PR is included in version 1.7.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant