Skip to content

Releases: smartcontractkit/chainlink

v2.32.0

14 Jan 19:00
Immutable release. Only release title and notes can be modified.
7e833a4

Choose a tag to compare

Minor Changes

Patch Changes

  • #20469 769837a - #added OCR2 config option SampleTelemetry which enables telemetry sampling.

  • #20531 8f17c1b - #internal disable 3 upgrade e2e tests due to flakiness

  • #20469 769837a - #internal #added Sampling of LLO telemetry.

  • #20469 769837a - #updated bumped chainlink-data-streams version

  • #20579 e3914e7 - #bugfix Upgrades plugin: chainlink-data-streams so that calculated streams do not generate wrong timestamps


Container Images

DockerHub

docker pull docker.io/smartcontract/chainlink:2.32.0

Amazon ECR Public

docker pull public.ecr.aws/chainlink/chainlink:2.32.0

Image Digest

sha256:b7e8fc4fe960c4e5ef6f1a4a31b154e006699bbf4709225ab4b601d782379662

Verification

Verify the image signature using cosign:

cosign verify docker.io/smartcontract/chainlink@sha256:b7e8fc4fe960c4e5ef6f1a4a31b154e006699bbf4709225ab4b601d782379662 \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity-regexp '^https://github.com/smartcontractkit/.*$' \
  --certificate-github-workflow-repository smartcontractkit/chainlink

🔗 Full Changelog

View full changelog

📊 Diff from Previous Release

View changes from v2.31.0

v2.31.0

11 Dec 20:02
Immutable release. Only release title and notes can be modified.
v2.31.0
43c8eb2

Choose a tag to compare

📝 Changelog

Minor Changes

  • #19627 - #internal system-tests improvement
  • #19921 - #added confidential-http to proposable job specs in chainlink/deployment
  • #20510 - #added functionality to set deployer fee token on tempo
  • #19874 - #internal LLO Observation loop
  • #19915 - #updated operator ui version
  • #19862 - #bugfixed DKGRecipient keystore error for imports in shell_cmd.go
  • #20040 - #added Mix and Max pipeline tasks
  • #20495 - Updated dependency to include TXMv2 changes #internal
  • #19459 - #added capability API controller
  • #19628 - #internal Move CREv2 system-tests to one suite
  • #19654 - #internal Add evm.getTransactionReceipts negative system tests
  • #19723 - #internal Optimize beholder validator in system tests (part 2)
  • #19553 - #internal Add flaky test detector and auto-quarantine to regression smoke-tests
  • #19713 - #internal Add consensus negative system tests
  • #19661 - #internal Bump cre-sdk-go in CREv2 workflows and system-tests
  • #19531 - #internal Enable CREv2 system tests with v2 contracts and registries
  • #19723 - #internal Update PoR workflow to use BalanceReader bindings
  • #19760 - Bump chainlink-evm dependency #internal
  • #19640 - #internal Add topology to smoke test names
  • #19685 - #internal Add evm.WriteReport negative tests
  • #19578 - #internal Parallelize CRE regression system-tests
  • #19657 - #internal Add negative tests for evm.HeaderByNumber
  • #19651 - #added coalesce pipeline task
  • #19708 - #internal Enable don2don topology for system tests

