• v0.20.0rc6 bb7e17e54a

    v0.20.0rc6 Pre-release

    jackrobison released this 2018-04-03 19:21:17 +02:00 | 5771 commits to master since this release

    [0.20.0rc6] - 2018-04-03

    Fixed

    • 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

    Changed

    • several internal dht functions to use inlineCallbacks
    • DHTHashAnnouncer and Node manage functions to use LoopingCalls instead of scheduling with callLater.
    • store kademlia rpc method to block on the call finishing and to return storing peer information
    • refactored DHTHashAnnouncer to longer use locks, use a DeferredSemaphore to limit concurrent announcers
    • decoupled DiskBlobManager from DHTHashAnnouncer
    • blob hashes to announce to be controlled bySQLiteStorage
    • kademlia protocol to not delay writes to the UDP socket
    • 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)
    • blob_announce to queue the blob announcement but not block on it
    • blob completion to not callLater an immediate announce, let SQLiteStorage and the DHTHashAnnouncer handle it
    • raise the default number of concurrent blob announcers to 100
    • dht logging to be more verbose with errors and warnings
    • added single_announce and last_announced_time columns to the blob table in sqlite
    • pass the sd hash to reflector ClientFactory instead of looking it up
    • 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
    • peer_list to return a list of dictionaries instead of a list of lists, added peer node ids to the results

    Added

    • virtual kademlia network and mock udp transport for dht integration tests
    • integration tests for bootstrapping the dht
    • configurable concurrent_announcers setting
    • peer_ping command

    Removed

    • announce_all argument from blob_announce
    • old blob_announce_all command
    • AuthJSONRPCServer.auth_required decorator
    • unused --wallet argument to lbrynet-daemon, which used to be to support PTCWallet.
    Downloads