{"push_id":918874957,"size":11,"distinct_size":1,"ref":"refs/heads/master","head":"ab120f414ad4f78b7f7d4c18a3411067423ab25e","before":"a597909f5a52a628e829705a0b01277750cb397b","commits":[{"sha":"e0ea9147711806c3d0388ae5e5cf60e66b34cf4c","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"add Renew field to make renewing more explicit\n\nThe upload API now behaves like so:\n- If renew=true, the file will be renewed indefinitely.\n- if renew!=true && duration!=0, the file will be uploaded for the\n  duration specified.\n- if renew!=true && duration=0, the file will be uploaded for the\n  default duration.","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/e0ea9147711806c3d0388ae5e5cf60e66b34cf4c"},{"sha":"a9b43a1322802c830ace7b171e85df010f004bfd","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"factor out repairChunks and renewContracts\n\nI'm not 100% happy with this organization, but I like that\nthreadedRepairFile fits on one page now. On the other hand, the\ncall chain for repairing has become pretty long:\n\nthreadedRepairLoop -> threadedRepairFile -> repairChunks -> repair","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/a9b43a1322802c830ace7b171e85df010f004bfd"},{"sha":"03ecd1e63de4b7e5c8c4ad98f4a9a7a10f011447","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"close api servers during tests","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/03ecd1e63de4b7e5c8c4ad98f4a9a7a10f011447"},{"sha":"c9318ed3d93023f230bdc7cd355b01c644b21f47","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"remove quitting output\n\nthis was necessary to silence output during testing. I suppose it\ncould have been wrapped in a `build.Release != \"testing\"`, but the\nmessage was inaccurate in the first place. Perhaps we'll bring it\nback someday, but it should probably live outside the api package.","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/c9318ed3d93023f230bdc7cd355b01c644b21f47"},{"sha":"f15c7a94f5d6b42d00a52ffd8ec853d78f86c3ac","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"variable defaultDuration and renewThreshold","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/f15c7a94f5d6b42d00a52ffd8ec853d78f86c3ac"},{"sha":"5e8bab881805bde91049a2397c2c69b6532d6e6c","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"add filesize to negotiateContract\n\nas I feared, this code reuse is getting a little ugly. We should\nmake a judgement call now as to whether the Renew RPC should be a\nclean break from the Upload RPC (i.e. using a completely separate\nfunction). There may be good reasons to do this anyway.","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/5e8bab881805bde91049a2397c2c69b6532d6e6c"},{"sha":"67c8ac99b1c73c8cbad1e8d1e72ba2241a9edf8f","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"add TestIntegrationRenewing","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/67c8ac99b1c73c8cbad1e8d1e72ba2241a9edf8f"},{"sha":"cd1ea0a547431594007c2790a8b6843a49d7713e","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"reduce sleep times in host tests","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/cd1ea0a547431594007c2790a8b6843a49d7713e"},{"sha":"c5b7cf124654b2c1c87aee98fcb2daaa99930854","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"renew exactly at threshold\n\nthis way, the contract heights will be (e.g.) 5, 10, 15 instead of\n5, 11, 17","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/c5b7cf124654b2c1c87aee98fcb2daaa99930854"},{"sha":"3d20322ed4d8d88377892584d07dfb2e5af4639e","author":{"email":"e14463ce2b97f3d40cc5eded64de61f33ef15cdf@gmail.com","name":"lukechampine"},"message":"add Close docstring","distinct":false,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/3d20322ed4d8d88377892584d07dfb2e5af4639e"},{"sha":"ab120f414ad4f78b7f7d4c18a3411067423ab25e","author":{"email":"6b6d6b7de23158b6ec85d43d1bd814cc93c10b9b@gmail.com","name":"David Vorick"},"message":"Merge pull request #878 from NebulousLabs/duration\n\nNew Upload API semantics","distinct":true,"url":"https://api.github.com/repos/NebulousLabs/Sia/commits/ab120f414ad4f78b7f7d4c18a3411067423ab25e"}]}