Skip to content

chore: update ktsu.Sdk to 2.21.1 [patch] - #151

Closed
matt-edmondson wants to merge 1 commit into
mainfrom
chore/sdk-2.21.1-lf-migration
Closed

chore: update ktsu.Sdk to 2.21.1 [patch]#151
matt-edmondson wants to merge 1 commit into
mainfrom
chore/sdk-2.21.1-lf-migration

Conversation

@matt-edmondson

Copy link
Copy Markdown
Contributor

Bumps ktsu.Sdk and its variants to 2.21.1 in global.json. File headers are migrated to the single line from COPYRIGHT.md, which is what the SDK writes into .editorconfig as file_header_template and IDE0073 enforces. Fixes GeneratorBase.WriteHeaderTo so generated sources carry the current header instead of regenerating the old one, and updates CLAUDE.md to match.

Generated with Claude Code

Bumps ktsu.Sdk and its variants to 2.21.1 in global.json.
File headers are migrated to the single line from COPYRIGHT.md, which is what
the SDK writes into .editorconfig as file_header_template and IDE0073 enforces.
Fixes GeneratorBase.WriteHeaderTo so generated sources carry the current header instead of regenerating the old one, and updates CLAUDE.md to match.
@matt-edmondson

Copy link
Copy Markdown
ContributorAuthor

Superseded by #157, which redid this migration against current main.

This branch was 24 commits behind when #157 was authored (and is now 31 behind), and pinned ktsu.Sdk to 2.21.1 while main is on 2.26.1. #157 carries the same header migration — 523 .cs files to // Copyright (c) 2023-2026 ktsu-dev contributors, preserving the BOM on the 226 that have one — plus the .editorconfig template change, the LF working-tree normalization, and the GeneratorBase.WriteHeaderTo update so regenerated output matches.

Not discarding your CLAUDE.md correction though: main still documented the old three-line header, and the note explaining that the template is synced from COPYRIGHT.md and that WriteHeaderTo must be kept in step is the clearest description of that mechanism anywhere in the repo. It has been carried over in the follow-up PR, extended to mention that SourceGeneratorTests now asserts the emitted header, so that drift fails a test rather than showing up as a mystery diff.

Closing as superseded.

@matt-edmondson
matt-edmondson deleted the chore/sdk-2.21.1-lf-migration branch August 14, 2026 03:15
Damon3000s pushed a commit to Damon3000s/Semantics that referenced this pull request Aug 16, 2026
- S2223 (3, HIGH): PropertyTemplate.AutoGet/AutoSet/AutoInit were mutable
public static fields. Made static readonly - they are compared by
reference in WriteTo to detect auto-property shorthand, so they must stay
single fixed instances and readonly enforces that without changing the
comparison.
- S1192 (4): extracted the repeated validation failure message in the
kebab/macro/snake/sentence case attributes to a FailureMessage constant.
- S6610 (6): StartsWith("-")/EndsWith("_") -> the char overloads in the
same three casing attributes. Verified across all TFMs; Polyfill supplies
the char overloads on netstandard2.0.
- S6580 (2): IsDateTime/IsTimeSpan now pass an explicit format provider.
Deliberately CultureInfo.CurrentCulture, not InvariantCulture: that is
what the provider-less overload already used, so which strings validate
is unchanged. Switching to invariant would be a behaviour change and is
the maintainers call.
- S3358 (3): extracted the nested ternary in AccessibilityLevelAgainst into
named thresholds, and replaced the chained Clamp01 ternaries in Color and
Hsl with Math.Clamp (identical NaN behaviour).
Also refreshed CLAUDE.md - it still documented the old three-line header.
Carried over from the superseded ktsu-dev#151, extended to note that
SourceGeneratorTests now asserts the emitted header.
Build clean on all TFMs, 1089/1089 tests pass.
Sign up for freeto 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

@matt-edmondson