Skip to content

Comparison: add SuperStrong.Types to the value-object table #120

Closed

Description

@CaffeinatedCoder

Problem

docs/comparison.md compares TypeKit's value objects with Vogen, Thinktecture.Runtime.Extensions and StronglyTypedId. SuperStrong.Types is a newer value-object generator for .NET 10, TypeKit's target too, with integrations for ASP.NET Core, OpenAPI, EF Core, Hot Chocolate, System.Text.Json and Newtonsoft.Json. A reader who knows it finds nothing on the page about it.

Change

  • Read it from its source at its latest NuGet release, for each row of "Value objects in detail": how a value object is declared, validation, EF Core, OpenAPI, a converter the host registers, Native AOT, JSON, targets, how it is generated, and the license.
  • Record what was read as a design/knowledge/ entry pinned external SuperStrong.Types {version}, dated, with its row in the knowledge index.
  • Add its column to "Value objects in detail", and a row in "Choose something else when" where it fits better than TypeKit (Hot Chocolate or Newtonsoft.Json, if its source confirms them). Add its entry to the table's sources, and its name to the README's list of compared libraries.

Done when

  • The page has a SuperStrong.Types column, each cell resting on the new knowledge entry.
  • docs-query check and the conventions tests pass.

Activity

  1. added this to the 2.3.0 milestone on Oct 29, 2026
  2. added
    documentationImprovements or additions to documentation
    area/value-objectsValue-object contracts and what the aspects generate for them
    on Oct 29, 2026
  3. CaffeinatedCoder commented on Oct 29, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Scope grew after two outside reviews of the page, on the same branch (docs/readme-intro-and-comparison, commit 41b1edb):

    • The SuperStrong.Types converter cell says only what was read (nothing of its own describes the converter; read from code, not run).
    • "Years of production use" became "a long release history", naming the libraries first published 2015 to 2021 (KB-044, from NuGet).
    • "A gap none of them fills" is scoped to the value-object libraries at the versions named.
    • A new "Other integrations" row shows the serializers, ORMs and GraphQL packages others ship and TypeKit doesn't.
    • The C# union types row names C# 15 and closed hierarchies, pinned to the .NET 11 SDK's release-candidate status on 2026-10-29 (KB-045).

    Keeping the page current before each release is #121.

  4. CaffeinatedCoder commented on Oct 29, 2026

    @CaffeinatedCoder
    OwnerAuthor

    The facts were renumbered when this branch merged release/2.3.0, which took KB-043 for the GitHub Actions facts (#123). SuperStrong.Types is now KB-044, the first releases KB-045, and C# 15's union types KB-046. The earlier comment's KB-044 and KB-045 are now KB-045 and KB-046.

  5. CaffeinatedCoder commented on Oct 29, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Done in #122, merged into release/2.3.0 (6a99f5b). It ships in 2.3.0.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/value-objectsValue-object contracts and what the aspects generate for themdocumentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions