Skip to content

v0.2

Choose a tag to compare

@dsisco11 dsisco11 released this 10 Jan 09:13
· 4 commits to master since this release
b4e7848

Release Notes (v0.2)

  • Core API is now fully generic over symbol type (TSymbol)

    • Resources, resolvers, merge strategies, and the preprocessor pipeline now operate on ReadOnlyMemory<TSymbol> rather than being text-only.
  • Offset-only source maps

    • Source mapping is now based on generated/original offsets (not line/column), with APIs like SourceMap.Query(int generatedOffset) and QueryRangeByLength(...).
  • New IDirectiveModel<TDirective> abstraction

    • Directive semantics (location + dependency reference extraction) are supplied via IDirectiveModel<TDirective>, so directive types no longer need to implement library interfaces.
  • Text-specific functionality consolidated under Text layer

    • The default concatenating merge behavior and related text diagnostics live in TinyPreprocessor.Text.
  • Legacy directive interfaces removed

    • Removed the old IDirective / IIncludeDirective interfaces to avoid confusion and reduce required coupling for consumers.
  • Docs and examples updated

    • README now includes a simpler in-memory “Quick Start” and updated examples reflecting the new generic + offset-based APIs.

Breaking Changes

  • Preprocessor is now Preprocessor<TSymbol, TDirective, TContext> and requires an IDirectiveModel<TDirective>.
  • IResource, Resource, IResourceResolver, and ResourceResolutionResult are now generic (<TSymbol>).
  • Source map APIs are offset-based (line/column querying is removed).

Compatibility

  • Requires .NET 8+ (unchanged).

Testing

  • Full test suite passing (dotnet test).