{"push_id":2311217890,"size":18,"distinct_size":18,"ref":"refs/heads/master","head":"56e4f9b14e0b55b6ebf99e2ca8dc92feb532f295","before":"89130e838a70d7f1fb68e7da3b9b25acb6ac86af","commits":[{"sha":"7106ca9016bf28e777a6e8cc650270d6ebeb3517","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Update development dependencies (#298)","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/7106ca9016bf28e777a6e8cc650270d6ebeb3517"},{"sha":"ca68f8ea11ee2e8b0a2b2173aaa5bec99cd20b60","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Support multiple destination module name casings (#299)\n\nPreviously, we expected the \"struct name\" portion of the input name to\r\nbe a suitable module name string (for Module.concat/1). Lowercased names\r\nfailed this assumption because they're not valid aliases.\r\n\r\nThis change reworks the destination module name processing to ensure\r\nthat the \"struct name\" string starts with an initial capitalize letter.\r\n\r\nFixes #297","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/ca68f8ea11ee2e8b0a2b2173aaa5bec99cd20b60"},{"sha":"04debd652d44ba988fc0f01061f24c84aa04421e","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Fix up some Client type declarations (#302)\n\n- Remove unused retry/backoff types\r\n- Our `data` type is the same as `iodata`, so just use that","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/04debd652d44ba988fc0f01061f24c84aa04421e"},{"sha":"c8f12b10470924816a91530ec47d946fcf28e71e","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Remove the client-side retry logic (#303)\n\nIn addition to the moderate state-management complexity introduced by\r\nthis feature, we've also found that implementing message-level retry\r\nlogic directly within a Thrift client to not be ideal. Instead, retries\r\nare better implemented by either application logic (which has complete\r\nunderstanding of the message payloads, idempotence, etc.) or closer to\r\nthe wire level, which can make stronger guarantees about whether the\r\noriginal message was or was not delivered.\r\n\r\nWe also no longer attempt to reconnect from the disconnect/2 path.\r\nInstead, we :stop with a clear error reason.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/c8f12b10470924816a91530ec47d946fcf28e71e"},{"sha":"1a1344aef233a979bd9f1d2def947ffb80b90a90","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Stop special-casing the {:error, :closed} case (#304)\n\nWe can instead reply immediately (with the existing :disconnect case)\r\nand let the client send the :EXIT.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/1a1344aef233a979bd9f1d2def947ffb80b90a90"},{"sha":"c990f9d70346dbe420f9c2c590d401077baa066b","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Test against Elixir 1.5.3 / OTP 20.2 (#305)\n\nThese are the latest stable releases of Elixir and OTP.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/c990f9d70346dbe420f9c2c590d401077baa066b"},{"sha":"f2c14c09a7674a45dbc1a771cdae3b931a292bfb","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Use any free port for our test server process (#307)\n\nPassing 0 as the port tells the TCP subsystem to select any free port,\r\nand we can querying the server's listening port via a {:get, :port}\r\ncall.\r\n\r\nThis lets us drop the random_port() helper function and makes things\r\nsimpler overall.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/f2c14c09a7674a45dbc1a771cdae3b931a292bfb"},{"sha":"31d73b6d0f1e4c25b53618b4cd3955e6f85845a0","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Timeouts should also disconnect to close socket (#306)","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/31d73b6d0f1e4c25b53618b4cd3955e6f85845a0"},{"sha":"116fe03eef959f00371be7e83368a3614f2ea73e","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Remove with _with_options function variants (#308)\n\nThese were introduced to avoid potential conflicts between our options\r\nparameter (named `opts`) and an `opts` function paramter named by the\r\nThrift IDL.\r\n\r\nThis resulted in doubling the number of generated methods (as well as\r\nanother level of function call indirection), in addition to making the\r\nresulting user-callable API a little bit more complex.\r\n\r\nInstead, go back to using just two generated functions (the \"regular\"\r\ncall and the \"bang!\" exception-raising variant) and rename our options\r\nparameter to `rpc_opts`, which is very unlikely to conflict in practice.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/116fe03eef959f00371be7e83368a3614f2ea73e"},{"sha":"0e669da0c85f2b80c0794c22a9cc2d5578201afa","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Further simplify the generated client code (#309)\n\n- We don't need the fullly-qualified service module because we're\r\n  already generating code within it. This improves readability and\r\n  cuts down on the overall size of the generated source file.\r\n- Just use unquote/1 in the response handler macros to reduce the\r\n  amount of generated code that was being produced by bind_quoted.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/0e669da0c85f2b80c0794c22a9cc2d5578201afa"},{"sha":"5de8597ca961496001b2c504d23af56442cbd6bb","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Delegate Client.start_link to ClientImpl (#311)","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/5de8597ca961496001b2c504d23af56442cbd6bb"},{"sha":"82396f6da5d588871f0c75cd2137fdf77e1a9f25","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Improve the oneway function client-server test (#310)\n\nThis test has been flaky because it relies on race conditions.\r\n\r\nForce synchronization using :sys.get_state/1 and remove\r\nassertions that can't be guaranteed.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/82396f6da5d588871f0c75cd2137fdf77e1a9f25"},{"sha":"50c575831e1c37af010b0ff19f0b42c6e1a2d925","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Switch to using \"Error\" as our exception suffix (#314)\n\nThis is more consistent with Elixir's own naming conventions. It also\r\nremoves a small amount of ambiguity with code that refers to Thrift's\r\nexceptions; that is, things named \"exceptions\" in this library are\r\nnearly all Thrift exceptions.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/50c575831e1c37af010b0ff19f0b42c6e1a2d925"},{"sha":"19782388a447b5adaa9d9ee81833a94879321442","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Fix heredoc indentation (#315)","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/19782388a447b5adaa9d9ee81833a94879321442"},{"sha":"c0cebe5d19940296906002713a44fcd36838efbd","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Avoid using String.Casing.titlecase_once/1 (#317)\n\nThis is a private Elixir library function, and its arity changed to\r\n`/2` in Elixir 1.6 to support a new `mode` parameter.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/c0cebe5d19940296906002713a44fcd36838efbd"},{"sha":"adb1145ce21ac5eef33c6dfded24768bf6b5e445","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Test under Elixir 1.6 (#316)\n\nElixir 1.6 is allowed to fail for now.\r\n\r\nAlso, switch version syntax to just specify the minor (but not patch)\r\nversion. Travis will also use the latest know patch release in this\r\ncase.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/adb1145ce21ac5eef33c6dfded24768bf6b5e445"},{"sha":"3057d5e1af3cacf8c822ea2de3894a8a442a1437","author":{"name":"Jon Parise","email":"1bde51fb45d31234a937eabeae454399af21dc56@pinterest.com"},"message":"Support Elixir 1.6 setup_all context change (#318)\n\nElixir 1.6's ExUnit implementation changed such that setup_all's\r\n`context` now contains a `:module` key instead of a `:case` key.\r\nBackwards compatibility was intended, but it looks like the ExUnit\r\nrunner now only passes `:module`.","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/3057d5e1af3cacf8c822ea2de3894a8a442a1437"},{"sha":"56e4f9b14e0b55b6ebf99e2ca8dc92feb532f295","author":{"name":"James Fish","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@fishcakez.com"},"message":"Improve log handling in tests and binary server (#321)\n\nPreviously all backends were removed which would hide all logs. This\r\nis quite inconvenient if a test fails. Capture log will only show\r\noutput for failed tests (grouped and inline with each test failure).\r\n\r\nDo not log expected errors (tcp socket will always close eventually).","distinct":true,"url":"https://api.github.com/repos/thecodeboss/elixir-thrift/commits/56e4f9b14e0b55b6ebf99e2ca8dc92feb532f295"}]}
{"actor":{"display_login":"thecodeboss"}}