
Package: R.cache
================

Version: 0.12.0 [2015-11-12]
o SPEEDUP: Now memoizedCall() generates cache pathname only once.
o Now all prompt and verbose messages are send to the standard
  error (instead of the standard output).
o ROBUSTNESS: Increased test coverage from 64% to 86%.
o CLEANUP: Dropped argument 'verbose' from memoizedCall().


Version: 0.11.1 [2014-09-10]
o ROBUSTNESS:  Added package system tests for memoizeCall()
  and addMemoization().
o DOCUMENTATION: Clarified in help that function calls that
  returns ("has value") NULL will not be cached.
o BUG FIX: addMemoization() will no longer memoize an already
  memoized function.


Version: 0.11.0 [2014-09-05]
o Now package imports rather than suggests the 'digest' package.
  This simplifies installation/usage of the package.
o Bumped package dependencies.


Version: 0.10.0 [2014-06-10]
o Bumped package dependencies.


Version: 0.9.5 [2014-05-01]
o ROBUSTNESS: The textual prompt used to ask new R.cache users for
  approval on creating a persistent cache directory is now using
  the standard error (stderr) rather than the standard output
  (stdout).  This lowers the risk for issues with report generators.


Version: 0.9.4 [2014-04-26]
o CLEANUP: Minimize use of '::'.


Version: 0.9.3 [2014-01-30]
o Bumped package dependencies.


Version: 0.9.2 [2014-01-13]
o All call to internal generateCache() with key=NULL would give a
  hard-to-understand error message.  Now it's more informative.
o Bumped package dependencies.


Version: 0.9.1 [2013-12-21]
o Added arguments 'path' and 'rootPath' to getCachePath().
o Added argument 'pathname' to saveCache().


Version: 0.9.0 [2013-10-17]
o BUG FIX: If the package was only loaded but not attached, the cache
  root path would default to ~/.Rcache/, which in turn could cause
  that path to be create without asking the user.  For instance,
  R.cache::loadCache(list()) would do.  Thanks to Kurt Hornik at
  Vienna University of Economics and Business for reporting on this.


Version: 0.8.4 [2013-10-14]
o Adjusted package dependencies and NAMESPACE to work with the
  package versions available on CRAN.
o Now DESCRIPTION's 'Authors' field matches 'Authors@R'.


Version: 0.8.3 [2013-10-03]
o Bumped package dependencies.


Version: 0.8.2 [2013-09-28]
o Now the 'R.cache' Package object is also available when the
  package is only loaded (but not attached).


Version: 0.8.1 [2013-09-15]
o CLEANUP: Now only importing a minimal set of functions needed
  from the 'R.oo' and the 'R.utils' packages.
o Bumped package dependencies.


Version: 0.8.0 [2013-08-21]
o Now R.utils is no longer attached ("loaded") - only imported.
o Added system tests.


Version: 0.7.4 [2013-08-20]
o Now explicitly importing one function from 'utils' in NAMESPACE.


Version: 0.7.3 [2013-08-18]
o Now clearCache() is exported (re-exported from R.oo).


Version: 0.7.2 [2013-08-03]
o Bumped package dependencies.
o BUG FIX: R.cache:::.assertDigest() called from within another package
  would give an error that packageVersion() of 'utils' was not found.


Version: 0.7.1 [2013-07-11]
o Updated the title and the description of the package.


Version: 0.7.0 [2013-07-03]
o Now getChecksum() passes '...' to digest(), e.g. argument 'algo'.
o Bumped package dependencies.


Version: 0.6.10 [2013-05-25]
o Minor speedup of loadCache() - replaced an rm() call with NULL assignment.


Version: 0.6.9 [2013-05-20]
o CRAN POLICY: Now all Rd \usage{} lines are at most 90 characters long.
o Bumped package dependencies.


Version: 0.6.8 [2012-12-19]
o Utilizing new startupMessage() of R.oo.


Version: 0.6.7 [2012-11-28]
o Added support for clearCache(..., recursive=TRUE).


Version: 0.6.6 [2012-11-27]
o BUG FIX: clearCache() would give error "object 'dirs' not found".


Version: 0.6.5 [2012-11-18]
o ROBUSTNESS: Now package declares S3 methods in the namespace.
o CLEANUP: Now package exports a smaller set of the methods.
o CLEANUP: Package now only imports R.methodsS3 and R.oo, no long
  depends (loads) them.  It still needs to load R.utils.
o Added internal .assertDigest(), which originates from aroma.core.


Version: 0.6.4 [2012-10-16]
o ROBUSTNESS/BUG FIX: No longer passing '...' to NextMethod(), cf.
  R-devel thread 'Do *not* pass '...' to NextMethod() - it'll do it
  for you; missing documentation, a bug or just me?' on Oct 16, 2012.
o Package now imports R.methodsS3 and R.oo.


Version: 0.6.3 [2012-09-12]
o Renamed the installed .Rcache/ directory to _Rcache/ to avoid
  R CMD check NOTEs.
o CRAN POLICY: Removed one last call to .Internal() for loading
  saved data.  This could be done in a backward-compatible way
  using readRDS().


Version: 0.6.2 [2012-03-20]
o CRAN POLICY: Dropped an explicit call to an .Internal() function.


Version: 0.6.1 [2012-01-22]
o Updated the README that is copied to the .Rcache directory.
o Updated package dependencies.


