ChangeLog 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. 2007-12-31 Vladimir Krasnov <[email protected]>
  2. * Cache.cs: added DependencyCache property, a cache object for
  3. creating dependencies
  4. 2007-12-19 Juraj Skripsky <[email protected]>
  5. * Cache.cs: Replace periodic timer (60s) with per-cache-item expiration
  6. timers.
  7. 2007-08-17 Marek Habersack <[email protected]>
  8. * CacheDependency.cs: use DependencyChanged as a list of events.
  9. OnChanged now calls OnDependencyChanged, to notify
  10. AggregateCacheDependency that it has changed. Fixes bug #82419.
  11. 2007-08-14 Marek Habersack <[email protected]>
  12. * AggregateCacheDependency.cs: propagate changes in any child
  13. dependencies to the base class.
  14. 2007-06-25 Juraj Skripsky <[email protected]>
  15. * Cache.cs: Re-introduce "InvokePrivateCallbacks" accidentally
  16. removed in r80321.
  17. 2007-06-20 Marek Habersack <[email protected]>
  18. * OutputCacheModule.cs: use Context.InternalCache.
  19. * Cache.cs: 2.0 profile uses generic containers to keep the cache
  20. entries.
  21. Gotten rid of the InsertPrivate and InsertInternal methods. The
  22. latter was moved to one of the Insert overloads.
  23. Private entries are no longer handled specifically, because the
  24. internal cache is now kept in a separate object.
  25. Iterate over the entries when filling the ArrayList in the 2.0
  26. profile to avoid type cast exceptions.
  27. 2007-05-03 Igor Zelmanovich <[email protected]>
  28. * AggregateCacheDependency.cs:
  29. * CacheDependency.cs:
  30. added missing API.
  31. 2007-04-10 Marek Habersack <[email protected]>
  32. * CacheDependency.cs: add the NotifyFilters.Size to the
  33. watcher flags, so that we watch for modifications to a file when
  34. using Linux inotify.
  35. 2006-11-29 Marek Habersack <[email protected]>
  36. * CachedVaryBy.cs: Make sure that the vary:* header is generated
  37. only when allowed under the 2.0 profile.
  38. 2006-11-25 Marek Habersack <[email protected]>
  39. * AggregateCacheDependency.cs: A small code optimization.
  40. 2006-11-14 Marek Habersack <[email protected]>
  41. * Cache.cs:
  42. * CacheDependency.cs:
  43. * AggregateCacheDependency.cs: implement this one.
  44. 2006-09-11 Andrew Skiba <[email protected]>
  45. * CacheDependency.cs: ifdef TARGET_JVM
  46. 2006-08-03 Gonzalo Paniagua Javier <[email protected]>
  47. * CacheDependency.cs:
  48. * Cache.cs: check dependencies on other cache keys. Fixes bug #79002.
  49. 2006-03-18 Robert Jordan <[email protected]>
  50. * OutputCacheModule.cs: invoke the validation callbacks of
  51. HttpCachePolicy. Fixes bug #77825.
  52. 2006-03-14 Robert Jordan <[email protected]>
  53. * CachedVaryBy.cs: Fixed VaryByParam="*". Replaced request.Param
  54. with QueryString and Form lookups. Made the param name output case
  55. insensitive. Fixes bug #77757.
  56. 2005-10-24 Gonzalo Paniagua Javier <[email protected]>
  57. * Cache.cs: new internal method.
  58. 2005-09-08 Eyal Alaluf <[email protected]>
  59. * OutputCacheModule.cs: Use C# 1.0 style of delegate instantiating.
  60. Needed to compile Grasshopper (TARGET_J2EE) which uses MS C# 1.0
  61. compiler and does not use msc.
  62. 2005-09-02 Gonzalo Paniagua Javier <[email protected]>
  63. * Cache.cs: ignore exceptions thrown by removed item callbacks.
  64. 2005-09-02 Sebastien Pouliot <[email protected]>
  65. * Cache.cs: Added security permissions with Minimal level for
  66. AspNetHostingPermissionLevel (only LinkDemand as the class is sealed).
  67. * CacheDependency.cs: : Added security permissions with Minimal level
  68. for AspNetHostingPermissionLevel (note class is sealed only in 1.x).
  69. 2005-09-01 Eyal Alaluf <[email protected]>
  70. * CacheDependency.cs: TARGET_J2EE fixes.
  71. 2005-08-20 Gonzalo Paniagua Javier <[email protected]>
  72. * CacheDependency.cs: add missing ctor.
  73. 2005-08-15 Jackson Harper <[email protected]>
  74. * CacheItemPriority.cs:
  75. * CacheItemRemovedCallback.cs:
  76. * CacheItemRemovedReason.cs: New implementations.
  77. 2005-07-30 Miguel de Icaza <[email protected]>
  78. * OutputCacheModule.cs: Make synchronous.
  79. 2005-07-15 Lluis Sanchez Gual <[email protected]>
  80. * Cache.cs: New implementation.
  81. * CacheDependency.cs: New implementation.
  82. 2005-06-25 Gonzalo Paniagua Javier <[email protected]>
  83. * Cache.cs: added new InsertPrivate overload.
  84. 2005-06-25 Gonzalo Paniagua Javier <[email protected]>
  85. * Cache.cs:
  86. * CacheEntry.cs: style. Removed doc. comments.
  87. 2005-06-08 Ilya Kharmatsky <ilyak-at-mainsoft.com>
  88. * CacheDependency.cs - added TARGET_JVM directives in places,
  89. where file watching is using (Mainsoft's implementation currently
  90. doesn't support the feature).
  91. 2005-05-09 Gonzalo Paniagua Javier <[email protected]>
  92. * CacheEntry.cs: credits for this patch should go to mcs. it catched
  93. that the code after 'if ((_enumFlags & Flags.Removed) != 0)' was
  94. unreachable.
  95. 2005-04-28 Gonzalo Paniagua Javier <[email protected]>
  96. * ExpiresBuckets.cs:
  97. * Cache.cs:
  98. * CacheExpires.cs: fix NullReferenceException thrown sometimes when
  99. using sliding expiration and under high load. Patch by Eyal Alayuf from
  100. Mainsoft.
  101. 2005-04-20 Gonzalo Paniagua Javier <[email protected]>
  102. * CacheDependency.cs: remove warnings.
  103. 2005-04-01 Gonzalo Paniagua Javier <[email protected]>
  104. * CachedVaryBy.cs: fixed VaryByParam and wildcard (*). Patch by Ilya
  105. Kharmatsky (Mainsoft) that fixes bug #73981.
  106. 2005-04-01 Lluis Sanchez Gual <[email protected]>
  107. * CachedRawResponse.cs: Fix warning.
  108. 2004-11-08 Gonzalo Paniagua Javier <[email protected]>
  109. * CacheEntry.cs: convert the external DateTime to GMT, as everything
  110. else uses that timezone. Fixes bug #69194.
  111. 2004-10-03 Ben Maurer <[email protected]>
  112. * Cache.cs, CacheEntry.cs, CacheExpires.cs, ExpiresBuckets.cs:
  113. use UtcNow rather than Now.
  114. 2004-05-27 Patrik Torstensson <[email protected]>
  115. * ExpiresBucket.cs (FlushExpiredItems): fix csc and a typo bug
  116. 2004-05-27 Patrik Torstensson <[email protected]>
  117. * CacheEntry.cs,CacheExpires.cs,ExpiresBucket.cs,
  118. Cache.cs : Fixed deadlock issues, fixed
  119. items not correctly being flushed, fixed update
  120. of item when expiration has been updated more
  121. than 1 min (placed in wrong bucket),
  122. fixed deadlock during cache callback when item
  123. is removed due to expiriation.
  124. Rewrite of locking handling in Cache class, leading
  125. to better performance and less bugs.
  126. This rewrite is due to a number of bugs found
  127. in the output caching during load (leading to memory
  128. leaks and deadlocks)
  129. 2004-05-16 Patrik Torstensson <[email protected]>
  130. * ExpiresBucket.cs: Style changes plus;
  131. (Update): Fixed possible lock bug (bug 54531)
  132. (Expand): remove lock optimization due to it can cause newly
  133. added items to be lost.
  134. (Remove): fixed possible lock bug.
  135. 2004-04-16 Gonzalo Paniagua Javier <[email protected]>
  136. * Cache.cs: fix from Jan Jaros for NullRef (bug #56996).
  137. 2004-04-07 Lluis Sanchez Gual <[email protected]>
  138. * Cache.cs, CacheEntry.cs, ExpiresBuckets.cs: The value to use to
  139. specify infinite timeout in ReaderWriterLock is -1, not 0.
  140. 2004-03-19 Gonzalo Paniagua Javier <[email protected]>
  141. * Watcher.cs: Removed file. Jackson made it obsolete and already
  142. removed it from the .sources file.
  143. 2004-02-09 Jackson Harper <[email protected]>
  144. * ExpiresBucket.cs: Remove duplicate code. Fixes bug #54031.
  145. 2004-02-09 Jackson Harper <[email protected]>
  146. * Cache.cs: Close entries that are removed.
  147. * CacheDependency.cs: Use FileSystemWatcher instead of custom
  148. Watcher for file dependencies.
  149. * OutputCacheModule.cs: Make the varyby objects dependent on the
  150. cached page.
  151. 2004-02-05 Jackson Harper <[email protected]>
  152. * CacheDependency.cs: Handle cache keys that have not been added
  153. to the cache yet.
  154. 2004-02-02 Jackson Harper <[email protected]>
  155. * OutputCacheModule.cs: We can use file dependancies now.
  156. 2004-01-14 Jackson Harper <[email protected]>
  157. * Cache.cs: Return null when items are expired but have not been
  158. removed yet.
  159. * OutputCacheModule.cs: Handle sliding expirations. Remove hacks
  160. checking if the item is expired, the cache no longer returns
  161. expired items.
  162. 2004-01-14 Jackson Harper <[email protected]>
  163. * Cache.cs: When using sliding expiration update the cache objects
  164. expires time as well as the expires entry expire time because the
  165. objects expire time is checked when objects are pulled out. This
  166. fixex bug #52778.
  167. 2004-01-11 Jackson Harper <[email protected]>
  168. * OutputCacheModule.cs: Remove varyby objects when there are no
  169. more raw responses that belong to them.
  170. * CachedRawResponse.cs: Keep a reference to the VaryBy object that
  171. this response belongs to this is so the varyby can be cleaned up.
  172. * CachedVaryBy.cs: Keep a reference to the keys that belong to the
  173. varyby and a reference to the varyby's key.
  174. 2004-01-04 Jackson Harper <[email protected]>
  175. * OutputCacheModule.cs: Dont cache items when trace is enabled.
  176. 2004-01-04 Jackson Harper <[email protected]>
  177. * OutputCacheModule.cs: Update the date header value.
  178. * CachedRawResponse.cs: Expose a ref to the date header, so it can
  179. be easily set/updated. Remove unused methods and vars.
  180. 2004-01-04 Jackson Harper <[email protected]>
  181. * CacheDependency.cs: Copy all the entries into the entries array,
  182. set on removed callback for items that we are dependent on.
  183. * Cache.cs: Add method to get CacheEntry objects.
  184. * OutputCacheModule.cs: Make raw repsonse entries dependent on
  185. their varyby param entries.
  186. 2004-01-04 Jackson Harper <[email protected]>
  187. * OutputCacheModule.cs: VaryBy keys now need the HttpContext not just the request.
  188. * CachedVaryBy.cs: Handle vary by headers, and vary by custom.
  189. 2004-01-03 Gonzalo Paniagua Javier <[email protected]>
  190. * ExpiresBuckets.cs: set _intPos when expanding the array. Fixes bug
  191. 52541. Patch by Jan Jaros ([email protected]).
  192. 2003-11-21 Jackson Harper <[email protected]>
  193. * OutputCacheModule.cs: Only cache a page if it has a 200 status
  194. code. Fix tabbing.
  195. * CachedVaryBy.cs: Give raw response keys a name, use the
  196. httpmethod in the key, and delimit items with \n so it is easier
  197. to read when debugging.
  198. 2003-11-21 Jackson Harper <[email protected]>
  199. * OutputCacheModule.cs: Store a CachedVaryBy object for each
  200. cached page. Then store a CachedRawResponse for each combination
  201. of varried parameters for a page.
  202. * CachedRawResponse.cs: Do not need to store param values anymore
  203. those are stored in the CachedVaryBy now. Get the content length
  204. so we dont send back the entire buffer.
  205. * CachedVaryBy.cs: New file - holds the varyby data for a page,
  206. and a method to generate a key based on params. Right now this
  207. only works with VaryByParams. TODO: support VaryByHeaders and
  208. VaryByCustom.
  209. 2003-11-20 Jackson Harper <[email protected]>
  210. * Cache.cs: New method so non public cache items can be added.
  211. * CachedRawResponse.cs: New file - A snapshot of a response that
  212. is stored in the cache and can be used to create a new response.
  213. * OutputCacheModule.cs: Module for inserting and retrieving
  214. responses from the cache.
  215. 2003-04-09 Gonzalo Paniagua Javier <[email protected]>
  216. * CacheDependency.cs:
  217. * CacheEntry.cs:
  218. * Watcher.cs: added a FileSystemWatcher-like class for dependency checking.
  219. 2003-03-13 Gonzalo Paniagua Javier <[email protected]>
  220. * Cache.cs:
  221. * CacheDefinitions.cs:
  222. * CacheDependency.cs:
  223. * CacheEntry.cs:
  224. * CacheExpires.cs:
  225. * ExpiresBuckets.cs: reformatted, make class status page happier. Does
  226. not work yet (wait for the next patch).
  227. 2002-12-27 Daniel Cazzulino <[email protected]>
  228. * CacheEntry.cs: several changes. New constants, use of constants
  229. defined in Cache.cs, modified locks to optimize perf. Fixed property
  230. sets which weren't using the keyword value to set the new values
  231. (don't know how this worked before!).
  232. * Cache.cs: changed singleton implementation to only create the object
  233. when actually used. Changed Insert overloads to use constants
  234. defined instead of hard values.
  235. * ExpiresBuchets: major changes. All locking now uses ReaderWriterLock
  236. class. Bucket now efectively reuses free indexes from removed items
  237. to avoid unnecessary expansions. Expansion now uses Array.CopyTo to
  238. add elements to the new list. Added private Int32Collection to
  239. handle int indexes efficiently (thanks Shawn Van Ness). See comments
  240. there.
  241. 2002-10-08 Gonzalo Paniagua Javier <[email protected]>
  242. * Cache.cs: little fixes.
  243. 2002-07-28 Gonzalo Paniagua Javier <[email protected]>
  244. * CacheDefinitions.cs: fixed a couple of enums.
  245. * CacheDependency.cs: the class is sealed.
  246. 2002-06-11 Gonzalo Paniagua Javier <[email protected]>
  247. * CacheDependency.cs: fixed a couple of typos and don't throw
  248. NotImplementedException in constructors.
  249. 2001-12-21 Gaurav Vaish <[email protected]>
  250. * CacheDependency.cs: Some unimplemented methods to make build
  251. 2001-07-20 Patrik Torstensson ([email protected])
  252. * Cache.cs: Implemented. (90% ready)
  253. * CacheDefinitions.cs: Implemented.
  254. * CacheDependency.cs: Added. (20% ready)
  255. * CacheExpires: Implemented.
  256. * CacheEntry.cs: Implemented. (95% ready, going to be changed due to CacheDependecy support)
  257. * ExpiresBuckets.cs: Implemented.