{"push_id":849996166,"size":664,"distinct_size":663,"ref":"refs/heads/master","head":"289a35b9ddbcc4dd0f9a5ba6470a46b1e7c52511","before":"6e502c9a2a39e3dcf2d153a7fd3b6f35c90b4879","commits":[{"sha":"d3607848f28c3b07677ccccf6cddab433996b7f3","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Add access to SSL peer certificate\n\nProvide access to a client's certificate information, which makes client\ncert based auth/cert SSO a lot more useful.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/d3607848f28c3b07677ccccf6cddab433996b7f3"},{"sha":"c61058f02c125d9d5e27e93d358c656419bc7b01","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Use DictionaryList instead of associative array\n\nThis should not invoke the GC as much.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/c61058f02c125d9d5e27e93d358c656419bc7b01"},{"sha":"aec6bfbb157b8cd3dbeecc49299b8cc68276f926","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Get rid of missing SSL context errors\n\nThis occurs a lot when using client cetificates, and then connections\nare dropped a couple of times before they are succesfully estbalished:\n\n    [0B573E01:0B613C01 2015.01.28 17:11:07.064 WRN] Handling of\n    connection failed: Failed to accept SSL tunnel: error:140D9115:SSL\n    routines:SSL_GET_PREV_SESSION:session id context uninitialized\n    (336433429)\n\nAssigning the local hostname as a context ID fixes this error.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/aec6bfbb157b8cd3dbeecc49299b8cc68276f926"},{"sha":"77dcff00a41bbc84c4dd247f7436369f7db9d5d3","author":{"email":"88a6749a906831188012cdff802c7f48f669c171@awtech.it","name":"Luca Niccoli"},"message":"Add HTTPClientResponse.switchProtocol()\n\nSince the response does not have access to the request headers,\nthe expected protocol must be supplied as a parameter.\n\nSigned-off-by: Luca Niccoli <l.niccoli@awtech.it>","distinct":false,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/77dcff00a41bbc84c4dd247f7436369f7db9d5d3"},{"sha":"50b6ad2360e897e5f2dd7007b7d76e9e3861d115","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Merge pull request #937 from lultimouomo/policySerialization\n\nAllow policy-based serialization","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/50b6ad2360e897e5f2dd7007b7d76e9e3861d115"},{"sha":"5049bd23cdda0192a271a5190392c6ceaab4e011","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Attempt to fix compilation on LDC/GDC.\n\nUsing the internal hash function in Druntime was originally intended to enable nothrow/@nogc, but it actually didn't, so we can better use the official hash functionality of TypeInfo.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/5049bd23cdda0192a271a5190392c6ceaab4e011"},{"sha":"2b8b187946b52709dab31e270a9146fd610cae51","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Avoid initialization of static stack array.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/2b8b187946b52709dab31e270a9146fd610cae51"},{"sha":"2b8a060bca245cd0ddf97926e02ad4b08fc8fef7","author":{"email":"f3ebcf422bedc3ffe7df572d2dc60f819cfb93ab@gmail.com","name":"Etienne Cimon"},"message":"struct destructors aren't currently called","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/2b8a060bca245cd0ddf97926e02ad4b08fc8fef7"},{"sha":"bfe063838615c1dd434249d8de6f53dd251dc007","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Merge pull request #987 from etcimon/patch-2\n\nstruct destructors are not being called","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/bfe063838615c1dd434249d8de6f53dd251dc007"},{"sha":"842fce37eb83cb1c04e60f289a9e123aed866cf4","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Fix two places where destructors have not been called.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/842fce37eb83cb1c04e60f289a9e123aed866cf4"},{"sha":"f2224ce47fa6c935eb67c3b4f0d343f58496cb89","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Replace spaces with tabs","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/f2224ce47fa6c935eb67c3b4f0d343f58496cb89"},{"sha":"896dec2e1d9a900b2f391dcf4d1155a92e91a656","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Missed one","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/896dec2e1d9a900b2f391dcf4d1155a92e91a656"},{"sha":"fe74291ed4449105138551920410b43813f95e8c","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Changes spaces to tabs","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/fe74291ed4449105138551920410b43813f95e8c"},{"sha":"d8b7a041abbd030f39e89ae76d77c64c7b5dbd28","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Merge pull request #965 from rix0rrr/ssl-peer-info\n\nAdd access to SSL peer certificate","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/d8b7a041abbd030f39e89ae76d77c64c7b5dbd28"},{"sha":"2fb019c012eba300b614b30ea7932cd35a910585","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Make the HashMap.opApply argument scope.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/2fb019c012eba300b614b30ea7932cd35a910585"},{"sha":"0676367e24a8be9d222cee7b4b05533131240154","author":{"email":"b60aab79d7529771cd29e4ffd7816b5eb8d06e47@gmail.com","name":"Rico Huijbers"},"message":"Change name and clarified purpose of guessSessionIDContext()","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/0676367e24a8be9d222cee7b4b05533131240154"},{"sha":"af1823c8678006e92752d763c004b962feb60236","author":{"email":"187aaad7b27db19262f4e0cbbe27f415f4a89ede@gmail.com","name":"Geod24"},"message":"Test libev drivers and libasync drivers as well in addition of libevent","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/af1823c8678006e92752d763c004b962feb60236"},{"sha":"126111ae1b68d8ffcf683a94e7762068bad1716f","author":{"email":"154e219ab6bfe2541ed6b4064d61c61e7c057e62@rejectedsoftware.com","name":"Sönke Ludwig"},"message":"Merge pull request #989 from Geod24/test-drivers\n\n[WIP] Test libevent, libev and libasync drivers","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/126111ae1b68d8ffcf683a94e7762068bad1716f"},{"sha":"94937238adbe8b6f8dbf3461554422cba9094ecd","author":{"email":"f3ebcf422bedc3ffe7df572d2dc60f819cfb93ab@gmail.com","name":"Etienne Cimon"},"message":"Assume array hold stack construction ordering\n\nI've started writing a pool stack and considered this as problematic if object B's destructor relies on an object owned by object A.","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/94937238adbe8b6f8dbf3461554422cba9094ecd"},{"sha":"93db187d1bbc0cfa8b755ebf4592e078fc41b4e1","author":{"email":"187aaad7b27db19262f4e0cbbe27f415f4a89ede@gmail.com","name":"Geod24"},"message":"Fix libev","distinct":true,"url":"https://api.github.com/repos/lultimouomo/vibe.d/commits/93db187d1bbc0cfa8b755ebf4592e078fc41b4e1"}]}