Patch Changes

  • #20312 - #added e2e test for managed token pool for Sui
  • #20255 - Improved Solana LogPoller retry mechanism #internal
  • #19987 - #updated chain selectors to v1.0.75
  • #19845 - #internal changed vault request digest to jsonrpc2 Digest method
  • #20243 - #bugfix check http method
  • #20449 - #updated chain selector to version v1.0.85
  • #19870 - #updated Add ChIP ingress adapter for OTI telemetry
  • #20175 - #added batching params for Beholder logs streaming
  • #20001 - #bugfix block number in fake evm cap
  • #19989 - #internal expose proposed jobs as NOP view
  • #19784 - #internal Use new WR method getActiveAllowlistedRequestsReverse
  • #20148 - #internal add human readable gateway spec name
  • #20333 - #added more managed token pool e2e tests
  • #20313 - #updated chain selectors to v1.0.82
  • #20282 - #internal changeset
  • #19945 - #updated chainlink-tron relayer
  • #20077 - #bugfix fix Warnw log usage
  • #19878 - #updated chainlink-tron
  • #19775 - #updated Telemetry LogLevel config option
  • #20386 - #changed Forward RelayConfig gasLimit to transmitter
  • #20059 - #internal bugfix update local node state on registry fetch
  • #19947 - #added beholder grpc metrics via chainlink-common bump
  • #20156 - #internal bump chainlink-sui and update e2e tests
  • #20293 - #updated chain selectors to v1.0.81
  • #20259 - #bugfix only log local node state changes at debug level
  • #20079 - #internal add workflow execution start metric
  • #19983 - #updated chainlink-common
  • #20019 - #bugfix atomic core swapper init order
  • #20520 - #bugfix LLO metric now observes transmit latency correctly
  • #19089 - #added OTel logs streaming and logger integration
  • #20112 - #bugfix fix nil block number in fake evm
  • #19829 - #internal remove panic usage
  • #19846 - #updated chain selectors
  • #20041 - #bugfix bump chainlink-aptos to include Gas Limit Overhead support
  • #20131 - #added beholder logs streaming test
  • #20474 - #updated ctf cldf and chainlink-sui deps
  • #20063 - #updated Wire up CHIP ingress client in telemetry manager
  • #19848 - #added Sui keystore and relayer plugin integration
  • #20407 - #updated chain selector to v1.0.84
  • #19404 - #changed TriggerSubscriber supports dynamic config updates
  • #19320 - #updated LLO plugin perf and telemetry
  • #19548 - #added versionTag build attribute
  • #19610 - #updated chain selectors
  • #19475 - #internal quarantine flaky tests
  • #19710 - #updated CCIP changesets to deploy v1.5.1 TokenPoolFactory
  • #19667 - #added Workflow Registry Chain Selector to CREv2 registry events

🔗 Full Changelog

View full changelog

v2.30.1

19 Nov 22:09
Immutable release. Only release title and notes can be modified.
v2.30.1
b12abaf

Choose a tag to compare

📝 Changelog

2.30.1

Patch Changes

  • Metadata-only hotfix release to restore GitHub Release publishing capability after the v2.30.0 Release object became immutable

2.30.0

Minor Changes

Patch Changes

  • #19460 4f1f2d9 - #fix Workflow Registry Syncer V1 handles delete events first and cleans orphaned pending events
  • #19519 7bb659b - #internal #bugfix Cancels sync routines if contract reader fails to construct

🔗 Full Changelog

View full changelog

v2.29.0

21 Oct 18:19
Immutable release. Only release title and notes can be modified.
v2.29.0
10bd946

Choose a tag to compare

📝 Changelog

Minor Changes

  • #19309 - bump sdk version to 0.7.0 #updated
  • #19206 - #fix flaky test, bump go-ethereum
  • #19280 - #updated CCIP DeployPrerequsitesChangeset to deploy token pool contracts
  • #18833 - #internal Tron CRE E2E tests
  • #19301 - #added DKG to local CRE
  • #19162 - #added DKGResult database
  • #19161 - #added P256 DKGRecipient key to keystore
  • #19262 - #added GetJobRuns to Job Distributor
  • #19458 - #bug use on-chain config in vault plugin
  • #19186 - #changed change FixtureChainID
  • #19160 - #changed vault plugin to use dkg result database
  • #19445 - #internal Add regression system-tests package
  • #19301 - #added DKG integration with Vault plugin
  • #19214 - CCIP OCR2 beholder metrics #nops

