KestrelHttpServer Versions Save

[Archived] A cross platform web server for ASP.NET Core. Project moved to https://github.com/aspnet/AspNetCore

rel/1.1.0

7 years ago

Features

  • Reject requests that don't set Content-Length or Transfer-Encoding: chunked (#1130)

Bugs Fixed

  • Attempting to write to HEAD response hangs the request (#1202)
  • NullReferenceException during server shutdown (#1188)
  • MemoryPoolIterator.PeekLong() sometimes returns invalid values (#1183)
  • Handle non "chunked" Transfer-Encoding request header values. (#1181)
  • Don't log ECONNRESET's between requests and during shutdown (#1176)
  • Kestrel considers Connection: keep-alive, upgrade as non-upgrade request (#1170)
  • TCP Loopback Fast Path causes occasional connection hangs (#1147)
  • HttpContext disposed before the error code is set. (#876)

rel/1.1.0-preview1

7 years ago

Features

  • Poor log message when trying to connect with https to an http endpoint (#1116)
  • Implement CopyToAsync on FrameRequestStream (#1096)
  • Make Kestrel's response buffer limit configurable (#1061)
  • Random 502 cgi gateway error when response 304 then flush response (#952)
  • Limit request line length (#784)
  • Use async/await in FilteredStreamAdapter.ReadInputAsync() (#765)
  • Return different status codes depending on condition (#653)
  • Add header limit parameters (#475)
  • Add keep-alive timeout parameter (#464)

Bugs Fixed

  • Connection header "close" hangs (#1104)
  • TakeStartLine and TakeMessageHeaders can spin without awaiting given incomplete data (#1095)
  • Include port in EADDRINUSE exception (#1086)
  • Test returns block to pool twice (#1013)
  • Two tests don't return blocks to the memory pool (#1012)
  • Intermittent CI failure WritesDontCompleteImmediatelyWhenTooManyBytesIncludingNonImmediateAreAlreadyPreCompleted (#1002)
  • Assert "Block being garbage collected instead of returned to pool" on Travis/Linux (#988)
  • Read after connection error can throw two different exception types (#975)
  • HttpsContentFilter Error on Azure Service Fabric (#960)
  • Check for connection errors when attempting to read request data (#959)
  • When HttpResponse.Body is replaced, the replacement is used for future requests (#940)
  • Considering treating ECONNRESET as an error case (#934)
  • Setting Response.OnStarting should throw when response already started (#806)
  • StreamSocketOutput.WriteAsync is Sync on Full framework (SSL) (#768)
  • Handle response content-length mis-match errors (#175)

rel/1.0.1

7 years ago

Bugs Fixed

  • When HttpResponse.Body is replaced, the replacement is used for future requests (#1028)

1.0.0

7 years ago

Features

  • Include libuv in shared runtime instead of Kestrel packages (#730)
  • Improve request line parsing (#683)
  • Limit size of memory buffer when reading request (#304)

Bugs Fixed

  • Reset Frame's IHttpRequestFeature.Headers and IHttpResponseFeature.Headers between requests (#879)
  • ServerAddress.FromUrl() should throw for invalid url (#875)
  • System.NullReferenceException: Object reference not set to an instance of an object at .Kestrel.Infrastructure.Headers.Initialize (#866)
  • ServerAddress.FromUrl("http://") throws ArgumentOutOfRangeException (#860)
  • Send 'Connection: close' in all 400 responses to HTTP/1.1 requests (#840)
  • FrameContext is an unneeded class (#837)
  • Client certificates are disposed before request can use them (#830)
  • NullReferenceException during shutdown (#827)
  • Don't bind if only port is specified. (#814)
  • Response allows setting StatusCode and ReasonPhrase after response was started (#805)
  • Kestrel Logs print full assembly name as category name (#775)
  • Remove DNX mono support for loading libuv (#742)
  • Bind to IPv6 loopback address when the "localhost" is specified (#231)
  • Move the response date header later (#223)

1.0.0-rc2

8 years ago

Features

  • Add IWebHostBuilder.UseKestrel(options) overload to configure Kestrel (#720)
  • Consider adding UseKestrel extension method to IWebHostBuilder (#713)
  • Add CORS headers to known reponse headers to avoid initialization of unknown headers code path (#389)
  • Support ClientCertificate (#332)
  • Kestrel isn’t calling context.RequestAborted (#297)
  • RemoteIpAddress is not set by Kestrel (#67)
  • RequestAborted cancellation tokens not triggered for Kestrel (#30)

Bugs Fixed

  • Race causing request corruption/data loss (#782)
  • Calling UseKestrel() (no args) then calling Configure<KestrelServerOptions> ends up with null service provider (#755)
  • Server crashes due to null reference when connection is aborted before frame is created (#738)
  • Exception at System.Net.Security.SslStreamInternal.EndRead when proxy request from Nginx to Kestrel through HTTPS (#737)
  • Race when consuming start line and headers sent immediately before client FIN (#704)
  • Allocations of Frame(Request|Response)Headers (#695)
  • Error -4082 EBUSY resource busy or locked (#684)
  • Wrong HTTP version in test response (#672)
  • Ssl Protocol should default to TLS1.2 only (#637)
  • Throw InvalidOperationException if the user tries to modify response headers after the body starts (#628)
  • Chunked responses are not flushed until the response completes (#598)
  • Properly return pooled blocks in SocketInput (#580)
  • System.ArgumentOutOfRangeException: Non-negative number required (#579)
  • Unable to load DLL 'libuv': The specified module could not be found - (kestrel) Windows IOT (#488)
  • Response header should accept null values (#429)
  • Don't wait to consume the entire request body for Connection: close requests (#406)
  • The default thread count should be reflected on KestrelServerInformation.ThreadCount during application start (#404)
  • Connection id "30" disconnected. (#392)
  • Frame._scheme is not reset per request (#366)
  • SocketOutput sometimes pre-completes too many writes which breaks throttling (#356)
  • Https package not being compiled against CoreCLR (#345)
  • rc1 INCOMPLETE_CHUNKED_ENCODING when using nginx (#341)
  • libuv should be in win7-arm and not win10-arm folder (#340)
  • Travis jamms/hangs (#338)
  • RequestBody draining still allocates per-request buffers (#334)
  • Don't throw UvException directly to users (#299)
  • Normalize URL (#273)
  • Call new IHttpContextFactory.Dispose(...) from request end (#258)
  • Kestrel takes 2-3 seconds to shutdown if any connections have been made (#247)
  • Multi-loop Kestrel on Windows blocked by libuv change (#232)
  • Issues running Kestrel on Linux: System.DllNotFoundException: libdl (#78)

1.0.0-rc1

8 years ago

Features

  • Add API to IKestrelServerInformation to enable/disable Nagle's algorithm (#172)
  • Don't block when calling user-defined OnStarted and OnCompleted callbacks (#143)
  • Graceful crashing, logging (#129)
  • Support Https (#83)

Bugs Fixed

  • Don't mask libuv load failures with a NullReferenceException (#302)
  • Consuming request body allocates a lot (#296)
  • Using Kestrel stand-alone sometimes gives 404's (#270)
  • Use DllImport for Libuv native binaries (#244)
  • Path should be unescaped (#124)

1.0.0-beta8

8 years ago

Features

  • Style: Kestrel cleanup (#184)
  • Style: Refactor flow control (#183)
  • Support UNIX sockets (#156)

Bugs Fixed

  • Unable to read big json file from Request.Body (#234)
  • MemoryPool2 OverflowException on x64 (#227)
  • Multi-thread Kestrel crashes on x64 DNX (CLR & Core CLR) on Windows (racy) (#205)
  • Gracefully fail if a Listener fails to start (#185)
  • Issue with ThreadCount > 1 on Linux (#166)
  • Terminal window hangs on linux after starting Kestrel server (#108)
  • ServerFactory.Start does not cleanup properly if exception after first engine.CreateServer (#102)
  • Running k kestrel should display the address and port that is being listened on (#32)

1.0.0-beta7

8 years ago

Features

  • Automatically add "Server" header to responses (#138)
  • Implement chunked responses (#97)
  • Inconsistent package naming (#11)

Bugs Fixed

  • Responses will never complete if nothing is written to the response body (#173)
  • Debug flaky test SocketOutputTests.CanWrite1MB (#154)
  • Kestrel becomes unresponsive when running sample under load (#127)
  • Returns 200 for unhandled exceptions (#43)
  • Exception in OnSendingHeaders not handled resulting in request hangs (#25)

1.0.0-beta6

8 years ago

Bugs Fixed

  • Regression on stopping the server (#111)

1.0.0-beta5

8 years ago