2009-05-10 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* CustomizableFileSettingsProvider.cs: make sure 'values' is
	initialized in Reset(). Fixes bug #436592.

2009-04-03  Marek Habersack  <mhabersack@novell.com>
  
	* CustomizableFileSettingsProvider.cs: added a way for System.Web
	to specify path to the current Web.config. Fixes bug #491531

2008-11-20 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ConfigHelper.cs: allow xmlns attribute.

2008-11-15  Gert Driesen  <drieseng@users.sourceforge.net>

	* SettingsPropertyValue.cs: Do not return null for zero-length String
	value.

2008-11-11  Atsushi Enomoto  <atsushi@xiiman.com>

	Fix for bug 439943.
	* SettingValueElement.cs : do not write value element twice.
	* CustomizableFileSettingsProvider.cs : create "value" element
	  instead of a document fragment so that the output from
	  SettingValueElement could become consistent.
	  Null binary value caused crash. Set appropriate
	  SerializedValue for each serialization type.
	* SettingsPropertyValue.cs : output only when the value is
	  non-null.

2008-11-05  Atsushi Enomoto  <atsushi@xiiman.com>

	* SettingValueElement.cs, CustomizableFileSettingsProvider.cs :
	  revert previous regressive change.

2008-11-05  Atsushi Enomoto  <atsushi@xiiman.com>

	* SettingValueElement.cs, CustomizableFileSettingsProvider.cs :
	  Fixed bug #439943. Xml deserialization for complex content was
	  not done correctly.

2008-10-05  Gert Driesen  <drieseng@users.sourceforge.net>

	* CustomizableFileSettingsProvider.cs (LoadPropertyValue): Do not
	hide ArgumentException.

2008-10-04 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* CustomizableFileSettingsProvider.cs: when reading application or
	user settings, only read those settings appropriate for the context.
	This avoids duplicate key errors when 2 different groups have a key
	with the same name.
	* ApplicationSettingsBase.cs: the context is a hashtable with several
	values set upon creation: SettingsKey, GroupName and
	SettingsClassType.

	Fixes bug #432466.

2008-10-04 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ApplicationSettingsBase.cs: honor the IsSynchronized value in the
	Context, Properties, PropertyValues and Providers. All of them might
	initialize an instance field for the class. Hopefully this fixes some
	nullrefs.

2008-10-04 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ApplicationSettingsBase.cs: honor the IsSynchronized value in the
	indexer.

2008-09-15  Raja R Harinath  <harinath@hurrynot.org>

	* ConfigXmlDocument.cs (Load): Fix build break in 1.1 profile.
	Open code the 'using' with try/finally/Close.

2008-09-14  Gert Driesen  <drieseng@users.sourceforge.net>

	* ConfigXmlDocument.cs: Dispose XmlTextReader in Load (String).

