Package: R.rsp
==============

Version: 0.30.0 [2016-05-15]
o CLEANUP: Deprecated several methods that was part of the old
  API, e.g. compileRsp(), sourceRsp(), translateRsp() etc.
o CLEANUP: Renamed exec/ script 'rsource(.bat)' to 'rcode(.bat)'.
o CLEANUP: Removed epsDev(), which has been defunct since
  R.rsp 0.19.7 (Jan 2015).
o CLEANUP: Workaround for markdown (<= 0.5.4) (Jan 2013) removed.
o WORKAROUND: knitr::pandoc() in knitr (>= 1.13) appends '_utf8'
  to output HTML filename (to the part before the extension).
  This caused one of the vignette engines to fail.  Now '_utf8'
  is dropped from the HTML filename if this is detected.


Version: 0.21.0 [2015-12-18]
o Renamed rscript() to rcode().  rscript() is now deprecated.
o Added vignette option %\VignetteCompression{} for alternative
  way of setting meta variable 'compression', e.g.
  %\VignetteCompression{gs(ebook)+qpdf} to compressed PDF output.
o Added postprocessor for PDF compression, which can be enabled
  and controlled via meta variable 'compression', e.g.
  <%@meta compression="gs(ebook)"%>.
o Setting meta variable 'postprocess' to FALSE can now be used to
  disable postprocessing, e.g. <%@meta postprocess="FALSE"%> in
  foo.md.rsp builds foo.md and does not continue compiling into
  an HTML document, which is otherwise the default.
o Explicit import of 'methods' functions.
o ROBUSTNESS: findPandoc() could give an error if the pandoc
  executable failed for unpredictable reasons. Now it returns
  NULL if that is the case.  Same for findAsciidoc().
o BUG FIX/LEGACY CODE: Old RSP -> R script compiler could generate
  invalid R syntax for multiline RSP code expressions put in R
  source code comments.  Not sure why this all of a sudden shows
  up; maybe something changed in R that causes the bug to reveal
  itself.  This is old legacy code so the default / modern RSP
  engine is unaffected.
o BUG FIX/LEGACY CODE: While trying to generate an error message
  another error was thrown.


Version: 0.20.0 [2015-02-18]
o ROBUSTNESS: Now compileLaTeX() will give an error if the filename
  extension is neither *.tex nor *.ltx (case sensitive).  The reason
  for this is that it is only those that are recognized by the
  underlying 'texi2dvi' script (if a different filename extension is
  used, 'texi2dvi' will use 'texinfo' instead of 'latex' to compile
  the document which for obvious reasons will not compile; texinfo
  files are not LaTeX files).  I'd like to thank Kurt Hornik at CRAN
  for helping me troubleshoot this as I incorrectly had a static
  LaTeX vignette named *.latex.


Version: 0.19.8 [2015-02-04]
o Now all \VignetteKeyword{} entries inside a meta directives with
  language 'R-vignette' are parsed into meta data field 'keywords'.
o Added arguments 'header' and 'metadata' to compileMarkdown().
o Now the processor function returned by findProcessor() passes
  meta data as a named list to the underlying compiler/processor.
o Now the full RspFileProduct object is passed to postprocessors
  rather than its barebone pathname.


Version: 0.19.7 [2015-01-18]
o Added Unix shell (and Windows batch) scripts 'rsource', 'rfile'
  and 'rcat' moved to system.file("exec", package="R.rsp").  These
  scripts are convenient wrappers that use Rscript internally.
o CLEANUP: Defunct epsDev().
o BUG FIX: isCapableOf() for "asciidoc" and "pandoc" would given an
  error (instead of FALSE) if the binary was not found.


Version: 0.19.6 [2014-10-18]
o Now the LaTeX processor returned by findProcess() for RspFileProduct
  (with content type application/x-tex or application/x-latex) will add
  the directory of the source file to the TEXINPUTS.
o Added RSP preprocessing directives <%@ifdef ...%> and <%@ifndef ...%>
  which are shorts for <@if test="exists" ...%> and it's negated form.
o ROBUSTNESS: Added more tests for the RSP language.
o CLEANUP/ROBUSTNESS: As part of deprecating the old R.rsp (<= 0.8.2) API,
  the following steps have been taken:
  - S3 methods are no longer exported. Only the generics.
  - Methods flush() and stop() part of the old RSP API no longer mask
    corresponding functions of the 'base' package.
  - Several methods including those in the built-in Tcl httpd server
    no longer assumes that the R.rsp package is attached. They are also
    prepared for not all methods being exported (which may happen in
    a future release).


Version: 0.19.5 [2014-10-03]
o CLEANUP: The 'tex' and 'md' vignette engines no longer generates
  a tangle script.
o DOCUMENTATION: Added vignette 'R packages: LaTeX vignettes'.


Version: 0.19.4 [2014-09-03]
o ROBUSTNESS: Now RSP preprocessing directive <%@if name="<name>" ...%>
  does a better jobs of locating RSP variables with a smaller risk of
  finding other R objects.


Version: 0.19.3 [2014-08-29]
o DOCUMENTATION: Updated the 'Dynamic document creation using RSP'
  package vignette.
o Added Unix shell (and Windows batch) scripts 'rsource', 'rfile'
  and 'rcat' to system.file("bin", package="R.rsp").  These scripts
  are convenient wrappers that use Rscript internally.
