Skip to content

Releases: smartcontractkit/chainlink

v0.9.9

18 Jan 17:31
3ccbf49
Compare
Choose a tag to compare

Added

  • New CLI commands for key management:
    • chainlink keys eth import
    • chainlink keys eth export
    • chainlink keys eth delete
  • All keys other than VRF keys now share the same password. If you have OCR, P2P, and ETH keys encrypted with different passwords, re-insert them into your DB encrypted with the same password prior to upgrading.

Fixed

  • Fixed reading of function selector values in DB.
  • Support for bignums encoded in CBOR
  • Silence spurious Job spawner ORM attempted to claim locally-claimed job warnings
  • OCR now drops transmissions instead of queueing them if the node is out of Ether
  • Fixed a long-standing issue where standby nodes would hold transactions open forever while waiting for a lock. This was preventing postgres from running necessary cleanup operations, resulting in bad database performance. Any node operators running standby failover chainlink nodes should see major database performance improvements with this release and may be able to reduce the size of their database instances.
  • Fixed an issue where expired session tokens in operator UI would cause a large number of reqeusts to be sent to the node, resulting in a temporary rate-limit and 429 errors.
  • Fixed issue whereby http client could leave too many open file descriptors

Changed

  • Key-related API endpoints have changed. All key-related commands are now namespaced under /v2/keys/..., and are standardized across key types.
  • All key deletion commands now perform a soft-delete (i.e. archive) by default. A special CLI flag or query string parameter must be provided to hard-delete a key.
  • Node now supports multiple OCR jobs sharing the same peer ID. If you have more than one key in your database, you must now specify P2P_PEER_ID to indicate which key to use.
  • DATABASE_TIMEOUT is now set to 0 by default, so that nodes will wait forever for a lock. If you already have DATABASE_TIMEOUT=0 set explicitly in your env (most node operators) then you don’t need to do anything. If you didn’t have it set, and you want to keep the old default behaviour where a node exits shortly if it can’t get a lock, you can manually set DATABASE_TIMEOUT=500ms in your env.

v0.9.8

16 Dec 22:43
8133319
Compare
Choose a tag to compare

Fixed

  • An issue where the node would emit warnings on startup for fluxmonitor contracts

v0.9.7

14 Dec 16:48
24a90fc
Compare
Choose a tag to compare

Added

  • OCR bootstrap node now sends telemetry to the endpoint specified in the OCR job spec under MonitoringEndpoint.
  • Adds "Account addresses" table to the /keys page.

Changed

  • Old jobs now allow duplicate job names. Also, if the name field is empty we no longer generate a name.

Fixed

  • Brings /runs tab back to the operator UI.
  • Signs out a user from operator UI on authentication error.

Changes

  • Removes broken ACCOUNT_ADDRESS field from /config page.

BREAKING CHANGES

  • Commands for creating/managing legacy jobs and OCR jobs have changed, to reduce confusion and accomodate additional types of jobs using the new pipeline.

V1 jobs

jobs archive => job_specs archive
jobs create => job_specs create
jobs list => job_specs list
jobs show => job_specs show

V2 jobs (currently only applies to OCR)

jobs createocr => jobs create
jobs deletev2 => jobs delete
jobs run => jobs run

v0.9.6

23 Nov 17:49
ba2521c
Compare
Choose a tag to compare

Changed

Numerous key-related UX improvements:

  • All key-related commands have been consolidated under the chainlink keys subcommand:
    • chainlink createextrakey => chainlink keys eth create
    • chainlink admin info => chainlink keys eth list
    • chainlink node p2p [create|list|delete] => chainlink keys p2p [create|list|delete]
    • chainlink node ocr [create|list|delete] => chainlink keys ocr [create|list|delete]
    • chainlink node vrf [create|list|delete] => chainlink keys vrf [create|list|delete]
  • Deleting OCR key bundles and P2P key bundles now archives them (i.e., soft delete) so that they can be recovered if needed. If you want to hard delete a key, pass the new --hard flag to the command, e.g. chainlink keys p2p delete --hard 6.
  • Output from ETH/OCR/P2P/VRF key CLI commands now renders consistently.
  • Deleting an OCR/P2P/VRF key now requires confirmation from the user. To skip confirmation (e.g. in shell scripts), pass --yes or -y.
  • The --ocrpassword flag has been removed. OCR/P2P keys now share the same password at the ETH key (i.e., the password specified with the --password flag).
  • Two new env variables are added P2P_ANNOUNCE_IP and P2P_ANNOUNCE_PORT which allow node operators to override locally detected values for the chainlink node's externally reachable IP/port.
  • OCR_LISTEN_IP and OCR_LISTEN_PORT have been renamed to P2P_LISTEN_IP and P2P_LISTEN_PORT for consistency.
  • Support for adding a job with the same name as one that was deleted.

