[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Configuration / System.Configuration / ChangeLog
index ab7b5972af1c4b6cdec2204f257b78052d025fe6..005312a358f6399975f73e80cd19079de77b583f 100644 (file)
@@ -1,3 +1,501 @@
+2010-07-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationPropertyCollection.cs, PropertyInformation.cs:
+         add null check to detect bogus configuration early.
+
+2010-01-09  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationLocation.cs: trailing / characters are removed from
+       the path.
+
+       * Configuration.cs: instances created for locations inherit
+       ConfigPath from their containing document.
+       Host.GetConfigPathFromLocationSubPath must be called with current
+       instance's configPath, not LocationConfigPath.
+       Locations are sought for using paths relative to the current
+       instance's configPath, not to the root path.
+       All of the above is part of fix for bug #568441
+
+2009-12-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * SectionInformation.cs: ConfigSource should never be null, but empty.
+       Also, the Type property should throw an argument exception if the
+       new value is null or empty.
+       Fixes #458185.
+
+2009-10-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Configuration.cs: make this work again with bundled configuration
+       files. Fixes bug #495957. Patch from Tor Lillqvist.
+
+2009-07-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ConfigurationElement.cs: don't skip xml nodes when reading 2
+       ConfigurationElement in a row. Patch by Greg Smolyn that fixes bug
+       #521231.
+
+2009-07-15  Marek Habersack  <mhabersack@novell.com>
+
+       * Configuration.cs: explicitly flush the stream when writing XML
+       data. Part of fix for bug #522017
+
+2009-07-14  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationSaveEventArgs.cs, ConfigurationSaveEventHandler.cs:
+       added
+
+       * Configuration.cs: added two internal events - SaveStart and
+       SaveEnd. They are used by System.Web's configuration system to
+       suppress application reloads when configuration is modified and
+       saved from within a web application. It is necessary to use events
+       since there is no guarantee the web application will use
+       WebConfigurationManager (and thus WebConfigurationHost) for
+       writing.
+
+2009-06-08  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationLocation.cs: if the path passed to constructor
+       starts with any of ' ' '.' '/' or '\', throw an exception. Fixes
+       bug #510735
+
+2008-12-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Configuration.cs: don't try to open the file if we know it does not
+       exist. Also, don't hide the actual exception in case there's a problem
+       opening the configuration file.
+
+2008-11-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ConfigurationManager.cs: the config file name is arbitrary.
+       (Standalone test t46)
+
+2008-11-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ConfigurationManager.cs: when we're dealing with an EXE hosted
+       application, the configuration file is the one for the AppDomain,
+       otherwise we might try to get a config file for a dll. Fixes the
+       regression in 2.0 sys.config.
+
+2008-07-09  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationManager.cs: implemented a work-around for
+       OpenExeConfiguration ("") not working with ASP.NET apps properly.
+
+2008-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * ConfigurationManager.cs: Return the right path if the calling assembly is
+       not null. This happens when ConfigurationSession::GetRuntimeObject() is
+       called, SectionHandler != null and the handler itself calls
+       OpenExeConfigurationInternal ("").
+
+2008-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * ClientConfigurationSystem.cs:
+       * ConfigurationManager.cs: Reaply the patch from Gert.
+       This change doesn't contain any fix to to not clutter
+       the commit history.
+
+2008-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * ClientConfigurationSystem.cs:
+       * ConfigurationManager.cs: The previous patch since it
+       causes a regression. It will remain reverted until we figure
+       out what's wrong and how to fix it.
+
+2008-07-02  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ClientConfigurationSystem.cs: Moved logic for defaulting to
+       configuration file of AppDomain to OpenExeConfigurationInternal.
+       * ConfigurationManager.cs (OpenExeConfigurationInternal):
+       Allow calling_assembly and exePath to be null. When userLevel is None,
+       default to configuration file of AppDomain if exePath is null or empty.
+       When exePath is specified, resolve it to absolute path and throw
+       ConfigurationErrorsException if exePath does not exist and add
+       .config extension to get config file name if exePath does exist.
+
+2008-06-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SectionInfo.cs, Configuration.cs, ConfigInfo.cs,
+         SectionGroupInfo.cs :
+         eliminate XmlTextReader, first stage.
+
+2008-06-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationErrorsException.cs : recover from
+         silly change that tries to prevent debuggin by
+         decreasing error location information.
+
+2008-06-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ConfigurationElement.cs: Use ConfigurationErrorsException instead of
+       ConfigurationException, and pass reader to ConfigurationErrorsException
+       ctor to allow for file/linenumber info in exception message.
+       * ConfigurationErrorsException.cs: Removed local bareMessage field, and
+       use base.BareMessage field instead. Fixed Message property to only add
+       filename if not null or zero-length string, and only add line if not
+       zero. In GetFilename/GetLineNumber overloads, only try to get info if
+       node/reader implements IConfigErrorInfo.
+       * ConfigurationSection.cs: Use ConfigXmlTextReader instead of
+       XmlTextReader to allow for file/linenumber info in exception messages.
+       * ConfigXmlTextReader.cs: Added XmlTextReader that implements
+       IConfigErrorInfo.
+       * ConfigurationLocation.cs: Use ConfigXmlTextReader instead of
+       XmlTextReader to allow for file/linenumber info in exception messages.
+       * ClientConfigurationSystem.cs: Perform lazy initialization and
+       wrap exceptions in ConfigurationErrorsException. Fixes standalone test
+       t28.
+       * Configuration.cs: Use ConfigXmlTextReader instead of XmlTextReader
+       to allow for file/linenumber info in exception messages.
+       * ConfigInfo.cs: Fixed ThrowException to use file/number info available
+       in XmlTextReader for exception message.
+       * AppSettingsSection.cs: Use ConfigXmlTextReader instead of
+       XmlTextReader to allow for file/linenumber info in exception messages.
+
+2008-06-19  Jb Evain  <jbevain@novell.com>
+
+       * ConfigurationPermissionAttribute.cs (CreatePermission): implement.
+
+2008-05-28  Marek Habersack  <mhabersack@novell.com>
+
+       * Configuration.cs: set the ConfigContext when getting
+       and instance of a section. Fix for bug #325128.
+
+       * ConfigurationSection.cs: added an internal property -
+       ConfigContext used to supply the HttpContext to the Create
+       method of SectionHandler when called from GetRuntimeObject.
+       Fix for bug #325128.
+
+       * InternalConfiguationHost.cs: changed CreateDeprecatedConfigContext
+       to return null rather than throwing a NotImplementedException.
+       Fix for bug #325128.
+
+       * All patches above contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
+         thanks!
+
+2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * SectionGroupInfo.cs: Use String.IsNullOrEmpty inside 2.0 code.
+       [Found using Gendarme]
+
+2008-05-11  Roei Erez  <roeie@mainsoft.com>
+
+       * SectionGroupInfo.cs: fix loading a SectionGroup without sections as childern.
+
+2008-05-05  Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
+
+       * ConfigurationElement.cs: don't fail when a mandatory property is a
+       configuration element itself.
+
+2008-04-30  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationElement.cs: HasLocalModifications considers a
+       property modifed locally if its origin is SetHere and it's been
+       marked as modified.
+
+2008-03-20  Igor Zelmanovich  <igorz@mainsoft.com>
+
+       * Configuration.cs:
+       * ConfigurationElement.cs:
+       implement EvaluationContext property.           
+
+2008-03-01  Marek Habersack  <mhabersack@novell.com>
+
+       * SectionInformation.cs: added an internal property -
+       ConfigFilePath, used when deserializing a section in
+       ConfigurationSection.GetRuntimeObject.
+
+       * Configuration.cs: set SectionInformation.ConfigFilePath when
+       getting an instance of a section.
+
+       * ConfigurationSection.cs: support the 'configSource' attribute
+       when section is read through GetRuntimeObject.
+
+2008-02-21  Marek Habersack  <mhabersack@novell.com>
+
+       * Configuration.cs: if the section being deserialized uses the
+       configSource attribute, call the section's DeserializeConfigSource
+       method.
+
+       * SectionInfo.cs: WriteData takes care of writing the section data
+       to the configSource file, if any.
+
+       * ConfigurationSection.cs: moved reading of the configSource
+       external data file to a separate internal method,
+       DeserializeConfigSource. Section's source config file path is now
+       used to find the configSource.
+       SerializeSection now doesn't write the section content to the
+       passed writer if configSource was used. Writing of the section
+       data is now done in SectionInfo.
+
+       * ConfigurationElement.cs: added a new method -
+       HasLocalModifications which returns true of any of the element
+       properties have been set locally on that element.
+
+2008-02-20  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationSection.cs: support the "configSource" attribute
+       when deserializing a section. Contents of the file (if it exists)
+       replaces the previous section contents.
+
+       * ConfigurationElement.cs: ignore the "configSource" attribute if we're a
+       ConfigurationSection instance.
+       HasValues () returns true only if any of the properties has the
+       origin set to SetHere.
+
+2008-02-07  Konstantin Triger <kostat@mainsoft.com>
+
+       * ClientConfigurationSystem.cs: performance: refactor out the Configuration
+               object construction from GetSection() to the ctor.
+
+2008-01-16  Zoltan Varga  <vargaz@gmail.com>
+
+       * ConfigurationElement.cs: Allow non-public constructors. Fixes #353554.
+
+       * PropertyInformation.cs: Allow non-public constructors. Fixes #353557.
+
+       * ConfigurationElement.cs: Consider non-public properties as well. Fixes
+       #353553.
+
+2008-01-12  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ConfigurationLocationCollection.cs: Avoid infinite recursion. 
+       Found using Gendarme.
+
+2007-12-25  Konstantin Triger <kostat@mainsoft.com>
+
+       * KeyValueInternalCollection.cs: properly override NameValueCollection
+               to support interop with it.
+
+2007-12-25  Konstantin Triger <kostat@mainsoft.com>
+
+       * ConfigurationElement.cs:
+               1. typo - pass the correct property to Attribute.GetCustomAttribute.
+               2. Pass oroginal exception as inner.
+
+2007-12-05  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationElement.cs: some property values may be null
+       objects in GetHashCode.
+
+2007-11-23  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationElementCollection.cs: ThrowOnDuplicate returns true
+       if the collection is one of the AddRemoveClearMap or
+       AddRemoveClearMapAlternate types.
+
+2007-11-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       Part of fix for bug #323708.
+       * ConfigurationSection.cs : in GetRuntimeObject(), take parent
+         section instance into consideration.
+       * SectionInformation.cs : to make it possible, GetParentSection()
+         should be implemented.
+       * Configuration.cs : to make it possible, GetSectionInstance()
+         should set parent section on its SectionInformation. It used to
+         just steal parent's xml when its own xml does not exist, but
+         it now blocks correct configuration retrieval.
+
+2007-11-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SectionGroupInfo.cs : remove extra StringBuilder creation.
+
+2007-11-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Configuration.cs : (Save) when the given file path is relative
+         it failed to create directory. Fixed standalone test t25/t26.
+       * InternalConfigurationHost.cs : pass userLevel to create a host
+         instance.
+
+2007-10-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * InternalConfigurationHost.cs : when the streamName is for
+         machine.config, try get_bundled_machine_config() icall first.
+         This hopefully implements the requested feature in bug #325022.
+       * Configuration.cs : added comment.
+
+2007-08-31  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ConfigurationManager.cs: Fixed line endings. Avoid warning by
+       changing accessibility of ChangeConfigurationSystem to internal.
+       * Configuration.cs: Fixed compiler warnings.
+       * DpapiProtectedConfigurationProvider.cs: Fixed line endings.
+
+2007-08-21  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationManager.cs : To open exe configuration, use 
+         GetEntryAssembly() first, and GetCallingAssembly() only when
+         it was not found. Should fix bug #82071.
+
+2007-06-21  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Configuration.cs, InternalConfigurationHost.cs :
+         configuration file to write might be given as an absolute path,
+         where the ancestor directories may not exist.
+
+2007-06-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationManager.cs : in OpenExeConfiguration() and
+         OpenMappedExeConfiguration(), take userLevel into consideration.
+       * InternalConfigurationHost.cs : consider ConfigurationUserLevel and
+         use correct config map file in InitForConfiguration().
+
+2007-06-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ClientConfigurationSystem.cs : do not asume GetEntryAssembly()
+         returns non-null. Patch by Patrick Perry.
+
+2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationElement.cs : SerializeToXmlElement() should be
+         called regardless of HasValues() return value, especially since
+         it could be overriden (e.g. in SettingsValueElement).
+
+2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationSectionGroup.cs
+         Configuration.cs : ConfigurationSectionGroup must be initialized
+         at least when being added to a collection.
+
+2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * ConfigurationElement.cs: refactored GetKeyProperties and
+       GetDefaultCollection methods, map should not be used here, Properties
+       will do instead. Refactored ElementMap class
+       * ConfigurationElementCollection.cs: fixed InitFromProperty, GetMap()
+       should not be called here
+       * ElementInformation.cs: fixed Properties, moved to ctor to be thread
+       safe
+       * PropertyInformation.cs: members assigned readonly modifier
+
+2007-05-30  Marek Habersack  <mhabersack@novell.com>
+
+       * SectionGroupInfo.cs: <location> elements are case-insensitive
+       and the same 'path' attribute may be used only once.
+
+       * ConfigurationLocationCollection.cs: Find should be
+       case-insensitive for all targets, not just TARGET_JVM.
+
+2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * Configuration.cs: FilePath implemented according to MSDN:
+       If the value for this FilePath property represents a merged view and 
+       no actual file exists for the application, the path to the parent 
+       configuration file is returned.
+
+2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * Configuration.cs:
+       * ConfigurationLocation.cs:
+       implemented EvaluationContext property.         
+
+2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * ConfigurationLocationCollection.cs: for TARGET_JVM only:
+       location path is case-insensitive.
+               
+2007-05-15  Marek Habersack  <mhabersack@novell.com>
+
+       * ConfigurationElement.cs: added value validation on
+       deserialization from the config file.
+
+2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * ConfigurationElement.cs: when attribute value cannot be parsed,
+       ConfigurationErrorException is thrown.
+               
+2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * ConfigurationManager.cs:
+       added MonoLimitation attribute for TARGATE_JVM. 
+               
+2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * ConnectionStringSettingsCollection.cs: removed 'new' keyword, cause 
+       property doesn't hide any inherit property.
+
+2007-04-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * InternalConfigurationHost.cs : machine configuration covers all
+         ConfigurationAllowDefinition values.
+
+2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationSectionCollection.cs : GetEnumerator() should return
+         IEnumerator for the items, not keys.
+       * ConfigurationProperty.cs : more helpful type mismatch message.
+
+2007-04-16  Marek Habersack  <mhabersack@novell.com>
+
+       * SectionGroupInfo.cs: another (and final, hopefully) fix for bug
+       #81321 and several other related issues that were discovered by
+       the way. Thanks to Atsushi for help with XmlReader!
+
+2007-04-15  Marek Habersack  <mhabersack@novell.com>
+
+       * SectionGroupInfo.cs: another incarnation of the fix for bug
+       #81321.
+
+2007-04-12  Marek Habersack  <mhabersack@novell.com>
+
+       * SectionGroupInfo.cs: a better fix for #81321
+
+2007-04-10  Marek Habersack  <mhabersack@novell.com>
+
+       * SectionGroupInfo.cs: make sure empty sections with the
+       short-circuit tag ends (<section/>) don't make the process loop
+       endlessly. Fixes bug #81321.
+
+2007-03-22  Konstantin Triger <kostat@mainsoft.com>
+
+       * ConfigInfo.cs: should be able instantiate types with private ctors.
+
+2007-03-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * ConfigurationSectionCollection.cs,
+       * ConfigurationSectionGroupCollection.cs,
+       * PropertyInformationCollection.cs, 
+       * SectionGroupInfo.cs: used StringComparer.Ordinal instead of
+       OrdinalComparer
+
+2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * ConfigurationSectionCollection.cs,
+       * ConfigurationSectionGroupCollection.cs,
+       * PropertyInformationCollection.cs, 
+       * SectionGroupInfo.cs: these collections should be based on case
+       insensitive NameObjectCollectionBase
+       * added OrdinalComparer.cs for use in NameObjectCollectionBase
+
+2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SectionInfo.cs : don't stop at restartOnExternalChanges attribute.
+
+2007-01-16  Konstantin Triger <kostat@mainsoft.com>
+
+       * ConfigurationElement.cs: ignore properties with null or empty name.
+
+2007-01-16  Konstantin Triger <kostat@mainsoft.com>
+
+       * ConfigurationElement.cs: Try to deserilalize an unrecognized element by
+               current element, and only if failed delegate to default collection.
+
+2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * ConfigurationElementCollection.cs: fixed BaseAdd, looking for
+       identical element when collection type is not alternate
+
+2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * ConnectionStringSettingsCollection.cs: made connection string key
+       case insensitive
+
+2006-12-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConfigurationElementCollection.cs : fixed BaseAdd() with
+         throwIfExists to not raise an error for identical element
+         but for different element which shares the same key. Fix by
+         Konstantin Triger.
+
 2006-12-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
 
        * ConfigurationProperty.cs: fixed DefaultValue of type Enum