• v0.30.0 18a0204105

    v0.30.0 Stable

    jackrobison released this 2018-10-23 04:27:57 +02:00 | 4838 commits to master since this release

    [0.30.0] - 2018-10-22

    This release is the most ambitious upgrade to lbrynet yet; including a brand
    new wallet implementation, switch to Python 3 of the entire code base and
    many changes to the API such as pagination and a more consistent output from
    most commands.

    Security

    • upgraded cryptography package.
    • switch to coincurve for private / public key generation (addresses)
    • support for connecting to daemon via SSL
    • improved workflow for encrypt/decrypt of wallet

    API

    • unified all command line executables into a single lbrynet executable.
    • added use_https configuration setting (off by default), if true the api
      server will generate a self signed ssl certificate when started and only
      handle api requests on the https address (default of https://localhost:5279/lbryapi)
    • deprecated daemon_stop command, use stop instead.
    • deprecated wallet_balance command, use account_balance instead.
    • deprecated wallet_unlock command, use account_unlock instead.
    • deprecated wallet_decrypt command, use account_decrypt instead.
    • deprecated wallet_encrypt command, use account_encrypt instead.
    • deprecated wallet_prefill_addresses command, use account_fund instead.
    • deprecated wallet_list command, use address_list instead.
    • deprecated wallet_is_address_mine command, use address_is_mine instead.
    • deprecated wallet_public_key command.
    • deprecated wallet_new_address command.
    • deprecated wallet_unused_address command, use address_unused instead.
    • deprecated claim_renew command.
    • added account_list command to list accounts including their balance.
    • added account_add command to add a previously created account from seed or private key.
    • added account_create command to generate a new account.
    • added account_remove command to remove an account from wallet.
    • added account_set command to change a setting on an account.
    • added account_balance command to get just the account balance.
    • added account_unlock command to unlock an encrypted account.
    • added account_lock command to lock an encrypted account.
    • added account_encrypt command to encrypt an account.
    • added account_decrypt command to decrypt an account.
    • added account_fund command to move funds between or within an account in various ways.
    • added account_max_address_gap command to find large gaps of unused addresses.
    • added address_list command to list addresses.
    • added address_is_mine command to check if an address is one of your addresses.
    • added address_unused command to get existing or generate a new unused address.
    • added pagination support for address_list, channel_list, claim_list_mine,
      transaction_list and utxo_list.
    • added upnp field to status response
    • removed send_amount_to_address command previously marked as deprecated
    • removed channel_list_mine command previously marked as deprecated
    • removed get_availability command previously marked as deprecated
    • updated txupnp dependency to aioupnp (UPnP for asyncio)

    Wallet

    • changed to a new wallet implementation: torba.
    • changed wallet file format to support multiple accounts in one wallet.
    • moved transaction data from wallet file into an sqlite database.
    • changed channel certificates to be keyed by txid:nout instead of claim_id which
      makes it possible to recover old certificates.

    File Manager

    • Extensive internal changes as a result of porting to Python 3.

    DHT

    • Extensive internal changes as a result of porting to Python 3.

    P2P

    • Extensive internal changes as a result of porting to Python 3.

    Reflector

    • No major changes to reflector.

    Database

    • No changes to existing storage module.

    Known Issues

    • Channel certificate import/export is currently not working.
    Downloads
  • v0.30.0rc10 e19f8f3d95

    v0.30.0rc10 Pre-release

    jackrobison released this 2018-10-19 18:28:08 +02:00 | 4845 commits to master since this release

    [0.30.0] - 2018-10-17

    This release is the most ambitious upgrade to lbrynet yet; including a brand
    new wallet implementation, switch to Python 3 of the entire code base and
    many changes to the API such as pagination and a more consistent output from
    most commands.

    Security

    • upgraded cryptography package.
    • switch to coincurve for private / public key generation (addresses)
    • support for connecting to daemon via SSL
    • improved workflow for encrypt/decrypt of wallet

    API

    • unified all command line executables into a single lbrynet executable.
    • added use_https configuration setting (off by default), if true the api
      server will generate a self signed ssl certificate when started and only
      handle api requests on the https address (default of https://localhost:5279/lbryapi)
    • deprecated daemon_stop command, use stop instead.
    • deprecated wallet_balance command, use account_balance instead.
    • deprecated wallet_unlock command, use account_unlock instead.
    • deprecated wallet_decrypt command, use account_decrypt instead.
    • deprecated wallet_encrypt command, use account_encrypt instead.
    • deprecated wallet_prefill_addresses command, use account_fund instead.
    • deprecated wallet_list command, use address_list instead.
    • deprecated wallet_is_address_mine command, use address_is_mine instead.
    • deprecated wallet_public_key command.
    • deprecated wallet_new_address command.
    • deprecated wallet_unused_address command, use address_unused instead.
    • deprecated claim_renew command.
    • added account_list command to list accounts including their balance.
    • added account_add command to add a previously created account from seed or private key.
    • added account_create command to generate a new account.
    • added account_remove command to remove an account from wallet.
    • added account_set command to change a setting on an account.
    • added account_balance command to get just the account balance.
    • added account_unlock command to unlock an encrypted account.
    • added account_lock command to lock an encrypted account.
    • added account_encrypt command to encrypt an account.
    • added account_decrypt command to decrypt an account.
    • added account_fund command to move funds between or within an account in various ways.
    • added account_max_address_gap command to find large gaps of unused addresses.
    • added address_list command to list addresses.
    • added address_is_mine command to check if an address is one of your addresses.
    • added address_unused command to get existing or generate a new unused address.
    • added pagination support for address_list, channel_list, claim_list_mine,
      transaction_list and utxo_list.
    • added upnp field to status response
    • removed send_amount_to_address command previously marked as deprecated
    • removed channel_list_mine command previously marked as deprecated
    • removed get_availability command previously marked as deprecated

    Wallet

    • changed to a new wallet implementation: torba.
    • changed wallet file format to support multiple accounts in one wallet.
    • moved transaction data from wallet file into an sqlite database.
    • changed channel certificates to be keyed by txid:nout instead of claim_id which
      makes it possible to recover old certificates.

    File Manager

    • Extensive internal changes as a result of porting to Python 3.

    DHT

    • Extensive internal changes as a result of porting to Python 3.

    P2P

    • Extensive internal changes as a result of porting to Python 3.

    Reflector

    • No major changes to reflector.

    Database

    • No changes to existing storage module.

    Known Issues

    • Channel certificate import/export is currently not working.
    Downloads
  • v0.21.2 79d1da5ff8

    v0.21.2 Stable

    jackrobison released this 2018-08-24 05:43:35 +02:00 | 5307 commits to master since this release

    [0.21.2] - 2018-08-23

    Fixed

    • issue in dht ping queue where enqueued pings that aren't yet due wouldn't be rescheduled
    • blob mirror downloader not finishing streams that were partially uploaded at the time of the download attempt (https://github.com/lbryio/lbry/issues/1376)
    Downloads
  • v0.21.1 0d54f6215f

    v0.21.1 Stable

    jackrobison released this 2018-08-13 22:20:16 +02:00 | 5323 commits to master since this release

    [0.21.1] - 2018-08-13

    Fixed

    Added

    Changed

    Downloads
  • v0.21.0 d4a7dbf805

    v0.21.0 Stable

    jackrobison released this 2018-08-09 19:44:28 +02:00 | 5333 commits to master since this release

    [0.21.0] - 2018-08-09

    Fixed

    Deprecated

    • automatic claim renew, this is no longer needed

    Changed

    Added

    Removed

    Downloads
  • v0.20.4 2ddd6b051d

    v0.20.4 Stable

    jackrobison released this 2018-07-18 21:36:21 +02:00 | 5446 commits to master since this release

    [0.20.4] - 2018-07-18

    Fixed

    • spelling errors in messages printed by lbrynet-cli
    • high CPU usage when a stream is incomplete and the peers we're requesting from have no more blobs to send us (https://github.com/lbryio/lbry/pull/1301)

    Changed

    Downloads
  • v0.20.3 da7e7503b9

    v0.20.3 Stable

    jackrobison released this 2018-07-03 20:32:38 +02:00 | 5475 commits to master since this release

    [0.20.3] - 2018-07-03

    Fixed

    Changed

    Removed

    Downloads
  • v0.20.2 12d1b93b5d

    v0.20.2 Stable

    jackrobison released this 2018-06-23 17:53:24 +02:00 | 5500 commits to master since this release

    [0.20.2] - 2018-06-23

    Changed

    • Bumped lbryschema requirement to 0.0.16 see changelog
    • Bumped lbryum requirement to 3.2.3 see changelog
    • save claims to sqlite in batches to speed up resolve queries for many uris
    Downloads
  • v0.20.1 e435a9f722

    v0.20.1 Stable

    jackrobison released this 2018-06-19 20:05:16 +02:00 | 5509 commits to master since this release

    [0.20.1] - 2018-06-19

    Fixed

    Changed

    • Bumped lbryum requirement to 3.2.2 see changelog
    • publish to accept bid as a decimal string
    Downloads
  • v0.20.0 7030547849

    v0.20.0 Stable

    jackrobison released this 2018-06-13 21:36:49 +02:00 | 5537 commits to master since this release

    [0.20.0] - 2018-06-13

    TL;DR

    This milestone release includes a large number of bug fixes, changes and additions covering all aspects of the daemon. Notable improvements include:

    • Faster and more reliable downloading and uploading of content resulting from substantial work done on the Distributed Hash Table algorithms and protocol.
    • Faster blockchain synchronization (headers) by downloading them from Amazon S3 under certain conditions.
    • Faster overall app startup due to better optimized SQL queries.
    • Power users of the lbrynet-cli will benefit from many bug fixes to commonly used commands and improvements in sorting of output.
    • Please review the full change log for more details on specific fixes, changes and additions.

    Fixed

    • fix payment rate manager typo (1236)
    • handling error from dht clients with old ping method
    • blobs not being re-announced if no peers successfully stored, now failed announcements are re-queued
    • issue where an AuthAPIClient (used by lbrynet-cli) would fail to update its session secret and keep making new auth sessions, with every other request failing
    • use_auth_http in a config file being overridden by the default command line argument to lbrynet-daemon, now the command line value will only override the config file value if it is provided
    • lbrynet-cli not automatically switching to the authenticated client if the server is detected to be using authentication. This resulted in lbrynet-cli failing to run when lbrynet-daemon was run with the --http-auth flag
    • fixed error when using claim_show with txid and nout arguments
    • fixed error when saving server list to conf file (1209)

    Changed

    • if the use_authentication setting is configured, use authentication for all api methods instead of only those with the auth_required decorator
    • regenerate api keys on startup if the using authentication
    • support both positional and keyword args for api calls
    • blob_announce to queue the blob announcement but not block on it
    • peer_list to return a list of dictionaries instead of a list of lists, added peer node ids to the results
    • predictable result sorting for claim_list and claim_list_mine (1216 and 1208)
    • increase the default auto_re_reflect_interval setting to a day and the default concurrent_announcers setting to 10
    • download blockchain headers from s3 before starting the wallet when the local height is more than s3_headers_depth (a config setting) blocks behind (1177)
    • check headers file integrity on startup, removing/truncating the file to force re-download when necessary
    • support partial headers file download from S3 (1189)
    • refactor add_completed_blobs on storage.py, simplifying into less queries (1226)
    • full verification of streams only during database migration instead of every startup (1195)
    • database batching functions for starting up the file manager
    • added single_announce and last_announced_time columns to the blob table in sqlite
    • track successful reflector uploads in sqlite to minimize how many streams are attempted by auto re-reflect (1194)
    • pass the sd hash to reflector ClientFactory instead of looking it up from the database
    • dht logging to be more verbose with errors and warnings
    • store kademlia rpc method to block on the call finishing and to return storing peer information
    • kademlia protocol to minimally delay writes to the UDP socket
    • several internal dht functions to use inlineCallbacks
    • DHTHashAnnouncer and Node manage functions to use LoopingCalls instead of scheduling with callLater.
    • refactored DHTHashAnnouncer to no longer use locks, use a DeferredSemaphore to limit concurrent announcers
    • decoupled DiskBlobManager from DHTHashAnnouncer, get blob hashes to announce from SQLiteStorage. The blob manager no longer announces blobs after they are completed, the hash announcer takes care of this now.
    • changed the bucket splitting condition in the dht routing table to be more aggressive
    • ping dht nodes who have stored to us periodically to determine whether we should include them as an active peer for the hash when we are queried. Nodes that are known to be not reachable by the node storing the record are no longer returned as peers by the storing node.
    • changed dht bootstrap join process to better populate the routing table initially
    • cache dht node tokens used during announcement to minimize the number of requests that are needed
    • implement BEP0005 dht rules to classify nodes as good, bad, or unknown and for when to add them to the routing table (http://www.bittorrent.org/beps/bep_0005.html)
    • refactored internal dht contact class to track failure counts/times, the time the contact last replied to us, and the time the node last requested something fom us (1211)
    • refactored dht iterativeFind
    • sort dht contacts returned by findCloseNodes in the routing table
    • reactor and callLater, listenUDP, and resolve functions to be configurable (to allow easier testing)
    • calls to get the current time to use reactor.seconds (to control callLater and LoopingCall timing in tests)
    • temporarily disabled data price negotiation, treat all data as free
    • disabled Cryptonator price feed
    • use treq instead of txrequests (1191)
    • updated cryptography version to 2.2.2
    • removed pycrypto dependency, replacing all calls to cryptography

    Added

    • peer_ping command
    • --sort option in file_list (1174)
    • port field to contacts returned by routing_table_get
    • configurable concurrent_announcers and s3_headers_depth settings
    • virtual kademlia network and mock udp transport for dht integration tests
    • functional tests for bootstrapping the dht, announcing and expiring hashes, finding and pinging nodes, protocol version 0/1 backwards/forwards compatibility, and rejoining the network
    • linux distro and desktop name added to analytics (1218)
    • certifi module for Twisted SSL verification on Windows (1213)
    • protocol version to dht requests and to the response from findValue

    Removed

    • announce_all argument from blob_announce
    • old blob_announce_all command
    • unused --wallet argument to lbrynet-daemon, which used to be to support PTCWallet.
    • AuthJSONRPCServer.auth_required decorator (1161)
    • OptimizedTreeRoutingTable class used by the dht node for the time being
    Downloads