LBRY Roadmap

Past successes and future plans for the journey into the land of dragons.

Roadmap Notes

Our roadmap pulls change notes directly from our Git repo via GitHub. Ongoing, Upcoming and Future items are pulled directly from our internal project management system (Asana).

This roadmap only outlines past and anticipated technical changes, it does not cover other initiatives. Development was fast and furious among a small group prior to 0.6, and release notes are sparse.

Future

Other

YouTube Sync program re-launch with Partner Program

Q1 2018
Build on our current list of creators and create incentives to bring even more
Other

LBRY Meetup Program launch

Q1 2018
Launch our national (and international) LBRY meetup program
Other

Release LBRY technical whitepaper

Q1 2018
Share technical details of the LBRY protocol and blockchain
Other

Implement wallet encryption

Q1 2018
Add native encryption to our wallet
Other

LBRY UI redesign 5.0

Q1 2018
Redesigned UI to improve publisher and user experience
Other

Search algorithm upgrade

Q1 2018
Improve relevancy of search results
Other

Add Comments feature beta

Q2 2018
Implement a basic commenting system in the LBRY app
Other

New Publishing UX and channel management terminal for Publishers

Q2 2018
Improve publishing experience for creators
Other

Release LBRY for Android ALPHA

Q2 2018
Put out a working LBRY app for Android devices (in its early stages)
Other

LBRY Original Production grant program trial run

Q2 2018
No description
Other

Launch lbry.tech, a technical resource for protocol developers

Q2 2018
Add to LBRY's knowledge base to make it easier for open source developers contribute to the project
Other

Fiat and Coinbase LBC payment gateway in-app

Q2 2018
Allow for the purchase of LBC in-app
Other

Add features for tagging and categorization.

Q2 2018
Enhance metadata, tagging, and categorization in the LBRY app
Other

Implement social sharing features in-app.

Q2 2018
Add social sharing to the LBRY app
Other

Add support for resolution to other data sources, such as HTTP, BitTorrent, and/or IPFS.

Q2 2018
No description
Other

Enable embedding of free content from the LBRY network on HTML websites

Q2 2018
Bring the LBRY network to the web with HTML embedding
Other

Data hosting fees re-activated

Q3 2018
No description
Other

Release LBRY for Android BETA

Q3 2018
Release a more advanced version of LBRY on Android
Other

LBRY on Mars (Test Item)

Q4 2018
Ensure LBRY is available on the Red Planet.

LBRY App v0.20 (latest)

v0.20.0

01-30-2018

phone verification and autoupdate!

