Skip to content

Releases: livepeer/go-livepeer

v0.5.30

11 May 14:18
4d80d57
Compare
Choose a tag to compare

v0.5.30

Note for orchestrators: This release is known to have an issue with transcoding certain types of video that was not present in v0.5.29. We recommend orchestrators to stick with the v0.5.29 release for now prior to this issue being resolved in the next release

This release includes support for Netint transcoding hardware, dynamic timeouts for Orchestrator discovery, protection against rounds with a zero block hash and a number of small Orchestrator bug fixes.

Breaking Changes 🚨🚨

None

Features ⚒

General

  • #2348 Support Netint transcoding hardware (@cyberj0g)
  • #2289 Add timeouts to ETH client (@leszko)
  • #2282 Add checksums and gpg signature support with binary releases. (@hjpotter92)
  • #2344 Use T.TempDir to create temporary test directory (@Juneezee)
  • #2353 Codesign and notarize macOS binaries to be allowed to run without warnings on apple devices (@hjpotter92)
  • #2351 Refactor livepeer.go to enable running Livepeer node from the code (@leszko)
  • #2372 Upload test coverage reports to codecov (@hjpotter92)

Broadcaster

  • #2309 Add dynamic timeout for the orchestrator discovery (@leszko)

Orchestrator

  • #2362 Backdate tickets by one round if the block hash for the current round is 0 (@leszko)

Transcoder

Bug Fixes 🐞

CLI

  • #2345 Improve user feedback when specifying numeric values for some wizard options (@kparkins)

General

  • #2299 Split devtool Orchestrator run scripts into versions with/without external transcoder and prevent Transcoder/Broadcaster run scripts from using same CLI port (@thomshutt)
  • #2346 Fix syntax errors in example JSON (@thomshutt)

Broadcaster

  • #2291 Calling video comparison to improve the security strength (@oscar-davids)
  • #2326 Split Auth/Webhook functionality into its own file (@thomshutt)
  • #2357 Begin accepting auth header (from Mist) and have it override callback URL values (@thomshutt)
  • #2385 Change verification randomness variable meaning (@thomshutt)

Orchestrator

  • #2284 Fix issue with not redeeming tickets by Redeemer (@leszko)
  • #2352 Fix standalone orchestrator not crashing under UnrecoverableError (@leszko)
  • #2359 Fix redeeming tickets with zero block hash (@leszko)
  • #2390 Fix Orchestrator registration error when we receive an empty HTTP body (@leszko)

Transcoder

  • N/A

New Contributors

Full Changelog: v0.5.29...v0.5.30

v0.5.29

21 Feb 16:26
Compare
Choose a tag to compare

v0.5.29

This release is a fast follow release for v0.5.28 with a few bug fixes including a fix for a nil pointer error when parsing block header logs that could cause the node to crash and a fix for displaying the global LPT supply and participation rate in livepeer_cli.

This release also includes a darwin arm64 build and darwin/linux binaries compiled using Go 1.17.6.

Breaking Changes 🚨🚨

  • The segment_transcoded_appeared_total and transcode_latency_seconds metrics are removed because they were tracked per transcoding profile and the node already tracks the overall version of the metrics
  • The upload_time_seconds and discovery_errors_toatl metrics are tracked per orchestrators instead of per stream

Features ⚒

General

Transcoder

  • #2259 Improve startup capability test to check for Nvidia encoder session limit and to fail fast if a default capability is not supported (@cyberj0g)

Bug Fixes 🐞

General

  • #2267 Fix nil pointer in the block header logs (@leszko)
  • #2276 Use global total supply instead of L2 supply to calculate participation rate on Arbitrum networks (@leszko)

Orchestrator

  • #2266 Fix default reward cut and fee cut in livepeer_cli (@leszko)

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: a342177e47e72bee030533271d69c1316cccf5784e6cf5638a5452bd3021eaeb
  • livepeer-darwin-arm64.tar.gz: 1cf2b2c606d18e4c515256b8b364777312b62dffa92075557adde0d9265feec2
  • livepeer-linux-amd64.tar.gz: 276936a0d3d3dea9fbacfc464ee1c12deddc4262c20427e0c3f9a2cfeeb1a6ac
  • livepeer-windows-amd64.zip: f91cb3e0144377cd3dace98f16bac478ff85beaa3204f20d7798047398b8a1c6

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.28

11 Feb 20:37
Compare
Choose a tag to compare

Summary

