ChangeLog 36 KB

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