o CLEANUP: Removed false R CMD check NOTEs recently introduced.
o Bumped package dependencies.


Version: 0.19.2 [2014-07-02]
o Added support for cut'n'paste and copy'n'paste preprocessing
  directives.


Version: 0.19.1 [2014-06-28]
o GENERALIZATION: Now it is possible to use any symbol for enclosing
  attribute values in RSP directives in addition to the current x='y'
  and x="y" ones, e.g. x=.y., x=|y|, and so on.  Furthermore, paired
  brackets may also be used, e.g. x={y}, x=[y], x=<y> and x=(y), and
  then also in matched replicates, e.g. x={{{y}}}.  Added several
  package system tests for this.


Version: 0.19.0 [2014-06-07]
o Bumped version.


Version: 0.18.7 [2014-06-02]
o BUG FIX: Trying to assign an empty string to an RSP preprocessing
  variable would not set the variable but return its current value or
  given an error if it did not exist, e.g.  <%@string empty=''%> could
  throw "No such variable ('empty')".  Added system test for this.


Version: 0.18.6 [2014-05-30]
o Now rcompile() can write to file and if the input is a file, then
  it does so by default.


Version: 0.18.5 [2014-05-30]
o RSP directives <%@meta ...%>, <%@string ...%>, ..., <%@integer ...%>
  gained attribute 'default' for getting their values.
o Metadata field 'source' is now referring to the input RSP file
  by its absolute path, or URL, whenever known/possible.


Version: 0.18.4 [2014-05-30]
o CLEANUP: The R.rsp vignettes no longer produce tangle script,
  because they were not useful to anyone.
o Vignette engine 'R.rsp::rsp' now respects %\VignetteTangle{FALSE}.
o Added 'Recommends' field to DESCRIPTION.


Version: 0.18.3 [2014-05-27]
o Now rscript() can write to file and if the input is a file, then
  it does so by default.
o Now metadata 'source', which is a reference to the source of the
  RSP document, is set whenever possible/known.  It is considered
  a "local" metadata attribute, meaning it will not be part of any
  generated source code scripts, because those should be the same
  regardless of where the source is located.
o Bumped up package dependencies.


Version: 0.18.2 [2014-05-24]
o Using R.utils::use() instead of require() in more places.
o CLEANUP: Dropped internal ununsed vignette engines.
o Bumped up package dependencies.


Version: 0.18.1 [2014-05-17]
o Now using withCapture() in vignettes replacing alias evalCapture().
o USABILITY: The error messages thrown on RSP code chunks with syntax
  errors now also display the beginning and the end of the actual code
  chunk making it easier to identify/locate it.
o CLEANUP: Now rspWeave() and hence the 'rsp::rsp' vignette engine
  cleans up intermediate files (e.g. Markdown and TeX) produced while
  compiling the vignette into its final output (HTML or PDF).
o Bumped up package dependencies.


Version: 0.18.0 [2014-05-07]
o CLEANUP: R.oo package is no longer attached when attaching this package.


Version: 0.17.3 [2014-05-05]
o rfile() now assumes an RSP document when it cannot infer the type from
  the filename etc.


Version: 0.17.2 [2014-05-02]
o CLEANUP: Removed evalWithEcho(), which has been deprecated since 2011.
o Using R.utils::use() instead of library() in more RSP documents.


Version: 0.17.1 [2014-04-30]
o Added vignette engine 'R.rsp::asis' to include static PDFs and HTMLs.
o DOCUMENTATION: Restructured and updated the R.rsp vignettes.


Version: 0.17.0 [2014-04-29]
o Now suggested packages are installed automagically, iff needed.
  This minimizes the need for preinstalling packages whenever using
  R.rsp to compile documents.


Version: 0.16.0 [2014-04-18]
o Now all rfile() also works with URLs for all known processors, e.g.
  rfile("http://latex-project.org/guides/usrguide.tex") and
  rfile("https://raw.github.com/yihui/knitr-examples/master/001-minimal.Rmd").
  Added package system tests for various types of "online" compilation.
o Now rspTangle() passes '...' to rsource().
o BUG FIX: RspFileProduct would corrupt URLs.


Version: 0.15.2 [2014-04-06]
o ROBUSTNESS: Now compileLaTeX() cleans up and shortens LaTeX
  environment variables (e.g. TEXINPUTS) iff possible,
  before compiling the document.  This lowers the risk for
  compilation failures due to too long search paths.


Version: 0.15.1 [2014-03-24]
o ROBUSTNESS: Now compileLaTeX() tries to shorten any paths as far
  as possible, e.g. ../foo/../foo/ to ../foo/ to workaround possible
  length limits of the TeX compiler.  It now also adds a symbolic link
  to TEXINPUTS that refers to the directory of the LaTeX file.
o WORKAROUND: On Windows, due to limitations in browseURL(..., browser=NULL),
  which in turn utilizes shell.exec(), view() for RspFileProduct failed to
  open files in subdirectories, because they had forward slashes in their
  pathname, e.g. reports/main.html.  By temporarily changing the working
  directory to that of the file, view() now opens the file properly.


Version: 0.15.0 [2014-02-25]
o ROBUSTNESS: Now the package runs the garbage collector if unloaded
  in order to make sure finalize() is called on any deleted HttpDaemon
  objects.
o Bumped up package dependencies.


