Skip to content

[pull] master from aws:master #574

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
c1e61d2
chore: move CI to GHA CodeBuild Runners (#1422)
josecorella Jun 27, 2024
84a7034
fix: Add CVE-2023-46809 option to integration node (#1424)
seebees Jul 8, 2024
35024fa
chore: update package-lock.json (#1425)
seebees Jul 22, 2024
590d3e2
chore(CI): add coverage browser tests to CI (#1426)
josecorella Jul 29, 2024
25f9610
chore: Fix credentials.expiration (#1434)
seebees Jul 29, 2024
89a2b68
chore: Fix credentials.expiration (#1435)
seebees Jul 30, 2024
66882b9
v4.0.1
Jul 30, 2024
1617a06
chore: bump express from 4.18.1 to 4.19.2 in /stream_mem_stress_test …
dependabot[bot] Aug 29, 2024
fef6a6e
chore: bump fast-xml-parser and @aws-sdk/credential-provider-node (#1…
dependabot[bot] Aug 29, 2024
3708c3e
chore: bump axios from 1.7.2 to 1.7.5 (#1459)
dependabot[bot] Aug 29, 2024
e248a96
chore: upgrade packages to fix dependency vulnerabilities (#1462)
rishav-karanjit Aug 29, 2024
b71e9d6
chore: Improve decrypt performance for large payloads (#1501)
lucasmcdonald3 Oct 17, 2024
7e9e3dd
v4.0.2
Oct 21, 2024
88b919c
chore: bump cross-spawn (#1523)
dependabot[bot] Nov 23, 2024
43dcb16
feat: Adding the hierarchical keyring (#1537)
seebees Jan 15, 2025
4bf8add
chore: update iam permissions for static tv (#1554)
josecorella Jan 16, 2025
886eba3
v4.1.0
Jan 16, 2025
dee213b
fix: include uuid as a dependency in material-management (#1564)
josecorella Feb 3, 2025
95f0fa1
feat: integration-node can produce decrypt manifests (#1580)
seebees Feb 27, 2025
2577a21
v4.2.0
Feb 27, 2025
b80cad1
fix: add serializationOptions flag for AAD UTF8 sorting (#1581)
josecorella Apr 9, 2025
c136456
v4.2.1
Apr 10, 2025
04eb082
chore: Update package versions
seebees May 7, 2025
ef26b39
feat!: Remove support for NodeJs v16
seebees May 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ module.exports = {
'@typescript-eslint/ban-ts-comment': ['error', { 'ts-ignore': false }],
// This rule fights with Prettier and no-semi
'@typescript-eslint/no-extra-semi': 'off',
// Added in later versions of @typescript-eslint
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unused-vars': 'off',
},
// This is a good rule,
// but in many tests,
Expand Down
67 changes: 67 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# This workflow performs tests in JavaScript.
name: ESDK JavaScript CI Tests

on: [pull_request, workflow_call]

jobs:
CI:
strategy:
matrix:
node: [18.x, 20.x, 22.x, latest]
fail-fast: false
runs-on: codebuild-AWS-ESDK-JS-Release-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-5.0-large
permissions:
id-token: write
contents: read
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: ${{matrix.node}}
- name: Configure AWS Credentials for Tests
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-west-2
role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-MPL-Dafny-Role-us-west-2
role-session-name: JavaScriptTests
- name: Test Coverage Node ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
run: |
npm ci
npm run build
npm run coverage-node
- name: Test Coverage Browser ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
run: |
npm run coverage-browser
- name: Test compliance
env:
NODE_OPTIONS: "--max-old-space-size=4096"
run: |
npm run lint
npm run test_conditions
- name: Run Test Vectors Node ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
NPM_CONFIG_UNSAFE_PERM: true
PUBLISH_LOCAL: true
run: |
npm run verdaccio-publish
npm run verdaccio-node-decrypt
npm run verdaccio-node-encrypt
- name: Run Test Vectors Browser node ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
NPM_CONFIG_UNSAFE_PERM: true
PUBLISH_LOCAL: true
run: |
npm run verdaccio-publish
npm run verdaccio-browser-decrypt
npm run verdaccio-browser-encrypt
12 changes: 12 additions & 0 deletions .github/workflows/daily_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This workflow runs every weekday at 15:00 UTC (8AM PDT)
name: Daily CI

on:
schedule:
- cron: "00 15 * * 1-5"

jobs:
DAILY_CI:
# Don't run the cron builds on forks
if: github.event_name != 'schedule' || github.repository_owner == 'aws'
uses: ./.github/workflows/ci.yml
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,5 @@ package.json.decrypt
# they track the package.json version
/modules/kms-keyring-browser/src/version.ts
/modules/kms-keyring-node/src/version.ts
/modules/branch-keystore-node/src/version.ts
/modules/integration-node/src/version.ts
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
[submodule "aws-encryption-sdk-specification"]
path = aws-encryption-sdk-specification
url = https://github.com/awslabs/aws-encryption-sdk-specification.git
branch = master
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,39 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [4.2.1](https://github.com/awslabs/aws-encryption-sdk-javascript/compare/v4.2.0...v4.2.1) (2025-04-10)

### Bug Fixes

- add serializationOptions flag for AAD UTF8 sorting ([#1581](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1581)) ([b80cad1](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/b80cad14df361b4384aeed5753efb57c69d77377))

# [4.2.0](https://github.com/awslabs/aws-encryption-sdk-javascript/compare/v4.1.0...v4.2.0) (2025-02-27)

### Bug Fixes

- include uuid as a dependency in material-management ([#1564](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1564)) ([dee213b](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/dee213bc91dd0cde8dd177da52b739e10129f514))

### Features

- integration-node can produce decrypt manifests ([#1580](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1580)) ([95f0fa1](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/95f0fa10b7d94ccc142fc2e89b2ffa49620285c9))

# [4.1.0](https://github.com/awslabs/aws-encryption-sdk-javascript/compare/v4.0.2...v4.1.0) (2025-01-16)

### Features

- Adding the hierarchical keyring ([#1537](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1537)) ([43dcb16](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/43dcb166d5ac76d744ea283808006f65915b9730))

## [4.0.2](https://github.com/awslabs/aws-encryption-sdk-javascript/compare/v4.0.1...v4.0.2) (2024-10-21)

**Note:** Version bump only for package aws-encryption-sdk-javascript

## [4.0.1](https://github.com/awslabs/aws-encryption-sdk-javascript/compare/v4.0.0...v4.0.1) (2024-07-30)

### Bug Fixes

- Add CVE-2023-46809 option to integration node ([#1424](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1424)) ([84a7034](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/84a703440aa7313ad0c779e50b7c052aa8dd5e7b))
- **CI:** npx_verdaccio ([#1190](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1190)) ([1051f19](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/1051f19578ba54bc476a30dedf5779576cf46d9f))

# [4.0.0](https://github.com/awslabs/aws-encryption-sdk-javascript/compare/v3.2.2...v4.0.0) (2023-07-17)

- feat!: Remove AWS SDK V2 Dependency (#1180) ([1d74248](https://github.com/awslabs/aws-encryption-sdk-javascript/commit/1d742489b436748a656ecc2abce00e99353d1d62)), closes [#1180](https://github.com/awslabs/aws-encryption-sdk-javascript/issues/1180)
Expand Down
2 changes: 1 addition & 1 deletion aws-encryption-sdk-specification
9 changes: 8 additions & 1 deletion codebuild/nodejs20.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@ env:
NODE_OPTIONS: "--max-old-space-size=4096"

phases:
install:
install:
commands:
- TMP_ROLE=$(aws sts assume-role --role-arn "arn:aws:iam::370957321024:role/GitHub-CI-MPL-Dafny-Role-us-west-2" --role-session-name "CB-TestVectorResources")
- export TMP_ROLE
- export AWS_ACCESS_KEY_ID=$(echo "${TMP_ROLE}" | jq -r '.Credentials.AccessKeyId')
- export AWS_SECRET_ACCESS_KEY=$(echo "${TMP_ROLE}" | jq -r '.Credentials.SecretAccessKey')
- export AWS_SESSION_TOKEN=$(echo "${TMP_ROLE}" | jq -r '.Credentials.SessionToken')
- aws sts get-caller-identity

- n 20
- node --version ; npm --version
- npm ci --unsafe-perm
Expand Down
4 changes: 3 additions & 1 deletion karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ function createCredentialPreprocessor() {
// This will affect the generated (ES5) JS
const regionCode = `var defaultRegion = '${region}';`
const credentialsCode = `var credentials = ${JSON.stringify(credentials)};`
// See: https://github.com/aws/aws-sdk-js-v3/issues/5890
const expirationNeedsToBeDate = `credentials.expiration = new Date(credentials.expiration);`
const isBrowser = `var isBrowser = true;`
const contents = content.split('\n')
let idx = -1
Expand All @@ -137,7 +139,7 @@ function createCredentialPreprocessor() {
break
}
}
contents.splice(idx + 1, 0, regionCode, credentialsCode, isBrowser)
contents.splice(idx + 1, 0, regionCode, credentialsCode, expirationNeedsToBeDate, isBrowser)
done(contents.join('\n'))
}
}
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"packages": ["modules/*"],
"version": "4.0.0",
"version": "4.2.1",
"command": {
"bootstrap": {
"nohoist": ["typedoc"]
Expand Down
12 changes: 12 additions & 0 deletions modules/branch-keystore-node/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

module.exports = {
parserOptions: {
// There is an issue with @typescript-eslint/parser performance.
// It scales with the number of projects
// see https://github.com/typescript-eslint/typescript-eslint/issues/1192#issuecomment-596741806
project: '../../tsconfig.lint.json',
tsconfigRootDir: __dirname,
}
}
3 changes: 3 additions & 0 deletions modules/branch-keystore-node/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/node_modules/
/build/
/.nyc_output
20 changes: 20 additions & 0 deletions modules/branch-keystore-node/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [4.2.1](https://github.com/aws/aws-encryption-sdk-javascript/compare/v4.2.0...v4.2.1) (2025-04-10)

### Bug Fixes

- add serializationOptions flag for AAD UTF8 sorting ([#1581](https://github.com/aws/aws-encryption-sdk-javascript/issues/1581)) ([b80cad1](https://github.com/aws/aws-encryption-sdk-javascript/commit/b80cad14df361b4384aeed5753efb57c69d77377))

# [4.2.0](https://github.com/aws/aws-encryption-sdk-javascript/compare/v4.1.0...v4.2.0) (2025-02-27)

**Note:** Version bump only for package @aws-crypto/branch-keystore-node

# [4.1.0](https://github.com/aws/aws-encryption-sdk-javascript/compare/v4.0.2...v4.1.0) (2025-01-16)

### Features

- Adding the hierarchical keyring ([#1537](https://github.com/aws/aws-encryption-sdk-javascript/issues/1537)) ([43dcb16](https://github.com/aws/aws-encryption-sdk-javascript/commit/43dcb166d5ac76d744ea283808006f65915b9730))
Loading