This release supports connecting to Arbitrum Mainnet using the -network arbitrum-one-mainnet flag after the L1 Ethereum block 14207040 which is the block at which LIP-73 i.e. the Confluence upgrade will be activated. Prior to this block, running the node wtih -network arbitrum-one-mainnet will result in a startup error so it is recommended to wait until after block 14207040 to run the node with the -network arbitrum-one-mainnet flag. We strongly encourage all node operators to upgrade to this release so they can connect to Arbitrum Mainnet after the LIP-73 block.

Additional updates in this release include various improvements to compatibility with Arbitrum networks as well as the initial groundwork for enabling H.265/HEVC encoding/decoding and VP8/VP9 decoding jobs on the network.

Features ⚒

General

  • #2208 Improve Feed PubSub: execute subscribers' blocking operations in separate goroutines (@leszko)
  • #2222 Use L1 block number for Ticket Parameters and Round Initialization (@leszko)
  • #2240 Backfill always from the back last seen in DB (instead of the last round block) (@leszko)
  • #2171 Make transactions compatible with Arbitrum and fix setting max gas price (@leszko)
  • #2252 Use different hardcoded redeemGas when connected to an Arbitrum network (@leszko)
  • #2251 Add fail fast for Arbitrum One Mainnet when LIP-73 has not been activated yet (@leszko)
  • #2254 Add arbitrum-one-mainnet network (@leszko)

Orchestrator

  • #2253 Redeem tickets only when recipient is active (@leszko)

Transcoder

  • #2135 LPMS updates to support H.265/HEVC encoding and decoding as well as VP8/VP9 decoding (@cyberj0g)

Bug Fixes 🐞

Broadcaster

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: 37c71dfe63c894b82a09d6d36186e645fd3e830f3641751de52579637a5a0bad
  • livepeer-linux-amd64.tar.gz: 399f0c579f1ac9ff9805498346b2750407eb3f495a2e39e501da22e07b283449
  • livepeer-windows-amd64.zip: a8f1bf89a8bf2a6aa530ba8f939dba37b769e1fdcc4b1813b4011433bd2d5ed4

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.27

03 Feb 21:06
Compare
Choose a tag to compare

Summary

This release fixes a bug with the voting option in livepeer_cli that caused the node to crash as well as a few other small updates. If you need to vote in the recently created LIP-73 poll with your node's keystore based wallet using livepeer_cli you should upgrade to this release.

Features ⚒

General

Bug Fixes 🐞

General

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: 0fecf2f3e380b8459464c429ad3d83f5f75301ab13cb072e33d67e1b0ab9f569
  • livepeer-linux-amd64.tar.gz: 713f3dc34333977a3482284ac007f47b5f70f5a61964d2d399035da274a79746
  • livepeer-windows-amd64.zip: 3f93f0f8e432b78b8fd89db6cfe14b89736d5f40342df6a46059166ecda4a11c

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.26

25 Jan 01:25
Compare
Choose a tag to compare

Summary

This release adds support for a new L2 Arbitrum Rinkeby contract deployment used for the Confluence testnet. If you are planning on participating in the testnet you should upgrade to this release.

This release also includes a small update for the node to fail fast if the config file specified is invalid.

Features ⚒

General

  • #2198 Add fail-fast approach in case of incorrect config file (@leszko)
  • #2180 Generate contract bindings related to L2 Arbitrum upgrade (@leszko)
  • #2204 Support both L1 and L2 contract interfaces (@leszko)
  • #2202 Add arbitrum-one-rinkeby network (@leszko)

Broadcaster

  • #2188 Include pending Os in the discovery mechanism (@leszko)

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: 2104ba054bba4ddd518822b638871c3fd08de60a527b5e17eed269ff6c826e94
  • livepeer-linux-amd64.tar.gz: 36cf6125cf461cf4fd5874b3e02bfef00ef210a1a3899ea33d49998b5b2af08d
  • livepeer-windows-amd64.zip: 35b735a45a6efcce9f469c90dcde61246694df98ef2e711dcbfa0780c523c5fc

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.25

12 Jan 21:28
Compare
Choose a tag to compare

Summary

This release adds support for a new L1 Rinkeby contract deployment used for the Confluence testnet. If you are planning on participating in the testnet you should upgrade to this release. This release does not contain any updates for mainnet.

Breaking Changes 🚨🚨

  • The node will no longer connect with the old L1 Rinkeby contract deployment when the -network rinkeby flag is used. Instead the node will connect to the new L1 Rinkeby contract deployment when the -network rinkeby flag is used using a new hardcoded Controller contract address at 0x9a9827455911a858E55f07911904fACC0D66027E.