Version: 0.14.1 [2014-02-07]
o Now print() for RspFileProduct reports file sizes also in kB, MB, etc.


Version: 0.14.0 [2014-02-04]
o SPEEDUP: Significant speed up of methods such as rstring() and
  rfile() for RSP expression that outputted a large amount of text
  to the output document.  Internally, this was achieved by replacing
  the default capturing of output, which uses text connections, with
  one that uses raw connections instead.  The processing time for the
  former was exponential in the number of captured lines whereas for
  the latter it is linear.


Version: 0.13.0 [2014-01-27]
o It's possible to call rcat(), rfile() etc from the command line
  with arguments, e.g. Rscript -e R.rsp::rfile LoremIpsum.md.rsp
  and Rscript -e R.rsp::rcat "Random number: <%=sample(1)%>".
  Also, by setting 'alias rcat=Rscript -e R.rsp::rcat' etc one
  can then just call 'rcat "Random number: <%=sample(1)%>"'.


Version: 0.12.9 [2014-01-26]
o CLEANUP: Internal calls to R.oo::ll() used really only by verbose
  statements trigger the attachment of the R.oo package (as of
  R.oo (>= 1.17.0)), which in turn outputs a few package startup
  messages.  Thus calling, say, R.rsp::rcat() would output such
  messages (which would be surprising to the user).  To lower this
  impact, ll() is only called when verbose is enabled.


Version: 0.12.8 [2014-01-17]
o ROBUSTNESS: Added package system tests asserting that the output of
  the RSP parser can be deparsed and when reparsed the output will be
  identical.


Version: 0.12.7 [2014-01-13]
o ROBUSTNESS: Now compileLaTeX() adds the directory of the LaTeX file
  to TEXINPUTS also by its relative path (in addition to its absolute
  path).  This provides a workaround for systems that does not handle
  TEXINPUTS paths that are too long.


Version: 0.12.6 [2014-01-11]
o BUG FIX: RSP comments with only a single character commented out would
  generate an RSP parsing error, e.g. '<%-- --%>' and '<%--\n--%>'.
  Added package system tests for more comment cases, including these.


Version: 0.12.5 [2014-01-05]
o CLEANUP: Removed code that is now in R.oo (>= 1.16.2).


Version: 0.12.4 [2014-01-02]
o Added rstring(), rcat(), rfile() and rsource() for expression:s too.


Version: 0.12.3 [2013-12-21]
o Now rfile() also supports filename substitution based on whisker/
  Mustache-like variable substitution, i.e. {{<variable>}}.


Version: 0.12.2 [2013-12-15]
o Now the code generated by RspRSourceCodeFactory provides a rmeta()
  function for getting and setting document metadata.
o Added !() for RspProduct, which is a shortcut for view().


Version: 0.12.1 [2013-12-14]
o Now rfile() accepts also non-RSP documents, e.g. rfile("report.md"),
  rfile("report.Rnw"), and rfile("report.tex").  This also means that
  all RSP documents must use the *.rsp filename extension in order for
  rfile() to automatically recognize it as RSP.  To process files with
  custom extensions as RSP, do rfile(RspFileProduct("report.custom",
  type="application/x-rsp")).
o Now getType() for RspFileProduct works also for URLs.
o BUG FIX: compileRsp() did not acknowledge argument 'postprocess'.


Version: 0.12.0 [2013-12-13]
o Now rfile() tries to rename the generated output file, iff its
  filename can be renamed using variable substitutions.  For instance,
  rfile('${foo}.txt.rsp') will try to rename output file '${foo}.txt'
  to 'SampleA.txt', if variable 'foo' is set to say 'SampleA' (either
  globally or by the RSP document).  If the variable is not set, the
  output file will remain '${foo}.txt'.  Requires R.utils (>= 1.28.6).
o BUG FIX: compileRsp(..., postprocess=TRUE) would throw 'Error in
  UseMethod("process"): no applicable method for 'process' applied to
  an object of class "character"'.  Added system test for compileRsp().


Version: 0.11.0 [2013-12-12]
o SIMPLIFICATION: Now the registered 'rsp::rsp' engine postprocesses
  the RSP document by default.  This means that RSP-embedded Markdown
  vignettes will be turned into HTML documents just as RSP-embedded
  LaTeX vignettes will become PDF documents.  It also means that such
  engines will no longer rely on the R 'tools' package to compile
  TeX output into PDFs.


Version: 0.10.3 [2013-12-06]
o CLEANUP: Dropped obsolete autoload():s.


Version: 0.10.2 [2013-11-23]
o BUG FIX: rsource() would not evaluate in the current environment.
  Added a package system test for this.


Version: 0.10.1 [2013-11-18]
o Added a small LoremIpsum.tex.rsp example vignette that is also
  useful as a stub for others to build upon.


Version: 0.10.0 [2013-11-03]
o Now "child" RSP documents imported into a "parent" RSP document
  via <%@import ...%>, sees all meta data of the parent, and any
  meta data set by the child document are also set in the parent
  one.  Updated main vignette to mention this.  Added a system tests.
o BUG FIX: setMetadata(..., metadata=list()) would give an error.


Version: 0.9.30 [2013-11-03]
o CLEANUP: Now the 'md.rsp+knitr:pandoc' vignette engine suppresses
  messages generated by knitr::pandoc().


