---
title: "@smithy/core Breaking Changes on npm | Since.dev"
description: "What each @smithy/core release removed, renamed or changed: 68 breaking changes in 18 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@smithy/core
last_updated: 2026-11-03
---

# @smithy/core breaking changes

Every breaking API change we have recorded in @smithy/core on npm: 68 breaking changes in 18 versions. Below are its newest 6 versions, removals and renames first, each with its source.

Newest change November 3, 2026

## 3.38.0

1 breaking change, first published November 3, 2026.

- **Signature changed** `protocols:getHttpHandlerExtensionConfiguration`  

Was const getHttpHandlerExtensionConfiguration: <HandlerConfig extends {logger?: Logger;}>(runtimeConfig: HttpHandlerExtensionConfigType<HandlerConfig> & {logger?: Logger;}) => {setHttpHandler(handler: HttpHandler<HandlerConfig>): void... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.38.0)

## 3.37.0

5 breaking changes, first published October 26, 2026.

- **Removed** `cbor:SmithyRpcV2CborProtocol.constructor`  

new SmithyRpcV2CborProtocol() was removed in @smithy/core 3.37.0 [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.37.0)
- **Removed** `protocols:SmithyRpcV2JsonProtocol.constructor`  

new SmithyRpcV2JsonProtocol() was removed in @smithy/core 3.37.0 [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.37.0)
- **Behavior changed**  

Responses with a 2xx status other than 200 (such as 201 or 204) are now raised as errors by the Smithy RPC v2 JSON and CBOR client protocols. Code that relied on those statuses succeeding must handle the error instead. [github.com](https://github.com/smithy-lang/smithy-typescript/releases/tag/%40smithy/core%403.37.0)
- **Signature changed** `cbor:SmithyRpcV2CborProtocol`  

Was class SmithyRpcV2CborProtocol extends RpcProtocol; now class SmithyRpcV2CborProtocol extends AbstractRpcV2Protocol. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.37.0)
- **Signature changed** `protocols:SmithyRpcV2JsonProtocol`  

Was class SmithyRpcV2JsonProtocol extends RpcProtocol; now class SmithyRpcV2JsonProtocol extends AbstractRpcV2Protocol. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.37.0)

## 3.35.0

3 breaking changes, first published September 22, 2026.

- **Behavior changed**  

Responses with status code 500 from CBOR services are now classified as server faults. Code that handled these responses as a different error category may need to be updated. [github.com](https://github.com/smithy-lang/smithy-typescript/releases/tag/%40smithy/core%403.35.0)
- **Behavior changed**  

Error identification for CBOR responses no longer falls back to the code property in the response body. Code that relied on that fallback to identify errors must check for other error fields. [github.com](https://github.com/smithy-lang/smithy-typescript/releases/tag/%40smithy/core%403.35.0)
- **Signature changed** `client:Client.send`  

Was send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options: HandlerOptions, cb: (err: any, data?... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.35.0)

## 3.33.1

11 breaking changes, first published August 15, 2026.

- **Signature changed** `client:getDefaultClientConfiguration`  

Was const getDefaultClientConfiguration: (runtimeConfig: DefaultExtensionRuntimeConfigType) => {addChecksumAlgorithm(algo: import("@smithy/types").ChecksumAlgorithm): void; checksumAlgorithms()... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `event-streams:EventStreamSerde.deserializeEventStream`  

Was deserializeEventStream({response, responseSchema, initialResponseContainer}: {response: IHttpResponse; responseSchema: NormalizedSchema; initialResponseContainer?: any;}): Promise<AsyncIterable<{\[key: string\]: any; $unknown?... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `event-streams:EventStreamSerde.serializeEventStream`  

Was serializeEventStream({eventStream, requestSchema, initialRequest}: {eventStream: AsyncIterable<any>; requestSchema: NormalizedSchema; initialRequest?: any;}): Promise<IHttpRequest\["body"\] | Uint8Array>; now... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `retry:Retry.modifiedCostType`  

Was static modifiedCostType(): "TRANSIENT" | "THROTTLING"; now static modifiedCostType(): "THROTTLING" | "TRANSIENT". [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `retry:Retry.throttlingDelay`  

Was static throttlingDelay(): 1000 | 500; now static throttlingDelay(): 500 | 1000. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `schema:TypeRegistry.find`  

Was find(predicate: (schema: ISchema) => boolean): number | "unit" | import("@smithy/types").StaticSimpleSchema | import("@smithy/types").StaticListSchema | import("@smithy/types").StaticMapSchema |... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `serde:expectInt`  

Was const expectInt: (value: any) => number | undefined; now const expectInt: typeof expectLong. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `serde:handleFloat`  

Was const handleFloat: (value: string | number) => number | undefined; now const handleFloat: typeof limitedParseDouble. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `serde:limitedParseFloat`  

Was const limitedParseFloat: (value: string | number) => number | undefined; now const limitedParseFloat: typeof limitedParseDouble. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)
- **Signature changed** `serde:strictParseFloat`  

Was const strictParseFloat: (value: string | number) => number | undefined; now const strictParseFloat: typeof strictParseDouble. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.1)

And 1 more in this version.

## 3.33.0

3 breaking changes, first published August 14, 2026.

- **Removed** `protocols:HttpHandlerExtensionConfigType.httpHandler`  

HttpHandlerExtensionConfigType.httpHandler was removed in @smithy/core 3.33.0 [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.0)
- **Signature changed** `protocols:getHttpHandlerExtensionConfiguration`  

Was const getHttpHandlerExtensionConfiguration: <HandlerConfig extends object = {}>(runtimeConfig: HttpHandlerExtensionConfigType<HandlerConfig>) => {setHttpHandler(handler: HttpHandler<HandlerConfig>): void; httpHandler()... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.0)
- **Signature changed** `protocols:HttpHandlerExtensionConfigType`  

Was type HttpHandlerExtensionConfigType<HandlerConfig extends object = {}> = Partial<{httpHandler: HttpHandler<HandlerConfig>;}>; now type HttpHandlerExtensionConfigType<HandlerConfig extends object = {}> = Partial<{requestHandler... [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.33.0)

## 3.31.1

5 breaking changes, first published July 29, 2026.

- **Removed** `schema:NormalizedSchema.structIteratorCbor`  

NormalizedSchema.structIteratorCbor was removed in @smithy/core 3.31.1 [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.31.1)
- **Signature changed** `cbor:CborCodec.createDeserializer`  

Was createDeserializer(): CborShapeDeserializer; now createDeserializer(): CborShapeDeserializer2. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.31.1)
- **Signature changed** `cbor:CborCodec.createSerializer`  

Was createSerializer(): CborShapeSerializer; now createSerializer(): CborShapeSerializer2. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.31.1)
- **Signature changed** `cbor:SmithyRpcV2CborProtocol.deserializer`  

Was protected deserializer: import(".").CborShapeDeserializer; now protected deserializer: import(".").CborShapeDeserializer2. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.31.1)
- **Signature changed** `cbor:SmithyRpcV2CborProtocol.serializer`  

Was protected serializer: import(".").CborShapeSerializer; now protected serializer: import(".").CborShapeSerializer2. [npmjs.com](https://www.npmjs.com/package/@smithy/core/v/3.31.1)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