Patch Changes

  • #19354 - #removed Secure Mint functionality
  • #19346 - #internal #bugfix Links worker to a dummy org in V2 wf registry and fixes deadlock in wf reg syncer v2
  • #19460 - #fix Workflow Registry Syncer V1 handles delete events first and handles orphaned pending events
  • #19233 - #internal deploys V2 registries in local CRE
  • #19519 - #internal #bugfix Cancels sync routines if contract reader fails to construct
  • #19193 - #added Sui keystore and relayer plugin basic integration
  • #19102 - #added Support capabilities that are both Triggers and Executables
  • #19241 - #added Dispatcher per-method receivers
  • #19031 - #added smoke tests for DON Time in CRE Local Environment. #internal
  • #19370 - #updated chain selectors
  • #19149 - #internal changeset support for Solana CCIP attestation signer registry contract
  • #19398 - #internal fix test flake on integration test with evm relayer and wf reg v2 syncer
  • #19326 - Tidy go.mod and go.sum across submodules to fix missing chain-selectors entry #bugfix
  • #19020 - #added Integrate SharedPeer with Launcher and Dispatcher

🔗 Full Changelog

View full changelog

v2.28.0

12 Sep 19:19
v2.28.0
6289ad5

Choose a tag to compare

Minor Changes
#19086 0b1cc20 - #changed LLO's observations now run in a loop, so their cache is always warm.

#18936 fafbccc - #added WF Registry Syncer V2 retrieves workflow artifacts from workflow storage service

#18274 99ead59 - #change Add keystore service to standardcapabilities, refactor integration_tests/framework to use a p2p key in the test node

#18974 b1b9ede - #changed added embedded struct in Keystore impls for forward compatibility

#18463 85f86fa - #changed Add Channel Definition Opts to LLO capability_trigger report type to enable Stream Multiplication

#18564 31711ce - #updated Make LLO capability_trigger report type Opts optional

#18917 3e53bfa - #changed: add workflowKey to StandardCapabilities keystore

#18634 df8ed63 - Added Bridge Status Reporter Service that polls external adapter status endpoints and emits telemetry events for operational monitoring #nops #added

#19097 5f40e5f - #updated FTF Tokenpool constructor & changeset update

#18171 1500214 - Updated Solana ChainWriter to use on-chain account derivation for CCIP execute transactions #internal

#18606 8651528 - #added ability for NOPs to provide a Job Distributor Display Name via config

#19132 9383bea - #bugfix fix nil pointer for gaslimit

#19130 b63d9a3 - #internal Refactor system tests

#18512 88ad7e4 - #changed bump chainlink-common to remove llo aggregator 1e18 scaling

#18430 16d82c9 - gateway handler for http action

#18724 f8042cf - #added support for v0.1.1 version of solana token pool contracts

#19006 4d21fba - #internal: Add read contract/balances validation to the CREv1 system-tests

#18531 6048fb5 - add functionality to enable big blocks for Hyperliquid #added

#18983 e9f31a6 - #internal bump chainlink-tron/relayer

#18998 b558db1 - #internal bump chainlink-solana

#18233 76674d7 - Added Solana ChainReader configs to support reading CCTP events #internal

#18511 c7da80c - Bump Solana Token Pool Contracts

#18309 4d103d2 - #internal Replaced CRE devspace invocation with crib-sdk

Patch Changes
#18613 0acb254 - Add prometheus duplicates for feeds_* metrics without the feeds_* prefix:

job_proposal_requests
workflow_requests
workflow_approvals
workflow_rejections
job_proposal_count
#18870 dc659a0 - #bugfix Use correct data id in secure mint aggregator

#19035 de07b1f - #bugfix chainid collisions across families

#18918 fbca9f6 - #bugfix Temporarily disable Don2Don connection optimization

#18622 658f74e - #internal adding evm capability to local cre

#19067 6a0bcba - #updated wire up LogStreamingEnabled beholder config option

#18792 148ed4c - #updated chain selectors

#18760 45e24d6 - #internal Re-enable Vault smoke test

#18947 145b6ee - #updated chip-ingress client

#18543 6212b61 - bumps chainlink-solana and chainlink-common with relayer interface patch #internal

