+2010-07-14 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebHeaderCollection_2_1.cs: Fix IEnumerable.GetEnumerator
+
+2010-05-14 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebHeaderCollection_2_1.cs: Hide the internal Dictionary and
+ provide methods to use it properly.
+ * HttpWebRequest_2_1.cs: Use internal Clear method
+
+2010-04-21 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebResponse_2_1.cs: Method, StatusCode and StatusDescription
+ property getters are now virtual (instead of abstract) and throw
+ NIE in SL4 (final) API.
+ * WebRequest_2_1.cs: Added ContentLength (SL4) property to throw
+ NIE. Implement (SL4) CreateHttp methods. Rework stack registration
+ logic.
+ * WebResponse_2_1.cs: default Headers getter throws NIE
+
+2010-04-05 Sebastien Pouliot <sebastien@ximian.com>
+
+ * InternalWebResponseStreamWrapper.cs: Move back to
+ System.Windows.dll
+
+2010-03-19 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: AllowWriteStreamBuffering getter/setter
+ throws NIE by default (must be overridden). Revert Accept and
+ ContentType behavior to SL2 (identical to SL4 but different from
+ SL3).
+ * WebClient_2_1.cs: Initialize UseDefaultCredentials to true. Set
+ the properties when creating a new WebRequest
+
+2010-03-18 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Add SL4 RC AllowWriteStreamBuffering and
+ SupportsCookieContainer properties.
+ * WebClient_2_1.cs: Add SL4 RC AllowWriteStreamBuffering and
+ UseDefaultCredentials properties.
+ * WebHeaderCollection_2_1.cs: Authorization and Proxy-Authorization
+ are valid (i.e. usable) headers in SL4 (in both stacks)
+
+2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebRequest_2_1.cs: Added UseDefaultCredentials property.
+
+2010-03-12 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Directly set 'progress' delegate field
+ * WebRequest_2_1.cs: Avoid using reflection (since it was not
+ really needed anyway)
+
+2010-03-03 Andreia Gaita <avidigal@novell.com>
+
+ * InternalWebRequestStreamWrapper.cs: don't add a newline to the
+ request data, whatever uses the data should be the one adding
+ newlines if they need it (i.e., moon's ff bridge needs it, the
+ curl bridge doesn't)
+
+2010-02-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: Emit DownloadProgressChanged events on the correct
+ thread too.
+
+2010-02-23 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Accept and ContentType properties do not
+ behave like Silverlight 2.0 (not related to browser/client stacks)
+ * WebHeaderCollection_2_1.cs: Range is now accepted in SL3 (not
+ related to browser/client stacks)
+ * WebRequest_2_1.cs: Fix registration to work on domains (new)
+ and scheme (more correctly wrt new unit tests).
+
+2010-02-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Keep a copy of 'userToken' since we need to
+ supply it when calling OnDownloadProgressChanged
+ * WebRequest_2_1.cs (SetupProgressDelegate): Simplify signature
+
+2010-01-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: Ensure the WriteStreamClosed event is emitted on
+ the correct thread (by using the stored SynchronizationContext).
+
+ * InternalWebRequestStreamWrapper.cs: Add a WebClientData field which
+ is passed to the WriteStreamClosedCallback.
+
+2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: The async events must be invoked on a threadpool
+ thread if the async method wasn't executed on the main thread, so save
+ the synchronization context when the async method is called, and post
+ the event to that synchronization context when done. This is also
+ required when the async methods are executed on the main thread, since
+ HttpWebRequest callbacks are now always executed on a threadpool thread.
+
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * UdpAnySourceMulticastClient.cs: New. Stub for SL4
+ * UdpSingleSourceMulticastClient.cs: New. Stub for SL4
+
+2010-01-13 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Throw for CookieContainer. It is
+ implemented only in the client http stack (and for a limited
+ time in the browser stack too ;-)
+ * InternalWebRequestStreamWrapper.cs: Keep the MemoryStream data
+ available after closing/disposing (by user) since our own code
+ will need it later (e.g. when posting like DRT287)
+ * WebHeaderCollection_2_1.cs: Provide an argument to
+ ArgumentException. Found by Gendarme's ArgumentException
+ InstantiateArgumentExceptionCorrectlyRule
+
+2010-01-12 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebRequest_2_1.cs: Rework registration wrt the two, browser
+ and client, stacks offered in SL3. Only global works now.
+
+2010-01-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * InternalWebRequestStreamWrapper.cs: New. Moved (and adapted)
+ from Moonlight System.Windows.Browser assembly.
+ * InternalWebResponseStreamWrapper.cs: New. Moved (and adapted)
+ from Moonlight System.Windows.Browser assembly.
+ * WebClient_2_1.cs: Remove custom delegate declaration (Gendarme's
+ AvoidDeclaringCustomDelegatesRule). Remove locking over a variable
+ (Gendarme's ReviewLockUsedOnlyForOperationsOnVariablesRule).
+ Avoid potential race with event handlers (Gendarme's
+ ProtectCallsToEventDelegatesRule). Implement OnWriteStreamClosed
+ * WebRequest_2_1.cs: Signature change from delegate to
+ Action<long,long,object>. Found using Gendarme's
+ AvoidDeclaringCustomDelegatesRule
+
+2009-12-12 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: When creating the request we need to copy over
+ any headers the user set on us. We also need to wrap
+ InvalidOperationExceptions in WebExceptions.
+
+2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpStatusCode_2_1.cs: Remove. SL3 provides all status code
+ since they are used for the client stack
+ * WebClient_2_1.cs: Add Credentials property and change
+ ResponseHeaders property to public
+ * WebRequest_2_1.cs: Add Credentials property
+
+2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DnsEndPoint_2_1.cs: Moved to System.dll since it's also part
+ of .net 4.0
+
+2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Add CookieCollection, need to be
+ implemented in the client stack
+ * HttpWebResponse_2_1.cs: CookieContainer is virtual. Add FIXME
+ to move (a real) implementation into the client stack
+ * WebRequest_2_1.cs: Add Create(string) overload (SL3)
+
+2009-09-24 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Dns_2_1.cs: New. Smaller version of Dns.cs that offers just
+ enough for DnsEndPoint support
+
+2009-09-24 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DnsEndPoint_2_1.cs: Remove (now) unneeded method
+
+2009-07-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebHeaderCollection_2_1.cs: Seal type.
+
+2009-06-17 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Fix BaseAddress and remove dual base[Address|
+ String] variables.
+
+2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Make sure *CompletedEventArgs gets called
+ even in case an exception occurs before the BeginGetResponse
+ call. Adjust API for OpenReadCompletedEventArgs.
+
+2009-06-04 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Remove the creation of threads and use the
+ async methods provided by WebRequest (and its friends). Use an
+ internal object to lock on (not this). Remove comments from the
+ original (mono) WebClient since the code has diverged so much.
+ Fix DRT#326 (hopefully others too or at least more than it breaks)
+
+2009-06-01 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Avoid possible NRE while settings a
+ complete collection.
+ * WebResponse_2_1.cs: Use StringComparer.OrdinalIgnoreCase on
+ the prefix Dictionary
+
+2009-05-26 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Add internal WebHeaderCollection. Change
+ signature for OpenPolicyReadAsync to take an addtional object
+ * WebResponse_2_1.cs: Add internal WebHeaderCollection
+
+2009-05-22 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Add an internal OpenPolicyReadAsync. Check
+ result in ProcessResponse and throw if not Ok (200).
+ * WebRequest_2_1.cs: Add an internal overload to BeginGetResponse
+ from where we can handle downloading the policy.
+
+2009-05-14 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DnsEndPoint_2_1.cs: Add method to return an IPEndPoint from a
+ DnsEndPoint that match the requested AddressFamily
+
+2009-05-12 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebHeaderCollection_2_1.cs: Headers are case insensitive but we
+ must keep them in their original form since AllKeys property will
+ report them that way and user code (like DRT#288) can depends on
+ this behavior.
+
+2009-05-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebHeaderCollection_2_1.cs: Headers are removed only in special
+ cases and never when the "this" property is used. Call ToLower
+ in SetHeader too in order to avoid typos.
+
+2009-05-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Fix Accept and ContentType properties
+ to use, with special care, the Headers property
+ * WebHeaderCollection_2_1.cs (SetHeader): Add or remove header.
+
+2009-05-10 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Move Headers property logic here (as
+ shown by adding more unit tests)
+ * WebClient_2_1.cs: Add comment that Headers are not validated
+ there, but later.
+ * WebHeaderCollection_2_1.cs: Add a SetHeader method that can
+ work around the normal validations that the "this" property
+ needs to do.
+
+2009-05-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebHeaderCollection_2_1.cs: When associated with a WebRequest
+ the header collection items needs to be validated since not all
+ headers will be valid. Part of fix for DRT#532
+
+2009-04-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Rework the throwing of NIE so gui-compare
+ does not report them (since they are the "right" behavior)
+ * WebClient_2_1.cs: Fix BaseAddress property to return the URI to
+ the XAP file. Implement protected GetWebRequest which will make an
+ absolute URI from a relative one (using BaseAddress). That remove
+ the need of the previous hack.
+ * WebRequest_2_1.cs: Remove previous hack
+
+2009-04-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: WebClient allows relative URI...
+ * WebRequest_2_1.cs: ...while WebRequest does not by default.
+ Also uncomment a few checks for new test cases
+
+2009-04-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DnsEndPoint_2_1.cs: Adjust exceptions wrt unit tests
+ * HttpWebRequest_2_1.cs: Fix Headers property wrt unit tests:
+ * WebClient_2_1.cs: Fix some properties
+ * WebHeaderCollection_2_1.cs: Adjust exceptions wrt unit tests
+ * WebRequest_2_1.cs: Add RegisterPrefix functionality and add
+ missing checks (fix unit tests)
+
+2009-04-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DnsEndPoint_2_1.cs: Fix header.
+ * HttpStatusCode_2_1.cs: New. SL2 (short) version of the enum
+ * HttpWebRequest_2_1.cs: Add missing members
+ * WebExceptionStatus_2_1.cs: New. SL2 (short) version of the enum
+ * WebHeaderCollection_2_1.cs: Implement S.C.IEnumerable
+
+2009-03-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: OnOpenReadCompleted and OnDownloadStringCompleted:
+ make sure we don't pass any exceptions back to native code.
+
+2009-03-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: Stub out missing methods.
+ * WriteStreamClosedEventArgs_2_1.cs:
+ * WriteStreamClosedEventHandler_2_1.cs: Added.
+