Renamed ByteType to UnsignedByteType and SignedByteType to ByteType#9103
Renamed ByteType to UnsignedByteType and SignedByteType to ByteType#9103
Conversation
There was a problem hiding this comment.
Pull request overview
Updates HotChocolate scalar naming so GraphQL Byte is the signed sbyte scalar, and introduces UnsignedByte for CLR byte, aligning scalar naming with the signed core numeric types.
Changes:
- Added
UnsignedByteTypeand rewiredByteTypeto usesbyte; updated scalar registries/names/resources accordingly. - Updated filter conventions, JSON inference, adapters test schemas, and snapshot outputs to reflect the new scalar names.
- Updated docs and StrawberryShake codegen defaults to recognize/use
UnsignedByte.
Reviewed changes
Copilot reviewed 25 out of 26 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| website/src/docs/hotchocolate/v16/migrating/migrate-from-15-to-16.md | Documents the ByteType/SignedByteType rename for v16 migration guidance. |
| website/src/docs/hotchocolate/v16/defining-a-schema/scalars.md | Updates scalar table entries for Byte/UnsignedByte. |
| src/StrawberryShake/CodeGeneration/src/CodeGeneration/Utilities/SchemaHelper.cs | Adjusts default scalar mappings used by StrawberryShake codegen. |
| src/StrawberryShake/CodeGeneration/src/CodeGeneration/BuiltInScalarNames.cs | Updates which scalars StrawberryShake treats as built-in. |
| src/HotChocolate/MongoDb/src/Data/Filters/Convention/Extensions/MongoDbFilterConventionDescriptorExtensions.cs | Updates MongoDB filter runtime bindings for byte-like types. |
| src/HotChocolate/Data/test/Data.Filters.Tests/Types/snapshots/ComparableOperationInputTests.Create_Implicit_Operation_Normalized.graphql | Snapshot updated for renamed scalar/filter input types. |
| src/HotChocolate/Data/test/Data.Filters.Tests/Types/snapshots/ComparableOperationInputTests.Create_Implicit_Operation.graphql | Snapshot updated for renamed scalar/filter input types. |
| src/HotChocolate/Data/src/Data/Filters/Types/UnsignedByteOperationFilterInputType.cs | Renames byte operation filter input type to UnsignedByte…. |
| src/HotChocolate/Data/src/Data/Filters/Convention/Extensions/FilterConventionDescriptorExtensions.cs | Updates default filter runtime bindings for byte-like types. |
| src/HotChocolate/Core/test/Types.Tests/Types/Scalars/UnsignedByteTypeTests.cs | Adds test coverage for UnsignedByteType. |
| src/HotChocolate/Core/test/Types.Tests/Types/Scalars/SignedByteTypeTests.cs | Removes tests for SignedByteType after rename. |
| src/HotChocolate/Core/test/Types.Tests/Types/Scalars/ByteTypeTests.cs | Updates tests so ByteType now validates/coerces sbyte. |
| src/HotChocolate/Core/src/Types/Types/Scalars/UnsignedByteType.cs | Introduces the new UnsignedByteType scalar implementation. |
| src/HotChocolate/Core/src/Types/Types/Scalars/SignedByteType.cs | Removes the old SignedByteType scalar implementation. |
| src/HotChocolate/Core/src/Types/Types/Scalars/Scalars.cs | Updates CLR-type-to-scalar and name-to-scalar lookups for new scalars. |
| src/HotChocolate/Core/src/Types/Types/Scalars/ScalarNames.cs | Adds UnsignedByte scalar name constant (replacing SignedByte). |
| src/HotChocolate/Core/src/Types/Types/Scalars/ByteType.cs | Reworks ByteType to be the signed sbyte scalar. |
| src/HotChocolate/Core/src/Types/Properties/TypeResources.resx | Updates localized scalar descriptions for renamed scalars. |
| src/HotChocolate/Core/src/Types/Properties/TypeResources.Designer.cs | Regenerates strongly-typed resources after resx updates. |
| src/HotChocolate/Core/src/Types.Json/JsonObjectTypeExtensions.cs | Updates JSON inference for UnsignedByte and adds Byte (sbyte) inference. |
| src/HotChocolate/Adapters/test/Adapters.OpenApi.Tests/TestSchema.cs | Switches CLR types in adapter test schema to match new Byte semantics. |
| src/HotChocolate/Adapters/test/Adapters.OpenApi.Tests/OpenApi/snapshots/OpenApiIntegrationTestBase.OpenApi_Includes_Initial_Routes_NET9_0_Fusion.json | Updates OpenAPI snapshot descriptions reflecting scalar rename. |
| src/HotChocolate/Adapters/test/Adapters.OpenApi.Tests/OpenApi/snapshots/OpenApiIntegrationTestBase.OpenApi_Includes_Initial_Routes_NET9_0.json | Updates OpenAPI snapshot descriptions reflecting scalar rename. |
| src/HotChocolate/Adapters/test/Adapters.OpenApi.Tests/OpenApi/snapshots/OpenApiIntegrationTestBase.OpenApi_Includes_Initial_Routes_NET10_0_Fusion.json | Updates OpenAPI snapshot descriptions reflecting scalar rename. |
| src/HotChocolate/Adapters/test/Adapters.OpenApi.Tests/OpenApi/snapshots/OpenApiIntegrationTestBase.OpenApi_Includes_Initial_Routes_NET10_0.json | Updates OpenAPI snapshot descriptions reflecting scalar rename. |
| src/HotChocolate/Adapters/test/Adapters.Mcp.Tests/TestSchema.cs | Switches CLR types in MCP adapter test schema to match new Byte semantics. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
🚀 Fusion Gateway Performance ResultsSimple Composite QueryConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query fragment User on User {
id
username
name
}
fragment Review on Review {
id
body
}
fragment Product on Product {
inStock
name
price
shippingEstimate
upc
weight
}
query TestQuery {
topProducts(first: 5) {
...Product
reviews {
...Review
author {
...User
}
}
}
}Deep Recursion QueryConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query fragment User on User {
id
username
name
}
fragment Review on Review {
id
body
}
fragment Product on Product {
inStock
name
price
shippingEstimate
upc
weight
}
query TestQuery {
users {
...User
reviews {
...Review
product {
...Product
reviews {
...Review
author {
...User
reviews {
...Review
product {
...Product
}
}
}
}
}
}
}
topProducts(first: 5) {
...Product
reviews {
...Review
author {
...User
reviews {
...Review
product {
...Product
}
}
}
}
}
}Variable Batching ThroughputConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query query TestQuery_8f7a46ce_2(
$__fusion_1_upc: ID!
$__fusion_2_price: Long!
$__fusion_2_weight: Long!
) {
productByUpc(upc: $__fusion_1_upc) {
inStock
shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
}
}Variables (5 sets batched in single request) [
{ "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
{ "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
{ "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
{ "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
{ "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]No baseline data available for comparison. Run 21830666925 • Commit 086447c • Mon, 09 Feb 2026 15:32:46 GMT |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 29 out of 30 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
🚀 Fusion Gateway Performance ResultsSimple Composite QueryConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query fragment User on User {
id
username
name
}
fragment Review on Review {
id
body
}
fragment Product on Product {
inStock
name
price
shippingEstimate
upc
weight
}
query TestQuery {
topProducts(first: 5) {
...Product
reviews {
...Review
author {
...User
}
}
}
}Deep Recursion QueryConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query fragment User on User {
id
username
name
}
fragment Review on Review {
id
body
}
fragment Product on Product {
inStock
name
price
shippingEstimate
upc
weight
}
query TestQuery {
users {
...User
reviews {
...Review
product {
...Product
reviews {
...Review
author {
...User
reviews {
...Review
product {
...Product
}
}
}
}
}
}
}
topProducts(first: 5) {
...Product
reviews {
...Review
author {
...User
reviews {
...Review
product {
...Product
}
}
}
}
}
}Variable Batching ThroughputConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query query TestQuery_8f7a46ce_2(
$__fusion_1_upc: ID!
$__fusion_2_price: Long!
$__fusion_2_weight: Long!
) {
productByUpc(upc: $__fusion_1_upc) {
inStock
shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
}
}Variables (5 sets batched in single request) [
{ "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
{ "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
{ "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
{ "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
{ "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]No baseline data available for comparison. Run 21857070869 • Commit eddbb4e • Tue, 10 Feb 2026 08:36:57 GMT |
🚀 Fusion Gateway Performance ResultsSimple Composite QueryConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query fragment User on User {
id
username
name
}
fragment Review on Review {
id
body
}
fragment Product on Product {
inStock
name
price
shippingEstimate
upc
weight
}
query TestQuery {
topProducts(first: 5) {
...Product
reviews {
...Review
author {
...User
}
}
}
}Deep Recursion QueryConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query fragment User on User {
id
username
name
}
fragment Review on Review {
id
body
}
fragment Product on Product {
inStock
name
price
shippingEstimate
upc
weight
}
query TestQuery {
users {
...User
reviews {
...Review
product {
...Product
reviews {
...Review
author {
...User
reviews {
...Review
product {
...Product
}
}
}
}
}
}
}
topProducts(first: 5) {
...Product
reviews {
...Review
author {
...User
reviews {
...Review
product {
...Product
}
}
}
}
}
}Variable Batching ThroughputConstant Load (50 VUs)
📊 Response Time Metrics
Ramping Load (0→50→500→50 VUs)
📊 Response Time Metrics
Executed Query query TestQuery_8f7a46ce_2(
$__fusion_1_upc: ID!
$__fusion_2_price: Long!
$__fusion_2_weight: Long!
) {
productByUpc(upc: $__fusion_1_upc) {
inStock
shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
}
}Variables (5 sets batched in single request) [
{ "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
{ "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
{ "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
{ "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
{ "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]No baseline data available for comparison. Run 21857623297 • Commit d511217 • Tue, 10 Feb 2026 08:55:32 GMT |
Summary of the changes (Less than 80 chars)