#18524 fc50377 - #bugfix Fixes nethermind client compat tests

#19117 2674c36 - #fix Workflow Registry Syncer v2 cleans up orphaned pending events

#18478 fd46f19 - #internal Bump chainlink-common version

#18745 d8e76b5 - Added empty block height validation to telemetry reporter #internal

#19034 95bbd90 - #added Deployment and decimal report config Changesets for Solana DataFeeds Cache

#19101 a2d2917 - #added SharedPeer for Don2Don based on PeerGroupFactory

#19145 42fa92d - Add CSAKey handling in HeartbeatConfig and logging for key retrieval #internal

#19094 a27d893 - #updated beholder domain data-feeds

#18514 9af582e - #internal Implement fetching encryption keys for all Workflow Nodes in the SecretsFetcher

#19152 b464a4a - #updated Use seqNr as timestam...

Read more

v2.27.0

21 Aug 14:08
v2.27.0
19f0305

Choose a tag to compare

Release Notes

Added

  • #18274 Keystore service support in standard capabilities delegate
  • #18463 Channel definition options for LLO capability_trigger to enable stream multiplication
  • #18564 Optional parameters in LLO capability_trigger channel definitions
  • #18634 Bridge Status Reporter service
  • #18171 Solana ChainWriter config update for new account derivation
  • #18606 Display name support for NOPs
  • #18430 Gateway handler for HTTP actions
  • #18724 Solana contracts v0.1.1 changesets
  • #18233 Solana ChainReader config to read CCTP events
  • #18511 Updated Solana Token Pool contracts
  • #18309 Crib SDK integration replacing Devspace CRIB setup

Changed

  • #18543 Updated relayer implementation and bumped chainlink-common
  • #18478 Updated common-chainlink package version
  • #18792 Bumped Chain Selectors to v1.0.65
  • #18831 Further Chain Selector updates
  • #18473 Bumped chainlink-ccip version

Fixed

  • #18613 Metrics: duplicate feed metrics now emitted without the feeds_ prefix (job_proposal_requests, workflow_requests, workflow_approvals, workflow_rejections, job_proposal_count)
  • #18622 Added EVM capability support for local environments
  • #18524 Fixed Nethermind client compatibility tests
  • #18745 Fixed telemetry reporter for empty Solana block height
  • #18760 Re-enabled Vault smoke test
  • #18514 Enabled DON-to-DON flow for Vault service GetSecrets() method
  • #18420 Gateway Node now proxies user requests correctly to Vault Node
  • #18549 Added configuration for local fetcher
  • #18578 Fix for a critical “heart attack” issue (service crash under load)
  • #18393 Wired up OCR instance for [PRIV-78]

v2.26.0

28 Jul 21:55
v2.26.0
fd6445c

Choose a tag to compare

Added

  • Cron + HTTP Manual Triggers
  • OIDC Based Authentication
  • Vault service handler to Gateway
  • Support for Aptos CCIP
  • Configuration EVM Service for submit transaction and calculate transaction fee and configuration for submit transaction confirmation time behavior
  • Expose lifecycle hooks in v2 standalone engine

Changed

  • Adding chainFamily to OCR3 prometheus metrics to distinguish between conflicting chainIDs
  • Allow approval of previous versions of job specs
  • Refactor cre/environment/environment.go to allow for injection of custom capabilities
  • Use ratelimiter, roundRobinSelector, logger from chainlink-common
  • Pass in gateway connector to standard capabilities. Gateway connector handlers accept jsonrpc structs instead of api.Message

Fixed

  • Feeds: Refactor workflow job deletion with improved transaction handling and structured logging
  • Set empty map directly on cap request for config

Changelog

v2.25.0

08 Jul 14:22
v2.25.0
381285e

Choose a tag to compare

Added

  • Add TON Keystore to Core with ED25519-based TONKey and tests
  • p2p bundles to job distributor
  • Bump operator-ui to add support for TON
  • "SenderAddress" GasEstimator config parameter
  • Add tonKey graphql query to support TON in Operator UI

