Skip to content

Commit da7b7aa

Browse files
authored
v7.0.0 - Merge pull request #1490 from decentralized-identity/next
## v7.0.0 release ## Added: * [BREAKING] `CredentialPlugin` is now extensible with external credential providers (#1395 #1488) * did-provider-ethr now supports `signOnly` operations (#1389) thanks to @radleylewis * allow user defined `kid` on `keyManagerCreate` (#1426) thanks to @0x62 * improve key creation/import options when creating identifiers (#1423) thanks to @0x62 * improve autocomplete for some string-union types (#1464 #1488) * add `localOnly` flag to DIDManager methods (#1452 #1491) thanks to @arwykchorres * add `bbs` to list of known credential formats (#1383) thanks to @veromassera ## Fixed: * increase typeORM performance (#1400) thanks to @S3bb1 * remove the isomorphic-webcrypto dependency from `@veramo/did-comm` (#1401) * publish schema for the credential-status plugin (#1427) thanks to @0x62 * fix inconsistent DID parameter handling (#1466) * validate sorted queries in data store (#1482) thanks to @rekter0 for reporting * handle `kid` param when creating or importing keys (#1492) ## BREAKING CHANGE: The CredentialPlugin constructor now takes an array of `ICredentialProvider` (see #1395 #1488). This makes the CredentialPlugin extensible and able to use external credential providers and reduces coupling between credential plugin packages. ## Quality of life improvements: * tests now run offline (#1465) * hardcoded GH action versions in CI workflows * multiple dependencies upgraded
2 parents 7c0c8bd + 4c52549 commit da7b7aa

175 files changed

Lines changed: 13579 additions & 16076 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-and-test-on-pr.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ jobs:
66
build:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v5
9+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1010
with:
1111
fetch-depth: 0
12-
- uses: pnpm/action-setup@v3
12+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
1313
with:
1414
version: 10
1515
- name: 'Setup Node.js with pnpm cache'
16-
uses: actions/setup-node@v4
16+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
1717
with:
1818
node-version: 20
1919
cache: 'pnpm'
2020

2121
- run: pnpm install
2222
- run: pnpm build
2323
- name: 'Save build output'
24-
uses: actions/cache/save@v4
24+
uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
2525
with:
2626
path: '${{ github.workspace }}'
2727
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
@@ -42,18 +42,18 @@ jobs:
4242
- 5432:5432
4343
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
4444
steps:
45-
- uses: pnpm/action-setup@v3
45+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
4646
with:
4747
version: 10
4848
- name: 'Restore build output'
49-
uses: actions/cache/restore@v4
49+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
5050
with:
5151
path: '${{ github.workspace }}'
5252
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
5353
restore-keys: '${{ runner.os }}-build-${{ github.sha }}'
5454
fail-on-cache-miss: true
5555
- name: 'Setup Node.js with pnpm cache'
56-
uses: actions/setup-node@v4
56+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
5757
with:
5858
node-version: 20
5959
cache: 'pnpm'
@@ -68,7 +68,7 @@ jobs:
6868
POSTGRES_PORT: 5432
6969
run: pnpm test:integration --shard=${{ matrix.shard }}/${{ strategy.job-total }}
7070
- run: mv coverage/coverage-final.json coverage/${{matrix.shard}}.json
71-
- uses: actions/upload-artifact@v4
71+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
7272
with:
7373
name: coverage-artifacts-${{matrix.shard}}
7474
path: coverage/
@@ -77,17 +77,17 @@ jobs:
7777
runs-on: ubuntu-latest
7878
needs: [test-integration]
7979
steps:
80-
- uses: actions/checkout@v5
80+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
8181
with:
8282
fetch-depth: 0
83-
- uses: actions/download-artifact@v5
83+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
8484
with:
8585
pattern: coverage-artifacts-*
8686
merge-multiple: true
8787
path: coverage
8888
- name: Merge Code Coverage
8989
run: npx nyc merge coverage/ coverage/coverage-final.json
90-
- uses: codecov/codecov-action@v4
90+
- uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
9191
with:
9292
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos but sometimes fails without :|
9393
fail_ci_if_error: true
@@ -96,18 +96,18 @@ jobs:
9696
needs: build
9797
runs-on: ubuntu-latest
9898
steps:
99-
- uses: pnpm/action-setup@v3
99+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
100100
with:
101101
version: 10
102102
- name: 'Restore build output'
103-
uses: actions/cache/restore@v4
103+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
104104
with:
105105
path: '${{ github.workspace }}'
106106
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
107107
restore-keys: '${{ runner.os }}-build-${{ github.sha }}'
108108
fail-on-cache-miss: true
109109
- name: 'Setup Node.js with pnpm cache'
110-
uses: actions/setup-node@v4
110+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
111111
with:
112112
node-version: 20
113113
cache: 'pnpm'
@@ -120,18 +120,18 @@ jobs:
120120
needs: build
121121
runs-on: ubuntu-latest
122122
steps:
123-
- uses: pnpm/action-setup@v3
123+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
124124
with:
125125
version: 10
126126
- name: 'Restore build output'
127-
uses: actions/cache/restore@v4
127+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
128128
with:
129129
path: '${{ github.workspace }}'
130130
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
131131
restore-keys: '${{ runner.os }}-build-${{ github.sha }}'
132132
fail-on-cache-miss: true
133133
- name: 'Setup Node.js with pnpm cache'
134-
uses: actions/setup-node@v4
134+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
135135
with:
136136
node-version: 20
137137
cache: 'pnpm'

