github smartcontractkit/chainlink v2.23.0

latest releases: v2.27.3-datastreams, v2.27.2, v2.28.0...
4 months ago

⚠️ 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

Don't miss a new chainlink release

NewReleases is sending notifications on new releases.