[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Web / System.Web.Caching / ChangeLog
index 68b2d8329b0f78e9ea99062d170a7c4903074927..7be050f506d1460f421f86f0bf36106099fd7f47 100644 (file)
@@ -1,3 +1,293 @@
+2010-05-06  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCacheModule.cs: added a 2.0 internal property to return
+       the internal provider used in this profile.
+
+       * OutputCache.cs: added internal RemoveFromProvider method to
+       remove items from the indicated provider.
+
+2010-02-23  Marek Habersack  <mhabersack@novell.com>
+
+       * CachedVaryBy.cs: made serializable for 4.0+ (necessary for
+       extensible output caching)
+
+2010-02-03  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCache.cs: DefaultProviderName checks if there was any
+       provider configured and, if not, returns a built-in provider's
+       name.
+
+       * SqlCacheDependencyAdmin.cs: added
+
+       * OutputCacheProviderCollection.cs: added
+
+       * OutputCacheProvider.cs: added
+
+       * OutputCacheModule.cs: uses the 4.0 extensible output cache
+       provider model now (also internally in the 2.0 profile)
+       OutputCacheProvider is retrieved on every request using
+       HttpApplication.GetOutputCacheProviderName (4.0+). In the 2.0
+       profile an instance of InMemoryOutputCacheProvider is always
+       returned.
+
+       * InMemoryOutputCacheProvider.cs: default output cache provider
+       for ASP.NET 4.0, also used internally in the  2.0 profile.
+
+       * CachedVaryBy.cs: made the generated key shorter
+
+       * CacheItemPriorityQueueDebug.cs: debugging support for
+       CacheItemPriorityQueue. Most of the code is compiled only when the
+       DEBUG macro is defined. Debugging support includes recording of
+       the queue operations sequence which is output to an XML file on
+       appdomain shutdown. The recorded sequence files can be used to
+       generate NUnit test cases for the priority queue (see
+       ../Test/tools/README)
+
+       * CacheItemPriorityQueue.cs: rewritten using an array based heap
+       instead of a binary tree based one - implementation is simpler,
+       faster and more elegant. Heap is initially 32 entries long and
+       its size is doubled every time it fills up. After reaching a
+       threshold (8192 entries currently) it is shrunk to the number of
+       items + 1/3 of item count in order to preserve memory.
+
+       * CacheItem.cs: added a Guid field to easier distinguish items
+       (mostly for debugging purposes)
+
+       * CacheDependency.cs: minor performance improvements
+
+       * Cache.cs: better handling of timer periods
+
+2010-01-25  Marek Habersack  <mhabersack@novell.com>
+
+       * SqlCacheDependency.cs: added parameter checks to the
+       constructors.
+       Partially implemented 4.0 method CreateOutputCacheDependency
+
+       * CacheItemUpdateReason.cs, CacheItemUpdateCallback.cs: added
+
+       * CacheItem.cs: added OnUpdateCallback field
+
+       * Cache.cs: implemented support for cache item update callback
+       (3.5+)
+
+       * AggregateCacheDependency.cs: added undocumented
+       DependencyDispose method override
+
+2010-01-22  Marek Habersack  <mhabersack@novell.com>
+
+       * SubstitutionResponseElement.cs: implemented correct
+       (de)serialization of the Callback delegate.
+
+       * OutputCache.cs: implemented Serialize, Deserialize,
+       DefaultProviderName and Providers.
+
+2010-01-21  Marek Habersack  <mhabersack@novell.com>
+
+       * DatabaseNotEnabledForNotificationException.cs, OutputCache.cs,
+       FileResponseElement.cs, HeaderElement.cs, IOutputCacheEntry.cs,
+       MemoryResponseElement.cs, OutputCacheProvider.cs,
+       ResponseElement.cs, OutputCacheProviderCollection.cs,
+       SubstitutionResponseElement.cs,
+       TableNotEnabledForNotificationException.cs: added
+
+       * CacheDependency.cs: default constructor is protected in 4.0
+
+2010-01-06  Marek Habersack  <mhabersack@novell.com>
+
+       * CacheItemPriorityQueue.cs: make sure lastParent is never null if
+       root is not null in Enqueue. Possible fix for bug #567869
+
+2009-12-01  Marek Habersack  <mhabersack@novell.com>
+
+       * Cache.cs: ExpireItems dequeues the next item when a disabled
+       item is found before continuing to look for items to expire. Fixes
+       bug #559470. Patch from Adriaan van Kekem <avkekem@hotmail.com>,
+       thanks.
+
+2009-10-21  Marek Habersack  <mhabersack@novell.com>
+
+       * CacheItemPriorityQueue.cs: lock the queue on enqueue/dequeue
+
+2009-10-20  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCacheModule.cs: keysCache and entriesToInvalidate
+       dictionaries are allocated only when they are
+       required. BuildManager's RemoveEntry envent is subscribed to only
+       if cache actually has some entries.
+       Added support for post-cache substitution.
+
+       * CachedRawResponse.cs: data is stored in a list of DataItem
+       instances instead of just in a single buffer. This enables support
+       for post-cache substitution.
+
+2009-10-05  Marek Habersack  <mhabersack@novell.com>
+
+       * Cache.cs: if item expiration time exceeds the maximum value
+       Timer accepts, use the latter - item will expire properly anyway,
+       as the timer will be rescheduled for the item's expiration time
+       once that item is bubbled to the top of the priority queue. Fixes
+       bug #544171
+
+2009-09-26  Marek Habersack  <mhabersack@novell.com>
+
+       * CacheItemPriorityQueue.cs, CacheItem.cs, CacheItemEnumerator.cs:
+       added
+
+       * Cache.cs: factored out CacheItem and CacheItemEnumerator to
+       separate files.
+       Use reader-writer locks instead of Monitor.
+       Added two 3.5sp1 properties - EffectivePrivateBytesLimit and
+       EffectivePercentagePhysicalMemoryLimit.
+       Added support for disabling cache item expiration.
+       One timer is used to expire all timed items (instead of one timer
+       per item). Timed items are kept in a priority queue.
+
+2009-03-03  Marek Habersack  <mhabersack@novell.com>
+
+       * CachedRawResponse.cs: headers are stored in NameValueCollection
+       now.
+
+2009-01-09  Marek Habersack  <mhabersack@novell.com>
+
+       * Cache.cs: System.Threading.Timer.Change takes a long, not an
+       int. The maximum value of sliding expiration is 365 days
+       (31536000000ms) which fits within the value range of long. The
+       previous cast to int might yield negative values in certain
+       situations which was the reason for bug #464221. Fixes bug #464221
+
+2008-10-21  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCacheModule.cs: seal the class.
+       Made OnRawResponseRemoved a static method.
+
+       * CachedVaryBy.cs: seal the class.
+       Use portable line terminators instead of literal '\n'.
+
+       * Cache.cs: seal the CacheItem and CacheItemEnumerator classes.
+
+       * CacheDependency.cs: dispose the associated dependency in the
+       DependencyDispose method.
+
+       * CachedRawResponse.cs: seal the class
+
+2008-10-15  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCacheModule.cs: do not take any action if Response returns
+       null from GetCachedResponse.
+
+2008-09-30  Juraj Skripsky  <js@hotfeet.ch>
+
+       * CachedRawResponse.cs: Don't allocate a 32k buffer that is never 
+       used. Fixes enhancement bug #430963.
+
+2008-09-29  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCacheModule.cs: invalidate cache entries when the
+       corresponding source file (.as?x) is recompiled by hooking up to
+       System.Web.Compilation.BuildManager's build cache entry removal
+       event. Fixes bug #429926
+
+2008-09-26  Juraj Skripsky  <js@hotfeet.ch>
+
+       * OutputCacheModule.cs: Consistently use InternalCache for
+       CachedRawResponse items and Cache for CachedVaryBy items.
+       Partial fix for bug #429926.   
+
+2008-08-11  Marek Habersack  <mhabersack@novell.com>
+
+       * Cache.cs: dispose item timer when removing an entry. Fixes bug
+       #416076. Patch provided by Adriaan van Kekem
+       <adriaanvk@gmail.com>, thanks!
+       Pass onRemoveCallback along in Insert. Fixes bugs #324528 and
+       #382644. Patch provided by Juraj Skripsky <juraj@hotfeet.ch>,
+       thanks!
+
+2008-06-18  Marek Habersack  <mhabersack@novell.com>
+
+       * SqlCacheDependency.cs: added
+
+2008-05-30  Marek Habersack  <mhabersack@novell.com>
+
+       * CacheDependency.cs: do not use synthetized event accessors (to
+       avoid locks).
+
+2008-05-23  Marek Habersack  <mhabersack@novell.com>
+
+       * Cache.cs: optimize lock usage
+
+2008-04-28  Marek Habersack  <mhabersack@novell.com>
+
+       * Cache.cs: refactoring - move the timeout setting code to
+       separate methods, so that it can be accessed from outside the
+       class. Fixes bug #382644
+
+2008-03-18  Geoff Norton  <gnorton@novell.com>
+
+       * Cache.cs:  MS allows calling Insert in a removed handler, we need to
+       avoid double locking here otherwise the Insert will never succeed.
+
+2008-02-26  Kornél Pál  <kornelpal@gmail.com>
+
+       * CachedRawResponse.cs, OutputCacheModule.cs: Don't add Date header because
+       servers usually add a Date header that would result in duplicate Date header
+       sent to the client. Fixes bug #363404.
+
+2007-12-31  Vladimir Krasnov  <vladimirk@maimsoft.com>
+
+       * Cache.cs: added DependencyCache property, a cache object for
+       creating dependencies
+
+2007-12-19  Juraj Skripsky  <js@hotfeet.ch>
+
+       * Cache.cs: Replace periodic timer (60s) with per-cache-item expiration
+       timers.
+
+2007-08-17  Marek Habersack  <mhabersack@novell.com>
+
+       * CacheDependency.cs: use DependencyChanged as a list of events.
+       OnChanged now calls OnDependencyChanged, to notify
+       AggregateCacheDependency that it has changed. Fixes bug #82419.
+
+2007-08-14  Marek Habersack  <mhabersack@novell.com>
+
+       * AggregateCacheDependency.cs: propagate changes in any child
+       dependencies to the base class.
+
+2007-06-25 Juraj Skripsky <js@hotfeet.ch>
+
+       * Cache.cs: Re-introduce "InvokePrivateCallbacks" accidentally
+       removed in r80321.
+
+2007-06-20  Marek Habersack  <mhabersack@novell.com>
+
+       * OutputCacheModule.cs: use Context.InternalCache.
+
+       * Cache.cs: 2.0 profile uses generic containers to keep the cache
+       entries.
+       Gotten rid of the InsertPrivate and InsertInternal methods. The
+       latter was moved to one of the Insert overloads.
+       Private entries are no longer handled specifically, because the
+       internal cache is now kept in a separate object.
+       Iterate over the entries when filling the ArrayList in the 2.0
+       profile to avoid type cast exceptions.
+
+2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * AggregateCacheDependency.cs:
+       * CacheDependency.cs:   
+       added missing API.      
+
+2007-04-10  Marek Habersack  <mhabersack@novell.com>
+
+       * CacheDependency.cs: add the NotifyFilters.Size to the
+       watcher flags, so that we watch for modifications to a file when
+       using Linux inotify.
+
+2006-11-29  Marek Habersack  <grendello@gmail.com>
+
+       * CachedVaryBy.cs: Make sure that the vary:* header is generated
+       only when allowed under the 2.0 profile.
+
 2006-11-25  Marek Habersack  <grendello@gmail.com>
 
        * AggregateCacheDependency.cs: A small code optimization.