Releases: ktsu-dev/Semantics
Releases · ktsu-dev/Semantics
Release list
v2.5.4
v2.5.4 (patch)
Changes since v2.5.3:
- Bump the ktsu group with 2 updates (@dependabot[bot])
What's Changed
- Bump the ktsu group with 2 updates by @dependabot[bot] in #117
Full Changelog: v2.5.3...v2.5.4
v2.5.3
v2.5.3 (patch)
Changes since v2.5.2:
- Bump Microsoft.CodeAnalysis.Analyzers and Microsoft.CodeAnalysis.CSharp (@dependabot[bot])
What's Changed
- Bump Microsoft.CodeAnalysis.Analyzers and Microsoft.CodeAnalysis.CSharp by @dependabot[bot] in #115
Full Changelog: v2.5.2...v2.5.3
v2.5.2
v2.5.2 (patch)
Changes since v2.5.1:
- Bump the ktsu group with 2 updates (@dependabot[bot])
What's Changed
- Bump the ktsu group with 2 updates by @dependabot[bot] in #114
Full Changelog: v2.5.1...v2.5.2
v2.5.1
v2.5.1 (patch)
Changes since v2.5.0:
- fix(music): use ValueTuple.GetHashCode instead of System.HashCode for netstandard2.0 compatibility (@matt-edmondson)
- refactor(music): split Progression.TryParse into helpers to cut cognitive complexity and remove always-true check (SonarQube S3776/S2583) (@matt-edmondson)
- docs(music): update examples and references for Parse/TryParse rename and chart-style progressions (@matt-edmondson)
- feat(music): chart-style Arrangement ToString + Parse/TryParse + structural equality (@matt-edmondson)
- feat(music): chart-style Section ToString + Parse/TryParse (@matt-edmondson)
- feat(music)!: replace bar-delimited Progression.Parse with chart-style ToString/Parse/TryParse + structural equality; migrate call sites (@matt-edmondson)
- feat(music): rename Form.FromPattern to Parse/TryParse, canonical ToString, structural equality (@matt-edmondson)
- feat(music): Rest canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): Note canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): ChordEvent canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): canonical Chord ToString, TryParse, ParseRoot via Notation (@matt-edmondson)
- feat(music): Key canonical ToString + Parse/TryParse; roman-numeral accidental via Notation (@matt-edmondson)
- feat(music): Scale canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): Tempo canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): Velocity canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): TimeSignature canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): Duration canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): Interval canonical ToString + Parse/TryParse (@matt-edmondson)
- feat(music): rename Mode.FromName to Parse/TryParse, canonical ToString (@matt-edmondson)
- feat(music): typed Pitch factory, rename FromName to Parse/TryParse, canonical ToString (@matt-edmondson)
- feat(music): typed PitchClass factory, Parse/TryParse, canonical ToString (@matt-edmondson)
- feat(music): add NoteLetter and Accidental enums (@matt-edmondson)
- docs: implementation plan for music type-safe factories and canonical round-trip ToString (@matt-edmondson)
- docs: revise music factories spec with canonical round-trip ToString and chart-style aggregate format (@matt-edmondson)
- docs: design spec for music type-safe factories and Parse/TryParse convention (@matt-edmondson)
- [patch] docs: add per-package READMEs and turn root README into a family index (@matt-edmondson)
What's Changed
- docs: per-package READMEs + root README as family index by @matt-edmondson in #111
- Bump the ktsu group with 12 updates by @dependabot[bot] in #112
- feat(music): type-safe factories and canonical round-trip ToString/Parse by @matt-edmondson in #113
Full Changelog: v2.5.0...v2.5.1
v2.5.0
v2.5.0 (minor)
Changes since v2.4.0:
- docs(music): document the analysis aggregate layer (@matt-edmondson)
- test(music): lock guard/coverage contracts; dedupe chromatic scale check (@matt-edmondson)
- feat(music): add Form pattern extraction and named-form recognition (@matt-edmondson)
- feat(music): add Arrangement container (@matt-edmondson)
- feat(music): add Section structural unit (@matt-edmondson)
- feat(music): add chromatic chord identification (@matt-edmondson)
- feat(music): add key inference by diatonic fit (@matt-edmondson)
- docs(music): switch key inference to quality-weighted scoring (@matt-edmondson)
- feat(music): add cadence detection (@matt-edmondson)
- feat(music): add roman-numeral labeling and functional classification (@matt-edmondson)
- feat(music): add Progression.Parse bar-delimited chord syntax (@matt-edmondson)
- feat(music): add Progression core (construction, totals, empty rejection) (@matt-edmondson)
- fix(music): drop CA1859 pragma; use IMusicalEvent helper in ChordEvent test (@matt-edmondson)
- feat(music): add ChordEvent harmonic event type (@matt-edmondson)
- docs(music): implementation plan for analysis aggregate layer (@matt-edmondson)
- docs(music): design spec for analysis aggregate layer (@matt-edmondson)
What's Changed
- Bump the ktsu group with 4 updates by @dependabot[bot] in #109
- feat(music): analysis aggregate layer — progressions, harmony, forms [minor] by @matt-edmondson in #110
Full Changelog: v2.4.0...v2.5.0
v2.4.0
v2.4.0 (minor)
Changes since v2.3.0:
- test(strings): add As round-trip test for Uuid (@matt-edmondson)
- docs(strings): reconcile spec As test bullet with implemented roster (@matt-edmondson)
- docs(strings): document Identifiers package in README (@matt-edmondson)
- chore(strings): finalize Identifiers package and document it (@matt-edmondson)
- feat(strings): add JwtToken identifier type (@matt-edmondson)
- feat(strings): add Iban identifier type (@matt-edmondson)
- feat(strings): add Isbn identifier type (@matt-edmondson)
- style(strings): add trailing newline to IsCreditCardNumberAttribute.cs (@matt-edmondson)
- docs(strings): use pattern-matching form in Tasks 5-6 (IDE0078) (@matt-edmondson)
- feat(strings): add CreditCardNumber identifier type (@matt-edmondson)
- feat(strings): add Ulid identifier type (@matt-edmondson)
- docs(strings): align plan Tasks 3-7 with repo conventions (ThrowsExactly, no using System, Ensure.NotNull) (@matt-edmondson)
- feat(strings): add Uuid identifier type (@matt-edmondson)
- chore(strings): scaffold Semantics.Strings.Identifiers package (@matt-edmondson)
- docs(strings): correct empty-string handling in spec; add implementation plan (@matt-edmondson)
- docs(strings): spec for Semantics.Strings.Identifiers (Phase 0) (@matt-edmondson)
What's Changed
- feat(strings): add Semantics.Strings.Identifiers package (Phase 0) by @matt-edmondson in #108
Full Changelog: v2.3.1...v2.4.0
v2.3.1
v2.3.1 (patch)
Changes since v2.3.0:
- Bump the system group with 1 update (@dependabot[bot])
- Bump the ktsu group with 10 updates (@dependabot[bot])
What's Changed
- Bump the ktsu group with 10 updates by @dependabot[bot] in #105
- Bump the system group with 1 update by @dependabot[bot] in #106
Full Changelog: v2.3.0...v2.3.1
v2.3.0
v2.3.0 (minor)
Changes since v2.2.0:
- docs(color): correct Oklab round-trip tolerance note in plan (@matt-edmondson)
- feat(color): add NamedColors and gamma-regression tests (@matt-edmondson)
- feat(color): add Oklab mix, lerp, distance, and gradient (@matt-edmondson)
- feat(color): add WCAG luminance, contrast, and accessibility adjustment (@matt-edmondson)
- feat(color): add HSL and HSV conversions (@matt-edmondson)
- feat(color): add Oklab and Oklch perceptual spaces (@matt-edmondson)
- feat(color): add hex and byte conversions (sRGB-interpreted) (@matt-edmondson)
- feat(color): add Srgb space and gamma-correct sRGB<->linear boundary (@matt-edmondson)
- docs(color): add semantic-domains roadmap, Semantics.Color spec and plan (@matt-edmondson)
- style(color): strip UTF-8 BOM and add final newline (editorconfig) (@matt-edmondson)
- feat(color): scaffold Semantics.Color with canonical linear Color type (@matt-edmondson)
What's Changed
- Bump the ktsu group with 3 updates by @dependabot[bot] in #103
- feat(color): add ktsu.Semantics.Color (linear-RGB color science) by @matt-edmondson in #104
Full Changelog: v2.2.0...v2.3.0
v2.2.0
v2.2.0 (minor)
Changes since v2.1.0:
- docs: cover Semantics.Music score primitives, frequency, inversions, roman parsing (@matt-edmondson)
- [minor] feat(music): score primitives, frequency bridge, inversions/transpose, roman-numeral parsing (@matt-edmondson)
- feat(music): parse roman numerals back into chords (inverse of RomanNumeralOf) (@matt-edmondson)
- feat(music): add chord inversions and Transpose on Chord/Scale/Key (@matt-edmondson)
- feat(music): add Pitch<->frequency (A440) and interval cents (@matt-edmondson)
- feat(music): add score primitives (Velocity, Tempo, Note, Rest) with real-time conversion (@matt-edmondson)
Full Changelog: v2.1.0...v2.2.0
v2.1.0
v2.1.0 (minor)
Changes since v2.0.0:
- Merge feature/semantics-music-types: musical value types (@matt-edmondson)
- [minor] feat(music): musical value types (pitch, interval, scale, chord, key, duration) (@matt-edmondson)
- feat(music): add Key with roman-numeral function; spell chromatic degrees conventionally (flat-preference) (@matt-edmondson)
- feat(music): add Chord engine with parsing, tones, and voicing (full HeatDeathRomance vocabulary) (@matt-edmondson)
- feat(music): add TimeSignature with bar and beat durations (@matt-edmondson)
- feat(music): add rational Duration with arithmetic and dotted/tuplet support (@matt-edmondson)
- feat(music): add Scale and ScaleDegree with degree resolution (@matt-edmondson)
- feat(music): add Mode with full standard scale catalog (diatonic, jazz, symmetric, pentatonic) (@matt-edmondson)
- feat(music): add Interval with octave folding and pitch difference (@matt-edmondson)
- feat(music): add Pitch with MIDI/name conversion and transpose (@matt-edmondson)
- feat(music): scaffold Semantics.Music with PitchClass (@matt-edmondson)
- fix(packaging): unblock the 2.0 release pipeline [patch] (@matt-edmondson)
Full Changelog: v2.0.2...v2.1.0