2005-11-28  Chris Toshok  <toshok@ximian.com>

	* SettingValueElement.cs: wrap a few more things in
	CONFIGURATION_DEP.

2005-11-09  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* ApplicationSettingsBase.cs: remove unnecessary using.

	* SettingValueElement.cs: add XML_DEP's.

2005-11-03  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* SettingsPropertyWrongTypeException.cs: new exception.

2005-09-20  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <rharinath@novell.com>

	* ConfigurationSettings.cs (ConnectionStrings): Change XML_DEP
	guard to CONFIGURATION_DEP.

2005-06-15  Lluis Sanchez Gual <lluis@novell.com>

	* ProviderBase.cs: Moved here from System.Configuration.dll.

2005-06-14  Lluis Sanchez Gual <lluis@novell.com>

	* 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  <jackson@ximian.com>

	* ApplicationSettingsBase.cs: We need this stub to do some 2.0
	winforms stuff.

2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Configuration.cs: a few MonoTODOs less.

2005-03-02  Sureshkumar T  <tsureshkumar@novell.com>

	* ConfigurationSettings.cs: Implemented ConnectionStrings
	property.

2005-02-22  Sureshkumar T  <tsureshkumar@novell.com>

	* 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 <gonzalo@ximian.com>

	* 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 <gnorton@customerdna.com>

	* ProviderSettingsCollection.cs: Add XML_DEP because this inherits 
	ConfigurationElementCollection which has XML_DEP.  Fixes bootstrap
	
2004-11-18  Lluis Sanchez Gual <lluis@novell.com>

	* 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 <lluis@novell.com>

	* TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs,
	TimeSpanSerializedFormat.cs: Implemented.

2004-11-09  Duncan Mak  <duncan@ximian.com>

	* NonEmptyStringConfigurationProperty.cs: Add XML_DEP, this should
	fix the build.

2004-11-09  Lluis Sanchez Gual <lluis@novell.com>

	* 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 <lluis@novell.com>

	* 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 <lluis@novell.com>

	* 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 <lluis@novell.com>

	* 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 <lluis@novell.com>

	* 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 <tim@timcoleman.com>
	* ConfigurationElementCollection.cs ConfigurationElementCollectionType.cs:
		New Fx 2.0 stubs
	* ConfigurationElement.cs:
		Fix function declaration


2004-08-16  Duncan Mak  <duncan@ximian.com>	

	* 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  <duncan@ximian.com>

	* ProtectedConfigurationProvider.cs: Use XML_DEP.

2004-08-11  Duncan Mak  <duncan@ximian.com>	

	* ProtectedConfigurationProvider.cs:
	* ProviderBase.cs: Implemented.

	* ConfigurationPropertyAttribute.cs: Implemented attribute.

	* ConfigurationAllowDefinition.cs:
	* ConfigurationUserLevel.cs:
	* PathLevel.cs: Added enumerations.

2004-08-07  Atsushi Enomoto  <atsushi@ximian.com>

	* ConfigurationElement.cs,
	  ConfigurationProperty.cs,
	  ConfigurationPropertyCollection.cs,
	  ConfigurationValidationAttribute.cs : use XML_DEP.

2004-08-06  Duncan Mak  <duncan@ximian.com>

	* 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 <gonzalo@ximian.com>

	* ConfigurationSettings.cs: allow empty <configSections>.

2004-05-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ConfigurationSettings.cs: don't ask me why, but the .cctor
	initialization of 'instance' field does no longer work.

2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <gonzalo@ximian.com>

	* 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 <gonzalo@ximian.com>

	* ConfigurationSettings.cs: removed FileWatcherCache. See bug #53445.

2003-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <gonzalo@ximian.com>

	* 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  <bmaurer@users.sourceforge.net>

	* 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 <gonzalo@ximian.com>

	* ConfigurationSettings.cs: don't handle null or non-existent file in
	the catch blocks.

2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ConfigurationSettings.cs: really make the cache work.

2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ConfigurationSettings.cs: pass the file name we're reading as the
	context.

2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <ClassDevelopment@A-SoftTech.com>

	* ConfigurationSettings.cs: Removed unused exception variable, fixes
	compiler warning

2003-06-16  Lluis Sanchez Gual <lluis@ximian.com>

	* 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 <gonzalo@ximian.com>

	* AppSettingsReader.cs: fixed bug #38755.

2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <gonzalo@ximian.com>

	* ConfigurationSettings.cs: removed type loading hack no longer needed.

2002-12-14  Jonathan Pryor <jonpryor@vt.edu>

	* ConfigurationSettings.cs: Allow configuration sections to be removed.

2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ConfigurationSettings.cs: use AppDomainSetup to get the configuration
	file name for the AppDomain.

2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ConfigHelper.cs: NameValueCollection.Add is now fixed.

2002-10-14  Martin Baulig  <martin@gnome.org>

	* 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  <martin@gnome.org>

	* ConfigurationSettings.cs (DefaultConfig.GetAppConfigPath): Use
	Assembly.Location, not Assembly.FullName to get its filename.

2002-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <remove..> and then <add...).

2002-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ConfigHelper.cs:
	* NameValueFileSectionHandler.cs: check that Attributes is not null.

2002-10-09  Miguel de Icaza  <miguel@ximian.com>

	* 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 <gonzalo@ximian.com>

	* ConfigurationSettings.cs: use get_machine_config_path internal call.

2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <gonzalo@ximian.com>

	* ConfigurationSettings.cs: reimplemented. It is now able to deliver
	sections to their handlers for processing.

2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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 <gonzalo@ximian.com>

	* AppSettingsReader.cs: New file.
	* IConfigurationSystem.cs: New file.

	* IgnoreSectionHandler.cs:
	* NameValueSectionHandler.cs:
	* SingleTagSectionHandler.cs: little fixes.

2002-09-03  Martin Baulig  <martin@gnome.org>

	* 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  <duncan@ximian.com>

	* ConfigurationException.cs: Rewrote most of the file and added
	serialization bits.

2002-01-06  Ravi Pratap  <ravi@ximian.com>

	* ConfigurationSettings.cs, IgnoreSectionHandler.cs : MonoTODO decoration

	* SingleTagSectionHandler.cs, DictionarySectionHandler.cs, 
	NameValueSectionHandler.cs : Ditto.

2001-08-28  Christopher Podurgiel <cpodurgiel@msn.com>
	* 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 <cpodurgiel@msn.com>

	* 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.
