{"push_id":735456091,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"7ccbdb65111b7f22b6460f6dcc2bc3800d37163b","before":"2c56ffceeba16ce19bfa04b580ed5287954398e2","commits":[{"sha":"cffba15387cb7e8cde05886a35ee69c00a19782b","author":{"email":"1896b3b953f1c61f6ecf48a3a20b2216e51a7cf3@smartlabs.tv","name":"Konstantin Tokarev"},"message":"Split getDevicesFromMiniSSDPD into 4 steps to allow reuse of local socket.\n\nIt allows allows client application to use event loop instead of blocking\nin read() while waiting for server reply.","distinct":true,"url":"https://api.github.com/repos/miniupnp/miniupnp/commits/cffba15387cb7e8cde05886a35ee69c00a19782b"},{"sha":"f29b026f380665419e470c17f24083aa655e2f9e","author":{"email":"1896b3b953f1c61f6ecf48a3a20b2216e51a7cf3@smartlabs.tv","name":"Konstantin Tokarev"},"message":"Use /var/run/minissdpd.sock as default socketpath in connectToMiniSSDPD().","distinct":true,"url":"https://api.github.com/repos/miniupnp/miniupnp/commits/f29b026f380665419e470c17f24083aa655e2f9e"},{"sha":"7ccbdb65111b7f22b6460f6dcc2bc3800d37163b","author":{"email":"1896b3b953f1c61f6ecf48a3a20b2216e51a7cf3@smartlabs.tv","name":"Konstantin Tokarev"},"message":"Report more error kinds from minissdpc functions.","distinct":true,"url":"https://api.github.com/repos/miniupnp/miniupnp/commits/7ccbdb65111b7f22b6460f6dcc2bc3800d37163b"}]}