Version: 0.9.29 [2013-10-17]
o BUG FIX: The browseRsp() demo page assumed that 'R.utils' was
  attached.


Version: 0.9.28 [2013-10-14]
o DOCUMENTATION: Updates to vignettes: Added rsource() command to
  'RSP Markup Language - Reference Card' vignette'.  Adjusted
  the other two vignettes to reflect usage of vignettes/.
o Now the package vignettes are in vignettes/ and no longer in
  inst/doc/, which will not be supported by R (>= 3.1.0).
o ROBUSTNESS: Now package only imports explicitly what is needed
  from dependent packages.
o ROBUSTNESS: Vignette 'RSP-refcard.tex.rsp' assumed that the
  'R.rsp' package was attached.
o BUG FIX: If an RspEvalDirective for language="R" had a parse or
  an evaluation error, the intended error message was not generated
  because it in turn would give another error.


Version: 0.9.27 [2013-10-13]
o GENERALIZATION: Updated the framework for building non-Sweave
  vignettes also under R (< 3.0.0) to support the vignettes/
  directory in addition to inst/doc/.  Thanks to Jari Oksanen,
  University of Oulu, Finland, for the pointers on how to do this.


Version: 0.9.26 [2013-09-28]
o No isCapableOf() also supports version specifications.
o Now the 'R.rsp' Package object is also available when the
  package is only loaded (but not attached).
o BUG FIX: The 'Dynamic document creation using RSP' vignette
  assumed that evalCapture() of 'R.utils' was on the search path.
o ROBUSTNESS/BUG FIX: Now the 'Introductory slides on RSP' vignette
  better detects what version of 'pandoc' is available and adapts
  accordingly.  If not available, the fallback Markdown version
  will display a note about this.  Thanks to Brian Ripley for
  reporting on 'pandoc' version incompatibilities.
o Bumped up package dependencies.


Version: 0.9.25 [2013-09-19]
o ROBUSTNESS: Changed how vignette engines are registered so that
  if an error occurs, it is no longer silently ignored.
o POSSIBLE BUG FIX: Forgot to import R.methodsS3::appendVarArgs().


Version: 0.9.24 [2013-09-18]
o Now preprocess() of RspDocument also records R vignette meta data
  'engine' (from %\VignetteEngine{}) and RSP custom 'tangle' (from
  %\VignetteTangle{}).
o DOCUMENTATION: Updated the 'Dynamic document creation using RSP'
  vignette with information on how to embedded image files as
  data URI into HTML and Markdown.
o DOCUMENTATION: Added HTML vignette 'Introductory slides on RSP'.
  This requires that the package suggests the 'R.devices', 'base64enc'
  and 'knitr' packages.
o ROBUSTNESS: Now start() for HttpDaemon makes sure that the R.rsp package
  is attached so that the Tcl HTTP daemon have access to its methods.
o BUG FIX/WORKAROUND: For now, package attaches the 'R.oo' package.
  This is needed due to what appears to be a bug in how R.oo
  finalizes Object:s assuming R.oo is/can be attached.  Until that
  is resolved, we make sure R.oo is attached.
o BUG FIX: Two of the package vignettes assumed that the 'R.rsp'
  package would be attached.
o Bumped up package dependencies.


Version: 0.9.23 [2013-09-16]
o ROBUSTNESS: Package no longer assumes that R.utils is attached.
o ROBUSTNESS: Now the package also works when only loaded.
o ROBUSTNESS: Now all S3 methods are formally declared in NAMESPACE.
o Bumped up package dependencies.


Version: 0.9.22 [2013-09-10]
o CLEANUP: Package no longer utilizes ':::'.


Version: 0.9.21 [2013-08-20]
o Package no longer attaches ("loads") R.utils, only imports it.


Version: 0.9.20 [2013-08-05]
o Added rsource() which is for RSP files what source() is for R files.


Version: 0.9.19 [2013-08-04]
o Added argument 'buffered' to rcat().  If FALSE and output is sent
  to standard output, then RSP output is forwarded to standard output
  as they appear (and the underlying engine allow for it).
o Bumped up package dependencies.


Version: 0.9.18 [2013-07-29]
o DOCUMENTATION: The 'RSP Markup Language - Reference Card' vignette
  was slightly too long causing it to have a second pages.
o BUG FIX: tidy() for RspRSourceCode would not drop the last line
  of the header leaving a long '## - - - - ...' comment line at top.


Version: 0.9.17 [2013-07-28]
o CLEANUP: Dropped tempvar() now in R.utils v1.26.0.


Version: 0.9.16 [2013-07-26]
o GENERALIZATION: Now all return values are processed via generic
  function rpaste() before being outputted via cat().  This makes
  it possible (i) to override the default and (ii) to define class
  specific behaviors from within the RSP document itself.


Version: 0.9.15 [2013-07-19]
o Added capabilitiesOf(R.rsp) for easy summary of what tools are
  supported on the current system.  It is also possible to check
  support for a particular tool, e.g. isCapableOf(R.rsp, "latex").
o CLEANUP: Removed internal archive of old Tcl HTTP daemons.
o CLEANUP: Rewrote the package description.


Version: 0.9.14 [2013-07-18]
o BUG FIX: rstring(), rcat(), and rfile() on template function:s
  would only work if the evaluation was done in the default
  environment.  Added system tests for this.


