v1.2
v1.2
This changelog includes changes from v1.0.2 to v1.2.0.
What's Changed
- Added the
StringValue.Create(string)
method. - Added the
HttpResponse(HttpStatusInformation)
constructor. - Added
IEquatable<Route>
toRoute
class. - Added
IEquatable<MultipartObject>
toMultipartObject
class. - Added
notnull
for constraint<T>
of theValueResult<T>
class. - Added the
DefaultPageCSS
static property toDefaultMessagePage
class. - Added the
CreateBuilder(string)
static method toHttpServer
class. - Added experimental support for listening ports paths instead only listening at the root index.
- Added the
ListeningPort.Path
property, plus their constructors. - Added the
HttpRequest.RouteParameters
property. In next Sisk versions, all path/route parameters will be moved to this property insteadHttpRequest.Query
. For now, theQuery
property will have the same behavior as before. - Added boolean operators for
HttpStatusInformation
struct. - Added the
StringKeyStore
class. - Added the
CookieHelper.BuildCookieHeaderValue
static method. - Added the
ConfigurationFileLookupDirectory
enum toPortableConfigurationBuilder.WithConfigFile
method. - Added the
HttpContext.ExtraHeaders
property. - Added the extension method
HttpResponse.WithCookie(Cookie)
method. - Added the
HttpServerExecutionResult.Context
property. - Improved the
ListeningPort.Parse
method. - Improved various
CookieHelpers
methods syntax signatures. - The
HttpContext.Router
property ins't nullable anymore. - The
HttpServerConfiguration.AccessLogsStream
property nows defaults toLogStream.ConsoleOutput
. - The
HttpRequestException
is now sealed. - The
HttpResponse.Headers
property ins't read-only anymore. - The
HttpServerFlags.EnableNewMultipartFormReader
is now enabled by default. If you encounter problems with the Multipart form parser, you can disable it and use the old parser. - The
Router.GlobalRequestHandlers
ins't nullable anymore. And it is anList<IRequestHandler>
insteadIRequestHandler[]
now. - The
Router.NotFoundErrorHandler
andRouter.MethodNotAllowedErrorHandler
now, by default, returns an HTML response fromDefaultMessagePage
if the requests acceptstext/html
. You can disable this behavior by overriding the mentioned properties. - The
ServerConfiguration.MaximumContentLength
property is nowInt64
insteadInt32
. - Route matching and conflict catching algorithms improved.
- Removed string-based route-path algorithms.
- Fixed an issue regarding how the
CertificateUtil
class generates hashcodes for DNS names. - Fixed various documentation members typos.
- Fixed an issue where the
Expires
andLast-Modified
headers fromHttpContentHeaders
objects weren't being sent as universal time, but local time. - Fixed more issues related ot the
HttpContentHeaders
. - Fixed an issue where the
HttpServer
weren't releasing theWaitNext()
method on dispose. - Fixed an issue related to
HttpWebSocket
connections not being correctly closed. - Fixed
Sisk.SslProxy
HTTP serializer and deserializer issues. - Fixed logic error on
StringValueCollectoin.TryGetValue
. - Fixed multiple issues related to the
IniConfigurationReader
INI-configuration reader. - Fixed numeric errors on
SizeHelper
constants.
Breaking and deprecating changes:
- [Breaking] Dropped support for .NET 6 and 7. These versions will be maintained until November 30, 2024, in the
legacy
1.0.x branch for severe bugs and critical security issues. - [Breaking] Removed the
HttpServerHostContextBuilder.UseAutoScan(bool)
method. Thebool
parameter was removed. - [Breaking] Removed the
HtmlContent.DefaultEncoding
static property. It now evaluates toEncoding.Default
. - [Breaking] Removed the
HttpRequest.SetContextBag*
andHttpRequest.GetContextBag*
methods. You should use theHttpRequest.Bag
property instead. - [Breaking] Removed the
HttpRequest.Close*
method. You should use theHttpResponse.Refuse()
method instead. - [Breaking] Removed the
HttpResponse.CreateEmptyResponse
method. You should use the emptyHttpResponse
constructor instead. - [Breaking] Removed the
HttpResponse.CreateRedirectResponse
method. - [Breaking] Removed the
HttpResponse.StatusInformatoin
property. You should use theHttpResponse.Status
property instead. - [Breaking] The
AutoScanModules
methods (onRouter
andHttpServerHostContextBuilder
) now automatically set static classes as static members and searches for instance and static methods in instance classes if an public constructor is found. - [Breaking] The
RouterModule.HasRequestHandler(IRequestHandler)
method is nowprotected
. Before waspublic
. - [Breaking] Renamed the
Sisk.IniConfiguration.IniConfigurationPipeline
class name toIniConfigurationReader
. - [Depreated] the
HttpRequest.GetQueryValue
andHttpRequest.GetQueryValue<T>(string)
methods are now deprecated. You should use theHttpRequest.Query
property instead.