Repository navigation
Releases
Releases · TimeWarpEngineering/timewarp-source-generators
v1.0.0-beta.16
What's Changed
- docs(kanban): mint task 042 for wave 20261114T054552Z-9a0f39 by @StevenTCramer in #51
Full Changelog: v1.0.0-beta.15...v1.0.0-beta.16
v1.0.0-beta.15
What's Changed
- build(deps): update TimeWarp.Build.Tasks to 2.0.0 by @StevenTCramer in #49
- Merge remote-tracking branch 'origin/master' into task/041-retarget-the-source-generator-project-from by @StevenTCramer in #50
Full Changelog: v1.0.0-beta.14...v1.0.0-beta.15
v1.0.0-beta.14
What's Changed
- build: move the repo onto the .NET 11 GA SDK by @StevenTCramer in #46
- refactor: move file-level test usings into global usings by @StevenTCramer in #47
- build: pin TimeWarp.Build.Tasks at 1.0.2 by @StevenTCramer in #48
Full Changelog: v1.0.0-beta.13...v1.0.0-beta.14
v1.0.0-beta.13
What's Changed
- fix: clear the four ganda repo audit failures by @StevenTCramer in #44
- feat: host generic TWA0004, TWA0023, and TWA0038 by @StevenTCramer in #45
Full Changelog: v1.0.0-beta.12...v1.0.0-beta.13
v1.0.0-beta.12
What's Changed
- chore(audit): apply ganda repo audit --fix by @StevenTCramer in #39
- refactor!: remove unused interface delegation generator by @StevenTCramer in #40
- refactor!: retire the markdown sidecar for XML documentation by @StevenTCramer in #41
- feat: export a span for every dev command by @StevenTCramer in #42
- chore(release): bump TimeWarp.SourceGenerators to 1.0.0-beta.12 by @StevenTCramer in #43
Full Changelog: v1.0.0-beta.11...v1.0.0-beta.12
v1.0.0-beta.11
What's Changed
- fix: trusted-publishing probe and DevCli 3.0.0-beta.76 audit-clean by @StevenTCramer in #36
- chore(kanban): move 025 to done after published hygiene by @StevenTCramer in #37
- feat(TW0007): analyzer for namespace-first file-level usings by @StevenTCramer in #38
Full Changelog: v1.0.0-beta.10...v1.0.0-beta.11
v1.0.0-beta.9
TimeWarp.SourceGenerators 1.0.0-beta.9
TW0001 (FileNameRuleAnalyzer)
- Accept multi-dot kebab-case
.csbasenames: every segment between dots must be kebab-case (e.g.application-state.close-modal.cs). - Single-stem kebab and default exceptions (
*.razor.cs,*.g.cs, …) unchanged.
Consumers
- timewarp-architecture / TimeWarp.State template consumers can enable
dotnet_diagnostic.TW0001.severity = warning|errorafter pinning to ≥ 1.0.0-beta.9 without false positives on multi-dot state/action partials.
Repo hygiene
- Drop local
RestorePackagesPath/.nuget-cache(global NuGet cache). - Remove legacy
_ai/notes; kebab-case remaining non-.cspaths;kebab-path-namesaudit clean.
Full notes: documentation/releases.md
v1.0.0-beta.10
TimeWarp.SourceGenerators 1.0.0-beta.10
TW0001 (FileNameRuleAnalyzer)
- Skip build output and generated paths under
obj/,bin/, andartifacts/generated/(gRPC stubs, SDKEmbeddedAttribute.cs, etc.). Without this, enabling TW0001 fails projects that compile intermediates.
Consumers
- Prefer ≥ 1.0.0-beta.10 before setting
dotnet_diagnostic.TW0001.severityto warning/error in solutions with protobuf, Razor, or SDK-generated trees. - Continues multi-dot kebab support from beta.9.
Also in this train
- CI:
actions/checkout@v6,setup-dotnet@v5,upload-artifact@v6(Node 24). dev check-versiondefaults via.timewarp/dev.jsonc.
Full notes: documentation/releases.md
v1.0.0-beta.8
TimeWarp.SourceGenerators 1.0.0-beta.8
Highlights
- Align repo with TimeWarp standards (dev CLI, net10, banned APIs)
- Rename all diagnostic IDs to TW0001–TW0006 (frees TWA for TimeWarp Architecture)
- Modern CI: thin GitHub Actions + OIDC Trusted Publishing (with org API key fallback until trust policy is registered)
Diagnostic mapping
| Old | New |
|---|---|
| TWA001 | TW0001 |
| TWA002 | TW0002 |
| TWG001 | TW0003 |
| TW1001 | TW0004 |
| TW1002 | TW0005 |
| TW1003 | TW0006 |
Breaking (beta): update dotnet_diagnostic.* suppressions / editorconfig keys to the new IDs.
v1.0.0-beta.7
Changes
Bug Fixes
-
Fix inherited interface members generation (Closes #27)
- Interface delegation now generates members from ALL inherited interfaces
- For example,
IList<T>now generates all 13+ members fromIList<T>,ICollection<T>, andIEnumerable<T> - Previously only generated 4 members from the direct interface
-
Fix indexer generation (Closes #25)
- Indexers now generate with correct parameter syntax:
public T this[int index] - Fixes CS1551 error ("Indexers must have at least one parameter")
- Enables delegation for interfaces like
IList<T>,IDictionary<K,V>, etc.
- Indexers now generate with correct parameter syntax:
Improvements
- Local NuGet cache - Added
RestorePackagesPathto use local cache instead of global - Improved duplicate detection - Method keys now include return types to handle overloads properly
- Version management - Use $(Version) variable for single source of truth
Documentation
- Comprehensive documentation for interface delegation generator
- Usage examples with code samples
- Requirements and constraints
- Diagnostic error descriptions (TW1001, TW1002, TW1003)
Generated Code Example
Interface delegation with inherited members:
public partial class ListWrapper<T> : IList<T>
{
[Implements]
private readonly List<T> InnerList = new();
}Generates all inherited members:
- ICollection: Add, Clear, Contains, CopyTo, Remove, Count, IsReadOnly
- IEnumerable: GetEnumerator
- IList: IndexOf, Insert, RemoveAt, this[int index]
Known Limitations
IEnumerable.GetEnumerator()(non-generic) requires explicit interface implementation due to return type conflict. This will be addressed in a future update.
Full Changelog
- Fix indexer generation with proper parameters
- Add inherited interface member processing
- Add local NuGet cache configuration
- Update documentation with examples
- Bump version to beta.7
- Use variable for centralized version management
🤖 Generated with Claude Code