New tests, update
[mono.git] / mcs / class / System / System.Configuration / ChangeLog
index 2f0fe0738116f3cfc313a27d6afe85c6fe5b58f3..a37a46fc3222ce806153c8d4abc20d7348af6e8a 100644 (file)
@@ -1,3 +1,468 @@
+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