Version: 0.9.13 [2013-07-17]
o CLEANUP: Internal code cleanup.
o BUG FIX: The automatic adding of a TEXINPUTS directory done by
  compileLaTeX() needed to add its absolute (not relative) path.


Version: 0.9.12 [2013-07-17]
o Now it possible to pass argument 'clean' all the way down to
  compileLaTeX() via rfile(), e.g. rfile("foo.tex.rsp", clean=TRUE).


Version: 0.9.11 [2013-07-16]
o Added rstring(), rcat() and rfile() for (template) function:s.
o ROBUSTNESS: Updated system tests to not use commas in LaTeX file
  paths, because such are not supported on all file systems.
o ROBUSTNESS: If compileLaTeX() was called on a LaTeX file in a
  directory different than the working directory, it could fail to
  located files to be included (e.g. image files).  In order to make
  this less likely to happen, compileLaTeX() now adds the the directory
  of the compiled LaTeX file to the TEXINPUTS search path, iff it is
  different than the working directory.


Version: 0.9.10 [2013-07-14]
o Added rfile() also for RspString, RspDocument and RspRSourceCode.
o BUG FIX: evaluate() for RspRSourceCode failed to evaluate in to
  proper environment if the default (parent) environment was used.


Version: 0.9.9 [2013-07-12]
o DOCUMENTATION: Updated the vignettes.
o Updated the template vignette Makefile that is needed prior
  to R v3.0.0 to no remove LaTeX files needed by R CMD check.
  These should instead be handled by .Rinstignore (a template
  for this is also available).


Version: 0.9.8 [2013-07-04]
o ROBUSTNESS: Added more tests on preprocessing.
o Internal code cleanup.
o Bumped up package dependencies.


Version: 0.9.7 [2013-05-25]
o Minor speedup by replacing rm() calls with NULL assignments.


Version: 0.9.6 [2013-05-23]
o ROBUSTNESS: Now rfile() handles files with only one filename extension.
o Several updates to browseRsp():
  - It automatically adds the current directory ('.') as well as a
    './rsp' subdirectory to the list of known root paths.
  - R.rsp::browseRsp() works without loading the package first.
  - It can be used to open any RSP file by specifying it's (absolute or
    relative) pathname, e.g. browseRsp("foo/bar.html.rsp") and
    browseRsp("foo/bar.md.rsp").
o Added argument 'trim=FALSE' to getParameter() and getParameters()
  for HttpRequest.
o Now processRsp() for HttpDaemon with version="1.0.0" utilizes
  rfile() rather than rstring() so that postprocessors are also
  applied.  Also, the rfile() working directory is set to the
  current directory (and not the directory of the source file
  as with version="0.1.0").  For backward compatibility with old
  RSP pages, write() for HttpDaemonRspResponse now supports the
  new RSP engine as well.  This will simplify the transition.


Version: 0.9.5 [2013-05-20]
o CRAN POLICY: Now all Rd \usage{} lines are at most 90 characters long.
o CRAN POLICY: Now all Rd example lines are at most 100 characters long.


Version: 0.9.4 [2013-05-18]
o DOCUMENTATION: Now vignettes are properly using opened and closed
  quotation marks.  Thanks Saunak Sen at UCSF for reporting on this.
o Now empty lines in .rspPlugins are ignored.