Version: 0.6.0 [2011-12-30]
o As before, the cache root path defaults to ~/.Rcache/. However,
  if it does not exists, then it is created when the package is loaded,
  but only after approval by the user (via a textual prompt). If not
  approved, or it is not possible to prompt the user (e.g. in a
  non-interactive session), then a session-specific temporary directory
  is used.


Version: 0.5.3 [2011-12-29]
o Now getCachePath() and setCacheRootPath() add a README.txt file to
  the root path, iff missing. It explains why the directory structure
  exists, what created it, and that it is safe to delete.


Version: 0.5.2 [2011-10-05]
o BUG FIX (for R v2.13.0 only): Applying the same fix that was done
  for R v2.12.2 and before in R.cache v0.5.1.


Version: 0.5.1 [2011-08-31]
o BUG FIX (for R v2.12.2 and before): After adding support for
  compressed files in R.cache v0.5.0, we would get the 'Error in
  seek.connection(con, origin = "current", where = -5) : whence = "end"
  is not implemented for gzfile connections' in readCacheHeader()
  iff running R v2.12.2 or before.  Thanks to Uwe Ligges (R core)
  for reporting on this.


Version: 0.5.0 [2011-08-16]
o Added support for saving and loading compressed cache files.
o ROBUSTNESS: Now findCache() asserts that any identified cache
  file is really a file.
o CLEANUP: Now package uses packageStartupMessage() instead of cat().


Version: 0.4.3 [2011-07-21]
o DOCUMENTATION: Clarified how argument 'dirs' (in methods using it)
  specifies the subdirectory of the cache root directory.


Version: 0.4.2 [2011-05-19]
o Added a help page to clearCache().
o Now argument 'prompt' for clearCache() defaults to TRUE
  iff interactive() is TRUE, otherwise FALSE.


Version: 0.4.1 [2011-04-02]
o Now generateCache() utilizes a generic function getChecksum()
  to obtain the checksum.  This makes it possible to customize
  how checksums are calculated for different classes of objects.
o Added a default getChecksum() which utilizes digest::digest().
o Added getChecksum() for the Object, which first clears the
  cache of the object and the calls the default ditto.
o Added trial version of evalWithMemoization().
o BUG FIX: clearCache() would also report on subdirectories.


Version: 0.4.0 [2011-02-14]
o Added trial versions of memoizedCall() and addMemoization().


Version: 0.3.0 [2010-03-13]
o Added a NAMESPACE.


Version: 0.2.0 [2009-10-16]
o BUG FIX: In R v2.10.0 and newer, we would get an error reporting that
  internal function loadFromConn() does not exists.


Version: 0.1.9 [2009-09-11]
o Added argument 'onError' to loadCache(), to specify the action when
  an error occurs.  The default used to be to print the error message
  (onError="print"), but now the default is to generate a warning
  ("warning").  The other alternatives are do silently ignore it, or
  to throw the error ("error").  Except for onError="error", loadCache()
  always returns NULL if an error occurs.


Version: 0.1.8 [2009-08-11]
o ROBUSTNESS: Added sanity check to readCacheHeader() testing
  that the read header identifier is non-empty.  This results
  in a clearer error message that before.
o Now readCacheHeader() reports the "pathname" in error/warnings
  messages, if argument 'file' refers to a file and the
  "description" if it refers to a connection.
o CLEAN UP: Renamed the HISTORY file to NEWS.


Version: 0.1.7 [2008-02-27]
o Added option to updated the "last-modified" timestamp of cache
  files whenever they are loaded via loadCache(). This will help
  identified what cache files have not been used for a long time.
  To turn this on, use options("R.cache::touchOnLoad"=TRUE).
o Now error messages specifies the pathname, if available.
o BUG FIX: The throw() for invalid identifiers was trying to put
  the connection object in the output and not the identifier.


Version: 0.1.6 [2007-07-02]
o Now environments, in addition to lists, may be used as keys
  for generating cache names.
o Package passes R CMD check on R v2.6.0 devel.  Minor mods.


Version: 0.1.5 [2007-03-11]
o Added getCacheRootPath() to the help index page.
o Package passes R CMD check on R v2.5.0.


Version: 0.1.4 [2007-03-07]
o Added getCacheRootPath() and setCacheRootPath() to specify
  where the root of the file path is located.


Version: 0.1.3 [2007-01-24]
o Now saveCache() and loadCache() takes optional argument 'dirs' for
  caching data to subdirectories of the root cache directory.
o Added setCacheRootPath() to set the root cache directory.


Version: 0.1.2 [2006-05-25]
o Added argument 'pathname' to loadCache() in order to load
  "unknown" cache files for which the key is unknown.
o BUG FIX: Work around for not saving "promises" (non-evaluated arguments)
  in base::save(), which otherwise includes all of the surrounding
  environment if 'sources' is not evaluated/missing.  For more details
  see code and my email to r-devel on 2006-05-25.  Thanks to Brian Ripley
  for explaining what was going on.


Version: 0.1.1 [2006-05-22]
o Added header comment for file format > v0.1.
o Added detection of file format version.
o Added readCacheHeader().


Version: 0.1.0 [2005-12-16]
o Using a special binary file format now.  It allows you to
  check if cache is up-to-date to a source file.  If not,
  the rest of the cache binary file is not loaded.
o Added loadCache() and saveCache() methods.
o Created.
