GenericParameter.cs: override Module properly
[mcs.git] / class / corlib / Microsoft.Win32 / ChangeLog
blobcee3b282e5193e1453f1003aecb4d36bc394aec1
1 2010-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
3         * UnixRegistryApi.cs: When retrieving the registry keys from file in a
4         unix system, if the value returned by a SecurityElement is null,
5         use String.Empty, since at this point we know that this registry key
6         *exists* and *cannot* have a null value, as specified in the public
7         api.
8         Fixes #543206.
10 2009-11-21  Miguel de Icaza  <miguel@novell.com>
12         * RegistryKey.cs: Implement a GetValueKind and a handful of
13         methods. 
15 2009-04-25  Sebastien Pouliot  <sebastien@ximian.com>
17         * *.cs: Exclude the files for the NET_2_1 profile, since they are
18         unneeded and adds a bunch (23) [SecuritySafeCritical] to audit for
19         Moonlight
21 2008-02-25  Robert Jordan  <robertj@gmx.net>
23         * Win32RegistryApi.cs (ToString): Don't emit the handle value
24         under NET_2_0.
25         See http://msdn2.microsoft.com/en-us/netframework/aa497241.aspx.
27 2008-02-01  Gert Driesen  <drieseng@users.sourceforge.net>
29         * RegistryKey.cs: Added missing checks on length of subkey and value
30         names. On 2.0 profile, allow subkey <= 255 characters. Modified
31         ArgumentNullException argument names to match MS.
32         * UnixRegistryApi.cs: In SetValue (string, object, RegistryValueKind),
33         use a zero-length string for name if it is null. In OpenSubKey,
34         respect value of writable argument when creating well-known subkey.
35         Fixes bug #357883. Removed argument names for ArgumentException's to
36         match MS.
38 2008-01-15  Zoltan Varga  <vargaz@gmail.com>
40         * RegistryKey.cs: Fix some argument names to be consistent with MS.
42 2007-10-13  kevin.fitzgerald@soarce.us
44         * UnixRegistryApi.cs: Escape the strings before passing them to
45         SecurityElement.   This fixes bug #322839
47 2007-08-30  Marek Habersack  <mhabersack@novell.com>
49         * UnixRegistryApi.cs: properly retrieve values of type
50         'bytearray'.
52 2007-08-13  Gert Driesen  <drieseng@users.sourceforge.net>
54         * RegistryKeyPermissionCheck.cs: Do not include in 1.0 profile.
55         Removed extra using directive and empty lines.
57 2007-05-01  Dick Porter  <dick@ximian.com>
59         * RegistryKeyPermissionCheck.cs: Not serializable
61 2007-04-30  Dick Porter  <dick@ximian.com>
63         * Registry.cs: 
64         * RegistryHive.cs: 
65         * RegistryKey.cs: 
66         * RegistryValueKind.cs: 
67         * RegistryKeyPermissionCheck.cs: Updated for 2.0 profile
69 2006-10-29  Miguel de Icaza  <miguel@novell.com>
71         * UnixRegistryApi.cs (KeyHandler.MachineStore): Add support for
72         loading/storing values from the system registry, instead of having
73         the system ones be user-based. 
75         (KeyHandler, Load): turn IO exceptions into Security exceptions.
77 2006-09-03  Gert Driesen  <drieseng@users.sourceforge.net>
79         * IRegistryApi.cs: Added OpenRemoteBaseKey method.
80         * Win32ResultCode.cs: Added code for win32 error 53.
81         * RegistryKey.cs: Implemented support for OpenRemoteBaseKEy on
82         Windows. To achieve this, the handle of the remote hive must be
83         stored separately from the RegistryHive value. Removed isRoot field, as
84         we now determine whether we're a root key (hive) by checking if hive
85         is not null. Added internal ctor for registry hives that takes a 
86         RegistryHive, a key handle and a bool to indicate whether its a remote
87         hive. Renamed Data field to handle and added internal property to 
88         access it. Throw ObjectDisposedException in ToString if key is
89         closed/disposed. Added Hive property, which is used in UnixRegistryApi.
90         Added GetHiveName method which translates a RegistryHive value to its
91         (key) name.
92         * Win32RegistryApi.cs: Added pinvoke for RegConnectRegistry. GetHandle
93         no longer needs to know whether the key refers to a hive (base key) 
94         or not. Implemented OpenRemoteBaseKey.
95         * UnixRegistryApi.cs: Added OpenRemoteBaseKey implementation which
96         always throws NotImplementedException.
97         * Registry.cs: The key name of the base key no longer needs to be 
98         passed to the ctor, as it's looked up in the ctor itself. This avoids
99         having a different logical for local or remote base keys.
101 2006-08-23  Gert Driesen  <drieseng@users.sourceforge.net>
103         * Win32RegistryApi.cs: Use a StringBuilder instead of byte [] for
104         RegEnumKey. Fixed issue in GetSubKeyNames where buffer was not cleared
105         while iterating over subkeys.
107 2006-08-20  Gert Driesen  <drieseng@users.sourceforge.net>
109         * RegistryValueOptions.cs: Add the real one.
111 2006-08-20  Atsushi Enomoto  <atsushi@ximian.com>
113         * RegistryValueOptions.cs : build fix, easier than reverting all.
115 2006-08-20  Gert Driesen  <drieseng@users.sourceforge.net>
117         * IRegistryApi.cs: Modified GetValue to take RegistryValueOptions enum
118         and removed obsolete return_default_value argument.
119         * RegistryKey.cs: Added missing ComVisible attribute on SetValue.
120         Use new GetValue method on IRegistryApi that takes RegistryValueOptions
121         enum. Added GetValue overload that takes RegistryValueOptions (2.0).
122         * Win32RegistryApi.cs: Modified GetValue to take RegistryValueOptions
123         enum, and removed obsolete returnDefaultValue argument. Added support
124         for ExpandString value type. Do no expand if DoNotExpand... is set.
125         * UnixRegistryApi.cs: Modified KeyHandler.GetValue to take
126         RegistryValueOptions enum, and do no expand environment variables in
127         an ExpandString if DoNotExpandEnvironmentNames is set. Modified
128         UnixRegistryApi.GetValue to take RegistryValueOptions enum, and 
129         removed obsolete return_default_value argument.
131 2006-08-14  Gert Driesen  <drieseng@users.sourceforge.net>
133         * UnixRegistryApi.cs: Undo change for new eventlog implementation that
134         was not rolled back earlier this week, and which does not make sense
135         without that implementation anyway.
137 2006-08-14  Gert Driesen  <drieseng@users.sourceforge.net>
139         * Win32ResultCode.cs: Added error code for attempting to perform an
140         operation on registry key that is marked for deletion.
141         * RegistryKey.cs: Keep writable state. Automatically flush changes to
142         disk when closing key (to match MS). Allow values to be set on root
143         keys. Throw UnauthorizedAccessException when attempting to set/delete
144         value or create/delete sub key on registry key that is openen 
145         read-only. Fixed DecodeString to only strip trailing nullchars (as
146         documented).
147         * Win32RegistryApi.cs: For a key that is marked for deletion, return
148         null when attempting to get a value of that key (and no default value
149         was specified) or open a subkey. Throw an IOException when attempting
150         to perform the following operation on a key that is marked for
151         deletion:
152                 1) set value on key
153                 2) obtain SubKeyCount
154                 3) obtain ValueCount
155                 4) create a sub key
156                 5) obtain value names
157         and ignore deleting a value. Ignore flushing changes of a key and
158         closing a when the key is closed.
159         * UnixRegistryApi.cs: Maintain handler cache per directory instead of
160         caching registry keys. This allows both a single key to be in memory
161         in both read-only and read-write key configuration, while sharing the
162         KeyHandler. Use case-insensitive hashtable for mapping directory to
163         KeyHandler. Added support for keys that have been marked for deletion
164         by another operation (eg. DeleteSubKeyTree). Allow different file store
165         for machine-level and user-level hives (but have them use the same
166         file store, needs further discussion). Allow KeyHandler failure when
167         create directory, or saving values file to bubble up. Do not save
168         values file when key is marked for deletion. Encapsulate access to
169         values collection. When setting value with null name, use zero-length
170         name instead. Treat key name case-insensitive in DeleteKey to match
171         OpenSubKey.
173 2006-08-14  Miguel de Icaza  <miguel@novell.com>
175         * RegistryValueKind.cs: Make this public in 2.0, and rename from
176         previous version.
178         * Win32RegistryApi.cs: Include version to check for version;
179         Eliminate old internal enum, and instead use the new 2.0 enum.
181         * UnixRegistryApi.cs: Add support for typed versions of values.
183         Add support for ExpandString.
185         * Registry.cs (SetValue): implement version with type arguments.
187 2006-08-13  Miguel de Icaza  <miguel@novell.com>
189         * Registry.cs (SetValue, GetValue): implement.
191         * UnixRegistryApi.cs (KeyHandler.LoadKey, KeyHandler.Save): Add
192         support for qwords.
194         (KeyHandler.Save): Do not save the entries if they have been
195         deleted/dropped.   Fixes a crash.
197         (UnixRegistryApi.DeleteKey): bug fix, call ToUnix on the keyname.
199 2006-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
201         * Registry.cs: Fixed copy/paste bug.
203 2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
205         * UnixRegistryApi.cs: Consider HKLM\SYSTEM\CurrentControlSet\Services\
206         EventLog a wellknown key. Required for new EventLog implementation. 
207         Added RegistryStore property.
209 2006-06-06  Miguel de Icaza  <miguel@novell.com>
211         * UnixRegistryApi.cs: Do not crash if there are no values stored.
213 2006-05-28  Gert Driesen <drieseng@users.sourceforge.net>
215         * UnixRegistryApi.cs: GetSubKeyNames returns only names of subkeys,
216         not the qualified name. Fixes bug #78519.
218 2006-04-20  Gert Driesen <drieseng@users.sourceforge.net>
220         * UnixRegistryApi.cs: In KeyHandler.SetValue, immediately convert
221         instances of non-native registry types (meaning int, string, string[]
222         or byte[]) to string. This avoids returning an instance of a non-native
223         registry type in calls to UnixRegistryApi.GetValue. Allow instances of
224         non-native registry types in UnixRegistryApi.SetValue. Fixes bug #78132.
226 2006-04-18  Gert Driesen <drieseng@users.sourceforge.net>
228         * UnixRegistryApi.cs: Only consider the "software" subkey a well-known
229         key if the parent is either HKEY_USERS or HKEY_LOCAL_MACHINE.
231 2006-04-15  Robert Jordan <robertj@gmx.net>
233         * UnixRegistryApi.cs (DeleteValue): Avoid crash, fixes bug
234         #77772. Patch reapplied, since r57881 was not applied correctly.
235         
236 2006-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
238         * UnixRegistryApi.cs: create well-known keys when trying to open them.
240 2006-03-12  Robert Jordan <robertj@gmx.net>
242         * UnixRegistryApi.cs (DeleteValue): Avoid crash, fixes bug
243         #77772
245 2006-01-14  Robert Jordan  <robertj@gmx.net>
247         * RegistryKey.cs: Added internal IsRoot accessor.
248         * Win32RegistryApi.cs: Fixed access to RegistryKey.Data.
249         Fixes bug #77212. Thanks to Don Edvalson (don@edvalson.net)
250         for spotting this out.
252 2005-12-02  Atsushi Enomoto  <atsushi@ximian.com>
254         * Win32RegistryApi.cs : fixed invalid cast. Now mono is not to blame
255           for not being able to run NAnt on Windows.
256         
257 2005-11-12  Miguel de Icaza  <miguel@novell.com>
259         * RegistryKey.cs: Add support for a Registry on Unix based on
260         files under ~/.mono/registry.
262         Vastly refactored the code, reworked the interface between the
263         frontend and the backends.  
265         If "RegistryKey" was not sealed, things could have been a lot
266         cleaner. 
268 2005-01-31  mei (mei@work.email.ne.jp)
270         * RegistryKey.cs: Fixes bug 70451: When the key doesn't exist, and
271         the default value is not specified, it is necessary to return
272         null. and DecodeString function's bug is fixed.
274 2004-04-10  Gert Driesen (driesen@users.sourceforge.net)
276         * RegistryKey.cs: explicit implementation of IDisposable to match 
277         MS corlib
279 2004-03-17  Jackson Harper  <jackson@ximian.com>
281         * Win32RegistryApi.cs: Fix typo. Patch by Gert Driesen.
283 2004-03-03  Jackson Harper  <jackson@ximian.com>
285         * Win32RegistryApi.cs: Specify entry points.
286         
287 2004-03-03  Jackson Harper <jackson@ximian.com>
289         * Win32RegistryApi.cs: New file - pinvokes to the win32
290         registry. Patch  by Erik LeBel.
291         * IRegistryApi.cs: New file - Interface to a registry backend
292         (win32 on windows, no implementation on unix). This interface will
293         probably change when we write a Linux backend.
294         * Win32ResultCode.cs: New file - Win32 result codes needed to
295         check pinvoke. Patch by Erik LeBel.
296         * Registry.cs: Create the keys. Patch by Erik LeBel.
297         * RegistryKey.cs: Implement. Patch by Erik LeBel.
298         
299 2003-12-27  Nick Drochak  <ndrochak@gol.com>
301         * RegistryKey.cs: Add some missing overloads.
303 2003-02-10  Nick Drochak  <ndrochak@gol.com>
305         * Registry.cs: Class should be sealed and have a private default ctor.
307 2002-11-28  Alejandro Sánchez Acosta  <raciel@es.gnu.org>
309         * Registry.cs: Added missed field.
311 2002-11-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
313         * RegistryHive.cs: patch from Jackson Harper that fixes compilation.
315 2002-11-27  DennisHayes <dennish@raytek.com>    
317         * checkin for Alexandre Pigolkine (pigolkine@gmx.de) with minor changes
318         * needed for System.Windows.Forms
319         
320         * RegistryHive.cs
321         * Registry.cs
322         * added files, fully implmented?
323         
324         * RegistryKey.cs
325         * added more iplmentation
327 2002-11-20  Nick Drochak  <ndrochak@gol.com>
329         * RegistryKey.cs: Fix typo.