Skip to content

Commit ff516a6

Browse files
authored
Cre: CLI 1.16.0 release + updates (#3805)
* version bump: cli 1.16.0 * rate limiting in confidential client update * omit cre.yaml from version control note * service quotas update
1 parent 52bc713 commit ff516a6

15 files changed

Lines changed: 381 additions & 137 deletions

File tree

public/changelog.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -919,6 +919,13 @@
919919
"title": "CCIP deprecated on Blast Mainnet",
920920
"topic": "CCIP"
921921
},
922+
{
923+
"category": "release",
924+
"date": "2026-05-22",
925+
"description": "CRE CLI version 1.16.0 is now available. This release adds ADI mainnet (`adi-mainnet`) support for local simulation and production deployment. The release also includes bug fixes for workflow deploy checks, non-interactive cron trigger simulation, and platform API reliability.\n\nUpdate your CLI by running `cre update` when prompted, or follow the [CLI Installation guide](https://docs.chain.link/cre/getting-started/cli-installation) for fresh installations.\n\n[See all changes on GitHub](https://github.com/smartcontractkit/cre-cli/compare/v1.15.0...v1.16.0)",
926+
"title": "CRE CLI v1.16.0 — ADI Mainnet Support",
927+
"topic": "CRE"
928+
},
922929
{
923930
"category": "release",
924931
"date": "2026-05-14",

src/config/versions/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,11 @@ export const VERSIONS = {
7777
},
7878
// CRE CLI Versions — update LATEST here for each new release
7979
"cre-cli": {
80-
LATEST: "v1.14.0",
81-
ALL: ["v1.14.0", "v1.13.0", "v1.12.0", "v1.11.0", "v1.10.0", "v1.9.0", "v1.8.0"] as const,
80+
LATEST: "v1.16.0",
81+
ALL: ["v1.16.0", "v1.15.0", "v1.14.0", "v1.13.0", "v1.12.0", "v1.11.0", "v1.10.0", "v1.9.0", "v1.8.0"] as const,
8282
RELEASE_DATES: {
83+
"v1.16.0": "2026-05-22T00:00:00Z",
84+
"v1.15.0": "2026-05-14T00:00:00Z",
8385
"v1.14.0": "2026-05-08T00:00:00Z",
8486
"v1.13.0": "2026-04-30T00:00:00Z",
8587
"v1.12.0": "2026-04-23T00:00:00Z",

src/content/cre/account/cli-login.mdx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: "Logging in with the CLI"
55
metadata:
66
description: "Learn how to log in to the CRE CLI: authenticate through your browser, complete 2FA verification, and start using CLI commands."
77
datePublished: "2025-11-04"
8-
lastModified: "2026-03-26"
8+
lastModified: "2026-05-22"
99
---
1010

1111
import { Aside, ClickToZoom } from "@components"
@@ -81,4 +81,9 @@ Login completed successfully
8181

8282
Your CLI session is authenticated and ready to use.
8383

84-
In the terminal, the CLI may show **“Fetching user context…”** while it downloads your organization’s tenant configuration from the platform. It then writes **`~/.cre/context.yaml`** (registry manifest: vault gateway URL, registries, secrets auth flows, and related fields). That file is separate from your credentials file (`cre.yaml`). For details and a sanitized example, see [Tenant context cache](/cre/reference/cli/authentication#tenant-context-cache).
84+
In the terminal, the CLI may show **“Fetching user context…”** while it downloads your organization’s tenant configuration from the platform. It then writes **`~/.cre/context.yaml`** (registry manifest: vault gateway URL, registries, secrets auth flows, and related fields). That file is separate from your credentials file (`~/.cre/cre.yaml`). For details and a sanitized example, see [Tenant context cache](/cre/reference/cli/authentication#tenant-context-cache).
85+
86+
{/* prettier-ignore */}
87+
<Aside type="caution" title="Do not commit cre.yaml">
88+
**`~/.cre/cre.yaml`** contains your session credentials. Keep it in `~/.cre/` on your local machine only—never commit it to version control or copy it into a project repository.
89+
</Aside>

src/content/cre/account/managing-auth.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: "Managing Authentication"
55
metadata:
66
description: "Manage your CRE CLI sessions: check if you're logged in, handle expired sessions, and securely log out when needed."
77
datePublished: "2025-11-04"
8-
lastModified: "2026-03-26"
8+
lastModified: "2026-05-22"
99
---
1010

1111
import { Aside } from "@components"
@@ -18,7 +18,7 @@ To authenticate your CLI with your CRE account, use the `cre login` command. Thi
1818

1919
For detailed login instructions, see the [Logging in with the CLI](/cre/account/cli-login) guide.
2020

21-
Browser login stores **`~/.cre/cre.yaml`** (credentials) and **`~/.cre/context.yaml`** (cached **tenant context**: registry manifest from the platform, including vault gateway URL and related settings). **`cre logout`** removes both. For a full description and a sample `context.yaml` shape, see [Tenant context cache](/cre/reference/cli/authentication#tenant-context-cache).
21+
Browser login stores **`~/.cre/cre.yaml`** (credentials) and **`~/.cre/context.yaml`** (cached **tenant context**: registry manifest from the platform, including vault gateway URL and related settings). **`cre logout`** removes both. Do not commit **`~/.cre/cre.yaml`** to version control. For a full description and a sample `context.yaml` shape, see [Tenant context cache](/cre/reference/cli/authentication#tenant-context-cache).
2222

2323
## API key authentication
2424

src/content/cre/guides/workflow/using-confidential-http-client/making-requests-go.mdx

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pageId: "guides-workflow-confidential-http-making-requests"
77
metadata:
88
description: "Make confidential HTTP requests in Go: learn to use enclave execution, secret injection, and optional response encryption in your workflows."
99
datePublished: "2026-02-10"
10-
lastModified: "2026-02-10"
10+
lastModified: "2026-05-22"
1111
---
1212

1313
import { Aside } from "@components"
@@ -170,6 +170,42 @@ Run the simulation:
170170
cre workflow simulate
171171
```
172172

173+
## Request timeout
174+
175+
The `Timeout` field on the inner `Request` object controls how long the enclave waits for the external API to respond before cancelling the call. It uses the [`google.protobuf.Duration`](https://protobuf.dev/reference/protobuf/google.protobuf/#duration) type.
176+
177+
**Default and limits:**
178+
179+
- **Default**: If you omit `Timeout`, a default of **5 seconds** is applied.
180+
- **Maximum**: **10 seconds**. Values above this limit will error.
181+
182+
If your API routinely takes longer than 5 seconds, set an explicit timeout so the request does not fail unexpectedly.
183+
184+
Use `durationpb.New()` with a `time.Duration` value on the `Request` field:
185+
186+
```go
187+
import (
188+
"time"
189+
190+
confhttp "github.com/smartcontractkit/cre-sdk-go/capabilities/networking/confidentialhttp"
191+
"google.golang.org/protobuf/types/known/durationpb"
192+
)
193+
194+
result, err := confHTTPClient.SendRequest(runtime, &confhttp.ConfidentialHTTPRequest{
195+
Request: &confhttp.HTTPRequest{
196+
Url: config.URL,
197+
Method: "GET",
198+
MultiHeaders: map[string]*confhttp.HeaderValues{
199+
"Authorization": {Values: []string{"Basic {{.myApiKey}}"}},
200+
},
201+
Timeout: durationpb.New(10 * time.Second),
202+
},
203+
VaultDonSecrets: []*confhttp.SecretIdentifier{
204+
{Key: "myApiKey", Owner: config.Owner},
205+
},
206+
}).Await()
207+
```
208+
173209
## Template syntax for secrets
174210

175211
Secrets are injected into request bodies and headers using Go template syntax: `{{.secretName}}`. The placeholder name must match the `Key` in your `VaultDonSecrets` list.

src/content/cre/guides/workflow/using-confidential-http-client/making-requests-ts.mdx

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pageId: "guides-workflow-confidential-http-making-requests"
77
metadata:
88
description: "Make confidential HTTP requests in TypeScript: learn to use enclave execution, secret injection, and optional response encryption in your workflows."
99
datePublished: "2026-02-10"
10-
lastModified: "2026-02-10"
10+
lastModified: "2026-05-22"
1111
---
1212

1313
import { Aside } from "@components"
@@ -136,6 +136,39 @@ Run the simulation:
136136
cre workflow simulate
137137
```
138138

139+
## Request timeout
140+
141+
The `timeout` field on the inner `request` object controls how long the enclave waits for the external API to respond before cancelling the call. It uses the [Protocol Buffers `Duration`](https://protobuf.dev/reference/protobuf/google.protobuf/#duration) type.
142+
143+
**Default and limits:**
144+
145+
- **Default**: If you omit `timeout`, a default of **5 seconds** is applied.
146+
- **Maximum**: **10 seconds**. Values above this limit will error.
147+
148+
If your API routinely takes longer than 5 seconds, set an explicit timeout so the request does not fail unexpectedly.
149+
150+
Import `Duration` from `@bufbuild/protobuf/wkt` and set `timeout` on the request:
151+
152+
```typescript
153+
import { Duration } from "@bufbuild/protobuf/wkt"
154+
155+
const response = confHTTPClient
156+
.sendRequest(runtime, {
157+
request: {
158+
url: runtime.config.url,
159+
method: "GET",
160+
multiHeaders: {
161+
Authorization: { values: ["Basic {{.myApiKey}}"] },
162+
},
163+
timeout: { seconds: BigInt(10), nanos: 0 } satisfies Duration,
164+
},
165+
vaultDonSecrets: [{ key: "myApiKey", owner: runtime.config.owner }],
166+
})
167+
.result()
168+
```
169+
170+
The JSON form is also accepted: `timeout: { seconds: "10", nanos: 0 }` (using `DurationJson`).
171+
139172
## Template syntax for secrets
140173

141174
Secrets are injected into request bodies and headers using Go template syntax: `{{.secretName}}`. The placeholder name must match the `key` in your `vaultDonSecrets` list.

src/content/cre/guides/workflow/using-evm-client/forwarder-directory-go.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pageId: "evm-forwarder-directory"
77
metadata:
88
description: "Find forwarder contract addresses for CRE workflows on supported EVM networks."
99
datePublished: "2025-11-04"
10-
lastModified: "2026-05-14"
10+
lastModified: "2026-05-22"
1111
---
1212

1313
import { Aside, CopyText } from "@components"
@@ -53,6 +53,7 @@ These `MockKeystoneForwarder` addresses are used when running `cre workflow simu
5353

5454
| Network | Chain Name | Mock Forwarder Address |
5555
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
56+
| <a href="https://explorer.adifoundation.ai/address/0x6Aa382fb8762E1232936478DD9DbC04F637028f1" target="_blank" rel="noopener noreferrer">ADI Mainnet</a> | <CopyText text="adi-mainnet" code/> | <CopyText text="0x6Aa382fb8762E1232936478DD9DbC04F637028f1" code/> |
5657
| <a href="https://arbiscan.io/address/0xd770499057619c9a76205fd4168161cf94abc532" target="_blank" rel="noopener noreferrer">Arbitrum One</a> | <CopyText text="ethereum-mainnet-arbitrum-1" code/> | <CopyText text="0xd770499057619c9a76205fd4168161cf94abc532" code/> |
5758
| <a href="https://snowscan.xyz/address/0xdc21e279934ff6721cadfdd112dafb3261f09a2c" target="_blank" rel="noopener noreferrer">Avalanche</a> | <CopyText text="avalanche-mainnet" code/> | <CopyText text="0xdc21e279934ff6721cadfdd112dafb3261f09a2c" code/> |
5859
| <a href="https://basescan.org/address/0x5e342a8438b4f5d39e72875fcee6f76b39cce548" target="_blank" rel="noopener noreferrer">Base</a> | <CopyText text="ethereum-mainnet-base-1" code/> | <CopyText text="0x5e342a8438b4f5d39e72875fcee6f76b39cce548" code/> |
@@ -117,6 +118,7 @@ These `KeystoneForwarder` addresses are used by deployed workflows. Use these ad
117118

118119
| Network | Chain Name | Forwarder Address |
119120
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
121+
| <a href="https://explorer.adifoundation.ai/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">ADI Mainnet</a> | <CopyText text="adi-mainnet" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
120122
| <a href="https://arbiscan.io/address/0xF8344CFd5c43616a4366C34E3EEE75af79a74482" target="_blank" rel="noopener noreferrer">Arbitrum One</a> | <CopyText text="ethereum-mainnet-arbitrum-1" code/> | <CopyText text="0xF8344CFd5c43616a4366C34E3EEE75af79a74482" code/> |
121123
| <a href="https://snowscan.xyz/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">Avalanche</a> | <CopyText text="avalanche-mainnet" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
122124
| <a href="https://basescan.org/address/0xF8344CFd5c43616a4366C34E3EEE75af79a74482" target="_blank" rel="noopener noreferrer">Base</a> | <CopyText text="ethereum-mainnet-base-1" code/> | <CopyText text="0xF8344CFd5c43616a4366C34E3EEE75af79a74482" code/> |
@@ -146,6 +148,7 @@ These `KeystoneForwarder` addresses are used by deployed workflows. Use these ad
146148
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- | ------------------------------------------------------------------ |
147149
| <a href="https://explorer.testnet.adifoundation.ai/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">ADI Testnet</a> | <CopyText text="adi-testnet" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
148150
| <a href="https://explorer.curtis.apechain.com/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">Apechain Curtis</a> | <CopyText text="apechain-testnet-curtis" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
151+
| <a href="https://testnet.arcscan.app/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">Arc Testnet</a> | <CopyText text="arc-testnet" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
149152
| <a href="https://sepolia.arbiscan.io/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">Arbitrum Sepolia</a> | <CopyText text="ethereum-testnet-sepolia-arbitrum-1" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
150153
| <a href="https://testnet.snowscan.xyz/address/0x76c9cf548b4179F8901cda1f8623568b58215E62" target="_blank" rel="noopener noreferrer">Avalanche Fuji</a> | <CopyText text="avalanche-testnet-fuji" code/> | <CopyText text="0x76c9cf548b4179F8901cda1f8623568b58215E62" code/> |
151154
| <a href="https://sepolia.basescan.org/address/0xF8344CFd5c43616a4366C34E3EEE75af79a74482" target="_blank" rel="noopener noreferrer">Base Sepolia</a> | <CopyText text="ethereum-testnet-sepolia-base-1" code/> | <CopyText text="0xF8344CFd5c43616a4366C34E3EEE75af79a74482" code/> |

0 commit comments

Comments
 (0)