General

  • #2177 Update hardcoded Rinkeby Eth Controller Address (@leszko)

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: b76897e4c2d87efd3a50a19a597a6124f12aea8fd84603186e4409c1bae6094e
  • livepeer-linux-amd64.tar.gz: 723dd535a7c3d24ff20f8569f269f712f4086f7e25092328e1e1ec96b8be21f7
  • livepeer-windows-amd64.zip: f30a5908728167acfa2d1ce7826b2137092ffc2e088df96056a72bdc69f60eca

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.24

05 Jan 19:39
Compare
Choose a tag to compare

Summary

This is a fast follow patch release for v0.5.24 to fix a bug that caused orchestrators to return errors right after a transaction is submitted resulting in the previously active streams to be re-routed from the orchestrators. If you are running an orchestrator you should upgrade to this release as soon as possible.

In order to fix this bug, the feature from v0.5.24 that set the maxFeePerGas of transactions to -maxGasPrice is temporarily disabled and will be re-enabled in the next release. The node will continue not submitting transactions if the current expected gas price for a transaction exceeds -maxGasPrice, but due to the disabling of the aforementioned feature, it is possible for a transaction to be mined at a gas price higher than -maxGasPrice if the gas price increases quickly after the node performs its -maxGasPrice check. The next release will ensure that a transaction cannot be mined at a gas price higher than -maxGasPrice.

Features ⚒

General

  • #2157 Add support for EIP-712 typed data signing in livepeer_cli (@yondonfu)

Broadcaster

Orchestrator

  • #2146 Allows Os receive payments while pending activation (@leszko)

Bug Fixes 🐞

General

  • #2163 Fix Session crashes right after the O sends a tx, revert #2111 Ensure maxFeePerGas in all transactions never exceed -masGasPrice (@leszko)

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: e2522bbcc2d10eccd9ad77802dcf8c32ebc4d9017783789eec56bbe402ecff3c
  • livepeer-linux-amd64.tar.gz: 4efbda6d5e6586e7eb1e6ccbd526da65cdbe2e4e27a01cb76b1f2893fe790fdb
  • livepeer-windows-amd64.zip: 63e2707854aada3b7626f04f27ce17457e93137c4473656aabfc5004f8ecb87b

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.23

22 Dec 00:46
Compare
Choose a tag to compare

Summary

This release includes an important fix for a memory leak that can be triggered when using the CUDA MPEG-7 video signature capability (when using a Nvidia GPU), which is used for fast verification, for orchestrators/transcoders. If you are running an orchestrator or transcoder you should upgrade to this release as soon as possible.

Additional highlights of this release:

  • Support for running fast verification on broadcasters
  • Support for configuring livepeer using a file. See the docs for instructions on using a configuration file
  • An improvement to the failover behavior in split orchestrator + transcoder setups in the scenario where a transcoder crashes
  • Ensure that the the fee per gas for a transaction never exceeds the value set for -maxGasPrice

Thanks to everyone that submitted bug reports and assisted in testing!

Features ⚒

General

Broadcaster

  • #2086 Add support for fast verification (@jailuthra @darkdragon)
  • #2085 Set max refresh sessions threshold to 8 (@yondonfu)
  • #2083 Return 422 to the push client after max retry attempts for a segment (@jailuthra)
  • #2022 Randomize selection of orchestrators in untrusted pool at a random frequency (@yondonfu)
  • #2100 Check verified session first while choosing the result from multiple untrusted sessions (@leszko)
  • #2103 Suspend sessions that did not pass p-hash verification (@leszko)
  • #2110 Transparently support HTTP/2 for segment requests while allowing HTTP/1 via GODEBUG runtime flags (@yondonfu)
  • #2124 Do not retry transcoding if HTTP client closed/canceled the connection (@leszko)
  • #2122 Add the upload segment timeout to improve failing fast (@leszko)

Transcoder

  • #2094 Gracefully notify orchestrator in case of a panic in transcoder (@leszko)

Bug Fixes 🐞

Broadcaster

  • #2067 Add safety checks in selectOrchestrator for auth token and ticket params in OrchestratorInfo (@yondonfu)

