{"push_id":764994640,"size":88,"distinct_size":88,"ref":"refs/heads/issue#2808","head":"1917743e2b1c01d131505793010391ba4fd09add","before":"9470fad89badbffa5892eb5c17154e3cf12c44df","commits":[{"sha":"a2418fb1006f35deb5615f845723a4cd07753b82","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Update code with Task.FromCanceled/FromException/CompletedTask\n\nThe codebase was using TaskCompletionSource to create already canceled/faulted tasks.  With Task.FromCanceled/FromException, this is no longer necessary.  It was also using TaskCompletionSource to create an already completed task; with FromResult that wasn't necessary previously anyway, but we can improve upon it regardless with CompletedTask.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/a2418fb1006f35deb5615f845723a4cd07753b82"},{"sha":"ace2b3d7a9d45d97d9bdf650c4f70482be7bf731","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Fix CancellationTokenRegistration usage\n\nThe code was only disposing/unregistering cancellation token registrations if an exception happened, but not if everything completed successfully.  This leaks registrations into the cancellation token for as long as the token is alive.\n\nThe code was also allocating a new delegate for CancelIgnoreFailure on every registration.  This can be avoided by passing 'this' through as the object state to the registration, letting the compiler cache the delegate for the lambda.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/ace2b3d7a9d45d97d9bdf650c4f70482be7bf731"},{"sha":"e7ecf356a7041758efbac0ede81d562ac61376ac","author":{"email":"c9e9a13a93c88532567aa5ac09e52e7eebf237bd@microsoft.com","name":"Khoa Dang"},"message":"Fix one of DCS constructors that cause NRE in wcf","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/e7ecf356a7041758efbac0ede81d562ac61376ac"},{"sha":"982d9d13b2626c7420feaaf1777eb9d7a97b5b69","author":{"email":"69a47d9190b00e88484370f7bdccd9173c9239da@justinvp.com","name":"Justin Van Patten"},"message":"Cleanup X509Certificate collections\n\n- Avoid enumerator allocations when enumerating the collections.\n- Reduce the allocations associated with creating an enumerator (use\nList<T>'s struct enumerator instead of a boxed IEnumerator).\n- Throw ArgumentNullException from Insert and Remove to match the\nfull .NET Framework (desktop) behavior. Add tests to verify.\n- Remove some ArgumentOutOfRangeException checks as the underlying\nList<T> already throws that exception. Add tests to verify.\n- Use List<T>'s ICollection.SyncObject, allowing the field to be\nremoved.\n- Remove unused usings.\n- Move fields to the top of class definitions.\n- Object -> object; String -> string.\n- Minor whitespace cleanup.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/982d9d13b2626c7420feaaf1777eb9d7a97b5b69"},{"sha":"dc45820103258f957a33eda5fd5d68ed2412c2b2","author":{"email":"4a5659cad41d1147af30d97cb39599a025a3e412@live.com.au","name":"Bruce Bowyer-Smyth"},"message":"Additional String.Join tests","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/dc45820103258f957a33eda5fd5d68ed2412c2b2"},{"sha":"bb5e32a99dfd1ee7bf3c471a2b6f4c74528b61a5","author":{"email":"ae13e98881be1c223bbdc8defad62f04fd7d8c5e@microsoft.com","name":"Shruti Garg"},"message":"Enabling POST method options","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/bb5e32a99dfd1ee7bf3c471a2b6f4c74528b61a5"},{"sha":"f6dfd2fc75adc523e15141fafc23824c74382d00","author":{"email":"4a5659cad41d1147af30d97cb39599a025a3e412@live.com.au","name":"Bruce Bowyer-Smyth"},"message":"Changed Assert.True to Assert.Equals where appropriate","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/f6dfd2fc75adc523e15141fafc23824c74382d00"},{"sha":"cb59309edff96f8ffd2a25e1043fb92232d3c98a","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Make registry tests more robust\n\nCurrently if the registry tests are interrupted during their execution, they leave behind state in the registry that causes all subsequent runs of the tests to fail. This commit cleans up the registry tests to avoid this.  The logic for creating a name for the test class is moved into the base, which also deletes any existing key of that name prior to running a test.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/cb59309edff96f8ffd2a25e1043fb92232d3c98a"},{"sha":"dc801a562a25e05131821ae2a7bbe5583ef51043","author":{"email":"4a5659cad41d1147af30d97cb39599a025a3e412@live.com.au","name":"Bruce Bowyer-Smyth"},"message":"Updated Assert.Equal calls so that \"expected\" is the first param","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/dc801a562a25e05131821ae2a7bbe5583ef51043"},{"sha":"397c9fbb01c7b923041afbbcf8975144dd635f86","author":{"email":"4a5659cad41d1147af30d97cb39599a025a3e412@live.com.au","name":"Bruce Bowyer-Smyth"},"message":"Additional String.Join tests for null separators and empty arrays","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/397c9fbb01c7b923041afbbcf8975144dd635f86"},{"sha":"abaeaa896fb09e5ebba683f2614fc22f04fb6806","author":{"email":"4bbe6463cdfbba0969975546ad242213ee3c349c@microsoft.com","name":"Nick Guerrera"},"message":"Rename crypto shim API following discussion in #2606\n\nInterop.Libraries.CryptoInterop -> Interop.Libraries.CryptoNative\nInterop.NativeCrypto -> Interop.Crypto","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/abaeaa896fb09e5ebba683f2614fc22f04fb6806"},{"sha":"114441540f9f40110109a644a999539a558ebe8e","author":{"email":"48fadf7ca3de1ce1b63df43d173df0f5264f6d70@users.noreply.github.com","name":"Saurabh Singh"},"message":"Merge pull request #2447 from stephentoub/taskcleanup_commondb\n\nCleanup CancellationToken and Task usage in System.Data.Common","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/114441540f9f40110109a644a999539a558ebe8e"},{"sha":"c7ea66e22b41b0151890759194b367a904871d4e","author":{"email":"7ad46df05a100d2857c6f464b254895052d6c792@gmail.com","name":"Dmitry Turin"},"message":"Add more pipe tests","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/c7ea66e22b41b0151890759194b367a904871d4e"},{"sha":"ded3bd5e97db2b049c7d5c47b45c71ddf034dfd0","author":{"email":"44f878afe53efc66b76772bd845eb65944ed8232@hackcraft.net","name":"Jon Hanna"},"message":"Bring back range optimisation, fixed for boundary case.\n\n31599c5 introduced a boundary error, and was hence reverted in b75ffa4.\n\nThis reintroduces the idea of 31599c5, but fixed for the boundary case.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/ded3bd5e97db2b049c7d5c47b45c71ddf034dfd0"},{"sha":"1acb8f44664f723632fdce841c4d71f2e4b8c956","author":{"email":"69a47d9190b00e88484370f7bdccd9173c9239da@justinvp.com","name":"Justin Van Patten"},"message":"Harden X509Certificate collections\n\nThis commit introduces minor behavior changes in order to harden\nthe X509Certificate collections in .NET Core:\n\n1. Using X509CertificateCollection or X509Certificate2Collection as\nan IList allows adding/inserting non-X509Certificate objects into the\ncollection. Subsequent calls to enumerate or access these items\nresults in InvalidCastException being thrown. This matches the full\n.NET Framework (desktop) behavior. Clearly this is not the intended\nbehavior of these collections, which are meant to hold\nX509Certificate and X509Certificate2 objects. This commit changes\nX509CertificateCollection and X509Certificate2Collection to throw\nArgumentException when non-X509Certificate objects are attempted to\nbe added/inserted, via List<X509Certificate>. As part of this,\ncleanup calling the non-generic IList implementations and null\nchecking.\n\n2. X509CertificateEnumerator has a public constructor with a\ncollection parameter that it uses without first verifying the\nparameter is non-null, which could result in NullReferenceExceptions.\nThis commit adds a null check, throwing ArgumentNullException if the\nparameter is null.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/1acb8f44664f723632fdce841c4d71f2e4b8c956"},{"sha":"b35850aca14276107be61c0bbcf235c615e21e31","author":{"email":"69a47d9190b00e88484370f7bdccd9173c9239da@justinvp.com","name":"Justin Van Patten"},"message":"X509Certificate2Collection.Contains: Allow null certificates\n\nX509Certificate2Collection.Contains throws ArgumentNullException when\na null value is passed in, but the IList.Contains implementation and\nX509CertificateCollection.Contains do not. This commit changes\nX509Certificate2Collection.Contains to not throw for a null value to\nbe consistent with the IList.Contains implementation and\nX509CertificateCollection.Contains.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/b35850aca14276107be61c0bbcf235c615e21e31"},{"sha":"dd524b026f09a84928d31e2bcaadbe331c2dd329","author":{"email":"69a47d9190b00e88484370f7bdccd9173c9239da@justinvp.com","name":"Justin Van Patten"},"message":"Add more X509Certificate collection tests\n\nCoverage now 100% for X509CertificateCollection and enumerators, and\n99.3% for X509Certificate2Collection.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/dd524b026f09a84928d31e2bcaadbe331c2dd329"},{"sha":"3e11f82fbf9ba51db236c3b1bfe8b0d759540d74","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"Stephen Toub"},"message":"Merge pull request #2839 from bbowyersmyth/StringJoinTests\n\nAdditional String.Join tests","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/3e11f82fbf9ba51db236c3b1bfe8b0d759540d74"},{"sha":"3876ac0321232941915701df46c02459a4f2ff2f","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"Stephen Toub"},"message":"Merge pull request #2841 from Maxwe11/pipe-tests\n\nAdd more pipe tests","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/3876ac0321232941915701df46c02459a4f2ff2f"},{"sha":"6026ec5993a98c5a03c04a48a68f1d6ed346f8bc","author":{"email":"44f878afe53efc66b76772bd845eb65944ed8232@hackcraft.net","name":"Jon Hanna"},"message":"Combine is-operator-then-cast sequences.\n\nConvert some cases of the form:\n\n    if (value is T) ((T)value).DoSomething();\n\nEtc. Into:\n\n    T tValue = value as T;\n    if (tValue != null) tValue.DoSomething();\n\nSlightly smaller IL output, and removes double-cast in the case that uses it.","distinct":true,"url":"https://api.github.com/repos/pallavit/corefx/commits/6026ec5993a98c5a03c04a48a68f1d6ed346f8bc"}]}