Added

  • Added Automatic Dark Mode (#950)
  • Re-introduce build dir / dist dir option for isolated build environments (#933)
  • Added sms as a method for reward identity verification (#946)
  • Added auto-update (#808)

Changed

  • Refactored Electron's main process (#951)
  • Refactored lbryuri.js into separate named exports (#957)
  • Upgraded Daemon to version 18.2 (#961)
  • Upgraded Electron for security patch (commit)

Fixed

  • Fixed issues in documentation (#945)
  • Fixed linting errors (#929)

v0.19.4

01-08-2018

Added

  • Video state tracking in redux - developer only (#890)

Changed

  • Improved text content in app (#921)

Fixed

  • Right click works in the app again (#928)
  • Icons are now the rights size (#925)
  • Fixed tip sending error (#918)

v0.18.2

11-15-2017

Fixed

  • Email verification is fixed (#746).

v0.17.1

10-25-2017

Changed

  • Updated daemon from v0.17.0 to v0.17.1. 0.17.1 contains several more download fixes that are backwards incompatible, making this a near mandatory upgrade.
  • Continuing to standardize and improve design. File selectors, checkboxes, radios, and a number of other elements got substantial improvements.
  • Electron version upgraded. Most relevantly, this fixes URI handling in Linux.
  • Chat links and text updated to remove references to Slack.

Fixed

  • Fixed handling of empty search results.
  • Fixed minimum channel length name(#689).

v0.16.1

10-03-2017

Changed

  • Bumped daemon version to improve error logging

v0.15.1

09-08-2017

Added

  • File pages now show the time of a publish. This includes a new component for rendering dates and times that can render the date and time of a block height, as well.

Changed

  • Updated to daemon 0.15.2 to prevent a bug in USD purchases.

Fixed

  • Potential fix for blank error popup when streaming (#536)
  • Fixed some popups showing improperly while balance was loading (#534)
  • Show a security warning when the auth token is displayed on Help.
  • Some CSS changes to prevent the card row from clipping the scroll arrows after the window width is reduced below a certain point
  • Clearly notify user when they try to send credits to an invalid address (#445)

v0.14.3

08-03-2017

Rocket Rewards

Added

  • Add tooltips to controls in header
  • New flow for rewards authentication failure

Changed

  • Make it clearer how to skip identity verification and add link to FAQ
  • Reward-eligible content icon is now a rocket ship :D
  • Change install description shown by operating systems
  • Improved flow for when app is run with incompatible daemon

Fixed

  • Corrected improper pluralization on loading screen

v0.13.0

06-30-2017

Download Alerts GIF
No Delay Play GIF

Added

  • State is persisted through app close and re-open, resulting in faster opens
  • Desktop notifications on downloads finishing
  • Support webm, ogg, m4v, and a few others
  • Translations added to build process
  • Claim IDs are shown in your published files

Changed

  • Upgraded to lbry daemon 0.13, including updating API signatures
  • Channels resolve much faster
  • Resolve is no longer cancelled on navigate
  • Updated API and authentication used by rewards process
  • Improved security of reward credential storage
  • Additional information submitted in DMCA reports
  • Switched packaging to yarn

Removed

  • The author metadata field is no longer shown, in favor of first-class identities
  • Availability is no longer checked before showing Download options, due to unreliability

Fixed

  • Fix help menu force reloading whole app
  • Show page updates correctly when navigating from show page to another show page
  • NSFW setting respected on show page
  • URI handling navigates to correct page if app is closed
  • URI handling issues specific to Windows (maybe)
  • Changing the NSFW setting refreshes properly (previously required app restart)

v0.12.2rc9

06-28-2017

Fixes bugs found in 0.12.2rc7. Despite expanded notes, most of these features were actually in 0.12.2rc7.

There is a good chance this gets released as 0.13.0 instead, as well.

Added

  • State is persisted through app close and re-open, resulting in faster opens
  • Desktop notifications on downloads finishing
  • Support webm, ogg, m4v, and a few others
  • Translations added to build process
  • Claim IDs are shown in your published files

Changed

  • Upgraded to lbry daemon 0.13, including updating API signatures
  • Channels resolve much faster
  • Resolve is no longer cancelled on navigate
  • Updated API and authentication used by rewards process
  • Improved security of reward credential storage
  • Additional information submitted in DMCA reports
  • Switched packaging to yarn

Fixed

  • Fix help menu force reloading whole app
  • Show page updates correctly when navigating from show page to another show page
  • NSFW setting respected on show page
  • URI handling navigates to correct page if app is closed
  • URI handling issues specific to Windows (maybe)
  • Changing the NSFW setting refreshes properly (previously required app restart)

Removed

  • The author metadata field is no longer shown, in favor of first-class identities
  • Availability is no longer checked before showing Download options, due to unreliability

v0.11.9

06-01-2017

Fixed

  • Windows upgrade process fix
  • Upgrade process on Mac and Linux will open the file rather than the folder

v0.10.1rc1

05-21-2017
No description

v0.9.2rc3

03-29-2017

lbry

Added

  • Create wallet_unused_address API command
  • Add claim_id parameter to get, used to specify non-default claim for name

Changed

  • wallet_new_address API command always returns new address
  • Improved ConnectionManager speed
  • Remove unused stream_info parameter in get

LBRY Protocol v0.19 (latest)

v0.19.0rc35

02-15-2018

[0.19.0rc35] - 2018-02-15

Fixed

  • improper parsing of arguments to CLI settings_set (#930)
  • unnecessarily verbose exchange rate error (#984)
  • value error due to a race condition when saving to the claim cache (#1013)
  • being unable to re-download updated content (#951)
  • sending error messages for failed api requests
  • file manager startup being slow when handling thousands of files
  • handling decryption error for blobs encrypted with an invalid key
  • handling stream with no data blob (#905)
  • fetching the external ip
  • blob_list failing with --uri parameter (#895)
  • get failing with a non-useful error message when given a uri for a channel claim
  • exception checking in several wallet unit tests

Deprecated

  • channel_list_mine, replaced with channel_list
  • get_availability, replaced with stream_availability

Changed

  • Bumped lbryum requirement to 3.2.0rc16 see changelog
  • default download folder on linux from ~/Downloads to XDG_DOWNLOAD_DIR
  • data directory on linux from ~/.lbrynet to ~/.local/share/lbry
  • data directory on windows from %AppData%/Roaming to %AppData%/Local/lbry
  • dht tests to only be in one folder
  • config file format of known_dht_nodes, lbryum_servers, and reflector_servers to lists of hostname:port strings
  • startup of lbrynet-daemon to block on the wallet being unlocked if it is encrypted
  • publish to verify the claim schema before trying to make the claim and to return better error messages
  • channel_list_mine to be instead named channel_list
  • channel_list to include channels where the certificate info has been imported but the claim is not in the wallet
  • file objects returned by file_list and get to contain claim_name field instead of name
  • name filter parameter for file_list, file_set_status, file_reflect, and file_delete to be named claim_name
  • metadata field in file objects returned by file_list and get to be a Metadata object
  • assumption for time it takes to announce single hash from 1 second to 5 seconds
  • HTTP error codes for failed api requests, conform to http://www.jsonrpc.org/specification#error_object (previously http errors were set for jsonrpc errors)
  • api requests resulting in errors to return less verbose tracebacks
  • logging about streams to not include file names (only include sd hashes)
  • wallet info exchange to re-use addresses, this was a significant source of address bloat in the wallet
  • lbrynet to not manually save the wallet file and to let lbryum handle it
  • internals to use reworked lbryum payto command
  • dht Node class to re-attempt joining the network every 60 secs if no peers are known
  • lbrynet database and file manager to separate the creation of lbry files (from downloading or publishing) from the handling of a stream. All files have a stream, but not all streams may have a file. (#1020)
  • manager classes to use new SQLiteStorage for database interaction. This class uses a single lbrynet.sqlite database file.

Added

  • link to instructions on how to change the default peer port
  • lbrynet-console, a tool to run or connect to lbrynet-daemon and launch an interactive python console with the api functions built in.
  • --conf CLI flag to specify an alternate config file
  • peer_port, disable_max_key_fee, auto_renew_claim_height_delta, blockchain_name, and lbryum_servers to configurable settings
  • wallet_unlock command (available during startup to unlock an encrypted wallet)
  • support for wallet encryption via new commands wallet_decrypt and wallet_encrypt
  • channel_import, channel_export, and claim_renew commands
  • blob_availability and stream_availability commands for debugging download issues
  • a new startup stage to indicate if the daemon is waiting for the wallet_unlock command.
  • abandon_info dictionary (containing claim_name, claim_id, address, amount, balance_delta and nout) for claims, supports, and updates returned by transaction_list
  • permanent_url string to channel_list_mine, claim_list, claim_show, resolve and resolve_name (see lbryio/lbryum#203)
  • is_mine boolean to channel_list results
  • txid, nout, channel_claim_id, channel_claim_name, status, blobs_completed, and blobs_in_stream fields to file objects returned by file_list and get
  • txid, nout, channel_claim_id, and channel_claim_name filters for file commands (file_list, file_set_status, file_reflect, and file_delete)
  • unit tests for SQLiteStorage and updated old tests for relevant changes (#1088)

Removed

  • seccure and gmpy dependencies
  • support for positional arguments in cli settings_set. Now only accepts settings changes in the form --setting_key=value
  • auto_re_reflect setting from the conf file, use the reflect_uploads setting instead
  • name argument for claim_show command
  • message response field in file objects returned by file_list and get
  • include_tip_info argument from transaction_list, which will now always include tip information.
  • old and unused UI related code
  • unnecessary TempBlobManager class
  • old storage classes used by the file manager, wallet, and blob manager
  • old .db database files from the data directory

v0.18.2

01-24-2018

[0.18.2] - 2018-01-24

Fixed

  • Fixed import error in Wallet.py
  • Fixed fetching the external ip in v0.18.1

v0.17.2rc10

11-07-2017

[0.17.2rc10] - 2017-11-07

Fixed

  • Fixed amount of close nodes to add to list in case of extension to neighbouring k-buckets
  • Fixed external IP detection via jsonip.com (avoid detecting IPv6)
  • Fixed failing ConnectionManager unit test for parallel connections
  • Fixed race condition between publish and channel_new
  • Fixed incorrect response on attempting to delete blob twice
  • Fixed local node ID reporting in peer list
  • Fixed lbryum race condition between combinations of publish and channel_new

Changed

  • Moved BLOB_SIZE from conf.py to MAX_BLOB_SIZE in blob/blob_file.py

Added

  • Added utxo_list command to list unspent transaction outputs
  • Added redundant API server for currency conversion

Removed

  • Removed some alternate methods of reading from blob files
  • Removed @AuthJSONRPCServer.queued decorator

v0.16.4

10-02-2017

[0.16.4] - 2017-10-02

Changed

  • Temporarily disable blob analytics report

v0.15.2

09-07-2017

[0.15.2] - 2017-09-07

Changed

  • Use lbry.io exchange rate API instead of google finance

v0.14.3

08-04-2017

[0.14.3] - 2017-08-04

Fixed

  • Fixed incorrect formatting of "amount" fields

Added

  • Added validation of currencies.
  • Added blob_announce API command

Removed

  • Removed TempBlobManager

v0.13.1

06-16-2017

Added

  • Add claim_send_to_address
  • Add change_address argument to publish
  • Add unique_contacts count to status response

Changed

  • Support resolution of multiple uris with resolve, all results are keyed by uri
  • Add error responses for failed resolves
  • Add claim_list_by_channel, supports multiple channel resolution
  • Rename delete_target_file argument of delete API command to delete_from_download_dir
  • Rename delete_all CLI flag -a to --delete_all

Removed

  • Remove claims_in_channel from resolve response

Fixed

  • Race condition from improper initialization and shutdown of the blob manager database
  • Various fixes for GetStream class used in API command get
  • Download analytics error
  • Fixed flag options in file_delete API command

v0.12.2rc2

06-12-2017
No description

v0.11.1rc1

06-09-2017
No description

v0.10.4rc1

06-01-2017
No description

v0.9.2rc24

04-12-2017

Channels Prerelease

This prerelease has the first public version of publisher identity commands (aka channels). Use channel_new to create a new channel, channel_list_mine to see your channels, and the channel_name field in publish to publish content into a channel you've created.

This also includes the LBRY URI schema spec for resolving names within the LBRY protocol.

If you notice any bugs or weird behavior, please file an issue or message us on Slack.

Full changelog:

Added

  • Add claim_id parameter to claim_show
  • Add hex field to claim responses for the raw claim value
  • Add an error field to to file responses if an error occurs
  • Use claim_id instead of outpoint for claim_abandon
  • Add channel_name parameter to publish
  • Add delete_all parameter to file_delete to allow deleting multiple files
  • Add channel_list_mine command, which lists a user's channels
  • Add channel_new command, which creates new channels
  • Add resolve command, which resolves lbry uris
  • Add channel_name to claim and file responses where applicable

Changed

  • Return None (instead of errors) if a uri cannot be resolved
  • Use uri instead of name for get_availability and stream_cost_estimate, update cost estimate for lbryschema
  • Use lbryschema library for metadata
  • Use uri instead of name for get, remove explicit claim_id parameter
  • Increase default download timeout
  • Use lbry.io api for exchange rate data

Fixed

  • Removed update_metadata function that could cause update problems
  • Fix DHT contact bug
  • fix file_list for files with bad signatures
  • return None from resolve commands when nothing is found
  • return lbry files with claims that are abandoned
  • fix unhelpful error messages in publish and channel_new

v0.8.7

02-21-2017
No description

v0.7.12

01-04-2017

Daemon

Maintenance

  • the DHT was causing high cpu usage; profiled and reduced usage
  • improved DHT shutdown process
  • Improved linting
  • start migrating to using twisted's inlineCallbacks
  • improved startup sequence; UI now launches almost instantly
  • replace settings code, removing unqlite dependency
  • improved blob announcement
  • improved wallet initialization
  • more wallet unit tests
  • upgrade jsonrpc server to support v2; CLI now gives good error messages

Bug Fixes

  • report a bug now works
  • fixed get_value_for_name bug
  • fix in auth.server
  • fixed bug where broadcast_transaction function would not return a deferred

UI

  • added sorting to My Files page
  • added developer settings page, including the ability to choose custom Lighthouse servers
  • My Files and Discover pages now work reliably even if Lighthouse servers aren't available
  • fixed missing imports on watch and report bug pages
  • fixed several pages that weren't loading on IE because it doesn't support the ES6 Symbol type
  • the published tab of the My Files page now consistently shows your own claims rather than the winning claim for that name
  • use much more accurate new Lighthouse servers
  • made search box work on pages other than Discover
  • restored the dewey decimals message while search results are loading (the "no results" message was showing instead)

v0.6.10

10-28-2016

Patch Release

Fixes a bug in lbryum where recently name claims were failing to resolve.

See lbryio/lbryum@ad80e24

v0.4.9

09-16-2016

This release contains security updates and bug fixes, updating is strongly recommended.

Security Fixes

  • sandbox loaded html pages to prevent access to the lbrynet jsonrpc api.
  • block api calls from bad origins

Features

  • signed msi for windows
  • lbrynet-daemon command line for windows
  • exclude credits in name claims from displayed balance

v0.3.22

08-26-2016

fix access-control-allow-origin to not allow downloaded files to run api commands

v0.2.5

06-07-2016
No description

What's Next?

Get LBRY Experience digital abundance.

Keep Learning