Skip to content

Commit 1ad44b0

Browse files
authored
Bump version to 1.0.0 (#1120)
1 parent 8577335 commit 1ad44b0

15 files changed

Lines changed: 227 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 147 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,150 @@
11
# Change Log
2+
## 1.0.0 (04/2/2026)
3+
> [!IMPORTANT]
4+
> This is the first GA release of Smithy Java. All client modules are now considered stable.
5+
> Some modules, including server, CLI, and MCP, are still in developer-preview and may contain bugs.
6+
> No guarantee is made about their API stability. Unstable modules are marked with a warning in their
7+
> `README.md` and with the `@SmithyUnstableApi` annotation in their `package-info.java`.
8+
9+
### Features
10+
- Added JSpecify nullness annotation support.
11+
- Added endpoint rules engine with BDD codegen, fused opcodes, and peephole optimizations. ([#1035](https://github.com/smithy-lang/smithy-java/pull/1035))
12+
- Added support for AWS Query protocol in the client.
13+
- Added support for request compression. ([#968](https://github.com/smithy-lang/smithy-java/pull/968))
14+
- Added checksum support in requests. ([#911](https://github.com/smithy-lang/smithy-java/pull/911))
15+
- Added event streams support to AWS JSON protocols. ([#1076](https://github.com/smithy-lang/smithy-java/pull/1076))
16+
- Added event stream implementation for RPCv2. ([#849](https://github.com/smithy-lang/smithy-java/pull/849))
17+
- Added support for `@eventHeader` and `@eventPayload` for RPC protocols. ([#864](https://github.com/smithy-lang/smithy-java/pull/864))
18+
- Added event stream signing support. ([#1054](https://github.com/smithy-lang/smithy-java/pull/1054))
19+
- Implemented new event streams API. ([#1035](https://github.com/smithy-lang/smithy-java/pull/1035))
20+
- Added an OpenTelemetry based plugin to publish operation metrics. ([#1030](https://github.com/smithy-lang/smithy-java/pull/1030))
21+
- Added support for native remote MCP servers. ([#943](https://github.com/smithy-lang/smithy-java/pull/943))
22+
- Added MCP ping request support. ([#1016](https://github.com/smithy-lang/smithy-java/pull/1016))
23+
- Added MCP proxy server support for prompts.
24+
- Added MCP metrics observer support to McpServerBuilder.
25+
- Added support for SSE + streaming with MCP notifications.
26+
- Added structured content to MCP tool responses when possible.
27+
- Added output schema to MCP tools/list.
28+
- Added protocol version to MCP initialize response.
29+
- Added workingDirectory to StdioProxy.
30+
- Added error response parsing for restXml. ([#922](https://github.com/smithy-lang/smithy-java/pull/922))
31+
- Added support for BigDecimal Documents in CBOR.
32+
- Added map input for dynamic client.
33+
- Added `DataStream.writeTo()` and IO utilities.
34+
- Added `isAvailable` to check if DataStream has not been consumed.
35+
- Added close to DataStream to allow closing resources.
36+
- Added generic types to JMESPath predicates. ([#1067](https://github.com/smithy-lang/smithy-java/pull/1067))
37+
- Added utility to fill shapes with random values.
38+
- Added fuzz testing framework.
39+
- Added document discriminator sanitizer for JSON protocols. ([#932](https://github.com/smithy-lang/smithy-java/pull/932))
40+
- Added plugin phases, auto-plugins, and hierarchy for codegen.
41+
- Added ability to register default plugins in codegen.
42+
- Added new code sections to support deserialization overrides.
43+
- Added plugin test runner. ([#855](https://github.com/smithy-lang/smithy-java/pull/855))
44+
- Added compile method for EndpointRuleSet in RulesEngineBuilder.
45+
- Added singletons for AwsCredentialsResolver implementations. ([#1059](https://github.com/smithy-lang/smithy-java/pull/1059))
46+
- Added strategy for writing error types to headers.
47+
- Added ModifiableHttpHeaders method to overwrite HTTP header values.
48+
- Generated input shape with additionalInput member for operations with Unit input.
49+
- Added model bundle version to decide whether to wrap input or not.
50+
- Added additionalInfo to BundleMetadata.
51+
- Allowed event processors to compose. ([#1095](https://github.com/smithy-lang/smithy-java/pull/1095))
52+
- Allowed lists to be marked as httpPayload.
53+
- Added KEYS synchronization.
54+
- Added HttpTransportConfig for transport settings.
55+
56+
### Bug Fixes
57+
- Fixed equals for float and double values. ([#1129](https://github.com/smithy-lang/smithy-java/pull/1129))
58+
- Fixed CBOR deserializer crash on empty input for no-input operations. ([#1103](https://github.com/smithy-lang/smithy-java/pull/1103))
59+
- Fixed protocol initialization for AwsRestJson1Protocol. ([#1023](https://github.com/smithy-lang/smithy-java/pull/1023))
60+
- Fixed incorrect codegen for HttpApiKeyAuthTrait.
61+
- Fixed encoding/decoding of errors and exception events. ([#1055](https://github.com/smithy-lang/smithy-java/pull/1055))
62+
- Fixed SchemaIndex collision for Unit inputs/outputs.
63+
- Fixed handling of timestamps inside oneOf unions.
64+
- Fixed handling of event payload members of blob and string type. ([#1064](https://github.com/smithy-lang/smithy-java/pull/1064))
65+
- Fixed bug of adding a null element to the list when list is empty or null.
66+
- Fixed Sigv4 multivalued query key ordering and double path encoding. ([#984](https://github.com/smithy-lang/smithy-java/pull/984))
67+
- Fixed query params with more than one value per key. ([#973](https://github.com/smithy-lang/smithy-java/pull/973))
68+
- Fixed double encoding URIs for signing. ([#972](https://github.com/smithy-lang/smithy-java/pull/972))
69+
- Fixed httpQuery related protocol tests. ([#945](https://github.com/smithy-lang/smithy-java/pull/945))
70+
- Fixed httpHeader and httpPrefixHeaders protocol tests. ([#914](https://github.com/smithy-lang/smithy-java/pull/914))
71+
- Fixed QueryCustomizedError protocol test.
72+
- Fixed type conversion issues in MCP.
73+
- Fixed naming conflict between class name and Schema field when structure name is all capitals.
74+
- Fixed name conflicts resolving. ([#902](https://github.com/smithy-lang/smithy-java/pull/902))
75+
- Fixed builder setters to use the correct boxed or primitive type.
76+
- Fixed javadoc link. ([#987](https://github.com/smithy-lang/smithy-java/pull/987))
77+
- Fixed URI concat issue with HttpClientProtocol.
78+
- Fixed bytecode loading and creation.
79+
- Fixed O(N!) allocations for recursive union variants.
80+
- Fixed content-type for http-payload when already in headers.
81+
- Fixed skipping OperationGenerator in types-only codegen mode.
82+
- Fixed gradle to generate javadoc and sources jar for publishing. ([#854](https://github.com/smithy-lang/smithy-java/pull/854))
83+
- Fixed delay publishing the initial event until fully wired. ([#865](https://github.com/smithy-lang/smithy-java/pull/865))
84+
- Fixed null protocol version handling in MCP requests.
85+
- Fixed proxy initialization failures no longer silently swallowed.
86+
- Correctly handled BigInteger and BigDecimal defaults.
87+
- Correctly adapted oneOf unions nested in oneOfUnions.
88+
- Properly supported lists of Documents. ([#869](https://github.com/smithy-lang/smithy-java/pull/869))
89+
90+
### Improvements
91+
- Optimized hashCode computation. ([#1130](https://github.com/smithy-lang/smithy-java/pull/1130))
92+
- Cleaned up query/percent parsing and encoding utilities.
93+
- Removed indirection and overhead from interceptors ([#1127](https://github.com/smithy-lang/smithy-java/pull/1127))
94+
- Optimized header name matching using generated buckets and identity checks.
95+
- Optimized equals and hashCode of SmithyUri.
96+
- Optimized request/response pipeline handling.
97+
- Replaced request/response builders with modifiable copies.
98+
- Switched to faster and cheaper array-backed headers.
99+
- Optimized Context implementation with chunked array storage.
100+
- Optimized SchemaConverter and MCP Schema conversion.
101+
- Optimized string validation.
102+
- Optimized endpoints VM with fused opcodes, `ite`, negative indexing, and `SPLIT` opcode.
103+
- Optimized timestamp handling with minor improvements.
104+
- Avoided unnecessary UTF-8 decoding and byte[] allocations when flushing MCP structs.
105+
- Avoided boxing for primitive Documents and fixed equals for various Documents.
106+
- Used SmithyUri instead of URI for performance.
107+
- Improved HttpHeaders to only allocate names when needed.
108+
- Added upper bound on container pre-allocation during deserialization.
109+
- Prevented allocating large arrays based on BigInteger lengths.
110+
- Added stricter verifications while reading lists in Json Codec.
111+
- Added better header and value validation.
112+
- Improved client content-type deserialization handling.
113+
- Converted Jackson exceptions to SerializationException.
114+
- Used JmespathRuntime for JMESPath evaluation.
115+
- Used proper classloader for loading services. ([#958](https://github.com/smithy-lang/smithy-java/pull/958))
116+
- Used symbols instead of hardcoded strings. ([#1072](https://github.com/smithy-lang/smithy-java/pull/1072))
117+
- Used sealed interfaces for enums and records for unions.
118+
- Oriented DataStream around InputStream.
119+
- Made Client implement Closeable.
120+
- Made ClientTransport extend Closeable.
121+
- Made rules engine independent of client.
122+
- Moved to blocking client, towards virtual threads.
123+
- Increased default MCP HTTP proxy timeout from 60s to 5 minutes.
124+
- Upgraded to Jackson 3.0.3.
125+
126+
### Breaking Changes
127+
- Removed request/response builders in favor of modifiable copies.
128+
- Removed `useExternalTypes` option (unused).
129+
- Removed unused utility methods.
130+
- Removed tracing API. ([#1068](https://github.com/smithy-lang/smithy-java/pull/1068))
131+
- Removed ExternalSymbols.
132+
- Removed MCP CLI functionality.
133+
- Removed MCP bundles module.
134+
- Removed unused ExecutorService from call context.
135+
- Removed map* methods from Hooks and replaced with cast.
136+
- Removed default from JsonArraySchema.
137+
- Removed unused jline dependency.
138+
- Split codegen-plugins back into codegen-core and removed client-api. ([#1091](https://github.com/smithy-lang/smithy-java/pull/1091))
139+
- Moved from plugin-based codegen to mode-based codegen for types, client, and server.
140+
- Moved endpoints to upper level.
141+
- Separated java and resources into different folders. ([#1078](https://github.com/smithy-lang/smithy-java/pull/1078))
142+
- Surface area review of client packages. ([#1086](https://github.com/smithy-lang/smithy-java/pull/1086))
143+
- Surface area review of CLI package API. ([#1085](https://github.com/smithy-lang/smithy-java/pull/1085))
144+
- Made errorSchemas non-default in the interface.
145+
- Made union members implicitly type-cast in getValue.
146+
- Made additionalProperties a Document.
147+
2148
## 0.0.3 (08/21/2025)
3149
> [!WARNING]
4150
> This is a developer-preview release and may contain bugs. **No** guarantee is made about API stability.
@@ -69,4 +215,4 @@
69215
- Added JSON protocol support - restJson1, awsJson.
70216
- Added RPCV2 CBOR protocol support.
71217
- Implemented Dynamic client that can load a Smithy model to call a service.
72-
- Added Smithy Lambda Endpoint wrapper to run generated server stubs in AWS Lambda.
218+
- Added Smithy Lambda Endpoint wrapper to run generated server stubs in AWS Lambda.

VERSION

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
0.0.3
2-
1+
1.0.0

aws/aws-service-bundle/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## aws-service-bundle
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
7+
Provides generic request parameters for interacting with AWS services described by an AWS service bundle.

aws/aws-service-bundler/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## aws-service-bundler
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
7+
Produces service bundles for AWS services from Smithy models.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## aws-lambda-endpoint
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
7+
Provides an endpoint implementation for running Smithy Java server stubs as AWS Lambda request handlers.

cli/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
## smithy-call
22

33
> [!WARNING]
4-
> This project is still in development and is not intended for use in production.
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
56
67
This module contains the base-version of smithy-call: a CLI that uses ahead-of-time compilation and the dynamic client to make adhoc calls to services.
78

codegen/test-utils/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## codegen-test-utils
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
7+
Provides utilities for testing Smithy Java codegen plugins.

mcp/mcp-server/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## mcp-server
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
7+
Provides Model Context Protocol (MCP) server support for Smithy Java, enabling MCP server generation from Smithy models.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## model-bundle-api
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
7+
Implements the model-bundle utility for packaging and loading Smithy models at runtime.

server/server-api/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
## server-api
2+
3+
> [!WARNING]
4+
> This is a developer-preview module and may contain bugs. No guarantee is made about API stability.
5+
> This module is not recommended for production use.
6+
27
Provides the base API for servers.

0 commit comments

Comments
 (0)