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