Releases: livepeer/go-livepeer
v0.5.20
Summary
This release includes a few important bug fixes including:
- A fix for winning tickets incorrectly being marked as redeemed in the node's database even though they have not been redeemed yet
- A fix for node crashes due to the submission of a replacement transaction when a max gas price is not configured
- A fix for increased gas usage of reward transactions if an orchestrator did not receive stake updates in the previous round (via a reward call or delegation)
Additionally, this release includes a new -autoAdjustPrice
flag that allows orchestrators to enable/disable automatic price adjustments based on the overhead for ticket redemption (which is determined by the current ETH gas price). Orchestrators can disable automatic price adjustments by setting -autoAdjustPrice=false
(default is true) to ensure that they advertise a constant price to broadcasters avoiding the scenario where they lose all jobs due to a gas price spike that causes their advertised price to exceed the max price set by broadcasters. Refer to the docs for more information. If orchestrators disable automatic price adjustments then it is recommended to also use the -maxGasPrice
flag to set a maximum gas price for transactions to wait to redeem tickets during lower gas prices periods.
We strongly recommend all orchestrator and transcoder operators to upgrade to this version to access this latest set of bug fixes and improvements.
Thanks to everyone that submitted bug reports and assisted in testing!
Features ⚒
Broadcaster
- #1946 Send transcoding stream health events to a metadata queue (@victorges)
Orchestrator
Transcoder
- #1979 Upgrade to ffmpeg v4.4 and improved API for (experimental) AI tasks (@jailuthra)
Bug Fixes 🐞
General
- #1992 Eliminate data races in mediaserver.go (@darkdarkdragon)
- #2011 Configurable delay between sessions in livepeer_bench (@jailuthra)
- #2001 Fix max gas price nil pointer error in replace transaction (@kyriediculous)
Broadcaster
Orchestrator
- #2018 Only mark tickets for failed transactions as redeemed when there is an error checking the transaction (@yondonfu)
- #2029 Fix active total stake calculation when generating hints for rewardWithHint (@yondonfu)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: 22b4a7614d18e82986276c51340bd49515917f4689d146f69dd66e89dde762a0livepeer-linux-amd64.tar.gz
: 9a1e1af0867f1232152d538016515f20ca7c2728e7fe3492a85ec5a617676243livepeer-windows-amd64.zip
: 7ef76ae08da5631bed8b645710ca7a228d1b936083702f234b9885958703ef22
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.19
Summary
This release includes another gas price monitoring fix to address additional cases where Ethereum JSON-RPC providers occassionally return really low gas prices for the eth_gasPrice
RPC call, automatic replacements for pending transactions that timeout, fixes for broadcaster stream recording, support for downloading stream recordings as mp4 files as well as variety of other bug fixes and enhancements. We strongly recommend all orchestrator and transcoder operators to upgrade to this version to access this latest set of bug fixes and improvements.
In addition to the gas price monitoring fix and support for automatic replacements for pending transactions that timeout, a few additional configuration options are introduced to give node operators more control over gas prices and transactions:
-maxTransactionReplacements <INTEGER>
can be used to specify the max number of times to replace a pending transaction that times out. The default value is 1.-txTimeout <DURATION>
can be used to specify the timeout duration for a pending transaction after which a replacement transaction would be submitted. The default value is 5m.-minGasPrice <INTEGER>
can be used to specify the minimum gas price (in wei) to use for transactions. The default is 1 gwei on mainnet.
More information about these new flags is accessible via livepeer -help
.
The default value for the -maxTicketEV
flag for broadcasters has been updated to 3000 gwei based on the default value of 1000 gwei for the -ticketEV
flag for orchestrators which is safer for broadcasters. For more information on these default values, refer to the payment docs for video developers and the payment docs for video miners.
An experimental version of a deep neural network (DNN) based scene classification capability is mentioned in the changelog, but please note that while this is the first step towards enabling this capability on the network for video miners, this feature is NOT yet usable on the network today and is undergoing rapid development.
Thanks to everyone that submitted bug reports and assisted in testing!
Features ⚒
General
- #1911 [Experimental] Enable scene classification for Adult/Soccer (@jailuthra, @yondonfu)
- #1915 Use gas price monitor for gas price suggestions for all Ethereum transactions (@kyriediculous)
- #1930 Support custom minimum gas price (@yondonfu)
- #1942 Log min and max gas price when monitoring is enabled (@kyriediculous)
- #1923 Use a transaction manager with better transaction handling and optional replacement transactions instead of the default JSON-RPC client (@kyriediculous)
- #1954 Add signer to Ethereum client config (@kyriediculous)
Broadcaster
- #1877 Refresh TicketParams for the active session before expiry (@kyriediculous)
- #1879 Add mp4 download of recorded stream (@darkdarkdragon)
- #1899 Record million pixels processed metric (@yondonfu)
- #1888 Should not save (when recording) segments with zero video frames (@darkdarkdragon)
- #1908 Prevent Broadcaster from sending low face value PM tickets (@kyriediculous)
- #1934 http push: return 422 for non-retryable errors (@darkdarkdragon)
- #1943 log maximum transcoding price when monitoring is enabled (@kyriediculous)
- #1950 Fix extremely long delay before uploaded segment gets transcoded (@darkdarkdragon)
- #1933 server: Return 0 video frame segments unchanged (@darkdarkdragon)
- #1932 Serialize writes of JSON playlist (@darkdarkdragon)
- #1985 Set default -maxTicketEV to 3000 gwei (@yondonfu)
Orchestrator
- #1931 Bump ticket redemption gas estimate to 350k to account for occasional higher gas usage (@yondonfu)
Transcoder
- #1944 Enable B-frames in Nvidia encoder output (@jailuthra)
Bug Fixes 🐞
General
- #1968 Fix nil pointer error in embedded transaction receipts returned from the TransactionManager (@kyriediculous)
- #1977 Fix error logging for failed replacement transaction (@yondonfu)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: dd907a0760104552bac1b59a453a25bcb1f0175f23ace74e8d3742322151719elivepeer-linux-amd64.tar.gz
: 76be58c81dd41f06c8bab6dacefc9815b4a3c2e85e3c4333ed0dd24c5c4769e5livepeer-windows-amd64.zip
: d1aafb9149bbf2440998918d5377529ee1c1efe88a25d09b162b5707b71f94e8
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
Note: The Windows release was cut from a commit that was created after the v0.5.19 tagged commit because there was a Windows build process issue that needed to be fixed after the v0.5.19 commit. As a result, livepeer.exe -version
will report 0.5.19-b6b17f1
instead of 0.5.19
.
v0.5.18
Summary
This release includes an important fix that allows orchestrators to accurately set ticket face values (previously there were cases where orchestrators would inaccurately set ticket face values to a really low value) by discarding really low non-sensical gas prices returned by Ethereum JSON-RPC providers in the gas price monitor, reductions in the gas cost for staking actions (under certain circumstances) using livepeer_cli
and improvements to split orchestrator and transcoder setups that help remote transcoders retain streams. We strongly recommend all orchestrator and transcoder operators to upgrade to this version as soon as possible to access this latest set of bug fixes and improvements.
Thanks to everyone that submitted bug reports and assisted in testing!
Breaking Changes 🚨🚨
- Payment/ticket metrics are no longer recorded with high cardinality keys (i.e. recipient, manifestID) which means those labels will no longer be available when using a monitoring system such as Prometheus
Features ⚒
General
- #1848 Use fee cut instead of fee share for user facing language in the CLI (@kyriediculous)
- #1854 Allow to pass region in the custom s3 storage URL (@darkdarkdragon)
- #1893 Remove high cardinality keys from payment metrics (@yondonfu)
Broadcaster
- #1875 Update 'trying to transcode' log statement with manifestID (@kyriediculous)
- #1837 Only log discovery errors when request is not cancelled (@yondonfu)
Orchestrator
- #1845 Staking actions with hints (@kyriediculous)
- #1873 Increase TicketParams expiration to 10 blocks (@kyriediculous)
- #1849 Re-use remote transcoders for a stream sessions (@reubenr0d)
Transcoder
- #1840 Automatically use all GPUs when -nvidia=all flag is set (@jailuthra)
Bug Fixes 🐞
Orchestrator
- #1860 Discard low gas prices to prevent insufficient ticket faceValue errors (@kyriediculous)
- #1859 Handle error for invalid inferred orchestrator public IP on node startup (@reubenr0d)
- #1864 Fix OT error handling (@reubenr0d)
Transcoder
- #1862 Report the correct FPS in outputs when FPS passthrough is enabled for GPU transcoding (@jailuthra)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: 710d1318155a3a6b1e58c079900b864fa1163c112058e448a75fbedf748eb31elivepeer-linux-amd64.tar.gz
: bb821290b3a3fa5862ff5d5f804c9f065420d45af8eabf238a3a25cdd333ce54livepeer-windows-amd64.zip
: 59a5029d2f6a7dcc1525e6ea4b1e88cd0fa0207c351d91eaa788ddf16b808bad
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.17
Summary
This release includes a few fixes for bugs that could cause nodes to crash due to race conditions and unexpected values returned by third party services (i.e. ETH JSON-RPC providers). We strongly recommend all node operators to upgrade to this version as soon as possible to access these bug fixes.
Thanks to everyone that submitted bug reports and assisted in testing!
Breaking Changes 🚨🚨
- The deprecated
-gasPrice
,-s3bucket
,-s3creds
,-gsbucket
and-gskey
flags are now removed
Features ⚒
General
- #1838 Remove deprecated flags:
-gasPrice
,-s3bucket
,-s3creds
,-gsbucket
,-gskey
(@kyriediculous)
Broadcaster
- #1823 Mark more transcoder errors as NonRetryable (@jailuthra)
Bug Fixes 🐞
General
- #1810 Display "n/a" in CLI when max gas price isn't specified (@kyriediculous)
- #1827 Limit the maximum size of a segment read over HTTP (@jailuthra)
- #1809 Don't log statement that blocks have been backfilled when no blocks have elapsed (@kyriediculous)
- #1809 Avoid nil pointer error in SyncToLatestBlock when no blocks are present in the database (@kyriediculous)
- #1833 Prevent nil pointer errors when fetching transcoder pool size (@kyriediculous)
Orchestrator
- #1830 Handle "zero" or "nil" gas price from gas price monitor (@kyriediculous)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: 4a3d7d84a3c5b3ee68b86e90a9b8c7a85db6326fdb08ef75f26fe74f685781eflivepeer-linux-amd64.tar.gz
: 39dc144285e4ff661068685687d159b721f6f0fdc9d771af05e2f3f805d58f6elivepeer-windows-amd64.zip
: ba866f2a4f34d9af041fd2e3cc8133b9fbda36a6ad458f759fb65f959612093e
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.16
Summary
This release includes an important fix for a bug that could cause broadcasters to crash due to missing data in responses from misconfigured orchestrators. We strongly recommend that all broadcaster operators upgrade to this version as soon as possible to access this bug fix.
If you are not a broadcaster operator, then upgrading to this release is not urgent.
Thanks to everyone that submitted bug reports and assisting in testing!
Bug Fixes 🐞
General
- #1813 Check that priceInfo.pixelsPerUnit is not 0 (@kyriediculous)
Broadcaster
- #1782 Fix SegsInFlight data-loss on refreshing O sessions (@darkdragon)
- #1814 Add price checks when caching orchestrator responses during discovery (@yondonfu)
- #1818 Additional checks to avoid nil pointer errors caused by unexpected orchestrator configurations (@kyriediculous)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: d2a04478850a78d3427dc2b41d34b377cbba445def77bb6a44678ad949062ac7livepeer-linux-amd64.tar.gz
: 4de9e303b1ac6fd498da43d18bb74661c21e8b2494f6ace5e99d1621ff4e9c7dlivepeer-windows-amd64.zip
: 92bf96ad391f2ebc3bd8b3132a86592deb46a8764de2c24cf521a7cf30c8b779
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.15
Summary
This release includes an important fix for a bug that could cause transcoding to become stuck for certain corrupt or unsupported source segments. As a result of this bug, some operators saw a high number of sessions in metrics reporting on their orchestrators or transcoders despite receiving a low amount of streams in practice. We strongly recommend that all orchestrator and transcoder operators upgrade to this version as soon as possible to access this bug fix.
Thanks everyone that submitted bug reports and assisted in testing!
Upcoming Changes
- The following flags are pending deprecation and will be removed in the next release:
-gasPrice
-s3bucket
-s3creds
-gsbucket
-gskey
Features ⚒
General
- #1759 Log non-nil error when webserver stops (@AlexMapley)
- #1773 Fix Windows build by downloading pre-configured nasm (@iameli)
- #1779 Fix "Build from Source" link in the README (@chrishobcroft)
- #1778 Add live mode to
livepeer_bench
and expose additional metrics (@jailuthra) - #1785 Update the Windows build to be fully static and to use go1.15 (@iameli)
- #1727 Add a
-maxGasPrice
flag to set the maximum gas price to use for transactions (@kyriediculous) - #1790 Add changelog process (@yondonfu)
- #1791 Switch to Github actions for Linux build and test (@yondonfu)
Broadcaster
- #1754 Count bytes of video data received/sent per stream and expose via the /status endpoint (@darkdragon)
- #1764 Mark all input errors in LPMS as non-retryable during transcoding (@jailuthra)
Orchestrator
- #1731 Add support for webhook to authenticate and set prices for broadcasters at the start of a session (@kyriediculous)
- #1761 Add a
livepeer_router
binary that can route broadcasters to different orchestrators (@yondonfu)
Bug Fixes 🐞
General
- #1729 Make sure the block watcher service can process multiple blocks in a single polling interval (@kyriediculous)
- #1795 Fix Darwin build by changing optimization flag used for gnutls dependency (@iameli)
Broadcaster
- #1766 Flush JSON playlist during recording after it is modified (@jailuthra)
- #1770 Fix parallel reading from object storage (@darkdragon)
Transcoder
- #1775 Fix transcoder load balancer race condition around session cleanup (@jailuthra)
- #1784 Use auth token sessionID to index into sessions map in transcoder load balancer (@jailuthra)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: 633e427d61a7f44d7c7613dc82843cdfdde2ff4f57285590e7245785e93f56b0livepeer-linux-amd64.tar.gz
: 1c34bc5424cf9c7f5cf546068e9f79c76a8406262a7dc4898dd18aae5d471db3livepeer-windows-amd64.zip
: e82ab83b238937129a6b70252d63aff720c4dabd8110d0d72632a0d012c2c7d5
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.14
Summary
This release includes a few important bug fixes as well as some improvements to the consistency and reliability of the transcoding workflow between broadcasters and orchestrators. We strongly recommend that orchestrator operators upgrade to this version to access the bug fixes.
Thanks to everyone that submitted bug reports and assisted in testing!
Features ⚒
General
- Support multiple segments in flight on both broadcasters and orchestrators (#1735 #1749)
- The broadcaster will support multiple segments in flight for an orchestrator as long as the oldest segment is within the maximum in-flight time requirement which is currently set to the duration of the segment
Broadcaster
- Record metrics when using the stream recording feature (#1710)
- Record a metric for the number of swaps to different orchestrators for a stream (#1735)
- Classify additional segment upload errors as timeouts when recording upload error metrics (#1717)
- Reduce orchestrator discovery related logs by removing redundant logs and using the DEBUG logging level for certain logs (#1732)
- Treat no keyframe errors from orchestrators as non-retryable errors (#1745)
Bug Fixes 🐞
Broadcaster
- Fix 500 errors caused by concurrent HTTP push sessions that use the same internal manifestID (provided by a webhook) (#1706)
Orchestrator
- Ensure that advertised ticket face values cover the estimated redemption tx cost (#1751)
Transcoder
- Fix an issue where transcoding could get stuck if a segment without keyframes is received. Now, a no keyframe error is returned in stead (#1745 livepeer/lpms#220)
- Fix an issue where Nvidia transcoding could get stuck if a segment contains invalid packets that trigger a Nvidia driver/CUDA error (#1753 livepeer/lpms#223)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: a8156d54d3de5402b9b1d925591251a7c88e310d3155795c13ff6542fe09e3b8livepeer-linux-amd64.tar.gz
: 738a4919d88eca90b1f5f80c2f98ea47fbfac28a888c83dc6d93b9dacdb8c880livepeer-windows-amd64.zip
: d88ffe928d804571813e968b6a5e5a1addfd842cfde5a026105c9d101dcce2a9
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.13
Summary
This release includes a reduction in the # of ETH RPC requests (in the reward and round initializer services) required for an orchestrator (which should help when using ETH RPC providers such as Infura that have rate limit based usage plans), a new transcoding benchmarking tool livepeer_bench
that orchestrators/transcoders can use to quantify their transcoding speed and set transcoding session limits, and a number of new node metrics that can be scraped using Prometheus. The adventurous can also check out a new experimental feature for broadcasters to record livestreams.
Thanks to everyone that submitted bug reports and assisted in testing!
Features
General
- Add support for generic URL based object store syntax (#1582)
- The
-s3bucket
/-s3creds
andgsbucket
/gskey
flags are deprecated in favor of the-objectStore
flag
- The
- Add
livepeer_bench
executable which can be used for transcoding benchmarking (#1676) - Clean up logging from ffmpeg libraries (#1678 livepeer/lpms#214)
- Build Darwin and Linux binaries using >= go1.15.5 (#1677)
- The go version for the Windows binary will be updated as will in a future release
Broadcaster
- Record time to download renditions from orchestrator metric (#1654)
- Return map of external manifestID (i.e. streamID) to internal manifestID (i.e. webhook manifestID) in
/status
response (#1662) - Add support for recording streams using a configurable recording object store using the
-recordObjectStore
flag or anobjectStore
field specified in an auth webhook response (#1582) - Add support for joining playlists for multiple transcoding sessions when generating a recording (#1674 #1679)
Orchestrator
- Refactor reward service to reduce the # of ETH RPC requests required (#1696)
- Refactor round initializer service to reduce the # of ETH RPC requests required (#1702)
- Record time to transcode when using a remote transcoder metric (#1655)
- Record time to download renditions from remote transcoder metric (#1655)
- Record source segment duration metric (#1670)
- Record time to download source segment from broadcaster metric (#1670)
- Record transcode score (source segment duration / transcode time) metric (#1670)
Transcoder
- Record time to transcode when using a Nvidia GPU metric (#1655)
- Record time to upload renditions to orchestrator metric (#1655)
Verifying Release
Note: As of this release, only the sha256 hash of the archive (containing all release binaries i.e. livepeer
, livepeer_cli
and livepeer_bench
) will be published as a part of a release.
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: a4c7a946291389913f5d7f75657a89e4c2607cc54f22f055776b101be10cde65livepeer-linux-amd64.tar.gz
: b4ec825424c2298b8858d64c55faa8be7e6229efce3537f326e910d8705a909clivepeer-windows-amd64.zip
: 289b9a1ac211a16d19cf3ca3497b862b160c9ddc68f9c635b3664d08d69dee4f
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
v0.5.12
Summary
This release fixes a bug in livepeer_cli
that prevented the registartion/activation of new orchestrators and also includes a few minor bug fixes and updates.
If you do not need to register/activate an orchestrator then you, then upgrading to this release is not urgent (although take a look at the release notes to see if any of the fixed bugs might affect your workflow).
Thanks to everyone that submitted bug reports and assisted in testing!
Features
Broadcaster
- Include the timeout used for transcode requests (#1642)
Orchestrator
- Record transcoding latency metric when using a remote transcoder (#1650)
Transcoder
- Enable the CLI webserver (#1650)
Bug Fixes
Broadcaster
- Fix a bug where the broadcaster hangs during TLS negotiation with an orchestrator that does not respond in the TLS negotiation for some reason resulting in a TCP connection that is never closed (#1645)
- Fix a memory leak when a timeout is encountered during orchestrator discovery (#1644)
- Fix a panic that was previously triggered when the broadcaster connects with an orchestrator in off-chain mode (#1638)
Orchestrator
- Fix a bug in
livepeer_cli
that prevented activation of new orchestrators (#1649)
Verifying Release
md5 hashes for release binaries:
livepeer
(Linux): 1152691e88623f4dd3da73503d0a51f6livepeer_cli
(Linux): 131b88c13dacbd9c7a8e82d5af7761a1livepeer
(Darwin): 448ffb42f2b1693f11f66d3d6e828362livepeer_cli
(Darwin): 0553a8041297089cea70846ee8163b20livepeer.exe
(Windows): d7c6d95035c3ffb17ab54ca1896519d7livepeer_cli.exe
(Windows): 473e5b9ed4515f13043fe3a9259ad1d9
Generate the md5 hash:
md5sum livepeer
md5sum livepeer_cli
sha256 hashes for release binaries:
livepeer
(Linux): f4ab3dd2d307c0b137e1e8c80228387721d1cdfe2e52653392d49ff40c14abe2livepeer_cli
(Linux): 396b868bc8a915b74dab958ab3e5166d766256bc6507655daf966c92f5085372livepeer
(Darwin): 12950ebe28b825ada10f644d1d50990f510d564ce377f0662495533ea1b98ce4livepeer_cli
(Darwin): 0942adefb75311f35d1dbb864517c30418c515fd4e2c4999cfefc9eaa0640b20livepeer.exe
(Windows): c28d06b33522921263df525b60496e9c40c9598c267c5bbf0645f549cd76e9cblivepeer_cli.exe
(Windows): fc26e545f783ad31da28c963e5941adc18ec978a93f6b9a4550ef6e0e9de9fc7
Generate the sha256 hash:
shasum -a 256 livepeer
shasum -a 256 livepeer_cli
v0.5.11
Summary
This release includes a breaking change to the broadcaster <> orchestrator transcoding networking protocol that improves orchestrator stream management.
Other highlights of this release include a bug fix to prevent orchestrators from redeeming expired winning tickets, updates to livepeer_cli based on the recent deployment of LIP-40, LIP-36 and LIP-52 to mainnet as well as many other bug fixes and improvements to node operator UX.
Thanks to everyone that submitted bug reports and assisted in testing!
Breaking Changes 🚨🚨
- The new auth token feature (see the "Features" section for more details) is a mandatory capability for both broadcasters and orchestrators. This means that any node running this release will not be able to connect to a node running an older release. So, it is crucial for all node operators to upgrade to this release ASAP to ensure that their nodes are compatible with as many nodes as possible in the rest of the network
Features
General
- Add an auth token to the broadcaster <> orchestrator transcoding networking protocol which is generated by an orchestrator during discovery (#1613)
- This also fixed some longstanding issues around how an orchestrator keeps track of streams
- Show the transaction hash in livepeer_cli after successfully voting in a poll (#1570)
- Check that values for
-maxPricePerUnit
and-pricePerUnit
are valid integers (#1570) - Remove the manual claim earnings option in livepeer_cli since earnings no longer need to be manually claimed after the LIP-36 and LIP-52 deployment (#1637)
Broadcaster
- Allow form fields for the
/setBroadcasterConfig
endpoint to be optional (#1597)- This allows an operator to programmatically update broadcaster configuration options such as the max price per pixel while the node is running
- Add the
-localVerify
flag which can toggle local verification (pixel count verification and signature verification) on/off (#1588)- This can be useful when connected to a trusted orchestrator to reduce computational overhead for the broadcaster
- Update integration with the latest version of the verification-classifier API which is used when experimental transcoding verification is enabled (#1577)
- Update the orchestrator selection strategy to select the fastest orchestrator to respond during discovery out of orchestrators that use the same ETH address (#1617)
- Add additional metrics for source segment duration, HTTP push client timeouts and real-time transcoding ratios (#1630)
Orchestrator
- Allow form fields for the
/setOrchestratorConfig
endpoint to be optional (#1597)- This allows an operator to programmatically update orchestrator configuration options such as the price per pixel while the node is running
- Return a clearer error when an audio-only segment is received (currently will not transcode this type of segment) (livepeer/lpms#207 #1608)
- Allow the price per unit to be set to 0 to transcode for free (#1616)
- Return clearer errors for orchestrator registration and configuration setting in livepeer_cli (#1570)
- Fetch and pre-populate the orchestrator configuration prompt in livepeer_cli with the current reward cut and fee share values for the orchestrator (#1570)
- Remove overly verbose gas price caching log statement (#1634)
Bug Fixes
General
- Fix incorrect Minter contract parameter values displayed in livepeer_cli after the LIP-40 deployment (#1606)
- Fix a bug where non-whole second duration metrics were incorrectly truncated when recorded (#1630)
Broadcaster
- Fix bug where transcoding via the HTTP push fails when the manifestID returned by a configured webhook is different from the manifestID extracted from the segment URL provided in the HTTP push request (#1627)
Orchestrator
- Fix a busy loop that caused CPU usage to shoot up to 100% after receiving a ticket (#1619)
- Fix a bug that could cause the orchestrator to repeatedly try to redeem expired winning tickets (#1598)
Verifying Release
md5 hashes for release binaries:
livepeer
(Linux): e176899fd322e4171d6a37d787660cf1livepeer_cli
(Linux): dd42130a0a5d1510b6e7f54bff551c13livepeer
(Darwin): ffafeaa5752da9ce93eba6f1f50de5falivepeer_cli
(Darwin): 173a35554ab8e1e569c0658834c18da8livepeer.exe
(Windows): b7089b46f05e263fcca35a480d9068felivepeer_cli.exe
(Windows): 9181bbad2f8ba870fcc64ce3c80664a6
Generate the md5 hash:
md5sum livepeer
md5sum livepeer_cli
sha256 hashes for release binaries:
livepeer
(Linux): 9eaa35177999df84eefadc694512e5f5ef3639f104afeca6b7dd40811687a42clivepeer_cli
(Linux): f9e0108147399d08aa968f86d1fee98d898eb2c17d102ccb7ef72e1cb2d44de4livepeer
(Darwin): 4a14bd74c90a7f6ffcaa1581c3d1b33d6e68c2ce637fd139d3cab2c955129b54livepeer_cli
(Darwin): 452e494b8c9ac5a949d9183529d0569ce0189dd1e969ab734f5ba73b41d7f654livepeer.exe
(Windows): 46b3100d858d79ddc6acafc7f98ba4b7718b35ea9a8d8ee7abc85fbe3d58ad8dlivepeer_cli.exe
(Windows): 8bbf7c2148a6ca95cbfeb59d8078660f49a498bd6b7a748ed5b26e2b8bef2f14
Generate the sha256 hash:
shasum -a 256 livepeer
shasum -a 256 livepeer_cli