{"push_id":735686534,"size":10,"distinct_size":10,"ref":"refs/heads/master","head":"d17877bb3434f03bf8d58fc92c97be3c4d512992","before":"568caf794071f5312cfb7eef91e071f91f63155a","commits":[{"sha":"9e8082d8afbd70ff77a9d80d550bf8031829bb03","author":{"email":"4df758ce3a6beef7746645969126936e44e2d214@gmail.com","name":"Nicholas Lundgaard"},"message":"add .rebar and erl_crash.dump to .gitignore\n\n* the .rebar directory is generated when I use rebar on OS X.\n* erl_crash.dump is generated when the Erlang VM crashes.","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/9e8082d8afbd70ff77a9d80d550bf8031829bb03"},{"sha":"569e117650ab65e29dfdc0beee78d2a260ec6871","author":{"email":"4df758ce3a6beef7746645969126936e44e2d214@gmail.com","name":"Nicholas Lundgaard"},"message":"erlcloud_ses: support (most of) the rest of the SES API\n\nMethods not implemented:\n  * DeleteIdentityPolicy\n  * DeleteVerifiedEmailAddress (deprecated; use DeleteIdentity)\n  * GetIdentityPolicies\n  * ListIdentityPolicies\n  * ListVerifiedEmailAddresses (deprecated; use ListIdentities)\n  * PutIdentityPolicy\n  * SendRawEmail\n  * VerifyEmailAddress (deprecated; use VerifyEmailIdentity)\n\nAll other methods have been implemented. I have tested each method against the SES API using my own AWS account. This is backwards-compatible with the existing function (SendEmail was the only one), only I have added XML parsing to all methods—so, now, send_email returns `{ok, [{message_id, string()}]}` instead of a tuple of `ok` and a giant, naked XML body. If any client used this part of the response (e.g., some downstream parsing), this change will break that functionality.\n\nOther functions in the API generally return proplists, with title case parameters from AWS converted to erlang atoms where possible. Other values are converted to strings, integers, floats, and booleans as appropriate for the corresponding values in the AWS response.\n\nI've also added the ability to pass single items to lists. This means that, for example, in the `bcc_addresses` field of `To`, I can pass a single email address. The same is true for any function that expects a list of email addresses, identities, etc.\n\nFinally, errors: now, `erlcloud_ses` returns parsed errors when AWS responds with XML. It also returns erlang errors when invalid parameters (that cannot be encoded) are passed to it. Here are some examples:\n\n```erlang\nerlcloud_ses:set_identity_feedback_forwarding_enabled(\"email@example.com\", false).\n{error,{erlcloud_ses,{invalid_parameter_value,\"Feedback notification topic is not set.\"}}}\n```\n```erlang\nerlcloud_ses:set_identity_dkim_enabled(\"example.com\", trye).\n** exception error: {erlcloud_ses,{invalid_parameter,{dkim_enabled,trye}}}\n```","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/569e117650ab65e29dfdc0beee78d2a260ec6871"},{"sha":"c462118b3ec32d4c626df1b6018ee8c2420b79ff","author":{"email":"4df758ce3a6beef7746645969126936e44e2d214@gmail.com","name":"Nicholas Lundgaard"},"message":"Fix inconsistencies in erlcloud_ses documentation\n\n* this makes the examples more consistent with the AWS API documentation examples\n* also fixes a syntax error in one of them","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/c462118b3ec32d4c626df1b6018ee8c2420b79ff"},{"sha":"4be90de55a51bec72aced0cae435d0a0662e0027","author":{"email":"4df758ce3a6beef7746645969126936e44e2d214@gmail.com","name":"Nicholas Lundgaard"},"message":"Fix and extend unit tests for erlcloud_ses\n\n* added unit tests for all the new erlcloud_ses functions based on the AWS API documentation example XML\n* refactored the send_email unit tests based on example from the AWS API and the new response expecation.","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/4be90de55a51bec72aced0cae435d0a0662e0027"},{"sha":"70ba42b04aa68f844c25536c0bf6174e5b2da2e5","author":{"email":"02c6dd4e12b38fd1dd9e63ca46e4e93b1f662067@live.com","name":"Smiler Lee"},"message":"Add optional provisioned_throughput opt to update_table","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/70ba42b04aa68f844c25536c0bf6174e5b2da2e5"},{"sha":"002424f3a7689ca3c96286d3bcb7b9ec95da1e23","author":{"email":"02c6dd4e12b38fd1dd9e63ca46e4e93b1f662067@live.com","name":"Smiler Lee"},"message":"Wrap long lines","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/002424f3a7689ca3c96286d3bcb7b9ec95da1e23"},{"sha":"d7c333089c6b94116ecc108516abcceb17b6e253","author":{"email":"a2d961a38e5460160c9fc2f6da227542b2152c4d@talko.com","name":"Ransom Richardson"},"message":"Merge pull request #179 from nalundgaard/gitignore-additions\n\nadd .rebar and erl_crash.dump to .gitignore","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/d7c333089c6b94116ecc108516abcceb17b6e253"},{"sha":"efc0ae145adce96516496c792f1573463891060b","author":{"email":"a2d961a38e5460160c9fc2f6da227542b2152c4d@talko.com","name":"Ransom Richardson"},"message":"Merge pull request #180 from smilerlee/update_table\n\nAdd optional provisioned_throughput opt to update_table","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/efc0ae145adce96516496c792f1573463891060b"},{"sha":"6caba976dc5e23c009931fe2d4eb07403572eb85","author":{"email":"68c46a606457643eab92053c1c05574abb26f861@metalabdesign.com","name":"Jason Webster"},"message":"Support multi-byte characters in erlcloud_http:url_encode/1\n\nFixes https://github.com/gleber/erlcloud/issues/185","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/6caba976dc5e23c009931fe2d4eb07403572eb85"},{"sha":"d17877bb3434f03bf8d58fc92c97be3c4d512992","author":{"email":"a2d961a38e5460160c9fc2f6da227542b2152c4d@talko.com","name":"Ransom Richardson"},"message":"Merge remote-tracking branch 'upstream/master'","distinct":true,"url":"https://api.github.com/repos/talko/erlcloud/commits/d17877bb3434f03bf8d58fc92c97be3c4d512992"}]}