2008-09-01  Ivan N. Zlatev  <contact@i-nz.net>

	* SettingsPropertyValue.cs: Explicitly use the Invariant culture 
	instead of the current.
	[Fixes bug #374516]

2008-08-05  Ivan N. Zlatev  <contact@i-nz.net>

	* ApplicationSettingsBase.cs: If there is no explicit 
	SettingsSerializeAs attribute to specify the format, distinguish 
	between plain string and XML by checking if the TypeConverter for the 
	property type supports string conversions. If it doesn't then we are 
	present with XML.
	[Fixes bug #414445]

2008-06-26  Gert Driesen  <drieseng@users.sourceforge.net>

	* ConfigXmlDocument.cs: Implement IConfigErrorInfo on all Node classes.

2008-06-25  Gert Driesen  <drieseng@users.sourceforge.net>

	* ConfigurationExceptionTest.cs: Removed local bareMessage field, and
	use base.Message instead. Fixed default cor to invoke String ctor of
	SystemException. Fixed Message property to only add filename if not
	null or zero-length string, and only add line if not zero.
	* DictionarySectionHandler.cs: Fixed line endings.
	* IgnoreSectionHandler.cs: Fixed line endings.

2008-03-21  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableFileSettingsProvider.cs : fix possible NRE for
	  SettingsContext.Current.

2008-03-21  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableFileSettingsProvider.cs : some hash calculation
	  improvements by the author.
2008-03-14  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableFileSettingsProvider.cs : cosmetic header fix
	  requested by the author.

2008-01-12  Sebastien Pouliot  <sebastien@ximian.com>

	* SettingsPropertyValue.cs: Fix typo. Found using Gendarme.

2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableFileSettingsProvider.cs : when a property is found
	  only in the config file and not in the corresponding config type,
	  do not raise NRE but just add it as a simple property value.
	  Fixed bug #343459.

2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>

	* ConfigXmlDocument.cs : corcompare cleanup.

2007-11-06  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableFileSettingsProvider.cs : Type.Namespace can be null.
	  MSDN documentation is kind of wrong here.

2007-10-31 Arina Itkes <arinai@mainsoft.com>

	* CustomizableFileSettingsProvider.cs,  LocalFileSettingsProvider.cs:
	Return flow to the state before revision 80469 
	for compilation with defined TARGET_JVM flag.

2007-06-21  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingValueElement.cs : implement Reset().
	* CustomizableFileSettingsProvider.cs : fixed company name getter
	  and product name getter.
	  LoadPropertyValue() should expect null ValueXml.
	* LocalFileSettingsProvider.cs : time to switch. With a bit of
	  directory name difference, it should work.

2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableLocalFileSettingsProvider.cs :
	  - added extern alias to avoid reference and I could enable
	    Initialize() again.
	  - Copied default user config path stuff (Company/Product/Version)
	    from MWF Application.cs.
	  - SaveProperties() and SavePropertiesNoRoaming() are unified, and
	    mostly rewritten to create userSettings, set value correctly, etc.
	  - GetPropertyValues() should collect default values as well.

	  It is not enabled yet, as Configuration.Save() seems to do wrong
	  and could overwrite application exe.config.

2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingsContext.cs : add internal CurrentSettings property to
	  make current ApplicationSettingsBase accessible.
	* ApplicationSettingsBase.cs : use above.
	* SettingValueElement.cs : implement SerializeToXmlElement().

2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingValueElement.cs: fixed stub Properties property for
	System.Configuration fixes

2007-06-04  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomizableLocalFileSettingsProvider.cs : contribution for
	  LocalFileSettingsProvider implementation, by Noriaki Okimoto
	  (seara@ojk.sppd.ne.jp), modified by myself to fit for System.dll.
	  Origin of code license assignment at
	  http://ojk.sppd.ne.jp/ojkblog/?date=20070603#p01.
	* LocalFileSettingsProvider.cs : rewriting to use above.

	  Due to some kind of compiler issue it is not enabled yet.

2007-05-30  Atsushi Enomoto  <atsushi@ximian.com>

	* ApplicationSettingsBase.cs : removed garbage debugging stuff.

2007-05-30  Atsushi Enomoto  <atsushi@ximian.com>

	* ConfigXmlDocument.cs : added explicit interface implementations.
	* ApplicationSettingsBase.cs : split deeply-nested get_Properties()
	  into itself and a method. Treat default LocalFileSettingsProvider
	  as a (valid) settings provider. Removed a fixme (only public
	  members should be available).
	* SettingsBase.cs : check lock state in Save().
	* SettingsProviderCollection.cs : remove bogus table field which
	  conflicts with the table in base ProviderCollection class.

2007-05-30  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingsBase.cs : property values are filled only when each
	  property is accessed. It should not use virtual providers,
	  properties or context internally since they could be overriden.
	* SettingsPropertyValue.cs : to serialize value as string, use
	  TypeConverter as well (as deserialization).
	* SettingsProviderCollection.cs : (Add) null arg check.

2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingElementCollection.cs : fix build, cyclic build mess.

2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingElement.cs : fix default value (null->"").
	* SettingElementCollection.cs : implemented all.

2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingsProviderAttribute.cs :
	  Return assembly qualified name. Check null args.
	* ConfigXmlDocument.cs : it implements IConfigErrorInfo.

2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingsPropertyValue.cs: fixed binary deserealization that may be
	present as base64 string

2007-03-03  Gert Driesen  <drieseng@users.sourceforge.net>

	* ConfigurationSettings.cs: On 2.0 profile, use ConfigurationManager
	to retrieve config section. Fixes bug #81020.

2007-01-22  Miguel de Icaza  <miguel@novell.com>

	* SettingsBase.cs: Removed a NotImplementedException, it provides
	a default Save implementation. 

2007-01-14  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingsPropertyValue.cs: fixed IsDirty Property

2007-01-08  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingsPropertyValue.cs: fixed PropertyValue, default value of
	SettingsProperty should be desirialized or created

2007-01-03  Tor Lillqvist  <tml@novell.com>

	* ConfigurationSettings.cs: First try loading a bundled
	machine.config file, then try loading one from the file
	system. From #80305.

2006-12-31  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingsPropertyValue.cs: fixed PropertyValue property, added
	default value convertation to property type

2006-12-12  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingsBase.cs: implemented Item property

2006-11-09  Sebastien Pouliot  <sebastien@ximian.com>

	* ApplicationSettingsBase.cs: Add special case when dealing with 
	StringCollection in the Properties property.

2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* SettingsPropertyValue.cs: fixed PropertyValue property when it
	should be deserialized.

2006-10-13  Atsushi Enomoto  <atsushi@ximian.com>

	* ConfigurationSettings.cs :
	  Handle <section> inside <section> as expected.
	  Fixed some ReadSections() consumers that it does _not_ consume
	  the surrounding EndElement. For now all issues I found are gone.

2006-10-13  Atsushi Enomoto  <atsushi@ximian.com>

	* ConfigurationSettings.cs : another MoveToNextElement() elimination.
	  When there is another section group after "system.drawing"
	  section in the existing machine.config, it borked as if there were
	  no "system.diagnostics" section.

	  It is still buggy; prepended sectionGroup still causes the above.

2006-10-13  Atsushi Enomoto  <atsushi@ximian.com>

	* ConfigurationSettings.cs : when there is no content in
	  sectionGroup, all the following contents were incorrectly read
	  as the empty group's subsection.

2006-09-28  Andrew Skiba <andrews@mainsoft.com>

	* ConfigurationSettings.cs: add support for requirePermission
	attribute.

2006-09-28  Andrew Skiba <andrews@mainsoft.com>

	* ConfigurationSettings.cs: TARGET_JVM

2006-08-23  Konstantin Triger <kostat@mainsoft.com>

	* ConfigurationSettings.cs: remove CONFIGURATION_2_0 #if since NET_2_0
		implies it.

2006-07-31  Sebastien Pouliot  <sebastien@ximian.com>

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

	* ApplicationSettingsBase.cs : When we use default value, convert it
	  to proper type. Fixed bug #78654. Patch by Gareth Pearce.

2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>

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

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

	* ConfigurationSettings.cs : another System.Orgy insanity.

2006-05-12  Atsushi Enomoto  <atsushi@ximian.com>

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

	* ConfigurationSettings.cs : use ConfigurationManager.GetConfig()
	  in its GetConfig(). No need to change AppSettings and
	  Default.GetConfig() behavior here.

2006-05-05  Chris Toshok  <toshok@ximian.com>

	* LocalFileSettingsProvider.cs (IsUserSetting): more
	CONFIGURATION_DEP crap.

2006-05-05  Chris Toshok  <toshok@ximian.com>

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

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

	* SettingElement.cs : more circular dependency fix.

2006-04-27  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingValueElement.cs,
	  SettingElement.cs : circular dependency hell fix.

2006-04-27  Atsushi Enomoto  <atsushi@ximian.com>

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

	* ApplicationSettingsGroup.cs : added missing type. This is part of
	  fix for bug #77957.

2006-03-11  Miguel de Icaza  <miguel@novell.com>

	* ConfigurationSettings.cs (ChangeConfigurationSettings): Make
	internal to avoid warnings.  This routine is called from
	System.Web with MethodInfo.Invoke.

2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>

	* SettingElementCollection.cs : CollectionType is protected.

2006-01-16  Chris Toshok  <toshok@ximian.com>

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

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

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