.github/workflows/build-test-publish-on-push.yml

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
name: build-test-publish-on-push-cached
2+
permissions:
3+
contents: read
24
on:
35
workflow_dispatch:
46
push:
@@ -11,23 +13,23 @@ jobs:
1113
build:
1214
runs-on: ubuntu-latest
1315
steps:
14-
- uses: actions/checkout@v5
16+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1517
with:
1618
fetch-depth: 0
1719
persist-credentials: false
18-
- uses: pnpm/action-setup@v3
20+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
1921
with:
2022
version: 10
2123
- name: 'Setup Node.js with pnpm cache'
22-
uses: actions/setup-node@v4
24+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
2325
with:
2426
node-version: 20
2527
cache: 'pnpm'
2628

2729
- run: pnpm install
2830
- run: pnpm build
2931
- name: 'Save build output'
30-
uses: actions/cache/save@v4
32+
uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
3133
with:
3234
path: '${{ github.workspace }}'
3335
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
@@ -37,7 +39,7 @@ jobs:
3739
runs-on: ubuntu-latest
3840
strategy:
3941
matrix:
40-
shard: [1, 2, 3, 4, 5]
42+
shard: [ 1, 2, 3, 4, 5 ]
4143
services:
4244
postgres:
4345
image: postgres:16.0
@@ -48,18 +50,18 @@ jobs:
4850
- 5432:5432
4951
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
5052
steps:
51-
- uses: pnpm/action-setup@v3
53+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
5254
with:
5355
version: 10
5456
- name: 'Restore build output'
55-
uses: actions/cache/restore@v4
57+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
5658
with:
5759
path: '${{ github.workspace }}'
5860
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
5961
restore-keys: '${{ runner.os }}-build-${{ github.sha }}'
6062
fail-on-cache-miss: true
6163
- name: 'Setup Node.js with pnpm cache'
62-
uses: actions/setup-node@v4
64+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
6365
with:
6466
node-version: 20
6567
cache: 'pnpm'
@@ -74,27 +76,27 @@ jobs:
7476
POSTGRES_PORT: 5432
7577
run: pnpm test:integration --shard=${{ matrix.shard }}/${{ strategy.job-total }}
7678
- run: mv coverage/coverage-final.json coverage/${{matrix.shard}}.json
77-
- uses: actions/upload-artifact@v4
79+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
7880
with:
7981
name: coverage-artifacts-${{ matrix.shard }}
8082
path: coverage/
8183

8284
report-coverage:
8385
runs-on: ubuntu-latest
84-
needs: [test-integration]
86+
needs: [ test-integration ]
8587
steps:
86-
- uses: actions/checkout@v5
88+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
8789
with:
8890
fetch-depth: 0
8991
persist-credentials: false
90-
- uses: actions/download-artifact@v5
92+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
9193
with:
9294
pattern: coverage-artifacts-*
9395
merge-multiple: true
9496
path: coverage
9597
- name: Merge Code Coverage
9698
run: npx nyc merge coverage/ coverage/coverage-final.json
97-
- uses: codecov/codecov-action@v4
99+
- uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
98100
with:
99101
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos but sometimes fails without :|
100102
fail_ci_if_error: false
@@ -103,18 +105,18 @@ jobs:
103105
needs: build
104106
runs-on: ubuntu-latest
105107
steps:
106-
- uses: pnpm/action-setup@v3
108+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
107109
with:
108110
version: 10
109111
- name: 'Restore build output'
110-
uses: actions/cache/restore@v4
112+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
111113
with:
112114
path: '${{ github.workspace }}'
113115
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
114116
restore-keys: '${{ runner.os }}-build-${{ github.sha }}'
115117
fail-on-cache-miss: true
116118
- name: 'Setup Node.js with pnpm cache'
117-
uses: actions/setup-node@v4
119+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
118120
with:
119121
node-version: 20
120122
cache: 'pnpm'
@@ -127,29 +129,31 @@ jobs:
127129
needs: build
128130
runs-on: ubuntu-latest
129131
steps:
130-
- uses: pnpm/action-setup@v3
132+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
131133
with:
132134
version: 10
133135
- name: 'Restore build output'
134-
uses: actions/cache/restore@v4
136+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
135137
with:
136138
path: '${{ github.workspace }}'
137139
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'
138140
restore-keys: '${{ runner.os }}-build-${{ github.sha }}'
139141
fail-on-cache-miss: true
140142
- name: 'Setup Node.js with pnpm cache'
141-
uses: actions/setup-node@v4
143+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
142144
with:
143145
node-version: 20
144146
cache: 'pnpm'
145147
- run: pnpm run lint
146148
- run: pnpm run docs
147149