Version: 0.9.3 [2013-05-08]
o DOCUMENTATION: Explicitly added arguments 'file' & 'path' to
  rcat() to make the help page more user friendly [although
  they're just passed as is to rstring()].


Version: 0.9.2 [2013-04-04]
o The internal RSP engine has undergone a major redesign.
o BACKWARD COMPATIBILITY: The RSP processor of the built-in HTTP
  daemon is by default still using the previous RSP engine.
  Note, the built-in HTTP daemon is only there as a proof of
  concept and is not recommended for other than toy examples.


Version: 0.9.1 [2013-04-01]
o The internal RSP engine is undergoing a major redesign.
o Whenever only a URL directory is requested, the built-in HTTP daemon
  now loads the first file matching "^index[.](html|.*)$".  It used
  to only look for 'index.rsp'.


Version: 0.9.0 [2013-03-01]
o More functions can now be called without loading the package.
o DOCUMENTATION: Updated the help usage section for all static methods.
o Prepared package for the upcoming R (>= 3.0.0) generic vignette support.
o Simplified how to build non-Sweave vignettes for R (< 3.0.0).
  It now imitates how it is done in R (>= 3.0.0).


Version: 0.8.5 [2013-01-20]
o Now rsp() uses compileRnw() for *.Rnw files.
o Added compileRnw() which compiles Sweave and knitr Rnw files.
o Added typeOfRnw() which tries to infer whether an Rnw file is
  for Sweave or knitr based on its contents.
o ROBUSTNESS: Added system tests for compileKnitr(), compileRnw()
  and rsp() for handling Sweave and knitr Rnw files.
o Added 'knitr' under suggested packages.


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


Version: 0.8.3 [2012-12-06]
o ROBUSTNESS: Added system tests for compileLaTeX(), compileSweave()
  and rsp().
o Added argument 'outPath' to compileLaTeX(), compileSweave() and rsp(),
  which is also the working directory.
o BUG FIX: compileLaTeX() and compileSweave() would return an incorrect
  pathname unless the source file was in the working directory.


Version: 0.8.2 [2012-06-22]
o ROBUSTNESS: Now the doc/Makefile no longer assumes 'R' is on
  the system's search path.  Instead it uses $(R_HOME)/bin/R.
  Thanks to Kasper Hansen at John Hopkins for the suggestion.


Version: 0.8.1 [2012-06-16]
o Now package only imports R.methodsS3 and R.oo instead of
  "depends" on them.


Version: 0.8.0 [2012-05-02]
o Now the package depends on R.devices, which contains the utility
  functions for graphical devices that originate from R.utils.


Version: 0.7.5 [2012-03-20]
o Now inst/doc/templates/Makefile does a better job cleaning up.


Version: 0.7.4 [2012-03-06]
o CRAN POLICY: Removed all internal copies of 'base' functions
  that contain .Internal().


Version: 0.7.3 [2012-02-28]
o Added toLatex() for LaTeX escaping character strings, cf.
  utils::toLatex() for 'sessionInfo' objects.


Version: 0.7.2 [2012-01-21]
o Placed a copy of inst/doc/Makefile in inst/doc/templates/ and
  updated the 'Include static PDFs and non-Sweave vignettes in
  an R package' vignette accordingly.  The reason for this change
  is that inst/doc/Makefile will not be installed in recent
  version of R.  The Makefile also does a better job cleaning up.


Version: 0.7.1 [2011-11-28]
o Now R.rsp::rsp() can be called without the package had been
  loaded before.


Version: 0.7.0 [2011-11-23]
o DOCUMENTATION: Added a vignette explaining how to include static
  PDFs and non-Sweave vignettes in an R package.
o Now the building of vignettes is independent of R.rsp.  All that
  is needed to build non-Sweave vignettes (via RSP, brew etc), or
  include a static PDF, is to have a corresponding *.Rnw stub with
  custom vignette options \VignetteSource{} and \VignetteBuild{}.
  See inst/doc/ of this package for more details.
o CLEANUP: Dropped an old vignette from 2006.


Version: 0.6.11 [2011-11-22]
o Now the *.tex.rsp vignettes are recognized by R.  This was done
  by tricking R to believe they are of Sweave origin.


Version: 0.6.10 [2011-11-17]
o ROBUSTNESS: Now the generated R script adds 'write <- R.rsp::write'
  at the beginning, to assure that it is used instead of base::write().


Version: 0.6.9 [2011-11-14]
o ROBUSTNESS: Now <%=[expr]%> is translated with curly brackets around
  the expression, i.e. write(response, {[expr]}).  This allows for
  writing <%= x <- 1; x^2 %> instead of <%={ x <- 1; x^2 }%>.
o BUG FIX: By default the RSP document would be evaluated in the
  local call frame of rsp(), not its parent frame.


Version: 0.6.8 [2011-11-07]
o BUG FIX: Although deprecated, the update to evalWithEcho() did not work.
o CLEANUP: Replaced an internal evalWithEcho() with evalCapture().


Version: 0.6.7 [2011-11-06]
o Updated code and vignettes to utilize evalCapture() of R.utils v1.9.2.
o DEPRECATED: evalWithEcho(); use evalCapture() instead.
o CLEANUP: Dropped the old 'The R.rsp package v0.3.0' vignette.


Version: 0.6.6 [2011-11-05]
o Updated the R.rsp vignette to utilize toPNG() of R.utils v1.9.1.


Version: 0.6.5 [2011-11-01]
o FIX: The package would not load in R v2.15.0 devel, because it
  tried to access restart(), which has been dropped.  This was
  a non-critical error and the fix was trivial.


Version: 0.6.4 [2011-10-21]
o Updated the package's DESCRIPTION with an example of the RSP syntax.


Version: 0.6.3 [2011-09-21]
o BUG FIX: HttpDaemon$getRootPaths() did not handle paths with
  spaces correctly.  Added a getRootPaths() Tcl function to
  instead handle this, which is called by the former.
o RSP PAGES: Added clarifications to the main index.rsp page.


Version: 0.6.2 [2011-07-27]
o CLEANUP: Replaced all references to 'R Server Pages' with RSP.
o RSP PAGES: Minor cleanup and harmonization.


Version: 0.6.1 [2011-07-24]
o Now package exports '.conflicts.OK' in order to avoid
  several warnings when loading package.


Version: 0.6.0 [2011-07-23]
o Added a namespace to the package, which will be more or less
  a requirement in the next major release of R.


Version: 0.5.4 [2011-05-05]
o ROBUSTNESS: Internal sourceWithTrim() no longer uses partial
  argument when calling source().


Version: 0.5.3 [2011-04-19]
o Added arguments 'clean' and 'quiet' to compileLaTeX().


Version: 0.5.2 [2011-04-18]
o Now browseRsp() pass '...' arguments to browseURL().
o DOCUMENTATION: Updated 'Dynamic LaTeX reports with RSP' vignette.


Version: 0.5.1 [2011-04-16]
o Now docs/Makefile cleans out all auxiliary files.
o BUG FIX: On R v2.12.x, rsp(text="...") would throw 'Error ...: unused
  argument(s) (fileext = ".txt.rsp")'.  Solved by providing a patched
  tempfile() with this feature for R v2.12.x.  Thanks Uwe Ligges for
  spotting this.


Version: 0.5.0 [2011-04-14]
o Added rsp().
o Added compileLaTeX() and compileSweave().
o Changed RSP preprocess directives to have format <%#insert ...%>.
o DOCUMENTATION: Updated 'Dynamic LaTeX reports with RSP' vignette.
o CLEANUP: Cleaned up the help pages.


Version: 0.4.10 [2011-04-06]
o RSP PAGES: Added a demo page listing all built-in colors in R.
o RSP PAGES: Now the 'R Server Pages' page launched by browseRsp()
  list only the first package installation in case a package
  occurs in multiple package libraries in .libPaths().


Version: 0.4.9 [2011-04-04]
o Added support for RSP preprocessing directive <%@insert ...%>.


Version: 0.4.8 [2011-03-31]
o Now parseRsp() drops RSP comments, i.e. '<%-- {anything} --%>'.
o Rewrote evalWithEcho() so that it utilizes source(..., echo=TRUE).
o DOCUMENTATION: Additional updates on the 'Dynamic LaTeX reports
  with RSP' vignette.
o DOCUMENTATION: Now the RSP documentation is automatically
  generated when the package is built.


Version: 0.4.7 [2011-03-28]
o Additional updates on the 'Dynamic LaTeX reports with RSP' vignette.
o BUG FIX: write() for RspResponse classes would ignore arguments
  'collapse' and 'sep'.


Version: 0.4.6 [2011-03-12]
o Now the trimming of RSP handles all newline types, i.e. LF,
  CR+LF, and CR.  The corresponding argument 'trimRsp' now
  defaults to TRUE everywhere.
o BUG FIX: The main 'R Server Pages' page launched by browseRsp()
  would list package twice on a Windows system.
o CLEANUP: Some minor R code cleanups.


Version: 0.4.5 [2011-03-08]
o Updated getParameter() of HttpRequest to return all values of a
  query parameter with multiple entries.  Added argument 'drop'.
o BUG FIX: getHttpRequest() of HttpDaemon would drop all but the last
  of replicated query parameters of the same name, which for instance
  may occur if an HTML form with replicated check boxes is used.
  Thanks to Truc Trung at University of Bergen, Norway, for this report.


Version: 0.4.4 [2011-03-08]
o Now rsptex() trims white space of RSP blocks so that RSP-only blocks
  no longer introduces newlines (that previously had to be escaped).
o Added argument 'trimRsp' to parseRsp() for trimming white spaces
  surrounding RSP blocks that have preceding and succeeding white space
  and that are followed by a newline.  Currently it defaults to FALSE,
  but this may change in a future release.  The same was added to old
  translateRspV1() for compatibility reasons.  Note, compileRsp() and
  sourceRsp() will pass this argument down to these functions via '...'.


Version: 0.4.3 [2011-02-20]
o Now argument 'pdf' of rsptex() default to TRUE.
o DOCUMENTATION: Added example(rsptex).
o DOCUMENTATION: First draft of a article on how to generate
  dynamic reports by extending LaTeX with RSP.


Version: 0.4.2 [2011-02-14]
o DOCUMENTATION: Added a section to help(rsptex) explaining in what
  environment the RSP document is evaluated and how to retrieve it
  and its content.
o BUG FIX: parseRsp() would generate invalid R code/R comments for
  multiline <%=...%> statements.


Version: 0.4.1 [2011-01-06]
o DOCUMENTATION: Clarified in the help of HttpDaemon that it is only
  connections from the local host (127.0.0.1) that are accepted.
  This lowers the risk for unauthorized access to the R session.


Version: 0.4.0 [2010-09-15]
o BUG FIX: browseRsp(path="/R/settings/options.rsp") and
  browseRsp(path="/R/settings/par.rsp") was throwing "Error in
  help("par", pager = stdoutPager): unused argument(s)
  (pager = stdoutPager)" in R >= 2.10.0.


Version: 0.3.7 [2010-08-04]
o BUG FIX: browseRsp(path="/R/system/packages.rsp") would throw
  "Error in eval(expr, envir, enclos): subscript out of bounds".


Version: 0.3.6 [2009-09-16]
o Updated the HTTP header generated by the built-in webserver from
  'HTTP/1.x [...]' to 'HTTP/1.1 [...]'.  Thanks Ryan Bressler
  (Institute for Systems Biology, Seattle) for reporting this.


Version: 0.3.5 [2009-02-23]
o Added rsptex() to compiling a *.tex.rsp file into a *.dvi file
  via *.tex.rsp -> *.tex.rsp.R -> *.tex -> *.dvi.
o Added compileRsp(), which utilizes internal translateRsp()
  which in turn calls parseRsp().
o Renamed old translateRsp() to translateRspV1(), which
  sourceRsp() is still utilizing.


Version: 0.3.4 [2008-03-06]
o BUG FIX: Regular expression pattern 'a-Z' is illegal on (at least)
  some locale, e.g. 'C' (where 'A-z' works). The only way to specify
  the ASCII alphabet is to list all characters explicitly, which we now
  do in all methods of the package.  See the r-devel thread
  "invalid regular expression '[a-Z]'" on 2008-03-05 for details.


Version: 0.3.3 [2007-06-10]
o Updated code such that package pass R CMD check R v2.6.0.
o BUG FIX: Removed obsolete code calling non-existing functions.


Version: 0.3.2 [2007-04-07]
o Replaced gsub pattern "\\\[\"\']" with "\\\\[\"\']" in
  indexOfNonQuoted().
o Replace regexpr pattern "^[ \]*=[ \]*" with "^[ \]*=[ \]*"
  in translateRsp().


Version: 0.3.1 [2007-01-07]
o Added rspToHtml() in order to simplify RSP-to-HTML compilations.


Version: 0.3.0 [2006-07-20]
o Package has now been verified to compile not only HTML input files,
  but also TeX files.  This make RSP a very power tool to write
  vignettes.  Added a simple package vignette.
o Packages with an rsp/ path (installed from inst/rsp/) will now
  be listed and linked to on the main RSP page.  This makes it very
  easy to add RSP pages to a package.  For an example, see the
  aroma.light package.
o Added browseRsp() for the Package too, e.g. browseRsp(aroma.light).
  Added help pages for these methods.
o When calling browseRsp(start=TRUE), (the parents of) all library
  paths are now added to the root paths.
o BUG FIX: translateRsp("\\\n") would convert to "\\n". Thanks
  Peter Dahlsgaard for the suggestion how to fix it using deparse().
o BUG FIX: translateRsp() would replicate last R code or text piece,
  for each RSP comment tag.


Version: 0.2.9 [2006-07-05]
o BUG FIX: If argument 'path' was NULL, translateRsp() gave an error.
  Thanks Julien Gagneur for pointing this out.


Version: 0.2.8 [2006-07-04]
o Renamed class Response to RspResponse and RspResponse to
  FileRspResponse, cf. HttpDaemonRspResponse.
o Now sourceRsp() creates an HttpRequest object internally, if not
  given.  Added an example to ?sourceRsp too.
o Added a little bit more help text.


Version: 0.2.7 [2006-06-13]
o BUG FIX: Used obsolete setClassS3() instead of setConstructorS3().


Version: 0.2.6 [2006-02-22]
o Added getParameters() to HttpRequest for completeness.
o The RSP page on "System Details" used functions only available
  on Windows platforms.
o BUG FIX: HttpDaemon$getHttpRequest() failed to retrieve
  parameters with empty values, e.g. "index.rsp?foo=&bar=2".


Version: 0.2.5 [2006-01-21]
o Added writeResponse() to HttpDaemon.  No other classes but
  HttpDaemon should know about the Tcl HTTP daemon.
o Improved the built-in RSP pages.
o Mozilla browsers does unfortunately not follow file URLs (file://)
  when clicking on links on a page that has been loaded via HTTP.
  This makes it impossible (for now) to link to local R help pages
  via RSP pages (without passing everything through the HTTP daemon
  that is). It works under Internet Explorer.
o Added more help.


Version: 0.2.4 [2006-01-11]
o BUG FIX: translateRsp() would in some locales give the error:
   simpleError in gsub(pattern, replacement, x, ignore.case,
   extended, fixed): 'replacement' is invalid in this locale
  This was due to an incorrect internal MAGIC.STRING.
  Thanks Julien Gagneur at EMBL/HTFG Center, Heidelberg for
  this bug fix.
o Create better support for plugins on the main RSP page.
o Updated example(HttpDaemon) so it actually runs and opens up
  the main RSP page (when in interactive mode).
o Added argument 'overwrite' to sourceAllRsp().
o Added argument 'overwrite' to constructor of RspResponse.


Version: 0.2.3 [2005-10-27]
o Removed the generation of doc/ from rsp files. Now all such
  documentation is supposed to viewed via the built in HTTP
  daemon.  This might change if/when a root ServletRequest
  class is written.


Version: 0.2.2 [2005-10-20]
o Now root paths can be set before the server has started.
o Updated the Tcl HTTP daemon so it can search multiple root
  directories for files to be processed.
o BUG FIX: HttpDaemon$startHelp() tried to open the wrong page.
o Update the RSP pages to include a common header with a navigator.
  Changes the CSS style to use sans serif etc.


Version: 0.2.1 [2005-10-15]
o BUG FIX: The HttpDaemon sent the wrong MIME type for *.rsp pages.
  Now text/html as it should be.


Version: 0.2.0 [2005-09-26]
o Added a simple webserver (HTTP Daemon) requiring Tcl, which now
  all R installation has.  The current version recognized and
  pre-process RSP files.
o BUG FIX: sourceRsp() is no longer using argument 'output',
  but 'response'.


Version: 0.1.3 [2005-09-18]
o The RSP template is now searching for a functional PNG device.
o Made a few method protected (and hence hid their documentation),
  because they are not of public interest.
o Added help to all methods.  R CMD check gives no warnings.


Version: 0.1.2 [2005-08-15]
o All output is first interpreted as a GString before being written.
o Added support for page directive with attribute 'import'.
o More robust search for '%>'; tries to make sure the ending tag
  is not within a character string.


Version: 0.1.1 [2005-08-02]
o If an error occurs with an RSP file when running sourceAllRsp(),
  it smoothly continues with the next file instead of interrupting.
o Clean up and added help pages to all methods and classes.
o Now the "User Guides and Package Vignettes" documentation is
  build from RSP files when re-building man pages from Rdoc comments.


Version: 0.1.0 [2005-07-26]
o Created.  Since May 2002, there has been a trial version of an
  RSPEngine class in the R.io package, but from now on this package
  should be used for RSP processing.  The RSPEngine class is made
  deprecated.
