+2010-07-02 Marek Habersack <mhabersack@novell.com>
+
+ * VersionConverter.cs: added support for checking whether the
+ passed version is equal or more than a specified minimal version.
+
+ * PagesSection.cs: added two 4.0 properties - ClientIDMode and
+ ControlRenderingCompatibilityVersion
+
+2010-06-01 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntimeSection.cs: added 4.0 properties
+ MaxQueryLengthString, MaxUrlLength, EncoderType and
+ RelaxedUrlToFileSystemMapping.
+
+2010-05-17 Marek Habersack <mhabersack@novell.com>
+
+ * BuildProvider.cs: made the Extension property case-insensitive
+
+2010-04-09 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: GetSection properly processes paths
+ of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem
+ <avkekem@hotmail.com>, thanks!
+
+2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * GlobalizationSection.cs: use WebName instead of EncodingName.
+
+2010-03-06 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: do not use Request.Path - it may
+ fail because of invalid web.config file, use
+ Request.PathNoValidation instead.
+
+ * VersionConverter.cs: added
+
+ * PropertyHelper.cs: added a Version converter helper.
+
+ * HttpRuntimeSection.cs: added 4.0 properties -
+ RequestPathInvalidCharacters, RequestValidationType and
+ RequestValidationMode.
+
+2010-02-23 Marek Habersack <mhabersack@novell.com>
+
+ * SessionStateSection.cs: implemented 4.0 properties -
+ CompressionEnabled and SqlConnectionRetryInterval
+
+2010-02-12 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section
+
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * OutputCacheSection.cs: implemented the Providers and
+ DefaultProviderName 4.0 properties.
+
+2010-01-09 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: GetSection properly handles looking
+ up and caching of <location> instances. Part of fix for bug
+ #568441
+
+ * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath
+ calculatesthe path relative to the current config file path. Part
+ of fix for bug #568441
+
+2009-12-02 Marek Habersack <mhabersack@novell.com>
+
+ * CompilationSection.cs: added two properties -
+ OptimizeCompilations (3.5+) and TargetFramework (4.0+)
+
+2009-11-19 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
+ passed configuration path, so that MachineToApplication sections
+
+ * WebConfigurationManager.cs: use an rw lock to protect access to
+ sectionCache. This is now necessary as the save handler clears the
+ cache.
+
+2009-11-10 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: path passed to OpenWebConfiguration
+ from GetSection does not come from FindWebConfig.
+
+2009-11-09 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: there's no need to cache sections by
+ _file_ path - using section name and web.config path is more than
+ enough and it reduces the number of cache entries
+ considerably. Fixes bug #550730
+
+2009-10-07 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: GetSection doesn't perform string +
+ char + string concatenation to generate section cache key (by
+ Gonzalo Paniagua Javier) which gives an enormous performance boost
+ (processing time for mojoportal's default.aspx went down from
+ 2.65s to 107ms on average). The key generation is performed
+ without any kind of string operation right now (except for
+ GetHashCode on 3 strings).
+ GetSectionCacheKey is called only once and sectionCache became a
+ dictionary.
+
+2009-08-20 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: GetSection does not use
+ FindWebConfig to get the virtual path to open configuration for -
+ doing so would make the configuration system ignore <location>
+ sections. Fixes bug #482181
+
+2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * WebConfigurationManager.cs: avoid possible infinite loop when the
+ path starts with ~ and 1 file check.
+
+2009-07-15 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: another approach to suppressing
+ application reloads after the app writes to its root web.config
+ file. Leaving the previous code in place to get more
+ protection. It's a kludge, but it's the best option to avoid
+ all the races caused by System.Configuration+FileSystemWatcher
+ without rewriting large parts of System.Configuration (and
+ System.Web.Configuration). Fixes bug #522017
+
+2009-07-14 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: added support for suppressing
+ application reload when the main config file is written to from
+ application.
+
+ * WebConfigurationHost.cs: added minimal implementation of
+ WriteCompleted, which checks if there's need to suppress
+ application reload.
+
+2009-07-13 Marek Habersack <mhabersack@novell.com>
+
+ * ProvidersHelper.cs: InstantiateProvider doesn't have to
+ explicitly look for types in App_Code assemblies - this is done in
+ HttpApplication.LoadType.
+
+2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * WebConfigurationHost.cs: null means MachineToApplication.
+ * WebConfigurationManager.cs: when caching configuration and sections,
+ use the configuration file directory instead of the incoming request
+ path.
+
+2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * HttpHandlerAction.cs: fix path matching when the pattern has more
+ than one slash.
+
+2009-06-05 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: OpenWebConfiguration caches
+ configurations with a key generated from all the parameters passed
+ to it, not just from path.
+ Added internal GetSection method which takes HttpContext as its
+ third parameter - used in calling OpenWebConfiguration.
+ FindWebConfig is no longer used in GetSection - it breaks handling
+ of <location> elements in config files. Fixes bug #510302
+
+2009-06-03 Marek Habersack <mhabersack@novell.com>
+
+ * MonoSettingsSection.cs: added new property,
+ verificationCompatibility, which serves the same purpose as the
+ registry key described in http://support.microsoft.com/kb/932552
+ (when set to 1 it turns off virtual path validity
+ verification). Fixes bug #509163
+
+2009-05-14 Marek Habersack <mhabersack@novell.com>
+
+ * HttpHandlersSection.cs: if we're matching a default handler,
+ disallow caching.
+
+2009-04-03 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: added code in the static constructor
+ to enable retrieving application settings via
+ ApplicationSettingsBase from within asp.net applications. Fixes
+ bug #491531
+
+ * ApplicationSettingsConfigurationFileMap.cs: added.
+
+2009-03-12 Dean Brettle <dean@brettle.com>
+
+ * nBrowser/Build.cs: made Browser() method thread-safe and moved the
+ actual tree creation to a private InitializeTree() method for clarity.
+
+2009-03-01 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: optimized GetWebApplicationSection a
+ bit
+
+2009-02-28 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: make sure no nrex happens in
+ GetSectionCacheKey ()
+
+2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * WebConfigurationManager.cs: generate a hash from the string hsah
+ codes instead of concatenating them.
+
+2009-01-27 Marek Habersack <mhabersack@novell.com>
+
+ * HttpHandlerAction.cs: removed the matches cache, it doesn't
+ improve matters here in 99% of the cases.
+ Regexps are no longer used to match handler paths, SearchPattern
+ is used instead.
+
+2009-01-26 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationHost.cs: when an attempt to map a fake virtual
+ path is made, MapPath returns the aplication physical root
+ directory. Fixes bug #463950
+
+2008-01-09 Dean Brettle <dean@brettle.com>
+
+ * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
+ in browser defs.
+
+2009-01-09 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: do not normalize the path in
+ FindWebConfig when getting the virtual directory.
+
+2009-01-08 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: improve performance of
+ FindWebConfig.
+
+2009-01-07 Marek Habersack <mhabersack@novell.com>
+
+ * HttpModulesSection.cs: allow for modules with non-public
+ constructors. Fises bug #463971
+
+ * HttpHandlerAction.cs: allow for handlers with non-public
+ constructors. Fixes bug #463971
+
+2008-12-24 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: A better version of the previous
+ GetSection fix. Right now the method searches for directories
+ containing web.config and uses them, if found, to open the web
+ configuration. If no web.config is found, web configuration is
+ opened for the root application directory.
+
+ * WebConfigurationHost.cs: made GetWebConfigFileName internal
+ static, so that code can be reused from WebConfigurationManager.
+
+2008-12-23 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: GetSection should call
+ OpenWebConfiguration using the actual directory path, not a file
+ path. If it fails to do so, System.Configuration may treat the
+ top-level Web.config file as a child one which, in turn, in
+ certain circumstances will lead to duplicate keys inserted in
+ collections.
+
+2008-12-16 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationHost.cs: IsDefinitionAllowed should treat
+ configPath == "~" as the root application path.
+
+2008-12-12 Owen Brady <Ocean@owenbrady.net>
+
+ * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
+ nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
+ CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
+
+ * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
+ it is referring too was never included in Mono. And was designed for a free standing
+ browser identification libary.
+
+ * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
+ in from the original free standing browser libary.
+
+ * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
+ for the Mono implementation.
+
+ * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
+ Removed functions which were designed to make use of features of a embeded browser file which
+ is not present in Mono.
+
+ * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
+2008-10-21 Marek Habersack <mhabersack@novell.com>
+
+ * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
+
+2008-10-09 Marek Habersack <mhabersack@novell.com>
+
+ * MonoSettingsSection.cs: added - a section for mono-specific
+ settings.
+
+2008-10-01 Marek Habersack <mhabersack@novell.com>
+
+ * CapabilitiesResult.cs: added support for the "browsers"
+ capability - a collection of matching browser ids.
+
+ * nBrowser/Node.cs: store matching browser ids in the capabilities
+ collection (to support IsBrowser correctly)
+
+2008-07-25 Dean Brettle <dean@brettle.com>
+
+ * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
+ condition in Node.Process() by removing mutating functions from Identification
+ and changing Node.Process() and Node.BrowserIdentification() to maintain
+ state in a List<Match> instead of a List<Identification>.
+
+ * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
+ types.
+
+ * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
+ Node.Process().
+
+ * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
+
+ * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
+ dropped.
+
+ * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
+ had one applied.
+
+2008-06-30 Zoltan Varga <vargaz@gmail.com>
+
+ * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
+ only once.
+
+2008-06-30 Marek Habersack <mhabersack@novell.com>
+
+ * CompilationSection.cs: hush the warnings
+
+2008-06-26 Zoltan Varga <vargaz@gmail.com>
+
+ * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
+ every request in every assembly.
+
+2008-05-22 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
+ to return a new HttpContext object. This is part of a fix for bug
+ #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
+ thanks!
+
+2008-05-07 Marek Habersack <mhabersack@novell.com>
+
+ * RoleManagerSection.cs: use type converter when creating the
+ cookieTimeout property in the static constructor. Fixes bug
+ #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
+
+2008-03-23 Dean Brettle <dean@brettle.com>
+
+ * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
+ nBrowser/Build.cs (Process): Added initialCapabilities argument to
+ facilitate using browscap.ini capabilities.
+
+ * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
+ items arg to IDictionary to facilitate using browscap.ini capabilities.
+
+ * nBrowser/Node.cs (Reset): Removed code which checked prohibited
+ non-alphanumerics in id attributes because .NET is not that strict.
+
+ * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
+ occurred when the source or destination node did not have any
+ capabilities or adapters.
+
+ * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
+ assemblies.
+
+2008-03-09 Dean Brettle <dean@brettle.com>
+
+ * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
+ nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
+ nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
+ files. It is based on Owen "Ocean" Brady's code, with the following
+ changes and improvements. Replaced Result.Adapter
+ property with AdapterTypeMap property which maps control Type to adapter
+ Type. Added Result.MarkupTextWriter property. Added overrides for
+ Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
+ and AdapterTypeMap, resp. Changed tree building algorithm to not
+ depend on nodes with id="Default" and to inject defaultBrowser nodes
+ as parents of regular nodes with the same ids. Changed Node.cs to use
+ Item instead of Add when adding a capability or sample header, so that
+ values get replaced instead of appended. Added support for reference
+ nodes (ie. nodes with refID="someID").
+
+ * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
+ using the correct name.
+
+ * RandomRoboBotKeywords.txt: added
+
+ * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
+ support for *.browsers. Adapters property calls internal virtual
+ GetAdapters() method which is overrided in nBrowser.Result
+ returned by nBrowser code. CreateHtmlWriter uses type specified
+ by TagWriter property.
+
2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
* ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
+2008-03-01 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: SettingsMappingManager has been
+ moved to Mono.Web.dll
+
+2008-02-28 Marek Habersack <mhabersack@novell.com>
+
+ * HttpHandlerAction.cs: ignore case when matching handler
+ paths. Fixes bug #364995
+
+2008-02-26 Marek Habersack <mhabersack@novell.com>
+
+ * BuildProviderCollection.cs: be case-insensitive when looking for
+ the extension match.
+
+2008-02-25 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationManager.cs: hashtable can contain a key with a
+ null value, avoid adding duplicate keys in such cases.
+
2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
* WebConfigurationManager.cs: performance improvement, cached