Skip to content

Commit f4f5b68

Browse files
committed
Consolidate 1.7.0 changelog, add breaking-changes/build notes, bump esbuild lockfile
1 parent 2b44488 commit f4f5b68

2 files changed

Lines changed: 144 additions & 125 deletions

File tree

CHANGELOG.md

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,28 @@ All notable changes to this project are documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
9-
10-
### Fixed
11-
12-
- `SubtleCrypto.generateKey` for RSA algorithms now honors the requested key
13-
usages (routing each usage to the public or private key it applies to)
14-
instead of forcing a fixed pair. Generating an `RSA-OAEP` key with
15-
`["wrapKey", "unwrapKey"]` now yields keys usable with `wrapKey`/`unwrapKey`.
16-
17-
### Removed
18-
19-
- Dead, unreachable `wrapKey.js` module (legacy JWE-style key wrapping that was
20-
never dispatched) and its orphaned JWK byte-serializer helper. The public
21-
`wrapKey`/`unwrapKey` continue to work via the standard
22-
export-then-encrypt / decrypt-then-import path.
23-
24-
## [1.7.0] - 2026-06-25
8+
## [1.7.0] - 2026-06-26
9+
10+
### Breaking Changes
11+
12+
- Errors for invalid input and unsupported algorithms are now delivered as a
13+
rejected promise instead of being thrown synchronously. Code relying on a
14+
synchronous `try`/`catch` around `SubtleCrypto` calls must move to
15+
`.catch()`/`await`.
16+
- Error objects changed shape: failures are now `DOMException`s with
17+
specification names (e.g. `OperationError`, `DataError`) rather than plain
18+
`Error`s. Code inspecting `error.message` or custom error fields may need to
19+
switch to `error.name`.
20+
- `getRandomValues` now throws `QuotaExceededError` for requests larger than
21+
65,536 bytes and `TypeMismatchError` for floating-point typed arrays, where
22+
previously such calls may have succeeded.
23+
- `generateKey` validation is stricter: AES rejects key lengths other than 128,
24+
192, or 256 bits, and HMAC interprets `length` as bits. Inputs accepted by
25+
earlier versions may now be rejected.
26+
- Built output moved from `lib/` to `dist/` and type declarations from
27+
`definitions/` to `types/`. Imports by package name are unaffected, but deep
28+
paths such as `@microsoft/msrcrypto/lib/...` must be updated.
29+
- The minimum supported Node.js version is now 18.
2530

2631
### Added
2732

@@ -50,6 +55,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5055
65,536 bytes and `TypeMismatchError` for floating-point typed arrays.
5156
- The library version is now injected into the bundle from `package.json` at
5257
build time, eliminating version drift between the package and the bundle.
58+
- The build system was migrated to [esbuild](https://esbuild.github.io/) (driven
59+
by `build.mjs`), producing the unminified and minified bundles, and the
60+
minimum supported Node.js version was raised to 18.
5361
- Repository layout: built output moved from `lib/` to `dist/`, type
5462
declarations from `definitions/` to `types/`, and sources under `src/`. The
5563
published `main`/`types` paths are resolved through `package.json`, so
@@ -67,6 +75,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6775
`wrapKey`.
6876
- Fixed an error in the worker result path that threw when assigning to the
6977
read-only `DOMException.code` property.
78+
- `SubtleCrypto.generateKey` for RSA algorithms now honors the requested key
79+
usages (routing each usage to the public or private key it applies to)
80+
instead of forcing a fixed pair. Generating an `RSA-OAEP` key with
81+
`["wrapKey", "unwrapKey"]` now yields keys usable with `wrapKey`/`unwrapKey`.
82+
83+
### Removed
84+
85+
- Dead, unreachable `wrapKey.js` module (legacy JWE-style key wrapping that was
86+
never dispatched) and its orphaned JWK byte-serializer helper. The public
87+
`wrapKey`/`unwrapKey` continue to work via the standard
88+
export-then-encrypt / decrypt-then-import path.
7089

7190
## [1.6.0]
7291

@@ -100,7 +119,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
100119
is a breaking change for code using the pre-1.4 `onComplete`/`onError`
101120
calling conventions.
102121

103-
[Unreleased]: https://github.com/microsoft/MSR-JavaScript-Crypto/compare/v1.6.6...HEAD
122+
[1.7.0]: https://github.com/microsoft/MSR-JavaScript-Crypto/releases/tag/v1.7.0
104123
[1.6.0]: https://github.com/microsoft/MSR-JavaScript-Crypto/releases/tag/v1.6.0
105124
[1.5.0]: https://github.com/microsoft/MSR-JavaScript-Crypto/releases/tag/v1.5.0
106125
[1.4.0]: https://github.com/microsoft/MSR-JavaScript-Crypto/releases/tag/v1.4.0

0 commit comments

Comments
 (0)