Changed

  • Combine the NewNode parameters into a param struct. #added #internal
  • Added validation to ensure the RPC node used can fetch the required config logs for OCR1 jobs.
  • NOTE: This behavior can be toggled on/off by using the new OCR.ConfigLogValidation setting
  • moves cre/engine scripts to main module adds cron example #internal
  • Reorganized test helpers and mocks to exclude test dependencies from build path #internal
  • Fee boosting removed from CCIP 1.5 Execution plugin
  • Cleanup and refactoring several functions to use the plugin map #added

Fixed

  • Do not filter out any don2don peers on bootstrap nodes
  • Fix remote trigger event expiry logic
  • (gateway/network): uses single timeout for request with default and max values
  • Fixed canceled context inside of PriceService
  • #bugfix for high CPU usage on TRON

v2.24.0

29 May 18:39
v2.24.0
0e8fb1e

Choose a tag to compare

Added

  • CCIP 1.5 support for Tron
  • Solana LogPoller lookback feature, and LogPollerStartingLookback and BlockTime to Solana config
  • Improved Solana ChainWriter and TXM logging
  • Support for medianizing TimestampedStreamValue timestamps
  • EVMRelayer conversion to ServerAdapter
  • Integrated framework metrics with Beholder

Changed

  • CORS header support to Gateway node

Fixed

  • Operator-UI: fix limited chains in Job Distributor
  • Log capabilities dispatcher: rate limit as error instead of debug
  • Patch for VRF blockhash backfill script on Ronin
  • Fix rare panic in report_attestation.go via libocr bump

Changelog

v2.23.0

05 May 20:24
v2.23.0
86ce944

Choose a tag to compare

⚠️ On May 31, 2025, Ubuntu 20.04 will reach end-of-life and will no longer receive security updates. We strongly encourage you to begin upgrading your environments to a stable support Ubuntu versions. This will be the last release we support 20.04 Ubuntu version.

⚠️ If you are running on Solana, please ensure you set CL_SOLANA_CMD to empty and update config to include

[Solana.MultiNode]
VerifyChainID = true

Added

  • CRE: allow nodes to limit number of running workflows for specific EOAs
  • Capabilities: handles single node requests to gateways by selecting a random gateway to start
  • Extended Relayer and created a CLI Global Replay Command to enable Solana Replay.
  • Support new report type evm_streamlined. This new report type is designed to be as small and optimized as possible to minimize report size and calldata.
    • Reports are encoded as such:
      • (no FeedID specified in opts)
<32 bits> channel ID
<64 bits> unsigned report timestamp nanoseconds
<bytes>   report data as packed ABI encoding
  • (FeedID specified in opts)
<256 bits> feed ID
<64 bits> unsigned report timestamp nanoseconds
<bytes>   report data as packed ABI encoding
  • Report contexts are encoded as such:
// Equivalent to abi.encodePacked(digest, len(report), report, len(sigs), sigs...)
// bytes32 config digest
// packed uint16 len report
// packed bytes report
// packed uint8 len sigs
// packed bytes sigs

(See report_codec_evm_streamlined_test.go for examples)

  • Implement support for TimestampedStreamValue data types in LLO (RWAs). Added support encoding into evm_abi_unpacked or evm_streamlined report formats
    • ABI must specify how to encode both types, as such:
// Encodes the timestamp as uint64 and data payload as int192
{
  "abi": [[{ "type": "uint64" }, { "type": "int192" }]]
}
  • The first element of the array encodes the timestamp, the second encodes the data payload. Users may suppress one or the other entirely by using the special keyword "bytes0" e.g.
// Encodes only the data payload
{
  "abi": [[{ "type": "bytes0" }, { "type": "int192" }]]
}

Changed

  • Updated LLO Config Validation to allow CRE Transmitter without Mercury Server
  • Filters persist after ChainReader Clean being called

Fixed

  • (capabilities/webapi): cycles through all gateways until a connection is made on single node request

v2.23.0 Changelog