Transcoder

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: 6ada30329ebae2ef86fd03d8d0381f4e27453f5e3adec17d6e0f7040cbaa6387
  • livepeer-linux-amd64.tar.gz: c128fafcd9a8f06a22ecbd9a016f0de4d0b57c1e0ad360479303440451d3d0a2
  • livepeer-windows-amd64.zip: 1703596b0232eec071ae80cdd736c42039544edd0c723ccc1a7bdc7c15ab08c4

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.22

28 Oct 21:17
Compare
Choose a tag to compare

Summary

This release includes an important MPEG-7 video signature capability fix, which is used for fast verification, for orchestrators/transcoders running on Windows. If you are running an orchestrator or transcoder on Windows you should upgrade to this release as soon as possible.

Additional highlights of this release:

  • Support for EIP-1559 (otherwise known as type 2) Ethereum transactions which results in more predictable transaction confirmation times, reduces the chance of stuck pending transactions and avoids overpaying in gas fees. If you are interested in additional details on the implications of EIP-1559 transactions refer to this resource.
  • An improvement in ticket parameter generation for orchestrators to prevent short lived gas price spikes on the Ethereum network from disrupting streams.
  • The node will automatically detect if the GPU enters an unrecoverable state and crash. The reason for crashing upon detecting an unrecoverable GPU state is that no transcoding will be possible in this scenario until the node is restarted. We recommend node operators to setup a process for monitoring if their node is still up and starting the node if it has crashed. For reference, a bash script similar to this one can be used to automate restarts of the node in the event of a crash.

Thanks to everyone that submitted bug reports and assisted in testing!

Features ⚒

General

  • #2013 Add support for EIP-1559 transactions (@yondonfu)
  • #2073 Make filtering orchestrators in the DB that haven't been updated in last day optional (@yondonfu)

Bug Fixes 🐞

Broadcaster

Orchestrator

  • #2071 Update tx cost check when generating ticket params to be more resistant to gas price spikes (@yondonfu)

Transcoder

  • #2057 Prevent stuck sessions by crashing on unrecoverable CUDA errors (@jailuthra)
  • #2066 Fix filename parsing errors for signature_cuda filter on Windows (@jailuthra)

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: 89a2508944ab2725ce82b74597171a505a07423a86eecbdb65331fdd73aa68d7
  • livepeer-linux-amd64.tar.gz: 0c22bb2ea9413966371886673625395e5597ed903dcded51927dee1dd001aa1c
  • livepeer-windows-amd64.zip: 5e7e230e52fc5f477f0871efe72c641408afbbb5b7709e6c0f7af8844dc1d7b9

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>

v0.5.21

29 Sep 21:29
Compare
Choose a tag to compare

Summary

This release includes a new orchestrator/transcoder MPEG-7 video signature capability which is required for broadcasters to run transcoding verification. The MPEG-7 video signatures are used as perceptual hashes in a "fast verification" algorithm that is described in the Fast and Full Transcoding Verification design. If a CPU is used for transcoding, the video signature computation will occur on the CPU. If a GPU is used for transcoding (i.e. the -nvidia flag is used), the video signature computation will occur on the GPU. Orchestrators and transcoders should upgrade to this release as soon as possible to ensure that they will be able to continue serving broadcasters that run fast verification (the complete broadcaster implementation will be shipped at a later date).

Orchestrators and transcoders should also make note of the breaking change in this release that drops support for Nvidia GPUs from the Kepler series.

Thanks to everyone that submitted bug reports and assisted in testing!

Breaking Changes 🚨🚨

  • #2027 Nvidia GPUs belonging to the Kepler series (GeForce 600, 700 series) and older, are no longer supported by go-livepeer. Cuda 11 is needed for newer GPUs, which only supports the Maxwell series or newer.

Features ⚒

General

Transcoder

  • #2036 Generate mpeg7 perceptual hashes for fast verification (@jailuthra)

Bug Fixes 🐞

Transcoder

  • #2027 Fix a memleak in the (experimental) AI content detection filter (@cyberj0g)

Full list of changes

Verifying Release

sha256 hashes for release archives:

  • livepeer-darwin-amd64.tar.gz: 904866395dae2bf5f2dd386d73097ebfbc467c1424e78faf8e178578c806aa04
  • livepeer-linux-amd64.tar.gz: aa966e0af5599faf04d1c9334da36f59e3f6007ca23fc0f21c7c2379b998f0e4
  • livepeer-windows-amd64.zip: 5133cea0bed71cde18891e42908aaefa31bbf87b33b1434ba1cb11b260c75db8

Generate the sha256 hash:

shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>