+2010-07-21 Miguel de Icaza <miguel@novell.com>
+
+ * HttpApplication.cs, HttpRuntime.cs, HttpApplicationFactory.cs:
+ Prepare for the runtime change that will terminate threadpool
+ threads when exception are not caught.
+
+2010-06-27 Marek Habersack <mhabersack@novell.com>
+
+ * HttpUtility.cs: if IHtmlString instance is passed to HtmlEncode
+ (object), use IHtmlString.ToHtmlString () to return the value
+ without encoding it.
+
+2010-06-02 Marek Habersack <mhabersack@novell.com>
+
+ * DefaultHttpHandler.cs: implemented, so that static file requests
+ work again in 4.0
+
+2010-06-01 Marek Habersack <mhabersack@novell.com>
+
+ * HttpUtility.cs: moved chunks of code to the new
+ System.Web.Util.HttpEncoder class.
+
+ * HttpResponseHeader.cs: encode header names and values using
+ HttpEncoder.
+
+ * HttpRequest.cs: added internal method Validate, to validate the
+ request in 4.0 profile.
+
+ * HttpHeaderCollection.cs: added. A helper class to encode header
+ names/values on add.
+
+ * HttpApplication.cs: Pipeline () validates request by calling
+ HttpRequest.Validate in the 4.0 profile.
+
+2010-05-17 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: pre-application start methods must be
+ called even before App_Code is compiled.
+
+2010-05-16 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: let BuildManager know when it's safe
+ to cache referenced assemblies.
+
+2010-05-15 Marek Habersack <mhabersack@novell.com>
+
+ * HttpResponse.cs: added internal Context property
+
+ * HttpRequest.cs: added a setter to the internal Context property
+
+ * HttpContext.cs: set request and response Context properties to
+ 'this' in the constructor.
+
+2010-05-12 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: when initializing new application
+ type, make sure to call pre-application start methods.
+
+ * HttpServerUtility.cs: Execute checks whether
+ IAsyncResult.AsyncWaitHandle is not null before attempting to use
+ it. Fixes bug #604502
+
+2010-05-06 Marek Habersack <mhabersack@novell.com>
+
+ * PreApplicationStartMethodAttribute.cs: added. New 4.0 type.
+
+ * HttpUtility.cs: HtmlEncode, UrlEncode changes for 4.0
+ Implemented JavaScriptStringEncode for 4.0
+
+ * HttpServerUtility.cs: added TransferRequest methods.
+
+ * HttpRuntime.cs: added AspClientScriptPhysicalPath,
+ AspClientScriptVirtualPath, UsingIntegratedPipeline properties and
+ the GetNamedPermissionSet method.
+
+ * HttpResponse.cs: implemented the following 4.0 methods:
+ RedirectPermanent, RedirectToRoute, RedirectToRoutePermanent and
+ RemoveOutputCacheItem.
+ Output property no longer lazily creates a writer object - it's
+ created in the internal constructors. If a user sets it to null,
+ it remains null for good or bad.
+ Added Output setter for 4.0+
+
+2010-05-05 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: implemented new 4.0 property - RequestContext
+
+2010-04-29 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: added 4.0 InsertEntityBody overloads (not
+ supported when running under Mono)
+ Added the HttpChannelBinding 4.0 property.
+ Added the CurrentExecutionFilePathExtension 4.0 property.
+
+2010-04-27 Marek Habersack <mhabersack@novell.com>
+
+ * HttpException.cs: implemented 4.0 property WebEventCode, also
+ made it available in the 2.0 profile as internal.
+ Added a method with several overloads, NewWithCode, which creates
+ an instance of HttpException and sets the web error code.
+
+ * HttpApplication.cs, HttpRequest.cs, HttpRuntime.cs: use HttpException.NewWithCode for some
+ exceptions.
+
+2010-04-21 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: update to fix for bug #572469 - ProcessError
+ clears the error after handler return only if stop_processing is
+ true. Also, stop_processing is never set before calling ProcessError
+
+2010-04-02 Marek Habersack <mhabersack@novell.com>
+
+ * HttpException.cs: handle situations when current exception is an
+ instance of a class derived from HttpException and there's no
+ InnerException.
+
+ * HttpApplication.cs: ProcessError must call ClearError on the
+ current context after the handler returns without error. Fixes bug
+ #572469
+
+2010-03-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * HttpResponseStream.cs: speed up short writes.
+
+2010-03-20 Marek Habersack <mhabersack@novell.com>
+
+ * SiteMapNode.cs: avoid calling ChildNodes twice in HasChildNodes.
+ Cache child nodes in the ChildNodes property.
+
+2010-03-06 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: cache RawUrl value.
+ Added new internal property, PathNoValidation, which returns
+ request path without validating it.
+ Implemented 4.0 extensible validation.
+
+ * HttpApplication.cs: Pipeline () validates the request path, if
+ new validation mode is enabled, before doing anything else.
+ Added a generic LoadType overload which checks whether the loaded
+ type, if any, derives from the type specified in the method's
+ specialization.
+
+ * HttpUtility.cs: decode entities which use hexadecimal
+ encoding. Fixes bug #585992. Patch from Sebastien Morin
+ <smsisko@gmail.com>, thanks!
+
+2010-03-04 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntime.cs: do less work in the static constructor. Most of
+ the code was moved to System.Web.Util.RuntimeHelpers. Properties
+ which have been moved: MonoVersion, RunningOnWindows,
+ CaseInsensitive, IsDebuggingEnabled
+
+2010-02-27 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntime.cs: added internal property DomainUnloading.
+
+ * HttpApplication.cs: when app domain is unloading, catch
+ ThreadAbortExceptions and reset the abort.
+
+2010-02-03 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: GetOutputCacheProviderName returns the value
+ of OutputCache.DefaultProviderName
+
+ * HttpRuntime.cs: internal cache is used to hold the dependencies
+ now.
+
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: implemented the 4.0 SetSessionStateBehavior
+ method
+
+ * HttpCacheVaryByContentEncodings.cs, HttpCacheVaryByHeaders.cs,
+ HttpCacheVaryByParams.cs : parameterless constructors are public
+ in 4.0
+
+ * HttpApplication.cs: implemented the 4.0
+ GetOutputCacheProviderName method
+
+2010-01-19 Marek Habersack <mhabersack@novell.com>
+
+ * StaticSiteMapProvider.cs: AddNode checks the url of node
+ returned by FindSiteMapNode to see if it indeed was a
+ duplicate. It is necessary if application derives from
+ StaticSiteMapProvider and overrides FindSiteMapNode to return
+ RootNode if rawUrl doesn't match any existing node. Fixes bug
+ #570194
+
+2010-01-09 Marek Habersack <mhabersack@novell.com>
+
+ * VirtualPathUtility.cs: small optimizations for GetDirectory
+
+2009-11-23 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: PathInfo returns an empty string when worker
+ request is absent or its GetPathInfo method returns a null. Patch
+ from Tiaan <tagdev@gmail.com>, thanks!
+
+2009-11-19 Marek Habersack <mhabersack@novell.com>
+
+ * VirtualPathUtility.cs: made Normalize internal
+
+2009-11-16 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: RewritePath now treats non-rooted and
+ app-relative paths correctly - the former are formed by
+ concatenating base virtual path with the passed file path and the
+ latter by calling VirtualPathUtility.ToAbsolute. Rooted and
+ absolute paths are left unmodified. Fixes bug #550103
+
+2009-11-13 Marek Habersack <mhabersack@novell.com>
+
+ * HttpResponse.cs: added parameter checks to Redirect ().
+ If the passed url starts with http:, https:, file: or ftp: then it
+ is treated as a fully qualified one and no attempt to rewrite the
+ url to the fully qualified form (if system.web/httpRuntime
+ UseFullyQualifiedRedirectUrl is true) is made.
+
+2009-11-09 Marek Habersack <mhabersack@novell.com>
+
+ * HttpCookie.cs: made HttpCookie.CookieNVC serializable. Patch
+ from Sean Foy <sean.foy+novell@gmail.com>, thanks! Fixes bug
+ #553063
+
+ * HttpCookieCollection.cs: Add allows for duplicate cookie
+ names. Fixes bug #553150
+
+2009-10-30 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: added internal property ClientFilePath, which
+ may have a different value than FilePath when virtual path has
+ been rewritten, but the caller specified that the client paths
+ should still be constructed using the original url.
+
+ * HttpContext.cs: RewritePath always sets Request.FilePath,
+ Request.ClientFilePath is set only when setClientFilePath is
+ true. This makes client urls work correctly when url rewriting is
+ being used.
+
+2009-10-20 Marek Habersack <mhabersack@novell.com>
+
+ * HttpResponse.cs: implemented the WriteSubstitution method,
+ thus enabling post-cache substitution.
+
+2009-10-12 Marek Habersack <mhabersack@novell.com>
+
+ * HttpResponse.cs: actually _use_ the url passed to Redirect when
+ fully qualified redirect url is requested, doh. Fixes bug #542846
+
+2009-10-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * StaticFileHandler.cs: it's the last flush even when a VPP is used.
+
+2009-10-07 Marek Habersack <mhabersack@novell.com>
+
+ * TraceData.cs: make long execution times stand out.
+
+2009-09-29 Miguel de Icaza <miguel@novell.com>
+
+ * HttpUtility.cs: Do not use CAS Attributes when using MonoTouch.
+
+ Remove unnecesasry using clause.
+
+2009-09-29 Marek Habersack <mhabersack@novell.com>
+
+ * HttpResponse.cs: use full url in redirect if
+ UseFullyQualifiedRedirectUrl is set to true in httpRuntime
+ configuration section. Patch from Brett Kiefer
+ <brett@fogcreek.com>, thanks! Fixes bug #542846
+
+2009-09-28 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: GetResourceProvider - renamed the 'key' argument
+ to 'virtualPath' in order to reflects its purpose better. Local
+ resource providers are created for the passed virtualPath and not
+ for the current request's path. Fixes bug #542484
+
+2009-09-25 Marek Habersack <mhabersack@novell.com>
+
+ * StaticSiteMapProvider.cs: MapUrl must normalize paths. Fixes bug
+ #541969
+
+ * XmlSiteMapProvider.cs: siteMapFile parameter must be mapped in
+ Initialize. Fixes bug #541969
+
+2009-09-24 Marek Habersack <mhabersack@novell.com>
+
+ * XmlSiteMapProvider.cs: added "securityTrimmingEnabled" to the
+ list of supported attributes in Initialize. Fixes bug #541607
+
+2009-09-07 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: when creating local resource provider, pass the
+ current file's virtual path to CreateLocalResourceProvider. Fixes
+ bug #536757
+
+ * XmlSiteMapProvider.cs: do not allow the provider to be
+ intialized more than once.
+ Initialize throws if it finds unknown attributes in the
+ 'attributes' collection.
+ AddNode checks its arguments and throws if they are null or aren't
+ from the same provider.
+ FindStartingNode throws exceptions in several erroneous situations
+ now.
+ Added private method GetConfigDocument which performs several
+ checks on the source .sitemap file and throws exceptions if it
+ finds any errors.
+ BuildSiteMap clears provider state before building the map.
+ BuildSiteMapRecursive correctly deals with custom providers. Fixes
+ bug #465696
+ FindSiteMapNode maps url before searching. Fixes bug #465696
+
+ * VirtualPathUtility.cs: Combine a bit more efficient
+
+ * StaticSiteMapProvider.cs: FindSiteMap node checks if rawUrl is
+ relative to application root and if yes, makes it absolute.
+ MapUrl converts both rooted and not rooted urls to absolute.
+
+ * SiteMapProvider.cs: check if HttpContext.Request exists before
+ using it in FindSiteMapnode
+
+ * SiteMap.cs: Providers collection must be read-only.
+
+2009-09-04 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntime.cs: retrieve real Mono version from the runtime and
+ store it in the MonoVersion internal static property.
+
+ * HttpException.cs: report real Mono version when backtrace is
+ displayed.
+
+2009-08-24 Marek Habersack <mhabersack@novell.com>
+
+ * VirtualPath.cs: Added new constructor which takes virtual and
+ physical paths as well as a boolean marking the instance as
+ referring to a fake location. Part of fix for bug #463813
+
+2009-07-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * HttpApplicationFactory.cs: allow subclasses of EventHandler for
+ event handlers in global.asax.
+ Fixes bug #525743.
+
+2009-07-23 Marek Habersack <mhabersack@novell.com>
+
+ * HttpException.cs: if an exception is processed which refers to
+ internal "files", don't show the internal name.
+
+2009-07-18 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: GetGlobalResourceObject must look for resources
+ in the 'Resources' "namespace" - it was a regression from the
+ previous change to that method.
+
+2009-07-15 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: added internal methods to
+ enable/disable specific watchers. Part of fix for bug #522017
+
+2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * ApplicationShutdownReason.cs: add new 3.5 value.
+ * ParserErrorCollection.cs: add setter for ParserError.
+ Patch from Daniel Gagne.
+
+2009-07-14 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: OnFileChanged doesn't reload
+ application if reload suppression is active.
+
+2009-07-13 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: LoadType - wrap call to LoadTypeFromBin in
+ try/catch so that we can decide whether or not to throw
+ exceptions. LoadTypeFromBin - ignore the FileLoadException and
+ BadImageException exceptions as they don't matter in this
+ context.
+
+2009-07-13 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * HttpResponseStream.cs: Added argument checks to Write. Modified
+ methods/properties that requires a readable stream to throw
+ NotSupportedException instead of InvalidOperationException for
+ compatibility with MS.
+
+2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * HttpApplication.cs: use GetSection instead of
+ OpenWebConfiguration+GetSection.
+
+2009-07-09 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: fall back to default resource provider factory
+ if the factory provided by user doesn't have the required object
+ in Get{Global,Local}ResourceObject. Fixes bug #520397
+ Refactored the GetResourceObject method and the
+ ResourceManagerCacheKey class to DefaultResourceProvider.
+
+2009-07-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * ParserError.cs: add 3 missing setters. Patch from Daniel Gagne.
+
+2009-06-15 Marek Habersack <mhabersack@novell.com>
+
+ * HttpCachePolicy.cs: SetHeaders adds max-age when MaxAge is set
+ to TimeSpan.Zero by calling SetMaxAge. Fixes bug #513000
+
+2009-06-05 Marek Habersack <mhabersack@novell.com>
+
+ * VirtualPathUtility.cs: IsValidVirtualPath no longer uses
+ WebConfigurationManager.GetSection to retrieve the verification
+ setting. Instead, the setting is retrieved in the static
+ constructor.
+
+ * HttpRequest.cs: ApplyUrlMapping must not use
+ WebConfigurationManager.GetSection as it would cause a recursive
+ call loop. Code to detect whether url mappings are in effect has
+ been moved to a static constructor.
+
+2009-06-04 Marek Habersack <mhabersack@novell.com>
+
+ * HttpResponse.cs: version header configuration is read lazily
+ now.
+
+ * HttpException.cs: do not show version info if custom errors are
+ in effect. Fixes bug #509092
+ Don't generate trace for 403. Fixes bug #509092
+
+ * HttpApplicationFactory.cs: OnFileChanged ignores the directory
+ part of the file triggering the event. Fixes bug #509998
+
+2009-06-03 Marek Habersack <mhabersack@novell.com>
+
+ * VirtualPathUtility.cs: IsValidVirtualPath now checks the value
+ of the
+ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\VerificationCompatibility
+ registry key when running on Windows and also consults the
+ mono-specific system.web/monoSettings configuration section to see
+ what is the verificationCompatibility property set to. If either
+ of the two is set to 1, Mono will not verify the validity of
+ the current request's path. Fixes bug #509163
+
+ * HttpApplicationFactory.cs: OnFileChanged must check whether the
+ modified location is a directory before it decides to ignore it
+ when watcher's filter is "?eb.?config". Fixes bug #509450 (see
+ also bug #495011)
+
+ * HttpForbiddenHandler.cs: updated the error message to match
+ .NET, added requested path and description. Fixes bug #509092
+
+ * HttpException.cs: if trace is not requested, don't output <!--
+ following the version information in WriteFileBottom. Fixes bug
+ #509475
+ GetDefaultErrorMessage appends trace only if showTrace is
+ true. Fixes bug #509092
+
+2009-06-02 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: LocateHandler needs to pass current request
+ path and filepath to WebConfigurationManager when retrieving
+ system.web/httpHandlers section as only this will guarantee that
+ any <location> elements relating to the current request's which
+ contain system.web/httpHandlers section will be correctly read and
+ used. Also fixes reading httpHandlers section if it's found in
+ web.config located in a subdirectory. Fixes bug #509069
+
+ * HttpException.cs: 403 errors get same treatment as 404
+ below. Fixes bug #509092
+
+2009-06-01 Marek Habersack <mhabersack@novell.com>
+
+ * HttpException.cs: if custom errors are enabled and the error
+ code is 404 show the "standard" 404 error message instead of the
+ default custom error mode one. Fixes bug #508649
+
+2009-05-28 Marek Habersack <mhabersack@novell.com>
+
+ * HttpUtility.cs: fixed UrlDecode for encoded strings which
+ should be converted to byte sequences longer than 2 bytes. Fixes
+ bug #507666
+
2009-05-14 Marek Habersack <mhabersack@novell.com>
* HttpApplication.cs: LocateHandler won't cache if a default