Releases: smartcontractkit/chainlink
v2.30.1
📝 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
v2.29.0
📝 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
v2.28.0
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
v2.27.0
Release Notes
Added
- #18274 Keystore service support in standard capabilities delegate
- #18463 Channel definition options for LLO
capability_triggerto enable stream multiplication - #18564 Optional parameters in LLO
capability_triggerchannel 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
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.goto 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
v2.25.0
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
Added
- CCIP 1.5 support for Tron
- Solana LogPoller lookback feature, and
LogPollerStartingLookbackandBlockTimeto Solana config - Improved Solana ChainWriter and TXM logging
- Support for medianizing
TimestampedStreamValuetimestamps - 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.govia libocr bump
v2.23.0
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)
- Reports are encoded as such:
<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_unpackedorevm_streamlinedreport 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.22.0
Added
- Upgrade LLO protocol to support sub-seconds reports.
- NOTE: Protocol version 0 does NOT support gapless handover on sub-second reports. You must upgrade to version 1 for that.
- Add more granularity for workflow completed histogram metric around expected values
- Add exponential backoff retry to feeds.SyncNodeInfo()
- Support importing eth and p2p keys on startup
- Support to address codec implementation
- Add support for custom deviation functions in median plugin.
- Do this like so, by adding the following config to a "median" job spec:
[pluginConfig.deviationFunc]
expiresAt = 1739895051.0 # REQUIRED. Unix timestamp indicating the expiry date. Should be specified as a float64 so even for integer values, add a decimal point.
type = "pendle" # REQUIRED. Currently only "pendle" is supported.
multiplier = "1000000" # OPTIONAL. Must be supplied as string integer. Default is 1e18 if omitted.
Changed
⚠️ Ubuntu has been bumped from 20.04 to 24.04- Compile functions using forge instead of solc.
- Generate keystone wrappers using forge.
- Remove extra data codec for ocr factory function param
⚠️ Enable Solana LOOPP mode by default- If you run into a panic on your Solana node, please disable LOOPP mode. It can be disabled via unsetting or setting blank the env var: CL_SOLANA_CMD
- Regarding metrics with LOOPPs enabled:
- Solana metrics w/loop mode are available, though at a different endpoint, using service discovery.
- start node w/solana loop (enabled by default)
- go to <your_prom_endpt>/discovery
- find the name of the solana plugin
- go to <your_prom_endpt>/plugins//metrics
- Remove bash wrappers and call solidity compilation directly
- Disabled fee boosting when destination is Hedera
- Enhanced logging for capabilities' server requests
Fixed
- Fix abigen compilation on Mac
- Fix: resolve panic send: on closed channel in workflow engine
- Fix for the inability to approve multiple jobs with same command for standard capabilities