Minor Changes
-
#23824
7996394- #added Offchain capabilities registry:cresettingsjobs acceptconfig_type = "capabilities_registry"in theirsettingsTOML, with the versionedOffchainCapabilitiesRegistryproto-JSON payload underoffchain_config(domain,env,version, and per-DONcapabilitieskeyed by on-chain DON name; onlyspec_configis supported). Unknown payload fields are rejected and versions must increase. With[Capabilities.Local] UseOffchainRegistry = true(defaultfalse), each capability is launched with the offchainspec_configfor its (DON, capability) only; the on-chainspec_configis ignored (a capability with no offchain entry gets an empty config), and local capabilities are not reconciled until a payload is applied. Offchain-only updates reconfigure affected capabilities. At most onecapabilities_registryjob may be active; deleting it keeps the last payload applied. Emitsplatform_cap_config_applied_version,platform_cap_config_validation_errors_totalandplatform_offchain_registry_divergences. -
#23913
11943e5- #added Offchain capabilities registrymethod_configscutover: with[Capabilities.Local] UseOffchainRegistry = true, each capability's Don2Donmethod_configsreplace the complete on-chain method map when that capability is present offchain (omitted methods are removed; capabilities/DONs absent offchain are unchanged). Payloads carryingmethod_configsare validated at ingestion, and the cross-validationmismatchdivergence now also covers method_configs changes. Gate off (default) or no payload: behavior unchanged.
#fixed Fixed a lost-wakeup race in the workflow DON notifier (donNotifier.Subscribe): aNotifyDonSetarriving between a subscriber's initial value check and its channel registration was missed entirely, leaving the subscriber (workflow engines, shard failover manager, orWaitForDoncallers) blocked indefinitely. The subscriber channel is now registered before the current value is read, so a concurrent notify is either delivered by the broadcast or observed by the read.
Patch Changes
-
#23958
eade466- #bugfix Standard capabilities and registry-launched OCR2 plugins (DON Time) launched with a Capabilities Registry OCR config now match multichain signers covering several chain families (e.g. EVM + Solana + Aptos), signing with every matched family's OCR key bundle and using the transmitter paired with the node's signer. -
#23916
8555f50- #bugfix wrap duplicate-key Import errors with ErrKeyExists for the Solana, Stellar, Starknet, Sui, TON and Tron keystores, so nodes that import those keys from config can restart against a persisted keystore -
#23996
4251278- #bugfix Offchain capabilities registry: a workflow DON that is also a capability DON no longer loses its offchainspec_configas an ambiguous DON name. -
#24011
a3110c7- #bugfix Sharded workflow DON failover now replays cached trigger events with the workflow's CRE tenant on the context, so replays no longer fail withmissing tenant for scope: workflow.
Container Images
Core Image
DockerHub:
docker pull docker.io/smartcontract/chainlink:2.70.0
ECR:
docker pull public.ecr.aws/chainlink/chainlink:2.70.0
Digest: sha256:c9c36d87c3598489d64b48798b24d95e24230eb4e5a74909df5bb543fde63756
Verification
Verify the image signatures using cosign:
Core Image:
DockerHub:
cosign verify docker.io/smartcontract/chainlink@sha256:c9c36d87c3598489d64b48798b24d95e24230eb4e5a74909df5bb543fde63756 \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/smartcontractkit/.*$' \
--certificate-github-workflow-repository smartcontractkit/chainlinkECR:
cosign verify public.ecr.aws/chainlink/chainlink@sha256:c9c36d87c3598489d64b48798b24d95e24230eb4e5a74909df5bb543fde63756 \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/smartcontractkit/.*$' \
--certificate-github-workflow-repository smartcontractkit/chainlink