2006-09-28 Andrew Skiba * ConfigurationSettings.cs: add support for requirePermission attribute. 2006-09-28 Andrew Skiba * ConfigurationSettings.cs: TARGET_JVM 2006-08-23 Konstantin Triger * ConfigurationSettings.cs: remove CONFIGURATION_2_0 #if since NET_2_0 implies it. 2006-07-31 Sebastien Pouliot * ConfigurationSettings.cs: Assert FileIOPermission when loading a configuration file. * ConfigXmlDocument.cs: Add an imperative demand for PathDiscovery on all (many classes) Filename properties. Ensure we're not using the property (but the member) inside the class itself. 2006-06-29 Atsushi Enomoto * ApplicationSettingsBase.cs : When we use default value, convert it to proper type. Fixed bug #78654. Patch by Gareth Pearce. 2006-05-30 Gert Driesen * ConfigurationException.cs: BareMessage, Filename and Line properties are only virtual on 2.0 profile. * ConfigurationSettings.cs: Marked GetConfig (string) obsolete on 2.0 profile. 2006-05-17 Atsushi Enomoto * SettingsPropertyCollection.cs : implemented some synchronization releated members. Actually it can never be synchronized by itself. * SettingsBase.cs : Synchronized() just returns the same instance, marking it as IsSynchronized = true. Fixed bug #78430. 2006-05-12 Atsushi Enomoto * ConfigurationSettings.cs : another System.Orgy insanity. 2006-05-12 Atsushi Enomoto * ConfigurationSettings.cs : ok, now I correctly understand the problem. Since appSettings section handlers are different between 1.x and 2.0 AppSettings property implementation should also be different. It should really fix bug #78372. 2006-05-10 Atsushi Enomoto * ConfigurationSettings.cs : use ConfigurationManager.GetConfig() in its GetConfig(). No need to change AppSettings and Default.GetConfig() behavior here. 2006-05-05 Chris Toshok * LocalFileSettingsProvider.cs (IsUserSetting): more CONFIGURATION_DEP crap. 2006-05-05 Chris Toshok * ApplicationSettingsBase.cs (CacheValuesByProvider): emit SettingsLoaded after we load the property values. (set_Item[string]): fill in settingClass in the SettingChangingEventArgs properly. (get_Properties): don't depend on setting_attrs[0] being either UserScoped- or ApplicationScopedSettingAttribute. Also, call Initialize on any providers we create here. * LocalFileSettingsProvider.cs (GetPropertyValues): add a naive implementation, leave a MonoTODO. (Initialize): fill in name properly, and deal with null values. 2006-04-28 Atsushi Enomoto * NoSettingsVersionUpgradeAttribute.cs SettingsDescriptionAttribute.cs SettingsGroupDescriptionAttribute.cs SettingsGroupNameAttribute.cs SettingsManageability.cs SettingsManageabilityAttribute.cs SpecialSetting.cs SpecialSettingAttribute.cs : new files. * ConfigurationException.cs SettingsPropertyCollection.cs : minor API compat fixes. 2006-04-27 Atsushi Enomoto * SettingElement.cs : more circular dependency fix. 2006-04-27 Atsushi Enomoto * SettingValueElement.cs, SettingElement.cs : circular dependency hell fix. 2006-04-27 Atsushi Enomoto * ClientSettingsSection.cs : new (implemented) file. * SettingValueElement.cs : implemented. SettingElement.cs : implemented. SettingElementCollection.cs : implemented except for Add(), Clear(), Get() and Remove(). A test will be soon added as part of bug #77957 test with DefaultCollection support in sys.configuration. 2006-04-26 Atsushi Enomoto * ApplicationSettingsGroup.cs : added missing type. This is part of fix for bug #77957. 2006-03-11 Miguel de Icaza * ConfigurationSettings.cs (ChangeConfigurationSettings): Make internal to avoid warnings. This routine is called from System.Web with MethodInfo.Invoke. 2006-02-01 Atsushi Enomoto * SettingElementCollection.cs : CollectionType is protected. 2006-01-16 Chris Toshok * ConfigurationSettings.cs (AppSettings): move back to a 1.x strategy in the 2.0 case. That is, don't hardcode the reference to ConfigurationManager.AppSettings (yet). Eventually we can move back to this code, once ConfigurationManager supports reading web.config for settings. 2006-01-03 Chris Toshok * ConfigurationSettings.cs (GetConfig): be nice to people using old 1.x style section handlers with the new 2.0 config stuff. If we're about to return null or IgnoreSection, try to load it using the 1.x api. If that works, return that object. 2006-01-02 Chris Toshok * LocalFileSettingsProvider.cs: use the PrebuiltSystem extern alias to make sure we use the right type for NameValueCollection. (Initialize): enable (under the CONFIGURATION_2_0 ifdef). * ConfigurationSettings.cs: use the PrebuiltSystem extern alias to make sure we use the right type for NameValueCollection. (AppSettings): provide an implementation for the NET_2_0 && CONFIGURATION_2_0 case. (GetConfig): same. (ReadSectionGroup): allow a type attribute in the NET_2_0 && CONFIGURATION_2_0 case. * AppSettingsReader.cs: use the PrebuiltSystem extern alias to make sure we use the right type for NameValueCollection. 2005-11-28 Chris Toshok * SettingValueElement.cs: wrap a few more things in CONFIGURATION_DEP. 2005-11-09 Chris Toshok * ConfigurationSettings.cs (AppSettings): remove the #if NET_2_0 block breaks this. (ReadSectionGroup): allow the "type" atrribute so we don't break when reading a 2.0 config file using the 1.0 stuff. 2005-11-04 Chris Toshok * SettingsProvider.cs, SettingsPropertyValueCollection.cs, SettingValueElement.cs, SettingElement.cs, SettingsPropertyValue.cs, ApplicationSettingsBase.cs, SettingsPropertyCollection.cs, SettingsProviderCollection.cs, SettingElementCollection.cs: Add XML_DEPS and CONFIGURATION_DEPS to get this to bootstrap compile. What a pain. 2005-11-04 Chris Toshok * ApplicationSettingsBase.cs: remove unnecessary using. * SettingValueElement.cs: add XML_DEP's. 2005-11-03 Chris Toshok * ConfigurationSettings.cs: add ObsoleteAttribute's. * ConfigurationException.cs: add ObsoleteAttribute's. * IConfigurationSystem.cs: add ComVisibleAttribute. * ApplicationSettingsBase.cs: new stubs, with a broken/naive implementation. * SettingElementCollection.cs, IPersistComponentSettings.cs, SettingElement.cs, LocalFileSettingsProvider.cs, SettingValueElement.cs: new stubs. * SettingAttribute.cs: fix typo. 2005-09-22 Chris Toshok * SettingsPropertyWrongTypeException.cs: new exception. 2005-09-20 Chris Toshok * SettingsPropertyValue.cs (SettingsPropertyValue.set_PropertyValue): set needPropertyValue = false here so we don't pull in the default value in the getter. * SettingsProviderCollection.cs: new implementation. * SettingsPropertyValueCollection.cs (SettingsPropertyValueCollection..ctor): init items. (Add): add an internal method that takes a SettingsPropertyValueCollection. 2005-09-20 Chris Toshok * SettingsSavingEventHandler.cs: new delegate. * SettingChangingEvent{Handler,Args}.cs: new delegate and args * SettingsLoaded{Handler,Args}.cs: new delegate and args * SettingsProviderAttribute.cs, SettingSerializeAsAttribute.cs, UserScopedSettingAttribute.cs, DefaultSettingValueAttribute.cs, ApplicationScopedSettingAttribute.cs, SettingAttribute: new attributes. 2005-09-20 Chris Toshok * SettingChangingEventArgs.cs: new implementation. * SettingsPropertyIsReadOnlyException.cs: new exception. * SettingsPropertyNotFoundException.cs: new exception. * ISettingsProviderService.cs: new interface. * IApplicationSettingsProvider.cs: new interface. * SettingsPropertyValueCollection.cs: new implementation. * SettingsPropertyCollection.cs: new implementation. * SettingsBase.cs: implement the obvious bits (getters, basically). * SettingsPropertyValue.cs: make this work for the tests. Disgusting class here. dis-gus-ting. 2005-09-19 Chris Toshok * System.Configuration/SettingsProvider.cs, System.Configuration/SettingsPropertyValueCollection.cs, System.Configuration/SettingsPropertyCollection.cs, System.Configuration/SettingsProviderCollection.cs, System.Configuration/SettingsBase.cs, System.Configuration/SettingsSerializeAs.cs, System.Configuration/SettingsPropertyValue.cs, System.Configuration/SettingsProperty.cs, System.Configuration/SettingsContext.cs, System.Configuration/SettingsAttributeDictionary.cs: new files. 2005-07-05 Raja R Harinath * ConfigurationSettings.cs (ConnectionStrings): Change XML_DEP guard to CONFIGURATION_DEP. 2005-06-15 Lluis Sanchez Gual * ProviderBase.cs: Moved here from System.Configuration.dll. 2005-06-14 Lluis Sanchez Gual * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs ConfigurationAllowDefinition.cs, ConfigurationElement.cs ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs ConfigurationLocation.cs, ConfigurationLocationCollection.cs ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs ConfigurationSection.cs, ConfigurationSectionCollection.cs ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs TimeSpanSerializedFormat.cs: Moved to the new System.Configuration assembly. 2005-03-23 Jackson Harper * ApplicationSettingsBase.cs: We need this stub to do some 2.0 winforms stuff. 2005-03-16 Gonzalo Paniagua Javier * Configuration.cs: a few MonoTODOs less. 2005-03-02 Sureshkumar T * ConfigurationSettings.cs: Implemented ConnectionStrings property. 2005-02-22 Sureshkumar T * ConnectionStringsSection.cs: Implemented all methods. New Files Added: * ConnectionStringSettings.cs: Configuration object for a connection string element. * ConnectionStringSettingsCollection.cs: Collection of ConnectionStringSettings objects. 2005-02-16 Gonzalo Paniagua Javier * Configuration.cs: (.ctor) don't fail if the file to load does not exist. (GetExeConfiguration): use caller assembly location if the path is null and check that the exe file exists. Removed if XML_DEP, as there's one at the top of the file. 2004-11-18 Geoff Norton * ProviderSettingsCollection.cs: Add XML_DEP because this inherits ConfigurationElementCollection which has XML_DEP. Fixes bootstrap 2004-11-18 Lluis Sanchez Gual * ProviderSettings.cs, ProviderSettingsCollection.cs: Mostly implemented. * Configuration.cs: Implemented GetSection() and GetSectionGroup(). * AppSettingsSection.cs: Better null check in Reset(). 2004-11-15 Lluis Sanchez Gual * TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs, TimeSpanSerializedFormat.cs: Implemented. 2004-11-09 Duncan Mak * NonEmptyStringConfigurationProperty.cs: Add XML_DEP, this should fix the build. 2004-11-09 Lluis Sanchez Gual * ConfigurationElement.cs: Implemented Equals and GetHashCode. Only reflect properties from type's members if the type does not override Properties. * ConfigurationElementCollection.cs: Implemented Equals and GetHashCode. Other minor fixes. * ConfigurationProperty.cs: It is not a subclass of ConfigurationElement. * NonEmptyStringConfigurationProperty.cs, NonEmptyStringFlags.cs: Implemented. 2004-11-09 Lluis Sanchez Gual * AppSettingsSection.cs: Mostly implemented (missing support for file attribute). * ConfigHelper.cs: GetNameValueCollection now returns a ConfigNameValueCollection instance which is a NameValueCollection with a modification flag. * ConfigInfo.cs: Added XPath property. * Configuration.cs: Implemented AppSettings property. Set the Path property of sections and groups. * ConfigurationElement.cs: Support key serialization. Properly reset nested elements. * ConfigurationElementCollection.cs: Initial implementation. * ConfigurationSection.cs: Impemented Path and GetRuntimeObject. * ConfigurationSectionGroup.cs: Implemented Path. * SectionGroupInfo.cs: Little fix. 2004-11-05 Lluis Sanchez Gual * Configuration.cs: Minor fixes. * ConfigurationElement.cs: Added support for the different update modes. * SectionGroupInfo.cs: Support loading the same configuration section from different files. * SectionInfo.cs: Properly write back configuration data for which a section object has not been created. 2004-11-04 Lluis Sanchez Gual * AppSettingsSection.cs, ConfigurationPropertyCollection.cs, ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs, ProtectedConfigurationProvider.cs, ProviderBase.cs RuntimeOnlySection.cs: Fixed formatting and added missing TODOs. 2004-11-04 Lluis Sanchez Gual * Configuration.cs, ConfigurationElement.cs, ConfigurationLocation.cs, ConfigurationLocationCollection.cs, ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs, ConfigurationSection.cs, ConfigurationSectionCollection.cs, ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs,IntegerConfigurationProperty.cs, RuntimeOnlySection.cs: Initial implementation. * ConfigurationAllowDefinition.cs: Removed XML_DEP ifdef * ConfigurationException.cs: format fix. * ConfigInfo.cs, SectionInfo.cs, SectionGroupInfo.cs: New support classes. 2004-09-10 Tim Coleman * ConfigurationElementCollection.cs ConfigurationElementCollectionType.cs: New Fx 2.0 stubs * ConfigurationElement.cs: Fix function declaration 2004-08-16 Duncan Mak * ConfigurationElement.cs (InitializeDefault): Made virtual. * AppSettingsSection.cs: * Configuration.cs: * ConfigurationLocation.cs: * ConfigurationLocationCollection.cs: * ConfigurationSection.cs: * ConfigurationSectionCollection.cs: * ConfigurationSectionGroup.cs: * ConfigurationSectionGroupCollection.cs: * ConnectionStringsSection.cs: Added stubs and bits of implementation. Other than ConfigurationElementCollection and ConnectionStringsSectionCollection, we now have the basic skeleton for implementing the configuration system in the System.Configuration namespace. 2004-08-11 Duncan Mak * ProtectedConfigurationProvider.cs: Use XML_DEP. 2004-08-11 Duncan Mak * ProtectedConfigurationProvider.cs: * ProviderBase.cs: Implemented. * ConfigurationPropertyAttribute.cs: Implemented attribute. * ConfigurationAllowDefinition.cs: * ConfigurationUserLevel.cs: * PathLevel.cs: Added enumerations. 2004-08-07 Atsushi Enomoto * ConfigurationElement.cs, ConfigurationProperty.cs, ConfigurationPropertyCollection.cs, ConfigurationValidationAttribute.cs : use XML_DEP. 2004-08-06 Duncan Mak * ConfigurationElement.cs: Added stubs. * ConfigurationProperty.cs: * ConfigurationPropertyCollection.cs: * ConfigurationValidationAttribute.cs: Added. * ConfigurationPropertyFlags.cs: * ConfigurationUpdateMode.cs: Added 2.0 enumerations. 2004-06-15 Gonzalo Paniagua Javier * ConfigurationSettings.cs: allow empty . 2004-05-17 Gonzalo Paniagua Javier * ConfigurationSettings.cs: don't ask me why, but the .cctor initialization of 'instance' field does no longer work. 2004-05-06 Gonzalo Paniagua Javier * ConfigXmlDocument.cs: removed method that was supposed to be internal. * ConfigurationSettings.cs: instead of calling the overload that doesn't exist in MS, use what we have when loading an external file. 2004-04-20 Gonzalo Paniagua Javier * ConfigXmlDocument.cs: fixed overloaded Load and added a new one that sets the file name. * ConfigurationSettings.cs: use the new Load in ConfigXmlDocument when loading sections. * NameValueFileSectionHandler.cs: don't fails if the path for the 'file' attribute doesn't have a directory. Closes bug #57244. 2004-03-19 Gonzalo Paniagua Javier * ConfigurationSettings.cs: removed FileWatcherCache. See bug #53445. 2003-12-03 Gonzalo Paniagua Javier * ConfigurationSettings.cs: initialize config in ChangeConfigurationSettings if it has not been done yet. Patch by George Kodinov gkodinov@openlinksw.co.uk). Fixes bug #51643. 2003-12-02 Gonzalo Paniagua Javier * ConfigurationSettings.cs: handle allowdefinition and allowlocation, added locks, don't reopen the file for every new section to be read, but keep them as strings and build the section handlers with that. Also allow changing the configuration system (used from System.Web). 2003-11-17 Ben Maurer * ConfigurationSettings.cs: make the *Mark objects static because they need to be comparable across instances. (ReadSectionGroup): You can add an element to a group declared in the parent config files (MS.net's QuickStarts do this). 2003-11-06 Gonzalo Paniagua Javier * ConfigurationSettings.cs: don't handle null or non-existent file in the catch blocks. 2003-10-03 Gonzalo Paniagua Javier * ConfigurationSettings.cs: really make the cache work. 2003-10-03 Gonzalo Paniagua Javier * ConfigurationSettings.cs: pass the file name we're reading as the context. 2003-10-03 Gonzalo Paniagua Javier * ConfigurationSettings.cs: patch by Eric Lindvall (eric@5stops.com) that improves performance by not reading the file more than once. 2003-07-15 Andreas Nahr * ConfigurationSettings.cs: Removed unused exception variable, fixes compiler warning 2003-06-16 Lluis Sanchez Gual * ConfigurationSettings.cs: Avoid chicken-egg problem when reading machine.config. Cannot use an uri to read mechine.config because web request module handelrs are defined in machine.config. 2003-03-02 Gonzalo Paniagua Javier * AppSettingsReader.cs: fixed bug #38755. 2002-12-19 Gonzalo Paniagua Javier * ConfigXmlDocument.cs: don't jump over the first element. * ConfigurationSettings.cs: pass doc.DocumentElement instead of doc. This used to work until i tried to access one attribute of the first element and realized that the element was not the expected! This change does not affect the configuration handlers that only use ChildNodes property on the XmlNode they get as argument. 2002-12-15 Gonzalo Paniagua Javier * ConfigurationSettings.cs: removed type loading hack no longer needed. 2002-12-14 Jonathan Pryor * ConfigurationSettings.cs: Allow configuration sections to be removed. 2002-11-04 Gonzalo Paniagua Javier * ConfigurationSettings.cs: use AppDomainSetup to get the configuration file name for the AppDomain. 2002-10-31 Gonzalo Paniagua Javier * ConfigHelper.cs: NameValueCollection.Add is now fixed. 2002-10-14 Martin Baulig * ConfigurationSettings.cs (DefaultConfig.GetAppConfigPath): Append ".config" to the filename, not ".exe.config" since the filename already has a ".exe" suffix. 2002-10-14 Martin Baulig * ConfigurationSettings.cs (DefaultConfig.GetAppConfigPath): Use Assembly.Location, not Assembly.FullName to get its filename. 2002-10-10 Gonzalo Paniagua Javier * ConfigHelper.cs: workaround for a bug in NameValueCollection. * ConfigurationSettings.cs: load sections when the parent holds a handler for it. Now overriding appSettings values in the app config file works (first and then * ConfigHelper.cs: * NameValueFileSectionHandler.cs: check that Attributes is not null. 2002-10-09 Miguel de Icaza * NameValueFileSectionHandler.cs: For now if a section is not present, return null. Do not know what the real fix is. Gonzalo will have to look at this, but the debugger was crashing as appSettings in the machine.config does not exist, but GetConfig returns a non-null value when looking it up when you do a GetDocumentForSection ("appSettings"). 2002-10-09 Gonzalo Paniagua Javier * ConfigurationSettings.cs: use get_machine_config_path internal call. 2002-10-08 Gonzalo Paniagua Javier * ConfigXmlDocument.cs: move the reader for the section to the first element. * ConfigurationSettings.cs: fixed hierarchical search for a handler. 2002-10-06 Gonzalo Paniagua Javier * ConfigurationSettings.cs: reimplemented. It is now able to deliver sections to their handlers for processing. 2002-10-03 Gonzalo Paniagua Javier * ConfigHelper.cs: New file. Contains some helper functions for getting key-value collections from the config file. * ConfigXmlDocument.cs: wrapper around xml elements to provide line number and file name info. * IConfigXmlNode.cs: used in ConfigXmlDocument and ConfigurationException. * ConfigurationException.cs: get file name and line number from the wrapped XmlNode. Display this info in Message. * NameValueFileSectionHandler.cs: new handler. * DictionarySectionHandler.cs: * NameValueSectionHandler.cs: modified to use the helper methods in ConfigHelper. 2002-10-02 Gonzalo Paniagua Javier * AppSettingsReader.cs: New file. * IConfigurationSystem.cs: New file. * IgnoreSectionHandler.cs: * NameValueSectionHandler.cs: * SingleTagSectionHandler.cs: little fixes. 2002-09-03 Martin Baulig * ConfigurationSettings.cs (ConfigurationSettings.GetConfig): Use the correct configuration filename, fixed the TODO. (GetSectionHanderType): Renamed to GetSectionHandlerType. * NameValueSectionHandler.cs (NameValueSectionHandler.Create): Allow whitespaces in the configuration file. 2002-01-31 Duncan Mak * ConfigurationException.cs: Rewrote most of the file and added serialization bits. 2002-01-06 Ravi Pratap * ConfigurationSettings.cs, IgnoreSectionHandler.cs : MonoTODO decoration * SingleTagSectionHandler.cs, DictionarySectionHandler.cs, NameValueSectionHandler.cs : Ditto. 2001-08-28 Christopher Podurgiel * IConfigurationSectionHandler.cs: Added reference to System.Xml. * SingleTagSectionHandler.cs: Added Implementation of Create() method. * NameValueSectionHandler.cs: Added Implementation of Create() method. * ConfigurationException.cs: Now returns proper message rather than "System Exception". 2001-08-26 Christopher Podurgiel * ConfigurationSettings.cs: No longer references the NameValueSectionHandler directly. Instead it uses System.Reflection to call the Create() method for the appropriate SectionHandler as defined in the .config file.