[sgen] Write barrier nursery checks might be needed
[mono.git] / mcs / class / corlib / System.Resources / ChangeLog
1 2010-07-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
2
3         4.0 updates.
4
5         * ResourceManager.cs: Mark ResourceSets as obsolete.
6         * ResourceReader.cs: New public Dispose method.
7
8 2010-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
9
10         * ResourceWriter.cs: Implement 4.0 TypeNameConverter.
11
12 2010-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
13
14         * ResourceWriter.cs: Implement 4.0 AddResource overloads taking a
15         Stream, as well as implement the same support in our AddResource that
16         takes an object too.
17
18 2010-03-16  Jb Evain  <jbevain@novell.com>
19
20         * ResourceManager.cs: use MOONLIGHT symbol to disambiguate
21         MonoTouch and Moonlight code.
22
23 2010-03-01  Miguel de Icaza  <miguel@novell.com>
24
25         * Win32Resources.cs: Prevent infinite loops if the resource that
26         we are reading is invalid.   Fixes the mscorlib part of #327500
27
28 2009-11-01  Sebastien Pouliot  <sebastien@ximian.com>
29
30         * ResourceManager.cs (GetResourceFilePath): Don't use 
31         'resourceDir' which should always be null for Moonlight
32
33 2009-10-19  Jb Evain  <jbevain@novell.com>
34
35         * ResourceReader.cs: fix the build.
36
37 2009-10-18  Sebastien Pouliot  <sebastien@ximian.com>
38
39         * ResourceReader.cs, ResourceSet.cs, RuntimeResourceSet.cs: Use 
40         UnmanagedMemoryStream (instead of IntPtrStream)
41
42 2009-04-16  Geoff Norton  <gnorton@novell.com>
43
44         * ResourceWriter.cs: The magic internal type here is required to match
45         Microsofts for SL2 resource deserialization.
46
47 2009-03-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
48
49         * ResourceSet.cs: for custom resource sets without a reader, pretende
50         that's we've already read the stream.
51
52 2009-02-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
53
54         * ResourceSet.cs: populating the resource should be locked because the
55         resourceset could be shared.
56
57 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
58
59         * ResourceManager.cs: don't throw every time we try to load a resource
60         satellite assembly that does not exist.
61
62 2008-12-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
63
64         * ResourceManager.cs: cache negative results too.
65
66 2008-12-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
67
68         * ResourceManager.cs: avoid duplication of keys if more than one
69         thread is creating the ResourceSet.
70
71 2008-12-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
72
73         * ResourceManager.cs: cache ResourceSets instead of loading them from
74         their assembly every time they are needed.
75
76 2008-08-11  Larry Ewing  <lewing@novell.com>
77
78         * ResourceReader.cs: fix reading/writing beyond the end of the
79         current resource when the resource is larger than 1024 bytes.
80
81 2008-06-30  Marek Safar  <marek.safar@gmail.com>
82
83         * ResourceReader.cs: Cache resources enumerator in ResourceReader.
84
85 2008-06-30  Marek Safar  <marek.safar@gmail.com>
86
87         * ResourceReader.cs: Sealed ResourceEnumerator.
88
89 2008-06-28  Rodrigo Kumpera  <rkumpera@novell.com>
90
91         * ResourceReader.cs (LoadResourceValues): Kill ununsed local.
92
93         * ResourceReader.cs (CreateResourceInfo): Don't return a big
94         struct on stack, pass it as a reference argument.
95
96 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
97
98         * ResourceReader.cs: Avoid an extra array copy for the resource arrays.
99
100 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
101
102         * ResourceManager.cs: Add a negative cache for culture->resource set mappings
103         which caches lookup failures.
104
105         * ResourceSet.cs (GetObjectInternal): Search the hash table in the ignoreCase
106         case too.
107
108 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
109
110         * MissingManifestResourceException.cs:
111         * MissingSatelliteAssemblyException.cs:
112         * ResourceManager.cs: Fix parameter names
113
114 2008-05-27  Marek Habersack  <mhabersack@novell.com>
115
116         * ResourceReader.cs: reimplement the way resources are read when
117         enumerator is used. The resource indexes and names are read in
118         ReadHeaders when ResourceReader is created and the resource values
119         are read and cached when the enumerator is created. This removed a
120         lot of unnecessary locking and made the whole process more
121         efficient and faster (a test application would acquire the locks
122         40000 times durng a 1.7s run, right now it acquires the lock 1
123         time).
124
125 2008-05-08  Miguel de Icaza  <miguel@novell.com>
126
127         * ResourceSet.cs: Pass the ignoreCase argument, needed to
128         implement ResourceManager.IgnoreCase.
129
130         Silverlight 2.0 applications store "page.xaml" as the key in the
131         resource keys, but request Page.xaml ones.
132
133         * ResourceManager.cs: Avoid exception throwing and catching.
134
135         * RutimeResourceSet.cs: Add a constructor that is required to
136         deserialize Silverlight 2.0 applications when deserializing the
137         resources that contains the XAML files in assemblies.
138
139         We do not take advantage of this new constructor that uses an
140         IntPtrStream, instead we stick to the Stream API.
141
142 2008-03-29  Gert Driesen  <drieseng@users.sourceforge.net>
143
144         * Win32Resources.cs: On 2.0 profile, initiale fixed info to zero-length
145         string when emitting versioninfo in compiler context. Default to
146         neutral language in compiler context. On 1.0 profile, use 0xffff as
147         default value for version parts. In Version, abort on first invalid
148         version part and also set FileVersion string. In ProductVersion and
149         FileVersion, parse version string and abort on first invalid version
150         part.  
151
152 2008-03-15  Gert Driesen  <drieseng@users.sourceforge.net>
153
154         * ResourceManager.cs: Default to RuntimeResourceSet for all ctors.
155         * ResourceSet.cs: Avoid duplicate argument checks. On 2.0 profile,
156         throw ObjectDisposedException when ResourceSet is disposed.
157         * RuntimeResourceSet.cs: On 2.0 profile, throw ObjectDisposedException
158         when ResourceSet is disposed.
159
160 2008-03-04  Sebastien Pouliot  <sebastien@ximian.com>
161
162         * ResourceManager.cs: Use RuntimeResourceSet, an internal type, just
163         like MS does (and tell us indirectly with a Type property).
164         * ResourceSet.cs: Fix a few problems found with new unit tests. Also
165         fix some exception parameters.
166         * RuntimeResourceSet.cs: New. Internal type used by ResourceManager.
167         ResouceSet cannot be used, as is, because it does not clone objects,
168         when possible, leading to problems when those objects are disposed.
169
170 2008-01-26  Gert Driesen  <drieseng@users.sourceforge.net>
171
172         * ResourceWriter.cs: On 2.0 profile, do not mistakenly identify an
173         enum as a predefined type. Fixes bug #325223.
174
175 2007-11-10  Gert Driesen  <drieseng@users.sourceforge.net>
176
177         * ResourceWriter.cs: On 2.0 profile, use case-insensitive SortedList.
178         Changed exception messages and params to match MS. Allow null values
179         in AddResource overloads. In Dispose (bool), also generate resources
180         (header) if no resources were added. Fixes bug #339074. When Generate
181         is done, reset resources to null to prevent further editing.  This
182         also avoids the need for a separate bool to indicate whether generate
183         was already invoked. Code formatting.
184
185 2007-10-27  Gert Driesen  <drieseng@users.sourceforge.net>
186
187         * ResourceManager.cs: Removed temporary workaround for bug #43567.
188         Reworked basename to only throw ArgumentException if resource with
189         name ending on ".resources" does not actually exist. Fixes bug
190         #336283. Do not throw exception in GetStream since this is already
191         done in InternalGetResourceSet. In InternalGetResourceSet, do not
192         throw MissingManifestResourceException when culture is null. Fixed
193         MissingManifestResourceException message to match MS. When using
194         file-based ResourceManager, then also throw an exception when file
195         does not exist for neutral culture.
196
197 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
198
199         * ResourceManager.cs: Move code for determining manifest resource
200         name into separate method. Only use satellite assemblies for
201         non-invariant cultures. For invariant culture, only load resources
202         from main assembly.
203
204 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
205
206         * ResourceManager.cs: BaseName(Field) should return only the name.
207         Added resourceSource field to store the actual type, which we need for
208         the namespace. Added CheckBaseName method to avoid code duplication.
209         Only check whether basename does not end in '.resources' on 1.0
210         profile. Fixed paramname of ArgumentNullExceptions to match MS.
211         Modified GetManifestResourceStreamNoCase to use resourceSource field
212         to construct manifest resource name. Modified GetStream to use
213         CurrentUICulture when culture is null. Fixed InternalGetResourceSet
214         to use invariant resources when culture is the neutral culture.
215         Code formatting.
216 >
217 2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
218
219         * ResourceReader.cs: Fixed exception message to match MS. Removed
220         duplicate checks from string ctor.
221
222 2007-08-09  Atsushi Enomoto  <atsushi@ximian.com>
223
224         * ResourceReader.cs : implemented GetResourceData(). Resources with
225           unresolvable types could still be parsed, so hold type names
226           instead of types.
227
228 2007-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
229
230         * ResourceReader.cs (ResourceValue): Put the null resource check
231           before the resource version 2 check, this fixes bug #81757
232
233 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
234
235         * ResourceWriter.cs : fix for runtime serialization type index.
236           Fixed bug #81759.
237
238 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
239
240         * ResourceWriter.cs : temporarily disable 2.0 output until I get
241           bug #81759 fixed.
242
243 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
244
245         * IResourceWriter.cs NeutralResourcesLanguageAttribute.cs
246           SatelliteContractVersionAttribute.cs ResourceManager.cs
247           IResourceReader.cs ResourceSet.cs ResourceWriter.cs
248           ResourceReader.cs UltimateResourceFallbackLocation.cs
249           MissingManifestResourceException.cs :
250           implemented 2.0 resource support (write, and remaining read bits)
251           and GetStream(). Cosmetic attributes fixes.
252
253 2007-05-25  Atsushi Enomoto  <atsushi@ximian.com>
254
255         * MissingSatelliteAssemblyException.cs : new file.
256
257 2007-02-16  Gert Driesen  <drieseng@users.sourceforge.net>
258
259         * ResourceReader.cs: Fixed typo.
260
261 2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
262
263         * ResourceManager.cs: Don't create the ResourceSets hashtable in the
264         protected ctor, instead move it to the public ctors. Fixes some not
265         working nunit tests. Also, return a closed ResourceSet instead of
266         creating a new one. Fixes one more test. If only BaseNameField is
267         provided, try to create a resource set from the BaseNameField. One
268         more test that passes now.
269         * ResourceSet.cs: Remove isDisposed. Not needed anymore.
270
271 2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
272
273         * ResourceManager.cs: Iterate through the values of the ResourceSets
274         hashtable in ReleaseAllResources instead through the hashtable itself.
275
276 2006-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
277
278         * ResourceReader.cs: Support reading byte arrays in v2 resource files.
279         Patch provided by Red Forks. Fixes bug #79976.
280
281 2006-10-29  Alexander Olk  <alex.olk@googlemail.com>
282
283         * ResourceSet.cs, ResourceManager.cs: Calling ResourceSet.Close()
284           disposes a resource set. A closed resource set will now be
285           removed from ResourceSets. Fixes bug #79182.
286
287 2006-03-14  Robert Jordan  <robertj@gmx.net>
288
289         * ResourceManager.cs: Don't stop the resource set lookup until
290         the invariant culture is reached. Fixes bug #77242.
291
292 2005-11-19  Zoltan Varga  <vargaz@gmail.com>
293
294         * Win32Resources.cs: Add a new 'FileVersion' property.
295
296 2005-07-25  Marek Safar  <marek.safar@seznam.cz>
297
298         *  ResourceReader.cs: Implemented reading of primitives for version 2.
299
300 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
301
302         *  ResourceReader.cs, ResourceSet.cs: Added a LinkDemand for 
303         SerializationFormatter when using a Stream constructor (other ctors
304         have different security - e.g. FileIOPermission for opening a file).
305
306 2005-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
307
308         * ResourceManager.cs: use culture.Equals in InternalGetResourceSet().
309
310 2005-02-12  Geoff Norton  <gnorton@customerdna.com>
311
312         * ResourceReader.cs: If a resource type index is -1 return null 
313         instead of throwing an exception
314         * ResourceWriter.cs: If an object is null; encode it with type index
315         -1 instead of throwing an exception.
316         
317 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
318
319         * Win32Resources.cs: Fix warning.
320
321 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
322
323         * ResourceManager.cs (InternalResourceManager): on msft, they
324         search for a case-insenstitive match too here.
325
326 2004-05-02  Sebastien Pouliot  <sebastien@ximian.com>
327
328         * ResourceManager.cs: Avoid endless recursion when a resource file
329         isn't found.
330
331 2004-04-08  Lluis Sanchez <lluis@ximian.com>
332
333         * ResourceSet.cs: Added minor null check.
334
335 2004-02-03  Jackson Harper <jackson@ximian.com>
336
337         * ResourceSet.cs: Do not throw an exception for null strings.
338         
339 2004-01-13  Zoltan Varga  <vargaz@freemail.hu>
340
341         * Win32Resources.cs (Win32VersionInfoResource): Add more properties.
342
343 2004-01-09  Zoltan Varga  <vargaz@freemail.hu>
344
345         * Win32Resources.cs (Win32VersionInfoResource:WriteTo): Add padding
346         at the end of each string entry.
347
348         * Win32Resources.cs: Fix warnings not detected by mcs.
349
350 2004-01-08  Zoltan Varga  <vargaz@freemail.hu>
351
352         * Win32Resources.cs: Organize win32 resources into a class hierarchy
353         with the class Win32Resource as the abstract superclass. Add 
354         Win32ResFileReader and Win32IconFileReader classes and the 
355         corresponding resource types.
356
357         * Win32Resources.cs (Win32VersionInfoResource): Fix version number 
358         calculation. Add Language property.
359
360 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
361
362         * Win32Resources.cs: New file.
363
364         * Win32Resources.cs: The value of properties can't be empty.
365
366         * Win32Resources.cs: Add Win32ResourceType enumeration. Add accessors
367         for well-known property names. Add missing namespace declaration.
368
369 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
370
371         * ResourceWriter.cs (Stream): New internal property used by Ref.Emit.
372
373 2003-11-28  Dick Porter  <dick@ximian.com>
374
375         * ResourceSet.cs: Do string compares with the Invariant culture.
376
377 2003-11-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
378
379         * ResourceSet.cs: Implemented v1.1 updates
380
381 2003-09-07  Dick Porter  <dick@ximian.com>
382
383         * Temporary workaround for bug 43567, so that Npgsql at least
384         can run.
385
386 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
387
388         * ResourceManager.cs: fixed infinite loop when the resource is not
389         found. Also fixes bug #34196.
390
391 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
392
393         * ResourceManager.cs: enabled the code that calls GetSatelliteAssembly
394         and ignore the exception thrown if the assembly cannot be loaded.
395
396 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
397
398         * ResourceManager.cs: fixed the name for the file when the culture is
399         not de invariant culture. Commented out the GetSatelliteAssembly code
400         to avoid NotImplementedException being thrown.
401
402 2002-08-19  Dick Porter  <dick@ximian.com>
403
404         * ResourceWriter.cs: Implemented all methods
405
406         * ResourceReader.cs: Cope with our ResourceSet class name, as well
407         as theirs
408
409 2002-08-18  Dick Porter  <dick@ximian.com>
410
411         * ResourceReader.cs: Finished basic implementation.  Some
412         optimisation in conjunction with ResourceSet still possible though
413
414 2002-08-14  Dick Porter  <dick@ximian.com>
415
416         * ResourceSet.cs: Throw the correct exceptions
417
418         * ResourceManager.cs: Implemented all unfinished methods
419
420 2002-03-12  Duncan Mak  <duncan@ximian.com>
421
422         * MissingManifestResourceException.cs: This should inherit from
423         SystemException, not Exception.
424
425 2002-01-26  Nick Drochak  <ndrochak@gol.com>
426
427         * ResourceReader.cs: Finsished reading resource files with just strings
428         in them.  Need to figure out other types, and also resources with
429         multiple types in the same file.
430
431 2002-01-24  Nick Drochak  <ndrochak@gol.com>
432
433         * ResourceReader.cs: Implemented constructors. Started on the 
434         GetEnumerator() method.  Not done yet, but comitting for 
435         'disaster recovery' purposes.
436
437 2002-01-19  Duncan Mak  <duncan@ximian.com>
438
439         * *.cs: Fixed indentation. There was a stupid bug in my .emacs file.
440
441 2002-1-17  Duncan Mak  <duncan@duncan@ximian.com>
442
443         * ResourceSet.cs: Implemented GetObject (string, bool) and GetString
444         (string, bool). ResourceSet has no more MonoTODOs! Also added in the
445         Serializable attribute.
446         
447         * *.cs: convert to Miguel's brace style.
448
449 2002-01-17  Duncan Mak  <duncan@ximian.com>
450
451         * ResourceManager.cs: Fixed GetNeutralResourcesLanguage () and added
452         new attributes documented in 1.0 SDK.
453
454 2002-01-17  Duncan Mak  <duncan@ximian.com>
455
456         * ResourceWriter.cs: Added MonoTODO decorations.
457
458         * SatelliteContractVersionAttribute.cs: added new attributes in 1.0 SDK.
459
460         * NeutralResoucesLanguageAttribute.cs: added new attributes in 1.0 SDK
461         
462 2002-01-16  Duncan Mak  <duncan@ximian.com>
463
464         * ResourceReader.cs: Fixed some typos.
465
466         * ResourceManager.cs: After reading the tutorial from the SDK,
467         finished all the ResourceManager constructors and removed those
468         MonoTODO tags.
469         
470         Removed MonoTODO from GetNeutralResourcesLanguage (Assembly)
471         because Miguel just implemented the whole class, including the
472         constructor that I needed (CultureInfo (string)).
473
474         Updated fields after reading the new docs from the final SDK.
475
476         * ResXFileRef.cs, ResXResourceReader.cs: Removed. They are part of
477         Windows.Forms and require System.Xml, which we don't have access to.
478
479 2002-01-13  Duncan Mak  <duncan@ximian.com>
480
481         * ResourceManager.cs: Added more MonoTODOs and cleaned up some 
482         indenting.
483
484 2002-01-09  Duncan Mak  <duncan@ximian.com>
485
486         * ResourceManager.cs: Fixed the GetSatelliteContractVersion()
487         method. It was missing a cast before. Removed MonoTODO
488         attribute. ;-) It was tested by John Barnette, so this shouldn't break
489         the build.
490
491         * ResourceManager.cs: Removed MonoTODO attribute on GetString
492         (string), as I believe it's correct. However, GetString
493         (string, CultureInfo) is definitely broken, so I'm marking it with
494         MonoTODO there. I also added MonoTODO to IntenalGetResourceSet().
495
496 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
497         * Finalizing IResourceReader and IResourceWriter interfaces: 
498           Added "new"-modifier to IResourceReader.GetEnumerator
499         * Fixed compilation issues in other *.cs, so that the 
500           System.Resources namespaces can be included in the corlib build.
501
502 2002-01-05  Ravi Pratap  <ravi@ximian.com>
503
504         * ResourceManager.cs : MonoTODO attribute decoration.
505         
506 Tue Dec 18 13:18:32 CET 2001 Paolo Molaro <lupus@ximian.com>
507
508         * *.cs: fixed some of the compilation issues: missing
509         using directives, typos.
510
511 2001-12-11  Duncan Mak  <duncan@ximian.com>
512
513         * Checked in to CVS.
514
515 2001-12-10  Duncan Mak  <duncan@ximian.com>
516
517         * ResourceManager.cs (GetNeutralResourcesLanguage):
518         (GetSatelliteContractVersion): Implemented.
519         
520 2001-12-09  Duncan Mak  <duncan@ximian.com>
521
522         * ResXResourceReader.cs: Initial attempt.
523
524         * ResXFileRef.cs: Initial attempt.
525
526         * ResourceWriter.cs: Initial attempt.
527
528         * ResourceSet.cs (ReadResources): Implemented, with help from Radek Doulik.
529
530 2001-11-28  Duncan Mak <duncan@ximian.com>      
531
532         * ResourceManager.cs: First attempt.
533
534 2001-11-27  Duncan Mak <duncan@ximian.com>
535
536         * ResourceSet.cs:
537         First attempt, can't continue until ResourceReader and ResourceWriter are implemented.
538                 
539         * SatelliteContractVersionAttribute.cs: First attempt. The spec is quite amibiguous here.
540
541         * NeutralResoucesLanguageAttribute.cs: Complete.
542
543         * MissingManifestResourceException.cs: Complete.
544
545         * IResourceReader.cs: Complete.
546
547         * IResourceWriter.cs: Complete.