2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System / System.Diagnostics / ChangeLog
index 11677af764b79551162b2027ce5c664f4d029948..175795dc6d519368e643dde2e812f18314a03045 100644 (file)
@@ -1,3 +1,449 @@
+2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UnixEventLog.cs, EventLogEntry.cs, EventSourceCreationData.cs,
+         EventLogImpl.cs, Win32EventLog.cs, EventLogEntryCollection.cs,
+         EventLog.cs:
+         Reverted previous two changes that does not work at all.
+
+2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * EventLog.cs: For now, Use null implementation.
+
+2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
+       Obsolete attribute to correct property.
+       * EventSourceCreationData.cs: Updated copyright. For internal ctor,
+       set log name to "Application" if value is null or zero-length string.
+       * EventLogImpl.cs: EventImpl now acts as base class for event log 
+       implemenations. Added NullEventLog implementation, which is not used
+       at the moment.
+       * EventLog.cs: EventLog implementation that uses registry for
+       keeping track of logs and sources to match .NET (and Windows). When
+       running on Windows NT (and higher), event entries are written to
+       the native win32 event log.  Reading event entries is not yet working
+       for Windows. On linux, we use a local file store (based on patch by 
+       Atsushi).
+       * UnixEventLog.cs: Event log implementation for linux which uses a
+       local file store.
+       * Win32EventLog.cs: Event log implementation for Windows NT and 
+       higher which uses the Win32 native event log.
+       * EventLogEntryCollection.cs: Delegate implementation to event log
+       implemenation. Use lazy init for enumerating entries.
+
+2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: reset the 'start' time if we wait for stdout reading to
+       be completed.
+
+2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: add support for 2.0 asynchronous reads on stdout and
+       stderr.
+
+2006-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * EventSourceCreationData.cs: Marked ctor internal, and removed ctor.
+       Throw ArgumentOutOfRangeException if negative value for CategoryCount
+       is set.
+
+2006-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * EventInstance.cs: Added 2.0 class.
+       * EventSourceCreationData.cs: Added 2.0 class.
+       * OverflowAction.cs: Added 2.0 enum.
+
+2006-07-31  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * EventLogEntry.cs: Add a linkdemand for unrestricted on class.
+       * EventLogTraceListener.cs: Add a linkdemand for unrestricted on class
+       * FileVersionInfo.cs: Add a linkdemand for unrestricted on class. Add
+       an imperative demand for FileIOPermission.Read on GetVersionInfo 
+       method. Change ToString method to use a StringBuilder.
+       * PerformanceCounterCategory.cs: Add a linkdemand for unrestricted on
+       class.
+       * PerformanceCounterManager.cs: Add a linkdemand for unrestricted on 
+       class. Add [Obsolete] for NET_2_0 profile.
+       * Process.cs: Add a linkdemand and an inheritancedemand for 
+       unrestricted on class.
+       * ProcessStartInfo.cs: Add a linkdemand for unrestricted on class.
+
+2006-07-16  Andrew Skiba <andrews@mainsoft.com>
+
+       * Process.cs: throw FileNotFoundException earlier; give more
+       diagnostics.
+
+2006-05-16  Dick Porter  <dick@ximian.com>
+
+       * Process.cs: Dispose the handle from a destructor too
+
+2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Stopwatch.cs:
+         Zoltan was quicker to add it, here I put my implementation ;-)
+       * Process.cs :
+         Added some missing long members (not implemented anyways).
+       * DataReceivedEventHandler.cs DataReceivedEventArgs.cs :
+         added new 2.0 types.
+
+2006-04-01  Zoltan Varga  <vargaz@gmail.com>
+
+       * Stopwatch.cs: New file.
+
+2006-03-31  Zoltan Varga  <vargaz@gmail.com>
+
+       * Debug.cs: Add net 2.0 Print methods.
+
+2006-03-03  Dick Porter  <dick@ximian.com>
+
+       * Process.cs: Close redirected pipes on errors.  Fixes bug 77514.
+
+2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
+
+       * ConsoleTraceListener.cs: New 2.0 class
+
+2005-11-17  Dick Porter  <dick@ximian.com>
+
+       * Process.cs: Split Start_common into Start_shell and
+       Start_noshell, which call ShellExecuteEx and CreateProcess
+       respectively.  Fixes bug 76670.
+
+2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: deal with the fact that someone can enable raising events
+       and/or registed a Exited delegate before and *after* Start is called for
+       the process. Only queue the exit callback in the threadpool when it's
+       possible and requested. Fixes bug #76129.
+
+2005-08-09  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * EventLog.cs: Fixed Designer attribute to match MS.NET.
+       * ICollectData.cs: Added marshalling attribute to match MS.NET.
+       * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
+       * Process.cs: Fixed Designer attribute to match MS.NET, modified
+       * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
+       * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
+       DesignerSerializationVisibility on StartInfo to match MS.NET, changed
+       Category attribute on Exited event to match MS.NET.
+
+2005-06-09  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * TraceImpl.cs: Adjust internal indentlevel and indentsize before 
+       passing on to listeners. Fixes some test failures.
+
+2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
+       runtime uses MONO_TRACE too...
+
+2005-05-31  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
+       machine names and PerformanceCounterPermissionAccess.
+
+2005-02-22 Jonathan Pryor  <jonpryor@vt.edu>
+
+       * TraceImpl.cs: More Thread-safety fixes.  I have to lock on
+         Listeners.SyncRoot as we're traversing the collection and can't let the
+         collection change from underneath us while we're iterating over it
+         (alternately, we could clone the collection and iterate over the clone
+         without having locking issues -- assuming we had a lock-free clone -- 
+         but this would kill the GC).  Fixes 69964.  Only define lock_ if we're 
+         using the lock-free initialization routine; it's not used otherwise.
+
+2005-01-18 Jonathan Pryor  <jonpryor@vt.edu>
+
+       * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): 
+         Use a lock-free algorithm for creating the settings information.
+       * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
+         listeners collection and initializing the world.
+
+2005-01-18 Jonathan Pryor  <jonpryor@vt.edu>
+
+       * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't 
+         read the .config file from the static ctor (again), as if it fails we'll 
+         get a TypeLoadException -- bad!  Instead, lazy-read the .config file.
+       * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler): 
+         Require that the /switch/add/@value attribute contains only numeric values.
+       * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
+         fails (due to an invalid .confg file) we get a TypeLoadException, while
+         .NET generates a ConfigurationException.  Instead, initialize everything
+         the first time the Listeners property is accessed, which allows the static
+         ctor to run without chance of failure, avoiding the TypeLoadException.
+       * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
+         from a static member of TraceImpl (available through the public Debug and 
+         Trace classes).
+       * Switch.cs: Leave the original switch value alone.  If it isn't valid 
+         (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
+
+2005-01-17 Jonathan Pryor  <jonpryor@vt.edu>
+
+       * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute 
+         isn't optional under .NET 1.1, so make sure it exists.
+
+2005-01-13 Jonathan Pryor  <jonpryor@vt.edu>
+
+       * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
+         thread-safe (double-checked locking isn't thread safe on .NET without
+         using a volatile variable, and setting the variable in the static
+         constructor is easier anyway).
+       * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
+         attribute value to the string "0".  This is apparently what .NET 1.1 does,
+         and allows the SwitchTest NUnit test to work w/o failures.
+
+2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: always pass the same arguments to the runtime.
+
+2004-09-11  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * EventLogPermission.cs: Completed implementation.
+       * EventLogPermissionAccess.cs: Fixed enum values.
+       * EventLogPermissionEntry.cs: Added validation for machine names.
+       * EventLogPermissionEntryCollection.cs: Added synchronization
+       of entries with the base permission class.
+       * PerformanceCounterPermission.cs: Completed implementation.
+       * PerformanceCounterPermissionAccess.cs: Fixed enum values.
+       * PerformanceCounterPermissionEntry.cs: Added validations for machine
+       and category names.
+       * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
+       of entries with the base permission class.
+
+2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * EventLogPermission.cs: Fixed initialization (TagNames and
+       PermissionAccessType).
+       * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added 
+       [Obsolete] to some existing elements.
+       * EventLogPermissionAttribute.cs: Added missing validation to property
+       MachineName. Fixed changes for NET_2_0.
+       * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
+       PermissionAccessType).
+       * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
+       and added [Obsolete] to some existing elements.
+       * PerformanceCounterPermissionAttribute.cs: Added missing validations
+       to properties (Path, MachineName). Fixed changes for NET_2_0.
+
+2004-09-07  Dick Porter  <dick@ximian.com>
+
+       * Process.cs: Throw documented exceptions when getting stdin,
+       stdout or stderr and they haven't been redirected.  Check that
+       CreatePipe didn't fail, throw exceptions if it did.  Close
+       redirected streams when the process is disposed, rather than rely
+       on the GC disposing them later.  Makes timeline much happier,
+       because it could run out of file descriptors between GC
+       collections.
+
+2004-09-06  Dick Porter  <dick@ximian.com>
+
+       * Process.cs: Make Dispose() actually dispose things.
+
+2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Process.cs : quick fix for UseShellExecute=false on windows. See
+         the code comment.
+
+2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Process.cs: Added missing check in HasExited property.
+
+2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
+
+       * EventLogPermissionAttribute.cs:
+       * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
+       and Inherited to match .NET
+
+2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: separate the command and the arguments when calling
+       Start_internal.
+
+2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: redirecting I/O is not permitted if UseShellExecute is
+       true. Also throw if FileName is null.
+
+2004-04-06  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
+       use the constructor that only takes one string as parameter to
+       construct the listener. The name is set using the Name property, not the
+       constructor.
+       
+       * TextWriterTraceListener.cs: In Write*, do nothing if no writer was 
+       provided.
+
+2004-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: use the ISynchronizeInvoke object to invoke the event.
+       Implemented Close, CloseMainWindow and Kill.
+
+2004-03-23 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * Switch.cs: Don't throw when there is no switches section.
+
+2004-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: support EnableRaisingEvents + Exited event.
+
+2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
+       timeout is int.MaxValue.
+
+2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: added environment variables setting support and also
+       send useShellExecute to the runtime.
+
+       * ProcessStartInfo.cs: support EnvironmentVariables.  MS uses
+       StringDictionary, which turns keys into lowercase. We don't do that.
+
+2004-02-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: ExitCode and ExitTime check that the process is finished.
+
+2003-12-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: if there's an error when starting the process, the 'pid'
+       field contains the GetLastError code. Use that for the Win32Exception.
+
+2003-12-06  Martin Baulig  <martin@ximian.com>
+
+       * DefaultTraceListener: Don't use `where' in variable names.
+
+2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * ICollectData.cs: Fixed signature
+
+2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * ICollectData.cs: Added missing attribute
+
+2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * SRDescriptionAttribute.cs: Moved to System directory
+
+2003-07-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * EventLog.cs: Implementation handling
+       * EventLogImpl.cs: Added, contains an platform independent empty implementation
+       for EventLog
+
+2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * AlphabeticalEnumConverter.cs: Added
+       * EventLogEntry.cs: Implemented
+       * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
+       * EventLogTraceListener.cs: Fixed signature
+       * PerformanceCounter.cs: Added missing attribute
+       * PerformanceCounterType.cs: Added missing attribute
+       * SRDescriptionAttribute.cs: Added and implemented
+
+2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * CounterCreationData.cs:
+       * EventLog.cs:
+       * EventLogEntry.cs:
+       * PerformanceCounter.cs:
+       * Process.cs:
+       * ProcessModule.cs:
+       * ProcessStartInfo.cs:
+       * ProcessThread.cs: Reworked attributes based on the new Consts scheme
+
+2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * PerformanceCounterCategory.cs: Fixed signatures
+
+2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * PerformanceCounter.cs: Implemented or implementation added
+
+2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * DiagnosticsConfigurationHandler.cs: Removed a never used variable
+       * EventLog.cs: Small update to prevent a warning
+       * EventLogPermission.cs: Implemented or implementation added
+       * EventLogPermissionAttribute.cs: Implemented or implementation added
+       * EventLogPermissionEntry.cs: Implemented or implementation added
+       * EventLogPermissionEntryCollection.cs: Implemented or implementation added
+       * EventLogTraceListener.cs: Implemented or implementation added
+       * PerformanceCounterManager.cs: Implemented or implementation added
+       * PerformanceCounterInstaller.cs: Made internal
+       * PerformanceCounterCategory.cs: Implemented few members
+       * PerformanceCounterPermission.cs: Implemented or implementation added
+       * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
+       * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
+       * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
+       
+2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * EventLog.cs: Removed unneccesary attribute according to corecompare
+       * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
+       * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
+       * ProcessModule.cs: Removed unneccesary attribute according to corecompare
+       * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
+       * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
+
+2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * InstanceDataCollectionCollection.cs: Corrected wrong signature
+       * EventLog.cs: Missing attributes added, redirected some class members
+       * EventLogEntry.cs: Missing attributes added
+       * EventLogInstaller.cs: Made internal
+       
+2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * CounterCreationData.cs: Added missing attributes
+       * CounterSample.cs: Implemented missing rest, fixed signature
+       * CounterSampleCalculator.cs: Added private constructor, redirected function
+       * Process.cs: Added attributes, added event mechanism
+       * ProcessModule.cs: Added missing attributes
+       * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
+       * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
+       * ProcessThread.cs: Added missing attributes, added pseudo constructor
+       * ProcessThreadCollection.cs: Implemented
+       * PerformanceCounterPermission.cs: Fixed typo in class name
+       * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
+       
+2003-03-19  Dick Porter  <dick@ximian.com>
+
+       * Process.cs: Implement HasExited, fixes bug 39267
+
+2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Process.cs: throw an exception when the executable cannot be found.
+
+2002-12-20  Jonathan Pryor <jonpryor@vt.edu>
+       * DiagnosticsConfigurationHandler.cs: 
+         - Don't assume that optional attributes are always present
+         - <assert/> can't have any child nodes
+         - Change in semantics: if the attribute isn't present,
+           GetAttribute() returns null, not "".  This allows us to
+           differentiate between an attribute not being present and an
+           attribute with an empty value.
+         - Translate exceptions if a TraceListener type is invalid
+
+2002-12-19  Jonathan Pryor <jonpryor@vt.edu>
+       * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be 
+         hardcoded; they should be set to whatever TraceImpl is using (which
+         in turn may have been set by the .config file, so we should get the
+         user-specified values in added listeners).
+       * TraceListener.cs: Make sure that indents are initially written.  This 
+         allows code that uses Trace.Indent() before a Trace.WriteLine() to be 
+         indented properly.
+       * TraceImpl.cs: provide a static constructor to explicitly specify the
+         ordering of initialization, in particular the ordering of
+         TraceImpl.Listeners and the reading of the .config file (by
+         accessing DiagnosticsConfiguration.Settings).  This (hopefully)
+         ensures that the Listeners collection is initialized before the
+         .config file is read in, as the DiagnosticsConfigurationHandler will
+         directly modify the listeners collection.
+         The DiagnosticsConfigurationHandler assumes this so that it can
+         <add/> and <remove/> trace listeners and set the logfile for the
+         DefaultTraceListener.
+
+
 2002-12-18  Jonathan Pryor <jonpryor@vt.edu>
        * BooleanSwitch.cs: Complete re-write.  It works now.
        * DefaultTraceListener.cs:
          - Give `AssertUiEnabled' an actual backing member
        * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
          configuration handler set .config-specified properties on
-               DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
+         DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
          (AutoFlush, IndentSize).
        * Switch.cs: Near complete re-write.  Actually works, and is (should be)
-         comformant with .NET behavior.  Changed member names because they were
-               confusing me.  (Yes, that doesn't say much about my memory.)
-       * TextWriterTraceListener.cs: Append text to already existing files, don't
-         overwrite them.
+         comformant with .NET behavior.  Changed member names because they
+         were confusing me.  (Yes, that doesn't say much about my memory.)
+       * TextWriterTraceListener.cs: Append text to already existing files,
+         don't overwrite them.
        * TraceImpl.cs:
          - Added private destructor, to ensure no instances are created.
-               - Move members declarations to be closer to each other.
+         - Move members declarations to be closer to each other.
        * TraceSwitch.cs: Complete re-write.  It works now.
 
 2002-12-17  Jonathan Pryor <jonpryor@vt.edu>
                support
        * DefaultTraceListener.cs: new file; the default trace listener
 
-2002-01-17  Miguel de Icaza  <miguel@ximian.com>\r
-\r
-       * TraceListenerCollection.cs: Remove Warnings.\r
-\r
-2002-01-06  Ravi Pratap  <ravi@ximian.com>\r
-\r
-       * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits\r
-       with the MonoTODO attribute.\r
-\r
-2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>\r
-       * Added Debug.cs to the build.\r
-2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>\r
-       * Added preliminary TraceListenerCollection.cs to the build.\r
-2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>\r
-       * Added TraceListener.cs, TextWriterTraceListener.cs, and\r
-       DefaultTraceListener.cs to the build and moved them into the\r
-       proper assembly.\r
-2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>\r
-       * Added DiagnosticsConfigurationHandler.cs to the build.\r
-\r
-2001-09-09  Nick Drochak <ndrochak@gol.com>\r
-\r
-       * BooleanSwitch.cs: Make this class use it's parent class's features.  Namely, use SwitchSetting\r
-               so that we can get OnSwitchSettingChanged() to fire for free.\r
-\r
-2001-09-09  Nick Drochak <ndrochak@gol.com>\r
-\r
-       * ChangeLog: added this file\r
-       \r
-       * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.\r
-       \r
+2002-01-17  Miguel de Icaza  <miguel@ximian.com>
+       * TraceListenerCollection.cs: Remove Warnings.
+
+2002-01-06  Ravi Pratap  <ravi@ximian.com>
+       * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
+       with the MonoTODO attribute.
+
+2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
+       * Added Debug.cs to the build.
+
+2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
+       * Added preliminary TraceListenerCollection.cs to the build.
+
+2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
+       * Added TraceListener.cs, TextWriterTraceListener.cs, and
+       DefaultTraceListener.cs to the build and moved them into the
+       proper assembly.
+
+2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
+       * Added DiagnosticsConfigurationHandler.cs to the build.
+
+2001-09-09  Nick Drochak <ndrochak@gol.com>
+       * BooleanSwitch.cs: Make this class use it's parent class's features.  Namely, use SwitchSetting
+       so that we can get OnSwitchSettingChanged() to fire for free.
+
+2001-09-09  Nick Drochak <ndrochak@gol.com>
+       * ChangeLog: added this file
+       * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.