2010-02-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
[mono.git] / mcs / class / System / System.Configuration / ChangeLog
1 2010-02-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
2
3         * CustomizableLocalFileSettingsProvider.cs: When saving the
4         properties, ignore the properties marked with
5         ApplicationScopedSettingAttribute, as they are not serialized in .net 
6         by FileSettingsProvider (the default class used to save the config,
7         and the one using the class we are modifying).
8         Fixes #468658.
9
10 2010-02-12 Carlos Alberto Cortez <calberto.cortez@gmail.com>
11
12         * CustomizableLocalFileSettingsProvider.cs: The name of the child
13         class of Settings should be 'normalized' by replacing the chars that
14         are invalid in a xml element name with their corresponding hexadecimal
15         values. This is specially visible when using classes container in
16         other classes.
17         Fixes #471289.
18
19 2009-08-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
20
21         * CustomizableFileSettingsProvider.cs: reset the property value
22         instead of using the DefaultValue.
23         * SettingsPropertyValue.cs: new Reset() method.
24         * ApplicationSettingsBase.cs: Reset happens in Reload().
25         Patch by Andrew Kurochka that fixes bug #532180.
26
27 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
28
29         * IriParsingElement.cs:
30         * UriSection.cs:
31         * IdnElement.cs: new files that parse <uri> and subelements.
32
33 2009-06-05 Marek Safar <marek.safar@gmail.com>
34
35         * DictionarySectionHandler.cs, NameValueSectionHandler.cs,
36         NameValueFileSectionHandler.cs, SingleTagSectionHandler.cs,
37         IConfigurationSectionHandler.cs, IgnoreSectionHandler.cs: Always
38         build IConfigurationSectionHandler.
39
40 2009-05-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
41
42         * CustomizableFileSettingsProvider.cs: make sure 'values' is
43         initialized in Reset(). Fixes bug #436592.
44
45 2009-04-03  Marek Habersack  <mhabersack@novell.com>
46
47         * CustomizableFileSettingsProvider.cs: added a way for System.Web
48         to specify path to the current Web.config. Fixes bug #491531
49
50 2008-11-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
51
52         * ConfigHelper.cs: allow xmlns attribute.
53
54 2008-11-15  Gert Driesen  <drieseng@users.sourceforge.net>
55
56         * SettingsPropertyValue.cs: Do not return null for zero-length String
57         value.
58
59 2008-11-11  Atsushi Enomoto  <atsushi@xiiman.com>
60
61         Fix for bug 439943.
62         * SettingValueElement.cs : do not write value element twice.
63         * CustomizableFileSettingsProvider.cs : create "value" element
64           instead of a document fragment so that the output from
65           SettingValueElement could become consistent.
66           Null binary value caused crash. Set appropriate
67           SerializedValue for each serialization type.
68         * SettingsPropertyValue.cs : output only when the value is
69           non-null.
70
71 2008-11-05  Atsushi Enomoto  <atsushi@xiiman.com>
72
73         * SettingValueElement.cs, CustomizableFileSettingsProvider.cs :
74           revert previous regressive change.
75
76 2008-11-05  Atsushi Enomoto  <atsushi@xiiman.com>
77
78         * SettingValueElement.cs, CustomizableFileSettingsProvider.cs :
79           Fixed bug #439943. Xml deserialization for complex content was
80           not done correctly.
81
82 2008-10-05  Gert Driesen  <drieseng@users.sourceforge.net>
83
84         * CustomizableFileSettingsProvider.cs (LoadPropertyValue): Do not
85         hide ArgumentException.
86
87 2008-10-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
88
89         * CustomizableFileSettingsProvider.cs: when reading application or
90         user settings, only read those settings appropriate for the context.
91         This avoids duplicate key errors when 2 different groups have a key
92         with the same name.
93         * ApplicationSettingsBase.cs: the context is a hashtable with several
94         values set upon creation: SettingsKey, GroupName and
95         SettingsClassType.
96
97         Fixes bug #432466.
98
99 2008-10-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
100
101         * ApplicationSettingsBase.cs: honor the IsSynchronized value in the
102         Context, Properties, PropertyValues and Providers. All of them might
103         initialize an instance field for the class. Hopefully this fixes some
104         nullrefs.
105
106 2008-10-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
107
108         * ApplicationSettingsBase.cs: honor the IsSynchronized value in the
109         indexer.
110
111 2008-09-15  Raja R Harinath  <harinath@hurrynot.org>
112
113         * ConfigXmlDocument.cs (Load): Fix build break in 1.1 profile.
114         Open code the 'using' with try/finally/Close.
115
116 2008-09-14  Gert Driesen  <drieseng@users.sourceforge.net>
117
118         * ConfigXmlDocument.cs: Dispose XmlTextReader in Load (String).
119
120 2008-09-01  Ivan N. Zlatev  <contact@i-nz.net>
121
122         * SettingsPropertyValue.cs: Explicitly use the Invariant culture 
123         instead of the current.
124         [Fixes bug #374516]
125
126 2008-08-05  Ivan N. Zlatev  <contact@i-nz.net>
127
128         * ApplicationSettingsBase.cs: If there is no explicit 
129         SettingsSerializeAs attribute to specify the format, distinguish 
130         between plain string and XML by checking if the TypeConverter for the 
131         property type supports string conversions. If it doesn't then we are 
132         present with XML.
133         [Fixes bug #414445]
134
135 2008-06-26  Gert Driesen  <drieseng@users.sourceforge.net>
136
137         * ConfigXmlDocument.cs: Implement IConfigErrorInfo on all Node classes.
138
139 2008-06-25  Gert Driesen  <drieseng@users.sourceforge.net>
140
141         * ConfigurationExceptionTest.cs: Removed local bareMessage field, and
142         use base.Message instead. Fixed default cor to invoke String ctor of
143         SystemException. Fixed Message property to only add filename if not
144         null or zero-length string, and only add line if not zero.
145         * DictionarySectionHandler.cs: Fixed line endings.
146         * IgnoreSectionHandler.cs: Fixed line endings.
147
148 2008-03-21  Atsushi Enomoto  <atsushi@ximian.com>
149
150         * CustomizableFileSettingsProvider.cs : fix possible NRE for
151           SettingsContext.Current.
152
153 2008-03-21  Atsushi Enomoto  <atsushi@ximian.com>
154
155         * CustomizableFileSettingsProvider.cs : some hash calculation
156           improvements by the author.
157 2008-03-14  Atsushi Enomoto  <atsushi@ximian.com>
158
159         * CustomizableFileSettingsProvider.cs : cosmetic header fix
160           requested by the author.
161
162 2008-01-12  Sebastien Pouliot  <sebastien@ximian.com>
163
164         * SettingsPropertyValue.cs: Fix typo. Found using Gendarme.
165
166 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
167
168         * CustomizableFileSettingsProvider.cs : when a property is found
169           only in the config file and not in the corresponding config type,
170           do not raise NRE but just add it as a simple property value.
171           Fixed bug #343459.
172
173 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
174
175         * ConfigXmlDocument.cs : corcompare cleanup.
176
177 2007-11-06  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * CustomizableFileSettingsProvider.cs : Type.Namespace can be null.
180           MSDN documentation is kind of wrong here.
181
182 2007-10-31 Arina Itkes <arinai@mainsoft.com>
183
184         * CustomizableFileSettingsProvider.cs,  LocalFileSettingsProvider.cs:
185         Return flow to the state before revision 80469 
186         for compilation with defined TARGET_JVM flag.
187
188 2007-06-21  Atsushi Enomoto  <atsushi@ximian.com>
189
190         * SettingValueElement.cs : implement Reset().
191         * CustomizableFileSettingsProvider.cs : fixed company name getter
192           and product name getter.
193           LoadPropertyValue() should expect null ValueXml.
194         * LocalFileSettingsProvider.cs : time to switch. With a bit of
195           directory name difference, it should work.
196
197 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
198
199         * CustomizableLocalFileSettingsProvider.cs :
200           - added extern alias to avoid reference and I could enable
201             Initialize() again.
202           - Copied default user config path stuff (Company/Product/Version)
203             from MWF Application.cs.
204           - SaveProperties() and SavePropertiesNoRoaming() are unified, and
205             mostly rewritten to create userSettings, set value correctly, etc.
206           - GetPropertyValues() should collect default values as well.
207
208           It is not enabled yet, as Configuration.Save() seems to do wrong
209           and could overwrite application exe.config.
210
211 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
212
213         * SettingsContext.cs : add internal CurrentSettings property to
214           make current ApplicationSettingsBase accessible.
215         * ApplicationSettingsBase.cs : use above.
216         * SettingValueElement.cs : implement SerializeToXmlElement().
217
218 2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
219
220         * SettingValueElement.cs: fixed stub Properties property for
221         System.Configuration fixes
222
223 2007-06-04  Atsushi Enomoto  <atsushi@ximian.com>
224
225         * CustomizableLocalFileSettingsProvider.cs : contribution for
226           LocalFileSettingsProvider implementation, by Noriaki Okimoto
227           (seara@ojk.sppd.ne.jp), modified by myself to fit for System.dll.
228           Origin of code license assignment at
229           http://ojk.sppd.ne.jp/ojkblog/?date=20070603#p01.
230         * LocalFileSettingsProvider.cs : rewriting to use above.
231
232           Due to some kind of compiler issue it is not enabled yet.
233
234 2007-05-30  Atsushi Enomoto  <atsushi@ximian.com>
235
236         * ApplicationSettingsBase.cs : removed garbage debugging stuff.
237
238 2007-05-30  Atsushi Enomoto  <atsushi@ximian.com>
239
240         * ConfigXmlDocument.cs : added explicit interface implementations.
241         * ApplicationSettingsBase.cs : split deeply-nested get_Properties()
242           into itself and a method. Treat default LocalFileSettingsProvider
243           as a (valid) settings provider. Removed a fixme (only public
244           members should be available).
245         * SettingsBase.cs : check lock state in Save().
246         * SettingsProviderCollection.cs : remove bogus table field which
247           conflicts with the table in base ProviderCollection class.
248
249 2007-05-30  Atsushi Enomoto  <atsushi@ximian.com>
250
251         * SettingsBase.cs : property values are filled only when each
252           property is accessed. It should not use virtual providers,
253           properties or context internally since they could be overriden.
254         * SettingsPropertyValue.cs : to serialize value as string, use
255           TypeConverter as well (as deserialization).
256         * SettingsProviderCollection.cs : (Add) null arg check.
257
258 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * SettingElementCollection.cs : fix build, cyclic build mess.
261
262 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
263
264         * SettingElement.cs : fix default value (null->"").
265         * SettingElementCollection.cs : implemented all.
266
267 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
268
269         * SettingsProviderAttribute.cs :
270           Return assembly qualified name. Check null args.
271         * ConfigXmlDocument.cs : it implements IConfigErrorInfo.
272
273 2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
274
275         * SettingsPropertyValue.cs: fixed binary deserealization that may be
276         present as base64 string
277
278 2007-03-03  Gert Driesen  <drieseng@users.sourceforge.net>
279
280         * ConfigurationSettings.cs: On 2.0 profile, use ConfigurationManager
281         to retrieve config section. Fixes bug #81020.
282
283 2007-01-22  Miguel de Icaza  <miguel@novell.com>
284
285         * SettingsBase.cs: Removed a NotImplementedException, it provides
286         a default Save implementation. 
287
288 2007-01-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
289
290         * SettingsPropertyValue.cs: fixed IsDirty Property
291
292 2007-01-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
293
294         * SettingsPropertyValue.cs: fixed PropertyValue, default value of
295         SettingsProperty should be desirialized or created
296
297 2007-01-03  Tor Lillqvist  <tml@novell.com>
298
299         * ConfigurationSettings.cs: First try loading a bundled
300         machine.config file, then try loading one from the file
301         system. From #80305.
302
303 2006-12-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
304
305         * SettingsPropertyValue.cs: fixed PropertyValue property, added
306         default value convertation to property type
307
308 2006-12-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
309
310         * SettingsBase.cs: implemented Item property
311
312 2006-11-09  Sebastien Pouliot  <sebastien@ximian.com>
313
314         * ApplicationSettingsBase.cs: Add special case when dealing with 
315         StringCollection in the Properties property.
316
317 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
318
319         * SettingsPropertyValue.cs: fixed PropertyValue property when it
320         should be deserialized.
321
322 2006-10-13  Atsushi Enomoto  <atsushi@ximian.com>
323
324         * ConfigurationSettings.cs :
325           Handle <section> inside <section> as expected.
326           Fixed some ReadSections() consumers that it does _not_ consume
327           the surrounding EndElement. For now all issues I found are gone.
328
329 2006-10-13  Atsushi Enomoto  <atsushi@ximian.com>
330
331         * ConfigurationSettings.cs : another MoveToNextElement() elimination.
332           When there is another section group after "system.drawing"
333           section in the existing machine.config, it borked as if there were
334           no "system.diagnostics" section.
335
336           It is still buggy; prepended sectionGroup still causes the above.
337
338 2006-10-13  Atsushi Enomoto  <atsushi@ximian.com>
339
340         * ConfigurationSettings.cs : when there is no content in
341           sectionGroup, all the following contents were incorrectly read
342           as the empty group's subsection.
343
344 2006-09-28  Andrew Skiba <andrews@mainsoft.com>
345
346         * ConfigurationSettings.cs: add support for requirePermission
347         attribute.
348
349 2006-09-28  Andrew Skiba <andrews@mainsoft.com>
350
351         * ConfigurationSettings.cs: TARGET_JVM
352
353 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
354
355         * ConfigurationSettings.cs: remove CONFIGURATION_2_0 #if since NET_2_0
356                 implies it.
357
358 2006-07-31  Sebastien Pouliot  <sebastien@ximian.com>
359
360         * ConfigurationSettings.cs: Assert FileIOPermission when loading a 
361         configuration file.
362         * ConfigXmlDocument.cs: Add an imperative demand for PathDiscovery on
363         all (many classes) Filename properties. Ensure we're not using the
364         property (but the member) inside the class itself.
365
366 2006-06-29  Atsushi Enomoto  <atsushi@ximian.com>
367
368         * ApplicationSettingsBase.cs : When we use default value, convert it
369           to proper type. Fixed bug #78654. Patch by Gareth Pearce.
370
371 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
372
373         * ConfigurationException.cs: BareMessage, Filename and Line properties
374         are only virtual on 2.0 profile.
375         * ConfigurationSettings.cs: Marked GetConfig (string) obsolete on
376         2.0 profile.
377
378 2006-05-17  Atsushi Enomoto  <atsushi@ximian.com>
379
380         * SettingsPropertyCollection.cs : implemented some synchronization
381           releated members. Actually it can never be synchronized by itself.
382         * SettingsBase.cs : Synchronized() just returns the same instance,
383           marking it as IsSynchronized = true. Fixed bug #78430.
384
385 2006-05-12  Atsushi Enomoto  <atsushi@ximian.com>
386
387         * ConfigurationSettings.cs : another System.Orgy insanity.
388
389 2006-05-12  Atsushi Enomoto  <atsushi@ximian.com>
390
391         * ConfigurationSettings.cs : ok, now I correctly understand the
392           problem. Since appSettings section handlers are different between
393           1.x and 2.0 AppSettings property implementation should also be
394           different. It should really fix bug #78372.
395
396 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
397
398         * ConfigurationSettings.cs : use ConfigurationManager.GetConfig()
399           in its GetConfig(). No need to change AppSettings and
400           Default.GetConfig() behavior here.
401
402 2006-05-05  Chris Toshok  <toshok@ximian.com>
403
404         * LocalFileSettingsProvider.cs (IsUserSetting): more
405         CONFIGURATION_DEP crap.
406
407 2006-05-05  Chris Toshok  <toshok@ximian.com>
408
409         * ApplicationSettingsBase.cs (CacheValuesByProvider): emit
410         SettingsLoaded after we load the property values.
411         (set_Item[string]): fill in settingClass in the
412         SettingChangingEventArgs properly.
413         (get_Properties): don't depend on setting_attrs[0] being either
414         UserScoped- or ApplicationScopedSettingAttribute.  Also, call
415         Initialize on any providers we create here.
416
417         * LocalFileSettingsProvider.cs (GetPropertyValues): add a naive
418         implementation, leave a MonoTODO.
419         (Initialize): fill in name properly, and deal with null values.
420
421 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
422
423         * NoSettingsVersionUpgradeAttribute.cs
424           SettingsDescriptionAttribute.cs
425           SettingsGroupDescriptionAttribute.cs
426           SettingsGroupNameAttribute.cs
427           SettingsManageability.cs
428           SettingsManageabilityAttribute.cs
429           SpecialSetting.cs
430           SpecialSettingAttribute.cs : new files.
431         * ConfigurationException.cs
432           SettingsPropertyCollection.cs : minor API compat fixes.
433
434 2006-04-27  Atsushi Enomoto  <atsushi@ximian.com>
435
436         * SettingElement.cs : more circular dependency fix.
437
438 2006-04-27  Atsushi Enomoto  <atsushi@ximian.com>
439
440         * SettingValueElement.cs,
441           SettingElement.cs : circular dependency hell fix.
442
443 2006-04-27  Atsushi Enomoto  <atsushi@ximian.com>
444
445         * ClientSettingsSection.cs : new (implemented) file.
446         * SettingValueElement.cs : implemented.
447           SettingElement.cs : implemented.
448           SettingElementCollection.cs : implemented except for Add(),
449           Clear(), Get() and Remove().
450
451           A test will be soon added as part of bug #77957 test with
452           DefaultCollection support in sys.configuration.
453
454 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
455
456         * ApplicationSettingsGroup.cs : added missing type. This is part of
457           fix for bug #77957.
458
459 2006-03-11  Miguel de Icaza  <miguel@novell.com>
460
461         * ConfigurationSettings.cs (ChangeConfigurationSettings): Make
462         internal to avoid warnings.  This routine is called from
463         System.Web with MethodInfo.Invoke.
464
465 2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>
466
467         * SettingElementCollection.cs : CollectionType is protected.
468
469 2006-01-16  Chris Toshok  <toshok@ximian.com>
470
471         * ConfigurationSettings.cs (AppSettings): move back to a 1.x
472         strategy in the 2.0 case.  That is, don't hardcode the reference
473         to ConfigurationManager.AppSettings (yet).  Eventually we can move
474         back to this code, once ConfigurationManager supports reading
475         web.config for settings.
476
477 2006-01-03  Chris Toshok  <toshok@ximian.com>
478
479         * ConfigurationSettings.cs (GetConfig): be nice to people using
480         old 1.x style section handlers with the new 2.0 config stuff.  If
481         we're about to return null or IgnoreSection, try to load it using
482         the 1.x api.  If that works, return that object.
483
484 2006-01-02  Chris Toshok  <toshok@ximian.com>
485
486         * LocalFileSettingsProvider.cs: use the PrebuiltSystem extern
487         alias to make sure we use the right type for NameValueCollection.
488         (Initialize): enable (under the CONFIGURATION_2_0 ifdef).
489
490         * ConfigurationSettings.cs: use the PrebuiltSystem extern alias to
491         make sure we use the right type for NameValueCollection.
492         (AppSettings): provide an implementation for the NET_2_0 &&
493         CONFIGURATION_2_0 case.
494         (GetConfig): same.
495         (ReadSectionGroup): allow a type attribute in the NET_2_0 &&
496         CONFIGURATION_2_0 case.
497
498         * AppSettingsReader.cs: use the PrebuiltSystem extern alias to
499         make sure we use the right type for NameValueCollection.
500
501 2005-11-28  Chris Toshok  <toshok@ximian.com>
502
503         * SettingValueElement.cs: wrap a few more things in
504         CONFIGURATION_DEP.
505
506 2005-11-09  Chris Toshok  <toshok@ximian.com>
507
508         * ConfigurationSettings.cs (AppSettings): remove the #if NET_2_0
509         block breaks this.
510         (ReadSectionGroup): allow the "type" atrribute so we don't break
511         when reading a 2.0 config file using the 1.0 stuff.
512
513 2005-11-04  Chris Toshok  <toshok@ximian.com>
514
515         * SettingsProvider.cs, SettingsPropertyValueCollection.cs,
516         SettingValueElement.cs, SettingElement.cs,
517         SettingsPropertyValue.cs, ApplicationSettingsBase.cs,
518         SettingsPropertyCollection.cs, SettingsProviderCollection.cs,
519         SettingElementCollection.cs: Add XML_DEPS and CONFIGURATION_DEPS
520         to get this to bootstrap compile.  What a pain.
521         
522 2005-11-04  Chris Toshok  <toshok@ximian.com>
523
524         * ApplicationSettingsBase.cs: remove unnecessary using.
525
526         * SettingValueElement.cs: add XML_DEP's.
527
528 2005-11-03  Chris Toshok  <toshok@ximian.com>
529
530         * ConfigurationSettings.cs: add ObsoleteAttribute's.
531
532         * ConfigurationException.cs: add ObsoleteAttribute's.
533
534         * IConfigurationSystem.cs: add ComVisibleAttribute.
535
536         * ApplicationSettingsBase.cs: new stubs, with a broken/naive
537         implementation.
538
539         * SettingElementCollection.cs, IPersistComponentSettings.cs,
540         SettingElement.cs, LocalFileSettingsProvider.cs,
541         SettingValueElement.cs: new stubs.
542
543         * SettingAttribute.cs: fix typo.
544
545 2005-09-22  Chris Toshok  <toshok@ximian.com>
546
547         * SettingsPropertyWrongTypeException.cs: new exception.
548
549 2005-09-20  Chris Toshok  <toshok@ximian.com>
550
551         * SettingsPropertyValue.cs
552         (SettingsPropertyValue.set_PropertyValue): set needPropertyValue =
553         false here so we don't pull in the default value in the getter.
554
555         * SettingsProviderCollection.cs: new implementation.
556
557         * SettingsPropertyValueCollection.cs
558         (SettingsPropertyValueCollection..ctor): init items.
559         (Add): add an internal method that takes a
560         SettingsPropertyValueCollection.
561
562 2005-09-20  Chris Toshok  <toshok@ximian.com>
563
564         * SettingsSavingEventHandler.cs: new delegate.
565         
566         * SettingChangingEvent{Handler,Args}.cs: new delegate and args
567
568         * SettingsLoaded{Handler,Args}.cs: new delegate and args
569
570         * SettingsProviderAttribute.cs, SettingSerializeAsAttribute.cs,
571         UserScopedSettingAttribute.cs, DefaultSettingValueAttribute.cs,
572         ApplicationScopedSettingAttribute.cs, SettingAttribute: new
573         attributes.
574
575 2005-09-20  Chris Toshok  <toshok@ximian.com>
576
577         * SettingChangingEventArgs.cs: new implementation.
578
579         * SettingsPropertyIsReadOnlyException.cs: new exception.
580
581         * SettingsPropertyNotFoundException.cs: new exception.
582
583         * ISettingsProviderService.cs: new interface.
584
585         * IApplicationSettingsProvider.cs: new interface.
586
587         * SettingsPropertyValueCollection.cs: new implementation.
588
589         * SettingsPropertyCollection.cs: new implementation.
590
591         * SettingsBase.cs: implement the obvious bits (getters,
592         basically).
593
594         * SettingsPropertyValue.cs: make this work for the tests.
595         Disgusting class here.  dis-gus-ting.
596
597 2005-09-19  Chris Toshok  <toshok@ximian.com>
598
599         * System.Configuration/SettingsProvider.cs,
600         System.Configuration/SettingsPropertyValueCollection.cs,
601         System.Configuration/SettingsPropertyCollection.cs,
602         System.Configuration/SettingsProviderCollection.cs,
603         System.Configuration/SettingsBase.cs,
604         System.Configuration/SettingsSerializeAs.cs,
605         System.Configuration/SettingsPropertyValue.cs,
606         System.Configuration/SettingsProperty.cs,
607         System.Configuration/SettingsContext.cs,
608         System.Configuration/SettingsAttributeDictionary.cs: new files.
609
610 2005-07-05  Raja R Harinath  <rharinath@novell.com>
611
612         * ConfigurationSettings.cs (ConnectionStrings): Change XML_DEP
613         guard to CONFIGURATION_DEP.
614
615 2005-06-15  Lluis Sanchez Gual <lluis@novell.com>
616
617         * ProviderBase.cs: Moved here from System.Configuration.dll.
618
619 2005-06-14  Lluis Sanchez Gual <lluis@novell.com>
620
621         * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
622         ConfigurationAllowDefinition.cs, ConfigurationElement.cs
623         ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
624         ConfigurationLocation.cs, ConfigurationLocationCollection.cs
625         ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
626         ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
627         ConfigurationSection.cs, ConfigurationSectionCollection.cs
628         ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
629         ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
630         ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
631         ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
632         IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
633         NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
634         ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
635         RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
636         TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
637         TimeSpanSerializedFormat.cs:
638
639         Moved to the new System.Configuration assembly.
640
641
642 2005-03-23  Jackson Harper  <jackson@ximian.com>
643
644         * ApplicationSettingsBase.cs: We need this stub to do some 2.0
645         winforms stuff.
646
647 2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
648
649         * Configuration.cs: a few MonoTODOs less.
650
651 2005-03-02  Sureshkumar T  <tsureshkumar@novell.com>
652
653         * ConfigurationSettings.cs: Implemented ConnectionStrings
654         property.
655
656 2005-02-22  Sureshkumar T  <tsureshkumar@novell.com>
657
658         * ConnectionStringsSection.cs: Implemented all methods.
659
660         New Files Added:
661         * ConnectionStringSettings.cs: Configuration object for a
662         connection string element.
663         * ConnectionStringSettingsCollection.cs: Collection of
664         ConnectionStringSettings objects.
665
666 2005-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
667
668         * Configuration.cs: (.ctor) don't fail if the file to load does not
669         exist.
670         (GetExeConfiguration): use caller assembly location if the path is null
671         and check that the exe file exists.
672         Removed if XML_DEP, as there's one at the top of the file.
673
674 2004-11-18  Geoff Norton <gnorton@customerdna.com>
675
676         * ProviderSettingsCollection.cs: Add XML_DEP because this inherits 
677         ConfigurationElementCollection which has XML_DEP.  Fixes bootstrap
678         
679 2004-11-18  Lluis Sanchez Gual <lluis@novell.com>
680
681         * ProviderSettings.cs, ProviderSettingsCollection.cs: Mostly implemented.
682         * Configuration.cs: Implemented GetSection() and GetSectionGroup().
683         * AppSettingsSection.cs: Better null check in Reset().
684
685 2004-11-15  Lluis Sanchez Gual <lluis@novell.com>
686
687         * TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs,
688         TimeSpanSerializedFormat.cs: Implemented.
689
690 2004-11-09  Duncan Mak  <duncan@ximian.com>
691
692         * NonEmptyStringConfigurationProperty.cs: Add XML_DEP, this should
693         fix the build.
694
695 2004-11-09  Lluis Sanchez Gual <lluis@novell.com>
696
697         * ConfigurationElement.cs: Implemented Equals and GetHashCode.
698         Only reflect properties from type's members if the type does not
699         override Properties.
700         * ConfigurationElementCollection.cs: Implemented Equals and GetHashCode.
701         Other minor fixes.
702         * ConfigurationProperty.cs: It is not a subclass of ConfigurationElement.
703         * NonEmptyStringConfigurationProperty.cs, NonEmptyStringFlags.cs:
704         Implemented.
705         
706 2004-11-09  Lluis Sanchez Gual <lluis@novell.com>
707
708         * AppSettingsSection.cs: Mostly implemented (missing support for
709         file attribute).
710         * ConfigHelper.cs: GetNameValueCollection now returns a 
711         ConfigNameValueCollection instance which is a NameValueCollection with a
712         modification flag.
713         * ConfigInfo.cs: Added XPath property.
714         * Configuration.cs: Implemented AppSettings property. Set the Path property
715         of sections and groups.
716         * ConfigurationElement.cs: Support key serialization. Properly reset
717         nested elements.
718         * ConfigurationElementCollection.cs: Initial implementation.
719         * ConfigurationSection.cs: Impemented Path and GetRuntimeObject.
720         * ConfigurationSectionGroup.cs: Implemented Path.
721         * SectionGroupInfo.cs: Little fix.
722
723 2004-11-05  Lluis Sanchez Gual <lluis@novell.com>
724
725         * Configuration.cs: Minor fixes.
726         * ConfigurationElement.cs: Added support for the different update modes.
727         * SectionGroupInfo.cs: Support loading the same configuration section
728           from different files.
729         * SectionInfo.cs: Properly write back configuration data for which a
730           section object has not been created.
731
732 2004-11-04  Lluis Sanchez Gual <lluis@novell.com>
733
734         * AppSettingsSection.cs, ConfigurationPropertyCollection.cs,
735           ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs,
736           ProtectedConfigurationProvider.cs, ProviderBase.cs
737           RuntimeOnlySection.cs: Fixed formatting and added missing TODOs.
738
739 2004-11-04  Lluis Sanchez Gual <lluis@novell.com>
740
741         * Configuration.cs, ConfigurationElement.cs, ConfigurationLocation.cs,
742           ConfigurationLocationCollection.cs, ConfigurationProperty.cs,
743           ConfigurationPropertyAttribute.cs, ConfigurationSection.cs,
744           ConfigurationSectionCollection.cs, ConfigurationSectionGroup.cs,
745           ConfigurationSectionGroupCollection.cs,IntegerConfigurationProperty.cs,
746           RuntimeOnlySection.cs: Initial implementation.
747         * ConfigurationAllowDefinition.cs: Removed XML_DEP ifdef
748         * ConfigurationException.cs: format fix.
749         * ConfigInfo.cs, SectionInfo.cs, SectionGroupInfo.cs: New support
750           classes.
751
752 2004-09-10  Tim Coleman <tim@timcoleman.com>
753         * ConfigurationElementCollection.cs ConfigurationElementCollectionType.cs:
754                 New Fx 2.0 stubs
755         * ConfigurationElement.cs:
756                 Fix function declaration
757
758
759 2004-08-16  Duncan Mak  <duncan@ximian.com>     
760
761         * ConfigurationElement.cs (InitializeDefault): Made virtual.
762
763         * AppSettingsSection.cs:
764         * Configuration.cs:
765         * ConfigurationLocation.cs:
766         * ConfigurationLocationCollection.cs:
767         * ConfigurationSection.cs:
768         * ConfigurationSectionCollection.cs:
769         * ConfigurationSectionGroup.cs:
770         * ConfigurationSectionGroupCollection.cs:
771         * ConnectionStringsSection.cs: Added stubs and bits of implementation.
772
773         Other than ConfigurationElementCollection and
774         ConnectionStringsSectionCollection, we now have the basic skeleton
775         for implementing the configuration system in the
776         System.Configuration namespace.
777
778 2004-08-11  Duncan Mak  <duncan@ximian.com>
779
780         * ProtectedConfigurationProvider.cs: Use XML_DEP.
781
782 2004-08-11  Duncan Mak  <duncan@ximian.com>     
783
784         * ProtectedConfigurationProvider.cs:
785         * ProviderBase.cs: Implemented.
786
787         * ConfigurationPropertyAttribute.cs: Implemented attribute.
788
789         * ConfigurationAllowDefinition.cs:
790         * ConfigurationUserLevel.cs:
791         * PathLevel.cs: Added enumerations.
792
793 2004-08-07  Atsushi Enomoto  <atsushi@ximian.com>
794
795         * ConfigurationElement.cs,
796           ConfigurationProperty.cs,
797           ConfigurationPropertyCollection.cs,
798           ConfigurationValidationAttribute.cs : use XML_DEP.
799
800 2004-08-06  Duncan Mak  <duncan@ximian.com>
801
802         * ConfigurationElement.cs: Added stubs.
803
804         * ConfigurationProperty.cs:
805         * ConfigurationPropertyCollection.cs:
806         * ConfigurationValidationAttribute.cs: Added.
807
808         * ConfigurationPropertyFlags.cs: 
809         * ConfigurationUpdateMode.cs: Added 2.0 enumerations.   
810
811 2004-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
812
813         * ConfigurationSettings.cs: allow empty <configSections>.
814
815 2004-05-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
816
817         * ConfigurationSettings.cs: don't ask me why, but the .cctor
818         initialization of 'instance' field does no longer work.
819
820 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
821
822         * ConfigXmlDocument.cs: removed method that was supposed to be internal.
823
824         * ConfigurationSettings.cs: instead of calling the overload that doesn't
825         exist in MS, use what we have when loading an external file.
826
827 2004-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
828
829         * ConfigXmlDocument.cs: fixed overloaded Load and added a new one that
830         sets the file name.
831
832         * ConfigurationSettings.cs: use the new Load in ConfigXmlDocument when
833         loading sections.
834
835         * NameValueFileSectionHandler.cs: don't fails if the path for the 'file'
836         attribute doesn't have a directory.
837
838         Closes bug #57244.
839
840 2004-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
841
842         * ConfigurationSettings.cs: removed FileWatcherCache. See bug #53445.
843
844 2003-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
845
846         * ConfigurationSettings.cs: initialize config in
847         ChangeConfigurationSettings if it has not been done yet. Patch by
848         George Kodinov gkodinov@openlinksw.co.uk). Fixes bug #51643.
849
850 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
851
852         * ConfigurationSettings.cs: handle allowdefinition and allowlocation,
853         added locks, don't reopen the file for every new section to be read,
854         but keep them as strings and build the section handlers with that.
855         Also allow changing the configuration system (used from System.Web).
856
857 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
858
859         * ConfigurationSettings.cs: make the *Mark objects static
860         because they need to be comparable across instances.
861         (ReadSectionGroup): You can add an element to a group declared
862         in the parent config files (MS.net's QuickStarts do this).
863
864 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
865
866         * ConfigurationSettings.cs: don't handle null or non-existent file in
867         the catch blocks.
868
869 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
870
871         * ConfigurationSettings.cs: really make the cache work.
872
873 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
874
875         * ConfigurationSettings.cs: pass the file name we're reading as the
876         context.
877
878 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
879
880         * ConfigurationSettings.cs: patch by Eric Lindvall (eric@5stops.com)
881         that improves performance by not reading the file more than once.
882
883 2003-07-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
884
885         * ConfigurationSettings.cs: Removed unused exception variable, fixes
886         compiler warning
887
888 2003-06-16  Lluis Sanchez Gual <lluis@ximian.com>
889
890         * ConfigurationSettings.cs: Avoid chicken-egg problem when reading
891         machine.config. Cannot use an uri to read mechine.config because web
892         request module handelrs are defined in machine.config.
893
894 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
895
896         * AppSettingsReader.cs: fixed bug #38755.
897
898 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
899
900         * ConfigXmlDocument.cs: don't jump over the first element.
901         * ConfigurationSettings.cs: pass doc.DocumentElement instead of doc.
902
903         This used to work until i tried to access one attribute of the first
904         element and realized that the element was not the expected!
905         This change does not affect the configuration handlers that only use
906         ChildNodes property on the XmlNode they get as argument.
907
908 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
909
910         * ConfigurationSettings.cs: removed type loading hack no longer needed.
911
912 2002-12-14  Jonathan Pryor <jonpryor@vt.edu>
913
914         * ConfigurationSettings.cs: Allow configuration sections to be removed.
915
916 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
917
918         * ConfigurationSettings.cs: use AppDomainSetup to get the configuration
919         file name for the AppDomain.
920
921 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
922
923         * ConfigHelper.cs: NameValueCollection.Add is now fixed.
924
925 2002-10-14  Martin Baulig  <martin@gnome.org>
926
927         * ConfigurationSettings.cs (DefaultConfig.GetAppConfigPath):
928         Append ".config" to the filename, not ".exe.config" since the
929         filename already has a ".exe" suffix.
930
931 2002-10-14  Martin Baulig  <martin@gnome.org>
932
933         * ConfigurationSettings.cs (DefaultConfig.GetAppConfigPath): Use
934         Assembly.Location, not Assembly.FullName to get its filename.
935
936 2002-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
937
938         * ConfigHelper.cs: workaround for a bug in NameValueCollection.
939         * ConfigurationSettings.cs: load sections when the parent holds a
940         handler for it. Now overriding appSettings values in the app config
941         file works (first <remove..> and then <add...).
942
943 2002-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
944
945         * ConfigHelper.cs:
946         * NameValueFileSectionHandler.cs: check that Attributes is not null.
947
948 2002-10-09  Miguel de Icaza  <miguel@ximian.com>
949
950         * NameValueFileSectionHandler.cs: For now if a section is not
951         present, return null.  Do not know what the real fix is.  Gonzalo
952         will have to look at this, but the debugger was crashing as
953         appSettings in the machine.config does not exist, but GetConfig
954         returns a non-null value when looking it up when you do a
955         GetDocumentForSection ("appSettings").
956
957 2002-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
958
959         * ConfigurationSettings.cs: use get_machine_config_path internal call.
960
961 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
962
963         * ConfigXmlDocument.cs: move the reader for the section to the first
964         element.
965         
966         * ConfigurationSettings.cs: fixed hierarchical search for a handler. 
967
968 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
969
970         * ConfigurationSettings.cs: reimplemented. It is now able to deliver
971         sections to their handlers for processing.
972
973 2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
974
975         * ConfigHelper.cs: New file. Contains some
976         helper functions for getting key-value collections from the config file.
977         
978         * ConfigXmlDocument.cs: wrapper around xml elements to provide line
979         number and file name info.
980         * IConfigXmlNode.cs: used in ConfigXmlDocument and
981         ConfigurationException.
982
983         * ConfigurationException.cs: get file name and line
984         number from the wrapped XmlNode. Display this info in Message.
985
986         * NameValueFileSectionHandler.cs: new handler.
987         * DictionarySectionHandler.cs:
988         * NameValueSectionHandler.cs: modified to use the helper methods in
989         ConfigHelper.
990
991 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
992
993         * AppSettingsReader.cs: New file.
994         * IConfigurationSystem.cs: New file.
995
996         * IgnoreSectionHandler.cs:
997         * NameValueSectionHandler.cs:
998         * SingleTagSectionHandler.cs: little fixes.
999
1000 2002-09-03  Martin Baulig  <martin@gnome.org>
1001
1002         * ConfigurationSettings.cs (ConfigurationSettings.GetConfig): Use the
1003         correct configuration filename, fixed the TODO.
1004         (GetSectionHanderType): Renamed to GetSectionHandlerType.
1005
1006         * NameValueSectionHandler.cs (NameValueSectionHandler.Create): Allow
1007         whitespaces in the configuration file.
1008
1009 2002-01-31  Duncan Mak  <duncan@ximian.com>
1010
1011         * ConfigurationException.cs: Rewrote most of the file and added
1012         serialization bits.
1013
1014 2002-01-06  Ravi Pratap  <ravi@ximian.com>
1015
1016         * ConfigurationSettings.cs, IgnoreSectionHandler.cs : MonoTODO decoration
1017
1018         * SingleTagSectionHandler.cs, DictionarySectionHandler.cs, 
1019         NameValueSectionHandler.cs : Ditto.
1020
1021 2001-08-28  Christopher Podurgiel <cpodurgiel@msn.com>
1022         * IConfigurationSectionHandler.cs: Added reference to System.Xml.
1023         
1024         * SingleTagSectionHandler.cs: Added Implementation of Create() method.
1025         
1026         * NameValueSectionHandler.cs: Added Implementation of Create() method.
1027         
1028         * ConfigurationException.cs: Now returns proper message rather than "System Exception".
1029
1030 2001-08-26  Christopher Podurgiel <cpodurgiel@msn.com>
1031
1032         * ConfigurationSettings.cs: No longer references the
1033         NameValueSectionHandler directly.  Instead it uses
1034         System.Reflection to call the Create() method for the appropriate
1035         SectionHandler as defined in the .config file.