148150
publish:
151+
permissions:
152+
contents: write
149153
needs:
150154
- build
151-
# - test-integration
152-
# - test-browser
155+
- test-integration
156+
- test-browser
153157
- lint-and-docs
154158
env:
155159
NPM_TOKEN: ${{secrets.NPM_TOKEN}}
@@ -160,21 +164,21 @@ jobs:
160164
GH_EMAIL: ${{secrets.GH_EMAIL}}
161165
runs-on: ubuntu-latest
162166
steps:
163-
- uses: actions/checkout@v5
167+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
164168
with:
165169
fetch-depth: 0
166170
token: ${{secrets.GH_TOKEN}}
167-
- uses: pnpm/action-setup@v3
171+
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
168172
with:
169173
version: 10
170174
- name: 'Setup Node.js with pnpm cache'
171-
uses: actions/setup-node@v4
175+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
172176
with:
173177
node-version: 20
174178
cache: 'pnpm'
175179

176180
- name: 'Restore build output'
177-
uses: actions/cache/restore@v4
181+
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
178182
with:
179183
path: '${{ github.workspace }}'
180184
key: '${{ runner.os }}-build-${{ github.sha }}-${{ github.run_id }}'

.github/workflows/scorecard.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# This workflow uses actions that are not certified by GitHub. They are provided
2+
# by a third-party and are governed by separate terms of service, privacy
3+
# policy, and support documentation.
4+
5+
name: Scorecard supply-chain security
6+
on:
7+
# For Branch-Protection check. Only the default branch is supported. See
8+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
9+
branch_protection_rule:
10+
# To guarantee Maintained check is occasionally updated. See
11+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
12+
schedule:
13+
- cron: '20 9 * * 5'
14+
push:
15+
branches: [ "next" ]
16+
17+
# Declare default permissions as read only.
18+
permissions: read-all
19+
20+
jobs:
21+
analysis:
22+
name: Scorecard analysis
23+
runs-on: ubuntu-latest
24+
# `publish_results: true` only works when run from the default branch. conditional can be removed if disabled.
25+
if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request'
26+
permissions:
27+
# Needed to upload the results to code-scanning dashboard.
28+
security-events: write
29+
# Needed to publish results and get a badge (see publish_results below).
30+
id-token: write
31+
# Uncomment the permissions below if installing in a private repository.
32+
# contents: read
33+
# actions: read
34+
35+
steps:
36+
- name: "Checkout code"
37+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
38+
with:
39+
persist-credentials: false
40+
41+
- name: "Run analysis"
42+
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
43+
with:
44+
results_file: results.sarif
45+
results_format: sarif
46+
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
47+
# - you want to enable the Branch-Protection check on a *public* repository, or
48+
# - you are installing Scorecard on a *private* repository
49+
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
50+
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
51+
52+
# Public repositories:
53+
# - Publish results to OpenSSF REST API for easy access by consumers
54+
# - Allows the repository to include the Scorecard badge.
55+
# - See https://github.com/ossf/scorecard-action#publishing-results.
56+
# For private repositories:
57+
# - `publish_results` will always be set to `false`, regardless
58+
# of the value entered here.
59+
publish_results: true
60+
61+
# (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore
62+
# file_mode: git
63+
64+
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
65+
# format to the repository Actions tab.
66+
- name: "Upload artifact"
67+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
68+
with:
69+
name: SARIF file
70+
path: results.sarif
71+
retention-days: 5
72+
73+
# Upload the results to GitHub's code scanning dashboard (optional).
74+
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
75+
- name: "Upload to code-scanning"
76+
uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
77+
with:
78+
sarif_file: results.sarif

0 commit comments

Comments
 (0)