Clone wiki

Caveman Tools / CavemanLog

Back to Summary


  • Moved all Web functionality to CavemanTools.Web
  • Removed some obsolete features
  • Renamed GetTypeImplementing<t> to GetTypesDerivedFrom<T>
  • Added MustDeriveFrom<T> guard clause
  • Added MustComplyWith guard clause
  • Added Pagination class useful to specify pagination when querying model
  • Added misc extension methods to TimeSpan


  • Added helpers for working with Expression
  • Made IResultSet, ResultSet obsolete. They have been renamed as IPagedResult, PagedResult.


  • release for SqlFu compatibility
  • add MustBeUrlFriendly guard clause


  • New
  • added common abstraction for caching: ICacheData, IGetCacheItem
    • provided concrete implementation for MemoryCache (LocalMEmoryCache) and AspNet Cache (AspNetCache)
  • added FileLogger and convenience methods for LogHelper
  • added Guid support for Authorization scope: AuthorizationScopeGuid
  • added more extension methods and guard clauses
  • added operator overloads for Percentage struct


  • New Features
    • added MustMatch (regex) guard clauses for strings
    • added MustHaveValues guard clauses for collections
    • added Percentage type
    • added StringBuilder extension method RemoveLastIfEquals
    • added ConsoleLogger to use with LogHelper
    • added IContainerScope interface to provide a common interface for DI Containers
      • added ActivatorContainer, default implementation for IContainerScope
      • added DependencyContainerWrapper as a quick helper to provide an IContainerScope implementation for a DI Container
    • added JsonStruct type, which provides a simple DTO structure to return JSON data
    • added SemVersion type which supports semantic versioning (
    • added BenchmarkContainer class, specialized class for running benchmarks
  • Misc fixes and improvements


  • Added basic guard clauses
  • Added Value Objects support
  • Added Reflection.Emit.IlGenerator helpers


  • Added scoped authorization (rights are valid only in a certain scope, useful for multi tenancy)
  • Added the SingletonsRegistry, a simple utility class to manage Singletons
  • Added HttpContextRegistry as a helper class to get/set item to HttpContext.Current . The former ContextRegistry is now named ContextInstance
  • LogHelper has a default null object implementation
  • Added basic support for Commands and Requests
  • Added Password helper class.


  • Refactored DeveloperLogger class to actually work ..


  • New Features
    • Forms authentication and authorization on steroids: support for user id, user-defined group based and rights based authorization
    • Support for validating user credentials against a protected resource
    • Common Logging (no other dependencies needed)
    • Basic request timing utility
  • Renamed CookieCaching to CookieCache
  • Dropped all database related stuff
  • Reorganized namespaces
  • Cleaned up code