{"push_id":975867293,"size":16,"distinct_size":14,"ref":"refs/heads/develop","head":"91988891769efb3e2604f5a7ba7995b360d24273","before":"e2441d7fc622e7992bfc4139a02b9e7c8b3e94b4","commits":[{"sha":"cf25be858fcf7c8a0d32e09682254c41cf2c7b12","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Remove caching in request signer\n\nThis simplifies the code and fixes potential edge cases from\ncaching.\n\nThis was a legacy artifact from having to support both the\nservice/operation objects and the client interfaces at the\nsame time.  This is now no longer needed.\n\nThe only concern would be if caching actually helps performance.\nTo verify this, I ran a test consisting of:\n\n* Mocking out the _send_request in endpoints.py to return a precanned\n  response.\n* Making a client call 1000 times (I chose ec2 DescribeInstances\n  arbitrarily).  This is essentially timing the time it takes from\n  a client method until it hits the http layer in botocore.\n\nI ran the tests against botocore's develop branch and this PR.  There's\nnegligible difference::\n\n    (simple-auth %) $ repeat 10 python scripts/signerperf.py\n    Total time: 0.7235\n    Total time: 0.7022\n    Total time: 0.7190\n    Total time: 0.7032\n    Total time: 0.7112\n    Total time: 0.7059\n    Total time: 0.7099\n    Total time: 0.6895\n    Total time: 0.7079\n    Total time: 0.7254\n    (simple-auth %) $ git checkout develop\n    Switched to branch 'develop'\n    (develop %) $ repeat 10 python scripts/signerperf.py\n    Total time: 0.7085\n    Total time: 0.6812\n    Total time: 0.7016\n    Total time: 0.6995\n    Total time: 0.7055\n    Total time: 0.7314\n    Total time: 0.6950\n    Total time: 0.7105\n    Total time: 0.7140\n    Total time: 0.7129","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/cf25be858fcf7c8a0d32e09682254c41cf2c7b12"},{"sha":"0736bddaa42d6e41521a6de16f49380c8ddaa8fc","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Fix line lengths","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/0736bddaa42d6e41521a6de16f49380c8ddaa8fc"},{"sha":"01f70772a49e1fa8da72acbc36d8bd4091149089","author":{"email":"2cf33d49f22372a05d35d3b8ef200953078ff94b@amazon.com","name":"JordonPhillips"},"message":"Refactored paginators to use a dict rather than a custom seperator.\n\nPreviously, our custom pagination token came in the form:\n`serviceToken___5000` where serviceToken represented the service's\npagination token(s) and the number at the end represented where in the\narray we should slice the response. The problem is that a token for\ndynamodb or s3 can include a triple underscore. So instead of seeing one\ntoken and an index, we see two tokens and an index. This causes the\npaginator to fall on its face.\n\nThe solution is to use a dictionary instead, which brings us in line\nwith how both Ruby and PHP do pagination. So our token will now look\nlike `{\"ServiceToken\": \"value\", \"truncate_amount\": 5000}`. In addtion\nto dumping it to JSON, we will also base64 encode/decode to obfuscate\nhow it is built, since customers are not supposed to be able to inject\ntheir own custom token. The JSON encoding / decoding gives us the\nability to seamlessly use tokens which are not themselves strings, such\nas dynamodb's `ExclusiveStartKey`.","distinct":false,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/01f70772a49e1fa8da72acbc36d8bd4091149089"},{"sha":"4449822006d4d75c161a6525ecfaeb36b06af70e","author":{"email":"06bded90135f574576284ecdf4e14c2eb47e2d5a@gmail.com","name":"Denver Janke"},"message":"Retrieve refreshable credentials as a set\n\nThis avoids auth failures when refresh happens in the middle of auth\nsigning process.","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/4449822006d4d75c161a6525ecfaeb36b06af70e"},{"sha":"72b95d6800ea9d906747f1a60f42a54c2080b6a7","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Rename method to frozen credentials\n\nMakes it clear these are read only fixed\ncredentials that don't update.","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/72b95d6800ea9d906747f1a60f42a54c2080b6a7"},{"sha":"6029fbdd1d57b92970c6bac5df06cc0ba85394ab","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Introduce advisory refreshing period","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/6029fbdd1d57b92970c6bac5df06cc0ba85394ab"},{"sha":"81e219b233bdc4eab0733f421ad353e57b212d32","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Add final check for expired creds","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/81e219b233bdc4eab0733f421ad353e57b212d32"},{"sha":"a76f9b5d540f8324e2a4564cae882e5f51db57ae","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Add function tests for credential refresh","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/a76f9b5d540f8324e2a4564cae882e5f51db57ae"},{"sha":"572c92232dc34b7e96cbf8a003b46b4aa44692cf","author":{"email":"2cf33d49f22372a05d35d3b8ef200953078ff94b@amazon.com","name":"JordonPhillips"},"message":"Rename the truncate key to `boto_truncate_amount`","distinct":false,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/572c92232dc34b7e96cbf8a003b46b4aa44692cf"},{"sha":"890538d32f9b83e9d17dcadd6bad905778355e6b","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Merge branch 'simple-auth' into develop\n\n* simple-auth:\n  Fix line lengths\n  Remove caching in request signer","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/890538d32f9b83e9d17dcadd6bad905778355e6b"},{"sha":"9fb30de2f4dc906103599a63e237ede5704fb91e","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Rename argument to is_mandatory","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/9fb30de2f4dc906103599a63e237ede5704fb91e"},{"sha":"e0538842349a4cfeee4a2c7bb694bd10ff4ac477","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Add test comment explaning what we're testing","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/e0538842349a4cfeee4a2c7bb694bd10ff4ac477"},{"sha":"f27428e1c4f9d32b882e6c7134a49d931d83886e","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Remove unnecessary \"is not None\" checks","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/f27428e1c4f9d32b882e6c7134a49d931d83886e"},{"sha":"d1dda6031c323c796daee47e1380ab1dc1943284","author":{"email":"390c464fe370f537fa0f0d61eb3d6a8376f94be3@users.noreply.github.com","name":"Jordon Phillips"},"message":"Merge pull request #763 from JordonPhillips/refactor_pagination\n\nRefactored paginators to use a dict rather than a custom seperator.","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/d1dda6031c323c796daee47e1380ab1dc1943284"},{"sha":"9edadac8e73ae0ddc0132d2765f73f1ce81feca2","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Incorporate review feedback","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/9edadac8e73ae0ddc0132d2765f73f1ce81feca2"},{"sha":"91988891769efb3e2604f5a7ba7995b360d24273","author":{"email":"93f8bb0eb2c659b85694486c41717eaf0fe23cd4@jamesls.com","name":"James Saryerwinnie"},"message":"Merge branch 'DenverJ-fix_credential_race_condition' into develop\n\n* DenverJ-fix_credential_race_condition:\n  Incorporate review feedback\n  Remove unnecessary \"is not None\" checks\n  Add test comment explaning what we're testing\n  Rename argument to is_mandatory\n  Add function tests for credential refresh\n  Add final check for expired creds\n  Introduce advisory refreshing period\n  Rename method to frozen credentials\n  Retrieve refreshable credentials as a set","distinct":true,"url":"https://api.github.com/repos/JordonPhillips/botocore/commits/91988891769efb3e2604f5a7ba7995b360d24273"}]}