Fixed

  • Fixed an issue where the HTTP adapter would send an empty body on retries.

v0.9.4

04 Nov 14:33
b7d22af
Compare
Choose a tag to compare

Fixed

  • Hotfix to fix an issue with httpget adapter

v0.9.3

02 Nov 18:05
94c51e2
Compare
Choose a tag to compare

Added

  • Add new subcommand node hard-reset which is used to remove all state for unstarted and pending job runs from the database.

Changed

  • Chainlink now requires Postgres >= 11.x. Previously this was a recommendation, this is now a hard requirement. Migrations will fail if run on an older version of Postgres.
  • Database improvements that greatly reduced the number of open Postgres connections
  • Operator UI /jobs page is now searchable
  • Jobs now accept a name field in the jobspecs

v0.9.2

15 Oct 12:02
1f4517b
Compare
Choose a tag to compare

Added

  • Bulletproof transaction manager enabled by default
  • Fluxmonitor support enabled by default
  • Remove configuration option ORACLE_CONTRACT_ADDRESS, it had no effect
  • Add configuration option OPERATOR_CONTRACT_ADDRESS, it filters the contract addresses the node should listen to for Run Logs
  • At startup, the chainlink node will create a new funding address. This will initially be used to pay for cancelling stuck transactions.

Fixed

  • Improve transaction manager architecture to be more compatible with ETH_SECONDARY_URL option (i.e. concurrent transaction submission to multiple different eth nodes). This also comes with some minor performance improvements in the tx manager and more correct handling of some extremely rare edge cases.
  • As a side-effect, we now no longer handle the case where an external wallet used the chainlink ethereum private key to send a transaction. This use-case was already explicitly unsupported, but we made a best-effort attempt to handle it. We now make no attempt at all to handle it and doing this WILL result in your node not sending the data that it expected to be sent for the nonces that were used by an external wallet.
  • Operator UI now shows booleans correctly

Changed

  • ETH_MAX_GAS_PRICE_WEI now 1500Gwei by default

v.0.9.0

12 Oct 17:04
253f7ab
Compare
Choose a tag to compare
v.0.9.0 Pre-release
Pre-release

Added

  • Bulletproof transaction manager enabled by default
  • Fluxmonitor support enabled by default
  • Remove configuration option ORACLE_CONTRACT_ADDRESS, it had no effect
  • Add configuration option OPERATOR_CONTRACT_ADDRESS, it filters the contract addresses the node should listen to for Run Logs
  • At startup, the chainlink node will create a new funding address. This will initially be used to pay for cancelling stuck transactions.

Fixed

  • Improve transaction manager architecture to be more compatible with ETH_SECONDARY_URL option (i.e. concurrent transaction submission to multiple different eth nodes). This also comes with some minor performance improvements in the tx manager and more correct handling of some extremely rare edge cases.
  • As a side-effect, we now no longer handle the case where an external wallet used the chainlink ethereum private key to send a transaction. This use-case was already explicitly unsupported, but we made a best-effort attempt to handle it. We now make no attempt at all to handle it and doing this WILL result in your node not sending the data that it expected to be sent for the nonces that were used by an external wallet.

Changed

  • ETH_MAX_GAS_PRICE_WEI now 1500Gwei by default

v0.8.18

01 Oct 11:35
ca268bf
Compare
Choose a tag to compare

Fixed

  • Prometheus gas_updater_set_gas_price metric now only shows last gas price instead of every block since restart

v0.8.17

28 Sep 13:15
8e55ae5
Compare
Choose a tag to compare

[0.8.17] - 2020-09-28

Added

  • Add new env variable ETH_SECONDARY_URL. Default is unset. You may optionally set this to an http(s) ethereum RPC client URL. If set, transactions will also be broadcast to this secondary ethereum node. This allows transaction broadcasting to be more robust in the face of primary ethereum node bugs or failures.

Fixed

  • Gas bumper no longer hits database constraint error if ETH_MAX_GAS_PRICE_WEI is reached (this was actually mostly harmless, but the errors were annoying)